zig

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

negdi2_test.zig (24386B) - Raw


      1 const neg = @import("negXi2.zig");
      2 const testing = @import("std").testing;
      3 
      4 fn test__negdi2(a: i64, expected: i64) !void {
      5     const result = neg.__negdi2(a);
      6     try testing.expectEqual(expected, result);
      7 }
      8 
      9 test "negdi2" {
     10     // TODO ensuring that math.minInt(i64); returns error
     11 
     12     try test__negdi2(-3, 3);
     13     try test__negdi2(-2, 2);
     14     try test__negdi2(-1, 1);
     15     try test__negdi2(0, 0); // special case for 2s complement
     16     try test__negdi2(1, -1);
     17     try test__negdi2(2, -2);
     18     try test__negdi2(3, -3);
     19 
     20     // max_usable == MAX(i32) == -MIN(i32)
     21     // == 9223372036854775807 == 7fffffffffffffff
     22     // divTrunc: max_usable / i, i=1,2,3,5,100
     23     // 7fffffffffffffff / i
     24     try test__negdi2(-3074457345618258602, 3074457345618258602);
     25     try test__negdi2(3074457345618258602, -3074457345618258602);
     26     try test__negdi2(-1844674407370955161, 1844674407370955161);
     27     try test__negdi2(1844674407370955161, -1844674407370955161);
     28     try test__negdi2(-922337203685477580, 922337203685477580);
     29     try test__negdi2(922337203685477580, -922337203685477580);
     30     // shifting: max_usable >> i, i=0..bitsize-4
     31     // 7fffffffffffffff >> i
     32     // 7fffffffffffffff >> i + 1
     33     // 7fffffffffffffff >> i + 3
     34     // 7fffffffffffffff >> i + 7
     35     try test__negdi2(-9223372036854775807, 9223372036854775807);
     36     try test__negdi2(9223372036854775807, -9223372036854775807);
     37     try test__negdi2(-9223372036854775806, 9223372036854775806);
     38     try test__negdi2(9223372036854775806, -9223372036854775806);
     39     try test__negdi2(-9223372036854775804, 9223372036854775804);
     40     try test__negdi2(9223372036854775804, -9223372036854775804);
     41     try test__negdi2(-9223372036854775800, 9223372036854775800);
     42     try test__negdi2(9223372036854775800, -9223372036854775800);
     43     try test__negdi2(-4611686018427387903, 4611686018427387903);
     44     try test__negdi2(4611686018427387903, -4611686018427387903);
     45     try test__negdi2(-4611686018427387902, 4611686018427387902);
     46     try test__negdi2(4611686018427387902, -4611686018427387902);
     47     try test__negdi2(-4611686018427387900, 4611686018427387900);
     48     try test__negdi2(4611686018427387900, -4611686018427387900);
     49     try test__negdi2(-4611686018427387896, 4611686018427387896);
     50     try test__negdi2(4611686018427387896, -4611686018427387896);
     51     try test__negdi2(-2305843009213693951, 2305843009213693951);
     52     try test__negdi2(2305843009213693951, -2305843009213693951);
     53     try test__negdi2(-2305843009213693950, 2305843009213693950);
     54     try test__negdi2(2305843009213693950, -2305843009213693950);
     55     try test__negdi2(-2305843009213693948, 2305843009213693948);
     56     try test__negdi2(2305843009213693948, -2305843009213693948);
     57     try test__negdi2(-2305843009213693944, 2305843009213693944);
     58     try test__negdi2(2305843009213693944, -2305843009213693944);
     59     try test__negdi2(-1152921504606846975, 1152921504606846975);
     60     try test__negdi2(1152921504606846975, -1152921504606846975);
     61     try test__negdi2(-1152921504606846974, 1152921504606846974);
     62     try test__negdi2(1152921504606846974, -1152921504606846974);
     63     try test__negdi2(-1152921504606846972, 1152921504606846972);
     64     try test__negdi2(1152921504606846972, -1152921504606846972);
     65     try test__negdi2(-1152921504606846968, 1152921504606846968);
     66     try test__negdi2(1152921504606846968, -1152921504606846968);
     67     try test__negdi2(-576460752303423487, 576460752303423487);
     68     try test__negdi2(576460752303423487, -576460752303423487);
     69     try test__negdi2(-576460752303423486, 576460752303423486);
     70     try test__negdi2(576460752303423486, -576460752303423486);
     71     try test__negdi2(-576460752303423484, 576460752303423484);
     72     try test__negdi2(576460752303423484, -576460752303423484);
     73     try test__negdi2(-576460752303423480, 576460752303423480);
     74     try test__negdi2(576460752303423480, -576460752303423480);
     75     try test__negdi2(-288230376151711743, 288230376151711743);
     76     try test__negdi2(288230376151711743, -288230376151711743);
     77     try test__negdi2(-288230376151711742, 288230376151711742);
     78     try test__negdi2(288230376151711742, -288230376151711742);
     79     try test__negdi2(-288230376151711740, 288230376151711740);
     80     try test__negdi2(288230376151711740, -288230376151711740);
     81     try test__negdi2(-288230376151711736, 288230376151711736);
     82     try test__negdi2(288230376151711736, -288230376151711736);
     83     try test__negdi2(-144115188075855871, 144115188075855871);
     84     try test__negdi2(144115188075855871, -144115188075855871);
     85     try test__negdi2(-144115188075855870, 144115188075855870);
     86     try test__negdi2(144115188075855870, -144115188075855870);
     87     try test__negdi2(-144115188075855868, 144115188075855868);
     88     try test__negdi2(144115188075855868, -144115188075855868);
     89     try test__negdi2(-144115188075855864, 144115188075855864);
     90     try test__negdi2(144115188075855864, -144115188075855864);
     91     try test__negdi2(-72057594037927935, 72057594037927935);
     92     try test__negdi2(72057594037927935, -72057594037927935);
     93     try test__negdi2(-72057594037927934, 72057594037927934);
     94     try test__negdi2(72057594037927934, -72057594037927934);
     95     try test__negdi2(-72057594037927932, 72057594037927932);
     96     try test__negdi2(72057594037927932, -72057594037927932);
     97     try test__negdi2(-72057594037927928, 72057594037927928);
     98     try test__negdi2(72057594037927928, -72057594037927928);
     99     try test__negdi2(-36028797018963967, 36028797018963967);
    100     try test__negdi2(36028797018963967, -36028797018963967);
    101     try test__negdi2(-36028797018963966, 36028797018963966);
    102     try test__negdi2(36028797018963966, -36028797018963966);
    103     try test__negdi2(-36028797018963964, 36028797018963964);
    104     try test__negdi2(36028797018963964, -36028797018963964);
    105     try test__negdi2(-36028797018963960, 36028797018963960);
    106     try test__negdi2(36028797018963960, -36028797018963960);
    107     try test__negdi2(-18014398509481983, 18014398509481983);
    108     try test__negdi2(18014398509481983, -18014398509481983);
    109     try test__negdi2(-18014398509481982, 18014398509481982);
    110     try test__negdi2(18014398509481982, -18014398509481982);
    111     try test__negdi2(-18014398509481980, 18014398509481980);
    112     try test__negdi2(18014398509481980, -18014398509481980);
    113     try test__negdi2(-18014398509481976, 18014398509481976);
    114     try test__negdi2(18014398509481976, -18014398509481976);
    115     try test__negdi2(-9007199254740991, 9007199254740991);
    116     try test__negdi2(9007199254740991, -9007199254740991);
    117     try test__negdi2(-9007199254740990, 9007199254740990);
    118     try test__negdi2(9007199254740990, -9007199254740990);
    119     try test__negdi2(-9007199254740988, 9007199254740988);
    120     try test__negdi2(9007199254740988, -9007199254740988);
    121     try test__negdi2(-9007199254740984, 9007199254740984);
    122     try test__negdi2(9007199254740984, -9007199254740984);
    123     try test__negdi2(-4503599627370495, 4503599627370495);
    124     try test__negdi2(4503599627370495, -4503599627370495);
    125     try test__negdi2(-4503599627370494, 4503599627370494);
    126     try test__negdi2(4503599627370494, -4503599627370494);
    127     try test__negdi2(-4503599627370492, 4503599627370492);
    128     try test__negdi2(4503599627370492, -4503599627370492);
    129     try test__negdi2(-4503599627370488, 4503599627370488);
    130     try test__negdi2(4503599627370488, -4503599627370488);
    131     try test__negdi2(-2251799813685247, 2251799813685247);
    132     try test__negdi2(2251799813685247, -2251799813685247);
    133     try test__negdi2(-2251799813685246, 2251799813685246);
    134     try test__negdi2(2251799813685246, -2251799813685246);
    135     try test__negdi2(-2251799813685244, 2251799813685244);
    136     try test__negdi2(2251799813685244, -2251799813685244);
    137     try test__negdi2(-2251799813685240, 2251799813685240);
    138     try test__negdi2(2251799813685240, -2251799813685240);
    139     try test__negdi2(-1125899906842623, 1125899906842623);
    140     try test__negdi2(1125899906842623, -1125899906842623);
    141     try test__negdi2(-1125899906842622, 1125899906842622);
    142     try test__negdi2(1125899906842622, -1125899906842622);
    143     try test__negdi2(-1125899906842620, 1125899906842620);
    144     try test__negdi2(1125899906842620, -1125899906842620);
    145     try test__negdi2(-1125899906842616, 1125899906842616);
    146     try test__negdi2(1125899906842616, -1125899906842616);
    147     try test__negdi2(-562949953421311, 562949953421311);
    148     try test__negdi2(562949953421311, -562949953421311);
    149     try test__negdi2(-562949953421310, 562949953421310);
    150     try test__negdi2(562949953421310, -562949953421310);
    151     try test__negdi2(-562949953421308, 562949953421308);
    152     try test__negdi2(562949953421308, -562949953421308);
    153     try test__negdi2(-562949953421304, 562949953421304);
    154     try test__negdi2(562949953421304, -562949953421304);
    155     try test__negdi2(-281474976710655, 281474976710655);
    156     try test__negdi2(281474976710655, -281474976710655);
    157     try test__negdi2(-281474976710654, 281474976710654);
    158     try test__negdi2(281474976710654, -281474976710654);
    159     try test__negdi2(-281474976710652, 281474976710652);
    160     try test__negdi2(281474976710652, -281474976710652);
    161     try test__negdi2(-281474976710648, 281474976710648);
    162     try test__negdi2(281474976710648, -281474976710648);
    163     try test__negdi2(-140737488355327, 140737488355327);
    164     try test__negdi2(140737488355327, -140737488355327);
    165     try test__negdi2(-140737488355326, 140737488355326);
    166     try test__negdi2(140737488355326, -140737488355326);
    167     try test__negdi2(-140737488355324, 140737488355324);
    168     try test__negdi2(140737488355324, -140737488355324);
    169     try test__negdi2(-140737488355320, 140737488355320);
    170     try test__negdi2(140737488355320, -140737488355320);
    171     try test__negdi2(-70368744177663, 70368744177663);
    172     try test__negdi2(70368744177663, -70368744177663);
    173     try test__negdi2(-70368744177662, 70368744177662);
    174     try test__negdi2(70368744177662, -70368744177662);
    175     try test__negdi2(-70368744177660, 70368744177660);
    176     try test__negdi2(70368744177660, -70368744177660);
    177     try test__negdi2(-70368744177656, 70368744177656);
    178     try test__negdi2(70368744177656, -70368744177656);
    179     try test__negdi2(-35184372088831, 35184372088831);
    180     try test__negdi2(35184372088831, -35184372088831);
    181     try test__negdi2(-35184372088830, 35184372088830);
    182     try test__negdi2(35184372088830, -35184372088830);
    183     try test__negdi2(-35184372088828, 35184372088828);
    184     try test__negdi2(35184372088828, -35184372088828);
    185     try test__negdi2(-35184372088824, 35184372088824);
    186     try test__negdi2(35184372088824, -35184372088824);
    187     try test__negdi2(-17592186044415, 17592186044415);
    188     try test__negdi2(17592186044415, -17592186044415);
    189     try test__negdi2(-17592186044414, 17592186044414);
    190     try test__negdi2(17592186044414, -17592186044414);
    191     try test__negdi2(-17592186044412, 17592186044412);
    192     try test__negdi2(17592186044412, -17592186044412);
    193     try test__negdi2(-17592186044408, 17592186044408);
    194     try test__negdi2(17592186044408, -17592186044408);
    195     try test__negdi2(-8796093022207, 8796093022207);
    196     try test__negdi2(8796093022207, -8796093022207);
    197     try test__negdi2(-8796093022206, 8796093022206);
    198     try test__negdi2(8796093022206, -8796093022206);
    199     try test__negdi2(-8796093022204, 8796093022204);
    200     try test__negdi2(8796093022204, -8796093022204);
    201     try test__negdi2(-8796093022200, 8796093022200);
    202     try test__negdi2(8796093022200, -8796093022200);
    203     try test__negdi2(-4398046511103, 4398046511103);
    204     try test__negdi2(4398046511103, -4398046511103);
    205     try test__negdi2(-4398046511102, 4398046511102);
    206     try test__negdi2(4398046511102, -4398046511102);
    207     try test__negdi2(-4398046511100, 4398046511100);
    208     try test__negdi2(4398046511100, -4398046511100);
    209     try test__negdi2(-4398046511096, 4398046511096);
    210     try test__negdi2(4398046511096, -4398046511096);
    211     try test__negdi2(-2199023255551, 2199023255551);
    212     try test__negdi2(2199023255551, -2199023255551);
    213     try test__negdi2(-2199023255550, 2199023255550);
    214     try test__negdi2(2199023255550, -2199023255550);
    215     try test__negdi2(-2199023255548, 2199023255548);
    216     try test__negdi2(2199023255548, -2199023255548);
    217     try test__negdi2(-2199023255544, 2199023255544);
    218     try test__negdi2(2199023255544, -2199023255544);
    219     try test__negdi2(-1099511627775, 1099511627775);
    220     try test__negdi2(1099511627775, -1099511627775);
    221     try test__negdi2(-1099511627774, 1099511627774);
    222     try test__negdi2(1099511627774, -1099511627774);
    223     try test__negdi2(-1099511627772, 1099511627772);
    224     try test__negdi2(1099511627772, -1099511627772);
    225     try test__negdi2(-1099511627768, 1099511627768);
    226     try test__negdi2(1099511627768, -1099511627768);
    227     try test__negdi2(-549755813887, 549755813887);
    228     try test__negdi2(549755813887, -549755813887);
    229     try test__negdi2(-549755813886, 549755813886);
    230     try test__negdi2(549755813886, -549755813886);
    231     try test__negdi2(-549755813884, 549755813884);
    232     try test__negdi2(549755813884, -549755813884);
    233     try test__negdi2(-549755813880, 549755813880);
    234     try test__negdi2(549755813880, -549755813880);
    235     try test__negdi2(-274877906943, 274877906943);
    236     try test__negdi2(274877906943, -274877906943);
    237     try test__negdi2(-274877906942, 274877906942);
    238     try test__negdi2(274877906942, -274877906942);
    239     try test__negdi2(-274877906940, 274877906940);
    240     try test__negdi2(274877906940, -274877906940);
    241     try test__negdi2(-274877906936, 274877906936);
    242     try test__negdi2(274877906936, -274877906936);
    243     try test__negdi2(-137438953471, 137438953471);
    244     try test__negdi2(137438953471, -137438953471);
    245     try test__negdi2(-137438953470, 137438953470);
    246     try test__negdi2(137438953470, -137438953470);
    247     try test__negdi2(-137438953468, 137438953468);
    248     try test__negdi2(137438953468, -137438953468);
    249     try test__negdi2(-137438953464, 137438953464);
    250     try test__negdi2(137438953464, -137438953464);
    251     try test__negdi2(-68719476735, 68719476735);
    252     try test__negdi2(68719476735, -68719476735);
    253     try test__negdi2(-68719476734, 68719476734);
    254     try test__negdi2(68719476734, -68719476734);
    255     try test__negdi2(-68719476732, 68719476732);
    256     try test__negdi2(68719476732, -68719476732);
    257     try test__negdi2(-68719476728, 68719476728);
    258     try test__negdi2(68719476728, -68719476728);
    259     try test__negdi2(-34359738367, 34359738367);
    260     try test__negdi2(34359738367, -34359738367);
    261     try test__negdi2(-34359738366, 34359738366);
    262     try test__negdi2(34359738366, -34359738366);
    263     try test__negdi2(-34359738364, 34359738364);
    264     try test__negdi2(34359738364, -34359738364);
    265     try test__negdi2(-34359738360, 34359738360);
    266     try test__negdi2(34359738360, -34359738360);
    267     try test__negdi2(-17179869183, 17179869183);
    268     try test__negdi2(17179869183, -17179869183);
    269     try test__negdi2(-17179869182, 17179869182);
    270     try test__negdi2(17179869182, -17179869182);
    271     try test__negdi2(-17179869180, 17179869180);
    272     try test__negdi2(17179869180, -17179869180);
    273     try test__negdi2(-17179869176, 17179869176);
    274     try test__negdi2(17179869176, -17179869176);
    275     try test__negdi2(-8589934591, 8589934591);
    276     try test__negdi2(8589934591, -8589934591);
    277     try test__negdi2(-8589934590, 8589934590);
    278     try test__negdi2(8589934590, -8589934590);
    279     try test__negdi2(-8589934588, 8589934588);
    280     try test__negdi2(8589934588, -8589934588);
    281     try test__negdi2(-8589934584, 8589934584);
    282     try test__negdi2(8589934584, -8589934584);
    283     try test__negdi2(-4294967295, 4294967295);
    284     try test__negdi2(4294967295, -4294967295);
    285     try test__negdi2(-4294967294, 4294967294);
    286     try test__negdi2(4294967294, -4294967294);
    287     try test__negdi2(-4294967292, 4294967292);
    288     try test__negdi2(4294967292, -4294967292);
    289     try test__negdi2(-4294967288, 4294967288);
    290     try test__negdi2(4294967288, -4294967288);
    291     try test__negdi2(-2147483647, 2147483647);
    292     try test__negdi2(2147483647, -2147483647);
    293     try test__negdi2(-2147483646, 2147483646);
    294     try test__negdi2(2147483646, -2147483646);
    295     try test__negdi2(-2147483644, 2147483644);
    296     try test__negdi2(2147483644, -2147483644);
    297     try test__negdi2(-2147483640, 2147483640);
    298     try test__negdi2(2147483640, -2147483640);
    299     try test__negdi2(-1073741823, 1073741823);
    300     try test__negdi2(1073741823, -1073741823);
    301     try test__negdi2(-1073741822, 1073741822);
    302     try test__negdi2(1073741822, -1073741822);
    303     try test__negdi2(-1073741820, 1073741820);
    304     try test__negdi2(1073741820, -1073741820);
    305     try test__negdi2(-1073741816, 1073741816);
    306     try test__negdi2(1073741816, -1073741816);
    307     try test__negdi2(-536870911, 536870911);
    308     try test__negdi2(536870911, -536870911);
    309     try test__negdi2(-536870910, 536870910);
    310     try test__negdi2(536870910, -536870910);
    311     try test__negdi2(-536870908, 536870908);
    312     try test__negdi2(536870908, -536870908);
    313     try test__negdi2(-536870904, 536870904);
    314     try test__negdi2(536870904, -536870904);
    315     try test__negdi2(-268435455, 268435455);
    316     try test__negdi2(268435455, -268435455);
    317     try test__negdi2(-268435454, 268435454);
    318     try test__negdi2(268435454, -268435454);
    319     try test__negdi2(-268435452, 268435452);
    320     try test__negdi2(268435452, -268435452);
    321     try test__negdi2(-268435448, 268435448);
    322     try test__negdi2(268435448, -268435448);
    323     try test__negdi2(-134217727, 134217727);
    324     try test__negdi2(134217727, -134217727);
    325     try test__negdi2(-134217726, 134217726);
    326     try test__negdi2(134217726, -134217726);
    327     try test__negdi2(-134217724, 134217724);
    328     try test__negdi2(134217724, -134217724);
    329     try test__negdi2(-134217720, 134217720);
    330     try test__negdi2(134217720, -134217720);
    331     try test__negdi2(-67108863, 67108863);
    332     try test__negdi2(67108863, -67108863);
    333     try test__negdi2(-67108862, 67108862);
    334     try test__negdi2(67108862, -67108862);
    335     try test__negdi2(-67108860, 67108860);
    336     try test__negdi2(67108860, -67108860);
    337     try test__negdi2(-67108856, 67108856);
    338     try test__negdi2(67108856, -67108856);
    339     try test__negdi2(-33554431, 33554431);
    340     try test__negdi2(33554431, -33554431);
    341     try test__negdi2(-33554430, 33554430);
    342     try test__negdi2(33554430, -33554430);
    343     try test__negdi2(-33554428, 33554428);
    344     try test__negdi2(33554428, -33554428);
    345     try test__negdi2(-33554424, 33554424);
    346     try test__negdi2(33554424, -33554424);
    347     try test__negdi2(-16777215, 16777215);
    348     try test__negdi2(16777215, -16777215);
    349     try test__negdi2(-16777214, 16777214);
    350     try test__negdi2(16777214, -16777214);
    351     try test__negdi2(-16777212, 16777212);
    352     try test__negdi2(16777212, -16777212);
    353     try test__negdi2(-16777208, 16777208);
    354     try test__negdi2(16777208, -16777208);
    355     try test__negdi2(-8388607, 8388607);
    356     try test__negdi2(8388607, -8388607);
    357     try test__negdi2(-8388606, 8388606);
    358     try test__negdi2(8388606, -8388606);
    359     try test__negdi2(-8388604, 8388604);
    360     try test__negdi2(8388604, -8388604);
    361     try test__negdi2(-8388600, 8388600);
    362     try test__negdi2(8388600, -8388600);
    363     try test__negdi2(-4194303, 4194303);
    364     try test__negdi2(4194303, -4194303);
    365     try test__negdi2(-4194302, 4194302);
    366     try test__negdi2(4194302, -4194302);
    367     try test__negdi2(-4194300, 4194300);
    368     try test__negdi2(4194300, -4194300);
    369     try test__negdi2(-4194296, 4194296);
    370     try test__negdi2(4194296, -4194296);
    371     try test__negdi2(-2097151, 2097151);
    372     try test__negdi2(2097151, -2097151);
    373     try test__negdi2(-2097150, 2097150);
    374     try test__negdi2(2097150, -2097150);
    375     try test__negdi2(-2097148, 2097148);
    376     try test__negdi2(2097148, -2097148);
    377     try test__negdi2(-2097144, 2097144);
    378     try test__negdi2(2097144, -2097144);
    379     try test__negdi2(-1048575, 1048575);
    380     try test__negdi2(1048575, -1048575);
    381     try test__negdi2(-1048574, 1048574);
    382     try test__negdi2(1048574, -1048574);
    383     try test__negdi2(-1048572, 1048572);
    384     try test__negdi2(1048572, -1048572);
    385     try test__negdi2(-1048568, 1048568);
    386     try test__negdi2(1048568, -1048568);
    387     try test__negdi2(-524287, 524287);
    388     try test__negdi2(524287, -524287);
    389     try test__negdi2(-524286, 524286);
    390     try test__negdi2(524286, -524286);
    391     try test__negdi2(-524284, 524284);
    392     try test__negdi2(524284, -524284);
    393     try test__negdi2(-524280, 524280);
    394     try test__negdi2(524280, -524280);
    395     try test__negdi2(-262143, 262143);
    396     try test__negdi2(262143, -262143);
    397     try test__negdi2(-262142, 262142);
    398     try test__negdi2(262142, -262142);
    399     try test__negdi2(-262140, 262140);
    400     try test__negdi2(262140, -262140);
    401     try test__negdi2(-262136, 262136);
    402     try test__negdi2(262136, -262136);
    403     try test__negdi2(-131071, 131071);
    404     try test__negdi2(131071, -131071);
    405     try test__negdi2(-131070, 131070);
    406     try test__negdi2(131070, -131070);
    407     try test__negdi2(-131068, 131068);
    408     try test__negdi2(131068, -131068);
    409     try test__negdi2(-131064, 131064);
    410     try test__negdi2(131064, -131064);
    411     try test__negdi2(-65535, 65535);
    412     try test__negdi2(65535, -65535);
    413     try test__negdi2(-65534, 65534);
    414     try test__negdi2(65534, -65534);
    415     try test__negdi2(-65532, 65532);
    416     try test__negdi2(65532, -65532);
    417     try test__negdi2(-65528, 65528);
    418     try test__negdi2(65528, -65528);
    419     try test__negdi2(-32767, 32767);
    420     try test__negdi2(32767, -32767);
    421     try test__negdi2(-32766, 32766);
    422     try test__negdi2(32766, -32766);
    423     try test__negdi2(-32764, 32764);
    424     try test__negdi2(32764, -32764);
    425     try test__negdi2(-32760, 32760);
    426     try test__negdi2(32760, -32760);
    427     try test__negdi2(-16383, 16383);
    428     try test__negdi2(16383, -16383);
    429     try test__negdi2(-16382, 16382);
    430     try test__negdi2(16382, -16382);
    431     try test__negdi2(-16380, 16380);
    432     try test__negdi2(16380, -16380);
    433     try test__negdi2(-16376, 16376);
    434     try test__negdi2(16376, -16376);
    435     try test__negdi2(-8191, 8191);
    436     try test__negdi2(8191, -8191);
    437     try test__negdi2(-8190, 8190);
    438     try test__negdi2(8190, -8190);
    439     try test__negdi2(-8188, 8188);
    440     try test__negdi2(8188, -8188);
    441     try test__negdi2(-8184, 8184);
    442     try test__negdi2(8184, -8184);
    443     try test__negdi2(-4095, 4095);
    444     try test__negdi2(4095, -4095);
    445     try test__negdi2(-4094, 4094);
    446     try test__negdi2(4094, -4094);
    447     try test__negdi2(-4092, 4092);
    448     try test__negdi2(4092, -4092);
    449     try test__negdi2(-4088, 4088);
    450     try test__negdi2(4088, -4088);
    451     try test__negdi2(-2047, 2047);
    452     try test__negdi2(2047, -2047);
    453     try test__negdi2(-2046, 2046);
    454     try test__negdi2(2046, -2046);
    455     try test__negdi2(-2044, 2044);
    456     try test__negdi2(2044, -2044);
    457     try test__negdi2(-2040, 2040);
    458     try test__negdi2(2040, -2040);
    459     try test__negdi2(-1023, 1023);
    460     try test__negdi2(1023, -1023);
    461     try test__negdi2(-1022, 1022);
    462     try test__negdi2(1022, -1022);
    463     try test__negdi2(-1020, 1020);
    464     try test__negdi2(1020, -1020);
    465     try test__negdi2(-1016, 1016);
    466     try test__negdi2(1016, -1016);
    467     try test__negdi2(-511, 511);
    468     try test__negdi2(511, -511);
    469     try test__negdi2(-510, 510);
    470     try test__negdi2(510, -510);
    471     try test__negdi2(-508, 508);
    472     try test__negdi2(508, -508);
    473     try test__negdi2(-504, 504);
    474     try test__negdi2(504, -504);
    475     try test__negdi2(-255, 255);
    476     try test__negdi2(255, -255);
    477     try test__negdi2(-254, 254);
    478     try test__negdi2(254, -254);
    479     try test__negdi2(-252, 252);
    480     try test__negdi2(252, -252);
    481     try test__negdi2(-248, 248);
    482     try test__negdi2(248, -248);
    483     try test__negdi2(-127, 127);
    484     try test__negdi2(127, -127);
    485     try test__negdi2(-126, 126);
    486     try test__negdi2(126, -126);
    487     try test__negdi2(-124, 124);
    488     try test__negdi2(124, -124);
    489     try test__negdi2(-120, 120);
    490     try test__negdi2(120, -120);
    491     try test__negdi2(-63, 63);
    492     try test__negdi2(63, -63);
    493     try test__negdi2(-62, 62);
    494     try test__negdi2(62, -62);
    495     try test__negdi2(-60, 60);
    496     try test__negdi2(60, -60);
    497     try test__negdi2(-56, 56);
    498     try test__negdi2(56, -56);
    499     try test__negdi2(-31, 31);
    500     try test__negdi2(31, -31);
    501     try test__negdi2(-30, 30);
    502     try test__negdi2(30, -30);
    503     try test__negdi2(-28, 28);
    504     try test__negdi2(28, -28);
    505     try test__negdi2(-24, 24);
    506     try test__negdi2(24, -24);
    507     try test__negdi2(-15, 15);
    508     try test__negdi2(15, -15);
    509     try test__negdi2(-14, 14);
    510     try test__negdi2(14, -14);
    511     try test__negdi2(-12, 12);
    512     try test__negdi2(12, -12);
    513     try test__negdi2(-8, 8);
    514     try test__negdi2(8, -8);
    515 }