remainder tests added
authorcacao <none@none>
Tue, 6 Oct 1998 20:38:50 +0000 (20:38 +0000)
committercacao <none@none>
Tue, 6 Oct 1998 20:38:50 +0000 (20:38 +0000)
tests/jctest.dec [new file with mode: 0644]
tests/jctest.java

diff --git a/tests/jctest.dec b/tests/jctest.dec
new file mode 100644 (file)
index 0000000..1511e4d
--- /dev/null
@@ -0,0 +1,3241 @@
+successful initialisation
+0.    =================== JavaVM - Tester ========================
+1.    ------------------- test arguments
+2.    ------------------- test int-PUSH-STORE-LOAD
+3.    int: -1
+4.    int: 0
+5.    int: 2
+6.    int: 17
+7.    int: -100
+8.    int: 500
+9.    int: -32768
+10.    int: -32769
+11.    int: 32767
+12.    int: 32768
+13.    int: 90000
+14.    int: -1000000000
+15.    ------------------- test long-PUSH-STORE-LOAD
+16.    long: 3
+17.    long: 0
+18.    long: 99
+19.    long: 500
+20.    long: -32768
+21.    long: -32769
+22.    long: 32767
+23.    long: 32768
+24.    long: 6900000000000
+25.    long: 349827389478173274
+26.    ------------------- test float-PUSH-STORE-LOAD
+27.    float: 1120330580
+28.    float: 0
+29.    float: 1065353216
+30.    float: 1386178594
+31.    ------------------- test double-PUSH-STORE-LOAD
+32.    double: 4681555750756024320
+33.    double: 0
+34.    double: 4607182418800017408
+35.    double: 4779424232079622144
+36.    ------------------- test static variables
+37.    int: -23
+38.    int: 0
+39.    int: -100
+40.    long: 123456789
+41.    long: -99998888888889
+42.    long: -99999999999999
+43.    float: 1017370379
+44.    float: 1045220557
+45.    float: 1050253722
+46.    double: 4562254509136412672
+47.    double: 4566758108763783168
+48.    double: 4569063951614083072
+49.    ------------------- test arithmetic
+50.    int: 2147483647
+51.    int: -2147483648
+52.    int: -2147483630
+53.    long: 9223372036854775807
+54.    long: -9223372036854775808
+55.    long: -2
+56.    statische methode
+57.    interface method
+58.    int: 19
+59.    int: 18
+60.    int: 17
+61.    int: 16
+62.    long: 88
+63.    long: 77
+64.    long: 66
+65.    long: 55
+66.    float: 1036831949
+67.    float: 1045220557
+68.    float: 1050253722
+69.    float: 1053609165
+70.    double: -4611686018427387904
+71.    double: -4609434218613702656
+72.    double: -4607182418800017408
+73.    double: -4606056518893174784
+74.    ------------------- test tableswitch
+75.    default
+76.    default
+77.    default
+78.    default
+79.    default
+80.    default
+81.    default
+82.    ->  2
+83.    ->  3
+84.    default
+85.    ->  5
+86.    ->  6
+87.    ->  7
+88.    ->  8
+89.    default
+90.    -> 10
+91.    default
+92.    default
+93.    default
+94.    default
+95.    ------------------- test lookupswitch
+96.    default
+97.    -> -4
+98.    default
+99.    default
+100.    default
+101.    default
+102.    default
+103.    ->  2
+104.    default
+105.    default
+106.    default
+107.    default
+108.    default
+109.    ->  8
+110.    default
+111.    default
+112.    default
+113.    default
+114.    default
+115.    -> 14
+116.    ------------------- test casts
+117.    type cast check: Integer = Object(Integer)
+118.    type cast check: Integer = Object
+119.    exception: class cast
+120.    type cast check: Integer[] = Object(Integer)[]
+121.    type cast check: Integer[] = Object[]
+122.    exception: class cast
+123.    array store check: Object(Integer)[0] = Integer
+124.    array store check: Object(Integer)[0] = Object
+125.    exception: array store
+126.    ------------------- test special null pointers
+127.    null pointer check: put field
+128.    exception: null pointer
+129.    null pointer check: get field
+130.    exception: null pointer
+131.    null pointer check: invokevirtual
+132.    exception: null pointer
+133.    null pointer check: invokeinterface
+134.    exception: null pointer
+135.    null pointer check: monitorenter
+136.    exception: null pointer
+137.    ------------------- test byte arrays
+138.    null pointer check: byte array store
+139.    exception: null pointer
+140.    null pointer check: byte array load
+141.    exception: null pointer
+142.    negative array size check: byte array
+143.    exception: negative array size
+144.    array bound check: byte array store
+145.    exception: out of bounds: -1
+146.    array bound check: byte array load
+147.    exception: out of bounds: -1
+148.    testarraybounds: -5
+149.    exception: out of bounds: 5
+150.    testarraybounds: 40
+151.    testarraybounds: 45
+152.    testarraybounds: 50
+153.    testarraybounds: 55
+154.    testarraybounds: 60
+155.    testarraybounds: 90
+156.    testarraybounds: 95
+157.    testarraybounds: 100
+158.    exception: out of bounds: 100
+159.    exception: out of bounds: -4
+160.    exception: out of bounds: -3
+161.    exception: out of bounds: -2
+162.    exception: out of bounds: -1
+163.    exception: out of bounds: 100
+164.    exception: out of bounds: 101
+165.    exception: out of bounds: 102
+166.    exception: out of bounds: 103
+167.    byte: -50
+168.    byte: -49
+169.    byte: -48
+170.    byte: -47
+171.    byte: -46
+172.    byte: -45
+173.    byte: -44
+174.    byte: -43
+175.    byte: -42
+176.    byte: -41
+177.    byte: -40
+178.    byte: -39
+179.    byte: -38
+180.    byte: -37
+181.    byte: -36
+182.    byte: -35
+183.    byte: -34
+184.    byte: -33
+185.    byte: -32
+186.    byte: -31
+187.    byte: -30
+188.    byte: -29
+189.    byte: -28
+190.    byte: -27
+191.    byte: -26
+192.    byte: -25
+193.    byte: -24
+194.    byte: -23
+195.    byte: -22
+196.    byte: -21
+197.    byte: -20
+198.    byte: -19
+199.    byte: -18
+200.    byte: -17
+201.    byte: -16
+202.    byte: -15
+203.    byte: -14
+204.    byte: -13
+205.    byte: -12
+206.    byte: -11
+207.    byte: -10
+208.    byte: -9
+209.    byte: -8
+210.    byte: -7
+211.    byte: -6
+212.    byte: -5
+213.    byte: -4
+214.    byte: -3
+215.    byte: -2
+216.    byte: -1
+217.    byte: 0
+218.    byte: 1
+219.    byte: 2
+220.    byte: 3
+221.    byte: 4
+222.    byte: 5
+223.    byte: 6
+224.    byte: 7
+225.    byte: 8
+226.    byte: 9
+227.    byte: 10
+228.    byte: 11
+229.    byte: 12
+230.    byte: 13
+231.    byte: 14
+232.    byte: 15
+233.    byte: 16
+234.    byte: 17
+235.    byte: 18
+236.    byte: 19
+237.    byte: 20
+238.    byte: 21
+239.    byte: 22
+240.    byte: 23
+241.    byte: 24
+242.    byte: 25
+243.    byte: 26
+244.    byte: 27
+245.    byte: 28
+246.    byte: 29
+247.    byte: 30
+248.    byte: 31
+249.    byte: 32
+250.    byte: 33
+251.    byte: 34
+252.    byte: 35
+253.    byte: 36
+254.    byte: 37
+255.    byte: 38
+256.    byte: 39
+257.    byte: 40
+258.    byte: 41
+259.    byte: 42
+260.    byte: 43
+261.    byte: 44
+262.    byte: 45
+263.    byte: 46
+264.    byte: 47
+265.    byte: 48
+266.    byte: 49
+267.    -------- test short arrays
+268.    null pointer check: short array store
+269.    exception: null pointer
+270.    null pointer check: short array load
+271.    exception: null pointer
+272.    array bound check: short array store
+273.    exception: out of bounds: -1
+274.    array bound check: short array load
+275.    exception: out of bounds: -1
+276.    short: -50
+277.    short: -49
+278.    short: -48
+279.    short: -47
+280.    short: -46
+281.    short: -45
+282.    short: -44
+283.    short: -43
+284.    short: -42
+285.    short: -41
+286.    short: -40
+287.    short: -39
+288.    short: -38
+289.    short: -37
+290.    short: -36
+291.    short: -35
+292.    short: -34
+293.    short: -33
+294.    short: -32
+295.    short: -31
+296.    short: -30
+297.    short: -29
+298.    short: -28
+299.    short: -27
+300.    short: -26
+301.    short: -25
+302.    short: -24
+303.    short: -23
+304.    short: -22
+305.    short: -21
+306.    short: -20
+307.    short: -19
+308.    short: -18
+309.    short: -17
+310.    short: -16
+311.    short: -15
+312.    short: -14
+313.    short: -13
+314.    short: -12
+315.    short: -11
+316.    short: -10
+317.    short: -9
+318.    short: -8
+319.    short: -7
+320.    short: -6
+321.    short: -5
+322.    short: -4
+323.    short: -3
+324.    short: -2
+325.    short: -1
+326.    short: 0
+327.    short: 1
+328.    short: 2
+329.    short: 3
+330.    short: 4
+331.    short: 5
+332.    short: 6
+333.    short: 7
+334.    short: 8
+335.    short: 9
+336.    short: 10
+337.    short: 11
+338.    short: 12
+339.    short: 13
+340.    short: 14
+341.    short: 15
+342.    short: 16
+343.    short: 17
+344.    short: 18
+345.    short: 19
+346.    short: 20
+347.    short: 21
+348.    short: 22
+349.    short: 23
+350.    short: 24
+351.    short: 25
+352.    short: 26
+353.    short: 27
+354.    short: 28
+355.    short: 29
+356.    short: 30
+357.    short: 31
+358.    short: 32
+359.    short: 33
+360.    short: 34
+361.    short: 35
+362.    short: 36
+363.    short: 37
+364.    short: 38
+365.    short: 39
+366.    short: 40
+367.    short: 41
+368.    short: 42
+369.    short: 43
+370.    short: 44
+371.    short: 45
+372.    short: 46
+373.    short: 47
+374.    short: 48
+375.    short: 49
+376.    -------- test int arrays
+377.    null pointer check: int array store
+378.    exception: null pointer
+379.    null pointer check: int array load
+380.    exception: null pointer
+381.    array bound check: int array store
+382.    exception: out of bounds: -1
+383.    array bound check: int array load
+384.    exception: out of bounds: -1
+385.    int: 123456
+386.    int: 123457
+387.    int: 123458
+388.    int: 123459
+389.    int: 123460
+390.    int: 123461
+391.    int: 123462
+392.    int: 123463
+393.    int: 123464
+394.    int: 123465
+395.    -------- test long arrays
+396.    null pointer check: long array store
+397.    exception: null pointer
+398.    null pointer check: long array load
+399.    exception: null pointer
+400.    array bound check: long array store
+401.    exception: out of bounds: -1
+402.    array bound check: long array load
+403.    exception: out of bounds: -1
+404.    long: 1234567890123
+405.    long: 1234567890124
+406.    long: 1234567890125
+407.    long: 1234567890126
+408.    long: 1234567890127
+409.    long: 1234567890128
+410.    long: 1234567890129
+411.    long: 1234567890130
+412.    long: 1234567890131
+413.    long: 1234567890132
+414.    -------- test char arrays
+415.    null pointer check: char array store
+416.    exception: null pointer
+417.    null pointer check: char array load
+418.    exception: null pointer
+419.    array bound check: char array store
+420.    exception: out of bounds: -1
+421.    array bound check: char array load
+422.    exception: out of bounds: -1
+423.    char: 65
+424.    char: 66
+425.    char: 67
+426.    char: 68
+427.    char: 69
+428.    char: 70
+429.    char: 71
+430.    char: 72
+431.    char: 73
+432.    char: 74
+433.    char: 75
+434.    char: 76
+435.    char: 77
+436.    char: 78
+437.    char: 79
+438.    char: 80
+439.    char: 81
+440.    char: 82
+441.    char: 83
+442.    char: 84
+443.    char: 85
+444.    char: 86
+445.    char: 87
+446.    char: 88
+447.    char: 89
+448.    char: 90
+449.    char: 91
+450.    char: 92
+451.    char: 93
+452.    char: 94
+453.    char: 95
+454.    char: 96
+455.    char: 97
+456.    char: 98
+457.    char: 99
+458.    char: 100
+459.    char: 101
+460.    char: 102
+461.    char: 103
+462.    char: 104
+463.    char: 105
+464.    char: 106
+465.    char: 107
+466.    char: 108
+467.    char: 109
+468.    char: 110
+469.    char: 111
+470.    char: 112
+471.    char: 113
+472.    char: 114
+473.    -------- test address arrays
+474.    null pointer check: address array store
+475.    exception: null pointer
+476.    null pointer check: address array load
+477.    exception: null pointer
+478.    negative array size check: address array
+479.    exception: negative array size
+480.    array bound check: address array store
+481.    exception: out of bounds: -1
+482.    array bound check: address array load
+483.    exception: out of bounds: -1
+484.    0. Zeile
+485.    1. Zeile
+486.    2. Zeile
+487.    3. Zeile
+488.    4. Zeile
+489.    -------- test multi dimensional arrays
+490.    negative array size check: multi dimensional array
+491.    exception: negative array size
+492.    int: 0
+493.    long: 7
+494.    float: 1053609165
+495.    double: -4591560543633932288
+496.    int: 1
+497.    long: 8
+498.    float: 1068708659
+499.    double: -4591701281122287616
+500.    int: 2
+501.    long: 9
+502.    float: 1075419546
+503.    double: -4591842018610642944
+504.    int: 3
+505.    long: 10
+506.    float: 1079613850
+507.    double: -4591982756098998272
+508.    int: 1
+509.    long: 8
+510.    float: 1068708659
+511.    double: -4591701281122287616
+512.    int: 2
+513.    long: 9
+514.    float: 1075419546
+515.    double: -4591842018610642944
+516.    int: 3
+517.    long: 10
+518.    float: 1079613850
+519.    double: -4591982756098998272
+520.    int: 4
+521.    long: 11
+522.    float: 1082969293
+523.    double: -4592123493587353600
+524.    int: 4
+525.    long: 11
+526.    float: 1082969293
+527.    double: -4592123493587353600
+528.    int: 5
+529.    long: 12
+530.    float: 1085066445
+531.    double: -4592264231075708928
+532.    int: 6
+533.    long: 13
+534.    float: 1087163597
+535.    double: -4592404968564064256
+536.    int: 7
+537.    long: 14
+538.    float: 1089260749
+539.    double: -4592545706052419584
+540.    int: 1
+541.    long: 8
+542.    float: 1068708659
+543.    double: -4591701281122287616
+544.    int: 2
+545.    long: 9
+546.    float: 1075419546
+547.    double: -4591842018610642944
+548.    int: 3
+549.    long: 10
+550.    float: 1079613850
+551.    double: -4591982756098998272
+552.    int: 4
+553.    long: 11
+554.    float: 1082969293
+555.    double: -4592123493587353600
+556.    int: 2
+557.    long: 9
+558.    float: 1075419546
+559.    double: -4591842018610642944
+560.    int: 3
+561.    long: 10
+562.    float: 1079613850
+563.    double: -4591982756098998272
+564.    int: 4
+565.    long: 11
+566.    float: 1082969293
+567.    double: -4592123493587353600
+568.    int: 5
+569.    long: 12
+570.    float: 1085066445
+571.    double: -4592264231075708928
+572.    int: 5
+573.    long: 12
+574.    float: 1085066445
+575.    double: -4592264231075708928
+576.    int: 6
+577.    long: 13
+578.    float: 1087163597
+579.    double: -4592404968564064256
+580.    int: 7
+581.    long: 14
+582.    float: 1089260749
+583.    double: -4592545706052419584
+584.    int: 8
+585.    long: 15
+586.    float: 1090938470
+587.    double: -4592686443540774912
+588.    ------------------- test consts
+589.    TESTCONST CALLED WITH int: 1
+590.                      AND long: 1
+591.    not IF_ICMPEQint: 0
+592.    not IF_ICMPLTint: 0
+593.    not IF_ICMPLEint: 0
+594.    not IF_LCMPEQint: 0
+595.    not IF_LCMPLTint: 0
+596.    not IF_LCMPLEint: 0
+597.    IADDCONST:  int: 0
+598.    ISUBCONST:  int: 2
+599.    IMULCONST:  int: -1
+600.    ISHLCONST:  int: -2147483648
+601.    ISHRCONST:  int: 0
+602.    IUSHRCONST: int: 0
+603.    IANDCONST:  int: 1
+604.    IORCONST:   int: -1
+605.    IXORCONST:  int: -2
+606.    not IF_ICMPEQint: -1
+607.    not IF_ICMPLTint: -1
+608.    not IF_ICMPLEint: -1
+609.    LADDCONST:  long: 0
+610.    LSUBCONST:  long: 2
+611.    LMULCONST:  long: -1
+612.    LSHLCONST:  long: -9223372036854775808
+613.    LSHRCONST:  long: 0
+614.    LUSHRCONST: long: 0
+615.    LANDCONST:  long: 1
+616.    LORCONST:   long: -1
+617.    LXORCONST:  long: -2
+618.    not IF_LCMPEQint: -1
+619.    not IF_LCMPLTint: -1
+620.    not IF_LCMPLEint: -1
+621.    IADDCONST:  int: 2
+622.    ISUBCONST:  int: 0
+623.    IMULCONST:  int: 1
+624.    ISHLCONST:  int: 2
+625.    ISHRCONST:  int: 0
+626.    IUSHRCONST: int: 0
+627.    IANDCONST:  int: 1
+628.    IORCONST:   int: 1
+629.    IXORCONST:  int: 0
+630.    not IF_ICMPNEint: 1
+631.    not IF_ICMPLTint: 1
+632.    not IF_ICMPGTint: 1
+633.    LADDCONST:  long: 2
+634.    LSUBCONST:  long: 0
+635.    LMULCONST:  long: 1
+636.    LSHLCONST:  long: 2
+637.    LSHRCONST:  long: 0
+638.    LUSHRCONST: long: 0
+639.    LANDCONST:  long: 1
+640.    LORCONST:   long: 1
+641.    LXORCONST:  long: 0
+642.    not IF_LCMPNEint: 1
+643.    not IF_LCMPLTint: 1
+644.    not IF_LCMPGTint: 1
+645.    IADDCONST:  int: 256
+646.    ISUBCONST:  int: -254
+647.    IMULCONST:  int: 255
+648.    ISHLCONST:  int: -2147483648
+649.    ISHRCONST:  int: 0
+650.    IUSHRCONST: int: 0
+651.    IANDCONST:  int: 1
+652.    IORCONST:   int: 255
+653.    IXORCONST:  int: 254
+654.    not IF_ICMPEQint: 255
+655.    not IF_ICMPGTint: 255
+656.    not IF_ICMPGEint: 255
+657.    LADDCONST:  long: 256
+658.    LSUBCONST:  long: -254
+659.    LMULCONST:  long: 255
+660.    LSHLCONST:  long: -9223372036854775808
+661.    LSHRCONST:  long: 0
+662.    LUSHRCONST: long: 0
+663.    LANDCONST:  long: 1
+664.    LORCONST:   long: 255
+665.    LXORCONST:  long: 254
+666.    not IF_LCMPEQint: 255
+667.    not IF_LCMPGTint: 255
+668.    not IF_LCMPGEint: 255
+669.    IADDCONST:  int: 257
+670.    ISUBCONST:  int: -255
+671.    IMULCONST:  int: 256
+672.    ISHLCONST:  int: 1
+673.    ISHRCONST:  int: 1
+674.    IUSHRCONST: int: 1
+675.    IANDCONST:  int: 0
+676.    IORCONST:   int: 257
+677.    IXORCONST:  int: 257
+678.    not IF_ICMPEQint: 256
+679.    not IF_ICMPGTint: 256
+680.    not IF_ICMPGEint: 256
+681.    LADDCONST:  long: 257
+682.    LSUBCONST:  long: -255
+683.    LMULCONST:  long: 256
+684.    LSHLCONST:  long: 1
+685.    LSHRCONST:  long: 1
+686.    LUSHRCONST: long: 1
+687.    LANDCONST:  long: 0
+688.    LORCONST:   long: 257
+689.    LXORCONST:  long: 257
+690.    not IF_LCMPEQint: 256
+691.    not IF_LCMPGTint: 256
+692.    not IF_LCMPGEint: 256
+693.    IADDCONST:  int: 32768
+694.    ISUBCONST:  int: -32766
+695.    IMULCONST:  int: 32767
+696.    ISHLCONST:  int: -2147483648
+697.    ISHRCONST:  int: 0
+698.    IUSHRCONST: int: 0
+699.    IANDCONST:  int: 1
+700.    IORCONST:   int: 32767
+701.    IXORCONST:  int: 32766
+702.    not IF_ICMPEQint: 32767
+703.    not IF_ICMPGTint: 32767
+704.    not IF_ICMPGEint: 32767
+705.    LADDCONST:  long: 32768
+706.    LSUBCONST:  long: -32766
+707.    LMULCONST:  long: 32767
+708.    LSHLCONST:  long: -9223372036854775808
+709.    LSHRCONST:  long: 0
+710.    LUSHRCONST: long: 0
+711.    LANDCONST:  long: 1
+712.    LORCONST:   long: 32767
+713.    LXORCONST:  long: 32766
+714.    not IF_LCMPEQint: 32767
+715.    not IF_LCMPGTint: 32767
+716.    not IF_LCMPGEint: 32767
+717.    IADDCONST:  int: 32769
+718.    ISUBCONST:  int: -32767
+719.    IMULCONST:  int: 32768
+720.    ISHLCONST:  int: 1
+721.    ISHRCONST:  int: 1
+722.    IUSHRCONST: int: 1
+723.    IANDCONST:  int: 0
+724.    IORCONST:   int: 32769
+725.    IXORCONST:  int: 32769
+726.    not IF_ICMPEQint: 32768
+727.    not IF_ICMPGTint: 32768
+728.    not IF_ICMPGEint: 32768
+729.    LADDCONST:  long: 32769
+730.    LSUBCONST:  long: -32767
+731.    LMULCONST:  long: 32768
+732.    LSHLCONST:  long: 1
+733.    LSHRCONST:  long: 1
+734.    LUSHRCONST: long: 1
+735.    LANDCONST:  long: 0
+736.    LORCONST:   long: 32769
+737.    LXORCONST:  long: 32769
+738.    not IF_LCMPEQint: 32768
+739.    not IF_LCMPGTint: 32768
+740.    not IF_LCMPGEint: 32768
+741.    IADDCONST:  int: -32767
+742.    ISUBCONST:  int: 32769
+743.    IMULCONST:  int: -32768
+744.    ISHLCONST:  int: 1
+745.    ISHRCONST:  int: 1
+746.    IUSHRCONST: int: 1
+747.    IANDCONST:  int: 0
+748.    IORCONST:   int: -32767
+749.    IXORCONST:  int: -32767
+750.    not IF_ICMPEQint: -32768
+751.    not IF_ICMPLTint: -32768
+752.    not IF_ICMPLEint: -32768
+753.    LADDCONST:  long: -32767
+754.    LSUBCONST:  long: 32769
+755.    LMULCONST:  long: -32768
+756.    LSHLCONST:  long: 1
+757.    LSHRCONST:  long: 1
+758.    LUSHRCONST: long: 1
+759.    LANDCONST:  long: 0
+760.    LORCONST:   long: -32767
+761.    LXORCONST:  long: -32767
+762.    not IF_LCMPEQint: -32768
+763.    not IF_LCMPLTint: -32768
+764.    not IF_LCMPLEint: -32768
+765.    IADDCONST:  int: -32768
+766.    ISUBCONST:  int: 32770
+767.    IMULCONST:  int: -32769
+768.    ISHLCONST:  int: -2147483648
+769.    ISHRCONST:  int: 0
+770.    IUSHRCONST: int: 0
+771.    IANDCONST:  int: 1
+772.    IORCONST:   int: -32769
+773.    IXORCONST:  int: -32770
+774.    not IF_ICMPEQint: -32769
+775.    not IF_ICMPLTint: -32769
+776.    not IF_ICMPLEint: -32769
+777.    LADDCONST:  long: -32768
+778.    LSUBCONST:  long: 32770
+779.    LMULCONST:  long: -32769
+780.    LSHLCONST:  long: -9223372036854775808
+781.    LSHRCONST:  long: 0
+782.    LUSHRCONST: long: 0
+783.    LANDCONST:  long: 1
+784.    LORCONST:   long: -32769
+785.    LXORCONST:  long: -32770
+786.    not IF_LCMPEQint: -32769
+787.    not IF_LCMPLTint: -32769
+788.    not IF_LCMPLEint: -32769
+789.    TESTCONST CALLED WITH int: -1
+790.                      AND long: -1
+791.    not IF_ICMPEQint: 0
+792.    not IF_ICMPGTint: 0
+793.    not IF_ICMPGEint: 0
+794.    not IF_LCMPEQint: 0
+795.    not IF_LCMPGTint: 0
+796.    not IF_LCMPGEint: 0
+797.    IADDCONST:  int: -2
+798.    ISUBCONST:  int: 0
+799.    IMULCONST:  int: 1
+800.    ISHLCONST:  int: -2147483648
+801.    ISHRCONST:  int: -1
+802.    IUSHRCONST: int: 1
+803.    IANDCONST:  int: -1
+804.    IORCONST:   int: -1
+805.    IXORCONST:  int: 0
+806.    not IF_ICMPNEint: -1
+807.    not IF_ICMPLTint: -1
+808.    not IF_ICMPGTint: -1
+809.    LADDCONST:  long: -2
+810.    LSUBCONST:  long: 0
+811.    LMULCONST:  long: 1
+812.    LSHLCONST:  long: -9223372036854775808
+813.    LSHRCONST:  long: -1
+814.    LUSHRCONST: long: 1
+815.    LANDCONST:  long: -1
+816.    LORCONST:   long: -1
+817.    LXORCONST:  long: 0
+818.    not IF_LCMPNEint: -1
+819.    not IF_LCMPLTint: -1
+820.    not IF_LCMPGTint: -1
+821.    IADDCONST:  int: 0
+822.    ISUBCONST:  int: -2
+823.    IMULCONST:  int: -1
+824.    ISHLCONST:  int: -2
+825.    ISHRCONST:  int: -1
+826.    IUSHRCONST: int: 2147483647
+827.    IANDCONST:  int: 1
+828.    IORCONST:   int: -1
+829.    IXORCONST:  int: -2
+830.    not IF_ICMPEQint: 1
+831.    not IF_ICMPGTint: 1
+832.    not IF_ICMPGEint: 1
+833.    LADDCONST:  long: 0
+834.    LSUBCONST:  long: -2
+835.    LMULCONST:  long: -1
+836.    LSHLCONST:  long: -2
+837.    LSHRCONST:  long: -1
+838.    LUSHRCONST: long: 9223372036854775807
+839.    LANDCONST:  long: 1
+840.    LORCONST:   long: -1
+841.    LXORCONST:  long: -2
+842.    not IF_LCMPEQint: 1
+843.    not IF_LCMPGTint: 1
+844.    not IF_LCMPGEint: 1
+845.    IADDCONST:  int: 254
+846.    ISUBCONST:  int: -256
+847.    IMULCONST:  int: -255
+848.    ISHLCONST:  int: -2147483648
+849.    ISHRCONST:  int: -1
+850.    IUSHRCONST: int: 1
+851.    IANDCONST:  int: 255
+852.    IORCONST:   int: -1
+853.    IXORCONST:  int: -256
+854.    not IF_ICMPEQint: 255
+855.    not IF_ICMPGTint: 255
+856.    not IF_ICMPGEint: 255
+857.    LADDCONST:  long: 254
+858.    LSUBCONST:  long: -256
+859.    LMULCONST:  long: -255
+860.    LSHLCONST:  long: -9223372036854775808
+861.    LSHRCONST:  long: -1
+862.    LUSHRCONST: long: 1
+863.    LANDCONST:  long: 255
+864.    LORCONST:   long: -1
+865.    LXORCONST:  long: -256
+866.    not IF_LCMPEQint: 255
+867.    not IF_LCMPGTint: 255
+868.    not IF_LCMPGEint: 255
+869.    IADDCONST:  int: 255
+870.    ISUBCONST:  int: -257
+871.    IMULCONST:  int: -256
+872.    ISHLCONST:  int: -1
+873.    ISHRCONST:  int: -1
+874.    IUSHRCONST: int: -1
+875.    IANDCONST:  int: 256
+876.    IORCONST:   int: -1
+877.    IXORCONST:  int: -257
+878.    not IF_ICMPEQint: 256
+879.    not IF_ICMPGTint: 256
+880.    not IF_ICMPGEint: 256
+881.    LADDCONST:  long: 255
+882.    LSUBCONST:  long: -257
+883.    LMULCONST:  long: -256
+884.    LSHLCONST:  long: -1
+885.    LSHRCONST:  long: -1
+886.    LUSHRCONST: long: -1
+887.    LANDCONST:  long: 256
+888.    LORCONST:   long: -1
+889.    LXORCONST:  long: -257
+890.    not IF_LCMPEQint: 256
+891.    not IF_LCMPGTint: 256
+892.    not IF_LCMPGEint: 256
+893.    IADDCONST:  int: 32766
+894.    ISUBCONST:  int: -32768
+895.    IMULCONST:  int: -32767
+896.    ISHLCONST:  int: -2147483648
+897.    ISHRCONST:  int: -1
+898.    IUSHRCONST: int: 1
+899.    IANDCONST:  int: 32767
+900.    IORCONST:   int: -1
+901.    IXORCONST:  int: -32768
+902.    not IF_ICMPEQint: 32767
+903.    not IF_ICMPGTint: 32767
+904.    not IF_ICMPGEint: 32767
+905.    LADDCONST:  long: 32766
+906.    LSUBCONST:  long: -32768
+907.    LMULCONST:  long: -32767
+908.    LSHLCONST:  long: -9223372036854775808
+909.    LSHRCONST:  long: -1
+910.    LUSHRCONST: long: 1
+911.    LANDCONST:  long: 32767
+912.    LORCONST:   long: -1
+913.    LXORCONST:  long: -32768
+914.    not IF_LCMPEQint: 32767
+915.    not IF_LCMPGTint: 32767
+916.    not IF_LCMPGEint: 32767
+917.    IADDCONST:  int: 32767
+918.    ISUBCONST:  int: -32769
+919.    IMULCONST:  int: -32768
+920.    ISHLCONST:  int: -1
+921.    ISHRCONST:  int: -1
+922.    IUSHRCONST: int: -1
+923.    IANDCONST:  int: 32768
+924.    IORCONST:   int: -1
+925.    IXORCONST:  int: -32769
+926.    not IF_ICMPEQint: 32768
+927.    not IF_ICMPGTint: 32768
+928.    not IF_ICMPGEint: 32768
+929.    LADDCONST:  long: 32767
+930.    LSUBCONST:  long: -32769
+931.    LMULCONST:  long: -32768
+932.    LSHLCONST:  long: -1
+933.    LSHRCONST:  long: -1
+934.    LUSHRCONST: long: -1
+935.    LANDCONST:  long: 32768
+936.    LORCONST:   long: -1
+937.    LXORCONST:  long: -32769
+938.    not IF_LCMPEQint: 32768
+939.    not IF_LCMPGTint: 32768
+940.    not IF_LCMPGEint: 32768
+941.    IADDCONST:  int: -32769
+942.    ISUBCONST:  int: 32767
+943.    IMULCONST:  int: 32768
+944.    ISHLCONST:  int: -1
+945.    ISHRCONST:  int: -1
+946.    IUSHRCONST: int: -1
+947.    IANDCONST:  int: -32768
+948.    IORCONST:   int: -1
+949.    IXORCONST:  int: 32767
+950.    not IF_ICMPEQint: -32768
+951.    not IF_ICMPLTint: -32768
+952.    not IF_ICMPLEint: -32768
+953.    LADDCONST:  long: -32769
+954.    LSUBCONST:  long: 32767
+955.    LMULCONST:  long: 32768
+956.    LSHLCONST:  long: -1
+957.    LSHRCONST:  long: -1
+958.    LUSHRCONST: long: -1
+959.    LANDCONST:  long: -32768
+960.    LORCONST:   long: -1
+961.    LXORCONST:  long: 32767
+962.    not IF_LCMPEQint: -32768
+963.    not IF_LCMPLTint: -32768
+964.    not IF_LCMPLEint: -32768
+965.    IADDCONST:  int: -32770
+966.    ISUBCONST:  int: 32768
+967.    IMULCONST:  int: 32769
+968.    ISHLCONST:  int: -2147483648
+969.    ISHRCONST:  int: -1
+970.    IUSHRCONST: int: 1
+971.    IANDCONST:  int: -32769
+972.    IORCONST:   int: -1
+973.    IXORCONST:  int: 32768
+974.    not IF_ICMPEQint: -32769
+975.    not IF_ICMPLTint: -32769
+976.    not IF_ICMPLEint: -32769
+977.    LADDCONST:  long: -32770
+978.    LSUBCONST:  long: 32768
+979.    LMULCONST:  long: 32769
+980.    LSHLCONST:  long: -9223372036854775808
+981.    LSHRCONST:  long: -1
+982.    LUSHRCONST: long: 1
+983.    LANDCONST:  long: -32769
+984.    LORCONST:   long: -1
+985.    LXORCONST:  long: 32768
+986.    not IF_LCMPEQint: -32769
+987.    not IF_LCMPLTint: -32769
+988.    not IF_LCMPLEint: -32769
+989.    TESTCONST CALLED WITH int: -24123
+990.                      AND long: -4918923241323
+991.    not IF_ICMPEQint: 0
+992.    not IF_ICMPGTint: 0
+993.    not IF_ICMPGEint: 0
+994.    not IF_LCMPEQint: 0
+995.    not IF_LCMPGTint: 0
+996.    not IF_LCMPGEint: 0
+997.    IADDCONST:  int: -24124
+998.    ISUBCONST:  int: -24122
+999.    IMULCONST:  int: 24123
+1000.    ISHLCONST:  int: -2147483648
+1001.    ISHRCONST:  int: -1
+1002.    IUSHRCONST: int: 1
+1003.    IANDCONST:  int: -24123
+1004.    IORCONST:   int: -1
+1005.    IXORCONST:  int: 24122
+1006.    not IF_ICMPEQint: -1
+1007.    not IF_ICMPGTint: -1
+1008.    not IF_ICMPGEint: -1
+1009.    LADDCONST:  long: -4918923241324
+1010.    LSUBCONST:  long: -4918923241322
+1011.    LMULCONST:  long: 4918923241323
+1012.    LSHLCONST:  long: -9223372036854775808
+1013.    LSHRCONST:  long: -1
+1014.    LUSHRCONST: long: 1
+1015.    LANDCONST:  long: -4918923241323
+1016.    LORCONST:   long: -1
+1017.    LXORCONST:  long: 4918923241322
+1018.    not IF_LCMPEQint: -1
+1019.    not IF_LCMPGTint: -1
+1020.    not IF_LCMPGEint: -1
+1021.    IADDCONST:  int: -24122
+1022.    ISUBCONST:  int: -24124
+1023.    IMULCONST:  int: -24123
+1024.    ISHLCONST:  int: -48246
+1025.    ISHRCONST:  int: -12062
+1026.    IUSHRCONST: int: 2147471586
+1027.    IANDCONST:  int: 1
+1028.    IORCONST:   int: -24123
+1029.    IXORCONST:  int: -24124
+1030.    not IF_ICMPEQint: 1
+1031.    not IF_ICMPGTint: 1
+1032.    not IF_ICMPGEint: 1
+1033.    LADDCONST:  long: -4918923241322
+1034.    LSUBCONST:  long: -4918923241324
+1035.    LMULCONST:  long: -4918923241323
+1036.    LSHLCONST:  long: -9837846482646
+1037.    LSHRCONST:  long: -2459461620662
+1038.    LUSHRCONST: long: 9223369577393155146
+1039.    LANDCONST:  long: 1
+1040.    LORCONST:   long: -4918923241323
+1041.    LXORCONST:  long: -4918923241324
+1042.    not IF_LCMPEQint: 1
+1043.    not IF_LCMPGTint: 1
+1044.    not IF_LCMPGEint: 1
+1045.    IADDCONST:  int: -23868
+1046.    ISUBCONST:  int: -24378
+1047.    IMULCONST:  int: -6151365
+1048.    ISHLCONST:  int: -2147483648
+1049.    ISHRCONST:  int: -1
+1050.    IUSHRCONST: int: 1
+1051.    IANDCONST:  int: 197
+1052.    IORCONST:   int: -24065
+1053.    IXORCONST:  int: -24262
+1054.    not IF_ICMPEQint: 255
+1055.    not IF_ICMPGTint: 255
+1056.    not IF_ICMPGEint: 255
+1057.    LADDCONST:  long: -4918923241068
+1058.    LSUBCONST:  long: -4918923241578
+1059.    LMULCONST:  long: -1254325426537365
+1060.    LSHLCONST:  long: -9223372036854775808
+1061.    LSHRCONST:  long: -1
+1062.    LUSHRCONST: long: 1
+1063.    LANDCONST:  long: 149
+1064.    LORCONST:   long: -4918923241217
+1065.    LXORCONST:  long: -4918923241366
+1066.    not IF_LCMPEQint: 255
+1067.    not IF_LCMPGTint: 255
+1068.    not IF_LCMPGEint: 255
+1069.    IADDCONST:  int: -23867
+1070.    ISUBCONST:  int: -24379
+1071.    IMULCONST:  int: -6175488
+1072.    ISHLCONST:  int: -24123
+1073.    ISHRCONST:  int: -24123
+1074.    IUSHRCONST: int: -24123
+1075.    IANDCONST:  int: 256
+1076.    IORCONST:   int: -24123
+1077.    IXORCONST:  int: -24379
+1078.    not IF_ICMPEQint: 256
+1079.    not IF_ICMPGTint: 256
+1080.    not IF_ICMPGEint: 256
+1081.    LADDCONST:  long: -4918923241067
+1082.    LSUBCONST:  long: -4918923241579
+1083.    LMULCONST:  long: -1259244349778688
+1084.    LSHLCONST:  long: -4918923241323
+1085.    LSHRCONST:  long: -4918923241323
+1086.    LUSHRCONST: long: -4918923241323
+1087.    LANDCONST:  long: 0
+1088.    LORCONST:   long: -4918923241067
+1089.    LXORCONST:  long: -4918923241067
+1090.    not IF_LCMPEQint: 256
+1091.    not IF_LCMPGTint: 256
+1092.    not IF_LCMPGEint: 256
+1093.    IADDCONST:  int: 8644
+1094.    ISUBCONST:  int: -56890
+1095.    IMULCONST:  int: -790438341
+1096.    ISHLCONST:  int: -2147483648
+1097.    ISHRCONST:  int: -1
+1098.    IUSHRCONST: int: 1
+1099.    IANDCONST:  int: 8645
+1100.    IORCONST:   int: -1
+1101.    IXORCONST:  int: -8646
+1102.    not IF_ICMPEQint: 32767
+1103.    not IF_ICMPGTint: 32767
+1104.    not IF_ICMPGEint: 32767
+1105.    LADDCONST:  long: -4918923208556
+1106.    LSUBCONST:  long: -4918923274090
+1107.    LMULCONST:  long: -161178357848430741
+1108.    LSHLCONST:  long: -9223372036854775808
+1109.    LSHRCONST:  long: -1
+1110.    LUSHRCONST: long: 1
+1111.    LANDCONST:  long: 22677
+1112.    LORCONST:   long: -4918923231233
+1113.    LXORCONST:  long: -4918923253910
+1114.    not IF_LCMPEQint: 32767
+1115.    not IF_LCMPGTint: 32767
+1116.    not IF_LCMPGEint: 32767
+1117.    IADDCONST:  int: 8645
+1118.    ISUBCONST:  int: -56891
+1119.    IMULCONST:  int: -790462464
+1120.    ISHLCONST:  int: -24123
+1121.    ISHRCONST:  int: -24123
+1122.    IUSHRCONST: int: -24123
+1123.    IANDCONST:  int: 32768
+1124.    IORCONST:   int: -24123
+1125.    IXORCONST:  int: -56891
+1126.    not IF_ICMPEQint: 32768
+1127.    not IF_ICMPGTint: 32768
+1128.    not IF_ICMPGEint: 32768
+1129.    LADDCONST:  long: -4918923208555
+1130.    LSUBCONST:  long: -4918923274091
+1131.    LMULCONST:  long: -161183276771672064
+1132.    LSHLCONST:  long: -4918923241323
+1133.    LSHRCONST:  long: -4918923241323
+1134.    LUSHRCONST: long: -4918923241323
+1135.    LANDCONST:  long: 32768
+1136.    LORCONST:   long: -4918923241323
+1137.    LXORCONST:  long: -4918923274091
+1138.    not IF_LCMPEQint: 32768
+1139.    not IF_LCMPGTint: 32768
+1140.    not IF_LCMPGEint: 32768
+1141.    IADDCONST:  int: -56891
+1142.    ISUBCONST:  int: 8645
+1143.    IMULCONST:  int: 790462464
+1144.    ISHLCONST:  int: -24123
+1145.    ISHRCONST:  int: -24123
+1146.    IUSHRCONST: int: -24123
+1147.    IANDCONST:  int: -32768
+1148.    IORCONST:   int: -24123
+1149.    IXORCONST:  int: 8645
+1150.    not IF_ICMPEQint: -32768
+1151.    not IF_ICMPLTint: -32768
+1152.    not IF_ICMPLEint: -32768
+1153.    LADDCONST:  long: -4918923274091
+1154.    LSUBCONST:  long: -4918923208555
+1155.    LMULCONST:  long: 161183276771672064
+1156.    LSHLCONST:  long: -4918923241323
+1157.    LSHRCONST:  long: -4918923241323
+1158.    LUSHRCONST: long: -4918923241323
+1159.    LANDCONST:  long: -4918923264000
+1160.    LORCONST:   long: -10091
+1161.    LXORCONST:  long: 4918923253909
+1162.    not IF_LCMPEQint: -32768
+1163.    not IF_LCMPGTint: -32768
+1164.    not IF_LCMPGEint: -32768
+1165.    IADDCONST:  int: -56892
+1166.    ISUBCONST:  int: 8646
+1167.    IMULCONST:  int: 790486587
+1168.    ISHLCONST:  int: -2147483648
+1169.    ISHRCONST:  int: -1
+1170.    IUSHRCONST: int: 1
+1171.    IANDCONST:  int: -56891
+1172.    IORCONST:   int: -1
+1173.    IXORCONST:  int: 56890
+1174.    not IF_ICMPEQint: -32769
+1175.    not IF_ICMPLTint: -32769
+1176.    not IF_ICMPLEint: -32769
+1177.    LADDCONST:  long: -4918923274092
+1178.    LSUBCONST:  long: -4918923208554
+1179.    LMULCONST:  long: 161188195694913387
+1180.    LSHLCONST:  long: -9223372036854775808
+1181.    LSHRCONST:  long: -1
+1182.    LUSHRCONST: long: 1
+1183.    LANDCONST:  long: -4918923274091
+1184.    LORCONST:   long: -1
+1185.    LXORCONST:  long: 4918923274090
+1186.    not IF_LCMPEQint: -32769
+1187.    not IF_LCMPGTint: -32769
+1188.    not IF_LCMPGEint: -32769
+1189.    TESTCONST CALLED WITH int: -243511
+1190.                      AND long: -4423423234231423
+1191.    not IF_ICMPEQint: 0
+1192.    not IF_ICMPGTint: 0
+1193.    not IF_ICMPGEint: 0
+1194.    not IF_LCMPEQint: 0
+1195.    not IF_LCMPGTint: 0
+1196.    not IF_LCMPGEint: 0
+1197.    IADDCONST:  int: -243512
+1198.    ISUBCONST:  int: -243510
+1199.    IMULCONST:  int: 243511
+1200.    ISHLCONST:  int: -2147483648
+1201.    ISHRCONST:  int: -1
+1202.    IUSHRCONST: int: 1
+1203.    IANDCONST:  int: -243511
+1204.    IORCONST:   int: -1
+1205.    IXORCONST:  int: 243510
+1206.    not IF_ICMPEQint: -1
+1207.    not IF_ICMPGTint: -1
+1208.    not IF_ICMPGEint: -1
+1209.    LADDCONST:  long: -4423423234231424
+1210.    LSUBCONST:  long: -4423423234231422
+1211.    LMULCONST:  long: 4423423234231423
+1212.    LSHLCONST:  long: -9223372036854775808
+1213.    LSHRCONST:  long: -1
+1214.    LUSHRCONST: long: 1
+1215.    LANDCONST:  long: -4423423234231423
+1216.    LORCONST:   long: -1
+1217.    LXORCONST:  long: 4423423234231422
+1218.    not IF_LCMPEQint: -1
+1219.    not IF_LCMPGTint: -1
+1220.    not IF_LCMPGEint: -1
+1221.    IADDCONST:  int: -243510
+1222.    ISUBCONST:  int: -243512
+1223.    IMULCONST:  int: -243511
+1224.    ISHLCONST:  int: -487022
+1225.    ISHRCONST:  int: -121756
+1226.    IUSHRCONST: int: 2147361892
+1227.    IANDCONST:  int: 1
+1228.    IORCONST:   int: -243511
+1229.    IXORCONST:  int: -243512
+1230.    not IF_ICMPEQint: 1
+1231.    not IF_ICMPGTint: 1
+1232.    not IF_ICMPGEint: 1
+1233.    LADDCONST:  long: -4423423234231422
+1234.    LSUBCONST:  long: -4423423234231424
+1235.    LMULCONST:  long: -4423423234231423
+1236.    LSHLCONST:  long: -8846846468462846
+1237.    LSHRCONST:  long: -2211711617115712
+1238.    LUSHRCONST: long: 9221160325237660096
+1239.    LANDCONST:  long: 1
+1240.    LORCONST:   long: -4423423234231423
+1241.    LXORCONST:  long: -4423423234231424
+1242.    not IF_LCMPEQint: 1
+1243.    not IF_LCMPGTint: 1
+1244.    not IF_LCMPGEint: 1
+1245.    IADDCONST:  int: -243256
+1246.    ISUBCONST:  int: -243766
+1247.    IMULCONST:  int: -62095305
+1248.    ISHLCONST:  int: -2147483648
+1249.    ISHRCONST:  int: -1
+1250.    IUSHRCONST: int: 1
+1251.    IANDCONST:  int: 201
+1252.    IORCONST:   int: -243457
+1253.    IXORCONST:  int: -243658
+1254.    not IF_ICMPEQint: 255
+1255.    not IF_ICMPGTint: 255
+1256.    not IF_ICMPGEint: 255
+1257.    LADDCONST:  long: -4423423234231168
+1258.    LSUBCONST:  long: -4423423234231678
+1259.    LMULCONST:  long: -1127972924729012865
+1260.    LSHLCONST:  long: -9223372036854775808
+1261.    LSHRCONST:  long: -1
+1262.    LUSHRCONST: long: 1
+1263.    LANDCONST:  long: 129
+1264.    LORCONST:   long: -4423423234231297
+1265.    LXORCONST:  long: -4423423234231426
+1266.    not IF_LCMPEQint: 255
+1267.    not IF_LCMPGTint: 255
+1268.    not IF_LCMPGEint: 255
+1269.    IADDCONST:  int: -243255
+1270.    ISUBCONST:  int: -243767
+1271.    IMULCONST:  int: -62338816
+1272.    ISHLCONST:  int: -243511
+1273.    ISHRCONST:  int: -243511
+1274.    IUSHRCONST: int: -243511
+1275.    IANDCONST:  int: 0
+1276.    IORCONST:   int: -243255
+1277.    IXORCONST:  int: -243255
+1278.    not IF_ICMPEQint: 256
+1279.    not IF_ICMPGTint: 256
+1280.    not IF_ICMPGEint: 256
+1281.    LADDCONST:  long: -4423423234231167
+1282.    LSUBCONST:  long: -4423423234231679
+1283.    LMULCONST:  long: -1132396347963244288
+1284.    LSHLCONST:  long: -4423423234231423
+1285.    LSHRCONST:  long: -4423423234231423
+1286.    LUSHRCONST: long: -4423423234231423
+1287.    LANDCONST:  long: 256
+1288.    LORCONST:   long: -4423423234231423
+1289.    LXORCONST:  long: -4423423234231679
+1290.    not IF_LCMPEQint: 256
+1291.    not IF_LCMPGTint: 256
+1292.    not IF_LCMPGEint: 256
+1293.    IADDCONST:  int: -210744
+1294.    ISUBCONST:  int: -276278
+1295.    IMULCONST:  int: 610809655
+1296.    ISHLCONST:  int: -2147483648
+1297.    ISHRCONST:  int: -1
+1298.    IUSHRCONST: int: 1
+1299.    IANDCONST:  int: 18633
+1300.    IORCONST:   int: -229377
+1301.    IXORCONST:  int: -248010
+1302.    not IF_ICMPEQint: 32767
+1303.    not IF_ICMPGTint: 32767
+1304.    not IF_ICMPGEint: 32767
+1305.    LADDCONST:  long: -4423423234198656
+1306.    LSUBCONST:  long: -4423423234264190
+1307.    LMULCONST:  long: 2631643473615375487
+1308.    LSHLCONST:  long: -9223372036854775808
+1309.    LSHRCONST:  long: -1
+1310.    LUSHRCONST: long: 1
+1311.    LANDCONST:  long: 13185
+1312.    LORCONST:   long: -4423423234211841
+1313.    LXORCONST:  long: -4423423234225026
+1314.    not IF_LCMPEQint: 32767
+1315.    not IF_LCMPGTint: 32767
+1316.    not IF_LCMPGEint: 32767
+1317.    IADDCONST:  int: -210743
+1318.    ISUBCONST:  int: -276279
+1319.    IMULCONST:  int: 610566144
+1320.    ISHLCONST:  int: -243511
+1321.    ISHRCONST:  int: -243511
+1322.    IUSHRCONST: int: -243511
+1323.    IANDCONST:  int: 0
+1324.    IORCONST:   int: -210743
+1325.    IXORCONST:  int: -210743
+1326.    not IF_ICMPEQint: 32768
+1327.    not IF_ICMPGTint: 32768
+1328.    not IF_ICMPGEint: 32768
+1329.    LADDCONST:  long: -4423423234198655
+1330.    LSUBCONST:  long: -4423423234264191
+1331.    LMULCONST:  long: 2627220050381144064
+1332.    LSHLCONST:  long: -4423423234231423
+1333.    LSHRCONST:  long: -4423423234231423
+1334.    LUSHRCONST: long: -4423423234231423
+1335.    LANDCONST:  long: 32768
+1336.    LORCONST:   long: -4423423234231423
+1337.    LXORCONST:  long: -4423423234264191
+1338.    not IF_LCMPEQint: 32768
+1339.    not IF_LCMPGTint: 32768
+1340.    not IF_LCMPGEint: 32768
+1341.    IADDCONST:  int: -276279
+1342.    ISUBCONST:  int: -210743
+1343.    IMULCONST:  int: -610566144
+1344.    ISHLCONST:  int: -243511
+1345.    ISHRCONST:  int: -243511
+1346.    IUSHRCONST: int: -243511
+1347.    IANDCONST:  int: -262144
+1348.    IORCONST:   int: -14135
+1349.    IXORCONST:  int: 248009
+1350.    not IF_ICMPEQint: -32768
+1351.    not IF_ICMPGTint: -32768
+1352.    not IF_ICMPGEint: -32768
+1353.    LADDCONST:  long: -4423423234264191
+1354.    LSUBCONST:  long: -4423423234198655
+1355.    LMULCONST:  long: -2627220050381144064
+1356.    LSHLCONST:  long: -4423423234231423
+1357.    LSHRCONST:  long: -4423423234231423
+1358.    LUSHRCONST: long: -4423423234231423
+1359.    LANDCONST:  long: -4423423234244608
+1360.    LORCONST:   long: -19583
+1361.    LXORCONST:  long: 4423423234225025
+1362.    not IF_LCMPEQint: -32768
+1363.    not IF_LCMPGTint: -32768
+1364.    not IF_LCMPGEint: -32768
+1365.    IADDCONST:  int: -276280
+1366.    ISUBCONST:  int: -210742
+1367.    IMULCONST:  int: -610322633
+1368.    ISHLCONST:  int: -2147483648
+1369.    ISHRCONST:  int: -1
+1370.    IUSHRCONST: int: 1
+1371.    IANDCONST:  int: -243511
+1372.    IORCONST:   int: -32769
+1373.    IXORCONST:  int: 210742
+1374.    not IF_ICMPEQint: -32769
+1375.    not IF_ICMPGTint: -32769
+1376.    not IF_ICMPGEint: -32769
+1377.    LADDCONST:  long: -4423423234264192
+1378.    LSUBCONST:  long: -4423423234198654
+1379.    LMULCONST:  long: -2622796627146912641
+1380.    LSHLCONST:  long: -9223372036854775808
+1381.    LSHRCONST:  long: -1
+1382.    LUSHRCONST: long: 1
+1383.    LANDCONST:  long: -4423423234264191
+1384.    LORCONST:   long: -1
+1385.    LXORCONST:  long: 4423423234264190
+1386.    not IF_LCMPEQint: -32769
+1387.    not IF_LCMPGTint: -32769
+1388.    not IF_LCMPGEint: -32769
+1389.    TESTCONST CALLED WITH int: 2147483647
+1390.                      AND long: 9223372036854775807
+1391.    not IF_ICMPEQint: 0
+1392.    not IF_ICMPLTint: 0
+1393.    not IF_ICMPLEint: 0
+1394.    not IF_LCMPEQint: 0
+1395.    not IF_LCMPLTint: 0
+1396.    not IF_LCMPLEint: 0
+1397.    IADDCONST:  int: 2147483646
+1398.    ISUBCONST:  int: -2147483648
+1399.    IMULCONST:  int: -2147483647
+1400.    ISHLCONST:  int: -2147483648
+1401.    ISHRCONST:  int: 0
+1402.    IUSHRCONST: int: 0
+1403.    IANDCONST:  int: 2147483647
+1404.    IORCONST:   int: -1
+1405.    IXORCONST:  int: -2147483648
+1406.    not IF_ICMPEQint: -1
+1407.    not IF_ICMPLTint: -1
+1408.    not IF_ICMPLEint: -1
+1409.    LADDCONST:  long: 9223372036854775806
+1410.    LSUBCONST:  long: -9223372036854775808
+1411.    LMULCONST:  long: -9223372036854775807
+1412.    LSHLCONST:  long: -9223372036854775808
+1413.    LSHRCONST:  long: 0
+1414.    LUSHRCONST: long: 0
+1415.    LANDCONST:  long: 9223372036854775807
+1416.    LORCONST:   long: -1
+1417.    LXORCONST:  long: -9223372036854775808
+1418.    not IF_LCMPEQint: -1
+1419.    not IF_LCMPLTint: -1
+1420.    not IF_LCMPLEint: -1
+1421.    IADDCONST:  int: -2147483648
+1422.    ISUBCONST:  int: 2147483646
+1423.    IMULCONST:  int: 2147483647
+1424.    ISHLCONST:  int: -2
+1425.    ISHRCONST:  int: 1073741823
+1426.    IUSHRCONST: int: 1073741823
+1427.    IANDCONST:  int: 1
+1428.    IORCONST:   int: 2147483647
+1429.    IXORCONST:  int: 2147483646
+1430.    not IF_ICMPEQint: 1
+1431.    not IF_ICMPLTint: 1
+1432.    not IF_ICMPLEint: 1
+1433.    LADDCONST:  long: -9223372036854775808
+1434.    LSUBCONST:  long: 9223372036854775806
+1435.    LMULCONST:  long: 9223372036854775807
+1436.    LSHLCONST:  long: -2
+1437.    LSHRCONST:  long: 4611686018427387903
+1438.    LUSHRCONST: long: 4611686018427387903
+1439.    LANDCONST:  long: 1
+1440.    LORCONST:   long: 9223372036854775807
+1441.    LXORCONST:  long: 9223372036854775806
+1442.    not IF_LCMPEQint: 1
+1443.    not IF_LCMPLTint: 1
+1444.    not IF_LCMPLEint: 1
+1445.    IADDCONST:  int: -2147483394
+1446.    ISUBCONST:  int: 2147483392
+1447.    IMULCONST:  int: 2147483393
+1448.    ISHLCONST:  int: -2147483648
+1449.    ISHRCONST:  int: 0
+1450.    IUSHRCONST: int: 0
+1451.    IANDCONST:  int: 255
+1452.    IORCONST:   int: 2147483647
+1453.    IXORCONST:  int: 2147483392
+1454.    not IF_ICMPEQint: 255
+1455.    not IF_ICMPLTint: 255
+1456.    not IF_ICMPLEint: 255
+1457.    LADDCONST:  long: -9223372036854775554
+1458.    LSUBCONST:  long: 9223372036854775552
+1459.    LMULCONST:  long: 9223372036854775553
+1460.    LSHLCONST:  long: -9223372036854775808
+1461.    LSHRCONST:  long: 0
+1462.    LUSHRCONST: long: 0
+1463.    LANDCONST:  long: 255
+1464.    LORCONST:   long: 9223372036854775807
+1465.    LXORCONST:  long: 9223372036854775552
+1466.    not IF_LCMPEQint: 255
+1467.    not IF_LCMPLTint: 255
+1468.    not IF_LCMPLEint: 255
+1469.    IADDCONST:  int: -2147483393
+1470.    ISUBCONST:  int: 2147483391
+1471.    IMULCONST:  int: -256
+1472.    ISHLCONST:  int: 2147483647
+1473.    ISHRCONST:  int: 2147483647
+1474.    IUSHRCONST: int: 2147483647
+1475.    IANDCONST:  int: 256
+1476.    IORCONST:   int: 2147483647
+1477.    IXORCONST:  int: 2147483391
+1478.    not IF_ICMPEQint: 256
+1479.    not IF_ICMPLTint: 256
+1480.    not IF_ICMPLEint: 256
+1481.    LADDCONST:  long: -9223372036854775553
+1482.    LSUBCONST:  long: 9223372036854775551
+1483.    LMULCONST:  long: -256
+1484.    LSHLCONST:  long: 9223372036854775807
+1485.    LSHRCONST:  long: 9223372036854775807
+1486.    LUSHRCONST: long: 9223372036854775807
+1487.    LANDCONST:  long: 256
+1488.    LORCONST:   long: 9223372036854775807
+1489.    LXORCONST:  long: 9223372036854775551
+1490.    not IF_LCMPEQint: 256
+1491.    not IF_LCMPLTint: 256
+1492.    not IF_LCMPLEint: 256
+1493.    IADDCONST:  int: -2147450882
+1494.    ISUBCONST:  int: 2147450880
+1495.    IMULCONST:  int: 2147450881
+1496.    ISHLCONST:  int: -2147483648
+1497.    ISHRCONST:  int: 0
+1498.    IUSHRCONST: int: 0
+1499.    IANDCONST:  int: 32767
+1500.    IORCONST:   int: 2147483647
+1501.    IXORCONST:  int: 2147450880
+1502.    not IF_ICMPEQint: 32767
+1503.    not IF_ICMPLTint: 32767
+1504.    not IF_ICMPLEint: 32767
+1505.    LADDCONST:  long: -9223372036854743042
+1506.    LSUBCONST:  long: 9223372036854743040
+1507.    LMULCONST:  long: 9223372036854743041
+1508.    LSHLCONST:  long: -9223372036854775808
+1509.    LSHRCONST:  long: 0
+1510.    LUSHRCONST: long: 0
+1511.    LANDCONST:  long: 32767
+1512.    LORCONST:   long: 9223372036854775807
+1513.    LXORCONST:  long: 9223372036854743040
+1514.    not IF_LCMPEQint: 32767
+1515.    not IF_LCMPLTint: 32767
+1516.    not IF_LCMPLEint: 32767
+1517.    IADDCONST:  int: -2147450881
+1518.    ISUBCONST:  int: 2147450879
+1519.    IMULCONST:  int: -32768
+1520.    ISHLCONST:  int: 2147483647
+1521.    ISHRCONST:  int: 2147483647
+1522.    IUSHRCONST: int: 2147483647
+1523.    IANDCONST:  int: 32768
+1524.    IORCONST:   int: 2147483647
+1525.    IXORCONST:  int: 2147450879
+1526.    not IF_ICMPEQint: 32768
+1527.    not IF_ICMPLTint: 32768
+1528.    not IF_ICMPLEint: 32768
+1529.    LADDCONST:  long: -9223372036854743041
+1530.    LSUBCONST:  long: 9223372036854743039
+1531.    LMULCONST:  long: -32768
+1532.    LSHLCONST:  long: 9223372036854775807
+1533.    LSHRCONST:  long: 9223372036854775807
+1534.    LUSHRCONST: long: 9223372036854775807
+1535.    LANDCONST:  long: 32768
+1536.    LORCONST:   long: 9223372036854775807
+1537.    LXORCONST:  long: 9223372036854743039
+1538.    not IF_LCMPEQint: 32768
+1539.    not IF_LCMPLTint: 32768
+1540.    not IF_LCMPLEint: 32768
+1541.    IADDCONST:  int: 2147450879
+1542.    ISUBCONST:  int: -2147450881
+1543.    IMULCONST:  int: 32768
+1544.    ISHLCONST:  int: 2147483647
+1545.    ISHRCONST:  int: 2147483647
+1546.    IUSHRCONST: int: 2147483647
+1547.    IANDCONST:  int: 2147450880
+1548.    IORCONST:   int: -1
+1549.    IXORCONST:  int: -2147450881
+1550.    not IF_ICMPEQint: -32768
+1551.    not IF_ICMPLTint: -32768
+1552.    not IF_ICMPLEint: -32768
+1553.    LADDCONST:  long: 9223372036854743039
+1554.    LSUBCONST:  long: -9223372036854743041
+1555.    LMULCONST:  long: 32768
+1556.    LSHLCONST:  long: 9223372036854775807
+1557.    LSHRCONST:  long: 9223372036854775807
+1558.    LUSHRCONST: long: 9223372036854775807
+1559.    LANDCONST:  long: 9223372036854743040
+1560.    LORCONST:   long: -1
+1561.    LXORCONST:  long: -9223372036854743041
+1562.    not IF_LCMPEQint: -32768
+1563.    not IF_LCMPLTint: -32768
+1564.    not IF_LCMPLEint: -32768
+1565.    IADDCONST:  int: 2147450878
+1566.    ISUBCONST:  int: -2147450880
+1567.    IMULCONST:  int: -2147450879
+1568.    ISHLCONST:  int: -2147483648
+1569.    ISHRCONST:  int: 0
+1570.    IUSHRCONST: int: 0
+1571.    IANDCONST:  int: 2147450879
+1572.    IORCONST:   int: -1
+1573.    IXORCONST:  int: -2147450880
+1574.    not IF_ICMPEQint: -32769
+1575.    not IF_ICMPLTint: -32769
+1576.    not IF_ICMPLEint: -32769
+1577.    LADDCONST:  long: 9223372036854743038
+1578.    LSUBCONST:  long: -9223372036854743040
+1579.    LMULCONST:  long: -9223372036854743039
+1580.    LSHLCONST:  long: -9223372036854775808
+1581.    LSHRCONST:  long: 0
+1582.    LUSHRCONST: long: 0
+1583.    LANDCONST:  long: 9223372036854743039
+1584.    LORCONST:   long: -1
+1585.    LXORCONST:  long: -9223372036854743040
+1586.    not IF_LCMPEQint: -32769
+1587.    not IF_LCMPLTint: -32769
+1588.    not IF_LCMPLEint: -32769
+1589.    TESTCONST CALLED WITH int: -2147483648
+1590.                      AND long: -9223372036854775808
+1591.    not IF_ICMPEQint: 0
+1592.    not IF_ICMPGTint: 0
+1593.    not IF_ICMPGEint: 0
+1594.    not IF_LCMPEQint: 0
+1595.    not IF_LCMPGTint: 0
+1596.    not IF_LCMPGEint: 0
+1597.    IADDCONST:  int: 2147483647
+1598.    ISUBCONST:  int: -2147483647
+1599.    IMULCONST:  int: -2147483648
+1600.    ISHLCONST:  int: 0
+1601.    ISHRCONST:  int: -1
+1602.    IUSHRCONST: int: 1
+1603.    IANDCONST:  int: -2147483648
+1604.    IORCONST:   int: -1
+1605.    IXORCONST:  int: 2147483647
+1606.    not IF_ICMPEQint: -1
+1607.    not IF_ICMPGTint: -1
+1608.    not IF_ICMPGEint: -1
+1609.    LADDCONST:  long: 9223372036854775807
+1610.    LSUBCONST:  long: -9223372036854775807
+1611.    LMULCONST:  long: -9223372036854775808
+1612.    LSHLCONST:  long: 0
+1613.    LSHRCONST:  long: -1
+1614.    LUSHRCONST: long: 1
+1615.    LANDCONST:  long: -9223372036854775808
+1616.    LORCONST:   long: -1
+1617.    LXORCONST:  long: 9223372036854775807
+1618.    not IF_LCMPEQint: -1
+1619.    not IF_LCMPGTint: -1
+1620.    not IF_LCMPGEint: -1
+1621.    IADDCONST:  int: -2147483647
+1622.    ISUBCONST:  int: 2147483647
+1623.    IMULCONST:  int: -2147483648
+1624.    ISHLCONST:  int: 0
+1625.    ISHRCONST:  int: -1073741824
+1626.    IUSHRCONST: int: 1073741824
+1627.    IANDCONST:  int: 0
+1628.    IORCONST:   int: -2147483647
+1629.    IXORCONST:  int: -2147483647
+1630.    not IF_ICMPEQint: 1
+1631.    not IF_ICMPGTint: 1
+1632.    not IF_ICMPGEint: 1
+1633.    LADDCONST:  long: -9223372036854775807
+1634.    LSUBCONST:  long: 9223372036854775807
+1635.    LMULCONST:  long: -9223372036854775808
+1636.    LSHLCONST:  long: 0
+1637.    LSHRCONST:  long: -4611686018427387904
+1638.    LUSHRCONST: long: 4611686018427387904
+1639.    LANDCONST:  long: 0
+1640.    LORCONST:   long: -9223372036854775807
+1641.    LXORCONST:  long: -9223372036854775807
+1642.    not IF_LCMPEQint: 1
+1643.    not IF_LCMPGTint: 1
+1644.    not IF_LCMPGEint: 1
+1645.    IADDCONST:  int: -2147483393
+1646.    ISUBCONST:  int: 2147483393
+1647.    IMULCONST:  int: -2147483648
+1648.    ISHLCONST:  int: 0
+1649.    ISHRCONST:  int: -1
+1650.    IUSHRCONST: int: 1
+1651.    IANDCONST:  int: 0
+1652.    IORCONST:   int: -2147483393
+1653.    IXORCONST:  int: -2147483393
+1654.    not IF_ICMPEQint: 255
+1655.    not IF_ICMPGTint: 255
+1656.    not IF_ICMPGEint: 255
+1657.    LADDCONST:  long: -9223372036854775553
+1658.    LSUBCONST:  long: 9223372036854775553
+1659.    LMULCONST:  long: -9223372036854775808
+1660.    LSHLCONST:  long: 0
+1661.    LSHRCONST:  long: -1
+1662.    LUSHRCONST: long: 1
+1663.    LANDCONST:  long: 0
+1664.    LORCONST:   long: -9223372036854775553
+1665.    LXORCONST:  long: -9223372036854775553
+1666.    not IF_LCMPEQint: 255
+1667.    not IF_LCMPGTint: 255
+1668.    not IF_LCMPGEint: 255
+1669.    IADDCONST:  int: -2147483392
+1670.    ISUBCONST:  int: 2147483392
+1671.    IMULCONST:  int: 0
+1672.    ISHLCONST:  int: -2147483648
+1673.    ISHRCONST:  int: -2147483648
+1674.    IUSHRCONST: int: -2147483648
+1675.    IANDCONST:  int: 0
+1676.    IORCONST:   int: -2147483392
+1677.    IXORCONST:  int: -2147483392
+1678.    not IF_ICMPEQint: 256
+1679.    not IF_ICMPGTint: 256
+1680.    not IF_ICMPGEint: 256
+1681.    LADDCONST:  long: -9223372036854775552
+1682.    LSUBCONST:  long: 9223372036854775552
+1683.    LMULCONST:  long: 0
+1684.    LSHLCONST:  long: -9223372036854775808
+1685.    LSHRCONST:  long: -9223372036854775808
+1686.    LUSHRCONST: long: -9223372036854775808
+1687.    LANDCONST:  long: 0
+1688.    LORCONST:   long: -9223372036854775552
+1689.    LXORCONST:  long: -9223372036854775552
+1690.    not IF_LCMPEQint: 256
+1691.    not IF_LCMPGTint: 256
+1692.    not IF_LCMPGEint: 256
+1693.    IADDCONST:  int: -2147450881
+1694.    ISUBCONST:  int: 2147450881
+1695.    IMULCONST:  int: -2147483648
+1696.    ISHLCONST:  int: 0
+1697.    ISHRCONST:  int: -1
+1698.    IUSHRCONST: int: 1
+1699.    IANDCONST:  int: 0
+1700.    IORCONST:   int: -2147450881
+1701.    IXORCONST:  int: -2147450881
+1702.    not IF_ICMPEQint: 32767
+1703.    not IF_ICMPGTint: 32767
+1704.    not IF_ICMPGEint: 32767
+1705.    LADDCONST:  long: -9223372036854743041
+1706.    LSUBCONST:  long: 9223372036854743041
+1707.    LMULCONST:  long: -9223372036854775808
+1708.    LSHLCONST:  long: 0
+1709.    LSHRCONST:  long: -1
+1710.    LUSHRCONST: long: 1
+1711.    LANDCONST:  long: 0
+1712.    LORCONST:   long: -9223372036854743041
+1713.    LXORCONST:  long: -9223372036854743041
+1714.    not IF_LCMPEQint: 32767
+1715.    not IF_LCMPGTint: 32767
+1716.    not IF_LCMPGEint: 32767
+1717.    IADDCONST:  int: -2147450880
+1718.    ISUBCONST:  int: 2147450880
+1719.    IMULCONST:  int: 0
+1720.    ISHLCONST:  int: -2147483648
+1721.    ISHRCONST:  int: -2147483648
+1722.    IUSHRCONST: int: -2147483648
+1723.    IANDCONST:  int: 0
+1724.    IORCONST:   int: -2147450880
+1725.    IXORCONST:  int: -2147450880
+1726.    not IF_ICMPEQint: 32768
+1727.    not IF_ICMPGTint: 32768
+1728.    not IF_ICMPGEint: 32768
+1729.    LADDCONST:  long: -9223372036854743040
+1730.    LSUBCONST:  long: 9223372036854743040
+1731.    LMULCONST:  long: 0
+1732.    LSHLCONST:  long: -9223372036854775808
+1733.    LSHRCONST:  long: -9223372036854775808
+1734.    LUSHRCONST: long: -9223372036854775808
+1735.    LANDCONST:  long: 0
+1736.    LORCONST:   long: -9223372036854743040
+1737.    LXORCONST:  long: -9223372036854743040
+1738.    not IF_LCMPEQint: 32768
+1739.    not IF_LCMPGTint: 32768
+1740.    not IF_LCMPGEint: 32768
+1741.    IADDCONST:  int: 2147450880
+1742.    ISUBCONST:  int: -2147450880
+1743.    IMULCONST:  int: 0
+1744.    ISHLCONST:  int: -2147483648
+1745.    ISHRCONST:  int: -2147483648
+1746.    IUSHRCONST: int: -2147483648
+1747.    IANDCONST:  int: -2147483648
+1748.    IORCONST:   int: -32768
+1749.    IXORCONST:  int: 2147450880
+1750.    not IF_ICMPEQint: -32768
+1751.    not IF_ICMPGTint: -32768
+1752.    not IF_ICMPGEint: -32768
+1753.    LADDCONST:  long: 9223372036854743040
+1754.    LSUBCONST:  long: -9223372036854743040
+1755.    LMULCONST:  long: 0
+1756.    LSHLCONST:  long: -9223372036854775808
+1757.    LSHRCONST:  long: -9223372036854775808
+1758.    LUSHRCONST: long: -9223372036854775808
+1759.    LANDCONST:  long: -9223372036854775808
+1760.    LORCONST:   long: -32768
+1761.    LXORCONST:  long: 9223372036854743040
+1762.    not IF_LCMPEQint: -32768
+1763.    not IF_LCMPGTint: -32768
+1764.    not IF_LCMPGEint: -32768
+1765.    IADDCONST:  int: 2147450879
+1766.    ISUBCONST:  int: -2147450879
+1767.    IMULCONST:  int: -2147483648
+1768.    ISHLCONST:  int: 0
+1769.    ISHRCONST:  int: -1
+1770.    IUSHRCONST: int: 1
+1771.    IANDCONST:  int: -2147483648
+1772.    IORCONST:   int: -32769
+1773.    IXORCONST:  int: 2147450879
+1774.    not IF_ICMPEQint: -32769
+1775.    not IF_ICMPGTint: -32769
+1776.    not IF_ICMPGEint: -32769
+1777.    LADDCONST:  long: 9223372036854743039
+1778.    LSUBCONST:  long: -9223372036854743039
+1779.    LMULCONST:  long: -9223372036854775808
+1780.    LSHLCONST:  long: 0
+1781.    LSHRCONST:  long: -1
+1782.    LUSHRCONST: long: 1
+1783.    LANDCONST:  long: -9223372036854775808
+1784.    LORCONST:   long: -32769
+1785.    LXORCONST:  long: 9223372036854743039
+1786.    not IF_LCMPEQint: -32769
+1787.    not IF_LCMPGTint: -32769
+1788.    not IF_LCMPGEint: -32769
+1789.    ------------------- test rem consts
+1790.    IREMPOW2 (17 % 0x00000002):  int: 1
+1791.    IREMPOW2 (17 % 0x00000004):  int: 1
+1792.    IREMPOW2 (17 % 0x00000008):  int: 1
+1793.    IREMPOW2 (17 % 0x00000010):  int: 1
+1794.    IREMPOW2 (17 % 0x00000020):  int: 17
+1795.    IREMPOW2 (17 % 0x00000040):  int: 17
+1796.    IREMPOW2 (17 % 0x00000080):  int: 17
+1797.    IREMPOW2 (17 % 0x00000100):  int: 17
+1798.    IREMPOW2 (17 % 0x00000200):  int: 17
+1799.    IREMPOW2 (17 % 0x00000400):  int: 17
+1800.    IREMPOW2 (17 % 0x00000800):  int: 17
+1801.    IREMPOW2 (17 % 0x00001000):  int: 17
+1802.    IREMPOW2 (17 % 0x00002000):  int: 17
+1803.    IREMPOW2 (17 % 0x00004000):  int: 17
+1804.    IREMPOW2 (17 % 0x00008000):  int: 17
+1805.    IREMPOW2 (17 % 0x00010000):  int: 17
+1806.    IREMPOW2 (17 % 0x00020000):  int: 17
+1807.    IREMPOW2 (17 % 0x00040000):  int: 17
+1808.    IREMPOW2 (17 % 0x00080000):  int: 17
+1809.    IREMPOW2 (17 % 0x00100000):  int: 17
+1810.    IREMPOW2 (17 % 0x00200000):  int: 17
+1811.    IREMPOW2 (17 % 0x00400000):  int: 17
+1812.    IREMPOW2 (17 % 0x00800000):  int: 17
+1813.    IREMPOW2 (17 % 0x01000000):  int: 17
+1814.    IREMPOW2 (17 % 0x02000000):  int: 17
+1815.    IREMPOW2 (17 % 0x04000000):  int: 17
+1816.    IREMPOW2 (17 % 0x08000000):  int: 17
+1817.    IREMPOW2 (17 % 0x10000000):  int: 17
+1818.    IREMPOW2 (17 % 0x20000000):  int: 17
+1819.    IREMPOW2 (17 % 0x40000000):  int: 17
+1820.    IREMPOW2 (17 % 0x80000000):  int: 17
+1821.    IREMPOW2 (12347 % 0x00000002):  int: 1
+1822.    IREMPOW2 (12347 % 0x00000004):  int: 3
+1823.    IREMPOW2 (12347 % 0x00000008):  int: 3
+1824.    IREMPOW2 (12347 % 0x00000010):  int: 11
+1825.    IREMPOW2 (12347 % 0x00000020):  int: 27
+1826.    IREMPOW2 (12347 % 0x00000040):  int: 59
+1827.    IREMPOW2 (12347 % 0x00000080):  int: 59
+1828.    IREMPOW2 (12347 % 0x00000100):  int: 59
+1829.    IREMPOW2 (12347 % 0x00000200):  int: 59
+1830.    IREMPOW2 (12347 % 0x00000400):  int: 59
+1831.    IREMPOW2 (12347 % 0x00000800):  int: 59
+1832.    IREMPOW2 (12347 % 0x00001000):  int: 59
+1833.    IREMPOW2 (12347 % 0x00002000):  int: 4155
+1834.    IREMPOW2 (12347 % 0x00004000):  int: 12347
+1835.    IREMPOW2 (12347 % 0x00008000):  int: 12347
+1836.    IREMPOW2 (12347 % 0x00010000):  int: 12347
+1837.    IREMPOW2 (12347 % 0x00020000):  int: 12347
+1838.    IREMPOW2 (12347 % 0x00040000):  int: 12347
+1839.    IREMPOW2 (12347 % 0x00080000):  int: 12347
+1840.    IREMPOW2 (12347 % 0x00100000):  int: 12347
+1841.    IREMPOW2 (12347 % 0x00200000):  int: 12347
+1842.    IREMPOW2 (12347 % 0x00400000):  int: 12347
+1843.    IREMPOW2 (12347 % 0x00800000):  int: 12347
+1844.    IREMPOW2 (12347 % 0x01000000):  int: 12347
+1845.    IREMPOW2 (12347 % 0x02000000):  int: 12347
+1846.    IREMPOW2 (12347 % 0x04000000):  int: 12347
+1847.    IREMPOW2 (12347 % 0x08000000):  int: 12347
+1848.    IREMPOW2 (12347 % 0x10000000):  int: 12347
+1849.    IREMPOW2 (12347 % 0x20000000):  int: 12347
+1850.    IREMPOW2 (12347 % 0x40000000):  int: 12347
+1851.    IREMPOW2 (12347 % 0x80000000):  int: 12347
+1852.    IREMPOW2 (8893427 % 0x00000002):  int: 1
+1853.    IREMPOW2 (8893427 % 0x00000004):  int: 3
+1854.    IREMPOW2 (8893427 % 0x00000008):  int: 3
+1855.    IREMPOW2 (8893427 % 0x00000010):  int: 3
+1856.    IREMPOW2 (8893427 % 0x00000020):  int: 19
+1857.    IREMPOW2 (8893427 % 0x00000040):  int: 51
+1858.    IREMPOW2 (8893427 % 0x00000080):  int: 115
+1859.    IREMPOW2 (8893427 % 0x00000100):  int: 243
+1860.    IREMPOW2 (8893427 % 0x00000200):  int: 499
+1861.    IREMPOW2 (8893427 % 0x00000400):  int: 1011
+1862.    IREMPOW2 (8893427 % 0x00000800):  int: 1011
+1863.    IREMPOW2 (8893427 % 0x00001000):  int: 1011
+1864.    IREMPOW2 (8893427 % 0x00002000):  int: 5107
+1865.    IREMPOW2 (8893427 % 0x00004000):  int: 13299
+1866.    IREMPOW2 (8893427 % 0x00008000):  int: 13299
+1867.    IREMPOW2 (8893427 % 0x00010000):  int: 46067
+1868.    IREMPOW2 (8893427 % 0x00020000):  int: 111603
+1869.    IREMPOW2 (8893427 % 0x00040000):  int: 242675
+1870.    IREMPOW2 (8893427 % 0x00080000):  int: 504819
+1871.    IREMPOW2 (8893427 % 0x00100000):  int: 504819
+1872.    IREMPOW2 (8893427 % 0x00200000):  int: 504819
+1873.    IREMPOW2 (8893427 % 0x00400000):  int: 504819
+1874.    IREMPOW2 (8893427 % 0x00800000):  int: 504819
+1875.    IREMPOW2 (8893427 % 0x01000000):  int: 8893427
+1876.    IREMPOW2 (8893427 % 0x02000000):  int: 8893427
+1877.    IREMPOW2 (8893427 % 0x04000000):  int: 8893427
+1878.    IREMPOW2 (8893427 % 0x08000000):  int: 8893427
+1879.    IREMPOW2 (8893427 % 0x10000000):  int: 8893427
+1880.    IREMPOW2 (8893427 % 0x20000000):  int: 8893427
+1881.    IREMPOW2 (8893427 % 0x40000000):  int: 8893427
+1882.    IREMPOW2 (8893427 % 0x80000000):  int: 8893427
+1883.    IREMPOW2 (1005234562 % 0x00000002):  int: 0
+1884.    IREMPOW2 (1005234562 % 0x00000004):  int: 2
+1885.    IREMPOW2 (1005234562 % 0x00000008):  int: 2
+1886.    IREMPOW2 (1005234562 % 0x00000010):  int: 2
+1887.    IREMPOW2 (1005234562 % 0x00000020):  int: 2
+1888.    IREMPOW2 (1005234562 % 0x00000040):  int: 2
+1889.    IREMPOW2 (1005234562 % 0x00000080):  int: 2
+1890.    IREMPOW2 (1005234562 % 0x00000100):  int: 130
+1891.    IREMPOW2 (1005234562 % 0x00000200):  int: 386
+1892.    IREMPOW2 (1005234562 % 0x00000400):  int: 386
+1893.    IREMPOW2 (1005234562 % 0x00000800):  int: 386
+1894.    IREMPOW2 (1005234562 % 0x00001000):  int: 2434
+1895.    IREMPOW2 (1005234562 % 0x00002000):  int: 2434
+1896.    IREMPOW2 (1005234562 % 0x00004000):  int: 10626
+1897.    IREMPOW2 (1005234562 % 0x00008000):  int: 10626
+1898.    IREMPOW2 (1005234562 % 0x00010000):  int: 43394
+1899.    IREMPOW2 (1005234562 % 0x00020000):  int: 43394
+1900.    IREMPOW2 (1005234562 % 0x00040000):  int: 174466
+1901.    IREMPOW2 (1005234562 % 0x00080000):  int: 174466
+1902.    IREMPOW2 (1005234562 % 0x00100000):  int: 698754
+1903.    IREMPOW2 (1005234562 % 0x00200000):  int: 698754
+1904.    IREMPOW2 (1005234562 % 0x00400000):  int: 2795906
+1905.    IREMPOW2 (1005234562 % 0x00800000):  int: 6990210
+1906.    IREMPOW2 (1005234562 % 0x01000000):  int: 15378818
+1907.    IREMPOW2 (1005234562 % 0x02000000):  int: 32156034
+1908.    IREMPOW2 (1005234562 % 0x04000000):  int: 65710466
+1909.    IREMPOW2 (1005234562 % 0x08000000):  int: 65710466
+1910.    IREMPOW2 (1005234562 % 0x10000000):  int: 199928194
+1911.    IREMPOW2 (1005234562 % 0x20000000):  int: 468363650
+1912.    IREMPOW2 (1005234562 % 0x40000000):  int: 1005234562
+1913.    IREMPOW2 (1005234562 % 0x80000000):  int: 1005234562
+1914.    IREMPOW2 (-17 % 0x00000002):  int: -1
+1915.    IREMPOW2 (-17 % 0x00000004):  int: -1
+1916.    IREMPOW2 (-17 % 0x00000008):  int: -1
+1917.    IREMPOW2 (-17 % 0x00000010):  int: -1
+1918.    IREMPOW2 (-17 % 0x00000020):  int: -17
+1919.    IREMPOW2 (-17 % 0x00000040):  int: -17
+1920.    IREMPOW2 (-17 % 0x00000080):  int: -17
+1921.    IREMPOW2 (-17 % 0x00000100):  int: -17
+1922.    IREMPOW2 (-17 % 0x00000200):  int: -17
+1923.    IREMPOW2 (-17 % 0x00000400):  int: -17
+1924.    IREMPOW2 (-17 % 0x00000800):  int: -17
+1925.    IREMPOW2 (-17 % 0x00001000):  int: -17
+1926.    IREMPOW2 (-17 % 0x00002000):  int: -17
+1927.    IREMPOW2 (-17 % 0x00004000):  int: -17
+1928.    IREMPOW2 (-17 % 0x00008000):  int: -17
+1929.    IREMPOW2 (-17 % 0x00010000):  int: -17
+1930.    IREMPOW2 (-17 % 0x00020000):  int: -17
+1931.    IREMPOW2 (-17 % 0x00040000):  int: -17
+1932.    IREMPOW2 (-17 % 0x00080000):  int: -17
+1933.    IREMPOW2 (-17 % 0x00100000):  int: -17
+1934.    IREMPOW2 (-17 % 0x00200000):  int: -17
+1935.    IREMPOW2 (-17 % 0x00400000):  int: -17
+1936.    IREMPOW2 (-17 % 0x00800000):  int: -17
+1937.    IREMPOW2 (-17 % 0x01000000):  int: -17
+1938.    IREMPOW2 (-17 % 0x02000000):  int: -17
+1939.    IREMPOW2 (-17 % 0x04000000):  int: -17
+1940.    IREMPOW2 (-17 % 0x08000000):  int: -17
+1941.    IREMPOW2 (-17 % 0x10000000):  int: -17
+1942.    IREMPOW2 (-17 % 0x20000000):  int: -17
+1943.    IREMPOW2 (-17 % 0x40000000):  int: -17
+1944.    IREMPOW2 (-17 % 0x80000000):  int: -17
+1945.    IREMPOW2 (-12347 % 0x00000002):  int: -1
+1946.    IREMPOW2 (-12347 % 0x00000004):  int: -3
+1947.    IREMPOW2 (-12347 % 0x00000008):  int: -3
+1948.    IREMPOW2 (-12347 % 0x00000010):  int: -11
+1949.    IREMPOW2 (-12347 % 0x00000020):  int: -27
+1950.    IREMPOW2 (-12347 % 0x00000040):  int: -59
+1951.    IREMPOW2 (-12347 % 0x00000080):  int: -59
+1952.    IREMPOW2 (-12347 % 0x00000100):  int: -59
+1953.    IREMPOW2 (-12347 % 0x00000200):  int: -59
+1954.    IREMPOW2 (-12347 % 0x00000400):  int: -59
+1955.    IREMPOW2 (-12347 % 0x00000800):  int: -59
+1956.    IREMPOW2 (-12347 % 0x00001000):  int: -59
+1957.    IREMPOW2 (-12347 % 0x00002000):  int: -4155
+1958.    IREMPOW2 (-12347 % 0x00004000):  int: -12347
+1959.    IREMPOW2 (-12347 % 0x00008000):  int: -12347
+1960.    IREMPOW2 (-12347 % 0x00010000):  int: -12347
+1961.    IREMPOW2 (-12347 % 0x00020000):  int: -12347
+1962.    IREMPOW2 (-12347 % 0x00040000):  int: -12347
+1963.    IREMPOW2 (-12347 % 0x00080000):  int: -12347
+1964.    IREMPOW2 (-12347 % 0x00100000):  int: -12347
+1965.    IREMPOW2 (-12347 % 0x00200000):  int: -12347
+1966.    IREMPOW2 (-12347 % 0x00400000):  int: -12347
+1967.    IREMPOW2 (-12347 % 0x00800000):  int: -12347
+1968.    IREMPOW2 (-12347 % 0x01000000):  int: -12347
+1969.    IREMPOW2 (-12347 % 0x02000000):  int: -12347
+1970.    IREMPOW2 (-12347 % 0x04000000):  int: -12347
+1971.    IREMPOW2 (-12347 % 0x08000000):  int: -12347
+1972.    IREMPOW2 (-12347 % 0x10000000):  int: -12347
+1973.    IREMPOW2 (-12347 % 0x20000000):  int: -12347
+1974.    IREMPOW2 (-12347 % 0x40000000):  int: -12347
+1975.    IREMPOW2 (-12347 % 0x80000000):  int: -12347
+1976.    IREMPOW2 (-8893427 % 0x00000002):  int: -1
+1977.    IREMPOW2 (-8893427 % 0x00000004):  int: -3
+1978.    IREMPOW2 (-8893427 % 0x00000008):  int: -3
+1979.    IREMPOW2 (-8893427 % 0x00000010):  int: -3
+1980.    IREMPOW2 (-8893427 % 0x00000020):  int: -19
+1981.    IREMPOW2 (-8893427 % 0x00000040):  int: -51
+1982.    IREMPOW2 (-8893427 % 0x00000080):  int: -115
+1983.    IREMPOW2 (-8893427 % 0x00000100):  int: -243
+1984.    IREMPOW2 (-8893427 % 0x00000200):  int: -499
+1985.    IREMPOW2 (-8893427 % 0x00000400):  int: -1011
+1986.    IREMPOW2 (-8893427 % 0x00000800):  int: -1011
+1987.    IREMPOW2 (-8893427 % 0x00001000):  int: -1011
+1988.    IREMPOW2 (-8893427 % 0x00002000):  int: -5107
+1989.    IREMPOW2 (-8893427 % 0x00004000):  int: -13299
+1990.    IREMPOW2 (-8893427 % 0x00008000):  int: -13299
+1991.    IREMPOW2 (-8893427 % 0x00010000):  int: -46067
+1992.    IREMPOW2 (-8893427 % 0x00020000):  int: -111603
+1993.    IREMPOW2 (-8893427 % 0x00040000):  int: -242675
+1994.    IREMPOW2 (-8893427 % 0x00080000):  int: -504819
+1995.    IREMPOW2 (-8893427 % 0x00100000):  int: -504819
+1996.    IREMPOW2 (-8893427 % 0x00200000):  int: -504819
+1997.    IREMPOW2 (-8893427 % 0x00400000):  int: -504819
+1998.    IREMPOW2 (-8893427 % 0x00800000):  int: -504819
+1999.    IREMPOW2 (-8893427 % 0x01000000):  int: -8893427
+2000.    IREMPOW2 (-8893427 % 0x02000000):  int: -8893427
+2001.    IREMPOW2 (-8893427 % 0x04000000):  int: -8893427
+2002.    IREMPOW2 (-8893427 % 0x08000000):  int: -8893427
+2003.    IREMPOW2 (-8893427 % 0x10000000):  int: -8893427
+2004.    IREMPOW2 (-8893427 % 0x20000000):  int: -8893427
+2005.    IREMPOW2 (-8893427 % 0x40000000):  int: -8893427
+2006.    IREMPOW2 (-8893427 % 0x80000000):  int: -8893427
+2007.    IREMPOW2 (-1005234562 % 0x00000002):  int: 0
+2008.    IREMPOW2 (-1005234562 % 0x00000004):  int: -2
+2009.    IREMPOW2 (-1005234562 % 0x00000008):  int: -2
+2010.    IREMPOW2 (-1005234562 % 0x00000010):  int: -2
+2011.    IREMPOW2 (-1005234562 % 0x00000020):  int: -2
+2012.    IREMPOW2 (-1005234562 % 0x00000040):  int: -2
+2013.    IREMPOW2 (-1005234562 % 0x00000080):  int: -2
+2014.    IREMPOW2 (-1005234562 % 0x00000100):  int: -130
+2015.    IREMPOW2 (-1005234562 % 0x00000200):  int: -386
+2016.    IREMPOW2 (-1005234562 % 0x00000400):  int: -386
+2017.    IREMPOW2 (-1005234562 % 0x00000800):  int: -386
+2018.    IREMPOW2 (-1005234562 % 0x00001000):  int: -2434
+2019.    IREMPOW2 (-1005234562 % 0x00002000):  int: -2434
+2020.    IREMPOW2 (-1005234562 % 0x00004000):  int: -10626
+2021.    IREMPOW2 (-1005234562 % 0x00008000):  int: -10626
+2022.    IREMPOW2 (-1005234562 % 0x00010000):  int: -43394
+2023.    IREMPOW2 (-1005234562 % 0x00020000):  int: -43394
+2024.    IREMPOW2 (-1005234562 % 0x00040000):  int: -174466
+2025.    IREMPOW2 (-1005234562 % 0x00080000):  int: -174466
+2026.    IREMPOW2 (-1005234562 % 0x00100000):  int: -698754
+2027.    IREMPOW2 (-1005234562 % 0x00200000):  int: -698754
+2028.    IREMPOW2 (-1005234562 % 0x00400000):  int: -2795906
+2029.    IREMPOW2 (-1005234562 % 0x00800000):  int: -6990210
+2030.    IREMPOW2 (-1005234562 % 0x01000000):  int: -15378818
+2031.    IREMPOW2 (-1005234562 % 0x02000000):  int: -32156034
+2032.    IREMPOW2 (-1005234562 % 0x04000000):  int: -65710466
+2033.    IREMPOW2 (-1005234562 % 0x08000000):  int: -65710466
+2034.    IREMPOW2 (-1005234562 % 0x10000000):  int: -199928194
+2035.    IREMPOW2 (-1005234562 % 0x20000000):  int: -468363650
+2036.    IREMPOW2 (-1005234562 % 0x40000000):  int: -1005234562
+2037.    IREMPOW2 (-1005234562 % 0x80000000):  int: -1005234562
+2038.    LREMPOW2 (17 % 0x00000002):  long: 1
+2039.    LREMPOW2 (17 % 0x00000004):  long: 1
+2040.    LREMPOW2 (17 % 0x00000008):  long: 1
+2041.    LREMPOW2 (17 % 0x00000010):  long: 1
+2042.    LREMPOW2 (17 % 0x00000020):  long: 17
+2043.    LREMPOW2 (17 % 0x00000040):  long: 17
+2044.    LREMPOW2 (17 % 0x00000080):  long: 17
+2045.    LREMPOW2 (17 % 0x00000100):  long: 17
+2046.    LREMPOW2 (17 % 0x00000200):  long: 17
+2047.    LREMPOW2 (17 % 0x00000400):  long: 17
+2048.    LREMPOW2 (17 % 0x00000800):  long: 17
+2049.    LREMPOW2 (17 % 0x00001000):  long: 17
+2050.    LREMPOW2 (17 % 0x00002000):  long: 17
+2051.    LREMPOW2 (17 % 0x00004000):  long: 17
+2052.    LREMPOW2 (17 % 0x00008000):  long: 17
+2053.    LREMPOW2 (17 % 0x00010000):  long: 17
+2054.    LREMPOW2 (17 % 0x00020000):  long: 17
+2055.    LREMPOW2 (17 % 0x00040000):  long: 17
+2056.    LREMPOW2 (17 % 0x00080000):  long: 17
+2057.    LREMPOW2 (17 % 0x00100000):  long: 17
+2058.    LREMPOW2 (17 % 0x00200000):  long: 17
+2059.    LREMPOW2 (17 % 0x00400000):  long: 17
+2060.    LREMPOW2 (17 % 0x00800000):  long: 17
+2061.    LREMPOW2 (17 % 0x01000000):  long: 17
+2062.    LREMPOW2 (17 % 0x02000000):  long: 17
+2063.    LREMPOW2 (17 % 0x04000000):  long: 17
+2064.    LREMPOW2 (17 % 0x08000000):  long: 17
+2065.    LREMPOW2 (17 % 0x10000000):  long: 17
+2066.    LREMPOW2 (17 % 0x20000000):  long: 17
+2067.    LREMPOW2 (17 % 0x40000000):  long: 17
+2068.    LREMPOW2 (17 % 0x80000000):  long: 17
+2069.    LREMPOW2 (12347 % 0x00000002):  long: 1
+2070.    LREMPOW2 (12347 % 0x00000004):  long: 3
+2071.    LREMPOW2 (12347 % 0x00000008):  long: 3
+2072.    LREMPOW2 (12347 % 0x00000010):  long: 11
+2073.    LREMPOW2 (12347 % 0x00000020):  long: 27
+2074.    LREMPOW2 (12347 % 0x00000040):  long: 59
+2075.    LREMPOW2 (12347 % 0x00000080):  long: 59
+2076.    LREMPOW2 (12347 % 0x00000100):  long: 59
+2077.    LREMPOW2 (12347 % 0x00000200):  long: 59
+2078.    LREMPOW2 (12347 % 0x00000400):  long: 59
+2079.    LREMPOW2 (12347 % 0x00000800):  long: 59
+2080.    LREMPOW2 (12347 % 0x00001000):  long: 59
+2081.    LREMPOW2 (12347 % 0x00002000):  long: 4155
+2082.    LREMPOW2 (12347 % 0x00004000):  long: 12347
+2083.    LREMPOW2 (12347 % 0x00008000):  long: 12347
+2084.    LREMPOW2 (12347 % 0x00010000):  long: 12347
+2085.    LREMPOW2 (12347 % 0x00020000):  long: 12347
+2086.    LREMPOW2 (12347 % 0x00040000):  long: 12347
+2087.    LREMPOW2 (12347 % 0x00080000):  long: 12347
+2088.    LREMPOW2 (12347 % 0x00100000):  long: 12347
+2089.    LREMPOW2 (12347 % 0x00200000):  long: 12347
+2090.    LREMPOW2 (12347 % 0x00400000):  long: 12347
+2091.    LREMPOW2 (12347 % 0x00800000):  long: 12347
+2092.    LREMPOW2 (12347 % 0x01000000):  long: 12347
+2093.    LREMPOW2 (12347 % 0x02000000):  long: 12347
+2094.    LREMPOW2 (12347 % 0x04000000):  long: 12347
+2095.    LREMPOW2 (12347 % 0x08000000):  long: 12347
+2096.    LREMPOW2 (12347 % 0x10000000):  long: 12347
+2097.    LREMPOW2 (12347 % 0x20000000):  long: 12347
+2098.    LREMPOW2 (12347 % 0x40000000):  long: 12347
+2099.    LREMPOW2 (12347 % 0x80000000):  long: 12347
+2100.    LREMPOW2 (8893427 % 0x00000002):  long: 1
+2101.    LREMPOW2 (8893427 % 0x00000004):  long: 3
+2102.    LREMPOW2 (8893427 % 0x00000008):  long: 3
+2103.    LREMPOW2 (8893427 % 0x00000010):  long: 3
+2104.    LREMPOW2 (8893427 % 0x00000020):  long: 19
+2105.    LREMPOW2 (8893427 % 0x00000040):  long: 51
+2106.    LREMPOW2 (8893427 % 0x00000080):  long: 115
+2107.    LREMPOW2 (8893427 % 0x00000100):  long: 243
+2108.    LREMPOW2 (8893427 % 0x00000200):  long: 499
+2109.    LREMPOW2 (8893427 % 0x00000400):  long: 1011
+2110.    LREMPOW2 (8893427 % 0x00000800):  long: 1011
+2111.    LREMPOW2 (8893427 % 0x00001000):  long: 1011
+2112.    LREMPOW2 (8893427 % 0x00002000):  long: 5107
+2113.    LREMPOW2 (8893427 % 0x00004000):  long: 13299
+2114.    LREMPOW2 (8893427 % 0x00008000):  long: 13299
+2115.    LREMPOW2 (8893427 % 0x00010000):  long: 46067
+2116.    LREMPOW2 (8893427 % 0x00020000):  long: 111603
+2117.    LREMPOW2 (8893427 % 0x00040000):  long: 242675
+2118.    LREMPOW2 (8893427 % 0x00080000):  long: 504819
+2119.    LREMPOW2 (8893427 % 0x00100000):  long: 504819
+2120.    LREMPOW2 (8893427 % 0x00200000):  long: 504819
+2121.    LREMPOW2 (8893427 % 0x00400000):  long: 504819
+2122.    LREMPOW2 (8893427 % 0x00800000):  long: 504819
+2123.    LREMPOW2 (8893427 % 0x01000000):  long: 8893427
+2124.    LREMPOW2 (8893427 % 0x02000000):  long: 8893427
+2125.    LREMPOW2 (8893427 % 0x04000000):  long: 8893427
+2126.    LREMPOW2 (8893427 % 0x08000000):  long: 8893427
+2127.    LREMPOW2 (8893427 % 0x10000000):  long: 8893427
+2128.    LREMPOW2 (8893427 % 0x20000000):  long: 8893427
+2129.    LREMPOW2 (8893427 % 0x40000000):  long: 8893427
+2130.    LREMPOW2 (8893427 % 0x80000000):  long: 8893427
+2131.    LREMPOW2 (1005234562 % 0x00000002):  long: 0
+2132.    LREMPOW2 (1005234562 % 0x00000004):  long: 2
+2133.    LREMPOW2 (1005234562 % 0x00000008):  long: 2
+2134.    LREMPOW2 (1005234562 % 0x00000010):  long: 2
+2135.    LREMPOW2 (1005234562 % 0x00000020):  long: 2
+2136.    LREMPOW2 (1005234562 % 0x00000040):  long: 2
+2137.    LREMPOW2 (1005234562 % 0x00000080):  long: 2
+2138.    LREMPOW2 (1005234562 % 0x00000100):  long: 130
+2139.    LREMPOW2 (1005234562 % 0x00000200):  long: 386
+2140.    LREMPOW2 (1005234562 % 0x00000400):  long: 386
+2141.    LREMPOW2 (1005234562 % 0x00000800):  long: 386
+2142.    LREMPOW2 (1005234562 % 0x00001000):  long: 2434
+2143.    LREMPOW2 (1005234562 % 0x00002000):  long: 2434
+2144.    LREMPOW2 (1005234562 % 0x00004000):  long: 10626
+2145.    LREMPOW2 (1005234562 % 0x00008000):  long: 10626
+2146.    LREMPOW2 (1005234562 % 0x00010000):  long: 43394
+2147.    LREMPOW2 (1005234562 % 0x00020000):  long: 43394
+2148.    LREMPOW2 (1005234562 % 0x00040000):  long: 174466
+2149.    LREMPOW2 (1005234562 % 0x00080000):  long: 174466
+2150.    LREMPOW2 (1005234562 % 0x00100000):  long: 698754
+2151.    LREMPOW2 (1005234562 % 0x00200000):  long: 698754
+2152.    LREMPOW2 (1005234562 % 0x00400000):  long: 2795906
+2153.    LREMPOW2 (1005234562 % 0x00800000):  long: 6990210
+2154.    LREMPOW2 (1005234562 % 0x01000000):  long: 15378818
+2155.    LREMPOW2 (1005234562 % 0x02000000):  long: 32156034
+2156.    LREMPOW2 (1005234562 % 0x04000000):  long: 65710466
+2157.    LREMPOW2 (1005234562 % 0x08000000):  long: 65710466
+2158.    LREMPOW2 (1005234562 % 0x10000000):  long: 199928194
+2159.    LREMPOW2 (1005234562 % 0x20000000):  long: 468363650
+2160.    LREMPOW2 (1005234562 % 0x40000000):  long: 1005234562
+2161.    LREMPOW2 (1005234562 % 0x80000000):  long: 1005234562
+2162.    LREMPOW2 (12135005234562 % 0x00000002):  long: 0
+2163.    LREMPOW2 (12135005234562 % 0x00000004):  long: 2
+2164.    LREMPOW2 (12135005234562 % 0x00000008):  long: 2
+2165.    LREMPOW2 (12135005234562 % 0x00000010):  long: 2
+2166.    LREMPOW2 (12135005234562 % 0x00000020):  long: 2
+2167.    LREMPOW2 (12135005234562 % 0x00000040):  long: 2
+2168.    LREMPOW2 (12135005234562 % 0x00000080):  long: 2
+2169.    LREMPOW2 (12135005234562 % 0x00000100):  long: 130
+2170.    LREMPOW2 (12135005234562 % 0x00000200):  long: 386
+2171.    LREMPOW2 (12135005234562 % 0x00000400):  long: 386
+2172.    LREMPOW2 (12135005234562 % 0x00000800):  long: 1410
+2173.    LREMPOW2 (12135005234562 % 0x00001000):  long: 1410
+2174.    LREMPOW2 (12135005234562 % 0x00002000):  long: 1410
+2175.    LREMPOW2 (12135005234562 % 0x00004000):  long: 9602
+2176.    LREMPOW2 (12135005234562 % 0x00008000):  long: 9602
+2177.    LREMPOW2 (12135005234562 % 0x00010000):  long: 9602
+2178.    LREMPOW2 (12135005234562 % 0x00020000):  long: 75138
+2179.    LREMPOW2 (12135005234562 % 0x00040000):  long: 75138
+2180.    LREMPOW2 (12135005234562 % 0x00080000):  long: 337282
+2181.    LREMPOW2 (12135005234562 % 0x00100000):  long: 861570
+2182.    LREMPOW2 (12135005234562 % 0x00200000):  long: 861570
+2183.    LREMPOW2 (12135005234562 % 0x00400000):  long: 2958722
+2184.    LREMPOW2 (12135005234562 % 0x00800000):  long: 2958722
+2185.    LREMPOW2 (12135005234562 % 0x01000000):  long: 11347330
+2186.    LREMPOW2 (12135005234562 % 0x02000000):  long: 11347330
+2187.    LREMPOW2 (12135005234562 % 0x04000000):  long: 44901762
+2188.    LREMPOW2 (12135005234562 % 0x08000000):  long: 112010626
+2189.    LREMPOW2 (12135005234562 % 0x10000000):  long: 112010626
+2190.    LREMPOW2 (12135005234562 % 0x20000000):  long: 112010626
+2191.    LREMPOW2 (12135005234562 % 0x40000000):  long: 648881538
+2192.    LREMPOW2 (12135005234562 % 0x80000000):  long: 1722623362
+2193.    LREMPOW2 (2343552355623464626 % 0x00000002):  long: 0
+2194.    LREMPOW2 (2343552355623464626 % 0x00000004):  long: 2
+2195.    LREMPOW2 (2343552355623464626 % 0x00000008):  long: 2
+2196.    LREMPOW2 (2343552355623464626 % 0x00000010):  long: 2
+2197.    LREMPOW2 (2343552355623464626 % 0x00000020):  long: 18
+2198.    LREMPOW2 (2343552355623464626 % 0x00000040):  long: 50
+2199.    LREMPOW2 (2343552355623464626 % 0x00000080):  long: 50
+2200.    LREMPOW2 (2343552355623464626 % 0x00000100):  long: 178
+2201.    LREMPOW2 (2343552355623464626 % 0x00000200):  long: 178
+2202.    LREMPOW2 (2343552355623464626 % 0x00000400):  long: 690
+2203.    LREMPOW2 (2343552355623464626 % 0x00000800):  long: 1714
+2204.    LREMPOW2 (2343552355623464626 % 0x00001000):  long: 3762
+2205.    LREMPOW2 (2343552355623464626 % 0x00002000):  long: 3762
+2206.    LREMPOW2 (2343552355623464626 % 0x00004000):  long: 11954
+2207.    LREMPOW2 (2343552355623464626 % 0x00008000):  long: 28338
+2208.    LREMPOW2 (2343552355623464626 % 0x00010000):  long: 28338
+2209.    LREMPOW2 (2343552355623464626 % 0x00020000):  long: 93874
+2210.    LREMPOW2 (2343552355623464626 % 0x00040000):  long: 224946
+2211.    LREMPOW2 (2343552355623464626 % 0x00080000):  long: 487090
+2212.    LREMPOW2 (2343552355623464626 % 0x00100000):  long: 487090
+2213.    LREMPOW2 (2343552355623464626 % 0x00200000):  long: 1535666
+2214.    LREMPOW2 (2343552355623464626 % 0x00400000):  long: 3632818
+2215.    LREMPOW2 (2343552355623464626 % 0x00800000):  long: 7827122
+2216.    LREMPOW2 (2343552355623464626 % 0x01000000):  long: 7827122
+2217.    LREMPOW2 (2343552355623464626 % 0x02000000):  long: 24604338
+2218.    LREMPOW2 (2343552355623464626 % 0x04000000):  long: 24604338
+2219.    LREMPOW2 (2343552355623464626 % 0x08000000):  long: 91713202
+2220.    LREMPOW2 (2343552355623464626 % 0x10000000):  long: 91713202
+2221.    LREMPOW2 (2343552355623464626 % 0x20000000):  long: 91713202
+2222.    LREMPOW2 (2343552355623464626 % 0x40000000):  long: 628584114
+2223.    LREMPOW2 (2343552355623464626 % 0x80000000):  long: 1702325938
+2224.    LREMPOW2 (-17 % 0x00000002):  long: -1
+2225.    LREMPOW2 (-17 % 0x00000004):  long: -1
+2226.    LREMPOW2 (-17 % 0x00000008):  long: -1
+2227.    LREMPOW2 (-17 % 0x00000010):  long: -1
+2228.    LREMPOW2 (-17 % 0x00000020):  long: -17
+2229.    LREMPOW2 (-17 % 0x00000040):  long: -17
+2230.    LREMPOW2 (-17 % 0x00000080):  long: -17
+2231.    LREMPOW2 (-17 % 0x00000100):  long: -17
+2232.    LREMPOW2 (-17 % 0x00000200):  long: -17
+2233.    LREMPOW2 (-17 % 0x00000400):  long: -17
+2234.    LREMPOW2 (-17 % 0x00000800):  long: -17
+2235.    LREMPOW2 (-17 % 0x00001000):  long: -17
+2236.    LREMPOW2 (-17 % 0x00002000):  long: -17
+2237.    LREMPOW2 (-17 % 0x00004000):  long: -17
+2238.    LREMPOW2 (-17 % 0x00008000):  long: -17
+2239.    LREMPOW2 (-17 % 0x00010000):  long: -17
+2240.    LREMPOW2 (-17 % 0x00020000):  long: -17
+2241.    LREMPOW2 (-17 % 0x00040000):  long: -17
+2242.    LREMPOW2 (-17 % 0x00080000):  long: -17
+2243.    LREMPOW2 (-17 % 0x00100000):  long: -17
+2244.    LREMPOW2 (-17 % 0x00200000):  long: -17
+2245.    LREMPOW2 (-17 % 0x00400000):  long: -17
+2246.    LREMPOW2 (-17 % 0x00800000):  long: -17
+2247.    LREMPOW2 (-17 % 0x01000000):  long: -17
+2248.    LREMPOW2 (-17 % 0x02000000):  long: -17
+2249.    LREMPOW2 (-17 % 0x04000000):  long: -17
+2250.    LREMPOW2 (-17 % 0x08000000):  long: -17
+2251.    LREMPOW2 (-17 % 0x10000000):  long: -17
+2252.    LREMPOW2 (-17 % 0x20000000):  long: -17
+2253.    LREMPOW2 (-17 % 0x40000000):  long: -17
+2254.    LREMPOW2 (-17 % 0x80000000):  long: -17
+2255.    LREMPOW2 (-12347 % 0x00000002):  long: -1
+2256.    LREMPOW2 (-12347 % 0x00000004):  long: -3
+2257.    LREMPOW2 (-12347 % 0x00000008):  long: -3
+2258.    LREMPOW2 (-12347 % 0x00000010):  long: -11
+2259.    LREMPOW2 (-12347 % 0x00000020):  long: -27
+2260.    LREMPOW2 (-12347 % 0x00000040):  long: -59
+2261.    LREMPOW2 (-12347 % 0x00000080):  long: -59
+2262.    LREMPOW2 (-12347 % 0x00000100):  long: -59
+2263.    LREMPOW2 (-12347 % 0x00000200):  long: -59
+2264.    LREMPOW2 (-12347 % 0x00000400):  long: -59
+2265.    LREMPOW2 (-12347 % 0x00000800):  long: -59
+2266.    LREMPOW2 (-12347 % 0x00001000):  long: -59
+2267.    LREMPOW2 (-12347 % 0x00002000):  long: -4155
+2268.    LREMPOW2 (-12347 % 0x00004000):  long: -12347
+2269.    LREMPOW2 (-12347 % 0x00008000):  long: -12347
+2270.    LREMPOW2 (-12347 % 0x00010000):  long: -12347
+2271.    LREMPOW2 (-12347 % 0x00020000):  long: -12347
+2272.    LREMPOW2 (-12347 % 0x00040000):  long: -12347
+2273.    LREMPOW2 (-12347 % 0x00080000):  long: -12347
+2274.    LREMPOW2 (-12347 % 0x00100000):  long: -12347
+2275.    LREMPOW2 (-12347 % 0x00200000):  long: -12347
+2276.    LREMPOW2 (-12347 % 0x00400000):  long: -12347
+2277.    LREMPOW2 (-12347 % 0x00800000):  long: -12347
+2278.    LREMPOW2 (-12347 % 0x01000000):  long: -12347
+2279.    LREMPOW2 (-12347 % 0x02000000):  long: -12347
+2280.    LREMPOW2 (-12347 % 0x04000000):  long: -12347
+2281.    LREMPOW2 (-12347 % 0x08000000):  long: -12347
+2282.    LREMPOW2 (-12347 % 0x10000000):  long: -12347
+2283.    LREMPOW2 (-12347 % 0x20000000):  long: -12347
+2284.    LREMPOW2 (-12347 % 0x40000000):  long: -12347
+2285.    LREMPOW2 (-12347 % 0x80000000):  long: -12347
+2286.    LREMPOW2 (-8893427 % 0x00000002):  long: -1
+2287.    LREMPOW2 (-8893427 % 0x00000004):  long: -3
+2288.    LREMPOW2 (-8893427 % 0x00000008):  long: -3
+2289.    LREMPOW2 (-8893427 % 0x00000010):  long: -3
+2290.    LREMPOW2 (-8893427 % 0x00000020):  long: -19
+2291.    LREMPOW2 (-8893427 % 0x00000040):  long: -51
+2292.    LREMPOW2 (-8893427 % 0x00000080):  long: -115
+2293.    LREMPOW2 (-8893427 % 0x00000100):  long: -243
+2294.    LREMPOW2 (-8893427 % 0x00000200):  long: -499
+2295.    LREMPOW2 (-8893427 % 0x00000400):  long: -1011
+2296.    LREMPOW2 (-8893427 % 0x00000800):  long: -1011
+2297.    LREMPOW2 (-8893427 % 0x00001000):  long: -1011
+2298.    LREMPOW2 (-8893427 % 0x00002000):  long: -5107
+2299.    LREMPOW2 (-8893427 % 0x00004000):  long: -13299
+2300.    LREMPOW2 (-8893427 % 0x00008000):  long: -13299
+2301.    LREMPOW2 (-8893427 % 0x00010000):  long: -46067
+2302.    LREMPOW2 (-8893427 % 0x00020000):  long: -111603
+2303.    LREMPOW2 (-8893427 % 0x00040000):  long: -242675
+2304.    LREMPOW2 (-8893427 % 0x00080000):  long: -504819
+2305.    LREMPOW2 (-8893427 % 0x00100000):  long: -504819
+2306.    LREMPOW2 (-8893427 % 0x00200000):  long: -504819
+2307.    LREMPOW2 (-8893427 % 0x00400000):  long: -504819
+2308.    LREMPOW2 (-8893427 % 0x00800000):  long: -504819
+2309.    LREMPOW2 (-8893427 % 0x01000000):  long: -8893427
+2310.    LREMPOW2 (-8893427 % 0x02000000):  long: -8893427
+2311.    LREMPOW2 (-8893427 % 0x04000000):  long: -8893427
+2312.    LREMPOW2 (-8893427 % 0x08000000):  long: -8893427
+2313.    LREMPOW2 (-8893427 % 0x10000000):  long: -8893427
+2314.    LREMPOW2 (-8893427 % 0x20000000):  long: -8893427
+2315.    LREMPOW2 (-8893427 % 0x40000000):  long: -8893427
+2316.    LREMPOW2 (-8893427 % 0x80000000):  long: -8893427
+2317.    LREMPOW2 (-1005234562 % 0x00000002):  long: 0
+2318.    LREMPOW2 (-1005234562 % 0x00000004):  long: -2
+2319.    LREMPOW2 (-1005234562 % 0x00000008):  long: -2
+2320.    LREMPOW2 (-1005234562 % 0x00000010):  long: -2
+2321.    LREMPOW2 (-1005234562 % 0x00000020):  long: -2
+2322.    LREMPOW2 (-1005234562 % 0x00000040):  long: -2
+2323.    LREMPOW2 (-1005234562 % 0x00000080):  long: -2
+2324.    LREMPOW2 (-1005234562 % 0x00000100):  long: -130
+2325.    LREMPOW2 (-1005234562 % 0x00000200):  long: -386
+2326.    LREMPOW2 (-1005234562 % 0x00000400):  long: -386
+2327.    LREMPOW2 (-1005234562 % 0x00000800):  long: -386
+2328.    LREMPOW2 (-1005234562 % 0x00001000):  long: -2434
+2329.    LREMPOW2 (-1005234562 % 0x00002000):  long: -2434
+2330.    LREMPOW2 (-1005234562 % 0x00004000):  long: -10626
+2331.    LREMPOW2 (-1005234562 % 0x00008000):  long: -10626
+2332.    LREMPOW2 (-1005234562 % 0x00010000):  long: -43394
+2333.    LREMPOW2 (-1005234562 % 0x00020000):  long: -43394
+2334.    LREMPOW2 (-1005234562 % 0x00040000):  long: -174466
+2335.    LREMPOW2 (-1005234562 % 0x00080000):  long: -174466
+2336.    LREMPOW2 (-1005234562 % 0x00100000):  long: -698754
+2337.    LREMPOW2 (-1005234562 % 0x00200000):  long: -698754
+2338.    LREMPOW2 (-1005234562 % 0x00400000):  long: -2795906
+2339.    LREMPOW2 (-1005234562 % 0x00800000):  long: -6990210
+2340.    LREMPOW2 (-1005234562 % 0x01000000):  long: -15378818
+2341.    LREMPOW2 (-1005234562 % 0x02000000):  long: -32156034
+2342.    LREMPOW2 (-1005234562 % 0x04000000):  long: -65710466
+2343.    LREMPOW2 (-1005234562 % 0x08000000):  long: -65710466
+2344.    LREMPOW2 (-1005234562 % 0x10000000):  long: -199928194
+2345.    LREMPOW2 (-1005234562 % 0x20000000):  long: -468363650
+2346.    LREMPOW2 (-1005234562 % 0x40000000):  long: -1005234562
+2347.    LREMPOW2 (-1005234562 % 0x80000000):  long: -1005234562
+2348.    LREMPOW2 (-12135005234562 % 0x00000002):  long: 0
+2349.    LREMPOW2 (-12135005234562 % 0x00000004):  long: -2
+2350.    LREMPOW2 (-12135005234562 % 0x00000008):  long: -2
+2351.    LREMPOW2 (-12135005234562 % 0x00000010):  long: -2
+2352.    LREMPOW2 (-12135005234562 % 0x00000020):  long: -2
+2353.    LREMPOW2 (-12135005234562 % 0x00000040):  long: -2
+2354.    LREMPOW2 (-12135005234562 % 0x00000080):  long: -2
+2355.    LREMPOW2 (-12135005234562 % 0x00000100):  long: -130
+2356.    LREMPOW2 (-12135005234562 % 0x00000200):  long: -386
+2357.    LREMPOW2 (-12135005234562 % 0x00000400):  long: -386
+2358.    LREMPOW2 (-12135005234562 % 0x00000800):  long: -1410
+2359.    LREMPOW2 (-12135005234562 % 0x00001000):  long: -1410
+2360.    LREMPOW2 (-12135005234562 % 0x00002000):  long: -1410
+2361.    LREMPOW2 (-12135005234562 % 0x00004000):  long: -9602
+2362.    LREMPOW2 (-12135005234562 % 0x00008000):  long: -9602
+2363.    LREMPOW2 (-12135005234562 % 0x00010000):  long: -9602
+2364.    LREMPOW2 (-12135005234562 % 0x00020000):  long: -75138
+2365.    LREMPOW2 (-12135005234562 % 0x00040000):  long: -75138
+2366.    LREMPOW2 (-12135005234562 % 0x00080000):  long: -337282
+2367.    LREMPOW2 (-12135005234562 % 0x00100000):  long: -861570
+2368.    LREMPOW2 (-12135005234562 % 0x00200000):  long: -861570
+2369.    LREMPOW2 (-12135005234562 % 0x00400000):  long: -2958722
+2370.    LREMPOW2 (-12135005234562 % 0x00800000):  long: -2958722
+2371.    LREMPOW2 (-12135005234562 % 0x01000000):  long: -11347330
+2372.    LREMPOW2 (-12135005234562 % 0x02000000):  long: -11347330
+2373.    LREMPOW2 (-12135005234562 % 0x04000000):  long: -44901762
+2374.    LREMPOW2 (-12135005234562 % 0x08000000):  long: -112010626
+2375.    LREMPOW2 (-12135005234562 % 0x10000000):  long: -112010626
+2376.    LREMPOW2 (-12135005234562 % 0x20000000):  long: -112010626
+2377.    LREMPOW2 (-12135005234562 % 0x40000000):  long: -648881538
+2378.    LREMPOW2 (-12135005234562 % 0x80000000):  long: -1722623362
+2379.    LREMPOW2 (-2343552355623464626 % 0x00000002):  long: 0
+2380.    LREMPOW2 (-2343552355623464626 % 0x00000004):  long: -2
+2381.    LREMPOW2 (-2343552355623464626 % 0x00000008):  long: -2
+2382.    LREMPOW2 (-2343552355623464626 % 0x00000010):  long: -2
+2383.    LREMPOW2 (-2343552355623464626 % 0x00000020):  long: -18
+2384.    LREMPOW2 (-2343552355623464626 % 0x00000040):  long: -50
+2385.    LREMPOW2 (-2343552355623464626 % 0x00000080):  long: -50
+2386.    LREMPOW2 (-2343552355623464626 % 0x00000100):  long: -178
+2387.    LREMPOW2 (-2343552355623464626 % 0x00000200):  long: -178
+2388.    LREMPOW2 (-2343552355623464626 % 0x00000400):  long: -690
+2389.    LREMPOW2 (-2343552355623464626 % 0x00000800):  long: -1714
+2390.    LREMPOW2 (-2343552355623464626 % 0x00001000):  long: -3762
+2391.    LREMPOW2 (-2343552355623464626 % 0x00002000):  long: -3762
+2392.    LREMPOW2 (-2343552355623464626 % 0x00004000):  long: -11954
+2393.    LREMPOW2 (-2343552355623464626 % 0x00008000):  long: -28338
+2394.    LREMPOW2 (-2343552355623464626 % 0x00010000):  long: -28338
+2395.    LREMPOW2 (-2343552355623464626 % 0x00020000):  long: -93874
+2396.    LREMPOW2 (-2343552355623464626 % 0x00040000):  long: -224946
+2397.    LREMPOW2 (-2343552355623464626 % 0x00080000):  long: -487090
+2398.    LREMPOW2 (-2343552355623464626 % 0x00100000):  long: -487090
+2399.    LREMPOW2 (-2343552355623464626 % 0x00200000):  long: -1535666
+2400.    LREMPOW2 (-2343552355623464626 % 0x00400000):  long: -3632818
+2401.    LREMPOW2 (-2343552355623464626 % 0x00800000):  long: -7827122
+2402.    LREMPOW2 (-2343552355623464626 % 0x01000000):  long: -7827122
+2403.    LREMPOW2 (-2343552355623464626 % 0x02000000):  long: -24604338
+2404.    LREMPOW2 (-2343552355623464626 % 0x04000000):  long: -24604338
+2405.    LREMPOW2 (-2343552355623464626 % 0x08000000):  long: -91713202
+2406.    LREMPOW2 (-2343552355623464626 % 0x10000000):  long: -91713202
+2407.    LREMPOW2 (-2343552355623464626 % 0x20000000):  long: -91713202
+2408.    LREMPOW2 (-2343552355623464626 % 0x40000000):  long: -628584114
+2409.    LREMPOW2 (-2343552355623464626 % 0x80000000):  long: -1702325938
+2410.    ------------------- test rem 0x10001
+2411.    IREM0X10001 (0 % 0x10001):  int: 0
+2412.    IREM0X10001 (1 % 0x10001):  int: 1
+2413.    IREM0X10001 (17 % 0x10001):  int: 17
+2414.    IREM0X10001 (123 % 0x10001):  int: 123
+2415.    IREM0X10001 (1234 % 0x10001):  int: 1234
+2416.    IREM0X10001 (13247 % 0x10001):  int: 13247
+2417.    IREM0X10001 (563467 % 0x10001):  int: 39171
+2418.    IREM0X10001 (7456774 % 0x10001):  int: 51093
+2419.    IREM0X10001 (34523525 % 0x10001):  int: 51063
+2420.    IREM0X10001 (234523456 % 0x10001):  int: 32070
+2421.    IREM0X10001 (1005234562 % 0x10001):  int: 28056
+2422.    IREM0X10001 (2147483647 % 0x10001):  int: 32768
+2423.    IREM0X10001 (-1 % 0x10001):  int: -1
+2424.    IREM0X10001 (-17 % 0x10001):  int: -17
+2425.    IREM0X10001 (-123 % 0x10001):  int: -123
+2426.    IREM0X10001 (-1234 % 0x10001):  int: -1234
+2427.    IREM0X10001 (-13247 % 0x10001):  int: -13247
+2428.    IREM0X10001 (-563467 % 0x10001):  int: -39171
+2429.    IREM0X10001 (-7456774 % 0x10001):  int: -51093
+2430.    IREM0X10001 (-34523525 % 0x10001):  int: -51063
+2431.    IREM0X10001 (-234523456 % 0x10001):  int: -32070
+2432.    IREM0X10001 (-1005234562 % 0x10001):  int: -28056
+2433.    IREM0X10001 (-2147483647 % 0x10001):  int: -32768
+2434.    IREM0X10001 (-2147483648 % 0x10001):  int: -32769
+2435.    LREM0X10001 (0 % 0x10001):  long: 0
+2436.    LREM0X10001 (1 % 0x10001):  long: 1
+2437.    LREM0X10001 (17 % 0x10001):  long: 17
+2438.    LREM0X10001 (123 % 0x10001):  long: 123
+2439.    LREM0X10001 (1234 % 0x10001):  long: 1234
+2440.    LREM0X10001 (13247 % 0x10001):  long: 13247
+2441.    LREM0X10001 (563467 % 0x10001):  long: 39171
+2442.    LREM0X10001 (7456774 % 0x10001):  long: 51093
+2443.    LREM0X10001 (34523525 % 0x10001):  long: 51063
+2444.    LREM0X10001 (234523456 % 0x10001):  long: 32070
+2445.    LREM0X10001 (1005234562 % 0x10001):  long: 28056
+2446.    LREM0X10001 (1983223864 % 0x10001):  long: 8707
+2447.    LREM0X10001 (2147483646 % 0x10001):  long: 32767
+2448.    LREM0X10001 (2147483647 % 0x10001):  long: 32768
+2449.    LREM0X10001 (2147483648 % 0x10001):  long: 32769
+2450.    LREM0X10001 (10052234562 % 0x10001):  long: 38428
+2451.    LREM0X10001 (561005234562 % 0x10001):  long: 60289
+2452.    LREM0X10001 (2100527345962 % 0x10001):  long: 41444
+2453.    LREM0X10001 (34600523456287 % 0x10001):  long: 61103
+2454.    LREM0X10001 (546805234456882 % 0x10001):  long: 50879
+2455.    LREM0X10001 (1360052334734722 % 0x10001):  long: 42538
+2456.    LREM0X10001 (23456705569626354 % 0x10001):  long: 37707
+2457.    LREM0X10001 (9223372036854775807 % 0x10001):  long: 32768
+2458.    LREM0X10001 (-1 % 0x10001):  long: -1
+2459.    LREM0X10001 (-17 % 0x10001):  long: -17
+2460.    LREM0X10001 (-123 % 0x10001):  long: -123
+2461.    LREM0X10001 (-1234 % 0x10001):  long: -1234
+2462.    LREM0X10001 (-13247 % 0x10001):  long: -13247
+2463.    LREM0X10001 (-563467 % 0x10001):  long: -39171
+2464.    LREM0X10001 (-7456774 % 0x10001):  long: -51093
+2465.    LREM0X10001 (-34523525 % 0x10001):  long: -51063
+2466.    LREM0X10001 (-234523456 % 0x10001):  long: -32070
+2467.    LREM0X10001 (-1005234562 % 0x10001):  long: -28056
+2468.    LREM0X10001 (-1983223864 % 0x10001):  long: -8707
+2469.    LREM0X10001 (-2147483647 % 0x10001):  long: -32768
+2470.    LREM0X10001 (-2147483648 % 0x10001):  long: -32769
+2471.    LREM0X10001 (-10052234562 % 0x10001):  long: -38428
+2472.    LREM0X10001 (-561005234562 % 0x10001):  long: -60289
+2473.    LREM0X10001 (-2100527345962 % 0x10001):  long: -41444
+2474.    LREM0X10001 (-34600523456287 % 0x10001):  long: -61103
+2475.    LREM0X10001 (-546805234456882 % 0x10001):  long: -50879
+2476.    LREM0X10001 (-1360052334734722 % 0x10001):  long: -42538
+2477.    LREM0X10001 (-23456705569626354 % 0x10001):  long: -37707
+2478.    LREM0X10001 (-9223372036854775807 % 0x10001):  long: -32768
+2479.    LREM0X10001 (-9223372036854775808 % 0x10001):  long: -32769
+2480.    ------------------- test ints
+2481.    TESTINT CALLED WITH int: 1
+2482.                    AND int: 2
+2483.    IADD:  int: 3
+2484.    ISUB:  int: -1
+2485.    IMUL:  int: 2
+2486.    IDIV:  int: 0
+2487.    IREM:  int: 1
+2488.    INEG:  int: -1
+2489.    ISHL:  int: 4
+2490.    ISHR:  int: 0
+2491.    IUSHR: int: 0
+2492.    IAND:  int: 0
+2493.    IOR:   int: 3
+2494.    IXOR:  int: 3
+2495.    I2L:   long: 1
+2496.    I2F:   float: 1065353216
+2497.    I2D:   double: 4607182418800017408
+2498.    INT2BYTE: byte: 1
+2499.    INT2CHAR: char: 1
+2500.    INT2SHORT: short: 1
+2501.    not IFEQ
+2502.    not IFLT
+2503.    not IFLE
+2504.    not IF_ICMPEQ
+2505.    not IF_ICMPGT
+2506.    not IF_ICMPGE
+2507.    TESTINT CALLED WITH int: -1
+2508.                    AND int: 17
+2509.    IADD:  int: 16
+2510.    ISUB:  int: -18
+2511.    IMUL:  int: -17
+2512.    IDIV:  int: 0
+2513.    IREM:  int: -1
+2514.    INEG:  int: 1
+2515.    ISHL:  int: -131072
+2516.    ISHR:  int: -1
+2517.    IUSHR: int: 32767
+2518.    IAND:  int: 17
+2519.    IOR:   int: -1
+2520.    IXOR:  int: -18
+2521.    I2L:   long: -1
+2522.    I2F:   float: -1082130432
+2523.    I2D:   double: -4616189618054758400
+2524.    INT2BYTE: byte: -1
+2525.    INT2CHAR: char: 65535
+2526.    INT2SHORT: short: -1
+2527.    not IFEQ
+2528.    not IFGT
+2529.    not IFGE
+2530.    not IF_ICMPEQ
+2531.    not IF_ICMPGT
+2532.    not IF_ICMPGE
+2533.    TESTINT CALLED WITH int: -24351
+2534.                    AND int: 24123
+2535.    IADD:  int: -228
+2536.    ISUB:  int: -48474
+2537.    IMUL:  int: -587419173
+2538.    IDIV:  int: -1
+2539.    IREM:  int: -228
+2540.    INEG:  int: 24351
+2541.    ISHL:  int: 134217728
+2542.    ISHR:  int: -1
+2543.    IUSHR: int: 31
+2544.    IAND:  int: 33
+2545.    IOR:   int: -261
+2546.    IXOR:  int: -294
+2547.    I2L:   long: -24351
+2548.    I2F:   float: -960610816
+2549.    I2D:   double: -4550949270986948608
+2550.    INT2BYTE: byte: -31
+2551.    INT2CHAR: char: 41185
+2552.    INT2SHORT: short: -24351
+2553.    not IFEQ
+2554.    not IFGT
+2555.    not IFGE
+2556.    not IF_ICMPEQ
+2557.    not IF_ICMPGT
+2558.    not IF_ICMPGE
+2559.    TESTINT CALLED WITH int: 4918923
+2560.                    AND int: -441423
+2561.    IADD:  int: 4477500
+2562.    ISUB:  int: 5360346
+2563.    IMUL:  int: 1927704347
+2564.    IDIV:  int: -11
+2565.    IREM:  int: 63270
+2566.    INEG:  int: -4918923
+2567.    ISHL:  int: 487981056
+2568.    ISHR:  int: 37
+2569.    IUSHR: int: 37
+2570.    IAND:  int: 4784769
+2571.    IOR:   int: -307269
+2572.    IXOR:  int: -5092038
+2573.    I2L:   long: 4918923
+2574.    I2F:   float: 1251351830
+2575.    I2D:   double: 4707039664328933376
+2576.    INT2BYTE: byte: -117
+2577.    INT2CHAR: char: 3723
+2578.    INT2SHORT: short: 3723
+2579.    not IFEQ
+2580.    not IFLT
+2581.    not IFLE
+2582.    not IF_ICMPEQ
+2583.    not IF_ICMPLT
+2584.    not IF_ICMPLE
+2585.    TESTINT CALLED WITH int: 0
+2586.                    AND int: 0
+2587.    IADD:  int: 0
+2588.    ISUB:  int: 0
+2589.    IMUL:  int: 0
+2590.    divison by zero
+2591.    divison by zero
+2592.    INEG:  int: 0
+2593.    ISHL:  int: 0
+2594.    ISHR:  int: 0
+2595.    IUSHR: int: 0
+2596.    IAND:  int: 0
+2597.    IOR:   int: 0
+2598.    IXOR:  int: 0
+2599.    I2L:   long: 0
+2600.    I2F:   float: 0
+2601.    I2D:   double: 0
+2602.    INT2BYTE: byte: 0
+2603.    INT2CHAR: char: 0
+2604.    INT2SHORT: short: 0
+2605.    not IFNE
+2606.    not IFLT
+2607.    not IFGT
+2608.    not IF_ICMPNE
+2609.    not IF_ICMPLT
+2610.    not IF_ICMPGT
+2611.    TESTINT CALLED WITH int: -1
+2612.                    AND int: -1
+2613.    IADD:  int: -2
+2614.    ISUB:  int: 0
+2615.    IMUL:  int: 1
+2616.    IDIV:  int: 1
+2617.    IREM:  int: 0
+2618.    INEG:  int: 1
+2619.    ISHL:  int: -2147483648
+2620.    ISHR:  int: -1
+2621.    IUSHR: int: 1
+2622.    IAND:  int: -1
+2623.    IOR:   int: -1
+2624.    IXOR:  int: 0
+2625.    I2L:   long: -1
+2626.    I2F:   float: -1082130432
+2627.    I2D:   double: -4616189618054758400
+2628.    INT2BYTE: byte: -1
+2629.    INT2CHAR: char: 65535
+2630.    INT2SHORT: short: -1
+2631.    not IFEQ
+2632.    not IFGT
+2633.    not IFGE
+2634.    not IF_ICMPNE
+2635.    not IF_ICMPLT
+2636.    not IF_ICMPGT
+2637.    TESTINT CALLED WITH int: 1423487
+2638.                    AND int: 123444444
+2639.    IADD:  int: 124867931
+2640.    ISUB:  int: -122020957
+2641.    IMUL:  int: 1564274980
+2642.    IDIV:  int: 0
+2643.    IREM:  int: 1423487
+2644.    INEG:  int: -1423487
+2645.    ISHL:  int: -268435456
+2646.    ISHR:  int: 0
+2647.    IUSHR: int: 0
+2648.    IAND:  int: 1153116
+2649.    IOR:   int: 123714815
+2650.    IXOR:  int: 122561699
+2651.    I2L:   long: 1423487
+2652.    I2F:   float: 1236124664
+2653.    I2D:   double: 4698864641831337984
+2654.    INT2BYTE: byte: 127
+2655.    INT2CHAR: char: 47231
+2656.    INT2SHORT: short: -18305
+2657.    not IFEQ
+2658.    not IFLT
+2659.    not IFLE
+2660.    not IF_ICMPEQ
+2661.    not IF_ICMPGT
+2662.    not IF_ICMPGE
+2663.    TESTINT CALLED WITH int: 2147483647
+2664.                    AND int: 1
+2665.    IADD:  int: -2147483648
+2666.    ISUB:  int: 2147483646
+2667.    IMUL:  int: 2147483647
+2668.    IDIV:  int: 2147483647
+2669.    IREM:  int: 0
+2670.    INEG:  int: -2147483647
+2671.    ISHL:  int: -2
+2672.    ISHR:  int: 1073741823
+2673.    IUSHR: int: 1073741823
+2674.    IAND:  int: 1
+2675.    IOR:   int: 2147483647
+2676.    IXOR:  int: 2147483646
+2677.    I2L:   long: 2147483647
+2678.    I2F:   float: 1325400064
+2679.    I2D:   double: 4746794007244308480
+2680.    INT2BYTE: byte: -1
+2681.    INT2CHAR: char: 65535
+2682.    INT2SHORT: short: -1
+2683.    not IFEQ
+2684.    not IFLT
+2685.    not IFLE
+2686.    not IF_ICMPEQ
+2687.    not IF_ICMPLT
+2688.    not IF_ICMPLE
+2689.    TESTINT CALLED WITH int: 0
+2690.                    AND int: 2147483647
+2691.    IADD:  int: 2147483647
+2692.    ISUB:  int: -2147483647
+2693.    IMUL:  int: 0
+2694.    IDIV:  int: 0
+2695.    IREM:  int: 0
+2696.    INEG:  int: 0
+2697.    ISHL:  int: 0
+2698.    ISHR:  int: 0
+2699.    IUSHR: int: 0
+2700.    IAND:  int: 0
+2701.    IOR:   int: 2147483647
+2702.    IXOR:  int: 2147483647
+2703.    I2L:   long: 0
+2704.    I2F:   float: 0
+2705.    I2D:   double: 0
+2706.    INT2BYTE: byte: 0
+2707.    INT2CHAR: char: 0
+2708.    INT2SHORT: short: 0
+2709.    not IFNE
+2710.    not IFLT
+2711.    not IFGT
+2712.    not IF_ICMPEQ
+2713.    not IF_ICMPGT
+2714.    not IF_ICMPGE
+2715.    TESTINT CALLED WITH int: 13107
+2716.                    AND int: 143444
+2717.    IADD:  int: 156551
+2718.    ISUB:  int: -130337
+2719.    IMUL:  int: 1880120508
+2720.    IDIV:  int: 0
+2721.    IREM:  int: 13107
+2722.    INEG:  int: -13107
+2723.    ISHL:  int: 858783744
+2724.    ISHR:  int: 0
+2725.    IUSHR: int: 0
+2726.    IAND:  int: 12304
+2727.    IOR:   int: 144247
+2728.    IXOR:  int: 131943
+2729.    I2L:   long: 13107
+2730.    I2F:   float: 1179438080
+2731.    I2D:   double: 4668431263781093376
+2732.    INT2BYTE: byte: 51
+2733.    INT2CHAR: char: 13107
+2734.    INT2SHORT: short: 13107
+2735.    not IFEQ
+2736.    not IFLT
+2737.    not IFLE
+2738.    not IF_ICMPEQ
+2739.    not IF_ICMPGT
+2740.    not IF_ICMPGE
+2741.    TESTINT CALLED WITH int: 4444441
+2742.                    AND int: 12342
+2743.    IADD:  int: 4456783
+2744.    ISUB:  int: 4432099
+2745.    IMUL:  int: -981284026
+2746.    IDIV:  int: 360
+2747.    IREM:  int: 1321
+2748.    INEG:  int: -4444441
+2749.    ISHL:  int: 1178599424
+2750.    ISHR:  int: 1
+2751.    IUSHR: int: 1
+2752.    IAND:  int: 4112
+2753.    IOR:   int: 4452671
+2754.    IXOR:  int: 4448559
+2755.    I2L:   long: 4444441
+2756.    I2F:   float: 1250402866
+2757.    I2D:   double: 4706530193160798208
+2758.    INT2BYTE: byte: 25
+2759.    INT2CHAR: char: 53529
+2760.    INT2SHORT: short: -12007
+2761.    not IFEQ
+2762.    not IFLT
+2763.    not IFLE
+2764.    not IF_ICMPEQ
+2765.    not IF_ICMPLT
+2766.    not IF_ICMPLE
+2767.    ------------------- test longs
+2768.    TESTLONG called with long: 1
+2769.                     AND long: 2
+2770.    LADD:  long: 3
+2771.    LSUB:  long: -1
+2772.    LMUL:  long: 2
+2773.    LDIV:  long: 0
+2774.    LREM:  long: 1
+2775.    LNEG:  long: -1
+2776.    LSHL:  long: 4
+2777.    LSHR:  long: 0
+2778.    LUSHR: long: 0
+2779.    LAND:  long: 0
+2780.    LOR:   long: 3
+2781.    LXOR:  long: 3
+2782.    L2I:   int: 1
+2783.    L2F:   float: 1065353216
+2784.    L2D:   double: 4607182418800017408
+2785.    LCMP a == b : false
+2786.    LCMP a != b : true
+2787.    LCMP a <  b : true
+2788.    LCMP a <= b : true
+2789.    LCMP a >  b : false
+2790.    LCMP a >= b : false
+2791.    not IF_LCMPNE
+2792.    not IF_LCMPLT
+2793.    not IF_LCMPLE
+2794.    TESTLONG called with long: -1
+2795.                     AND long: 17
+2796.    LADD:  long: 16
+2797.    LSUB:  long: -18
+2798.    LMUL:  long: -17
+2799.    LDIV:  long: 0
+2800.    LREM:  long: -1
+2801.    LNEG:  long: 1
+2802.    LSHL:  long: -131072
+2803.    LSHR:  long: -1
+2804.    LUSHR: long: 140737488355327
+2805.    LAND:  long: 17
+2806.    LOR:   long: -1
+2807.    LXOR:  long: -18
+2808.    L2I:   int: -1
+2809.    L2F:   float: -1082130432
+2810.    L2D:   double: -4616189618054758400
+2811.    LCMP a == b : false
+2812.    LCMP a != b : true
+2813.    LCMP a <  b : true
+2814.    LCMP a <= b : true
+2815.    LCMP a >  b : false
+2816.    LCMP a >= b : false
+2817.    not IF_LCMPNE
+2818.    not IF_LCMPLT
+2819.    not IF_LCMPLE
+2820.    TESTLONG called with long: -24351
+2821.                     AND long: 24123
+2822.    LADD:  long: -228
+2823.    LSUB:  long: -48474
+2824.    LMUL:  long: -587419173
+2825.    LDIV:  long: -1
+2826.    LREM:  long: -228
+2827.    LNEG:  long: 24351
+2828.    LSHL:  long: 576460752303423488
+2829.    LSHR:  long: -1
+2830.    LUSHR: long: 31
+2831.    LAND:  long: 33
+2832.    LOR:   long: -261
+2833.    LXOR:  long: -294
+2834.    L2I:   int: -24351
+2835.    L2F:   float: -960610816
+2836.    L2D:   double: -4550949270986948608
+2837.    LCMP a == b : false
+2838.    LCMP a != b : true
+2839.    LCMP a <  b : true
+2840.    LCMP a <= b : true
+2841.    LCMP a >  b : false
+2842.    LCMP a >= b : false
+2843.    not IF_LCMPNE
+2844.    not IF_LCMPLT
+2845.    not IF_LCMPLE
+2846.    TESTLONG called with long: 4918923241323
+2847.                     AND long: -4423423234231423
+2848.    LADD:  long: -4418504310990100
+2849.    LSUB:  long: 4428342157472746
+2850.    LMUL:  long: -4222930371437023765
+2851.    LDIV:  long: 0
+2852.    LREM:  long: 4918923241323
+2853.    LNEG:  long: -4918923241323
+2854.    LSHL:  long: 9837846482646
+2855.    LSHR:  long: 2459461620661
+2856.    LUSHR: long: 2459461620661
+2857.    LAND:  long: 451041567489
+2858.    LOR:   long: -4418955352557589
+2859.    LXOR:  long: -4419406394125078
+2860.    L2I:   int: 1185687403
+2861.    L2F:   float: 1418668246
+2862.    L2D:   double: 4796866980921322496
+2863.    LCMP a == b : false
+2864.    LCMP a != b : true
+2865.    LCMP a <  b : false
+2866.    LCMP a <= b : false
+2867.    LCMP a >  b : true
+2868.    LCMP a >= b : true
+2869.    not IF_LCMPNE
+2870.    not IF_LCMPGT
+2871.    not IF_LCMPGE
+2872.    TESTLONG called with long: 0
+2873.                     AND long: 0
+2874.    LADD:  long: 0
+2875.    LSUB:  long: 0
+2876.    LMUL:  long: 0
+2877.    divison by zero
+2878.    divison by zero
+2879.    LNEG:  long: 0
+2880.    LSHL:  long: 0
+2881.    LSHR:  long: 0
+2882.    LUSHR: long: 0
+2883.    LAND:  long: 0
+2884.    LOR:   long: 0
+2885.    LXOR:  long: 0
+2886.    L2I:   int: 0
+2887.    L2F:   float: 0
+2888.    L2D:   double: 0
+2889.    LCMP a == b : true
+2890.    LCMP a != b : false
+2891.    LCMP a <  b : false
+2892.    LCMP a <= b : true
+2893.    LCMP a >  b : false
+2894.    LCMP a >= b : true
+2895.    not IF_LCMPEQ
+2896.    not IF_LCMPLE
+2897.    not IF_LCMPGE
+2898.    TESTLONG called with long: -1
+2899.                     AND long: -1
+2900.    LADD:  long: -2
+2901.    LSUB:  long: 0
+2902.    LMUL:  long: 1
+2903.    LDIV:  long: 1
+2904.    LREM:  long: 0
+2905.    LNEG:  long: 1
+2906.    LSHL:  long: -9223372036854775808
+2907.    LSHR:  long: -1
+2908.    LUSHR: long: 1
+2909.    LAND:  long: -1
+2910.    LOR:   long: -1
+2911.    LXOR:  long: 0
+2912.    L2I:   int: -1
+2913.    L2F:   float: -1082130432
+2914.    L2D:   double: -4616189618054758400
+2915.    LCMP a == b : true
+2916.    LCMP a != b : false
+2917.    LCMP a <  b : false
+2918.    LCMP a <= b : true
+2919.    LCMP a >  b : false
+2920.    LCMP a >= b : true
+2921.    not IF_LCMPEQ
+2922.    not IF_LCMPLE
+2923.    not IF_LCMPGE
+2924.    TESTLONG called with long: 1423487
+2925.                     AND long: 123444442344
+2926.    LADD:  long: 123445865831
+2927.    LSUB:  long: -123443018857
+2928.    LMUL:  long: 175721558898933528
+2929.    LDIV:  long: 0
+2930.    LREM:  long: 1423487
+2931.    LNEG:  long: -1423487
+2932.    LSHL:  long: 1565140508487974912
+2933.    LSHR:  long: 0
+2934.    LUSHR: long: 0
+2935.    LAND:  long: 1355880
+2936.    LOR:   long: 123444509951
+2937.    LXOR:  long: 123443154071
+2938.    L2I:   int: 1423487
+2939.    L2F:   float: 1236124664
+2940.    L2D:   double: 4698864641831337984
+2941.    LCMP a == b : false
+2942.    LCMP a != b : true
+2943.    LCMP a <  b : true
+2944.    LCMP a <= b : true
+2945.    LCMP a >  b : false
+2946.    LCMP a >= b : false
+2947.    not IF_LCMPNE
+2948.    not IF_LCMPLT
+2949.    not IF_LCMPLE
+2950.    TESTLONG called with long: 9223372036854775807
+2951.                     AND long: 1
+2952.    LADD:  long: -9223372036854775808
+2953.    LSUB:  long: 9223372036854775806
+2954.    LMUL:  long: 9223372036854775807
+2955.    LDIV:  long: 9223372036854775807
+2956.    LREM:  long: 0
+2957.    LNEG:  long: -9223372036854775807
+2958.    LSHL:  long: -2
+2959.    LSHR:  long: 4611686018427387903
+2960.    LUSHR: long: 4611686018427387903
+2961.    LAND:  long: 1
+2962.    LOR:   long: 9223372036854775807
+2963.    LXOR:  long: 9223372036854775806
+2964.    L2I:   int: -1
+2965.    L2F:   float: 1593835520
+2966.    L2D:   double: 4890909195324358656
+2967.    LCMP a == b : false
+2968.    LCMP a != b : true
+2969.    LCMP a <  b : false
+2970.    LCMP a <= b : false
+2971.    LCMP a >  b : true
+2972.    LCMP a >= b : true
+2973.    not IF_LCMPNE
+2974.    not IF_LCMPGT
+2975.    not IF_LCMPGE
+2976.    TESTLONG called with long: 0
+2977.                     AND long: 9223372036854775807
+2978.    LADD:  long: 9223372036854775807
+2979.    LSUB:  long: -9223372036854775807
+2980.    LMUL:  long: 0
+2981.    LDIV:  long: 0
+2982.    LREM:  long: 0
+2983.    LNEG:  long: 0
+2984.    LSHL:  long: 0
+2985.    LSHR:  long: 0
+2986.    LUSHR: long: 0
+2987.    LAND:  long: 0
+2988.    LOR:   long: 9223372036854775807
+2989.    LXOR:  long: 9223372036854775807
+2990.    L2I:   int: 0
+2991.    L2F:   float: 0
+2992.    L2D:   double: 0
+2993.    LCMP a == b : false
+2994.    LCMP a != b : true
+2995.    LCMP a <  b : true
+2996.    LCMP a <= b : true
+2997.    LCMP a >  b : false
+2998.    LCMP a >= b : false
+2999.    not IF_LCMPNE
+3000.    not IF_LCMPLT
+3001.    not IF_LCMPLE
+3002.    TESTLONG called with long: 13107
+3003.                     AND long: 143444
+3004.    LADD:  long: 156551
+3005.    LSUB:  long: -130337
+3006.    LMUL:  long: 1880120508
+3007.    LDIV:  long: 0
+3008.    LREM:  long: 13107
+3009.    LNEG:  long: -13107
+3010.    LSHL:  long: 13743685632
+3011.    LSHR:  long: 0
+3012.    LUSHR: long: 0
+3013.    LAND:  long: 12304
+3014.    LOR:   long: 144247
+3015.    LXOR:  long: 131943
+3016.    L2I:   int: 13107
+3017.    L2F:   float: 1179438080
+3018.    L2D:   double: 4668431263781093376
+3019.    LCMP a == b : false
+3020.    LCMP a != b : true
+3021.    LCMP a <  b : true
+3022.    LCMP a <= b : true
+3023.    LCMP a >  b : false
+3024.    LCMP a >= b : false
+3025.    not IF_LCMPNE
+3026.    not IF_LCMPLT
+3027.    not IF_LCMPLE
+3028.    TESTLONG called with long: 4444441
+3029.                     AND long: 12342
+3030.    LADD:  long: 4456783
+3031.    LSUB:  long: 4432099
+3032.    LMUL:  long: 54853290822
+3033.    LDIV:  long: 360
+3034.    LREM:  long: 1321
+3035.    LNEG:  long: -4444441
+3036.    LSHL:  long: 5062045981164437504
+3037.    LSHR:  long: 0
+3038.    LUSHR: long: 0
+3039.    LAND:  long: 4112
+3040.    LOR:   long: 4452671
+3041.    LXOR:  long: 4448559
+3042.    L2I:   int: 4444441
+3043.    L2F:   float: 1250402866
+3044.    L2D:   double: 4706530193160798208
+3045.    LCMP a == b : false
+3046.    LCMP a != b : true
+3047.    LCMP a <  b : false
+3048.    LCMP a <= b : false
+3049.    LCMP a >  b : true
+3050.    LCMP a >= b : true
+3051.    not IF_LCMPNE
+3052.    not IF_LCMPGT
+3053.    not IF_LCMPGE
+3054.    ------------------- test floats
+3055.    TESTFLOAT called with float: 1065353216
+3056.                      AND float: 1073917985
+3057.    FADD:  float: 1078112289
+3058.    FSUB:  float: -1081778110
+3059.    FMUL:  float: 1073917985
+3060.    FDIV:  float: 1056619533
+3061.    FREM:  float: 1065353216
+3062.    F2I:   int: 1
+3063.    F2L:   long: 1
+3064.    F2D:   double: 4607182418800017408
+3065.    FCMP a!=b
+3066.    FCMP a<b
+3067.    FCMP a<=b
+3068.    TESTFLOAT called with float: -1080167498
+3069.                      AND float: 1099662623
+3070.    FADD:  float: 1099015652
+3071.    FSUB:  float: -1047174054
+3072.    FMUL:  float: -1045681427
+3073.    FDIV:  float: -1114576645
+3074.    FREM:  float: -1080167498
+3075.    F2I:   int: -1
+3076.    F2L:   long: -1
+3077.    F2D:   double: -4615135775887982592
+3078.    FCMP a!=b
+3079.    FCMP a<b
+3080.    FCMP a<=b
+3081.    TESTFLOAT called with float: -960610816
+3082.                      AND float: 1186756096
+3083.    FADD:  float: -1016856576
+3084.    FSUB:  float: -952280576
+3085.    FMUL:  float: -838070983
+3086.    FDIV:  float: -1082051147
+3087.    FREM:  float: -1016856576
+3088.    F2I:   int: -24351
+3089.    F2L:   long: -24351
+3090.    F2D:   double: -4550949270986948608
+3091.    FCMP a!=b
+3092.    FCMP a<b
+3093.    FCMP a<=b
+3094.    TESTFLOAT called with float: 1036831949
+3095.                      AND float: 1151033344
+3096.    FADD:  float: 1151034163
+3097.    FSUB:  float: -996451123
+3098.    FMUL:  float: 1123588506
+3099.    FDIV:  float: 950581132
+3100.    FREM:  float: 1036831949
+3101.    F2I:   int: 0
+3102.    F2L:   long: 0
+3103.    F2D:   double: 4591870180174331904
+3104.    FCMP a!=b
+3105.    FCMP a<b
+3106.    FCMP a<=b
+3107.    TESTFLOAT called with float: 0
+3108.                      AND float: -1005921678
+3109.    FADD:  float: -1005921678
+3110.    FSUB:  float: 1141561970
+3111.    FMUL:  float: -2147483648
+3112.    FDIV:  float: -2147483648
+3113.    FREM:  float: 0
+3114.    F2I:   int: 0
+3115.    F2L:   long: 0
+3116.    F2D:   double: 0
+3117.    FCMP a!=b
+3118.    FCMP a>b
+3119.    FCMP a>=b
+3120.    TESTFLOAT called with float: 1117388800
+3121.                      AND float: -1005928448
+3122.    FADD:  float: -1007747072
+3123.    FSUB:  float: 1142816768
+3124.    FMUL:  float: -953749760
+3125.    FDIV:  float: -1106374265
+3126.    FREM:  float: 1117388800
+3127.    F2I:   int: 77
+3128.    F2L:   long: 77
+3129.    F2D:   double: 4635118810238550016
+3130.    FCMP a!=b
+3131.    FCMP a>b
+3132.    FCMP a>=b
+3133.    TESTFLOAT called with float: 1325400059
+3134.                      AND float: -922251744
+3135.    FADD:  float: 1325395721
+3136.    FSUB:  float: 1325402230
+3137.    FMUL:  float: -662204899
+3138.    FDIV:  float: -982402220
+3139.    FREM:  float: 1220539712
+3140.    F2I:   int: 2147483008
+3141.    F2L:   long: 2147483008
+3142.    F2D:   double: 4746794004564148224
+3143.    FCMP a!=b
+3144.    FCMP a>b
+3145.    FCMP a>=b
+3146.    ------------------- test doubles
+3147.    TESTDOUBLE called with double: 4607182418800017408
+3148.                       AND double: 4611780594144116736
+3149.    DADD:  double: 4614032393957801984
+3150.    DSUB:  double: -4616000466621300736
+3151.    DMUL:  double: 4611780594144116736
+3152.    DDIV:  double: 4602493558224229689
+3153.    DREM:  double: 4607182418800017408
+3154.    D2I:   int: 1
+3155.    D2L:   long: 1
+3156.    D2F:   float: 1065353216
+3157.    DCMP a!=b
+3158.    DCMP a<b
+3159.    DCMP a<=b
+3160.    TESTDOUBLE called with double: -4615135775887982592
+3161.                       AND double: 4625602141426286592
+3162.    DADD:  double: 4625254801314152448
+3163.    DSUB:  double: -4597422555316355072
+3164.    DMUL:  double: -4596621207431527808
+3165.    DDIV:  double: -4633609045894396972
+3166.    DREM:  double: -4615135775887982592
+3167.    D2I:   int: -1
+3168.    D2L:   long: -1
+3169.    D2F:   float: -1080167498
+3170.    DCMP a!=b
+3171.    DCMP a<b
+3172.    DCMP a<=b
+3173.    TESTDOUBLE called with double: -4550949270986948608
+3174.                       AND double: 4672360093705043968
+3175.    DADD:  double: -4581145983454281728
+3176.    DSUB:  double: -4546477007440969728
+3177.    DMUL:  double: -4485161199314403328
+3178.    DDIV:  double: -4616147052009281450
+3179.    DREM:  double: -4581145983454281728
+3180.    D2I:   int: -24351
+3181.    D2L:   long: -24351
+3182.    D2F:   float: -960610816
+3183.    DCMP a!=b
+3184.    DCMP a<b
+3185.    DCMP a<=b
+3186.    TESTDOUBLE called with double: 4591870180174331904
+3187.                       AND double: 4653181587259654144
+3188.    DADD:  double: 4653182027064311808
+3189.    DSUB:  double: -4570190889399779328
+3190.    DMUL:  double: 4638447251968491520
+3191.    DDIV:  double: 4545564625306141371
+3192.    DREM:  double: 4591870180174331904
+3193.    D2I:   int: 0
+3194.    D2L:   long: 0
+3195.    D2F:   float: 1036831949
+3196.    DCMP a!=b
+3197.    DCMP a<b
+3198.    DCMP a<=b
+3199.    TESTDOUBLE called with double: 0
+3200.                       AND double: -4575275354792394752
+3201.    DADD:  double: -4575275354792394752
+3202.    DSUB:  double: 4648096682062381056
+3203.    DMUL:  double: -9223372036854775808
+3204.    DDIV:  double: -9223372036854775808
+3205.    DREM:  double: 0
+3206.    D2I:   int: 0
+3207.    D2L:   long: 0
+3208.    D2F:   float: 0
+3209.    DCMP a!=b
+3210.    DCMP a>b
+3211.    DCMP a>=b
+3212.    TESTDOUBLE called with double: 4635118810238550016
+3213.                       AND double: -4575278989408468992
+3214.    DADD:  double: -4576255355733934080
+3215.    DSUB:  double: 4648770346609016832
+3216.    DMUL:  double: -4547265769594945536
+3217.    DDIV:  double: -4629205426707555293
+3218.    DREM:  double: 4635118810238550016
+3219.    D2I:   int: 77
+3220.    D2L:   long: 77
+3221.    D2F:   float: 1117388800
+3222.    DCMP a!=b
+3223.    DCMP a>b
+3224.    DCMP a>=b
+3225.    TESTDOUBLE called with double: 4746794004564148224
+3226.                       AND double: -4530355401018834944
+3227.    DADD:  double: 4746791675743961088
+3228.    DSUB:  double: 4746795170316419072
+3229.    DMUL:  double: -4390743813991748608
+3230.    DDIV:  double: -4562648441847017049
+3231.    DREM:  double: 4690497534437621760
+3232.    D2I:   int: 2147483008
+3233.    D2L:   long: 2147483008
+3234.    D2F:   float: 1325400059
+3235.    DCMP a!=b
+3236.    DCMP a>b
+3237.    DCMP a>=b
+3238.    =================== end of test =========================
+3239.    
\ No newline at end of file
index 22093859c1180d676ad3c2b1867ed5ecbb7e4a0c..4720376a43cf6404b78f57a3070968f027cf68b5 100644 (file)
@@ -53,6 +53,102 @@ public class jctest implements jcinterface {
                testconst (-24123,     -4918923241323L);
                testconst (-243511,    -4423423234231423L);
                testconst (0x7fffffff, 0x7fffffffffffffffL);
+               testconst (0x80000000, 0x8000000000000000L);
+
+               p ("------------------- test rem consts");
+               testremconst(17);
+               testremconst(12347);
+               testremconst(8893427);
+               testremconst(1005234562);
+               testremconst(-17);
+               testremconst(-12347);
+               testremconst(-8893427);
+               testremconst(-1005234562);
+
+               testremconst(17L);
+               testremconst(12347L);
+               testremconst(8893427L);
+               testremconst(1005234562L);
+               testremconst(12135005234562L);
+               testremconst(2343552355623464626L);
+               testremconst(-17L);
+               testremconst(-12347L);
+               testremconst(-8893427L);
+               testremconst(-1005234562L);
+               testremconst(-12135005234562L);
+               testremconst(-2343552355623464626L);
+
+               p ("------------------- test rem 0x10001");
+               testrem0x10001(0);
+               testrem0x10001(1);
+               testrem0x10001(17);
+               testrem0x10001(123);
+               testrem0x10001(1234);
+               testrem0x10001(13247);
+               testrem0x10001(563467);
+               testrem0x10001(7456774);
+               testrem0x10001(34523525);
+               testrem0x10001(234523456);
+               testrem0x10001(1005234562);
+               testrem0x10001(2147483647);
+               testrem0x10001(-1);
+               testrem0x10001(-17);
+               testrem0x10001(-123);
+               testrem0x10001(-1234);
+               testrem0x10001(-13247);
+               testrem0x10001(-563467);
+               testrem0x10001(-7456774);
+               testrem0x10001(-34523525);
+               testrem0x10001(-234523456);
+               testrem0x10001(-1005234562);
+               testrem0x10001(-2147483647);
+               testrem0x10001(-2147483648);
+
+               testrem0x10001(0L);
+               testrem0x10001(1L);
+               testrem0x10001(17L);
+               testrem0x10001(123L);
+               testrem0x10001(1234L);
+               testrem0x10001(13247L);
+               testrem0x10001(563467L);
+               testrem0x10001(7456774L);
+               testrem0x10001(34523525L);
+               testrem0x10001(234523456L);
+               testrem0x10001(1005234562L);
+               testrem0x10001(1983223864L);
+               testrem0x10001(2147483646L);
+               testrem0x10001(2147483647L);
+               testrem0x10001(2147483648L);
+               testrem0x10001(10052234562L);
+               testrem0x10001(561005234562L);
+               testrem0x10001(2100527345962L);
+               testrem0x10001(34600523456287L);
+               testrem0x10001(546805234456882L);
+               testrem0x10001(1360052334734722L);
+               testrem0x10001(23456705569626354L);
+               testrem0x10001(9223372036854775807L);
+               testrem0x10001(-1L);
+               testrem0x10001(-17L);
+               testrem0x10001(-123L);
+               testrem0x10001(-1234L);
+               testrem0x10001(-13247L);
+               testrem0x10001(-563467L);
+               testrem0x10001(-7456774L);
+               testrem0x10001(-34523525L);
+               testrem0x10001(-234523456L);
+               testrem0x10001(-1005234562L);
+               testrem0x10001(-1983223864L);
+               testrem0x10001(-2147483647L);
+               testrem0x10001(-2147483648L);
+               testrem0x10001(-10052234562L);
+               testrem0x10001(-561005234562L);
+               testrem0x10001(-2100527345962L);
+               testrem0x10001(-34600523456287L);
+               testrem0x10001(-546805234456882L);
+               testrem0x10001(-1360052334734722L);
+               testrem0x10001(-23456705569626354L);
+               testrem0x10001(-9223372036854775807L);
+               testrem0x10001(-9223372036854775808L);
 
                p ("------------------- test ints");
                testint (1,2);
@@ -995,8 +1091,86 @@ public class jctest implements jcinterface {
                if (!(l <= (-32769))) p("not IF_LCMPLE", (-32769));
                if (!(l >  (-32769))) p("not IF_LCMPGT", (-32769));
                if (!(l >= (-32769))) p("not IF_LCMPGE", (-32769));
+
        }
 
+       static public void testrem0x10001(int a) {
+               p("IREM0X10001 (" + a + " % 0x10001):  ", a % 0x10001);
+               }
+
+       static public void testrem0x10001(long a) {
+               p("LREM0X10001 (" + a + " % 0x10001):  ", a % 0x10001L);
+               }
+
+       static public void testremconst(int a) {
+               p("IREMPOW2 (" + a + " % 0x00000002):  ", a % 0x00000002);
+               p("IREMPOW2 (" + a + " % 0x00000004):  ", a % 0x00000004);
+               p("IREMPOW2 (" + a + " % 0x00000008):  ", a % 0x00000008);
+               p("IREMPOW2 (" + a + " % 0x00000010):  ", a % 0x00000010);
+               p("IREMPOW2 (" + a + " % 0x00000020):  ", a % 0x00000020);
+               p("IREMPOW2 (" + a + " % 0x00000040):  ", a % 0x00000040);
+               p("IREMPOW2 (" + a + " % 0x00000080):  ", a % 0x00000080);
+               p("IREMPOW2 (" + a + " % 0x00000100):  ", a % 0x00000100);
+               p("IREMPOW2 (" + a + " % 0x00000200):  ", a % 0x00000200);
+               p("IREMPOW2 (" + a + " % 0x00000400):  ", a % 0x00000400);
+               p("IREMPOW2 (" + a + " % 0x00000800):  ", a % 0x00000800);
+               p("IREMPOW2 (" + a + " % 0x00001000):  ", a % 0x00001000);
+               p("IREMPOW2 (" + a + " % 0x00002000):  ", a % 0x00002000);
+               p("IREMPOW2 (" + a + " % 0x00004000):  ", a % 0x00004000);
+               p("IREMPOW2 (" + a + " % 0x00008000):  ", a % 0x00008000);
+               p("IREMPOW2 (" + a + " % 0x00010000):  ", a % 0x00010000);
+               p("IREMPOW2 (" + a + " % 0x00020000):  ", a % 0x00020000);
+               p("IREMPOW2 (" + a + " % 0x00040000):  ", a % 0x00040000);
+               p("IREMPOW2 (" + a + " % 0x00080000):  ", a % 0x00080000);
+               p("IREMPOW2 (" + a + " % 0x00100000):  ", a % 0x00100000);
+               p("IREMPOW2 (" + a + " % 0x00200000):  ", a % 0x00200000);
+               p("IREMPOW2 (" + a + " % 0x00400000):  ", a % 0x00400000);
+               p("IREMPOW2 (" + a + " % 0x00800000):  ", a % 0x00800000);
+               p("IREMPOW2 (" + a + " % 0x01000000):  ", a % 0x01000000);
+               p("IREMPOW2 (" + a + " % 0x02000000):  ", a % 0x02000000);
+               p("IREMPOW2 (" + a + " % 0x04000000):  ", a % 0x04000000);
+               p("IREMPOW2 (" + a + " % 0x08000000):  ", a % 0x08000000);
+               p("IREMPOW2 (" + a + " % 0x10000000):  ", a % 0x10000000);
+               p("IREMPOW2 (" + a + " % 0x20000000):  ", a % 0x20000000);
+               p("IREMPOW2 (" + a + " % 0x40000000):  ", a % 0x40000000);
+               p("IREMPOW2 (" + a + " % 0x80000000):  ", a % 0x80000000);
+               }
+
+       static public void testremconst(long a) {
+               p("LREMPOW2 (" + a + " % 0x00000002):  ", a % 0x00000002L);
+               p("LREMPOW2 (" + a + " % 0x00000004):  ", a % 0x00000004L);
+               p("LREMPOW2 (" + a + " % 0x00000008):  ", a % 0x00000008L);
+               p("LREMPOW2 (" + a + " % 0x00000010):  ", a % 0x00000010L);
+               p("LREMPOW2 (" + a + " % 0x00000020):  ", a % 0x00000020L);
+               p("LREMPOW2 (" + a + " % 0x00000040):  ", a % 0x00000040L);
+               p("LREMPOW2 (" + a + " % 0x00000080):  ", a % 0x00000080L);
+               p("LREMPOW2 (" + a + " % 0x00000100):  ", a % 0x00000100L);
+               p("LREMPOW2 (" + a + " % 0x00000200):  ", a % 0x00000200L);
+               p("LREMPOW2 (" + a + " % 0x00000400):  ", a % 0x00000400L);
+               p("LREMPOW2 (" + a + " % 0x00000800):  ", a % 0x00000800L);
+               p("LREMPOW2 (" + a + " % 0x00001000):  ", a % 0x00001000L);
+               p("LREMPOW2 (" + a + " % 0x00002000):  ", a % 0x00002000L);
+               p("LREMPOW2 (" + a + " % 0x00004000):  ", a % 0x00004000L);
+               p("LREMPOW2 (" + a + " % 0x00008000):  ", a % 0x00008000L);
+               p("LREMPOW2 (" + a + " % 0x00010000):  ", a % 0x00010000L);
+               p("LREMPOW2 (" + a + " % 0x00020000):  ", a % 0x00020000L);
+               p("LREMPOW2 (" + a + " % 0x00040000):  ", a % 0x00040000L);
+               p("LREMPOW2 (" + a + " % 0x00080000):  ", a % 0x00080000L);
+               p("LREMPOW2 (" + a + " % 0x00100000):  ", a % 0x00100000L);
+               p("LREMPOW2 (" + a + " % 0x00200000):  ", a % 0x00200000L);
+               p("LREMPOW2 (" + a + " % 0x00400000):  ", a % 0x00400000L);
+               p("LREMPOW2 (" + a + " % 0x00800000):  ", a % 0x00800000L);
+               p("LREMPOW2 (" + a + " % 0x01000000):  ", a % 0x01000000L);
+               p("LREMPOW2 (" + a + " % 0x02000000):  ", a % 0x02000000L);
+               p("LREMPOW2 (" + a + " % 0x04000000):  ", a % 0x04000000L);
+               p("LREMPOW2 (" + a + " % 0x08000000):  ", a % 0x08000000L);
+               p("LREMPOW2 (" + a + " % 0x10000000):  ", a % 0x10000000L);
+               p("LREMPOW2 (" + a + " % 0x20000000):  ", a % 0x20000000L);
+               p("LREMPOW2 (" + a + " % 0x40000000):  ", a % 0x40000000L);
+               p("LREMPOW2 (" + a + " % 0x80000000):  ", a % 0x80000000L);
+               }
+
+
        static public void testint(int a, int b) {
                p ("TESTINT CALLED WITH ", a);
                p ("                AND ", b);