tor-browser

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

bigint-arithmetic.js (36037B)


      1 // Copyright (C) 2017 Robin Templeton. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 esid: sec-subtraction-operator-minus-runtime-semantics-evaluation
      5 description: BigInt subtraction arithmetic
      6 features: [BigInt]
      7 ---*/
      8 assert.sameValue(
      9  0xFEDCBA9876543210n - 0xFEDCBA9876543210n,
     10  0x0n,
     11  'The result of (0xFEDCBA9876543210n - 0xFEDCBA9876543210n) is 0x0n'
     12 );
     13 
     14 assert.sameValue(
     15  0xFEDCBA9876543210n - 0xFEDCBA987654320Fn,
     16  0x1n,
     17  'The result of (0xFEDCBA9876543210n - 0xFEDCBA987654320Fn) is 0x1n'
     18 );
     19 
     20 assert.sameValue(
     21  0xFEDCBA9876543210n - 0xFEDCBA98n,
     22  0xFEDCBA9777777778n,
     23  'The result of (0xFEDCBA9876543210n - 0xFEDCBA98n) is 0xFEDCBA9777777778n'
     24 );
     25 
     26 assert.sameValue(
     27  0xFEDCBA9876543210n - 0xFEDCBA97n,
     28  0xFEDCBA9777777779n,
     29  'The result of (0xFEDCBA9876543210n - 0xFEDCBA97n) is 0xFEDCBA9777777779n'
     30 );
     31 
     32 assert.sameValue(
     33  0xFEDCBA9876543210n - 0x1234n,
     34  0xFEDCBA9876541FDCn,
     35  'The result of (0xFEDCBA9876543210n - 0x1234n) is 0xFEDCBA9876541FDCn'
     36 );
     37 
     38 assert.sameValue(
     39  0xFEDCBA9876543210n - 0x3n,
     40  0xFEDCBA987654320Dn,
     41  'The result of (0xFEDCBA9876543210n - 0x3n) is 0xFEDCBA987654320Dn'
     42 );
     43 
     44 assert.sameValue(
     45  0xFEDCBA9876543210n - 0x2n,
     46  0xFEDCBA987654320En,
     47  'The result of (0xFEDCBA9876543210n - 0x2n) is 0xFEDCBA987654320En'
     48 );
     49 
     50 assert.sameValue(
     51  0xFEDCBA9876543210n - 0x1n,
     52  0xFEDCBA987654320Fn,
     53  'The result of (0xFEDCBA9876543210n - 0x1n) is 0xFEDCBA987654320Fn'
     54 );
     55 
     56 assert.sameValue(
     57  0xFEDCBA9876543210n - 0x0n,
     58  0xFEDCBA9876543210n,
     59  'The result of (0xFEDCBA9876543210n - 0x0n) is 0xFEDCBA9876543210n'
     60 );
     61 
     62 assert.sameValue(
     63  0xFEDCBA9876543210n - -0x1n,
     64  0xFEDCBA9876543211n,
     65  'The result of (0xFEDCBA9876543210n - -0x1n) is 0xFEDCBA9876543211n'
     66 );
     67 
     68 assert.sameValue(
     69  0xFEDCBA9876543210n - -0x2n,
     70  0xFEDCBA9876543212n,
     71  'The result of (0xFEDCBA9876543210n - -0x2n) is 0xFEDCBA9876543212n'
     72 );
     73 
     74 assert.sameValue(
     75  0xFEDCBA9876543210n - -0x3n,
     76  0xFEDCBA9876543213n,
     77  'The result of (0xFEDCBA9876543210n - -0x3n) is 0xFEDCBA9876543213n'
     78 );
     79 
     80 assert.sameValue(
     81  0xFEDCBA9876543210n - -0x1234n,
     82  0xFEDCBA9876544444n,
     83  'The result of (0xFEDCBA9876543210n - -0x1234n) is 0xFEDCBA9876544444n'
     84 );
     85 
     86 assert.sameValue(
     87  0xFEDCBA9876543210n - -0xFEDCBA97n,
     88  0xFEDCBA997530ECA7n,
     89  'The result of (0xFEDCBA9876543210n - -0xFEDCBA97n) is 0xFEDCBA997530ECA7n'
     90 );
     91 
     92 assert.sameValue(
     93  0xFEDCBA9876543210n - -0xFEDCBA98n,
     94  0xFEDCBA997530ECA8n,
     95  'The result of (0xFEDCBA9876543210n - -0xFEDCBA98n) is 0xFEDCBA997530ECA8n'
     96 );
     97 
     98 assert.sameValue(
     99  0xFEDCBA9876543210n - -0xFEDCBA987654320Fn,
    100  0x1FDB97530ECA8641Fn,
    101  'The result of (0xFEDCBA9876543210n - -0xFEDCBA987654320Fn) is 0x1FDB97530ECA8641Fn'
    102 );
    103 
    104 assert.sameValue(
    105  0xFEDCBA9876543210n - -0xFEDCBA9876543210n,
    106  0x1FDB97530ECA86420n,
    107  'The result of (0xFEDCBA9876543210n - -0xFEDCBA9876543210n) is 0x1FDB97530ECA86420n'
    108 );
    109 
    110 assert.sameValue(
    111  0xFEDCBA987654320Fn - 0xFEDCBA9876543210n,
    112  -0x1n,
    113  'The result of (0xFEDCBA987654320Fn - 0xFEDCBA9876543210n) is -0x1n'
    114 );
    115 
    116 assert.sameValue(
    117  0xFEDCBA987654320Fn - 0xFEDCBA987654320Fn,
    118  0x0n,
    119  'The result of (0xFEDCBA987654320Fn - 0xFEDCBA987654320Fn) is 0x0n'
    120 );
    121 
    122 assert.sameValue(
    123  0xFEDCBA987654320Fn - 0xFEDCBA98n,
    124  0xFEDCBA9777777777n,
    125  'The result of (0xFEDCBA987654320Fn - 0xFEDCBA98n) is 0xFEDCBA9777777777n'
    126 );
    127 
    128 assert.sameValue(
    129  0xFEDCBA987654320Fn - 0xFEDCBA97n,
    130  0xFEDCBA9777777778n,
    131  'The result of (0xFEDCBA987654320Fn - 0xFEDCBA97n) is 0xFEDCBA9777777778n'
    132 );
    133 
    134 assert.sameValue(
    135  0xFEDCBA987654320Fn - 0x1234n,
    136  0xFEDCBA9876541FDBn,
    137  'The result of (0xFEDCBA987654320Fn - 0x1234n) is 0xFEDCBA9876541FDBn'
    138 );
    139 
    140 assert.sameValue(
    141  0xFEDCBA987654320Fn - 0x3n,
    142  0xFEDCBA987654320Cn,
    143  'The result of (0xFEDCBA987654320Fn - 0x3n) is 0xFEDCBA987654320Cn'
    144 );
    145 
    146 assert.sameValue(
    147  0xFEDCBA987654320Fn - 0x2n,
    148  0xFEDCBA987654320Dn,
    149  'The result of (0xFEDCBA987654320Fn - 0x2n) is 0xFEDCBA987654320Dn'
    150 );
    151 
    152 assert.sameValue(
    153  0xFEDCBA987654320Fn - 0x1n,
    154  0xFEDCBA987654320En,
    155  'The result of (0xFEDCBA987654320Fn - 0x1n) is 0xFEDCBA987654320En'
    156 );
    157 
    158 assert.sameValue(
    159  0xFEDCBA987654320Fn - 0x0n,
    160  0xFEDCBA987654320Fn,
    161  'The result of (0xFEDCBA987654320Fn - 0x0n) is 0xFEDCBA987654320Fn'
    162 );
    163 
    164 assert.sameValue(
    165  0xFEDCBA987654320Fn - -0x1n,
    166  0xFEDCBA9876543210n,
    167  'The result of (0xFEDCBA987654320Fn - -0x1n) is 0xFEDCBA9876543210n'
    168 );
    169 
    170 assert.sameValue(
    171  0xFEDCBA987654320Fn - -0x2n,
    172  0xFEDCBA9876543211n,
    173  'The result of (0xFEDCBA987654320Fn - -0x2n) is 0xFEDCBA9876543211n'
    174 );
    175 
    176 assert.sameValue(
    177  0xFEDCBA987654320Fn - -0x3n,
    178  0xFEDCBA9876543212n,
    179  'The result of (0xFEDCBA987654320Fn - -0x3n) is 0xFEDCBA9876543212n'
    180 );
    181 
    182 assert.sameValue(
    183  0xFEDCBA987654320Fn - -0x1234n,
    184  0xFEDCBA9876544443n,
    185  'The result of (0xFEDCBA987654320Fn - -0x1234n) is 0xFEDCBA9876544443n'
    186 );
    187 
    188 assert.sameValue(
    189  0xFEDCBA987654320Fn - -0xFEDCBA97n,
    190  0xFEDCBA997530ECA6n,
    191  'The result of (0xFEDCBA987654320Fn - -0xFEDCBA97n) is 0xFEDCBA997530ECA6n'
    192 );
    193 
    194 assert.sameValue(
    195  0xFEDCBA987654320Fn - -0xFEDCBA98n,
    196  0xFEDCBA997530ECA7n,
    197  'The result of (0xFEDCBA987654320Fn - -0xFEDCBA98n) is 0xFEDCBA997530ECA7n'
    198 );
    199 
    200 assert.sameValue(
    201  0xFEDCBA987654320Fn - -0xFEDCBA987654320Fn,
    202  0x1FDB97530ECA8641En,
    203  'The result of (0xFEDCBA987654320Fn - -0xFEDCBA987654320Fn) is 0x1FDB97530ECA8641En'
    204 );
    205 
    206 assert.sameValue(
    207  0xFEDCBA987654320Fn - -0xFEDCBA9876543210n,
    208  0x1FDB97530ECA8641Fn,
    209  'The result of (0xFEDCBA987654320Fn - -0xFEDCBA9876543210n) is 0x1FDB97530ECA8641Fn'
    210 );
    211 
    212 assert.sameValue(
    213  0xFEDCBA98n - 0xFEDCBA9876543210n,
    214  -0xFEDCBA9777777778n,
    215  'The result of (0xFEDCBA98n - 0xFEDCBA9876543210n) is -0xFEDCBA9777777778n'
    216 );
    217 
    218 assert.sameValue(
    219  0xFEDCBA98n - 0xFEDCBA987654320Fn,
    220  -0xFEDCBA9777777777n,
    221  'The result of (0xFEDCBA98n - 0xFEDCBA987654320Fn) is -0xFEDCBA9777777777n'
    222 );
    223 
    224 assert.sameValue(
    225  0xFEDCBA98n - 0xFEDCBA98n,
    226  0x0n,
    227  'The result of (0xFEDCBA98n - 0xFEDCBA98n) is 0x0n'
    228 );
    229 
    230 assert.sameValue(
    231  0xFEDCBA98n - 0xFEDCBA97n,
    232  0x1n,
    233  'The result of (0xFEDCBA98n - 0xFEDCBA97n) is 0x1n'
    234 );
    235 
    236 assert.sameValue(
    237  0xFEDCBA98n - 0x1234n,
    238  0xFEDCA864n,
    239  'The result of (0xFEDCBA98n - 0x1234n) is 0xFEDCA864n'
    240 );
    241 
    242 assert.sameValue(
    243  0xFEDCBA98n - 0x3n,
    244  0xFEDCBA95n,
    245  'The result of (0xFEDCBA98n - 0x3n) is 0xFEDCBA95n'
    246 );
    247 
    248 assert.sameValue(
    249  0xFEDCBA98n - 0x2n,
    250  0xFEDCBA96n,
    251  'The result of (0xFEDCBA98n - 0x2n) is 0xFEDCBA96n'
    252 );
    253 
    254 assert.sameValue(
    255  0xFEDCBA98n - 0x1n,
    256  0xFEDCBA97n,
    257  'The result of (0xFEDCBA98n - 0x1n) is 0xFEDCBA97n'
    258 );
    259 
    260 assert.sameValue(
    261  0xFEDCBA98n - 0x0n,
    262  0xFEDCBA98n,
    263  'The result of (0xFEDCBA98n - 0x0n) is 0xFEDCBA98n'
    264 );
    265 
    266 assert.sameValue(
    267  0xFEDCBA98n - -0x1n,
    268  0xFEDCBA99n,
    269  'The result of (0xFEDCBA98n - -0x1n) is 0xFEDCBA99n'
    270 );
    271 
    272 assert.sameValue(
    273  0xFEDCBA98n - -0x2n,
    274  0xFEDCBA9An,
    275  'The result of (0xFEDCBA98n - -0x2n) is 0xFEDCBA9An'
    276 );
    277 
    278 assert.sameValue(
    279  0xFEDCBA98n - -0x3n,
    280  0xFEDCBA9Bn,
    281  'The result of (0xFEDCBA98n - -0x3n) is 0xFEDCBA9Bn'
    282 );
    283 
    284 assert.sameValue(
    285  0xFEDCBA98n - -0x1234n,
    286  0xFEDCCCCCn,
    287  'The result of (0xFEDCBA98n - -0x1234n) is 0xFEDCCCCCn'
    288 );
    289 
    290 assert.sameValue(
    291  0xFEDCBA98n - -0xFEDCBA97n,
    292  0x1FDB9752Fn,
    293  'The result of (0xFEDCBA98n - -0xFEDCBA97n) is 0x1FDB9752Fn'
    294 );
    295 
    296 assert.sameValue(
    297  0xFEDCBA98n - -0xFEDCBA98n,
    298  0x1FDB97530n,
    299  'The result of (0xFEDCBA98n - -0xFEDCBA98n) is 0x1FDB97530n'
    300 );
    301 
    302 assert.sameValue(
    303  0xFEDCBA98n - -0xFEDCBA987654320Fn,
    304  0xFEDCBA997530ECA7n,
    305  'The result of (0xFEDCBA98n - -0xFEDCBA987654320Fn) is 0xFEDCBA997530ECA7n'
    306 );
    307 
    308 assert.sameValue(
    309  0xFEDCBA98n - -0xFEDCBA9876543210n,
    310  0xFEDCBA997530ECA8n,
    311  'The result of (0xFEDCBA98n - -0xFEDCBA9876543210n) is 0xFEDCBA997530ECA8n'
    312 );
    313 
    314 assert.sameValue(
    315  0xFEDCBA97n - 0xFEDCBA9876543210n,
    316  -0xFEDCBA9777777779n,
    317  'The result of (0xFEDCBA97n - 0xFEDCBA9876543210n) is -0xFEDCBA9777777779n'
    318 );
    319 
    320 assert.sameValue(
    321  0xFEDCBA97n - 0xFEDCBA987654320Fn,
    322  -0xFEDCBA9777777778n,
    323  'The result of (0xFEDCBA97n - 0xFEDCBA987654320Fn) is -0xFEDCBA9777777778n'
    324 );
    325 
    326 assert.sameValue(
    327  0xFEDCBA97n - 0xFEDCBA98n,
    328  -0x1n,
    329  'The result of (0xFEDCBA97n - 0xFEDCBA98n) is -0x1n'
    330 );
    331 
    332 assert.sameValue(
    333  0xFEDCBA97n - 0xFEDCBA97n,
    334  0x0n,
    335  'The result of (0xFEDCBA97n - 0xFEDCBA97n) is 0x0n'
    336 );
    337 
    338 assert.sameValue(
    339  0xFEDCBA97n - 0x1234n,
    340  0xFEDCA863n,
    341  'The result of (0xFEDCBA97n - 0x1234n) is 0xFEDCA863n'
    342 );
    343 
    344 assert.sameValue(
    345  0xFEDCBA97n - 0x3n,
    346  0xFEDCBA94n,
    347  'The result of (0xFEDCBA97n - 0x3n) is 0xFEDCBA94n'
    348 );
    349 
    350 assert.sameValue(
    351  0xFEDCBA97n - 0x2n,
    352  0xFEDCBA95n,
    353  'The result of (0xFEDCBA97n - 0x2n) is 0xFEDCBA95n'
    354 );
    355 
    356 assert.sameValue(
    357  0xFEDCBA97n - 0x1n,
    358  0xFEDCBA96n,
    359  'The result of (0xFEDCBA97n - 0x1n) is 0xFEDCBA96n'
    360 );
    361 
    362 assert.sameValue(
    363  0xFEDCBA97n - 0x0n,
    364  0xFEDCBA97n,
    365  'The result of (0xFEDCBA97n - 0x0n) is 0xFEDCBA97n'
    366 );
    367 
    368 assert.sameValue(
    369  0xFEDCBA97n - -0x1n,
    370  0xFEDCBA98n,
    371  'The result of (0xFEDCBA97n - -0x1n) is 0xFEDCBA98n'
    372 );
    373 
    374 assert.sameValue(
    375  0xFEDCBA97n - -0x2n,
    376  0xFEDCBA99n,
    377  'The result of (0xFEDCBA97n - -0x2n) is 0xFEDCBA99n'
    378 );
    379 
    380 assert.sameValue(
    381  0xFEDCBA97n - -0x3n,
    382  0xFEDCBA9An,
    383  'The result of (0xFEDCBA97n - -0x3n) is 0xFEDCBA9An'
    384 );
    385 
    386 assert.sameValue(
    387  0xFEDCBA97n - -0x1234n,
    388  0xFEDCCCCBn,
    389  'The result of (0xFEDCBA97n - -0x1234n) is 0xFEDCCCCBn'
    390 );
    391 
    392 assert.sameValue(
    393  0xFEDCBA97n - -0xFEDCBA97n,
    394  0x1FDB9752En,
    395  'The result of (0xFEDCBA97n - -0xFEDCBA97n) is 0x1FDB9752En'
    396 );
    397 
    398 assert.sameValue(
    399  0xFEDCBA97n - -0xFEDCBA98n,
    400  0x1FDB9752Fn,
    401  'The result of (0xFEDCBA97n - -0xFEDCBA98n) is 0x1FDB9752Fn'
    402 );
    403 
    404 assert.sameValue(
    405  0xFEDCBA97n - -0xFEDCBA987654320Fn,
    406  0xFEDCBA997530ECA6n,
    407  'The result of (0xFEDCBA97n - -0xFEDCBA987654320Fn) is 0xFEDCBA997530ECA6n'
    408 );
    409 
    410 assert.sameValue(
    411  0xFEDCBA97n - -0xFEDCBA9876543210n,
    412  0xFEDCBA997530ECA7n,
    413  'The result of (0xFEDCBA97n - -0xFEDCBA9876543210n) is 0xFEDCBA997530ECA7n'
    414 );
    415 
    416 assert.sameValue(
    417  0x1234n - 0xFEDCBA9876543210n,
    418  -0xFEDCBA9876541FDCn,
    419  'The result of (0x1234n - 0xFEDCBA9876543210n) is -0xFEDCBA9876541FDCn'
    420 );
    421 
    422 assert.sameValue(
    423  0x1234n - 0xFEDCBA987654320Fn,
    424  -0xFEDCBA9876541FDBn,
    425  'The result of (0x1234n - 0xFEDCBA987654320Fn) is -0xFEDCBA9876541FDBn'
    426 );
    427 
    428 assert.sameValue(
    429  0x1234n - 0xFEDCBA98n,
    430  -0xFEDCA864n,
    431  'The result of (0x1234n - 0xFEDCBA98n) is -0xFEDCA864n'
    432 );
    433 
    434 assert.sameValue(
    435  0x1234n - 0xFEDCBA97n,
    436  -0xFEDCA863n,
    437  'The result of (0x1234n - 0xFEDCBA97n) is -0xFEDCA863n'
    438 );
    439 
    440 assert.sameValue(0x1234n - 0x1234n, 0x0n, 'The result of (0x1234n - 0x1234n) is 0x0n');
    441 assert.sameValue(0x1234n - 0x3n, 0x1231n, 'The result of (0x1234n - 0x3n) is 0x1231n');
    442 assert.sameValue(0x1234n - 0x2n, 0x1232n, 'The result of (0x1234n - 0x2n) is 0x1232n');
    443 assert.sameValue(0x1234n - 0x1n, 0x1233n, 'The result of (0x1234n - 0x1n) is 0x1233n');
    444 assert.sameValue(0x1234n - 0x0n, 0x1234n, 'The result of (0x1234n - 0x0n) is 0x1234n');
    445 assert.sameValue(0x1234n - -0x1n, 0x1235n, 'The result of (0x1234n - -0x1n) is 0x1235n');
    446 assert.sameValue(0x1234n - -0x2n, 0x1236n, 'The result of (0x1234n - -0x2n) is 0x1236n');
    447 assert.sameValue(0x1234n - -0x3n, 0x1237n, 'The result of (0x1234n - -0x3n) is 0x1237n');
    448 assert.sameValue(0x1234n - -0x1234n, 0x2468n, 'The result of (0x1234n - -0x1234n) is 0x2468n');
    449 
    450 assert.sameValue(
    451  0x1234n - -0xFEDCBA97n,
    452  0xFEDCCCCBn,
    453  'The result of (0x1234n - -0xFEDCBA97n) is 0xFEDCCCCBn'
    454 );
    455 
    456 assert.sameValue(
    457  0x1234n - -0xFEDCBA98n,
    458  0xFEDCCCCCn,
    459  'The result of (0x1234n - -0xFEDCBA98n) is 0xFEDCCCCCn'
    460 );
    461 
    462 assert.sameValue(
    463  0x1234n - -0xFEDCBA987654320Fn,
    464  0xFEDCBA9876544443n,
    465  'The result of (0x1234n - -0xFEDCBA987654320Fn) is 0xFEDCBA9876544443n'
    466 );
    467 
    468 assert.sameValue(
    469  0x1234n - -0xFEDCBA9876543210n,
    470  0xFEDCBA9876544444n,
    471  'The result of (0x1234n - -0xFEDCBA9876543210n) is 0xFEDCBA9876544444n'
    472 );
    473 
    474 assert.sameValue(
    475  0x3n - 0xFEDCBA9876543210n,
    476  -0xFEDCBA987654320Dn,
    477  'The result of (0x3n - 0xFEDCBA9876543210n) is -0xFEDCBA987654320Dn'
    478 );
    479 
    480 assert.sameValue(
    481  0x3n - 0xFEDCBA987654320Fn,
    482  -0xFEDCBA987654320Cn,
    483  'The result of (0x3n - 0xFEDCBA987654320Fn) is -0xFEDCBA987654320Cn'
    484 );
    485 
    486 assert.sameValue(
    487  0x3n - 0xFEDCBA98n,
    488  -0xFEDCBA95n,
    489  'The result of (0x3n - 0xFEDCBA98n) is -0xFEDCBA95n'
    490 );
    491 
    492 assert.sameValue(
    493  0x3n - 0xFEDCBA97n,
    494  -0xFEDCBA94n,
    495  'The result of (0x3n - 0xFEDCBA97n) is -0xFEDCBA94n'
    496 );
    497 
    498 assert.sameValue(0x3n - 0x1234n, -0x1231n, 'The result of (0x3n - 0x1234n) is -0x1231n');
    499 assert.sameValue(0x3n - 0x3n, 0x0n, 'The result of (0x3n - 0x3n) is 0x0n');
    500 assert.sameValue(0x3n - 0x2n, 0x1n, 'The result of (0x3n - 0x2n) is 0x1n');
    501 assert.sameValue(0x3n - 0x1n, 0x2n, 'The result of (0x3n - 0x1n) is 0x2n');
    502 assert.sameValue(0x3n - 0x0n, 0x3n, 'The result of (0x3n - 0x0n) is 0x3n');
    503 assert.sameValue(0x3n - -0x1n, 0x4n, 'The result of (0x3n - -0x1n) is 0x4n');
    504 assert.sameValue(0x3n - -0x2n, 0x5n, 'The result of (0x3n - -0x2n) is 0x5n');
    505 assert.sameValue(0x3n - -0x3n, 0x6n, 'The result of (0x3n - -0x3n) is 0x6n');
    506 assert.sameValue(0x3n - -0x1234n, 0x1237n, 'The result of (0x3n - -0x1234n) is 0x1237n');
    507 
    508 assert.sameValue(
    509  0x3n - -0xFEDCBA97n,
    510  0xFEDCBA9An,
    511  'The result of (0x3n - -0xFEDCBA97n) is 0xFEDCBA9An'
    512 );
    513 
    514 assert.sameValue(
    515  0x3n - -0xFEDCBA98n,
    516  0xFEDCBA9Bn,
    517  'The result of (0x3n - -0xFEDCBA98n) is 0xFEDCBA9Bn'
    518 );
    519 
    520 assert.sameValue(
    521  0x3n - -0xFEDCBA987654320Fn,
    522  0xFEDCBA9876543212n,
    523  'The result of (0x3n - -0xFEDCBA987654320Fn) is 0xFEDCBA9876543212n'
    524 );
    525 
    526 assert.sameValue(
    527  0x3n - -0xFEDCBA9876543210n,
    528  0xFEDCBA9876543213n,
    529  'The result of (0x3n - -0xFEDCBA9876543210n) is 0xFEDCBA9876543213n'
    530 );
    531 
    532 assert.sameValue(
    533  0x2n - 0xFEDCBA9876543210n,
    534  -0xFEDCBA987654320En,
    535  'The result of (0x2n - 0xFEDCBA9876543210n) is -0xFEDCBA987654320En'
    536 );
    537 
    538 assert.sameValue(
    539  0x2n - 0xFEDCBA987654320Fn,
    540  -0xFEDCBA987654320Dn,
    541  'The result of (0x2n - 0xFEDCBA987654320Fn) is -0xFEDCBA987654320Dn'
    542 );
    543 
    544 assert.sameValue(
    545  0x2n - 0xFEDCBA98n,
    546  -0xFEDCBA96n,
    547  'The result of (0x2n - 0xFEDCBA98n) is -0xFEDCBA96n'
    548 );
    549 
    550 assert.sameValue(
    551  0x2n - 0xFEDCBA97n,
    552  -0xFEDCBA95n,
    553  'The result of (0x2n - 0xFEDCBA97n) is -0xFEDCBA95n'
    554 );
    555 
    556 assert.sameValue(0x2n - 0x1234n, -0x1232n, 'The result of (0x2n - 0x1234n) is -0x1232n');
    557 assert.sameValue(0x2n - 0x3n, -0x1n, 'The result of (0x2n - 0x3n) is -0x1n');
    558 assert.sameValue(0x2n - 0x2n, 0x0n, 'The result of (0x2n - 0x2n) is 0x0n');
    559 assert.sameValue(0x2n - 0x1n, 0x1n, 'The result of (0x2n - 0x1n) is 0x1n');
    560 assert.sameValue(0x2n - 0x0n, 0x2n, 'The result of (0x2n - 0x0n) is 0x2n');
    561 assert.sameValue(0x2n - -0x1n, 0x3n, 'The result of (0x2n - -0x1n) is 0x3n');
    562 assert.sameValue(0x2n - -0x2n, 0x4n, 'The result of (0x2n - -0x2n) is 0x4n');
    563 assert.sameValue(0x2n - -0x3n, 0x5n, 'The result of (0x2n - -0x3n) is 0x5n');
    564 assert.sameValue(0x2n - -0x1234n, 0x1236n, 'The result of (0x2n - -0x1234n) is 0x1236n');
    565 
    566 assert.sameValue(
    567  0x2n - -0xFEDCBA97n,
    568  0xFEDCBA99n,
    569  'The result of (0x2n - -0xFEDCBA97n) is 0xFEDCBA99n'
    570 );
    571 
    572 assert.sameValue(
    573  0x2n - -0xFEDCBA98n,
    574  0xFEDCBA9An,
    575  'The result of (0x2n - -0xFEDCBA98n) is 0xFEDCBA9An'
    576 );
    577 
    578 assert.sameValue(
    579  0x2n - -0xFEDCBA987654320Fn,
    580  0xFEDCBA9876543211n,
    581  'The result of (0x2n - -0xFEDCBA987654320Fn) is 0xFEDCBA9876543211n'
    582 );
    583 
    584 assert.sameValue(
    585  0x2n - -0xFEDCBA9876543210n,
    586  0xFEDCBA9876543212n,
    587  'The result of (0x2n - -0xFEDCBA9876543210n) is 0xFEDCBA9876543212n'
    588 );
    589 
    590 assert.sameValue(
    591  0x1n - 0xFEDCBA9876543210n,
    592  -0xFEDCBA987654320Fn,
    593  'The result of (0x1n - 0xFEDCBA9876543210n) is -0xFEDCBA987654320Fn'
    594 );
    595 
    596 assert.sameValue(
    597  0x1n - 0xFEDCBA987654320Fn,
    598  -0xFEDCBA987654320En,
    599  'The result of (0x1n - 0xFEDCBA987654320Fn) is -0xFEDCBA987654320En'
    600 );
    601 
    602 assert.sameValue(
    603  0x1n - 0xFEDCBA98n,
    604  -0xFEDCBA97n,
    605  'The result of (0x1n - 0xFEDCBA98n) is -0xFEDCBA97n'
    606 );
    607 
    608 assert.sameValue(
    609  0x1n - 0xFEDCBA97n,
    610  -0xFEDCBA96n,
    611  'The result of (0x1n - 0xFEDCBA97n) is -0xFEDCBA96n'
    612 );
    613 
    614 assert.sameValue(0x1n - 0x1234n, -0x1233n, 'The result of (0x1n - 0x1234n) is -0x1233n');
    615 assert.sameValue(0x1n - 0x3n, -0x2n, 'The result of (0x1n - 0x3n) is -0x2n');
    616 assert.sameValue(0x1n - 0x2n, -0x1n, 'The result of (0x1n - 0x2n) is -0x1n');
    617 assert.sameValue(0x1n - 0x1n, 0x0n, 'The result of (0x1n - 0x1n) is 0x0n');
    618 assert.sameValue(0x1n - 0x0n, 0x1n, 'The result of (0x1n - 0x0n) is 0x1n');
    619 assert.sameValue(0x1n - -0x1n, 0x2n, 'The result of (0x1n - -0x1n) is 0x2n');
    620 assert.sameValue(0x1n - -0x2n, 0x3n, 'The result of (0x1n - -0x2n) is 0x3n');
    621 assert.sameValue(0x1n - -0x3n, 0x4n, 'The result of (0x1n - -0x3n) is 0x4n');
    622 assert.sameValue(0x1n - -0x1234n, 0x1235n, 'The result of (0x1n - -0x1234n) is 0x1235n');
    623 
    624 assert.sameValue(
    625  0x1n - -0xFEDCBA97n,
    626  0xFEDCBA98n,
    627  'The result of (0x1n - -0xFEDCBA97n) is 0xFEDCBA98n'
    628 );
    629 
    630 assert.sameValue(
    631  0x1n - -0xFEDCBA98n,
    632  0xFEDCBA99n,
    633  'The result of (0x1n - -0xFEDCBA98n) is 0xFEDCBA99n'
    634 );
    635 
    636 assert.sameValue(
    637  0x1n - -0xFEDCBA987654320Fn,
    638  0xFEDCBA9876543210n,
    639  'The result of (0x1n - -0xFEDCBA987654320Fn) is 0xFEDCBA9876543210n'
    640 );
    641 
    642 assert.sameValue(
    643  0x1n - -0xFEDCBA9876543210n,
    644  0xFEDCBA9876543211n,
    645  'The result of (0x1n - -0xFEDCBA9876543210n) is 0xFEDCBA9876543211n'
    646 );
    647 
    648 assert.sameValue(
    649  0x0n - 0xFEDCBA9876543210n,
    650  -0xFEDCBA9876543210n,
    651  'The result of (0x0n - 0xFEDCBA9876543210n) is -0xFEDCBA9876543210n'
    652 );
    653 
    654 assert.sameValue(
    655  0x0n - 0xFEDCBA987654320Fn,
    656  -0xFEDCBA987654320Fn,
    657  'The result of (0x0n - 0xFEDCBA987654320Fn) is -0xFEDCBA987654320Fn'
    658 );
    659 
    660 assert.sameValue(
    661  0x0n - 0xFEDCBA98n,
    662  -0xFEDCBA98n,
    663  'The result of (0x0n - 0xFEDCBA98n) is -0xFEDCBA98n'
    664 );
    665 
    666 assert.sameValue(
    667  0x0n - 0xFEDCBA97n,
    668  -0xFEDCBA97n,
    669  'The result of (0x0n - 0xFEDCBA97n) is -0xFEDCBA97n'
    670 );
    671 
    672 assert.sameValue(0x0n - 0x1234n, -0x1234n, 'The result of (0x0n - 0x1234n) is -0x1234n');
    673 assert.sameValue(0x0n - 0x3n, -0x3n, 'The result of (0x0n - 0x3n) is -0x3n');
    674 assert.sameValue(0x0n - 0x2n, -0x2n, 'The result of (0x0n - 0x2n) is -0x2n');
    675 assert.sameValue(0x0n - 0x1n, -0x1n, 'The result of (0x0n - 0x1n) is -0x1n');
    676 assert.sameValue(0x0n - 0x0n, 0x0n, 'The result of (0x0n - 0x0n) is 0x0n');
    677 assert.sameValue(0x0n - -0x1n, 0x1n, 'The result of (0x0n - -0x1n) is 0x1n');
    678 assert.sameValue(0x0n - -0x2n, 0x2n, 'The result of (0x0n - -0x2n) is 0x2n');
    679 assert.sameValue(0x0n - -0x3n, 0x3n, 'The result of (0x0n - -0x3n) is 0x3n');
    680 assert.sameValue(0x0n - -0x1234n, 0x1234n, 'The result of (0x0n - -0x1234n) is 0x1234n');
    681 
    682 assert.sameValue(
    683  0x0n - -0xFEDCBA97n,
    684  0xFEDCBA97n,
    685  'The result of (0x0n - -0xFEDCBA97n) is 0xFEDCBA97n'
    686 );
    687 
    688 assert.sameValue(
    689  0x0n - -0xFEDCBA98n,
    690  0xFEDCBA98n,
    691  'The result of (0x0n - -0xFEDCBA98n) is 0xFEDCBA98n'
    692 );
    693 
    694 assert.sameValue(
    695  0x0n - -0xFEDCBA987654320Fn,
    696  0xFEDCBA987654320Fn,
    697  'The result of (0x0n - -0xFEDCBA987654320Fn) is 0xFEDCBA987654320Fn'
    698 );
    699 
    700 assert.sameValue(
    701  0x0n - -0xFEDCBA9876543210n,
    702  0xFEDCBA9876543210n,
    703  'The result of (0x0n - -0xFEDCBA9876543210n) is 0xFEDCBA9876543210n'
    704 );
    705 
    706 assert.sameValue(
    707  -0x1n - 0xFEDCBA9876543210n,
    708  -0xFEDCBA9876543211n,
    709  'The result of (-0x1n - 0xFEDCBA9876543210n) is -0xFEDCBA9876543211n'
    710 );
    711 
    712 assert.sameValue(
    713  -0x1n - 0xFEDCBA987654320Fn,
    714  -0xFEDCBA9876543210n,
    715  'The result of (-0x1n - 0xFEDCBA987654320Fn) is -0xFEDCBA9876543210n'
    716 );
    717 
    718 assert.sameValue(
    719  -0x1n - 0xFEDCBA98n,
    720  -0xFEDCBA99n,
    721  'The result of (-0x1n - 0xFEDCBA98n) is -0xFEDCBA99n'
    722 );
    723 
    724 assert.sameValue(
    725  -0x1n - 0xFEDCBA97n,
    726  -0xFEDCBA98n,
    727  'The result of (-0x1n - 0xFEDCBA97n) is -0xFEDCBA98n'
    728 );
    729 
    730 assert.sameValue(-0x1n - 0x1234n, -0x1235n, 'The result of (-0x1n - 0x1234n) is -0x1235n');
    731 assert.sameValue(-0x1n - 0x3n, -0x4n, 'The result of (-0x1n - 0x3n) is -0x4n');
    732 assert.sameValue(-0x1n - 0x2n, -0x3n, 'The result of (-0x1n - 0x2n) is -0x3n');
    733 assert.sameValue(-0x1n - 0x1n, -0x2n, 'The result of (-0x1n - 0x1n) is -0x2n');
    734 assert.sameValue(-0x1n - 0x0n, -0x1n, 'The result of (-0x1n - 0x0n) is -0x1n');
    735 assert.sameValue(-0x1n - -0x1n, 0x0n, 'The result of (-0x1n - -0x1n) is 0x0n');
    736 assert.sameValue(-0x1n - -0x2n, 0x1n, 'The result of (-0x1n - -0x2n) is 0x1n');
    737 assert.sameValue(-0x1n - -0x3n, 0x2n, 'The result of (-0x1n - -0x3n) is 0x2n');
    738 assert.sameValue(-0x1n - -0x1234n, 0x1233n, 'The result of (-0x1n - -0x1234n) is 0x1233n');
    739 
    740 assert.sameValue(
    741  -0x1n - -0xFEDCBA97n,
    742  0xFEDCBA96n,
    743  'The result of (-0x1n - -0xFEDCBA97n) is 0xFEDCBA96n'
    744 );
    745 
    746 assert.sameValue(
    747  -0x1n - -0xFEDCBA98n,
    748  0xFEDCBA97n,
    749  'The result of (-0x1n - -0xFEDCBA98n) is 0xFEDCBA97n'
    750 );
    751 
    752 assert.sameValue(
    753  -0x1n - -0xFEDCBA987654320Fn,
    754  0xFEDCBA987654320En,
    755  'The result of (-0x1n - -0xFEDCBA987654320Fn) is 0xFEDCBA987654320En'
    756 );
    757 
    758 assert.sameValue(
    759  -0x1n - -0xFEDCBA9876543210n,
    760  0xFEDCBA987654320Fn,
    761  'The result of (-0x1n - -0xFEDCBA9876543210n) is 0xFEDCBA987654320Fn'
    762 );
    763 
    764 assert.sameValue(
    765  -0x2n - 0xFEDCBA9876543210n,
    766  -0xFEDCBA9876543212n,
    767  'The result of (-0x2n - 0xFEDCBA9876543210n) is -0xFEDCBA9876543212n'
    768 );
    769 
    770 assert.sameValue(
    771  -0x2n - 0xFEDCBA987654320Fn,
    772  -0xFEDCBA9876543211n,
    773  'The result of (-0x2n - 0xFEDCBA987654320Fn) is -0xFEDCBA9876543211n'
    774 );
    775 
    776 assert.sameValue(
    777  -0x2n - 0xFEDCBA98n,
    778  -0xFEDCBA9An,
    779  'The result of (-0x2n - 0xFEDCBA98n) is -0xFEDCBA9An'
    780 );
    781 
    782 assert.sameValue(
    783  -0x2n - 0xFEDCBA97n,
    784  -0xFEDCBA99n,
    785  'The result of (-0x2n - 0xFEDCBA97n) is -0xFEDCBA99n'
    786 );
    787 
    788 assert.sameValue(-0x2n - 0x1234n, -0x1236n, 'The result of (-0x2n - 0x1234n) is -0x1236n');
    789 assert.sameValue(-0x2n - 0x3n, -0x5n, 'The result of (-0x2n - 0x3n) is -0x5n');
    790 assert.sameValue(-0x2n - 0x2n, -0x4n, 'The result of (-0x2n - 0x2n) is -0x4n');
    791 assert.sameValue(-0x2n - 0x1n, -0x3n, 'The result of (-0x2n - 0x1n) is -0x3n');
    792 assert.sameValue(-0x2n - 0x0n, -0x2n, 'The result of (-0x2n - 0x0n) is -0x2n');
    793 assert.sameValue(-0x2n - -0x1n, -0x1n, 'The result of (-0x2n - -0x1n) is -0x1n');
    794 assert.sameValue(-0x2n - -0x2n, 0x0n, 'The result of (-0x2n - -0x2n) is 0x0n');
    795 assert.sameValue(-0x2n - -0x3n, 0x1n, 'The result of (-0x2n - -0x3n) is 0x1n');
    796 assert.sameValue(-0x2n - -0x1234n, 0x1232n, 'The result of (-0x2n - -0x1234n) is 0x1232n');
    797 
    798 assert.sameValue(
    799  -0x2n - -0xFEDCBA97n,
    800  0xFEDCBA95n,
    801  'The result of (-0x2n - -0xFEDCBA97n) is 0xFEDCBA95n'
    802 );
    803 
    804 assert.sameValue(
    805  -0x2n - -0xFEDCBA98n,
    806  0xFEDCBA96n,
    807  'The result of (-0x2n - -0xFEDCBA98n) is 0xFEDCBA96n'
    808 );
    809 
    810 assert.sameValue(
    811  -0x2n - -0xFEDCBA987654320Fn,
    812  0xFEDCBA987654320Dn,
    813  'The result of (-0x2n - -0xFEDCBA987654320Fn) is 0xFEDCBA987654320Dn'
    814 );
    815 
    816 assert.sameValue(
    817  -0x2n - -0xFEDCBA9876543210n,
    818  0xFEDCBA987654320En,
    819  'The result of (-0x2n - -0xFEDCBA9876543210n) is 0xFEDCBA987654320En'
    820 );
    821 
    822 assert.sameValue(
    823  -0x3n - 0xFEDCBA9876543210n,
    824  -0xFEDCBA9876543213n,
    825  'The result of (-0x3n - 0xFEDCBA9876543210n) is -0xFEDCBA9876543213n'
    826 );
    827 
    828 assert.sameValue(
    829  -0x3n - 0xFEDCBA987654320Fn,
    830  -0xFEDCBA9876543212n,
    831  'The result of (-0x3n - 0xFEDCBA987654320Fn) is -0xFEDCBA9876543212n'
    832 );
    833 
    834 assert.sameValue(
    835  -0x3n - 0xFEDCBA98n,
    836  -0xFEDCBA9Bn,
    837  'The result of (-0x3n - 0xFEDCBA98n) is -0xFEDCBA9Bn'
    838 );
    839 
    840 assert.sameValue(
    841  -0x3n - 0xFEDCBA97n,
    842  -0xFEDCBA9An,
    843  'The result of (-0x3n - 0xFEDCBA97n) is -0xFEDCBA9An'
    844 );
    845 
    846 assert.sameValue(-0x3n - 0x1234n, -0x1237n, 'The result of (-0x3n - 0x1234n) is -0x1237n');
    847 assert.sameValue(-0x3n - 0x3n, -0x6n, 'The result of (-0x3n - 0x3n) is -0x6n');
    848 assert.sameValue(-0x3n - 0x2n, -0x5n, 'The result of (-0x3n - 0x2n) is -0x5n');
    849 assert.sameValue(-0x3n - 0x1n, -0x4n, 'The result of (-0x3n - 0x1n) is -0x4n');
    850 assert.sameValue(-0x3n - 0x0n, -0x3n, 'The result of (-0x3n - 0x0n) is -0x3n');
    851 assert.sameValue(-0x3n - -0x1n, -0x2n, 'The result of (-0x3n - -0x1n) is -0x2n');
    852 assert.sameValue(-0x3n - -0x2n, -0x1n, 'The result of (-0x3n - -0x2n) is -0x1n');
    853 assert.sameValue(-0x3n - -0x3n, 0x0n, 'The result of (-0x3n - -0x3n) is 0x0n');
    854 assert.sameValue(-0x3n - -0x1234n, 0x1231n, 'The result of (-0x3n - -0x1234n) is 0x1231n');
    855 
    856 assert.sameValue(
    857  -0x3n - -0xFEDCBA97n,
    858  0xFEDCBA94n,
    859  'The result of (-0x3n - -0xFEDCBA97n) is 0xFEDCBA94n'
    860 );
    861 
    862 assert.sameValue(
    863  -0x3n - -0xFEDCBA98n,
    864  0xFEDCBA95n,
    865  'The result of (-0x3n - -0xFEDCBA98n) is 0xFEDCBA95n'
    866 );
    867 
    868 assert.sameValue(
    869  -0x3n - -0xFEDCBA987654320Fn,
    870  0xFEDCBA987654320Cn,
    871  'The result of (-0x3n - -0xFEDCBA987654320Fn) is 0xFEDCBA987654320Cn'
    872 );
    873 
    874 assert.sameValue(
    875  -0x3n - -0xFEDCBA9876543210n,
    876  0xFEDCBA987654320Dn,
    877  'The result of (-0x3n - -0xFEDCBA9876543210n) is 0xFEDCBA987654320Dn'
    878 );
    879 
    880 assert.sameValue(
    881  -0x1234n - 0xFEDCBA9876543210n,
    882  -0xFEDCBA9876544444n,
    883  'The result of (-0x1234n - 0xFEDCBA9876543210n) is -0xFEDCBA9876544444n'
    884 );
    885 
    886 assert.sameValue(
    887  -0x1234n - 0xFEDCBA987654320Fn,
    888  -0xFEDCBA9876544443n,
    889  'The result of (-0x1234n - 0xFEDCBA987654320Fn) is -0xFEDCBA9876544443n'
    890 );
    891 
    892 assert.sameValue(
    893  -0x1234n - 0xFEDCBA98n,
    894  -0xFEDCCCCCn,
    895  'The result of (-0x1234n - 0xFEDCBA98n) is -0xFEDCCCCCn'
    896 );
    897 
    898 assert.sameValue(
    899  -0x1234n - 0xFEDCBA97n,
    900  -0xFEDCCCCBn,
    901  'The result of (-0x1234n - 0xFEDCBA97n) is -0xFEDCCCCBn'
    902 );
    903 
    904 assert.sameValue(-0x1234n - 0x1234n, -0x2468n, 'The result of (-0x1234n - 0x1234n) is -0x2468n');
    905 assert.sameValue(-0x1234n - 0x3n, -0x1237n, 'The result of (-0x1234n - 0x3n) is -0x1237n');
    906 assert.sameValue(-0x1234n - 0x2n, -0x1236n, 'The result of (-0x1234n - 0x2n) is -0x1236n');
    907 assert.sameValue(-0x1234n - 0x1n, -0x1235n, 'The result of (-0x1234n - 0x1n) is -0x1235n');
    908 assert.sameValue(-0x1234n - 0x0n, -0x1234n, 'The result of (-0x1234n - 0x0n) is -0x1234n');
    909 assert.sameValue(-0x1234n - -0x1n, -0x1233n, 'The result of (-0x1234n - -0x1n) is -0x1233n');
    910 assert.sameValue(-0x1234n - -0x2n, -0x1232n, 'The result of (-0x1234n - -0x2n) is -0x1232n');
    911 assert.sameValue(-0x1234n - -0x3n, -0x1231n, 'The result of (-0x1234n - -0x3n) is -0x1231n');
    912 assert.sameValue(-0x1234n - -0x1234n, 0x0n, 'The result of (-0x1234n - -0x1234n) is 0x0n');
    913 
    914 assert.sameValue(
    915  -0x1234n - -0xFEDCBA97n,
    916  0xFEDCA863n,
    917  'The result of (-0x1234n - -0xFEDCBA97n) is 0xFEDCA863n'
    918 );
    919 
    920 assert.sameValue(
    921  -0x1234n - -0xFEDCBA98n,
    922  0xFEDCA864n,
    923  'The result of (-0x1234n - -0xFEDCBA98n) is 0xFEDCA864n'
    924 );
    925 
    926 assert.sameValue(
    927  -0x1234n - -0xFEDCBA987654320Fn,
    928  0xFEDCBA9876541FDBn,
    929  'The result of (-0x1234n - -0xFEDCBA987654320Fn) is 0xFEDCBA9876541FDBn'
    930 );
    931 
    932 assert.sameValue(
    933  -0x1234n - -0xFEDCBA9876543210n,
    934  0xFEDCBA9876541FDCn,
    935  'The result of (-0x1234n - -0xFEDCBA9876543210n) is 0xFEDCBA9876541FDCn'
    936 );
    937 
    938 assert.sameValue(
    939  -0xFEDCBA97n - 0xFEDCBA9876543210n,
    940  -0xFEDCBA997530ECA7n,
    941  'The result of (-0xFEDCBA97n - 0xFEDCBA9876543210n) is -0xFEDCBA997530ECA7n'
    942 );
    943 
    944 assert.sameValue(
    945  -0xFEDCBA97n - 0xFEDCBA987654320Fn,
    946  -0xFEDCBA997530ECA6n,
    947  'The result of (-0xFEDCBA97n - 0xFEDCBA987654320Fn) is -0xFEDCBA997530ECA6n'
    948 );
    949 
    950 assert.sameValue(
    951  -0xFEDCBA97n - 0xFEDCBA98n,
    952  -0x1FDB9752Fn,
    953  'The result of (-0xFEDCBA97n - 0xFEDCBA98n) is -0x1FDB9752Fn'
    954 );
    955 
    956 assert.sameValue(
    957  -0xFEDCBA97n - 0xFEDCBA97n,
    958  -0x1FDB9752En,
    959  'The result of (-0xFEDCBA97n - 0xFEDCBA97n) is -0x1FDB9752En'
    960 );
    961 
    962 assert.sameValue(
    963  -0xFEDCBA97n - 0x1234n,
    964  -0xFEDCCCCBn,
    965  'The result of (-0xFEDCBA97n - 0x1234n) is -0xFEDCCCCBn'
    966 );
    967 
    968 assert.sameValue(
    969  -0xFEDCBA97n - 0x3n,
    970  -0xFEDCBA9An,
    971  'The result of (-0xFEDCBA97n - 0x3n) is -0xFEDCBA9An'
    972 );
    973 
    974 assert.sameValue(
    975  -0xFEDCBA97n - 0x2n,
    976  -0xFEDCBA99n,
    977  'The result of (-0xFEDCBA97n - 0x2n) is -0xFEDCBA99n'
    978 );
    979 
    980 assert.sameValue(
    981  -0xFEDCBA97n - 0x1n,
    982  -0xFEDCBA98n,
    983  'The result of (-0xFEDCBA97n - 0x1n) is -0xFEDCBA98n'
    984 );
    985 
    986 assert.sameValue(
    987  -0xFEDCBA97n - 0x0n,
    988  -0xFEDCBA97n,
    989  'The result of (-0xFEDCBA97n - 0x0n) is -0xFEDCBA97n'
    990 );
    991 
    992 assert.sameValue(
    993  -0xFEDCBA97n - -0x1n,
    994  -0xFEDCBA96n,
    995  'The result of (-0xFEDCBA97n - -0x1n) is -0xFEDCBA96n'
    996 );
    997 
    998 assert.sameValue(
    999  -0xFEDCBA97n - -0x2n,
   1000  -0xFEDCBA95n,
   1001  'The result of (-0xFEDCBA97n - -0x2n) is -0xFEDCBA95n'
   1002 );
   1003 
   1004 assert.sameValue(
   1005  -0xFEDCBA97n - -0x3n,
   1006  -0xFEDCBA94n,
   1007  'The result of (-0xFEDCBA97n - -0x3n) is -0xFEDCBA94n'
   1008 );
   1009 
   1010 assert.sameValue(
   1011  -0xFEDCBA97n - -0x1234n,
   1012  -0xFEDCA863n,
   1013  'The result of (-0xFEDCBA97n - -0x1234n) is -0xFEDCA863n'
   1014 );
   1015 
   1016 assert.sameValue(
   1017  -0xFEDCBA97n - -0xFEDCBA97n,
   1018  0x0n,
   1019  'The result of (-0xFEDCBA97n - -0xFEDCBA97n) is 0x0n'
   1020 );
   1021 
   1022 assert.sameValue(
   1023  -0xFEDCBA97n - -0xFEDCBA98n,
   1024  0x1n,
   1025  'The result of (-0xFEDCBA97n - -0xFEDCBA98n) is 0x1n'
   1026 );
   1027 
   1028 assert.sameValue(
   1029  -0xFEDCBA97n - -0xFEDCBA987654320Fn,
   1030  0xFEDCBA9777777778n,
   1031  'The result of (-0xFEDCBA97n - -0xFEDCBA987654320Fn) is 0xFEDCBA9777777778n'
   1032 );
   1033 
   1034 assert.sameValue(
   1035  -0xFEDCBA97n - -0xFEDCBA9876543210n,
   1036  0xFEDCBA9777777779n,
   1037  'The result of (-0xFEDCBA97n - -0xFEDCBA9876543210n) is 0xFEDCBA9777777779n'
   1038 );
   1039 
   1040 assert.sameValue(
   1041  -0xFEDCBA98n - 0xFEDCBA9876543210n,
   1042  -0xFEDCBA997530ECA8n,
   1043  'The result of (-0xFEDCBA98n - 0xFEDCBA9876543210n) is -0xFEDCBA997530ECA8n'
   1044 );
   1045 
   1046 assert.sameValue(
   1047  -0xFEDCBA98n - 0xFEDCBA987654320Fn,
   1048  -0xFEDCBA997530ECA7n,
   1049  'The result of (-0xFEDCBA98n - 0xFEDCBA987654320Fn) is -0xFEDCBA997530ECA7n'
   1050 );
   1051 
   1052 assert.sameValue(
   1053  -0xFEDCBA98n - 0xFEDCBA98n,
   1054  -0x1FDB97530n,
   1055  'The result of (-0xFEDCBA98n - 0xFEDCBA98n) is -0x1FDB97530n'
   1056 );
   1057 
   1058 assert.sameValue(
   1059  -0xFEDCBA98n - 0xFEDCBA97n,
   1060  -0x1FDB9752Fn,
   1061  'The result of (-0xFEDCBA98n - 0xFEDCBA97n) is -0x1FDB9752Fn'
   1062 );
   1063 
   1064 assert.sameValue(
   1065  -0xFEDCBA98n - 0x1234n,
   1066  -0xFEDCCCCCn,
   1067  'The result of (-0xFEDCBA98n - 0x1234n) is -0xFEDCCCCCn'
   1068 );
   1069 
   1070 assert.sameValue(
   1071  -0xFEDCBA98n - 0x3n,
   1072  -0xFEDCBA9Bn,
   1073  'The result of (-0xFEDCBA98n - 0x3n) is -0xFEDCBA9Bn'
   1074 );
   1075 
   1076 assert.sameValue(
   1077  -0xFEDCBA98n - 0x2n,
   1078  -0xFEDCBA9An,
   1079  'The result of (-0xFEDCBA98n - 0x2n) is -0xFEDCBA9An'
   1080 );
   1081 
   1082 assert.sameValue(
   1083  -0xFEDCBA98n - 0x1n,
   1084  -0xFEDCBA99n,
   1085  'The result of (-0xFEDCBA98n - 0x1n) is -0xFEDCBA99n'
   1086 );
   1087 
   1088 assert.sameValue(
   1089  -0xFEDCBA98n - 0x0n,
   1090  -0xFEDCBA98n,
   1091  'The result of (-0xFEDCBA98n - 0x0n) is -0xFEDCBA98n'
   1092 );
   1093 
   1094 assert.sameValue(
   1095  -0xFEDCBA98n - -0x1n,
   1096  -0xFEDCBA97n,
   1097  'The result of (-0xFEDCBA98n - -0x1n) is -0xFEDCBA97n'
   1098 );
   1099 
   1100 assert.sameValue(
   1101  -0xFEDCBA98n - -0x2n,
   1102  -0xFEDCBA96n,
   1103  'The result of (-0xFEDCBA98n - -0x2n) is -0xFEDCBA96n'
   1104 );
   1105 
   1106 assert.sameValue(
   1107  -0xFEDCBA98n - -0x3n,
   1108  -0xFEDCBA95n,
   1109  'The result of (-0xFEDCBA98n - -0x3n) is -0xFEDCBA95n'
   1110 );
   1111 
   1112 assert.sameValue(
   1113  -0xFEDCBA98n - -0x1234n,
   1114  -0xFEDCA864n,
   1115  'The result of (-0xFEDCBA98n - -0x1234n) is -0xFEDCA864n'
   1116 );
   1117 
   1118 assert.sameValue(
   1119  -0xFEDCBA98n - -0xFEDCBA97n,
   1120  -0x1n,
   1121  'The result of (-0xFEDCBA98n - -0xFEDCBA97n) is -0x1n'
   1122 );
   1123 
   1124 assert.sameValue(
   1125  -0xFEDCBA98n - -0xFEDCBA98n,
   1126  0x0n,
   1127  'The result of (-0xFEDCBA98n - -0xFEDCBA98n) is 0x0n'
   1128 );
   1129 
   1130 assert.sameValue(
   1131  -0xFEDCBA98n - -0xFEDCBA987654320Fn,
   1132  0xFEDCBA9777777777n,
   1133  'The result of (-0xFEDCBA98n - -0xFEDCBA987654320Fn) is 0xFEDCBA9777777777n'
   1134 );
   1135 
   1136 assert.sameValue(
   1137  -0xFEDCBA98n - -0xFEDCBA9876543210n,
   1138  0xFEDCBA9777777778n,
   1139  'The result of (-0xFEDCBA98n - -0xFEDCBA9876543210n) is 0xFEDCBA9777777778n'
   1140 );
   1141 
   1142 assert.sameValue(
   1143  -0xFEDCBA987654320Fn - 0xFEDCBA9876543210n,
   1144  -0x1FDB97530ECA8641Fn,
   1145  'The result of (-0xFEDCBA987654320Fn - 0xFEDCBA9876543210n) is -0x1FDB97530ECA8641Fn'
   1146 );
   1147 
   1148 assert.sameValue(
   1149  -0xFEDCBA987654320Fn - 0xFEDCBA987654320Fn,
   1150  -0x1FDB97530ECA8641En,
   1151  'The result of (-0xFEDCBA987654320Fn - 0xFEDCBA987654320Fn) is -0x1FDB97530ECA8641En'
   1152 );
   1153 
   1154 assert.sameValue(
   1155  -0xFEDCBA987654320Fn - 0xFEDCBA98n,
   1156  -0xFEDCBA997530ECA7n,
   1157  'The result of (-0xFEDCBA987654320Fn - 0xFEDCBA98n) is -0xFEDCBA997530ECA7n'
   1158 );
   1159 
   1160 assert.sameValue(
   1161  -0xFEDCBA987654320Fn - 0xFEDCBA97n,
   1162  -0xFEDCBA997530ECA6n,
   1163  'The result of (-0xFEDCBA987654320Fn - 0xFEDCBA97n) is -0xFEDCBA997530ECA6n'
   1164 );
   1165 
   1166 assert.sameValue(
   1167  -0xFEDCBA987654320Fn - 0x1234n,
   1168  -0xFEDCBA9876544443n,
   1169  'The result of (-0xFEDCBA987654320Fn - 0x1234n) is -0xFEDCBA9876544443n'
   1170 );
   1171 
   1172 assert.sameValue(
   1173  -0xFEDCBA987654320Fn - 0x3n,
   1174  -0xFEDCBA9876543212n,
   1175  'The result of (-0xFEDCBA987654320Fn - 0x3n) is -0xFEDCBA9876543212n'
   1176 );
   1177 
   1178 assert.sameValue(
   1179  -0xFEDCBA987654320Fn - 0x2n,
   1180  -0xFEDCBA9876543211n,
   1181  'The result of (-0xFEDCBA987654320Fn - 0x2n) is -0xFEDCBA9876543211n'
   1182 );
   1183 
   1184 assert.sameValue(
   1185  -0xFEDCBA987654320Fn - 0x1n,
   1186  -0xFEDCBA9876543210n,
   1187  'The result of (-0xFEDCBA987654320Fn - 0x1n) is -0xFEDCBA9876543210n'
   1188 );
   1189 
   1190 assert.sameValue(
   1191  -0xFEDCBA987654320Fn - 0x0n,
   1192  -0xFEDCBA987654320Fn,
   1193  'The result of (-0xFEDCBA987654320Fn - 0x0n) is -0xFEDCBA987654320Fn'
   1194 );
   1195 
   1196 assert.sameValue(
   1197  -0xFEDCBA987654320Fn - -0x1n,
   1198  -0xFEDCBA987654320En,
   1199  'The result of (-0xFEDCBA987654320Fn - -0x1n) is -0xFEDCBA987654320En'
   1200 );
   1201 
   1202 assert.sameValue(
   1203  -0xFEDCBA987654320Fn - -0x2n,
   1204  -0xFEDCBA987654320Dn,
   1205  'The result of (-0xFEDCBA987654320Fn - -0x2n) is -0xFEDCBA987654320Dn'
   1206 );
   1207 
   1208 assert.sameValue(
   1209  -0xFEDCBA987654320Fn - -0x3n,
   1210  -0xFEDCBA987654320Cn,
   1211  'The result of (-0xFEDCBA987654320Fn - -0x3n) is -0xFEDCBA987654320Cn'
   1212 );
   1213 
   1214 assert.sameValue(
   1215  -0xFEDCBA987654320Fn - -0x1234n,
   1216  -0xFEDCBA9876541FDBn,
   1217  'The result of (-0xFEDCBA987654320Fn - -0x1234n) is -0xFEDCBA9876541FDBn'
   1218 );
   1219 
   1220 assert.sameValue(
   1221  -0xFEDCBA987654320Fn - -0xFEDCBA97n,
   1222  -0xFEDCBA9777777778n,
   1223  'The result of (-0xFEDCBA987654320Fn - -0xFEDCBA97n) is -0xFEDCBA9777777778n'
   1224 );
   1225 
   1226 assert.sameValue(
   1227  -0xFEDCBA987654320Fn - -0xFEDCBA98n,
   1228  -0xFEDCBA9777777777n,
   1229  'The result of (-0xFEDCBA987654320Fn - -0xFEDCBA98n) is -0xFEDCBA9777777777n'
   1230 );
   1231 
   1232 assert.sameValue(
   1233  -0xFEDCBA987654320Fn - -0xFEDCBA987654320Fn,
   1234  0x0n,
   1235  'The result of (-0xFEDCBA987654320Fn - -0xFEDCBA987654320Fn) is 0x0n'
   1236 );
   1237 
   1238 assert.sameValue(
   1239  -0xFEDCBA987654320Fn - -0xFEDCBA9876543210n,
   1240  0x1n,
   1241  'The result of (-0xFEDCBA987654320Fn - -0xFEDCBA9876543210n) is 0x1n'
   1242 );
   1243 
   1244 assert.sameValue(
   1245  -0xFEDCBA9876543210n - 0xFEDCBA9876543210n,
   1246  -0x1FDB97530ECA86420n,
   1247  'The result of (-0xFEDCBA9876543210n - 0xFEDCBA9876543210n) is -0x1FDB97530ECA86420n'
   1248 );
   1249 
   1250 assert.sameValue(
   1251  -0xFEDCBA9876543210n - 0xFEDCBA987654320Fn,
   1252  -0x1FDB97530ECA8641Fn,
   1253  'The result of (-0xFEDCBA9876543210n - 0xFEDCBA987654320Fn) is -0x1FDB97530ECA8641Fn'
   1254 );
   1255 
   1256 assert.sameValue(
   1257  -0xFEDCBA9876543210n - 0xFEDCBA98n,
   1258  -0xFEDCBA997530ECA8n,
   1259  'The result of (-0xFEDCBA9876543210n - 0xFEDCBA98n) is -0xFEDCBA997530ECA8n'
   1260 );
   1261 
   1262 assert.sameValue(
   1263  -0xFEDCBA9876543210n - 0xFEDCBA97n,
   1264  -0xFEDCBA997530ECA7n,
   1265  'The result of (-0xFEDCBA9876543210n - 0xFEDCBA97n) is -0xFEDCBA997530ECA7n'
   1266 );
   1267 
   1268 assert.sameValue(
   1269  -0xFEDCBA9876543210n - 0x1234n,
   1270  -0xFEDCBA9876544444n,
   1271  'The result of (-0xFEDCBA9876543210n - 0x1234n) is -0xFEDCBA9876544444n'
   1272 );
   1273 
   1274 assert.sameValue(
   1275  -0xFEDCBA9876543210n - 0x3n,
   1276  -0xFEDCBA9876543213n,
   1277  'The result of (-0xFEDCBA9876543210n - 0x3n) is -0xFEDCBA9876543213n'
   1278 );
   1279 
   1280 assert.sameValue(
   1281  -0xFEDCBA9876543210n - 0x2n,
   1282  -0xFEDCBA9876543212n,
   1283  'The result of (-0xFEDCBA9876543210n - 0x2n) is -0xFEDCBA9876543212n'
   1284 );
   1285 
   1286 assert.sameValue(
   1287  -0xFEDCBA9876543210n - 0x1n,
   1288  -0xFEDCBA9876543211n,
   1289  'The result of (-0xFEDCBA9876543210n - 0x1n) is -0xFEDCBA9876543211n'
   1290 );
   1291 
   1292 assert.sameValue(
   1293  -0xFEDCBA9876543210n - 0x0n,
   1294  -0xFEDCBA9876543210n,
   1295  'The result of (-0xFEDCBA9876543210n - 0x0n) is -0xFEDCBA9876543210n'
   1296 );
   1297 
   1298 assert.sameValue(
   1299  -0xFEDCBA9876543210n - -0x1n,
   1300  -0xFEDCBA987654320Fn,
   1301  'The result of (-0xFEDCBA9876543210n - -0x1n) is -0xFEDCBA987654320Fn'
   1302 );
   1303 
   1304 assert.sameValue(
   1305  -0xFEDCBA9876543210n - -0x2n,
   1306  -0xFEDCBA987654320En,
   1307  'The result of (-0xFEDCBA9876543210n - -0x2n) is -0xFEDCBA987654320En'
   1308 );
   1309 
   1310 assert.sameValue(
   1311  -0xFEDCBA9876543210n - -0x3n,
   1312  -0xFEDCBA987654320Dn,
   1313  'The result of (-0xFEDCBA9876543210n - -0x3n) is -0xFEDCBA987654320Dn'
   1314 );
   1315 
   1316 assert.sameValue(
   1317  -0xFEDCBA9876543210n - -0x1234n,
   1318  -0xFEDCBA9876541FDCn,
   1319  'The result of (-0xFEDCBA9876543210n - -0x1234n) is -0xFEDCBA9876541FDCn'
   1320 );
   1321 
   1322 assert.sameValue(
   1323  -0xFEDCBA9876543210n - -0xFEDCBA97n,
   1324  -0xFEDCBA9777777779n,
   1325  'The result of (-0xFEDCBA9876543210n - -0xFEDCBA97n) is -0xFEDCBA9777777779n'
   1326 );
   1327 
   1328 assert.sameValue(
   1329  -0xFEDCBA9876543210n - -0xFEDCBA98n,
   1330  -0xFEDCBA9777777778n,
   1331  'The result of (-0xFEDCBA9876543210n - -0xFEDCBA98n) is -0xFEDCBA9777777778n'
   1332 );
   1333 
   1334 assert.sameValue(
   1335  -0xFEDCBA9876543210n - -0xFEDCBA987654320Fn,
   1336  -0x1n,
   1337  'The result of (-0xFEDCBA9876543210n - -0xFEDCBA987654320Fn) is -0x1n'
   1338 );
   1339 
   1340 assert.sameValue(
   1341  -0xFEDCBA9876543210n - -0xFEDCBA9876543210n,
   1342  0x0n,
   1343  'The result of (-0xFEDCBA9876543210n - -0xFEDCBA9876543210n) is 0x0n'
   1344 );
   1345 
   1346 reportCompare(0, 0);