tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bigint-mod-64.js (25977B)


      1 const tests = [
      2  [-0x8000000000000000n, -2n, 0n],
      3  [-0x7fffffffffffffffn, -2n, -1n],
      4  [-0x7ffffffffffffffen, -2n, 0n],
      5  [-0x100000001n, -2n, -1n],
      6  [-0x100000000n, -2n, 0n],
      7  [-0xffffffffn, -2n, -1n],
      8  [-0xfffffffen, -2n, 0n],
      9  [-0x80000001n, -2n, -1n],
     10  [-0x80000000n, -2n, 0n],
     11  [-0x7fffffffn, -2n, -1n],
     12  [-0x7ffffffen, -2n, 0n],
     13  [-2n, -2n, 0n],
     14  [-1n, -2n, -1n],
     15  [0n, -2n, 0n],
     16  [1n, -2n, 1n],
     17  [2n, -2n, 0n],
     18  [0x7ffffffen, -2n, 0n],
     19  [0x7fffffffn, -2n, 1n],
     20  [0x80000000n, -2n, 0n],
     21  [0x80000001n, -2n, 1n],
     22  [0xfffffffen, -2n, 0n],
     23  [0xffffffffn, -2n, 1n],
     24  [0x100000000n, -2n, 0n],
     25  [0x100000001n, -2n, 1n],
     26  [0x7ffffffffffffffen, -2n, 0n],
     27  [0x7fffffffffffffffn, -2n, 1n],
     28  [-0x8000000000000000n, -1n, 0n],
     29  [-0x7fffffffffffffffn, -1n, 0n],
     30  [-0x7ffffffffffffffen, -1n, 0n],
     31  [-0x100000001n, -1n, 0n],
     32  [-0x100000000n, -1n, 0n],
     33  [-0xffffffffn, -1n, 0n],
     34  [-0xfffffffen, -1n, 0n],
     35  [-0x80000001n, -1n, 0n],
     36  [-0x80000000n, -1n, 0n],
     37  [-0x7fffffffn, -1n, 0n],
     38  [-0x7ffffffen, -1n, 0n],
     39  [-2n, -1n, 0n],
     40  [-1n, -1n, 0n],
     41  [0n, -1n, 0n],
     42  [1n, -1n, 0n],
     43  [2n, -1n, 0n],
     44  [0x7ffffffen, -1n, 0n],
     45  [0x7fffffffn, -1n, 0n],
     46  [0x80000000n, -1n, 0n],
     47  [0x80000001n, -1n, 0n],
     48  [0xfffffffen, -1n, 0n],
     49  [0xffffffffn, -1n, 0n],
     50  [0x100000000n, -1n, 0n],
     51  [0x100000001n, -1n, 0n],
     52  [0x7ffffffffffffffen, -1n, 0n],
     53  [0x7fffffffffffffffn, -1n, 0n],
     54  [-0x8000000000000000n, 1n, 0n],
     55  [-0x7fffffffffffffffn, 1n, 0n],
     56  [-0x7ffffffffffffffen, 1n, 0n],
     57  [-0x100000001n, 1n, 0n],
     58  [-0x100000000n, 1n, 0n],
     59  [-0xffffffffn, 1n, 0n],
     60  [-0xfffffffen, 1n, 0n],
     61  [-0x80000001n, 1n, 0n],
     62  [-0x80000000n, 1n, 0n],
     63  [-0x7fffffffn, 1n, 0n],
     64  [-0x7ffffffen, 1n, 0n],
     65  [-2n, 1n, 0n],
     66  [-1n, 1n, 0n],
     67  [0n, 1n, 0n],
     68  [1n, 1n, 0n],
     69  [2n, 1n, 0n],
     70  [0x7ffffffen, 1n, 0n],
     71  [0x7fffffffn, 1n, 0n],
     72  [0x80000000n, 1n, 0n],
     73  [0x80000001n, 1n, 0n],
     74  [0xfffffffen, 1n, 0n],
     75  [0xffffffffn, 1n, 0n],
     76  [0x100000000n, 1n, 0n],
     77  [0x100000001n, 1n, 0n],
     78  [0x7ffffffffffffffen, 1n, 0n],
     79  [0x7fffffffffffffffn, 1n, 0n],
     80  [-0x8000000000000000n, 2n, 0n],
     81  [-0x7fffffffffffffffn, 2n, -1n],
     82  [-0x7ffffffffffffffen, 2n, 0n],
     83  [-0x100000001n, 2n, -1n],
     84  [-0x100000000n, 2n, 0n],
     85  [-0xffffffffn, 2n, -1n],
     86  [-0xfffffffen, 2n, 0n],
     87  [-0x80000001n, 2n, -1n],
     88  [-0x80000000n, 2n, 0n],
     89  [-0x7fffffffn, 2n, -1n],
     90  [-0x7ffffffen, 2n, 0n],
     91  [-2n, 2n, 0n],
     92  [-1n, 2n, -1n],
     93  [0n, 2n, 0n],
     94  [1n, 2n, 1n],
     95  [2n, 2n, 0n],
     96  [0x7ffffffen, 2n, 0n],
     97  [0x7fffffffn, 2n, 1n],
     98  [0x80000000n, 2n, 0n],
     99  [0x80000001n, 2n, 1n],
    100  [0xfffffffen, 2n, 0n],
    101  [0xffffffffn, 2n, 1n],
    102  [0x100000000n, 2n, 0n],
    103  [0x100000001n, 2n, 1n],
    104  [0x7ffffffffffffffen, 2n, 0n],
    105  [0x7fffffffffffffffn, 2n, 1n],
    106  [-0x8000000000000000n, 0x7ffffffen, -8n],
    107  [-0x7fffffffffffffffn, 0x7ffffffen, -7n],
    108  [-0x7ffffffffffffffen, 0x7ffffffen, -6n],
    109  [-0x100000001n, 0x7ffffffen, -5n],
    110  [-0x100000000n, 0x7ffffffen, -4n],
    111  [-0xffffffffn, 0x7ffffffen, -3n],
    112  [-0xfffffffen, 0x7ffffffen, -2n],
    113  [-0x80000001n, 0x7ffffffen, -3n],
    114  [-0x80000000n, 0x7ffffffen, -2n],
    115  [-0x7fffffffn, 0x7ffffffen, -1n],
    116  [-0x7ffffffen, 0x7ffffffen, 0n],
    117  [-2n, 0x7ffffffen, -2n],
    118  [-1n, 0x7ffffffen, -1n],
    119  [0n, 0x7ffffffen, 0n],
    120  [1n, 0x7ffffffen, 1n],
    121  [2n, 0x7ffffffen, 2n],
    122  [0x7ffffffen, 0x7ffffffen, 0n],
    123  [0x7fffffffn, 0x7ffffffen, 1n],
    124  [0x80000000n, 0x7ffffffen, 2n],
    125  [0x80000001n, 0x7ffffffen, 3n],
    126  [0xfffffffen, 0x7ffffffen, 2n],
    127  [0xffffffffn, 0x7ffffffen, 3n],
    128  [0x100000000n, 0x7ffffffen, 4n],
    129  [0x100000001n, 0x7ffffffen, 5n],
    130  [0x7ffffffffffffffen, 0x7ffffffen, 6n],
    131  [0x7fffffffffffffffn, 0x7ffffffen, 7n],
    132  [-0x8000000000000000n, 0x7fffffffn, -2n],
    133  [-0x7fffffffffffffffn, 0x7fffffffn, -1n],
    134  [-0x7ffffffffffffffen, 0x7fffffffn, 0n],
    135  [-0x100000001n, 0x7fffffffn, -3n],
    136  [-0x100000000n, 0x7fffffffn, -2n],
    137  [-0xffffffffn, 0x7fffffffn, -1n],
    138  [-0xfffffffen, 0x7fffffffn, 0n],
    139  [-0x80000001n, 0x7fffffffn, -2n],
    140  [-0x80000000n, 0x7fffffffn, -1n],
    141  [-0x7fffffffn, 0x7fffffffn, 0n],
    142  [-0x7ffffffen, 0x7fffffffn, -0x7ffffffen],
    143  [-2n, 0x7fffffffn, -2n],
    144  [-1n, 0x7fffffffn, -1n],
    145  [0n, 0x7fffffffn, 0n],
    146  [1n, 0x7fffffffn, 1n],
    147  [2n, 0x7fffffffn, 2n],
    148  [0x7ffffffen, 0x7fffffffn, 0x7ffffffen],
    149  [0x7fffffffn, 0x7fffffffn, 0n],
    150  [0x80000000n, 0x7fffffffn, 1n],
    151  [0x80000001n, 0x7fffffffn, 2n],
    152  [0xfffffffen, 0x7fffffffn, 0n],
    153  [0xffffffffn, 0x7fffffffn, 1n],
    154  [0x100000000n, 0x7fffffffn, 2n],
    155  [0x100000001n, 0x7fffffffn, 3n],
    156  [0x7ffffffffffffffen, 0x7fffffffn, 0n],
    157  [0x7fffffffffffffffn, 0x7fffffffn, 1n],
    158  [-0x8000000000000000n, 0x80000000n, 0n],
    159  [-0x7fffffffffffffffn, 0x80000000n, -0x7fffffffn],
    160  [-0x7ffffffffffffffen, 0x80000000n, -0x7ffffffen],
    161  [-0x100000001n, 0x80000000n, -1n],
    162  [-0x100000000n, 0x80000000n, 0n],
    163  [-0xffffffffn, 0x80000000n, -0x7fffffffn],
    164  [-0xfffffffen, 0x80000000n, -0x7ffffffen],
    165  [-0x80000001n, 0x80000000n, -1n],
    166  [-0x80000000n, 0x80000000n, 0n],
    167  [-0x7fffffffn, 0x80000000n, -0x7fffffffn],
    168  [-0x7ffffffen, 0x80000000n, -0x7ffffffen],
    169  [-2n, 0x80000000n, -2n],
    170  [-1n, 0x80000000n, -1n],
    171  [0n, 0x80000000n, 0n],
    172  [1n, 0x80000000n, 1n],
    173  [2n, 0x80000000n, 2n],
    174  [0x7ffffffen, 0x80000000n, 0x7ffffffen],
    175  [0x7fffffffn, 0x80000000n, 0x7fffffffn],
    176  [0x80000000n, 0x80000000n, 0n],
    177  [0x80000001n, 0x80000000n, 1n],
    178  [0xfffffffen, 0x80000000n, 0x7ffffffen],
    179  [0xffffffffn, 0x80000000n, 0x7fffffffn],
    180  [0x100000000n, 0x80000000n, 0n],
    181  [0x100000001n, 0x80000000n, 1n],
    182  [0x7ffffffffffffffen, 0x80000000n, 0x7ffffffen],
    183  [0x7fffffffffffffffn, 0x80000000n, 0x7fffffffn],
    184  [-0x8000000000000000n, 0x80000001n, -2n],
    185  [-0x7fffffffffffffffn, 0x80000001n, -1n],
    186  [-0x7ffffffffffffffen, 0x80000001n, 0n],
    187  [-0x100000001n, 0x80000001n, -0x80000000n],
    188  [-0x100000000n, 0x80000001n, -0x7fffffffn],
    189  [-0xffffffffn, 0x80000001n, -0x7ffffffen],
    190  [-0xfffffffen, 0x80000001n, -0x7ffffffdn],
    191  [-0x80000001n, 0x80000001n, 0n],
    192  [-0x80000000n, 0x80000001n, -0x80000000n],
    193  [-0x7fffffffn, 0x80000001n, -0x7fffffffn],
    194  [-0x7ffffffen, 0x80000001n, -0x7ffffffen],
    195  [-2n, 0x80000001n, -2n],
    196  [-1n, 0x80000001n, -1n],
    197  [0n, 0x80000001n, 0n],
    198  [1n, 0x80000001n, 1n],
    199  [2n, 0x80000001n, 2n],
    200  [0x7ffffffen, 0x80000001n, 0x7ffffffen],
    201  [0x7fffffffn, 0x80000001n, 0x7fffffffn],
    202  [0x80000000n, 0x80000001n, 0x80000000n],
    203  [0x80000001n, 0x80000001n, 0n],
    204  [0xfffffffen, 0x80000001n, 0x7ffffffdn],
    205  [0xffffffffn, 0x80000001n, 0x7ffffffen],
    206  [0x100000000n, 0x80000001n, 0x7fffffffn],
    207  [0x100000001n, 0x80000001n, 0x80000000n],
    208  [0x7ffffffffffffffen, 0x80000001n, 0n],
    209  [0x7fffffffffffffffn, 0x80000001n, 1n],
    210  [-0x8000000000000000n, -0x80000001n, -2n],
    211  [-0x7fffffffffffffffn, -0x80000001n, -1n],
    212  [-0x7ffffffffffffffen, -0x80000001n, 0n],
    213  [-0x100000001n, -0x80000001n, -0x80000000n],
    214  [-0x100000000n, -0x80000001n, -0x7fffffffn],
    215  [-0xffffffffn, -0x80000001n, -0x7ffffffen],
    216  [-0xfffffffen, -0x80000001n, -0x7ffffffdn],
    217  [-0x80000001n, -0x80000001n, 0n],
    218  [-0x80000000n, -0x80000001n, -0x80000000n],
    219  [-0x7fffffffn, -0x80000001n, -0x7fffffffn],
    220  [-0x7ffffffen, -0x80000001n, -0x7ffffffen],
    221  [-2n, -0x80000001n, -2n],
    222  [-1n, -0x80000001n, -1n],
    223  [0n, -0x80000001n, 0n],
    224  [1n, -0x80000001n, 1n],
    225  [2n, -0x80000001n, 2n],
    226  [0x7ffffffen, -0x80000001n, 0x7ffffffen],
    227  [0x7fffffffn, -0x80000001n, 0x7fffffffn],
    228  [0x80000000n, -0x80000001n, 0x80000000n],
    229  [0x80000001n, -0x80000001n, 0n],
    230  [0xfffffffen, -0x80000001n, 0x7ffffffdn],
    231  [0xffffffffn, -0x80000001n, 0x7ffffffen],
    232  [0x100000000n, -0x80000001n, 0x7fffffffn],
    233  [0x100000001n, -0x80000001n, 0x80000000n],
    234  [0x7ffffffffffffffen, -0x80000001n, 0n],
    235  [0x7fffffffffffffffn, -0x80000001n, 1n],
    236  [-0x8000000000000000n, -0x80000000n, 0n],
    237  [-0x7fffffffffffffffn, -0x80000000n, -0x7fffffffn],
    238  [-0x7ffffffffffffffen, -0x80000000n, -0x7ffffffen],
    239  [-0x100000001n, -0x80000000n, -1n],
    240  [-0x100000000n, -0x80000000n, 0n],
    241  [-0xffffffffn, -0x80000000n, -0x7fffffffn],
    242  [-0xfffffffen, -0x80000000n, -0x7ffffffen],
    243  [-0x80000001n, -0x80000000n, -1n],
    244  [-0x80000000n, -0x80000000n, 0n],
    245  [-0x7fffffffn, -0x80000000n, -0x7fffffffn],
    246  [-0x7ffffffen, -0x80000000n, -0x7ffffffen],
    247  [-2n, -0x80000000n, -2n],
    248  [-1n, -0x80000000n, -1n],
    249  [0n, -0x80000000n, 0n],
    250  [1n, -0x80000000n, 1n],
    251  [2n, -0x80000000n, 2n],
    252  [0x7ffffffen, -0x80000000n, 0x7ffffffen],
    253  [0x7fffffffn, -0x80000000n, 0x7fffffffn],
    254  [0x80000000n, -0x80000000n, 0n],
    255  [0x80000001n, -0x80000000n, 1n],
    256  [0xfffffffen, -0x80000000n, 0x7ffffffen],
    257  [0xffffffffn, -0x80000000n, 0x7fffffffn],
    258  [0x100000000n, -0x80000000n, 0n],
    259  [0x100000001n, -0x80000000n, 1n],
    260  [0x7ffffffffffffffen, -0x80000000n, 0x7ffffffen],
    261  [0x7fffffffffffffffn, -0x80000000n, 0x7fffffffn],
    262  [-0x8000000000000000n, -0x7fffffffn, -2n],
    263  [-0x7fffffffffffffffn, -0x7fffffffn, -1n],
    264  [-0x7ffffffffffffffen, -0x7fffffffn, 0n],
    265  [-0x100000001n, -0x7fffffffn, -3n],
    266  [-0x100000000n, -0x7fffffffn, -2n],
    267  [-0xffffffffn, -0x7fffffffn, -1n],
    268  [-0xfffffffen, -0x7fffffffn, 0n],
    269  [-0x80000001n, -0x7fffffffn, -2n],
    270  [-0x80000000n, -0x7fffffffn, -1n],
    271  [-0x7fffffffn, -0x7fffffffn, 0n],
    272  [-0x7ffffffen, -0x7fffffffn, -0x7ffffffen],
    273  [-2n, -0x7fffffffn, -2n],
    274  [-1n, -0x7fffffffn, -1n],
    275  [0n, -0x7fffffffn, 0n],
    276  [1n, -0x7fffffffn, 1n],
    277  [2n, -0x7fffffffn, 2n],
    278  [0x7ffffffen, -0x7fffffffn, 0x7ffffffen],
    279  [0x7fffffffn, -0x7fffffffn, 0n],
    280  [0x80000000n, -0x7fffffffn, 1n],
    281  [0x80000001n, -0x7fffffffn, 2n],
    282  [0xfffffffen, -0x7fffffffn, 0n],
    283  [0xffffffffn, -0x7fffffffn, 1n],
    284  [0x100000000n, -0x7fffffffn, 2n],
    285  [0x100000001n, -0x7fffffffn, 3n],
    286  [0x7ffffffffffffffen, -0x7fffffffn, 0n],
    287  [0x7fffffffffffffffn, -0x7fffffffn, 1n],
    288  [-0x8000000000000000n, -0x7ffffffen, -8n],
    289  [-0x7fffffffffffffffn, -0x7ffffffen, -7n],
    290  [-0x7ffffffffffffffen, -0x7ffffffen, -6n],
    291  [-0x100000001n, -0x7ffffffen, -5n],
    292  [-0x100000000n, -0x7ffffffen, -4n],
    293  [-0xffffffffn, -0x7ffffffen, -3n],
    294  [-0xfffffffen, -0x7ffffffen, -2n],
    295  [-0x80000001n, -0x7ffffffen, -3n],
    296  [-0x80000000n, -0x7ffffffen, -2n],
    297  [-0x7fffffffn, -0x7ffffffen, -1n],
    298  [-0x7ffffffen, -0x7ffffffen, 0n],
    299  [-2n, -0x7ffffffen, -2n],
    300  [-1n, -0x7ffffffen, -1n],
    301  [0n, -0x7ffffffen, 0n],
    302  [1n, -0x7ffffffen, 1n],
    303  [2n, -0x7ffffffen, 2n],
    304  [0x7ffffffen, -0x7ffffffen, 0n],
    305  [0x7fffffffn, -0x7ffffffen, 1n],
    306  [0x80000000n, -0x7ffffffen, 2n],
    307  [0x80000001n, -0x7ffffffen, 3n],
    308  [0xfffffffen, -0x7ffffffen, 2n],
    309  [0xffffffffn, -0x7ffffffen, 3n],
    310  [0x100000000n, -0x7ffffffen, 4n],
    311  [0x100000001n, -0x7ffffffen, 5n],
    312  [0x7ffffffffffffffen, -0x7ffffffen, 6n],
    313  [0x7fffffffffffffffn, -0x7ffffffen, 7n],
    314  [-0x8000000000000000n, 0xfffffffen, -2n],
    315  [-0x7fffffffffffffffn, 0xfffffffen, -1n],
    316  [-0x7ffffffffffffffen, 0xfffffffen, 0n],
    317  [-0x100000001n, 0xfffffffen, -3n],
    318  [-0x100000000n, 0xfffffffen, -2n],
    319  [-0xffffffffn, 0xfffffffen, -1n],
    320  [-0xfffffffen, 0xfffffffen, 0n],
    321  [-0x80000001n, 0xfffffffen, -0x80000001n],
    322  [-0x80000000n, 0xfffffffen, -0x80000000n],
    323  [-0x7fffffffn, 0xfffffffen, -0x7fffffffn],
    324  [-0x7ffffffen, 0xfffffffen, -0x7ffffffen],
    325  [-2n, 0xfffffffen, -2n],
    326  [-1n, 0xfffffffen, -1n],
    327  [0n, 0xfffffffen, 0n],
    328  [1n, 0xfffffffen, 1n],
    329  [2n, 0xfffffffen, 2n],
    330  [0x7ffffffen, 0xfffffffen, 0x7ffffffen],
    331  [0x7fffffffn, 0xfffffffen, 0x7fffffffn],
    332  [0x80000000n, 0xfffffffen, 0x80000000n],
    333  [0x80000001n, 0xfffffffen, 0x80000001n],
    334  [0xfffffffen, 0xfffffffen, 0n],
    335  [0xffffffffn, 0xfffffffen, 1n],
    336  [0x100000000n, 0xfffffffen, 2n],
    337  [0x100000001n, 0xfffffffen, 3n],
    338  [0x7ffffffffffffffen, 0xfffffffen, 0n],
    339  [0x7fffffffffffffffn, 0xfffffffen, 1n],
    340  [-0x8000000000000000n, 0xffffffffn, -0x80000000n],
    341  [-0x7fffffffffffffffn, 0xffffffffn, -0x7fffffffn],
    342  [-0x7ffffffffffffffen, 0xffffffffn, -0x7ffffffen],
    343  [-0x100000001n, 0xffffffffn, -2n],
    344  [-0x100000000n, 0xffffffffn, -1n],
    345  [-0xffffffffn, 0xffffffffn, 0n],
    346  [-0xfffffffen, 0xffffffffn, -0xfffffffen],
    347  [-0x80000001n, 0xffffffffn, -0x80000001n],
    348  [-0x80000000n, 0xffffffffn, -0x80000000n],
    349  [-0x7fffffffn, 0xffffffffn, -0x7fffffffn],
    350  [-0x7ffffffen, 0xffffffffn, -0x7ffffffen],
    351  [-2n, 0xffffffffn, -2n],
    352  [-1n, 0xffffffffn, -1n],
    353  [0n, 0xffffffffn, 0n],
    354  [1n, 0xffffffffn, 1n],
    355  [2n, 0xffffffffn, 2n],
    356  [0x7ffffffen, 0xffffffffn, 0x7ffffffen],
    357  [0x7fffffffn, 0xffffffffn, 0x7fffffffn],
    358  [0x80000000n, 0xffffffffn, 0x80000000n],
    359  [0x80000001n, 0xffffffffn, 0x80000001n],
    360  [0xfffffffen, 0xffffffffn, 0xfffffffen],
    361  [0xffffffffn, 0xffffffffn, 0n],
    362  [0x100000000n, 0xffffffffn, 1n],
    363  [0x100000001n, 0xffffffffn, 2n],
    364  [0x7ffffffffffffffen, 0xffffffffn, 0x7ffffffen],
    365  [0x7fffffffffffffffn, 0xffffffffn, 0x7fffffffn],
    366  [-0x8000000000000000n, 0x100000000n, 0n],
    367  [-0x7fffffffffffffffn, 0x100000000n, -0xffffffffn],
    368  [-0x7ffffffffffffffen, 0x100000000n, -0xfffffffen],
    369  [-0x100000001n, 0x100000000n, -1n],
    370  [-0x100000000n, 0x100000000n, 0n],
    371  [-0xffffffffn, 0x100000000n, -0xffffffffn],
    372  [-0xfffffffen, 0x100000000n, -0xfffffffen],
    373  [-0x80000001n, 0x100000000n, -0x80000001n],
    374  [-0x80000000n, 0x100000000n, -0x80000000n],
    375  [-0x7fffffffn, 0x100000000n, -0x7fffffffn],
    376  [-0x7ffffffen, 0x100000000n, -0x7ffffffen],
    377  [-2n, 0x100000000n, -2n],
    378  [-1n, 0x100000000n, -1n],
    379  [0n, 0x100000000n, 0n],
    380  [1n, 0x100000000n, 1n],
    381  [2n, 0x100000000n, 2n],
    382  [0x7ffffffen, 0x100000000n, 0x7ffffffen],
    383  [0x7fffffffn, 0x100000000n, 0x7fffffffn],
    384  [0x80000000n, 0x100000000n, 0x80000000n],
    385  [0x80000001n, 0x100000000n, 0x80000001n],
    386  [0xfffffffen, 0x100000000n, 0xfffffffen],
    387  [0xffffffffn, 0x100000000n, 0xffffffffn],
    388  [0x100000000n, 0x100000000n, 0n],
    389  [0x100000001n, 0x100000000n, 1n],
    390  [0x7ffffffffffffffen, 0x100000000n, 0xfffffffen],
    391  [0x7fffffffffffffffn, 0x100000000n, 0xffffffffn],
    392  [-0x8000000000000000n, 0x100000001n, -0x80000001n],
    393  [-0x7fffffffffffffffn, 0x100000001n, -0x80000000n],
    394  [-0x7ffffffffffffffen, 0x100000001n, -0x7fffffffn],
    395  [-0x100000001n, 0x100000001n, 0n],
    396  [-0x100000000n, 0x100000001n, -0x100000000n],
    397  [-0xffffffffn, 0x100000001n, -0xffffffffn],
    398  [-0xfffffffen, 0x100000001n, -0xfffffffen],
    399  [-0x80000001n, 0x100000001n, -0x80000001n],
    400  [-0x80000000n, 0x100000001n, -0x80000000n],
    401  [-0x7fffffffn, 0x100000001n, -0x7fffffffn],
    402  [-0x7ffffffen, 0x100000001n, -0x7ffffffen],
    403  [-2n, 0x100000001n, -2n],
    404  [-1n, 0x100000001n, -1n],
    405  [0n, 0x100000001n, 0n],
    406  [1n, 0x100000001n, 1n],
    407  [2n, 0x100000001n, 2n],
    408  [0x7ffffffen, 0x100000001n, 0x7ffffffen],
    409  [0x7fffffffn, 0x100000001n, 0x7fffffffn],
    410  [0x80000000n, 0x100000001n, 0x80000000n],
    411  [0x80000001n, 0x100000001n, 0x80000001n],
    412  [0xfffffffen, 0x100000001n, 0xfffffffen],
    413  [0xffffffffn, 0x100000001n, 0xffffffffn],
    414  [0x100000000n, 0x100000001n, 0x100000000n],
    415  [0x100000001n, 0x100000001n, 0n],
    416  [0x7ffffffffffffffen, 0x100000001n, 0x7fffffffn],
    417  [0x7fffffffffffffffn, 0x100000001n, 0x80000000n],
    418  [-0x8000000000000000n, -0x100000001n, -0x80000001n],
    419  [-0x7fffffffffffffffn, -0x100000001n, -0x80000000n],
    420  [-0x7ffffffffffffffen, -0x100000001n, -0x7fffffffn],
    421  [-0x100000001n, -0x100000001n, 0n],
    422  [-0x100000000n, -0x100000001n, -0x100000000n],
    423  [-0xffffffffn, -0x100000001n, -0xffffffffn],
    424  [-0xfffffffen, -0x100000001n, -0xfffffffen],
    425  [-0x80000001n, -0x100000001n, -0x80000001n],
    426  [-0x80000000n, -0x100000001n, -0x80000000n],
    427  [-0x7fffffffn, -0x100000001n, -0x7fffffffn],
    428  [-0x7ffffffen, -0x100000001n, -0x7ffffffen],
    429  [-2n, -0x100000001n, -2n],
    430  [-1n, -0x100000001n, -1n],
    431  [0n, -0x100000001n, 0n],
    432  [1n, -0x100000001n, 1n],
    433  [2n, -0x100000001n, 2n],
    434  [0x7ffffffen, -0x100000001n, 0x7ffffffen],
    435  [0x7fffffffn, -0x100000001n, 0x7fffffffn],
    436  [0x80000000n, -0x100000001n, 0x80000000n],
    437  [0x80000001n, -0x100000001n, 0x80000001n],
    438  [0xfffffffen, -0x100000001n, 0xfffffffen],
    439  [0xffffffffn, -0x100000001n, 0xffffffffn],
    440  [0x100000000n, -0x100000001n, 0x100000000n],
    441  [0x100000001n, -0x100000001n, 0n],
    442  [0x7ffffffffffffffen, -0x100000001n, 0x7fffffffn],
    443  [0x7fffffffffffffffn, -0x100000001n, 0x80000000n],
    444  [-0x8000000000000000n, -0x100000000n, 0n],
    445  [-0x7fffffffffffffffn, -0x100000000n, -0xffffffffn],
    446  [-0x7ffffffffffffffen, -0x100000000n, -0xfffffffen],
    447  [-0x100000001n, -0x100000000n, -1n],
    448  [-0x100000000n, -0x100000000n, 0n],
    449  [-0xffffffffn, -0x100000000n, -0xffffffffn],
    450  [-0xfffffffen, -0x100000000n, -0xfffffffen],
    451  [-0x80000001n, -0x100000000n, -0x80000001n],
    452  [-0x80000000n, -0x100000000n, -0x80000000n],
    453  [-0x7fffffffn, -0x100000000n, -0x7fffffffn],
    454  [-0x7ffffffen, -0x100000000n, -0x7ffffffen],
    455  [-2n, -0x100000000n, -2n],
    456  [-1n, -0x100000000n, -1n],
    457  [0n, -0x100000000n, 0n],
    458  [1n, -0x100000000n, 1n],
    459  [2n, -0x100000000n, 2n],
    460  [0x7ffffffen, -0x100000000n, 0x7ffffffen],
    461  [0x7fffffffn, -0x100000000n, 0x7fffffffn],
    462  [0x80000000n, -0x100000000n, 0x80000000n],
    463  [0x80000001n, -0x100000000n, 0x80000001n],
    464  [0xfffffffen, -0x100000000n, 0xfffffffen],
    465  [0xffffffffn, -0x100000000n, 0xffffffffn],
    466  [0x100000000n, -0x100000000n, 0n],
    467  [0x100000001n, -0x100000000n, 1n],
    468  [0x7ffffffffffffffen, -0x100000000n, 0xfffffffen],
    469  [0x7fffffffffffffffn, -0x100000000n, 0xffffffffn],
    470  [-0x8000000000000000n, -0xffffffffn, -0x80000000n],
    471  [-0x7fffffffffffffffn, -0xffffffffn, -0x7fffffffn],
    472  [-0x7ffffffffffffffen, -0xffffffffn, -0x7ffffffen],
    473  [-0x100000001n, -0xffffffffn, -2n],
    474  [-0x100000000n, -0xffffffffn, -1n],
    475  [-0xffffffffn, -0xffffffffn, 0n],
    476  [-0xfffffffen, -0xffffffffn, -0xfffffffen],
    477  [-0x80000001n, -0xffffffffn, -0x80000001n],
    478  [-0x80000000n, -0xffffffffn, -0x80000000n],
    479  [-0x7fffffffn, -0xffffffffn, -0x7fffffffn],
    480  [-0x7ffffffen, -0xffffffffn, -0x7ffffffen],
    481  [-2n, -0xffffffffn, -2n],
    482  [-1n, -0xffffffffn, -1n],
    483  [0n, -0xffffffffn, 0n],
    484  [1n, -0xffffffffn, 1n],
    485  [2n, -0xffffffffn, 2n],
    486  [0x7ffffffen, -0xffffffffn, 0x7ffffffen],
    487  [0x7fffffffn, -0xffffffffn, 0x7fffffffn],
    488  [0x80000000n, -0xffffffffn, 0x80000000n],
    489  [0x80000001n, -0xffffffffn, 0x80000001n],
    490  [0xfffffffen, -0xffffffffn, 0xfffffffen],
    491  [0xffffffffn, -0xffffffffn, 0n],
    492  [0x100000000n, -0xffffffffn, 1n],
    493  [0x100000001n, -0xffffffffn, 2n],
    494  [0x7ffffffffffffffen, -0xffffffffn, 0x7ffffffen],
    495  [0x7fffffffffffffffn, -0xffffffffn, 0x7fffffffn],
    496  [-0x8000000000000000n, -0xfffffffen, -2n],
    497  [-0x7fffffffffffffffn, -0xfffffffen, -1n],
    498  [-0x7ffffffffffffffen, -0xfffffffen, 0n],
    499  [-0x100000001n, -0xfffffffen, -3n],
    500  [-0x100000000n, -0xfffffffen, -2n],
    501  [-0xffffffffn, -0xfffffffen, -1n],
    502  [-0xfffffffen, -0xfffffffen, 0n],
    503  [-0x80000001n, -0xfffffffen, -0x80000001n],
    504  [-0x80000000n, -0xfffffffen, -0x80000000n],
    505  [-0x7fffffffn, -0xfffffffen, -0x7fffffffn],
    506  [-0x7ffffffen, -0xfffffffen, -0x7ffffffen],
    507  [-2n, -0xfffffffen, -2n],
    508  [-1n, -0xfffffffen, -1n],
    509  [0n, -0xfffffffen, 0n],
    510  [1n, -0xfffffffen, 1n],
    511  [2n, -0xfffffffen, 2n],
    512  [0x7ffffffen, -0xfffffffen, 0x7ffffffen],
    513  [0x7fffffffn, -0xfffffffen, 0x7fffffffn],
    514  [0x80000000n, -0xfffffffen, 0x80000000n],
    515  [0x80000001n, -0xfffffffen, 0x80000001n],
    516  [0xfffffffen, -0xfffffffen, 0n],
    517  [0xffffffffn, -0xfffffffen, 1n],
    518  [0x100000000n, -0xfffffffen, 2n],
    519  [0x100000001n, -0xfffffffen, 3n],
    520  [0x7ffffffffffffffen, -0xfffffffen, 0n],
    521  [0x7fffffffffffffffn, -0xfffffffen, 1n],
    522  [-0x8000000000000000n, 0x7ffffffffffffffen, -2n],
    523  [-0x7fffffffffffffffn, 0x7ffffffffffffffen, -1n],
    524  [-0x7ffffffffffffffen, 0x7ffffffffffffffen, 0n],
    525  [-0x100000001n, 0x7ffffffffffffffen, -0x100000001n],
    526  [-0x100000000n, 0x7ffffffffffffffen, -0x100000000n],
    527  [-0xffffffffn, 0x7ffffffffffffffen, -0xffffffffn],
    528  [-0xfffffffen, 0x7ffffffffffffffen, -0xfffffffen],
    529  [-0x80000001n, 0x7ffffffffffffffen, -0x80000001n],
    530  [-0x80000000n, 0x7ffffffffffffffen, -0x80000000n],
    531  [-0x7fffffffn, 0x7ffffffffffffffen, -0x7fffffffn],
    532  [-0x7ffffffen, 0x7ffffffffffffffen, -0x7ffffffen],
    533  [-2n, 0x7ffffffffffffffen, -2n],
    534  [-1n, 0x7ffffffffffffffen, -1n],
    535  [0n, 0x7ffffffffffffffen, 0n],
    536  [1n, 0x7ffffffffffffffen, 1n],
    537  [2n, 0x7ffffffffffffffen, 2n],
    538  [0x7ffffffen, 0x7ffffffffffffffen, 0x7ffffffen],
    539  [0x7fffffffn, 0x7ffffffffffffffen, 0x7fffffffn],
    540  [0x80000000n, 0x7ffffffffffffffen, 0x80000000n],
    541  [0x80000001n, 0x7ffffffffffffffen, 0x80000001n],
    542  [0xfffffffen, 0x7ffffffffffffffen, 0xfffffffen],
    543  [0xffffffffn, 0x7ffffffffffffffen, 0xffffffffn],
    544  [0x100000000n, 0x7ffffffffffffffen, 0x100000000n],
    545  [0x100000001n, 0x7ffffffffffffffen, 0x100000001n],
    546  [0x7ffffffffffffffen, 0x7ffffffffffffffen, 0n],
    547  [0x7fffffffffffffffn, 0x7ffffffffffffffen, 1n],
    548  [-0x8000000000000000n, 0x7fffffffffffffffn, -1n],
    549  [-0x7fffffffffffffffn, 0x7fffffffffffffffn, 0n],
    550  [-0x7ffffffffffffffen, 0x7fffffffffffffffn, -0x7ffffffffffffffen],
    551  [-0x100000001n, 0x7fffffffffffffffn, -0x100000001n],
    552  [-0x100000000n, 0x7fffffffffffffffn, -0x100000000n],
    553  [-0xffffffffn, 0x7fffffffffffffffn, -0xffffffffn],
    554  [-0xfffffffen, 0x7fffffffffffffffn, -0xfffffffen],
    555  [-0x80000001n, 0x7fffffffffffffffn, -0x80000001n],
    556  [-0x80000000n, 0x7fffffffffffffffn, -0x80000000n],
    557  [-0x7fffffffn, 0x7fffffffffffffffn, -0x7fffffffn],
    558  [-0x7ffffffen, 0x7fffffffffffffffn, -0x7ffffffen],
    559  [-2n, 0x7fffffffffffffffn, -2n],
    560  [-1n, 0x7fffffffffffffffn, -1n],
    561  [0n, 0x7fffffffffffffffn, 0n],
    562  [1n, 0x7fffffffffffffffn, 1n],
    563  [2n, 0x7fffffffffffffffn, 2n],
    564  [0x7ffffffen, 0x7fffffffffffffffn, 0x7ffffffen],
    565  [0x7fffffffn, 0x7fffffffffffffffn, 0x7fffffffn],
    566  [0x80000000n, 0x7fffffffffffffffn, 0x80000000n],
    567  [0x80000001n, 0x7fffffffffffffffn, 0x80000001n],
    568  [0xfffffffen, 0x7fffffffffffffffn, 0xfffffffen],
    569  [0xffffffffn, 0x7fffffffffffffffn, 0xffffffffn],
    570  [0x100000000n, 0x7fffffffffffffffn, 0x100000000n],
    571  [0x100000001n, 0x7fffffffffffffffn, 0x100000001n],
    572  [0x7ffffffffffffffen, 0x7fffffffffffffffn, 0x7ffffffffffffffen],
    573  [0x7fffffffffffffffn, 0x7fffffffffffffffn, 0n],
    574  [-0x8000000000000000n, -0x8000000000000000n, 0n],
    575  [-0x7fffffffffffffffn, -0x8000000000000000n, -0x7fffffffffffffffn],
    576  [-0x7ffffffffffffffen, -0x8000000000000000n, -0x7ffffffffffffffen],
    577  [-0x100000001n, -0x8000000000000000n, -0x100000001n],
    578  [-0x100000000n, -0x8000000000000000n, -0x100000000n],
    579  [-0xffffffffn, -0x8000000000000000n, -0xffffffffn],
    580  [-0xfffffffen, -0x8000000000000000n, -0xfffffffen],
    581  [-0x80000001n, -0x8000000000000000n, -0x80000001n],
    582  [-0x80000000n, -0x8000000000000000n, -0x80000000n],
    583  [-0x7fffffffn, -0x8000000000000000n, -0x7fffffffn],
    584  [-0x7ffffffen, -0x8000000000000000n, -0x7ffffffen],
    585  [-2n, -0x8000000000000000n, -2n],
    586  [-1n, -0x8000000000000000n, -1n],
    587  [0n, -0x8000000000000000n, 0n],
    588  [1n, -0x8000000000000000n, 1n],
    589  [2n, -0x8000000000000000n, 2n],
    590  [0x7ffffffen, -0x8000000000000000n, 0x7ffffffen],
    591  [0x7fffffffn, -0x8000000000000000n, 0x7fffffffn],
    592  [0x80000000n, -0x8000000000000000n, 0x80000000n],
    593  [0x80000001n, -0x8000000000000000n, 0x80000001n],
    594  [0xfffffffen, -0x8000000000000000n, 0xfffffffen],
    595  [0xffffffffn, -0x8000000000000000n, 0xffffffffn],
    596  [0x100000000n, -0x8000000000000000n, 0x100000000n],
    597  [0x100000001n, -0x8000000000000000n, 0x100000001n],
    598  [0x7ffffffffffffffen, -0x8000000000000000n, 0x7ffffffffffffffen],
    599  [0x7fffffffffffffffn, -0x8000000000000000n, 0x7fffffffffffffffn],
    600  [-0x8000000000000000n, -0x7fffffffffffffffn, -1n],
    601  [-0x7fffffffffffffffn, -0x7fffffffffffffffn, 0n],
    602  [-0x7ffffffffffffffen, -0x7fffffffffffffffn, -0x7ffffffffffffffen],
    603  [-0x100000001n, -0x7fffffffffffffffn, -0x100000001n],
    604  [-0x100000000n, -0x7fffffffffffffffn, -0x100000000n],
    605  [-0xffffffffn, -0x7fffffffffffffffn, -0xffffffffn],
    606  [-0xfffffffen, -0x7fffffffffffffffn, -0xfffffffen],
    607  [-0x80000001n, -0x7fffffffffffffffn, -0x80000001n],
    608  [-0x80000000n, -0x7fffffffffffffffn, -0x80000000n],
    609  [-0x7fffffffn, -0x7fffffffffffffffn, -0x7fffffffn],
    610  [-0x7ffffffen, -0x7fffffffffffffffn, -0x7ffffffen],
    611  [-2n, -0x7fffffffffffffffn, -2n],
    612  [-1n, -0x7fffffffffffffffn, -1n],
    613  [0n, -0x7fffffffffffffffn, 0n],
    614  [1n, -0x7fffffffffffffffn, 1n],
    615  [2n, -0x7fffffffffffffffn, 2n],
    616  [0x7ffffffen, -0x7fffffffffffffffn, 0x7ffffffen],
    617  [0x7fffffffn, -0x7fffffffffffffffn, 0x7fffffffn],
    618  [0x80000000n, -0x7fffffffffffffffn, 0x80000000n],
    619  [0x80000001n, -0x7fffffffffffffffn, 0x80000001n],
    620  [0xfffffffen, -0x7fffffffffffffffn, 0xfffffffen],
    621  [0xffffffffn, -0x7fffffffffffffffn, 0xffffffffn],
    622  [0x100000000n, -0x7fffffffffffffffn, 0x100000000n],
    623  [0x100000001n, -0x7fffffffffffffffn, 0x100000001n],
    624  [0x7ffffffffffffffen, -0x7fffffffffffffffn, 0x7ffffffffffffffen],
    625  [0x7fffffffffffffffn, -0x7fffffffffffffffn, 0n],
    626  [-0x8000000000000000n, -0x7ffffffffffffffen, -2n],
    627  [-0x7fffffffffffffffn, -0x7ffffffffffffffen, -1n],
    628  [-0x7ffffffffffffffen, -0x7ffffffffffffffen, 0n],
    629  [-0x100000001n, -0x7ffffffffffffffen, -0x100000001n],
    630  [-0x100000000n, -0x7ffffffffffffffen, -0x100000000n],
    631  [-0xffffffffn, -0x7ffffffffffffffen, -0xffffffffn],
    632  [-0xfffffffen, -0x7ffffffffffffffen, -0xfffffffen],
    633  [-0x80000001n, -0x7ffffffffffffffen, -0x80000001n],
    634  [-0x80000000n, -0x7ffffffffffffffen, -0x80000000n],
    635  [-0x7fffffffn, -0x7ffffffffffffffen, -0x7fffffffn],
    636  [-0x7ffffffen, -0x7ffffffffffffffen, -0x7ffffffen],
    637  [-2n, -0x7ffffffffffffffen, -2n],
    638  [-1n, -0x7ffffffffffffffen, -1n],
    639  [0n, -0x7ffffffffffffffen, 0n],
    640  [1n, -0x7ffffffffffffffen, 1n],
    641  [2n, -0x7ffffffffffffffen, 2n],
    642  [0x7ffffffen, -0x7ffffffffffffffen, 0x7ffffffen],
    643  [0x7fffffffn, -0x7ffffffffffffffen, 0x7fffffffn],
    644  [0x80000000n, -0x7ffffffffffffffen, 0x80000000n],
    645  [0x80000001n, -0x7ffffffffffffffen, 0x80000001n],
    646  [0xfffffffen, -0x7ffffffffffffffen, 0xfffffffen],
    647  [0xffffffffn, -0x7ffffffffffffffen, 0xffffffffn],
    648  [0x100000000n, -0x7ffffffffffffffen, 0x100000000n],
    649  [0x100000001n, -0x7ffffffffffffffen, 0x100000001n],
    650  [0x7ffffffffffffffen, -0x7ffffffffffffffen, 0n],
    651  [0x7fffffffffffffffn, -0x7ffffffffffffffen, 1n],
    652 ];
    653 
    654 function f(tests) {
    655  for (let test of tests) {
    656    let lhs = test[0], rhs = test[1], expected = test[2];
    657    assertEq(BigInt.asIntN(64, lhs), lhs);
    658    assertEq(BigInt.asIntN(64, rhs), rhs);
    659    assertEq(BigInt.asIntN(64, expected), expected);
    660 
    661    assertEq(lhs % rhs, expected);
    662  }
    663 }
    664 
    665 for (let i = 0; i < 10; ++i) {
    666  f(tests);
    667 }