zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

negti2_test.zig (68520B) - Raw


      1 const neg = @import("negXi2.zig");
      2 const testing = @import("std").testing;
      3 
      4 fn test__negti2(a: i128, expected: i128) !void {
      5     const result = neg.__negti2(a);
      6     try testing.expectEqual(expected, result);
      7 }
      8 
      9 test "negti2" {
     10     // TODO ensuring that math.minInt(i128); returns error
     11 
     12     try test__negti2(-3, 3);
     13     try test__negti2(-2, 2);
     14     try test__negti2(-1, 1);
     15     try test__negti2(0, 0); // special case for 2s complement
     16     try test__negti2(1, -1);
     17     try test__negti2(2, -2);
     18     try test__negti2(3, -3);
     19 
     20     // max_usable == MAX(i32) == -MIN(i32)
     21     // == 170141183460469231731687303715884105727
     22     // == 7fffffffffffffffffffffffffffffff
     23     // divTrunc: max_usable / i, i=1,2,3,5,100
     24     // 7fffffffffffffffffffffffffffffff / i
     25     try test__negti2(-56713727820156410577229101238628035242, 56713727820156410577229101238628035242);
     26     try test__negti2(56713727820156410577229101238628035242, -56713727820156410577229101238628035242);
     27     try test__negti2(-34028236692093846346337460743176821145, 34028236692093846346337460743176821145);
     28     try test__negti2(34028236692093846346337460743176821145, -34028236692093846346337460743176821145);
     29     try test__negti2(-17014118346046923173168730371588410572, 17014118346046923173168730371588410572);
     30     try test__negti2(17014118346046923173168730371588410572, -17014118346046923173168730371588410572);
     31     // shifting: max_usable >> i, i=0..bitsize-4
     32     // 7fffffffffffffffffffffffffffffff >> i
     33     // 7fffffffffffffffffffffffffffffff >> i + 1
     34     // 7fffffffffffffffffffffffffffffff >> i + 3
     35     // 7fffffffffffffffffffffffffffffff >> i + 7
     36     try test__negti2(-170141183460469231731687303715884105727, 170141183460469231731687303715884105727);
     37     try test__negti2(170141183460469231731687303715884105727, -170141183460469231731687303715884105727);
     38     try test__negti2(-170141183460469231731687303715884105726, 170141183460469231731687303715884105726);
     39     try test__negti2(170141183460469231731687303715884105726, -170141183460469231731687303715884105726);
     40     try test__negti2(-170141183460469231731687303715884105724, 170141183460469231731687303715884105724);
     41     try test__negti2(170141183460469231731687303715884105724, -170141183460469231731687303715884105724);
     42     try test__negti2(-170141183460469231731687303715884105720, 170141183460469231731687303715884105720);
     43     try test__negti2(170141183460469231731687303715884105720, -170141183460469231731687303715884105720);
     44     try test__negti2(-85070591730234615865843651857942052863, 85070591730234615865843651857942052863);
     45     try test__negti2(85070591730234615865843651857942052863, -85070591730234615865843651857942052863);
     46     try test__negti2(-85070591730234615865843651857942052862, 85070591730234615865843651857942052862);
     47     try test__negti2(85070591730234615865843651857942052862, -85070591730234615865843651857942052862);
     48     try test__negti2(-85070591730234615865843651857942052860, 85070591730234615865843651857942052860);
     49     try test__negti2(85070591730234615865843651857942052860, -85070591730234615865843651857942052860);
     50     try test__negti2(-85070591730234615865843651857942052856, 85070591730234615865843651857942052856);
     51     try test__negti2(85070591730234615865843651857942052856, -85070591730234615865843651857942052856);
     52     try test__negti2(-42535295865117307932921825928971026431, 42535295865117307932921825928971026431);
     53     try test__negti2(42535295865117307932921825928971026431, -42535295865117307932921825928971026431);
     54     try test__negti2(-42535295865117307932921825928971026430, 42535295865117307932921825928971026430);
     55     try test__negti2(42535295865117307932921825928971026430, -42535295865117307932921825928971026430);
     56     try test__negti2(-42535295865117307932921825928971026428, 42535295865117307932921825928971026428);
     57     try test__negti2(42535295865117307932921825928971026428, -42535295865117307932921825928971026428);
     58     try test__negti2(-42535295865117307932921825928971026424, 42535295865117307932921825928971026424);
     59     try test__negti2(42535295865117307932921825928971026424, -42535295865117307932921825928971026424);
     60     try test__negti2(-21267647932558653966460912964485513215, 21267647932558653966460912964485513215);
     61     try test__negti2(21267647932558653966460912964485513215, -21267647932558653966460912964485513215);
     62     try test__negti2(-21267647932558653966460912964485513214, 21267647932558653966460912964485513214);
     63     try test__negti2(21267647932558653966460912964485513214, -21267647932558653966460912964485513214);
     64     try test__negti2(-21267647932558653966460912964485513212, 21267647932558653966460912964485513212);
     65     try test__negti2(21267647932558653966460912964485513212, -21267647932558653966460912964485513212);
     66     try test__negti2(-21267647932558653966460912964485513208, 21267647932558653966460912964485513208);
     67     try test__negti2(21267647932558653966460912964485513208, -21267647932558653966460912964485513208);
     68     try test__negti2(-10633823966279326983230456482242756607, 10633823966279326983230456482242756607);
     69     try test__negti2(10633823966279326983230456482242756607, -10633823966279326983230456482242756607);
     70     try test__negti2(-10633823966279326983230456482242756606, 10633823966279326983230456482242756606);
     71     try test__negti2(10633823966279326983230456482242756606, -10633823966279326983230456482242756606);
     72     try test__negti2(-10633823966279326983230456482242756604, 10633823966279326983230456482242756604);
     73     try test__negti2(10633823966279326983230456482242756604, -10633823966279326983230456482242756604);
     74     try test__negti2(-10633823966279326983230456482242756600, 10633823966279326983230456482242756600);
     75     try test__negti2(10633823966279326983230456482242756600, -10633823966279326983230456482242756600);
     76     try test__negti2(-5316911983139663491615228241121378303, 5316911983139663491615228241121378303);
     77     try test__negti2(5316911983139663491615228241121378303, -5316911983139663491615228241121378303);
     78     try test__negti2(-5316911983139663491615228241121378302, 5316911983139663491615228241121378302);
     79     try test__negti2(5316911983139663491615228241121378302, -5316911983139663491615228241121378302);
     80     try test__negti2(-5316911983139663491615228241121378300, 5316911983139663491615228241121378300);
     81     try test__negti2(5316911983139663491615228241121378300, -5316911983139663491615228241121378300);
     82     try test__negti2(-5316911983139663491615228241121378296, 5316911983139663491615228241121378296);
     83     try test__negti2(5316911983139663491615228241121378296, -5316911983139663491615228241121378296);
     84     try test__negti2(-2658455991569831745807614120560689151, 2658455991569831745807614120560689151);
     85     try test__negti2(2658455991569831745807614120560689151, -2658455991569831745807614120560689151);
     86     try test__negti2(-2658455991569831745807614120560689150, 2658455991569831745807614120560689150);
     87     try test__negti2(2658455991569831745807614120560689150, -2658455991569831745807614120560689150);
     88     try test__negti2(-2658455991569831745807614120560689148, 2658455991569831745807614120560689148);
     89     try test__negti2(2658455991569831745807614120560689148, -2658455991569831745807614120560689148);
     90     try test__negti2(-2658455991569831745807614120560689144, 2658455991569831745807614120560689144);
     91     try test__negti2(2658455991569831745807614120560689144, -2658455991569831745807614120560689144);
     92     try test__negti2(-1329227995784915872903807060280344575, 1329227995784915872903807060280344575);
     93     try test__negti2(1329227995784915872903807060280344575, -1329227995784915872903807060280344575);
     94     try test__negti2(-1329227995784915872903807060280344574, 1329227995784915872903807060280344574);
     95     try test__negti2(1329227995784915872903807060280344574, -1329227995784915872903807060280344574);
     96     try test__negti2(-1329227995784915872903807060280344572, 1329227995784915872903807060280344572);
     97     try test__negti2(1329227995784915872903807060280344572, -1329227995784915872903807060280344572);
     98     try test__negti2(-1329227995784915872903807060280344568, 1329227995784915872903807060280344568);
     99     try test__negti2(1329227995784915872903807060280344568, -1329227995784915872903807060280344568);
    100     try test__negti2(-664613997892457936451903530140172287, 664613997892457936451903530140172287);
    101     try test__negti2(664613997892457936451903530140172287, -664613997892457936451903530140172287);
    102     try test__negti2(-664613997892457936451903530140172286, 664613997892457936451903530140172286);
    103     try test__negti2(664613997892457936451903530140172286, -664613997892457936451903530140172286);
    104     try test__negti2(-664613997892457936451903530140172284, 664613997892457936451903530140172284);
    105     try test__negti2(664613997892457936451903530140172284, -664613997892457936451903530140172284);
    106     try test__negti2(-664613997892457936451903530140172280, 664613997892457936451903530140172280);
    107     try test__negti2(664613997892457936451903530140172280, -664613997892457936451903530140172280);
    108     try test__negti2(-332306998946228968225951765070086143, 332306998946228968225951765070086143);
    109     try test__negti2(332306998946228968225951765070086143, -332306998946228968225951765070086143);
    110     try test__negti2(-332306998946228968225951765070086142, 332306998946228968225951765070086142);
    111     try test__negti2(332306998946228968225951765070086142, -332306998946228968225951765070086142);
    112     try test__negti2(-332306998946228968225951765070086140, 332306998946228968225951765070086140);
    113     try test__negti2(332306998946228968225951765070086140, -332306998946228968225951765070086140);
    114     try test__negti2(-332306998946228968225951765070086136, 332306998946228968225951765070086136);
    115     try test__negti2(332306998946228968225951765070086136, -332306998946228968225951765070086136);
    116     try test__negti2(-166153499473114484112975882535043071, 166153499473114484112975882535043071);
    117     try test__negti2(166153499473114484112975882535043071, -166153499473114484112975882535043071);
    118     try test__negti2(-166153499473114484112975882535043070, 166153499473114484112975882535043070);
    119     try test__negti2(166153499473114484112975882535043070, -166153499473114484112975882535043070);
    120     try test__negti2(-166153499473114484112975882535043068, 166153499473114484112975882535043068);
    121     try test__negti2(166153499473114484112975882535043068, -166153499473114484112975882535043068);
    122     try test__negti2(-166153499473114484112975882535043064, 166153499473114484112975882535043064);
    123     try test__negti2(166153499473114484112975882535043064, -166153499473114484112975882535043064);
    124     try test__negti2(-83076749736557242056487941267521535, 83076749736557242056487941267521535);
    125     try test__negti2(83076749736557242056487941267521535, -83076749736557242056487941267521535);
    126     try test__negti2(-83076749736557242056487941267521534, 83076749736557242056487941267521534);
    127     try test__negti2(83076749736557242056487941267521534, -83076749736557242056487941267521534);
    128     try test__negti2(-83076749736557242056487941267521532, 83076749736557242056487941267521532);
    129     try test__negti2(83076749736557242056487941267521532, -83076749736557242056487941267521532);
    130     try test__negti2(-83076749736557242056487941267521528, 83076749736557242056487941267521528);
    131     try test__negti2(83076749736557242056487941267521528, -83076749736557242056487941267521528);
    132     try test__negti2(-41538374868278621028243970633760767, 41538374868278621028243970633760767);
    133     try test__negti2(41538374868278621028243970633760767, -41538374868278621028243970633760767);
    134     try test__negti2(-41538374868278621028243970633760766, 41538374868278621028243970633760766);
    135     try test__negti2(41538374868278621028243970633760766, -41538374868278621028243970633760766);
    136     try test__negti2(-41538374868278621028243970633760764, 41538374868278621028243970633760764);
    137     try test__negti2(41538374868278621028243970633760764, -41538374868278621028243970633760764);
    138     try test__negti2(-41538374868278621028243970633760760, 41538374868278621028243970633760760);
    139     try test__negti2(41538374868278621028243970633760760, -41538374868278621028243970633760760);
    140     try test__negti2(-20769187434139310514121985316880383, 20769187434139310514121985316880383);
    141     try test__negti2(20769187434139310514121985316880383, -20769187434139310514121985316880383);
    142     try test__negti2(-20769187434139310514121985316880382, 20769187434139310514121985316880382);
    143     try test__negti2(20769187434139310514121985316880382, -20769187434139310514121985316880382);
    144     try test__negti2(-20769187434139310514121985316880380, 20769187434139310514121985316880380);
    145     try test__negti2(20769187434139310514121985316880380, -20769187434139310514121985316880380);
    146     try test__negti2(-20769187434139310514121985316880376, 20769187434139310514121985316880376);
    147     try test__negti2(20769187434139310514121985316880376, -20769187434139310514121985316880376);
    148     try test__negti2(-10384593717069655257060992658440191, 10384593717069655257060992658440191);
    149     try test__negti2(10384593717069655257060992658440191, -10384593717069655257060992658440191);
    150     try test__negti2(-10384593717069655257060992658440190, 10384593717069655257060992658440190);
    151     try test__negti2(10384593717069655257060992658440190, -10384593717069655257060992658440190);
    152     try test__negti2(-10384593717069655257060992658440188, 10384593717069655257060992658440188);
    153     try test__negti2(10384593717069655257060992658440188, -10384593717069655257060992658440188);
    154     try test__negti2(-10384593717069655257060992658440184, 10384593717069655257060992658440184);
    155     try test__negti2(10384593717069655257060992658440184, -10384593717069655257060992658440184);
    156     try test__negti2(-5192296858534827628530496329220095, 5192296858534827628530496329220095);
    157     try test__negti2(5192296858534827628530496329220095, -5192296858534827628530496329220095);
    158     try test__negti2(-5192296858534827628530496329220094, 5192296858534827628530496329220094);
    159     try test__negti2(5192296858534827628530496329220094, -5192296858534827628530496329220094);
    160     try test__negti2(-5192296858534827628530496329220092, 5192296858534827628530496329220092);
    161     try test__negti2(5192296858534827628530496329220092, -5192296858534827628530496329220092);
    162     try test__negti2(-5192296858534827628530496329220088, 5192296858534827628530496329220088);
    163     try test__negti2(5192296858534827628530496329220088, -5192296858534827628530496329220088);
    164     try test__negti2(-2596148429267413814265248164610047, 2596148429267413814265248164610047);
    165     try test__negti2(2596148429267413814265248164610047, -2596148429267413814265248164610047);
    166     try test__negti2(-2596148429267413814265248164610046, 2596148429267413814265248164610046);
    167     try test__negti2(2596148429267413814265248164610046, -2596148429267413814265248164610046);
    168     try test__negti2(-2596148429267413814265248164610044, 2596148429267413814265248164610044);
    169     try test__negti2(2596148429267413814265248164610044, -2596148429267413814265248164610044);
    170     try test__negti2(-2596148429267413814265248164610040, 2596148429267413814265248164610040);
    171     try test__negti2(2596148429267413814265248164610040, -2596148429267413814265248164610040);
    172     try test__negti2(-1298074214633706907132624082305023, 1298074214633706907132624082305023);
    173     try test__negti2(1298074214633706907132624082305023, -1298074214633706907132624082305023);
    174     try test__negti2(-1298074214633706907132624082305022, 1298074214633706907132624082305022);
    175     try test__negti2(1298074214633706907132624082305022, -1298074214633706907132624082305022);
    176     try test__negti2(-1298074214633706907132624082305020, 1298074214633706907132624082305020);
    177     try test__negti2(1298074214633706907132624082305020, -1298074214633706907132624082305020);
    178     try test__negti2(-1298074214633706907132624082305016, 1298074214633706907132624082305016);
    179     try test__negti2(1298074214633706907132624082305016, -1298074214633706907132624082305016);
    180     try test__negti2(-649037107316853453566312041152511, 649037107316853453566312041152511);
    181     try test__negti2(649037107316853453566312041152511, -649037107316853453566312041152511);
    182     try test__negti2(-649037107316853453566312041152510, 649037107316853453566312041152510);
    183     try test__negti2(649037107316853453566312041152510, -649037107316853453566312041152510);
    184     try test__negti2(-649037107316853453566312041152508, 649037107316853453566312041152508);
    185     try test__negti2(649037107316853453566312041152508, -649037107316853453566312041152508);
    186     try test__negti2(-649037107316853453566312041152504, 649037107316853453566312041152504);
    187     try test__negti2(649037107316853453566312041152504, -649037107316853453566312041152504);
    188     try test__negti2(-324518553658426726783156020576255, 324518553658426726783156020576255);
    189     try test__negti2(324518553658426726783156020576255, -324518553658426726783156020576255);
    190     try test__negti2(-324518553658426726783156020576254, 324518553658426726783156020576254);
    191     try test__negti2(324518553658426726783156020576254, -324518553658426726783156020576254);
    192     try test__negti2(-324518553658426726783156020576252, 324518553658426726783156020576252);
    193     try test__negti2(324518553658426726783156020576252, -324518553658426726783156020576252);
    194     try test__negti2(-324518553658426726783156020576248, 324518553658426726783156020576248);
    195     try test__negti2(324518553658426726783156020576248, -324518553658426726783156020576248);
    196     try test__negti2(-162259276829213363391578010288127, 162259276829213363391578010288127);
    197     try test__negti2(162259276829213363391578010288127, -162259276829213363391578010288127);
    198     try test__negti2(-162259276829213363391578010288126, 162259276829213363391578010288126);
    199     try test__negti2(162259276829213363391578010288126, -162259276829213363391578010288126);
    200     try test__negti2(-162259276829213363391578010288124, 162259276829213363391578010288124);
    201     try test__negti2(162259276829213363391578010288124, -162259276829213363391578010288124);
    202     try test__negti2(-162259276829213363391578010288120, 162259276829213363391578010288120);
    203     try test__negti2(162259276829213363391578010288120, -162259276829213363391578010288120);
    204     try test__negti2(-81129638414606681695789005144063, 81129638414606681695789005144063);
    205     try test__negti2(81129638414606681695789005144063, -81129638414606681695789005144063);
    206     try test__negti2(-81129638414606681695789005144062, 81129638414606681695789005144062);
    207     try test__negti2(81129638414606681695789005144062, -81129638414606681695789005144062);
    208     try test__negti2(-81129638414606681695789005144060, 81129638414606681695789005144060);
    209     try test__negti2(81129638414606681695789005144060, -81129638414606681695789005144060);
    210     try test__negti2(-81129638414606681695789005144056, 81129638414606681695789005144056);
    211     try test__negti2(81129638414606681695789005144056, -81129638414606681695789005144056);
    212     try test__negti2(-40564819207303340847894502572031, 40564819207303340847894502572031);
    213     try test__negti2(40564819207303340847894502572031, -40564819207303340847894502572031);
    214     try test__negti2(-40564819207303340847894502572030, 40564819207303340847894502572030);
    215     try test__negti2(40564819207303340847894502572030, -40564819207303340847894502572030);
    216     try test__negti2(-40564819207303340847894502572028, 40564819207303340847894502572028);
    217     try test__negti2(40564819207303340847894502572028, -40564819207303340847894502572028);
    218     try test__negti2(-40564819207303340847894502572024, 40564819207303340847894502572024);
    219     try test__negti2(40564819207303340847894502572024, -40564819207303340847894502572024);
    220     try test__negti2(-20282409603651670423947251286015, 20282409603651670423947251286015);
    221     try test__negti2(20282409603651670423947251286015, -20282409603651670423947251286015);
    222     try test__negti2(-20282409603651670423947251286014, 20282409603651670423947251286014);
    223     try test__negti2(20282409603651670423947251286014, -20282409603651670423947251286014);
    224     try test__negti2(-20282409603651670423947251286012, 20282409603651670423947251286012);
    225     try test__negti2(20282409603651670423947251286012, -20282409603651670423947251286012);
    226     try test__negti2(-20282409603651670423947251286008, 20282409603651670423947251286008);
    227     try test__negti2(20282409603651670423947251286008, -20282409603651670423947251286008);
    228     try test__negti2(-10141204801825835211973625643007, 10141204801825835211973625643007);
    229     try test__negti2(10141204801825835211973625643007, -10141204801825835211973625643007);
    230     try test__negti2(-10141204801825835211973625643006, 10141204801825835211973625643006);
    231     try test__negti2(10141204801825835211973625643006, -10141204801825835211973625643006);
    232     try test__negti2(-10141204801825835211973625643004, 10141204801825835211973625643004);
    233     try test__negti2(10141204801825835211973625643004, -10141204801825835211973625643004);
    234     try test__negti2(-10141204801825835211973625643000, 10141204801825835211973625643000);
    235     try test__negti2(10141204801825835211973625643000, -10141204801825835211973625643000);
    236     try test__negti2(-5070602400912917605986812821503, 5070602400912917605986812821503);
    237     try test__negti2(5070602400912917605986812821503, -5070602400912917605986812821503);
    238     try test__negti2(-5070602400912917605986812821502, 5070602400912917605986812821502);
    239     try test__negti2(5070602400912917605986812821502, -5070602400912917605986812821502);
    240     try test__negti2(-5070602400912917605986812821500, 5070602400912917605986812821500);
    241     try test__negti2(5070602400912917605986812821500, -5070602400912917605986812821500);
    242     try test__negti2(-5070602400912917605986812821496, 5070602400912917605986812821496);
    243     try test__negti2(5070602400912917605986812821496, -5070602400912917605986812821496);
    244     try test__negti2(-2535301200456458802993406410751, 2535301200456458802993406410751);
    245     try test__negti2(2535301200456458802993406410751, -2535301200456458802993406410751);
    246     try test__negti2(-2535301200456458802993406410750, 2535301200456458802993406410750);
    247     try test__negti2(2535301200456458802993406410750, -2535301200456458802993406410750);
    248     try test__negti2(-2535301200456458802993406410748, 2535301200456458802993406410748);
    249     try test__negti2(2535301200456458802993406410748, -2535301200456458802993406410748);
    250     try test__negti2(-2535301200456458802993406410744, 2535301200456458802993406410744);
    251     try test__negti2(2535301200456458802993406410744, -2535301200456458802993406410744);
    252     try test__negti2(-1267650600228229401496703205375, 1267650600228229401496703205375);
    253     try test__negti2(1267650600228229401496703205375, -1267650600228229401496703205375);
    254     try test__negti2(-1267650600228229401496703205374, 1267650600228229401496703205374);
    255     try test__negti2(1267650600228229401496703205374, -1267650600228229401496703205374);
    256     try test__negti2(-1267650600228229401496703205372, 1267650600228229401496703205372);
    257     try test__negti2(1267650600228229401496703205372, -1267650600228229401496703205372);
    258     try test__negti2(-1267650600228229401496703205368, 1267650600228229401496703205368);
    259     try test__negti2(1267650600228229401496703205368, -1267650600228229401496703205368);
    260     try test__negti2(-633825300114114700748351602687, 633825300114114700748351602687);
    261     try test__negti2(633825300114114700748351602687, -633825300114114700748351602687);
    262     try test__negti2(-633825300114114700748351602686, 633825300114114700748351602686);
    263     try test__negti2(633825300114114700748351602686, -633825300114114700748351602686);
    264     try test__negti2(-633825300114114700748351602684, 633825300114114700748351602684);
    265     try test__negti2(633825300114114700748351602684, -633825300114114700748351602684);
    266     try test__negti2(-633825300114114700748351602680, 633825300114114700748351602680);
    267     try test__negti2(633825300114114700748351602680, -633825300114114700748351602680);
    268     try test__negti2(-316912650057057350374175801343, 316912650057057350374175801343);
    269     try test__negti2(316912650057057350374175801343, -316912650057057350374175801343);
    270     try test__negti2(-316912650057057350374175801342, 316912650057057350374175801342);
    271     try test__negti2(316912650057057350374175801342, -316912650057057350374175801342);
    272     try test__negti2(-316912650057057350374175801340, 316912650057057350374175801340);
    273     try test__negti2(316912650057057350374175801340, -316912650057057350374175801340);
    274     try test__negti2(-316912650057057350374175801336, 316912650057057350374175801336);
    275     try test__negti2(316912650057057350374175801336, -316912650057057350374175801336);
    276     try test__negti2(-158456325028528675187087900671, 158456325028528675187087900671);
    277     try test__negti2(158456325028528675187087900671, -158456325028528675187087900671);
    278     try test__negti2(-158456325028528675187087900670, 158456325028528675187087900670);
    279     try test__negti2(158456325028528675187087900670, -158456325028528675187087900670);
    280     try test__negti2(-158456325028528675187087900668, 158456325028528675187087900668);
    281     try test__negti2(158456325028528675187087900668, -158456325028528675187087900668);
    282     try test__negti2(-158456325028528675187087900664, 158456325028528675187087900664);
    283     try test__negti2(158456325028528675187087900664, -158456325028528675187087900664);
    284     try test__negti2(-79228162514264337593543950335, 79228162514264337593543950335);
    285     try test__negti2(79228162514264337593543950335, -79228162514264337593543950335);
    286     try test__negti2(-79228162514264337593543950334, 79228162514264337593543950334);
    287     try test__negti2(79228162514264337593543950334, -79228162514264337593543950334);
    288     try test__negti2(-79228162514264337593543950332, 79228162514264337593543950332);
    289     try test__negti2(79228162514264337593543950332, -79228162514264337593543950332);
    290     try test__negti2(-79228162514264337593543950328, 79228162514264337593543950328);
    291     try test__negti2(79228162514264337593543950328, -79228162514264337593543950328);
    292     try test__negti2(-39614081257132168796771975167, 39614081257132168796771975167);
    293     try test__negti2(39614081257132168796771975167, -39614081257132168796771975167);
    294     try test__negti2(-39614081257132168796771975166, 39614081257132168796771975166);
    295     try test__negti2(39614081257132168796771975166, -39614081257132168796771975166);
    296     try test__negti2(-39614081257132168796771975164, 39614081257132168796771975164);
    297     try test__negti2(39614081257132168796771975164, -39614081257132168796771975164);
    298     try test__negti2(-39614081257132168796771975160, 39614081257132168796771975160);
    299     try test__negti2(39614081257132168796771975160, -39614081257132168796771975160);
    300     try test__negti2(-19807040628566084398385987583, 19807040628566084398385987583);
    301     try test__negti2(19807040628566084398385987583, -19807040628566084398385987583);
    302     try test__negti2(-19807040628566084398385987582, 19807040628566084398385987582);
    303     try test__negti2(19807040628566084398385987582, -19807040628566084398385987582);
    304     try test__negti2(-19807040628566084398385987580, 19807040628566084398385987580);
    305     try test__negti2(19807040628566084398385987580, -19807040628566084398385987580);
    306     try test__negti2(-19807040628566084398385987576, 19807040628566084398385987576);
    307     try test__negti2(19807040628566084398385987576, -19807040628566084398385987576);
    308     try test__negti2(-9903520314283042199192993791, 9903520314283042199192993791);
    309     try test__negti2(9903520314283042199192993791, -9903520314283042199192993791);
    310     try test__negti2(-9903520314283042199192993790, 9903520314283042199192993790);
    311     try test__negti2(9903520314283042199192993790, -9903520314283042199192993790);
    312     try test__negti2(-9903520314283042199192993788, 9903520314283042199192993788);
    313     try test__negti2(9903520314283042199192993788, -9903520314283042199192993788);
    314     try test__negti2(-9903520314283042199192993784, 9903520314283042199192993784);
    315     try test__negti2(9903520314283042199192993784, -9903520314283042199192993784);
    316     try test__negti2(-4951760157141521099596496895, 4951760157141521099596496895);
    317     try test__negti2(4951760157141521099596496895, -4951760157141521099596496895);
    318     try test__negti2(-4951760157141521099596496894, 4951760157141521099596496894);
    319     try test__negti2(4951760157141521099596496894, -4951760157141521099596496894);
    320     try test__negti2(-4951760157141521099596496892, 4951760157141521099596496892);
    321     try test__negti2(4951760157141521099596496892, -4951760157141521099596496892);
    322     try test__negti2(-4951760157141521099596496888, 4951760157141521099596496888);
    323     try test__negti2(4951760157141521099596496888, -4951760157141521099596496888);
    324     try test__negti2(-2475880078570760549798248447, 2475880078570760549798248447);
    325     try test__negti2(2475880078570760549798248447, -2475880078570760549798248447);
    326     try test__negti2(-2475880078570760549798248446, 2475880078570760549798248446);
    327     try test__negti2(2475880078570760549798248446, -2475880078570760549798248446);
    328     try test__negti2(-2475880078570760549798248444, 2475880078570760549798248444);
    329     try test__negti2(2475880078570760549798248444, -2475880078570760549798248444);
    330     try test__negti2(-2475880078570760549798248440, 2475880078570760549798248440);
    331     try test__negti2(2475880078570760549798248440, -2475880078570760549798248440);
    332     try test__negti2(-1237940039285380274899124223, 1237940039285380274899124223);
    333     try test__negti2(1237940039285380274899124223, -1237940039285380274899124223);
    334     try test__negti2(-1237940039285380274899124222, 1237940039285380274899124222);
    335     try test__negti2(1237940039285380274899124222, -1237940039285380274899124222);
    336     try test__negti2(-1237940039285380274899124220, 1237940039285380274899124220);
    337     try test__negti2(1237940039285380274899124220, -1237940039285380274899124220);
    338     try test__negti2(-1237940039285380274899124216, 1237940039285380274899124216);
    339     try test__negti2(1237940039285380274899124216, -1237940039285380274899124216);
    340     try test__negti2(-618970019642690137449562111, 618970019642690137449562111);
    341     try test__negti2(618970019642690137449562111, -618970019642690137449562111);
    342     try test__negti2(-618970019642690137449562110, 618970019642690137449562110);
    343     try test__negti2(618970019642690137449562110, -618970019642690137449562110);
    344     try test__negti2(-618970019642690137449562108, 618970019642690137449562108);
    345     try test__negti2(618970019642690137449562108, -618970019642690137449562108);
    346     try test__negti2(-618970019642690137449562104, 618970019642690137449562104);
    347     try test__negti2(618970019642690137449562104, -618970019642690137449562104);
    348     try test__negti2(-309485009821345068724781055, 309485009821345068724781055);
    349     try test__negti2(309485009821345068724781055, -309485009821345068724781055);
    350     try test__negti2(-309485009821345068724781054, 309485009821345068724781054);
    351     try test__negti2(309485009821345068724781054, -309485009821345068724781054);
    352     try test__negti2(-309485009821345068724781052, 309485009821345068724781052);
    353     try test__negti2(309485009821345068724781052, -309485009821345068724781052);
    354     try test__negti2(-309485009821345068724781048, 309485009821345068724781048);
    355     try test__negti2(309485009821345068724781048, -309485009821345068724781048);
    356     try test__negti2(-154742504910672534362390527, 154742504910672534362390527);
    357     try test__negti2(154742504910672534362390527, -154742504910672534362390527);
    358     try test__negti2(-154742504910672534362390526, 154742504910672534362390526);
    359     try test__negti2(154742504910672534362390526, -154742504910672534362390526);
    360     try test__negti2(-154742504910672534362390524, 154742504910672534362390524);
    361     try test__negti2(154742504910672534362390524, -154742504910672534362390524);
    362     try test__negti2(-154742504910672534362390520, 154742504910672534362390520);
    363     try test__negti2(154742504910672534362390520, -154742504910672534362390520);
    364     try test__negti2(-77371252455336267181195263, 77371252455336267181195263);
    365     try test__negti2(77371252455336267181195263, -77371252455336267181195263);
    366     try test__negti2(-77371252455336267181195262, 77371252455336267181195262);
    367     try test__negti2(77371252455336267181195262, -77371252455336267181195262);
    368     try test__negti2(-77371252455336267181195260, 77371252455336267181195260);
    369     try test__negti2(77371252455336267181195260, -77371252455336267181195260);
    370     try test__negti2(-77371252455336267181195256, 77371252455336267181195256);
    371     try test__negti2(77371252455336267181195256, -77371252455336267181195256);
    372     try test__negti2(-38685626227668133590597631, 38685626227668133590597631);
    373     try test__negti2(38685626227668133590597631, -38685626227668133590597631);
    374     try test__negti2(-38685626227668133590597630, 38685626227668133590597630);
    375     try test__negti2(38685626227668133590597630, -38685626227668133590597630);
    376     try test__negti2(-38685626227668133590597628, 38685626227668133590597628);
    377     try test__negti2(38685626227668133590597628, -38685626227668133590597628);
    378     try test__negti2(-38685626227668133590597624, 38685626227668133590597624);
    379     try test__negti2(38685626227668133590597624, -38685626227668133590597624);
    380     try test__negti2(-19342813113834066795298815, 19342813113834066795298815);
    381     try test__negti2(19342813113834066795298815, -19342813113834066795298815);
    382     try test__negti2(-19342813113834066795298814, 19342813113834066795298814);
    383     try test__negti2(19342813113834066795298814, -19342813113834066795298814);
    384     try test__negti2(-19342813113834066795298812, 19342813113834066795298812);
    385     try test__negti2(19342813113834066795298812, -19342813113834066795298812);
    386     try test__negti2(-19342813113834066795298808, 19342813113834066795298808);
    387     try test__negti2(19342813113834066795298808, -19342813113834066795298808);
    388     try test__negti2(-9671406556917033397649407, 9671406556917033397649407);
    389     try test__negti2(9671406556917033397649407, -9671406556917033397649407);
    390     try test__negti2(-9671406556917033397649406, 9671406556917033397649406);
    391     try test__negti2(9671406556917033397649406, -9671406556917033397649406);
    392     try test__negti2(-9671406556917033397649404, 9671406556917033397649404);
    393     try test__negti2(9671406556917033397649404, -9671406556917033397649404);
    394     try test__negti2(-9671406556917033397649400, 9671406556917033397649400);
    395     try test__negti2(9671406556917033397649400, -9671406556917033397649400);
    396     try test__negti2(-4835703278458516698824703, 4835703278458516698824703);
    397     try test__negti2(4835703278458516698824703, -4835703278458516698824703);
    398     try test__negti2(-4835703278458516698824702, 4835703278458516698824702);
    399     try test__negti2(4835703278458516698824702, -4835703278458516698824702);
    400     try test__negti2(-4835703278458516698824700, 4835703278458516698824700);
    401     try test__negti2(4835703278458516698824700, -4835703278458516698824700);
    402     try test__negti2(-4835703278458516698824696, 4835703278458516698824696);
    403     try test__negti2(4835703278458516698824696, -4835703278458516698824696);
    404     try test__negti2(-2417851639229258349412351, 2417851639229258349412351);
    405     try test__negti2(2417851639229258349412351, -2417851639229258349412351);
    406     try test__negti2(-2417851639229258349412350, 2417851639229258349412350);
    407     try test__negti2(2417851639229258349412350, -2417851639229258349412350);
    408     try test__negti2(-2417851639229258349412348, 2417851639229258349412348);
    409     try test__negti2(2417851639229258349412348, -2417851639229258349412348);
    410     try test__negti2(-2417851639229258349412344, 2417851639229258349412344);
    411     try test__negti2(2417851639229258349412344, -2417851639229258349412344);
    412     try test__negti2(-1208925819614629174706175, 1208925819614629174706175);
    413     try test__negti2(1208925819614629174706175, -1208925819614629174706175);
    414     try test__negti2(-1208925819614629174706174, 1208925819614629174706174);
    415     try test__negti2(1208925819614629174706174, -1208925819614629174706174);
    416     try test__negti2(-1208925819614629174706172, 1208925819614629174706172);
    417     try test__negti2(1208925819614629174706172, -1208925819614629174706172);
    418     try test__negti2(-1208925819614629174706168, 1208925819614629174706168);
    419     try test__negti2(1208925819614629174706168, -1208925819614629174706168);
    420     try test__negti2(-604462909807314587353087, 604462909807314587353087);
    421     try test__negti2(604462909807314587353087, -604462909807314587353087);
    422     try test__negti2(-604462909807314587353086, 604462909807314587353086);
    423     try test__negti2(604462909807314587353086, -604462909807314587353086);
    424     try test__negti2(-604462909807314587353084, 604462909807314587353084);
    425     try test__negti2(604462909807314587353084, -604462909807314587353084);
    426     try test__negti2(-604462909807314587353080, 604462909807314587353080);
    427     try test__negti2(604462909807314587353080, -604462909807314587353080);
    428     try test__negti2(-302231454903657293676543, 302231454903657293676543);
    429     try test__negti2(302231454903657293676543, -302231454903657293676543);
    430     try test__negti2(-302231454903657293676542, 302231454903657293676542);
    431     try test__negti2(302231454903657293676542, -302231454903657293676542);
    432     try test__negti2(-302231454903657293676540, 302231454903657293676540);
    433     try test__negti2(302231454903657293676540, -302231454903657293676540);
    434     try test__negti2(-302231454903657293676536, 302231454903657293676536);
    435     try test__negti2(302231454903657293676536, -302231454903657293676536);
    436     try test__negti2(-151115727451828646838271, 151115727451828646838271);
    437     try test__negti2(151115727451828646838271, -151115727451828646838271);
    438     try test__negti2(-151115727451828646838270, 151115727451828646838270);
    439     try test__negti2(151115727451828646838270, -151115727451828646838270);
    440     try test__negti2(-151115727451828646838268, 151115727451828646838268);
    441     try test__negti2(151115727451828646838268, -151115727451828646838268);
    442     try test__negti2(-151115727451828646838264, 151115727451828646838264);
    443     try test__negti2(151115727451828646838264, -151115727451828646838264);
    444     try test__negti2(-75557863725914323419135, 75557863725914323419135);
    445     try test__negti2(75557863725914323419135, -75557863725914323419135);
    446     try test__negti2(-75557863725914323419134, 75557863725914323419134);
    447     try test__negti2(75557863725914323419134, -75557863725914323419134);
    448     try test__negti2(-75557863725914323419132, 75557863725914323419132);
    449     try test__negti2(75557863725914323419132, -75557863725914323419132);
    450     try test__negti2(-75557863725914323419128, 75557863725914323419128);
    451     try test__negti2(75557863725914323419128, -75557863725914323419128);
    452     try test__negti2(-37778931862957161709567, 37778931862957161709567);
    453     try test__negti2(37778931862957161709567, -37778931862957161709567);
    454     try test__negti2(-37778931862957161709566, 37778931862957161709566);
    455     try test__negti2(37778931862957161709566, -37778931862957161709566);
    456     try test__negti2(-37778931862957161709564, 37778931862957161709564);
    457     try test__negti2(37778931862957161709564, -37778931862957161709564);
    458     try test__negti2(-37778931862957161709560, 37778931862957161709560);
    459     try test__negti2(37778931862957161709560, -37778931862957161709560);
    460     try test__negti2(-18889465931478580854783, 18889465931478580854783);
    461     try test__negti2(18889465931478580854783, -18889465931478580854783);
    462     try test__negti2(-18889465931478580854782, 18889465931478580854782);
    463     try test__negti2(18889465931478580854782, -18889465931478580854782);
    464     try test__negti2(-18889465931478580854780, 18889465931478580854780);
    465     try test__negti2(18889465931478580854780, -18889465931478580854780);
    466     try test__negti2(-18889465931478580854776, 18889465931478580854776);
    467     try test__negti2(18889465931478580854776, -18889465931478580854776);
    468     try test__negti2(-9444732965739290427391, 9444732965739290427391);
    469     try test__negti2(9444732965739290427391, -9444732965739290427391);
    470     try test__negti2(-9444732965739290427390, 9444732965739290427390);
    471     try test__negti2(9444732965739290427390, -9444732965739290427390);
    472     try test__negti2(-9444732965739290427388, 9444732965739290427388);
    473     try test__negti2(9444732965739290427388, -9444732965739290427388);
    474     try test__negti2(-9444732965739290427384, 9444732965739290427384);
    475     try test__negti2(9444732965739290427384, -9444732965739290427384);
    476     try test__negti2(-4722366482869645213695, 4722366482869645213695);
    477     try test__negti2(4722366482869645213695, -4722366482869645213695);
    478     try test__negti2(-4722366482869645213694, 4722366482869645213694);
    479     try test__negti2(4722366482869645213694, -4722366482869645213694);
    480     try test__negti2(-4722366482869645213692, 4722366482869645213692);
    481     try test__negti2(4722366482869645213692, -4722366482869645213692);
    482     try test__negti2(-4722366482869645213688, 4722366482869645213688);
    483     try test__negti2(4722366482869645213688, -4722366482869645213688);
    484     try test__negti2(-2361183241434822606847, 2361183241434822606847);
    485     try test__negti2(2361183241434822606847, -2361183241434822606847);
    486     try test__negti2(-2361183241434822606846, 2361183241434822606846);
    487     try test__negti2(2361183241434822606846, -2361183241434822606846);
    488     try test__negti2(-2361183241434822606844, 2361183241434822606844);
    489     try test__negti2(2361183241434822606844, -2361183241434822606844);
    490     try test__negti2(-2361183241434822606840, 2361183241434822606840);
    491     try test__negti2(2361183241434822606840, -2361183241434822606840);
    492     try test__negti2(-1180591620717411303423, 1180591620717411303423);
    493     try test__negti2(1180591620717411303423, -1180591620717411303423);
    494     try test__negti2(-1180591620717411303422, 1180591620717411303422);
    495     try test__negti2(1180591620717411303422, -1180591620717411303422);
    496     try test__negti2(-1180591620717411303420, 1180591620717411303420);
    497     try test__negti2(1180591620717411303420, -1180591620717411303420);
    498     try test__negti2(-1180591620717411303416, 1180591620717411303416);
    499     try test__negti2(1180591620717411303416, -1180591620717411303416);
    500     try test__negti2(-590295810358705651711, 590295810358705651711);
    501     try test__negti2(590295810358705651711, -590295810358705651711);
    502     try test__negti2(-590295810358705651710, 590295810358705651710);
    503     try test__negti2(590295810358705651710, -590295810358705651710);
    504     try test__negti2(-590295810358705651708, 590295810358705651708);
    505     try test__negti2(590295810358705651708, -590295810358705651708);
    506     try test__negti2(-590295810358705651704, 590295810358705651704);
    507     try test__negti2(590295810358705651704, -590295810358705651704);
    508     try test__negti2(-295147905179352825855, 295147905179352825855);
    509     try test__negti2(295147905179352825855, -295147905179352825855);
    510     try test__negti2(-295147905179352825854, 295147905179352825854);
    511     try test__negti2(295147905179352825854, -295147905179352825854);
    512     try test__negti2(-295147905179352825852, 295147905179352825852);
    513     try test__negti2(295147905179352825852, -295147905179352825852);
    514     try test__negti2(-295147905179352825848, 295147905179352825848);
    515     try test__negti2(295147905179352825848, -295147905179352825848);
    516     try test__negti2(-147573952589676412927, 147573952589676412927);
    517     try test__negti2(147573952589676412927, -147573952589676412927);
    518     try test__negti2(-147573952589676412926, 147573952589676412926);
    519     try test__negti2(147573952589676412926, -147573952589676412926);
    520     try test__negti2(-147573952589676412924, 147573952589676412924);
    521     try test__negti2(147573952589676412924, -147573952589676412924);
    522     try test__negti2(-147573952589676412920, 147573952589676412920);
    523     try test__negti2(147573952589676412920, -147573952589676412920);
    524     try test__negti2(-73786976294838206463, 73786976294838206463);
    525     try test__negti2(73786976294838206463, -73786976294838206463);
    526     try test__negti2(-73786976294838206462, 73786976294838206462);
    527     try test__negti2(73786976294838206462, -73786976294838206462);
    528     try test__negti2(-73786976294838206460, 73786976294838206460);
    529     try test__negti2(73786976294838206460, -73786976294838206460);
    530     try test__negti2(-73786976294838206456, 73786976294838206456);
    531     try test__negti2(73786976294838206456, -73786976294838206456);
    532     try test__negti2(-36893488147419103231, 36893488147419103231);
    533     try test__negti2(36893488147419103231, -36893488147419103231);
    534     try test__negti2(-36893488147419103230, 36893488147419103230);
    535     try test__negti2(36893488147419103230, -36893488147419103230);
    536     try test__negti2(-36893488147419103228, 36893488147419103228);
    537     try test__negti2(36893488147419103228, -36893488147419103228);
    538     try test__negti2(-36893488147419103224, 36893488147419103224);
    539     try test__negti2(36893488147419103224, -36893488147419103224);
    540     try test__negti2(-18446744073709551615, 18446744073709551615);
    541     try test__negti2(18446744073709551615, -18446744073709551615);
    542     try test__negti2(-18446744073709551614, 18446744073709551614);
    543     try test__negti2(18446744073709551614, -18446744073709551614);
    544     try test__negti2(-18446744073709551612, 18446744073709551612);
    545     try test__negti2(18446744073709551612, -18446744073709551612);
    546     try test__negti2(-18446744073709551608, 18446744073709551608);
    547     try test__negti2(18446744073709551608, -18446744073709551608);
    548     try test__negti2(-9223372036854775807, 9223372036854775807);
    549     try test__negti2(9223372036854775807, -9223372036854775807);
    550     try test__negti2(-9223372036854775806, 9223372036854775806);
    551     try test__negti2(9223372036854775806, -9223372036854775806);
    552     try test__negti2(-9223372036854775804, 9223372036854775804);
    553     try test__negti2(9223372036854775804, -9223372036854775804);
    554     try test__negti2(-9223372036854775800, 9223372036854775800);
    555     try test__negti2(9223372036854775800, -9223372036854775800);
    556     try test__negti2(-4611686018427387903, 4611686018427387903);
    557     try test__negti2(4611686018427387903, -4611686018427387903);
    558     try test__negti2(-4611686018427387902, 4611686018427387902);
    559     try test__negti2(4611686018427387902, -4611686018427387902);
    560     try test__negti2(-4611686018427387900, 4611686018427387900);
    561     try test__negti2(4611686018427387900, -4611686018427387900);
    562     try test__negti2(-4611686018427387896, 4611686018427387896);
    563     try test__negti2(4611686018427387896, -4611686018427387896);
    564     try test__negti2(-2305843009213693951, 2305843009213693951);
    565     try test__negti2(2305843009213693951, -2305843009213693951);
    566     try test__negti2(-2305843009213693950, 2305843009213693950);
    567     try test__negti2(2305843009213693950, -2305843009213693950);
    568     try test__negti2(-2305843009213693948, 2305843009213693948);
    569     try test__negti2(2305843009213693948, -2305843009213693948);
    570     try test__negti2(-2305843009213693944, 2305843009213693944);
    571     try test__negti2(2305843009213693944, -2305843009213693944);
    572     try test__negti2(-1152921504606846975, 1152921504606846975);
    573     try test__negti2(1152921504606846975, -1152921504606846975);
    574     try test__negti2(-1152921504606846974, 1152921504606846974);
    575     try test__negti2(1152921504606846974, -1152921504606846974);
    576     try test__negti2(-1152921504606846972, 1152921504606846972);
    577     try test__negti2(1152921504606846972, -1152921504606846972);
    578     try test__negti2(-1152921504606846968, 1152921504606846968);
    579     try test__negti2(1152921504606846968, -1152921504606846968);
    580     try test__negti2(-576460752303423487, 576460752303423487);
    581     try test__negti2(576460752303423487, -576460752303423487);
    582     try test__negti2(-576460752303423486, 576460752303423486);
    583     try test__negti2(576460752303423486, -576460752303423486);
    584     try test__negti2(-576460752303423484, 576460752303423484);
    585     try test__negti2(576460752303423484, -576460752303423484);
    586     try test__negti2(-576460752303423480, 576460752303423480);
    587     try test__negti2(576460752303423480, -576460752303423480);
    588     try test__negti2(-288230376151711743, 288230376151711743);
    589     try test__negti2(288230376151711743, -288230376151711743);
    590     try test__negti2(-288230376151711742, 288230376151711742);
    591     try test__negti2(288230376151711742, -288230376151711742);
    592     try test__negti2(-288230376151711740, 288230376151711740);
    593     try test__negti2(288230376151711740, -288230376151711740);
    594     try test__negti2(-288230376151711736, 288230376151711736);
    595     try test__negti2(288230376151711736, -288230376151711736);
    596     try test__negti2(-144115188075855871, 144115188075855871);
    597     try test__negti2(144115188075855871, -144115188075855871);
    598     try test__negti2(-144115188075855870, 144115188075855870);
    599     try test__negti2(144115188075855870, -144115188075855870);
    600     try test__negti2(-144115188075855868, 144115188075855868);
    601     try test__negti2(144115188075855868, -144115188075855868);
    602     try test__negti2(-144115188075855864, 144115188075855864);
    603     try test__negti2(144115188075855864, -144115188075855864);
    604     try test__negti2(-72057594037927935, 72057594037927935);
    605     try test__negti2(72057594037927935, -72057594037927935);
    606     try test__negti2(-72057594037927934, 72057594037927934);
    607     try test__negti2(72057594037927934, -72057594037927934);
    608     try test__negti2(-72057594037927932, 72057594037927932);
    609     try test__negti2(72057594037927932, -72057594037927932);
    610     try test__negti2(-72057594037927928, 72057594037927928);
    611     try test__negti2(72057594037927928, -72057594037927928);
    612     try test__negti2(-36028797018963967, 36028797018963967);
    613     try test__negti2(36028797018963967, -36028797018963967);
    614     try test__negti2(-36028797018963966, 36028797018963966);
    615     try test__negti2(36028797018963966, -36028797018963966);
    616     try test__negti2(-36028797018963964, 36028797018963964);
    617     try test__negti2(36028797018963964, -36028797018963964);
    618     try test__negti2(-36028797018963960, 36028797018963960);
    619     try test__negti2(36028797018963960, -36028797018963960);
    620     try test__negti2(-18014398509481983, 18014398509481983);
    621     try test__negti2(18014398509481983, -18014398509481983);
    622     try test__negti2(-18014398509481982, 18014398509481982);
    623     try test__negti2(18014398509481982, -18014398509481982);
    624     try test__negti2(-18014398509481980, 18014398509481980);
    625     try test__negti2(18014398509481980, -18014398509481980);
    626     try test__negti2(-18014398509481976, 18014398509481976);
    627     try test__negti2(18014398509481976, -18014398509481976);
    628     try test__negti2(-9007199254740991, 9007199254740991);
    629     try test__negti2(9007199254740991, -9007199254740991);
    630     try test__negti2(-9007199254740990, 9007199254740990);
    631     try test__negti2(9007199254740990, -9007199254740990);
    632     try test__negti2(-9007199254740988, 9007199254740988);
    633     try test__negti2(9007199254740988, -9007199254740988);
    634     try test__negti2(-9007199254740984, 9007199254740984);
    635     try test__negti2(9007199254740984, -9007199254740984);
    636     try test__negti2(-4503599627370495, 4503599627370495);
    637     try test__negti2(4503599627370495, -4503599627370495);
    638     try test__negti2(-4503599627370494, 4503599627370494);
    639     try test__negti2(4503599627370494, -4503599627370494);
    640     try test__negti2(-4503599627370492, 4503599627370492);
    641     try test__negti2(4503599627370492, -4503599627370492);
    642     try test__negti2(-4503599627370488, 4503599627370488);
    643     try test__negti2(4503599627370488, -4503599627370488);
    644     try test__negti2(-2251799813685247, 2251799813685247);
    645     try test__negti2(2251799813685247, -2251799813685247);
    646     try test__negti2(-2251799813685246, 2251799813685246);
    647     try test__negti2(2251799813685246, -2251799813685246);
    648     try test__negti2(-2251799813685244, 2251799813685244);
    649     try test__negti2(2251799813685244, -2251799813685244);
    650     try test__negti2(-2251799813685240, 2251799813685240);
    651     try test__negti2(2251799813685240, -2251799813685240);
    652     try test__negti2(-1125899906842623, 1125899906842623);
    653     try test__negti2(1125899906842623, -1125899906842623);
    654     try test__negti2(-1125899906842622, 1125899906842622);
    655     try test__negti2(1125899906842622, -1125899906842622);
    656     try test__negti2(-1125899906842620, 1125899906842620);
    657     try test__negti2(1125899906842620, -1125899906842620);
    658     try test__negti2(-1125899906842616, 1125899906842616);
    659     try test__negti2(1125899906842616, -1125899906842616);
    660     try test__negti2(-562949953421311, 562949953421311);
    661     try test__negti2(562949953421311, -562949953421311);
    662     try test__negti2(-562949953421310, 562949953421310);
    663     try test__negti2(562949953421310, -562949953421310);
    664     try test__negti2(-562949953421308, 562949953421308);
    665     try test__negti2(562949953421308, -562949953421308);
    666     try test__negti2(-562949953421304, 562949953421304);
    667     try test__negti2(562949953421304, -562949953421304);
    668     try test__negti2(-281474976710655, 281474976710655);
    669     try test__negti2(281474976710655, -281474976710655);
    670     try test__negti2(-281474976710654, 281474976710654);
    671     try test__negti2(281474976710654, -281474976710654);
    672     try test__negti2(-281474976710652, 281474976710652);
    673     try test__negti2(281474976710652, -281474976710652);
    674     try test__negti2(-281474976710648, 281474976710648);
    675     try test__negti2(281474976710648, -281474976710648);
    676     try test__negti2(-140737488355327, 140737488355327);
    677     try test__negti2(140737488355327, -140737488355327);
    678     try test__negti2(-140737488355326, 140737488355326);
    679     try test__negti2(140737488355326, -140737488355326);
    680     try test__negti2(-140737488355324, 140737488355324);
    681     try test__negti2(140737488355324, -140737488355324);
    682     try test__negti2(-140737488355320, 140737488355320);
    683     try test__negti2(140737488355320, -140737488355320);
    684     try test__negti2(-70368744177663, 70368744177663);
    685     try test__negti2(70368744177663, -70368744177663);
    686     try test__negti2(-70368744177662, 70368744177662);
    687     try test__negti2(70368744177662, -70368744177662);
    688     try test__negti2(-70368744177660, 70368744177660);
    689     try test__negti2(70368744177660, -70368744177660);
    690     try test__negti2(-70368744177656, 70368744177656);
    691     try test__negti2(70368744177656, -70368744177656);
    692     try test__negti2(-35184372088831, 35184372088831);
    693     try test__negti2(35184372088831, -35184372088831);
    694     try test__negti2(-35184372088830, 35184372088830);
    695     try test__negti2(35184372088830, -35184372088830);
    696     try test__negti2(-35184372088828, 35184372088828);
    697     try test__negti2(35184372088828, -35184372088828);
    698     try test__negti2(-35184372088824, 35184372088824);
    699     try test__negti2(35184372088824, -35184372088824);
    700     try test__negti2(-17592186044415, 17592186044415);
    701     try test__negti2(17592186044415, -17592186044415);
    702     try test__negti2(-17592186044414, 17592186044414);
    703     try test__negti2(17592186044414, -17592186044414);
    704     try test__negti2(-17592186044412, 17592186044412);
    705     try test__negti2(17592186044412, -17592186044412);
    706     try test__negti2(-17592186044408, 17592186044408);
    707     try test__negti2(17592186044408, -17592186044408);
    708     try test__negti2(-8796093022207, 8796093022207);
    709     try test__negti2(8796093022207, -8796093022207);
    710     try test__negti2(-8796093022206, 8796093022206);
    711     try test__negti2(8796093022206, -8796093022206);
    712     try test__negti2(-8796093022204, 8796093022204);
    713     try test__negti2(8796093022204, -8796093022204);
    714     try test__negti2(-8796093022200, 8796093022200);
    715     try test__negti2(8796093022200, -8796093022200);
    716     try test__negti2(-4398046511103, 4398046511103);
    717     try test__negti2(4398046511103, -4398046511103);
    718     try test__negti2(-4398046511102, 4398046511102);
    719     try test__negti2(4398046511102, -4398046511102);
    720     try test__negti2(-4398046511100, 4398046511100);
    721     try test__negti2(4398046511100, -4398046511100);
    722     try test__negti2(-4398046511096, 4398046511096);
    723     try test__negti2(4398046511096, -4398046511096);
    724     try test__negti2(-2199023255551, 2199023255551);
    725     try test__negti2(2199023255551, -2199023255551);
    726     try test__negti2(-2199023255550, 2199023255550);
    727     try test__negti2(2199023255550, -2199023255550);
    728     try test__negti2(-2199023255548, 2199023255548);
    729     try test__negti2(2199023255548, -2199023255548);
    730     try test__negti2(-2199023255544, 2199023255544);
    731     try test__negti2(2199023255544, -2199023255544);
    732     try test__negti2(-1099511627775, 1099511627775);
    733     try test__negti2(1099511627775, -1099511627775);
    734     try test__negti2(-1099511627774, 1099511627774);
    735     try test__negti2(1099511627774, -1099511627774);
    736     try test__negti2(-1099511627772, 1099511627772);
    737     try test__negti2(1099511627772, -1099511627772);
    738     try test__negti2(-1099511627768, 1099511627768);
    739     try test__negti2(1099511627768, -1099511627768);
    740     try test__negti2(-549755813887, 549755813887);
    741     try test__negti2(549755813887, -549755813887);
    742     try test__negti2(-549755813886, 549755813886);
    743     try test__negti2(549755813886, -549755813886);
    744     try test__negti2(-549755813884, 549755813884);
    745     try test__negti2(549755813884, -549755813884);
    746     try test__negti2(-549755813880, 549755813880);
    747     try test__negti2(549755813880, -549755813880);
    748     try test__negti2(-274877906943, 274877906943);
    749     try test__negti2(274877906943, -274877906943);
    750     try test__negti2(-274877906942, 274877906942);
    751     try test__negti2(274877906942, -274877906942);
    752     try test__negti2(-274877906940, 274877906940);
    753     try test__negti2(274877906940, -274877906940);
    754     try test__negti2(-274877906936, 274877906936);
    755     try test__negti2(274877906936, -274877906936);
    756     try test__negti2(-137438953471, 137438953471);
    757     try test__negti2(137438953471, -137438953471);
    758     try test__negti2(-137438953470, 137438953470);
    759     try test__negti2(137438953470, -137438953470);
    760     try test__negti2(-137438953468, 137438953468);
    761     try test__negti2(137438953468, -137438953468);
    762     try test__negti2(-137438953464, 137438953464);
    763     try test__negti2(137438953464, -137438953464);
    764     try test__negti2(-68719476735, 68719476735);
    765     try test__negti2(68719476735, -68719476735);
    766     try test__negti2(-68719476734, 68719476734);
    767     try test__negti2(68719476734, -68719476734);
    768     try test__negti2(-68719476732, 68719476732);
    769     try test__negti2(68719476732, -68719476732);
    770     try test__negti2(-68719476728, 68719476728);
    771     try test__negti2(68719476728, -68719476728);
    772     try test__negti2(-34359738367, 34359738367);
    773     try test__negti2(34359738367, -34359738367);
    774     try test__negti2(-34359738366, 34359738366);
    775     try test__negti2(34359738366, -34359738366);
    776     try test__negti2(-34359738364, 34359738364);
    777     try test__negti2(34359738364, -34359738364);
    778     try test__negti2(-34359738360, 34359738360);
    779     try test__negti2(34359738360, -34359738360);
    780     try test__negti2(-17179869183, 17179869183);
    781     try test__negti2(17179869183, -17179869183);
    782     try test__negti2(-17179869182, 17179869182);
    783     try test__negti2(17179869182, -17179869182);
    784     try test__negti2(-17179869180, 17179869180);
    785     try test__negti2(17179869180, -17179869180);
    786     try test__negti2(-17179869176, 17179869176);
    787     try test__negti2(17179869176, -17179869176);
    788     try test__negti2(-8589934591, 8589934591);
    789     try test__negti2(8589934591, -8589934591);
    790     try test__negti2(-8589934590, 8589934590);
    791     try test__negti2(8589934590, -8589934590);
    792     try test__negti2(-8589934588, 8589934588);
    793     try test__negti2(8589934588, -8589934588);
    794     try test__negti2(-8589934584, 8589934584);
    795     try test__negti2(8589934584, -8589934584);
    796     try test__negti2(-4294967295, 4294967295);
    797     try test__negti2(4294967295, -4294967295);
    798     try test__negti2(-4294967294, 4294967294);
    799     try test__negti2(4294967294, -4294967294);
    800     try test__negti2(-4294967292, 4294967292);
    801     try test__negti2(4294967292, -4294967292);
    802     try test__negti2(-4294967288, 4294967288);
    803     try test__negti2(4294967288, -4294967288);
    804     try test__negti2(-2147483647, 2147483647);
    805     try test__negti2(2147483647, -2147483647);
    806     try test__negti2(-2147483646, 2147483646);
    807     try test__negti2(2147483646, -2147483646);
    808     try test__negti2(-2147483644, 2147483644);
    809     try test__negti2(2147483644, -2147483644);
    810     try test__negti2(-2147483640, 2147483640);
    811     try test__negti2(2147483640, -2147483640);
    812     try test__negti2(-1073741823, 1073741823);
    813     try test__negti2(1073741823, -1073741823);
    814     try test__negti2(-1073741822, 1073741822);
    815     try test__negti2(1073741822, -1073741822);
    816     try test__negti2(-1073741820, 1073741820);
    817     try test__negti2(1073741820, -1073741820);
    818     try test__negti2(-1073741816, 1073741816);
    819     try test__negti2(1073741816, -1073741816);
    820     try test__negti2(-536870911, 536870911);
    821     try test__negti2(536870911, -536870911);
    822     try test__negti2(-536870910, 536870910);
    823     try test__negti2(536870910, -536870910);
    824     try test__negti2(-536870908, 536870908);
    825     try test__negti2(536870908, -536870908);
    826     try test__negti2(-536870904, 536870904);
    827     try test__negti2(536870904, -536870904);
    828     try test__negti2(-268435455, 268435455);
    829     try test__negti2(268435455, -268435455);
    830     try test__negti2(-268435454, 268435454);
    831     try test__negti2(268435454, -268435454);
    832     try test__negti2(-268435452, 268435452);
    833     try test__negti2(268435452, -268435452);
    834     try test__negti2(-268435448, 268435448);
    835     try test__negti2(268435448, -268435448);
    836     try test__negti2(-134217727, 134217727);
    837     try test__negti2(134217727, -134217727);
    838     try test__negti2(-134217726, 134217726);
    839     try test__negti2(134217726, -134217726);
    840     try test__negti2(-134217724, 134217724);
    841     try test__negti2(134217724, -134217724);
    842     try test__negti2(-134217720, 134217720);
    843     try test__negti2(134217720, -134217720);
    844     try test__negti2(-67108863, 67108863);
    845     try test__negti2(67108863, -67108863);
    846     try test__negti2(-67108862, 67108862);
    847     try test__negti2(67108862, -67108862);
    848     try test__negti2(-67108860, 67108860);
    849     try test__negti2(67108860, -67108860);
    850     try test__negti2(-67108856, 67108856);
    851     try test__negti2(67108856, -67108856);
    852     try test__negti2(-33554431, 33554431);
    853     try test__negti2(33554431, -33554431);
    854     try test__negti2(-33554430, 33554430);
    855     try test__negti2(33554430, -33554430);
    856     try test__negti2(-33554428, 33554428);
    857     try test__negti2(33554428, -33554428);
    858     try test__negti2(-33554424, 33554424);
    859     try test__negti2(33554424, -33554424);
    860     try test__negti2(-16777215, 16777215);
    861     try test__negti2(16777215, -16777215);
    862     try test__negti2(-16777214, 16777214);
    863     try test__negti2(16777214, -16777214);
    864     try test__negti2(-16777212, 16777212);
    865     try test__negti2(16777212, -16777212);
    866     try test__negti2(-16777208, 16777208);
    867     try test__negti2(16777208, -16777208);
    868     try test__negti2(-8388607, 8388607);
    869     try test__negti2(8388607, -8388607);
    870     try test__negti2(-8388606, 8388606);
    871     try test__negti2(8388606, -8388606);
    872     try test__negti2(-8388604, 8388604);
    873     try test__negti2(8388604, -8388604);
    874     try test__negti2(-8388600, 8388600);
    875     try test__negti2(8388600, -8388600);
    876     try test__negti2(-4194303, 4194303);
    877     try test__negti2(4194303, -4194303);
    878     try test__negti2(-4194302, 4194302);
    879     try test__negti2(4194302, -4194302);
    880     try test__negti2(-4194300, 4194300);
    881     try test__negti2(4194300, -4194300);
    882     try test__negti2(-4194296, 4194296);
    883     try test__negti2(4194296, -4194296);
    884     try test__negti2(-2097151, 2097151);
    885     try test__negti2(2097151, -2097151);
    886     try test__negti2(-2097150, 2097150);
    887     try test__negti2(2097150, -2097150);
    888     try test__negti2(-2097148, 2097148);
    889     try test__negti2(2097148, -2097148);
    890     try test__negti2(-2097144, 2097144);
    891     try test__negti2(2097144, -2097144);
    892     try test__negti2(-1048575, 1048575);
    893     try test__negti2(1048575, -1048575);
    894     try test__negti2(-1048574, 1048574);
    895     try test__negti2(1048574, -1048574);
    896     try test__negti2(-1048572, 1048572);
    897     try test__negti2(1048572, -1048572);
    898     try test__negti2(-1048568, 1048568);
    899     try test__negti2(1048568, -1048568);
    900     try test__negti2(-524287, 524287);
    901     try test__negti2(524287, -524287);
    902     try test__negti2(-524286, 524286);
    903     try test__negti2(524286, -524286);
    904     try test__negti2(-524284, 524284);
    905     try test__negti2(524284, -524284);
    906     try test__negti2(-524280, 524280);
    907     try test__negti2(524280, -524280);
    908     try test__negti2(-262143, 262143);
    909     try test__negti2(262143, -262143);
    910     try test__negti2(-262142, 262142);
    911     try test__negti2(262142, -262142);
    912     try test__negti2(-262140, 262140);
    913     try test__negti2(262140, -262140);
    914     try test__negti2(-262136, 262136);
    915     try test__negti2(262136, -262136);
    916     try test__negti2(-131071, 131071);
    917     try test__negti2(131071, -131071);
    918     try test__negti2(-131070, 131070);
    919     try test__negti2(131070, -131070);
    920     try test__negti2(-131068, 131068);
    921     try test__negti2(131068, -131068);
    922     try test__negti2(-131064, 131064);
    923     try test__negti2(131064, -131064);
    924     try test__negti2(-65535, 65535);
    925     try test__negti2(65535, -65535);
    926     try test__negti2(-65534, 65534);
    927     try test__negti2(65534, -65534);
    928     try test__negti2(-65532, 65532);
    929     try test__negti2(65532, -65532);
    930     try test__negti2(-65528, 65528);
    931     try test__negti2(65528, -65528);
    932     try test__negti2(-32767, 32767);
    933     try test__negti2(32767, -32767);
    934     try test__negti2(-32766, 32766);
    935     try test__negti2(32766, -32766);
    936     try test__negti2(-32764, 32764);
    937     try test__negti2(32764, -32764);
    938     try test__negti2(-32760, 32760);
    939     try test__negti2(32760, -32760);
    940     try test__negti2(-16383, 16383);
    941     try test__negti2(16383, -16383);
    942     try test__negti2(-16382, 16382);
    943     try test__negti2(16382, -16382);
    944     try test__negti2(-16380, 16380);
    945     try test__negti2(16380, -16380);
    946     try test__negti2(-16376, 16376);
    947     try test__negti2(16376, -16376);
    948     try test__negti2(-8191, 8191);
    949     try test__negti2(8191, -8191);
    950     try test__negti2(-8190, 8190);
    951     try test__negti2(8190, -8190);
    952     try test__negti2(-8188, 8188);
    953     try test__negti2(8188, -8188);
    954     try test__negti2(-8184, 8184);
    955     try test__negti2(8184, -8184);
    956     try test__negti2(-4095, 4095);
    957     try test__negti2(4095, -4095);
    958     try test__negti2(-4094, 4094);
    959     try test__negti2(4094, -4094);
    960     try test__negti2(-4092, 4092);
    961     try test__negti2(4092, -4092);
    962     try test__negti2(-4088, 4088);
    963     try test__negti2(4088, -4088);
    964     try test__negti2(-2047, 2047);
    965     try test__negti2(2047, -2047);
    966     try test__negti2(-2046, 2046);
    967     try test__negti2(2046, -2046);
    968     try test__negti2(-2044, 2044);
    969     try test__negti2(2044, -2044);
    970     try test__negti2(-2040, 2040);
    971     try test__negti2(2040, -2040);
    972     try test__negti2(-1023, 1023);
    973     try test__negti2(1023, -1023);
    974     try test__negti2(-1022, 1022);
    975     try test__negti2(1022, -1022);
    976     try test__negti2(-1020, 1020);
    977     try test__negti2(1020, -1020);
    978     try test__negti2(-1016, 1016);
    979     try test__negti2(1016, -1016);
    980     try test__negti2(-511, 511);
    981     try test__negti2(511, -511);
    982     try test__negti2(-510, 510);
    983     try test__negti2(510, -510);
    984     try test__negti2(-508, 508);
    985     try test__negti2(508, -508);
    986     try test__negti2(-504, 504);
    987     try test__negti2(504, -504);
    988     try test__negti2(-255, 255);
    989     try test__negti2(255, -255);
    990     try test__negti2(-254, 254);
    991     try test__negti2(254, -254);
    992     try test__negti2(-252, 252);
    993     try test__negti2(252, -252);
    994     try test__negti2(-248, 248);
    995     try test__negti2(248, -248);
    996     try test__negti2(-127, 127);
    997     try test__negti2(127, -127);
    998     try test__negti2(-126, 126);
    999     try test__negti2(126, -126);
   1000     try test__negti2(-124, 124);
   1001     try test__negti2(124, -124);
   1002     try test__negti2(-120, 120);
   1003     try test__negti2(120, -120);
   1004     try test__negti2(-63, 63);
   1005     try test__negti2(63, -63);
   1006     try test__negti2(-62, 62);
   1007     try test__negti2(62, -62);
   1008     try test__negti2(-60, 60);
   1009     try test__negti2(60, -60);
   1010     try test__negti2(-56, 56);
   1011     try test__negti2(56, -56);
   1012     try test__negti2(-31, 31);
   1013     try test__negti2(31, -31);
   1014     try test__negti2(-30, 30);
   1015     try test__negti2(30, -30);
   1016     try test__negti2(-28, 28);
   1017     try test__negti2(28, -28);
   1018     try test__negti2(-24, 24);
   1019     try test__negti2(24, -24);
   1020     try test__negti2(-15, 15);
   1021     try test__negti2(15, -15);
   1022     try test__negti2(-14, 14);
   1023     try test__negti2(14, -14);
   1024     try test__negti2(-12, 12);
   1025     try test__negti2(12, -12);
   1026     try test__negti2(-8, 8);
   1027     try test__negti2(8, -8);
   1028 }