blob: 75316d80b3e1d4263920a13274103125682206a5 [file] [log] [blame]
This test checks the behavior of the ToInt32 and ToUInt32 conversions defined in the ecma spec. This tests the following permutations of values: CONVERT(SIGN * VALUE * 2^EXP) where: CONVERT = ToInt32|ToUInt32 (using either '>> 0' or '>> 0') SIGN = 1|-1 VALUE = 1|3|5|0x40000001|0x80000001|0x100000001|0x7FFFFFFF|0xFFFFFFFF|0x1FFFFFFFF|0x10000000100001 (-55 >= EXP >= 33) Also test the special value +/-0, +/-Inf, and NaN (also testig signed NaN)
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS 2.7755575615628914e-17 >> 0 is 0
PASS -2.7755575615628914e-17 >> 0 is 0
PASS 2.7755575615628914e-17 >>> 0 is 0
PASS -2.7755575615628914e-17 >>> 0 is 0
PASS 5.551115123125783e-17 >> 0 is 0
PASS -5.551115123125783e-17 >> 0 is 0
PASS 5.551115123125783e-17 >>> 0 is 0
PASS -5.551115123125783e-17 >>> 0 is 0
PASS 1.1102230246251565e-16 >> 0 is 0
PASS -1.1102230246251565e-16 >> 0 is 0
PASS 1.1102230246251565e-16 >>> 0 is 0
PASS -1.1102230246251565e-16 >>> 0 is 0
PASS 2.220446049250313e-16 >> 0 is 0
PASS -2.220446049250313e-16 >> 0 is 0
PASS 2.220446049250313e-16 >>> 0 is 0
PASS -2.220446049250313e-16 >>> 0 is 0
PASS 4.440892098500626e-16 >> 0 is 0
PASS -4.440892098500626e-16 >> 0 is 0
PASS 4.440892098500626e-16 >>> 0 is 0
PASS -4.440892098500626e-16 >>> 0 is 0
PASS 8.881784197001252e-16 >> 0 is 0
PASS -8.881784197001252e-16 >> 0 is 0
PASS 8.881784197001252e-16 >>> 0 is 0
PASS -8.881784197001252e-16 >>> 0 is 0
PASS 1.7763568394002505e-15 >> 0 is 0
PASS -1.7763568394002505e-15 >> 0 is 0
PASS 1.7763568394002505e-15 >>> 0 is 0
PASS -1.7763568394002505e-15 >>> 0 is 0
PASS 3.552713678800501e-15 >> 0 is 0
PASS -3.552713678800501e-15 >> 0 is 0
PASS 3.552713678800501e-15 >>> 0 is 0
PASS -3.552713678800501e-15 >>> 0 is 0
PASS 7.105427357601002e-15 >> 0 is 0
PASS -7.105427357601002e-15 >> 0 is 0
PASS 7.105427357601002e-15 >>> 0 is 0
PASS -7.105427357601002e-15 >>> 0 is 0
PASS 1.4210854715202004e-14 >> 0 is 0
PASS -1.4210854715202004e-14 >> 0 is 0
PASS 1.4210854715202004e-14 >>> 0 is 0
PASS -1.4210854715202004e-14 >>> 0 is 0
PASS 2.842170943040401e-14 >> 0 is 0
PASS -2.842170943040401e-14 >> 0 is 0
PASS 2.842170943040401e-14 >>> 0 is 0
PASS -2.842170943040401e-14 >>> 0 is 0
PASS 5.684341886080802e-14 >> 0 is 0
PASS -5.684341886080802e-14 >> 0 is 0
PASS 5.684341886080802e-14 >>> 0 is 0
PASS -5.684341886080802e-14 >>> 0 is 0
PASS 1.1368683772161603e-13 >> 0 is 0
PASS -1.1368683772161603e-13 >> 0 is 0
PASS 1.1368683772161603e-13 >>> 0 is 0
PASS -1.1368683772161603e-13 >>> 0 is 0
PASS 2.2737367544323206e-13 >> 0 is 0
PASS -2.2737367544323206e-13 >> 0 is 0
PASS 2.2737367544323206e-13 >>> 0 is 0
PASS -2.2737367544323206e-13 >>> 0 is 0
PASS 4.547473508864641e-13 >> 0 is 0
PASS -4.547473508864641e-13 >> 0 is 0
PASS 4.547473508864641e-13 >>> 0 is 0
PASS -4.547473508864641e-13 >>> 0 is 0
PASS 9.094947017729282e-13 >> 0 is 0
PASS -9.094947017729282e-13 >> 0 is 0
PASS 9.094947017729282e-13 >>> 0 is 0
PASS -9.094947017729282e-13 >>> 0 is 0
PASS 1.8189894035458565e-12 >> 0 is 0
PASS -1.8189894035458565e-12 >> 0 is 0
PASS 1.8189894035458565e-12 >>> 0 is 0
PASS -1.8189894035458565e-12 >>> 0 is 0
PASS 3.637978807091713e-12 >> 0 is 0
PASS -3.637978807091713e-12 >> 0 is 0
PASS 3.637978807091713e-12 >>> 0 is 0
PASS -3.637978807091713e-12 >>> 0 is 0
PASS 7.275957614183426e-12 >> 0 is 0
PASS -7.275957614183426e-12 >> 0 is 0
PASS 7.275957614183426e-12 >>> 0 is 0
PASS -7.275957614183426e-12 >>> 0 is 0
PASS 1.4551915228366852e-11 >> 0 is 0
PASS -1.4551915228366852e-11 >> 0 is 0
PASS 1.4551915228366852e-11 >>> 0 is 0
PASS -1.4551915228366852e-11 >>> 0 is 0
PASS 2.9103830456733704e-11 >> 0 is 0
PASS -2.9103830456733704e-11 >> 0 is 0
PASS 2.9103830456733704e-11 >>> 0 is 0
PASS -2.9103830456733704e-11 >>> 0 is 0
PASS 5.820766091346741e-11 >> 0 is 0
PASS -5.820766091346741e-11 >> 0 is 0
PASS 5.820766091346741e-11 >>> 0 is 0
PASS -5.820766091346741e-11 >>> 0 is 0
PASS 1.1641532182693481e-10 >> 0 is 0
PASS -1.1641532182693481e-10 >> 0 is 0
PASS 1.1641532182693481e-10 >>> 0 is 0
PASS -1.1641532182693481e-10 >>> 0 is 0
PASS 2.3283064365386963e-10 >> 0 is 0
PASS -2.3283064365386963e-10 >> 0 is 0
PASS 2.3283064365386963e-10 >>> 0 is 0
PASS -2.3283064365386963e-10 >>> 0 is 0
PASS 4.656612873077393e-10 >> 0 is 0
PASS -4.656612873077393e-10 >> 0 is 0
PASS 4.656612873077393e-10 >>> 0 is 0
PASS -4.656612873077393e-10 >>> 0 is 0
PASS 9.313225746154785e-10 >> 0 is 0
PASS -9.313225746154785e-10 >> 0 is 0
PASS 9.313225746154785e-10 >>> 0 is 0
PASS -9.313225746154785e-10 >>> 0 is 0
PASS 1.862645149230957e-9 >> 0 is 0
PASS -1.862645149230957e-9 >> 0 is 0
PASS 1.862645149230957e-9 >>> 0 is 0
PASS -1.862645149230957e-9 >>> 0 is 0
PASS 3.725290298461914e-9 >> 0 is 0
PASS -3.725290298461914e-9 >> 0 is 0
PASS 3.725290298461914e-9 >>> 0 is 0
PASS -3.725290298461914e-9 >>> 0 is 0
PASS 7.450580596923828e-9 >> 0 is 0
PASS -7.450580596923828e-9 >> 0 is 0
PASS 7.450580596923828e-9 >>> 0 is 0
PASS -7.450580596923828e-9 >>> 0 is 0
PASS 1.4901161193847656e-8 >> 0 is 0
PASS -1.4901161193847656e-8 >> 0 is 0
PASS 1.4901161193847656e-8 >>> 0 is 0
PASS -1.4901161193847656e-8 >>> 0 is 0
PASS 2.9802322387695313e-8 >> 0 is 0
PASS -2.9802322387695313e-8 >> 0 is 0
PASS 2.9802322387695313e-8 >>> 0 is 0
PASS -2.9802322387695313e-8 >>> 0 is 0
PASS 5.960464477539063e-8 >> 0 is 0
PASS -5.960464477539063e-8 >> 0 is 0
PASS 5.960464477539063e-8 >>> 0 is 0
PASS -5.960464477539063e-8 >>> 0 is 0
PASS 1.1920928955078125e-7 >> 0 is 0
PASS -1.1920928955078125e-7 >> 0 is 0
PASS 1.1920928955078125e-7 >>> 0 is 0
PASS -1.1920928955078125e-7 >>> 0 is 0
PASS 2.384185791015625e-7 >> 0 is 0
PASS -2.384185791015625e-7 >> 0 is 0
PASS 2.384185791015625e-7 >>> 0 is 0
PASS -2.384185791015625e-7 >>> 0 is 0
PASS 4.76837158203125e-7 >> 0 is 0
PASS -4.76837158203125e-7 >> 0 is 0
PASS 4.76837158203125e-7 >>> 0 is 0
PASS -4.76837158203125e-7 >>> 0 is 0
PASS 9.5367431640625e-7 >> 0 is 0
PASS -9.5367431640625e-7 >> 0 is 0
PASS 9.5367431640625e-7 >>> 0 is 0
PASS -9.5367431640625e-7 >>> 0 is 0
PASS 0.0000019073486328125 >> 0 is 0
PASS -0.0000019073486328125 >> 0 is 0
PASS 0.0000019073486328125 >>> 0 is 0
PASS -0.0000019073486328125 >>> 0 is 0
PASS 0.000003814697265625 >> 0 is 0
PASS -0.000003814697265625 >> 0 is 0
PASS 0.000003814697265625 >>> 0 is 0
PASS -0.000003814697265625 >>> 0 is 0
PASS 0.00000762939453125 >> 0 is 0
PASS -0.00000762939453125 >> 0 is 0
PASS 0.00000762939453125 >>> 0 is 0
PASS -0.00000762939453125 >>> 0 is 0
PASS 0.0000152587890625 >> 0 is 0
PASS -0.0000152587890625 >> 0 is 0
PASS 0.0000152587890625 >>> 0 is 0
PASS -0.0000152587890625 >>> 0 is 0
PASS 0.000030517578125 >> 0 is 0
PASS -0.000030517578125 >> 0 is 0
PASS 0.000030517578125 >>> 0 is 0
PASS -0.000030517578125 >>> 0 is 0
PASS 0.00006103515625 >> 0 is 0
PASS -0.00006103515625 >> 0 is 0
PASS 0.00006103515625 >>> 0 is 0
PASS -0.00006103515625 >>> 0 is 0
PASS 0.0001220703125 >> 0 is 0
PASS -0.0001220703125 >> 0 is 0
PASS 0.0001220703125 >>> 0 is 0
PASS -0.0001220703125 >>> 0 is 0
PASS 0.000244140625 >> 0 is 0
PASS -0.000244140625 >> 0 is 0
PASS 0.000244140625 >>> 0 is 0
PASS -0.000244140625 >>> 0 is 0
PASS 0.00048828125 >> 0 is 0
PASS -0.00048828125 >> 0 is 0
PASS 0.00048828125 >>> 0 is 0
PASS -0.00048828125 >>> 0 is 0
PASS 0.0009765625 >> 0 is 0
PASS -0.0009765625 >> 0 is 0
PASS 0.0009765625 >>> 0 is 0
PASS -0.0009765625 >>> 0 is 0
PASS 0.001953125 >> 0 is 0
PASS -0.001953125 >> 0 is 0
PASS 0.001953125 >>> 0 is 0
PASS -0.001953125 >>> 0 is 0
PASS 0.00390625 >> 0 is 0
PASS -0.00390625 >> 0 is 0
PASS 0.00390625 >>> 0 is 0
PASS -0.00390625 >>> 0 is 0
PASS 0.0078125 >> 0 is 0
PASS -0.0078125 >> 0 is 0
PASS 0.0078125 >>> 0 is 0
PASS -0.0078125 >>> 0 is 0
PASS 0.015625 >> 0 is 0
PASS -0.015625 >> 0 is 0
PASS 0.015625 >>> 0 is 0
PASS -0.015625 >>> 0 is 0
PASS 0.03125 >> 0 is 0
PASS -0.03125 >> 0 is 0
PASS 0.03125 >>> 0 is 0
PASS -0.03125 >>> 0 is 0
PASS 0.0625 >> 0 is 0
PASS -0.0625 >> 0 is 0
PASS 0.0625 >>> 0 is 0
PASS -0.0625 >>> 0 is 0
PASS 0.125 >> 0 is 0
PASS -0.125 >> 0 is 0
PASS 0.125 >>> 0 is 0
PASS -0.125 >>> 0 is 0
PASS 0.25 >> 0 is 0
PASS -0.25 >> 0 is 0
PASS 0.25 >>> 0 is 0
PASS -0.25 >>> 0 is 0
PASS 0.5 >> 0 is 0
PASS -0.5 >> 0 is 0
PASS 0.5 >>> 0 is 0
PASS -0.5 >>> 0 is 0
PASS 1 >> 0 is 1
PASS -1 >> 0 is -1
PASS 1 >>> 0 is 1
PASS -1 >>> 0 is 4294967295
PASS 2 >> 0 is 2
PASS -2 >> 0 is -2
PASS 2 >>> 0 is 2
PASS -2 >>> 0 is 4294967294
PASS 4 >> 0 is 4
PASS -4 >> 0 is -4
PASS 4 >>> 0 is 4
PASS -4 >>> 0 is 4294967292
PASS 8 >> 0 is 8
PASS -8 >> 0 is -8
PASS 8 >>> 0 is 8
PASS -8 >>> 0 is 4294967288
PASS 16 >> 0 is 16
PASS -16 >> 0 is -16
PASS 16 >>> 0 is 16
PASS -16 >>> 0 is 4294967280
PASS 32 >> 0 is 32
PASS -32 >> 0 is -32
PASS 32 >>> 0 is 32
PASS -32 >>> 0 is 4294967264
PASS 64 >> 0 is 64
PASS -64 >> 0 is -64
PASS 64 >>> 0 is 64
PASS -64 >>> 0 is 4294967232
PASS 128 >> 0 is 128
PASS -128 >> 0 is -128
PASS 128 >>> 0 is 128
PASS -128 >>> 0 is 4294967168
PASS 256 >> 0 is 256
PASS -256 >> 0 is -256
PASS 256 >>> 0 is 256
PASS -256 >>> 0 is 4294967040
PASS 512 >> 0 is 512
PASS -512 >> 0 is -512
PASS 512 >>> 0 is 512
PASS -512 >>> 0 is 4294966784
PASS 1024 >> 0 is 1024
PASS -1024 >> 0 is -1024
PASS 1024 >>> 0 is 1024
PASS -1024 >>> 0 is 4294966272
PASS 2048 >> 0 is 2048
PASS -2048 >> 0 is -2048
PASS 2048 >>> 0 is 2048
PASS -2048 >>> 0 is 4294965248
PASS 4096 >> 0 is 4096
PASS -4096 >> 0 is -4096
PASS 4096 >>> 0 is 4096
PASS -4096 >>> 0 is 4294963200
PASS 8192 >> 0 is 8192
PASS -8192 >> 0 is -8192
PASS 8192 >>> 0 is 8192
PASS -8192 >>> 0 is 4294959104
PASS 16384 >> 0 is 16384
PASS -16384 >> 0 is -16384
PASS 16384 >>> 0 is 16384
PASS -16384 >>> 0 is 4294950912
PASS 32768 >> 0 is 32768
PASS -32768 >> 0 is -32768
PASS 32768 >>> 0 is 32768
PASS -32768 >>> 0 is 4294934528
PASS 65536 >> 0 is 65536
PASS -65536 >> 0 is -65536
PASS 65536 >>> 0 is 65536
PASS -65536 >>> 0 is 4294901760
PASS 131072 >> 0 is 131072
PASS -131072 >> 0 is -131072
PASS 131072 >>> 0 is 131072
PASS -131072 >>> 0 is 4294836224
PASS 262144 >> 0 is 262144
PASS -262144 >> 0 is -262144
PASS 262144 >>> 0 is 262144
PASS -262144 >>> 0 is 4294705152
PASS 524288 >> 0 is 524288
PASS -524288 >> 0 is -524288
PASS 524288 >>> 0 is 524288
PASS -524288 >>> 0 is 4294443008
PASS 1048576 >> 0 is 1048576
PASS -1048576 >> 0 is -1048576
PASS 1048576 >>> 0 is 1048576
PASS -1048576 >>> 0 is 4293918720
PASS 2097152 >> 0 is 2097152
PASS -2097152 >> 0 is -2097152
PASS 2097152 >>> 0 is 2097152
PASS -2097152 >>> 0 is 4292870144
PASS 4194304 >> 0 is 4194304
PASS -4194304 >> 0 is -4194304
PASS 4194304 >>> 0 is 4194304
PASS -4194304 >>> 0 is 4290772992
PASS 8388608 >> 0 is 8388608
PASS -8388608 >> 0 is -8388608
PASS 8388608 >>> 0 is 8388608
PASS -8388608 >>> 0 is 4286578688
PASS 16777216 >> 0 is 16777216
PASS -16777216 >> 0 is -16777216
PASS 16777216 >>> 0 is 16777216
PASS -16777216 >>> 0 is 4278190080
PASS 33554432 >> 0 is 33554432
PASS -33554432 >> 0 is -33554432
PASS 33554432 >>> 0 is 33554432
PASS -33554432 >>> 0 is 4261412864
PASS 67108864 >> 0 is 67108864
PASS -67108864 >> 0 is -67108864
PASS 67108864 >>> 0 is 67108864
PASS -67108864 >>> 0 is 4227858432
PASS 134217728 >> 0 is 134217728
PASS -134217728 >> 0 is -134217728
PASS 134217728 >>> 0 is 134217728
PASS -134217728 >>> 0 is 4160749568
PASS 268435456 >> 0 is 268435456
PASS -268435456 >> 0 is -268435456
PASS 268435456 >>> 0 is 268435456
PASS -268435456 >>> 0 is 4026531840
PASS 536870912 >> 0 is 536870912
PASS -536870912 >> 0 is -536870912
PASS 536870912 >>> 0 is 536870912
PASS -536870912 >>> 0 is 3758096384
PASS 1073741824 >> 0 is 1073741824
PASS -1073741824 >> 0 is -1073741824
PASS 1073741824 >>> 0 is 1073741824
PASS -1073741824 >>> 0 is 3221225472
PASS 2147483648 >> 0 is -2147483648
PASS -2147483648 >> 0 is -2147483648
PASS 2147483648 >>> 0 is 2147483648
PASS -2147483648 >>> 0 is 2147483648
PASS 4294967296 >> 0 is 0
PASS -4294967296 >> 0 is 0
PASS 4294967296 >>> 0 is 0
PASS -4294967296 >>> 0 is 0
PASS 8.326672684688674e-17 >> 0 is 0
PASS -8.326672684688674e-17 >> 0 is 0
PASS 8.326672684688674e-17 >>> 0 is 0
PASS -8.326672684688674e-17 >>> 0 is 0
PASS 1.6653345369377348e-16 >> 0 is 0
PASS -1.6653345369377348e-16 >> 0 is 0
PASS 1.6653345369377348e-16 >>> 0 is 0
PASS -1.6653345369377348e-16 >>> 0 is 0
PASS 3.3306690738754696e-16 >> 0 is 0
PASS -3.3306690738754696e-16 >> 0 is 0
PASS 3.3306690738754696e-16 >>> 0 is 0
PASS -3.3306690738754696e-16 >>> 0 is 0
PASS 6.661338147750939e-16 >> 0 is 0
PASS -6.661338147750939e-16 >> 0 is 0
PASS 6.661338147750939e-16 >>> 0 is 0
PASS -6.661338147750939e-16 >>> 0 is 0
PASS 1.3322676295501878e-15 >> 0 is 0
PASS -1.3322676295501878e-15 >> 0 is 0
PASS 1.3322676295501878e-15 >>> 0 is 0
PASS -1.3322676295501878e-15 >>> 0 is 0
PASS 2.6645352591003757e-15 >> 0 is 0
PASS -2.6645352591003757e-15 >> 0 is 0
PASS 2.6645352591003757e-15 >>> 0 is 0
PASS -2.6645352591003757e-15 >>> 0 is 0
PASS 5.329070518200751e-15 >> 0 is 0
PASS -5.329070518200751e-15 >> 0 is 0
PASS 5.329070518200751e-15 >>> 0 is 0
PASS -5.329070518200751e-15 >>> 0 is 0
PASS 1.0658141036401503e-14 >> 0 is 0
PASS -1.0658141036401503e-14 >> 0 is 0
PASS 1.0658141036401503e-14 >>> 0 is 0
PASS -1.0658141036401503e-14 >>> 0 is 0
PASS 2.1316282072803006e-14 >> 0 is 0
PASS -2.1316282072803006e-14 >> 0 is 0
PASS 2.1316282072803006e-14 >>> 0 is 0
PASS -2.1316282072803006e-14 >>> 0 is 0
PASS 4.263256414560601e-14 >> 0 is 0
PASS -4.263256414560601e-14 >> 0 is 0
PASS 4.263256414560601e-14 >>> 0 is 0
PASS -4.263256414560601e-14 >>> 0 is 0
PASS 8.526512829121202e-14 >> 0 is 0
PASS -8.526512829121202e-14 >> 0 is 0
PASS 8.526512829121202e-14 >>> 0 is 0
PASS -8.526512829121202e-14 >>> 0 is 0
PASS 1.7053025658242404e-13 >> 0 is 0
PASS -1.7053025658242404e-13 >> 0 is 0
PASS 1.7053025658242404e-13 >>> 0 is 0
PASS -1.7053025658242404e-13 >>> 0 is 0
PASS 3.410605131648481e-13 >> 0 is 0
PASS -3.410605131648481e-13 >> 0 is 0
PASS 3.410605131648481e-13 >>> 0 is 0
PASS -3.410605131648481e-13 >>> 0 is 0
PASS 6.821210263296962e-13 >> 0 is 0
PASS -6.821210263296962e-13 >> 0 is 0
PASS 6.821210263296962e-13 >>> 0 is 0
PASS -6.821210263296962e-13 >>> 0 is 0
PASS 1.3642420526593924e-12 >> 0 is 0
PASS -1.3642420526593924e-12 >> 0 is 0
PASS 1.3642420526593924e-12 >>> 0 is 0
PASS -1.3642420526593924e-12 >>> 0 is 0
PASS 2.7284841053187847e-12 >> 0 is 0
PASS -2.7284841053187847e-12 >> 0 is 0
PASS 2.7284841053187847e-12 >>> 0 is 0
PASS -2.7284841053187847e-12 >>> 0 is 0
PASS 5.4569682106375694e-12 >> 0 is 0
PASS -5.4569682106375694e-12 >> 0 is 0
PASS 5.4569682106375694e-12 >>> 0 is 0
PASS -5.4569682106375694e-12 >>> 0 is 0
PASS 1.0913936421275139e-11 >> 0 is 0
PASS -1.0913936421275139e-11 >> 0 is 0
PASS 1.0913936421275139e-11 >>> 0 is 0
PASS -1.0913936421275139e-11 >>> 0 is 0
PASS 2.1827872842550278e-11 >> 0 is 0
PASS -2.1827872842550278e-11 >> 0 is 0
PASS 2.1827872842550278e-11 >>> 0 is 0
PASS -2.1827872842550278e-11 >>> 0 is 0
PASS 4.3655745685100555e-11 >> 0 is 0
PASS -4.3655745685100555e-11 >> 0 is 0
PASS 4.3655745685100555e-11 >>> 0 is 0
PASS -4.3655745685100555e-11 >>> 0 is 0
PASS 8.731149137020111e-11 >> 0 is 0
PASS -8.731149137020111e-11 >> 0 is 0
PASS 8.731149137020111e-11 >>> 0 is 0
PASS -8.731149137020111e-11 >>> 0 is 0
PASS 1.7462298274040222e-10 >> 0 is 0
PASS -1.7462298274040222e-10 >> 0 is 0
PASS 1.7462298274040222e-10 >>> 0 is 0
PASS -1.7462298274040222e-10 >>> 0 is 0
PASS 3.4924596548080444e-10 >> 0 is 0
PASS -3.4924596548080444e-10 >> 0 is 0
PASS 3.4924596548080444e-10 >>> 0 is 0
PASS -3.4924596548080444e-10 >>> 0 is 0
PASS 6.984919309616089e-10 >> 0 is 0
PASS -6.984919309616089e-10 >> 0 is 0
PASS 6.984919309616089e-10 >>> 0 is 0
PASS -6.984919309616089e-10 >>> 0 is 0
PASS 1.3969838619232178e-9 >> 0 is 0
PASS -1.3969838619232178e-9 >> 0 is 0
PASS 1.3969838619232178e-9 >>> 0 is 0
PASS -1.3969838619232178e-9 >>> 0 is 0
PASS 2.7939677238464355e-9 >> 0 is 0
PASS -2.7939677238464355e-9 >> 0 is 0
PASS 2.7939677238464355e-9 >>> 0 is 0
PASS -2.7939677238464355e-9 >>> 0 is 0
PASS 5.587935447692871e-9 >> 0 is 0
PASS -5.587935447692871e-9 >> 0 is 0
PASS 5.587935447692871e-9 >>> 0 is 0
PASS -5.587935447692871e-9 >>> 0 is 0
PASS 1.1175870895385742e-8 >> 0 is 0
PASS -1.1175870895385742e-8 >> 0 is 0
PASS 1.1175870895385742e-8 >>> 0 is 0
PASS -1.1175870895385742e-8 >>> 0 is 0
PASS 2.2351741790771484e-8 >> 0 is 0
PASS -2.2351741790771484e-8 >> 0 is 0
PASS 2.2351741790771484e-8 >>> 0 is 0
PASS -2.2351741790771484e-8 >>> 0 is 0
PASS 4.470348358154297e-8 >> 0 is 0
PASS -4.470348358154297e-8 >> 0 is 0
PASS 4.470348358154297e-8 >>> 0 is 0
PASS -4.470348358154297e-8 >>> 0 is 0
PASS 8.940696716308594e-8 >> 0 is 0
PASS -8.940696716308594e-8 >> 0 is 0
PASS 8.940696716308594e-8 >>> 0 is 0
PASS -8.940696716308594e-8 >>> 0 is 0
PASS 1.7881393432617188e-7 >> 0 is 0
PASS -1.7881393432617188e-7 >> 0 is 0
PASS 1.7881393432617188e-7 >>> 0 is 0
PASS -1.7881393432617188e-7 >>> 0 is 0
PASS 3.5762786865234375e-7 >> 0 is 0
PASS -3.5762786865234375e-7 >> 0 is 0
PASS 3.5762786865234375e-7 >>> 0 is 0
PASS -3.5762786865234375e-7 >>> 0 is 0
PASS 7.152557373046875e-7 >> 0 is 0
PASS -7.152557373046875e-7 >> 0 is 0
PASS 7.152557373046875e-7 >>> 0 is 0
PASS -7.152557373046875e-7 >>> 0 is 0
PASS 0.000001430511474609375 >> 0 is 0
PASS -0.000001430511474609375 >> 0 is 0
PASS 0.000001430511474609375 >>> 0 is 0
PASS -0.000001430511474609375 >>> 0 is 0
PASS 0.00000286102294921875 >> 0 is 0
PASS -0.00000286102294921875 >> 0 is 0
PASS 0.00000286102294921875 >>> 0 is 0
PASS -0.00000286102294921875 >>> 0 is 0
PASS 0.0000057220458984375 >> 0 is 0
PASS -0.0000057220458984375 >> 0 is 0
PASS 0.0000057220458984375 >>> 0 is 0
PASS -0.0000057220458984375 >>> 0 is 0
PASS 0.000011444091796875 >> 0 is 0
PASS -0.000011444091796875 >> 0 is 0
PASS 0.000011444091796875 >>> 0 is 0
PASS -0.000011444091796875 >>> 0 is 0
PASS 0.00002288818359375 >> 0 is 0
PASS -0.00002288818359375 >> 0 is 0
PASS 0.00002288818359375 >>> 0 is 0
PASS -0.00002288818359375 >>> 0 is 0
PASS 0.0000457763671875 >> 0 is 0
PASS -0.0000457763671875 >> 0 is 0
PASS 0.0000457763671875 >>> 0 is 0
PASS -0.0000457763671875 >>> 0 is 0
PASS 0.000091552734375 >> 0 is 0
PASS -0.000091552734375 >> 0 is 0
PASS 0.000091552734375 >>> 0 is 0
PASS -0.000091552734375 >>> 0 is 0
PASS 0.00018310546875 >> 0 is 0
PASS -0.00018310546875 >> 0 is 0
PASS 0.00018310546875 >>> 0 is 0
PASS -0.00018310546875 >>> 0 is 0
PASS 0.0003662109375 >> 0 is 0
PASS -0.0003662109375 >> 0 is 0
PASS 0.0003662109375 >>> 0 is 0
PASS -0.0003662109375 >>> 0 is 0
PASS 0.000732421875 >> 0 is 0
PASS -0.000732421875 >> 0 is 0
PASS 0.000732421875 >>> 0 is 0
PASS -0.000732421875 >>> 0 is 0
PASS 0.00146484375 >> 0 is 0
PASS -0.00146484375 >> 0 is 0
PASS 0.00146484375 >>> 0 is 0
PASS -0.00146484375 >>> 0 is 0
PASS 0.0029296875 >> 0 is 0
PASS -0.0029296875 >> 0 is 0
PASS 0.0029296875 >>> 0 is 0
PASS -0.0029296875 >>> 0 is 0
PASS 0.005859375 >> 0 is 0
PASS -0.005859375 >> 0 is 0
PASS 0.005859375 >>> 0 is 0
PASS -0.005859375 >>> 0 is 0
PASS 0.01171875 >> 0 is 0
PASS -0.01171875 >> 0 is 0
PASS 0.01171875 >>> 0 is 0
PASS -0.01171875 >>> 0 is 0
PASS 0.0234375 >> 0 is 0
PASS -0.0234375 >> 0 is 0
PASS 0.0234375 >>> 0 is 0
PASS -0.0234375 >>> 0 is 0
PASS 0.046875 >> 0 is 0
PASS -0.046875 >> 0 is 0
PASS 0.046875 >>> 0 is 0
PASS -0.046875 >>> 0 is 0
PASS 0.09375 >> 0 is 0
PASS -0.09375 >> 0 is 0
PASS 0.09375 >>> 0 is 0
PASS -0.09375 >>> 0 is 0
PASS 0.1875 >> 0 is 0
PASS -0.1875 >> 0 is 0
PASS 0.1875 >>> 0 is 0
PASS -0.1875 >>> 0 is 0
PASS 0.375 >> 0 is 0
PASS -0.375 >> 0 is 0
PASS 0.375 >>> 0 is 0
PASS -0.375 >>> 0 is 0
PASS 0.75 >> 0 is 0
PASS -0.75 >> 0 is 0
PASS 0.75 >>> 0 is 0
PASS -0.75 >>> 0 is 0
PASS 1.5 >> 0 is 1
PASS -1.5 >> 0 is -1
PASS 1.5 >>> 0 is 1
PASS -1.5 >>> 0 is 4294967295
PASS 3 >> 0 is 3
PASS -3 >> 0 is -3
PASS 3 >>> 0 is 3
PASS -3 >>> 0 is 4294967293
PASS 6 >> 0 is 6
PASS -6 >> 0 is -6
PASS 6 >>> 0 is 6
PASS -6 >>> 0 is 4294967290
PASS 12 >> 0 is 12
PASS -12 >> 0 is -12
PASS 12 >>> 0 is 12
PASS -12 >>> 0 is 4294967284
PASS 24 >> 0 is 24
PASS -24 >> 0 is -24
PASS 24 >>> 0 is 24
PASS -24 >>> 0 is 4294967272
PASS 48 >> 0 is 48
PASS -48 >> 0 is -48
PASS 48 >>> 0 is 48
PASS -48 >>> 0 is 4294967248
PASS 96 >> 0 is 96
PASS -96 >> 0 is -96
PASS 96 >>> 0 is 96
PASS -96 >>> 0 is 4294967200
PASS 192 >> 0 is 192
PASS -192 >> 0 is -192
PASS 192 >>> 0 is 192
PASS -192 >>> 0 is 4294967104
PASS 384 >> 0 is 384
PASS -384 >> 0 is -384
PASS 384 >>> 0 is 384
PASS -384 >>> 0 is 4294966912
PASS 768 >> 0 is 768
PASS -768 >> 0 is -768
PASS 768 >>> 0 is 768
PASS -768 >>> 0 is 4294966528
PASS 1536 >> 0 is 1536
PASS -1536 >> 0 is -1536
PASS 1536 >>> 0 is 1536
PASS -1536 >>> 0 is 4294965760
PASS 3072 >> 0 is 3072
PASS -3072 >> 0 is -3072
PASS 3072 >>> 0 is 3072
PASS -3072 >>> 0 is 4294964224
PASS 6144 >> 0 is 6144
PASS -6144 >> 0 is -6144
PASS 6144 >>> 0 is 6144
PASS -6144 >>> 0 is 4294961152
PASS 12288 >> 0 is 12288
PASS -12288 >> 0 is -12288
PASS 12288 >>> 0 is 12288
PASS -12288 >>> 0 is 4294955008
PASS 24576 >> 0 is 24576
PASS -24576 >> 0 is -24576
PASS 24576 >>> 0 is 24576
PASS -24576 >>> 0 is 4294942720
PASS 49152 >> 0 is 49152
PASS -49152 >> 0 is -49152
PASS 49152 >>> 0 is 49152
PASS -49152 >>> 0 is 4294918144
PASS 98304 >> 0 is 98304
PASS -98304 >> 0 is -98304
PASS 98304 >>> 0 is 98304
PASS -98304 >>> 0 is 4294868992
PASS 196608 >> 0 is 196608
PASS -196608 >> 0 is -196608
PASS 196608 >>> 0 is 196608
PASS -196608 >>> 0 is 4294770688
PASS 393216 >> 0 is 393216
PASS -393216 >> 0 is -393216
PASS 393216 >>> 0 is 393216
PASS -393216 >>> 0 is 4294574080
PASS 786432 >> 0 is 786432
PASS -786432 >> 0 is -786432
PASS 786432 >>> 0 is 786432
PASS -786432 >>> 0 is 4294180864
PASS 1572864 >> 0 is 1572864
PASS -1572864 >> 0 is -1572864
PASS 1572864 >>> 0 is 1572864
PASS -1572864 >>> 0 is 4293394432
PASS 3145728 >> 0 is 3145728
PASS -3145728 >> 0 is -3145728
PASS 3145728 >>> 0 is 3145728
PASS -3145728 >>> 0 is 4291821568
PASS 6291456 >> 0 is 6291456
PASS -6291456 >> 0 is -6291456
PASS 6291456 >>> 0 is 6291456
PASS -6291456 >>> 0 is 4288675840
PASS 12582912 >> 0 is 12582912
PASS -12582912 >> 0 is -12582912
PASS 12582912 >>> 0 is 12582912
PASS -12582912 >>> 0 is 4282384384
PASS 25165824 >> 0 is 25165824
PASS -25165824 >> 0 is -25165824
PASS 25165824 >>> 0 is 25165824
PASS -25165824 >>> 0 is 4269801472
PASS 50331648 >> 0 is 50331648
PASS -50331648 >> 0 is -50331648
PASS 50331648 >>> 0 is 50331648
PASS -50331648 >>> 0 is 4244635648
PASS 100663296 >> 0 is 100663296
PASS -100663296 >> 0 is -100663296
PASS 100663296 >>> 0 is 100663296
PASS -100663296 >>> 0 is 4194304000
PASS 201326592 >> 0 is 201326592
PASS -201326592 >> 0 is -201326592
PASS 201326592 >>> 0 is 201326592
PASS -201326592 >>> 0 is 4093640704
PASS 402653184 >> 0 is 402653184
PASS -402653184 >> 0 is -402653184
PASS 402653184 >>> 0 is 402653184
PASS -402653184 >>> 0 is 3892314112
PASS 805306368 >> 0 is 805306368
PASS -805306368 >> 0 is -805306368
PASS 805306368 >>> 0 is 805306368
PASS -805306368 >>> 0 is 3489660928
PASS 1610612736 >> 0 is 1610612736
PASS -1610612736 >> 0 is -1610612736
PASS 1610612736 >>> 0 is 1610612736
PASS -1610612736 >>> 0 is 2684354560
PASS 3221225472 >> 0 is -1073741824
PASS -3221225472 >> 0 is 1073741824
PASS 3221225472 >>> 0 is 3221225472
PASS -3221225472 >>> 0 is 1073741824
PASS 6442450944 >> 0 is -2147483648
PASS -6442450944 >> 0 is -2147483648
PASS 6442450944 >>> 0 is 2147483648
PASS -6442450944 >>> 0 is 2147483648
PASS 12884901888 >> 0 is 0
PASS -12884901888 >> 0 is 0
PASS 12884901888 >>> 0 is 0
PASS -12884901888 >>> 0 is 0
PASS 1.3877787807814457e-16 >> 0 is 0
PASS -1.3877787807814457e-16 >> 0 is 0
PASS 1.3877787807814457e-16 >>> 0 is 0
PASS -1.3877787807814457e-16 >>> 0 is 0
PASS 2.7755575615628914e-16 >> 0 is 0
PASS -2.7755575615628914e-16 >> 0 is 0
PASS 2.7755575615628914e-16 >>> 0 is 0
PASS -2.7755575615628914e-16 >>> 0 is 0
PASS 5.551115123125783e-16 >> 0 is 0
PASS -5.551115123125783e-16 >> 0 is 0
PASS 5.551115123125783e-16 >>> 0 is 0
PASS -5.551115123125783e-16 >>> 0 is 0
PASS 1.1102230246251565e-15 >> 0 is 0
PASS -1.1102230246251565e-15 >> 0 is 0
PASS 1.1102230246251565e-15 >>> 0 is 0
PASS -1.1102230246251565e-15 >>> 0 is 0
PASS 2.220446049250313e-15 >> 0 is 0
PASS -2.220446049250313e-15 >> 0 is 0
PASS 2.220446049250313e-15 >>> 0 is 0
PASS -2.220446049250313e-15 >>> 0 is 0
PASS 4.440892098500626e-15 >> 0 is 0
PASS -4.440892098500626e-15 >> 0 is 0
PASS 4.440892098500626e-15 >>> 0 is 0
PASS -4.440892098500626e-15 >>> 0 is 0
PASS 8.881784197001252e-15 >> 0 is 0
PASS -8.881784197001252e-15 >> 0 is 0
PASS 8.881784197001252e-15 >>> 0 is 0
PASS -8.881784197001252e-15 >>> 0 is 0
PASS 1.7763568394002505e-14 >> 0 is 0
PASS -1.7763568394002505e-14 >> 0 is 0
PASS 1.7763568394002505e-14 >>> 0 is 0
PASS -1.7763568394002505e-14 >>> 0 is 0
PASS 3.552713678800501e-14 >> 0 is 0
PASS -3.552713678800501e-14 >> 0 is 0
PASS 3.552713678800501e-14 >>> 0 is 0
PASS -3.552713678800501e-14 >>> 0 is 0
PASS 7.105427357601002e-14 >> 0 is 0
PASS -7.105427357601002e-14 >> 0 is 0
PASS 7.105427357601002e-14 >>> 0 is 0
PASS -7.105427357601002e-14 >>> 0 is 0
PASS 1.4210854715202004e-13 >> 0 is 0
PASS -1.4210854715202004e-13 >> 0 is 0
PASS 1.4210854715202004e-13 >>> 0 is 0
PASS -1.4210854715202004e-13 >>> 0 is 0
PASS 2.8421709430404007e-13 >> 0 is 0
PASS -2.8421709430404007e-13 >> 0 is 0
PASS 2.8421709430404007e-13 >>> 0 is 0
PASS -2.8421709430404007e-13 >>> 0 is 0
PASS 5.684341886080801e-13 >> 0 is 0
PASS -5.684341886080801e-13 >> 0 is 0
PASS 5.684341886080801e-13 >>> 0 is 0
PASS -5.684341886080801e-13 >>> 0 is 0
PASS 1.1368683772161603e-12 >> 0 is 0
PASS -1.1368683772161603e-12 >> 0 is 0
PASS 1.1368683772161603e-12 >>> 0 is 0
PASS -1.1368683772161603e-12 >>> 0 is 0
PASS 2.2737367544323206e-12 >> 0 is 0
PASS -2.2737367544323206e-12 >> 0 is 0
PASS 2.2737367544323206e-12 >>> 0 is 0
PASS -2.2737367544323206e-12 >>> 0 is 0
PASS 4.547473508864641e-12 >> 0 is 0
PASS -4.547473508864641e-12 >> 0 is 0
PASS 4.547473508864641e-12 >>> 0 is 0
PASS -4.547473508864641e-12 >>> 0 is 0
PASS 9.094947017729282e-12 >> 0 is 0
PASS -9.094947017729282e-12 >> 0 is 0
PASS 9.094947017729282e-12 >>> 0 is 0
PASS -9.094947017729282e-12 >>> 0 is 0
PASS 1.8189894035458565e-11 >> 0 is 0
PASS -1.8189894035458565e-11 >> 0 is 0
PASS 1.8189894035458565e-11 >>> 0 is 0
PASS -1.8189894035458565e-11 >>> 0 is 0
PASS 3.637978807091713e-11 >> 0 is 0
PASS -3.637978807091713e-11 >> 0 is 0
PASS 3.637978807091713e-11 >>> 0 is 0
PASS -3.637978807091713e-11 >>> 0 is 0
PASS 7.275957614183426e-11 >> 0 is 0
PASS -7.275957614183426e-11 >> 0 is 0
PASS 7.275957614183426e-11 >>> 0 is 0
PASS -7.275957614183426e-11 >>> 0 is 0
PASS 1.4551915228366852e-10 >> 0 is 0
PASS -1.4551915228366852e-10 >> 0 is 0
PASS 1.4551915228366852e-10 >>> 0 is 0
PASS -1.4551915228366852e-10 >>> 0 is 0
PASS 2.9103830456733704e-10 >> 0 is 0
PASS -2.9103830456733704e-10 >> 0 is 0
PASS 2.9103830456733704e-10 >>> 0 is 0
PASS -2.9103830456733704e-10 >>> 0 is 0
PASS 5.820766091346741e-10 >> 0 is 0
PASS -5.820766091346741e-10 >> 0 is 0
PASS 5.820766091346741e-10 >>> 0 is 0
PASS -5.820766091346741e-10 >>> 0 is 0
PASS 1.1641532182693481e-9 >> 0 is 0
PASS -1.1641532182693481e-9 >> 0 is 0
PASS 1.1641532182693481e-9 >>> 0 is 0
PASS -1.1641532182693481e-9 >>> 0 is 0
PASS 2.3283064365386963e-9 >> 0 is 0
PASS -2.3283064365386963e-9 >> 0 is 0
PASS 2.3283064365386963e-9 >>> 0 is 0
PASS -2.3283064365386963e-9 >>> 0 is 0
PASS 4.6566128730773926e-9 >> 0 is 0
PASS -4.6566128730773926e-9 >> 0 is 0
PASS 4.6566128730773926e-9 >>> 0 is 0
PASS -4.6566128730773926e-9 >>> 0 is 0
PASS 9.313225746154785e-9 >> 0 is 0
PASS -9.313225746154785e-9 >> 0 is 0
PASS 9.313225746154785e-9 >>> 0 is 0
PASS -9.313225746154785e-9 >>> 0 is 0
PASS 1.862645149230957e-8 >> 0 is 0
PASS -1.862645149230957e-8 >> 0 is 0
PASS 1.862645149230957e-8 >>> 0 is 0
PASS -1.862645149230957e-8 >>> 0 is 0
PASS 3.725290298461914e-8 >> 0 is 0
PASS -3.725290298461914e-8 >> 0 is 0
PASS 3.725290298461914e-8 >>> 0 is 0
PASS -3.725290298461914e-8 >>> 0 is 0
PASS 7.450580596923828e-8 >> 0 is 0
PASS -7.450580596923828e-8 >> 0 is 0
PASS 7.450580596923828e-8 >>> 0 is 0
PASS -7.450580596923828e-8 >>> 0 is 0
PASS 1.4901161193847656e-7 >> 0 is 0
PASS -1.4901161193847656e-7 >> 0 is 0
PASS 1.4901161193847656e-7 >>> 0 is 0
PASS -1.4901161193847656e-7 >>> 0 is 0
PASS 2.980232238769531e-7 >> 0 is 0
PASS -2.980232238769531e-7 >> 0 is 0
PASS 2.980232238769531e-7 >>> 0 is 0
PASS -2.980232238769531e-7 >>> 0 is 0
PASS 5.960464477539063e-7 >> 0 is 0
PASS -5.960464477539063e-7 >> 0 is 0
PASS 5.960464477539063e-7 >>> 0 is 0
PASS -5.960464477539063e-7 >>> 0 is 0
PASS 0.0000011920928955078125 >> 0 is 0
PASS -0.0000011920928955078125 >> 0 is 0
PASS 0.0000011920928955078125 >>> 0 is 0
PASS -0.0000011920928955078125 >>> 0 is 0
PASS 0.000002384185791015625 >> 0 is 0
PASS -0.000002384185791015625 >> 0 is 0
PASS 0.000002384185791015625 >>> 0 is 0
PASS -0.000002384185791015625 >>> 0 is 0
PASS 0.00000476837158203125 >> 0 is 0
PASS -0.00000476837158203125 >> 0 is 0
PASS 0.00000476837158203125 >>> 0 is 0
PASS -0.00000476837158203125 >>> 0 is 0
PASS 0.0000095367431640625 >> 0 is 0
PASS -0.0000095367431640625 >> 0 is 0
PASS 0.0000095367431640625 >>> 0 is 0
PASS -0.0000095367431640625 >>> 0 is 0
PASS 0.000019073486328125 >> 0 is 0
PASS -0.000019073486328125 >> 0 is 0
PASS 0.000019073486328125 >>> 0 is 0
PASS -0.000019073486328125 >>> 0 is 0
PASS 0.00003814697265625 >> 0 is 0
PASS -0.00003814697265625 >> 0 is 0
PASS 0.00003814697265625 >>> 0 is 0
PASS -0.00003814697265625 >>> 0 is 0
PASS 0.0000762939453125 >> 0 is 0
PASS -0.0000762939453125 >> 0 is 0
PASS 0.0000762939453125 >>> 0 is 0
PASS -0.0000762939453125 >>> 0 is 0
PASS 0.000152587890625 >> 0 is 0
PASS -0.000152587890625 >> 0 is 0
PASS 0.000152587890625 >>> 0 is 0
PASS -0.000152587890625 >>> 0 is 0
PASS 0.00030517578125 >> 0 is 0
PASS -0.00030517578125 >> 0 is 0
PASS 0.00030517578125 >>> 0 is 0
PASS -0.00030517578125 >>> 0 is 0
PASS 0.0006103515625 >> 0 is 0
PASS -0.0006103515625 >> 0 is 0
PASS 0.0006103515625 >>> 0 is 0
PASS -0.0006103515625 >>> 0 is 0
PASS 0.001220703125 >> 0 is 0
PASS -0.001220703125 >> 0 is 0
PASS 0.001220703125 >>> 0 is 0
PASS -0.001220703125 >>> 0 is 0
PASS 0.00244140625 >> 0 is 0
PASS -0.00244140625 >> 0 is 0
PASS 0.00244140625 >>> 0 is 0
PASS -0.00244140625 >>> 0 is 0
PASS 0.0048828125 >> 0 is 0
PASS -0.0048828125 >> 0 is 0
PASS 0.0048828125 >>> 0 is 0
PASS -0.0048828125 >>> 0 is 0
PASS 0.009765625 >> 0 is 0
PASS -0.009765625 >> 0 is 0
PASS 0.009765625 >>> 0 is 0
PASS -0.009765625 >>> 0 is 0
PASS 0.01953125 >> 0 is 0
PASS -0.01953125 >> 0 is 0
PASS 0.01953125 >>> 0 is 0
PASS -0.01953125 >>> 0 is 0
PASS 0.0390625 >> 0 is 0
PASS -0.0390625 >> 0 is 0
PASS 0.0390625 >>> 0 is 0
PASS -0.0390625 >>> 0 is 0
PASS 0.078125 >> 0 is 0
PASS -0.078125 >> 0 is 0
PASS 0.078125 >>> 0 is 0
PASS -0.078125 >>> 0 is 0
PASS 0.15625 >> 0 is 0
PASS -0.15625 >> 0 is 0
PASS 0.15625 >>> 0 is 0
PASS -0.15625 >>> 0 is 0
PASS 0.3125 >> 0 is 0
PASS -0.3125 >> 0 is 0
PASS 0.3125 >>> 0 is 0
PASS -0.3125 >>> 0 is 0
PASS 0.625 >> 0 is 0
PASS -0.625 >> 0 is 0
PASS 0.625 >>> 0 is 0
PASS -0.625 >>> 0 is 0
PASS 1.25 >> 0 is 1
PASS -1.25 >> 0 is -1
PASS 1.25 >>> 0 is 1
PASS -1.25 >>> 0 is 4294967295
PASS 2.5 >> 0 is 2
PASS -2.5 >> 0 is -2
PASS 2.5 >>> 0 is 2
PASS -2.5 >>> 0 is 4294967294
PASS 5 >> 0 is 5
PASS -5 >> 0 is -5
PASS 5 >>> 0 is 5
PASS -5 >>> 0 is 4294967291
PASS 10 >> 0 is 10
PASS -10 >> 0 is -10
PASS 10 >>> 0 is 10
PASS -10 >>> 0 is 4294967286
PASS 20 >> 0 is 20
PASS -20 >> 0 is -20
PASS 20 >>> 0 is 20
PASS -20 >>> 0 is 4294967276
PASS 40 >> 0 is 40
PASS -40 >> 0 is -40
PASS 40 >>> 0 is 40
PASS -40 >>> 0 is 4294967256
PASS 80 >> 0 is 80
PASS -80 >> 0 is -80
PASS 80 >>> 0 is 80
PASS -80 >>> 0 is 4294967216
PASS 160 >> 0 is 160
PASS -160 >> 0 is -160
PASS 160 >>> 0 is 160
PASS -160 >>> 0 is 4294967136
PASS 320 >> 0 is 320
PASS -320 >> 0 is -320
PASS 320 >>> 0 is 320
PASS -320 >>> 0 is 4294966976
PASS 640 >> 0 is 640
PASS -640 >> 0 is -640
PASS 640 >>> 0 is 640
PASS -640 >>> 0 is 4294966656
PASS 1280 >> 0 is 1280
PASS -1280 >> 0 is -1280
PASS 1280 >>> 0 is 1280
PASS -1280 >>> 0 is 4294966016
PASS 2560 >> 0 is 2560
PASS -2560 >> 0 is -2560
PASS 2560 >>> 0 is 2560
PASS -2560 >>> 0 is 4294964736
PASS 5120 >> 0 is 5120
PASS -5120 >> 0 is -5120
PASS 5120 >>> 0 is 5120
PASS -5120 >>> 0 is 4294962176
PASS 10240 >> 0 is 10240
PASS -10240 >> 0 is -10240
PASS 10240 >>> 0 is 10240
PASS -10240 >>> 0 is 4294957056
PASS 20480 >> 0 is 20480
PASS -20480 >> 0 is -20480
PASS 20480 >>> 0 is 20480
PASS -20480 >>> 0 is 4294946816
PASS 40960 >> 0 is 40960
PASS -40960 >> 0 is -40960
PASS 40960 >>> 0 is 40960
PASS -40960 >>> 0 is 4294926336
PASS 81920 >> 0 is 81920
PASS -81920 >> 0 is -81920
PASS 81920 >>> 0 is 81920
PASS -81920 >>> 0 is 4294885376
PASS 163840 >> 0 is 163840
PASS -163840 >> 0 is -163840
PASS 163840 >>> 0 is 163840
PASS -163840 >>> 0 is 4294803456
PASS 327680 >> 0 is 327680
PASS -327680 >> 0 is -327680
PASS 327680 >>> 0 is 327680
PASS -327680 >>> 0 is 4294639616
PASS 655360 >> 0 is 655360
PASS -655360 >> 0 is -655360
PASS 655360 >>> 0 is 655360
PASS -655360 >>> 0 is 4294311936
PASS 1310720 >> 0 is 1310720
PASS -1310720 >> 0 is -1310720
PASS 1310720 >>> 0 is 1310720
PASS -1310720 >>> 0 is 4293656576
PASS 2621440 >> 0 is 2621440
PASS -2621440 >> 0 is -2621440
PASS 2621440 >>> 0 is 2621440
PASS -2621440 >>> 0 is 4292345856
PASS 5242880 >> 0 is 5242880
PASS -5242880 >> 0 is -5242880
PASS 5242880 >>> 0 is 5242880
PASS -5242880 >>> 0 is 4289724416
PASS 10485760 >> 0 is 10485760
PASS -10485760 >> 0 is -10485760
PASS 10485760 >>> 0 is 10485760
PASS -10485760 >>> 0 is 4284481536
PASS 20971520 >> 0 is 20971520
PASS -20971520 >> 0 is -20971520
PASS 20971520 >>> 0 is 20971520
PASS -20971520 >>> 0 is 4273995776
PASS 41943040 >> 0 is 41943040
PASS -41943040 >> 0 is -41943040
PASS 41943040 >>> 0 is 41943040
PASS -41943040 >>> 0 is 4253024256
PASS 83886080 >> 0 is 83886080
PASS -83886080 >> 0 is -83886080
PASS 83886080 >>> 0 is 83886080
PASS -83886080 >>> 0 is 4211081216
PASS 167772160 >> 0 is 167772160
PASS -167772160 >> 0 is -167772160
PASS 167772160 >>> 0 is 167772160
PASS -167772160 >>> 0 is 4127195136
PASS 335544320 >> 0 is 335544320
PASS -335544320 >> 0 is -335544320
PASS 335544320 >>> 0 is 335544320
PASS -335544320 >>> 0 is 3959422976
PASS 671088640 >> 0 is 671088640
PASS -671088640 >> 0 is -671088640
PASS 671088640 >>> 0 is 671088640
PASS -671088640 >>> 0 is 3623878656
PASS 1342177280 >> 0 is 1342177280
PASS -1342177280 >> 0 is -1342177280
PASS 1342177280 >>> 0 is 1342177280
PASS -1342177280 >>> 0 is 2952790016
PASS 2684354560 >> 0 is -1610612736
PASS -2684354560 >> 0 is 1610612736
PASS 2684354560 >>> 0 is 2684354560
PASS -2684354560 >>> 0 is 1610612736
PASS 5368709120 >> 0 is 1073741824
PASS -5368709120 >> 0 is -1073741824
PASS 5368709120 >>> 0 is 1073741824
PASS -5368709120 >>> 0 is 3221225472
PASS 10737418240 >> 0 is -2147483648
PASS -10737418240 >> 0 is -2147483648
PASS 10737418240 >>> 0 is 2147483648
PASS -10737418240 >>> 0 is 2147483648
PASS 21474836480 >> 0 is 0
PASS -21474836480 >> 0 is 0
PASS 21474836480 >>> 0 is 0
PASS -21474836480 >>> 0 is 0
PASS 2.980232241545089e-8 >> 0 is 0
PASS -2.980232241545089e-8 >> 0 is 0
PASS 2.980232241545089e-8 >>> 0 is 0
PASS -2.980232241545089e-8 >>> 0 is 0
PASS 5.960464483090178e-8 >> 0 is 0
PASS -5.960464483090178e-8 >> 0 is 0
PASS 5.960464483090178e-8 >>> 0 is 0
PASS -5.960464483090178e-8 >>> 0 is 0
PASS 1.1920928966180355e-7 >> 0 is 0
PASS -1.1920928966180355e-7 >> 0 is 0
PASS 1.1920928966180355e-7 >>> 0 is 0
PASS -1.1920928966180355e-7 >>> 0 is 0
PASS 2.384185793236071e-7 >> 0 is 0
PASS -2.384185793236071e-7 >> 0 is 0
PASS 2.384185793236071e-7 >>> 0 is 0
PASS -2.384185793236071e-7 >>> 0 is 0
PASS 4.768371586472142e-7 >> 0 is 0
PASS -4.768371586472142e-7 >> 0 is 0
PASS 4.768371586472142e-7 >>> 0 is 0
PASS -4.768371586472142e-7 >>> 0 is 0
PASS 9.536743172944284e-7 >> 0 is 0
PASS -9.536743172944284e-7 >> 0 is 0
PASS 9.536743172944284e-7 >>> 0 is 0
PASS -9.536743172944284e-7 >>> 0 is 0
PASS 0.000001907348634588857 >> 0 is 0
PASS -0.000001907348634588857 >> 0 is 0
PASS 0.000001907348634588857 >>> 0 is 0
PASS -0.000001907348634588857 >>> 0 is 0
PASS 0.000003814697269177714 >> 0 is 0
PASS -0.000003814697269177714 >> 0 is 0
PASS 0.000003814697269177714 >>> 0 is 0
PASS -0.000003814697269177714 >>> 0 is 0
PASS 0.000007629394538355427 >> 0 is 0
PASS -0.000007629394538355427 >> 0 is 0
PASS 0.000007629394538355427 >>> 0 is 0
PASS -0.000007629394538355427 >>> 0 is 0
PASS 0.000015258789076710855 >> 0 is 0
PASS -0.000015258789076710855 >> 0 is 0
PASS 0.000015258789076710855 >>> 0 is 0
PASS -0.000015258789076710855 >>> 0 is 0
PASS 0.00003051757815342171 >> 0 is 0
PASS -0.00003051757815342171 >> 0 is 0
PASS 0.00003051757815342171 >>> 0 is 0
PASS -0.00003051757815342171 >>> 0 is 0
PASS 0.00006103515630684342 >> 0 is 0
PASS -0.00006103515630684342 >> 0 is 0
PASS 0.00006103515630684342 >>> 0 is 0
PASS -0.00006103515630684342 >>> 0 is 0
PASS 0.00012207031261368684 >> 0 is 0
PASS -0.00012207031261368684 >> 0 is 0
PASS 0.00012207031261368684 >>> 0 is 0
PASS -0.00012207031261368684 >>> 0 is 0
PASS 0.0002441406252273737 >> 0 is 0
PASS -0.0002441406252273737 >> 0 is 0
PASS 0.0002441406252273737 >>> 0 is 0
PASS -0.0002441406252273737 >>> 0 is 0
PASS 0.0004882812504547474 >> 0 is 0
PASS -0.0004882812504547474 >> 0 is 0
PASS 0.0004882812504547474 >>> 0 is 0
PASS -0.0004882812504547474 >>> 0 is 0
PASS 0.0009765625009094947 >> 0 is 0
PASS -0.0009765625009094947 >> 0 is 0
PASS 0.0009765625009094947 >>> 0 is 0
PASS -0.0009765625009094947 >>> 0 is 0
PASS 0.0019531250018189894 >> 0 is 0
PASS -0.0019531250018189894 >> 0 is 0
PASS 0.0019531250018189894 >>> 0 is 0
PASS -0.0019531250018189894 >>> 0 is 0
PASS 0.003906250003637979 >> 0 is 0
PASS -0.003906250003637979 >> 0 is 0
PASS 0.003906250003637979 >>> 0 is 0
PASS -0.003906250003637979 >>> 0 is 0
PASS 0.007812500007275958 >> 0 is 0
PASS -0.007812500007275958 >> 0 is 0
PASS 0.007812500007275958 >>> 0 is 0
PASS -0.007812500007275958 >>> 0 is 0
PASS 0.015625000014551915 >> 0 is 0
PASS -0.015625000014551915 >> 0 is 0
PASS 0.015625000014551915 >>> 0 is 0
PASS -0.015625000014551915 >>> 0 is 0
PASS 0.03125000002910383 >> 0 is 0
PASS -0.03125000002910383 >> 0 is 0
PASS 0.03125000002910383 >>> 0 is 0
PASS -0.03125000002910383 >>> 0 is 0
PASS 0.06250000005820766 >> 0 is 0
PASS -0.06250000005820766 >> 0 is 0
PASS 0.06250000005820766 >>> 0 is 0
PASS -0.06250000005820766 >>> 0 is 0
PASS 0.12500000011641532 >> 0 is 0
PASS -0.12500000011641532 >> 0 is 0
PASS 0.12500000011641532 >>> 0 is 0
PASS -0.12500000011641532 >>> 0 is 0
PASS 0.25000000023283064 >> 0 is 0
PASS -0.25000000023283064 >> 0 is 0
PASS 0.25000000023283064 >>> 0 is 0
PASS -0.25000000023283064 >>> 0 is 0
PASS 0.5000000004656613 >> 0 is 0
PASS -0.5000000004656613 >> 0 is 0
PASS 0.5000000004656613 >>> 0 is 0
PASS -0.5000000004656613 >>> 0 is 0
PASS 1.0000000009313226 >> 0 is 1
PASS -1.0000000009313226 >> 0 is -1
PASS 1.0000000009313226 >>> 0 is 1
PASS -1.0000000009313226 >>> 0 is 4294967295
PASS 2.000000001862645 >> 0 is 2
PASS -2.000000001862645 >> 0 is -2
PASS 2.000000001862645 >>> 0 is 2
PASS -2.000000001862645 >>> 0 is 4294967294
PASS 4.00000000372529 >> 0 is 4
PASS -4.00000000372529 >> 0 is -4
PASS 4.00000000372529 >>> 0 is 4
PASS -4.00000000372529 >>> 0 is 4294967292
PASS 8.00000000745058 >> 0 is 8
PASS -8.00000000745058 >> 0 is -8
PASS 8.00000000745058 >>> 0 is 8
PASS -8.00000000745058 >>> 0 is 4294967288
PASS 16.00000001490116 >> 0 is 16
PASS -16.00000001490116 >> 0 is -16
PASS 16.00000001490116 >>> 0 is 16
PASS -16.00000001490116 >>> 0 is 4294967280
PASS 32.00000002980232 >> 0 is 32
PASS -32.00000002980232 >> 0 is -32
PASS 32.00000002980232 >>> 0 is 32
PASS -32.00000002980232 >>> 0 is 4294967264
PASS 64.00000005960464 >> 0 is 64
PASS -64.00000005960464 >> 0 is -64
PASS 64.00000005960464 >>> 0 is 64
PASS -64.00000005960464 >>> 0 is 4294967232
PASS 128.0000001192093 >> 0 is 128
PASS -128.0000001192093 >> 0 is -128
PASS 128.0000001192093 >>> 0 is 128
PASS -128.0000001192093 >>> 0 is 4294967168
PASS 256.0000002384186 >> 0 is 256
PASS -256.0000002384186 >> 0 is -256
PASS 256.0000002384186 >>> 0 is 256
PASS -256.0000002384186 >>> 0 is 4294967040
PASS 512.0000004768372 >> 0 is 512
PASS -512.0000004768372 >> 0 is -512
PASS 512.0000004768372 >>> 0 is 512
PASS -512.0000004768372 >>> 0 is 4294966784
PASS 1024.0000009536743 >> 0 is 1024
PASS -1024.0000009536743 >> 0 is -1024
PASS 1024.0000009536743 >>> 0 is 1024
PASS -1024.0000009536743 >>> 0 is 4294966272
PASS 2048.0000019073486 >> 0 is 2048
PASS -2048.0000019073486 >> 0 is -2048
PASS 2048.0000019073486 >>> 0 is 2048
PASS -2048.0000019073486 >>> 0 is 4294965248
PASS 4096.000003814697 >> 0 is 4096
PASS -4096.000003814697 >> 0 is -4096
PASS 4096.000003814697 >>> 0 is 4096
PASS -4096.000003814697 >>> 0 is 4294963200
PASS 8192.000007629395 >> 0 is 8192
PASS -8192.000007629395 >> 0 is -8192
PASS 8192.000007629395 >>> 0 is 8192
PASS -8192.000007629395 >>> 0 is 4294959104
PASS 16384.00001525879 >> 0 is 16384
PASS -16384.00001525879 >> 0 is -16384
PASS 16384.00001525879 >>> 0 is 16384
PASS -16384.00001525879 >>> 0 is 4294950912
PASS 32768.00003051758 >> 0 is 32768
PASS -32768.00003051758 >> 0 is -32768
PASS 32768.00003051758 >>> 0 is 32768
PASS -32768.00003051758 >>> 0 is 4294934528
PASS 65536.00006103516 >> 0 is 65536
PASS -65536.00006103516 >> 0 is -65536
PASS 65536.00006103516 >>> 0 is 65536
PASS -65536.00006103516 >>> 0 is 4294901760
PASS 131072.0001220703 >> 0 is 131072
PASS -131072.0001220703 >> 0 is -131072
PASS 131072.0001220703 >>> 0 is 131072
PASS -131072.0001220703 >>> 0 is 4294836224
PASS 262144.0002441406 >> 0 is 262144
PASS -262144.0002441406 >> 0 is -262144
PASS 262144.0002441406 >>> 0 is 262144
PASS -262144.0002441406 >>> 0 is 4294705152
PASS 524288.0004882813 >> 0 is 524288
PASS -524288.0004882813 >> 0 is -524288
PASS 524288.0004882813 >>> 0 is 524288
PASS -524288.0004882813 >>> 0 is 4294443008
PASS 1048576.0009765625 >> 0 is 1048576
PASS -1048576.0009765625 >> 0 is -1048576
PASS 1048576.0009765625 >>> 0 is 1048576
PASS -1048576.0009765625 >>> 0 is 4293918720
PASS 2097152.001953125 >> 0 is 2097152
PASS -2097152.001953125 >> 0 is -2097152
PASS 2097152.001953125 >>> 0 is 2097152
PASS -2097152.001953125 >>> 0 is 4292870144
PASS 4194304.00390625 >> 0 is 4194304
PASS -4194304.00390625 >> 0 is -4194304
PASS 4194304.00390625 >>> 0 is 4194304
PASS -4194304.00390625 >>> 0 is 4290772992
PASS 8388608.0078125 >> 0 is 8388608
PASS -8388608.0078125 >> 0 is -8388608
PASS 8388608.0078125 >>> 0 is 8388608
PASS -8388608.0078125 >>> 0 is 4286578688
PASS 16777216.015625 >> 0 is 16777216
PASS -16777216.015625 >> 0 is -16777216
PASS 16777216.015625 >>> 0 is 16777216
PASS -16777216.015625 >>> 0 is 4278190080
PASS 33554432.03125 >> 0 is 33554432
PASS -33554432.03125 >> 0 is -33554432
PASS 33554432.03125 >>> 0 is 33554432
PASS -33554432.03125 >>> 0 is 4261412864
PASS 67108864.0625 >> 0 is 67108864
PASS -67108864.0625 >> 0 is -67108864
PASS 67108864.0625 >>> 0 is 67108864
PASS -67108864.0625 >>> 0 is 4227858432
PASS 134217728.125 >> 0 is 134217728
PASS -134217728.125 >> 0 is -134217728
PASS 134217728.125 >>> 0 is 134217728
PASS -134217728.125 >>> 0 is 4160749568
PASS 268435456.25 >> 0 is 268435456
PASS -268435456.25 >> 0 is -268435456
PASS 268435456.25 >>> 0 is 268435456
PASS -268435456.25 >>> 0 is 4026531840
PASS 536870912.5 >> 0 is 536870912
PASS -536870912.5 >> 0 is -536870912
PASS 536870912.5 >>> 0 is 536870912
PASS -536870912.5 >>> 0 is 3758096384
PASS 1073741825 >> 0 is 1073741825
PASS -1073741825 >> 0 is -1073741825
PASS 1073741825 >>> 0 is 1073741825
PASS -1073741825 >>> 0 is 3221225471
PASS 2147483650 >> 0 is -2147483646
PASS -2147483650 >> 0 is 2147483646
PASS 2147483650 >>> 0 is 2147483650
PASS -2147483650 >>> 0 is 2147483646
PASS 4294967300 >> 0 is 4
PASS -4294967300 >> 0 is -4
PASS 4294967300 >>> 0 is 4
PASS -4294967300 >>> 0 is 4294967292
PASS 8589934600 >> 0 is 8
PASS -8589934600 >> 0 is -8
PASS 8589934600 >>> 0 is 8
PASS -8589934600 >>> 0 is 4294967288
PASS 17179869200 >> 0 is 16
PASS -17179869200 >> 0 is -16
PASS 17179869200 >>> 0 is 16
PASS -17179869200 >>> 0 is 4294967280
PASS 34359738400 >> 0 is 32
PASS -34359738400 >> 0 is -32
PASS 34359738400 >>> 0 is 32
PASS -34359738400 >>> 0 is 4294967264
PASS 68719476800 >> 0 is 64
PASS -68719476800 >> 0 is -64
PASS 68719476800 >>> 0 is 64
PASS -68719476800 >>> 0 is 4294967232
PASS 137438953600 >> 0 is 128
PASS -137438953600 >> 0 is -128
PASS 137438953600 >>> 0 is 128
PASS -137438953600 >>> 0 is 4294967168
PASS 274877907200 >> 0 is 256
PASS -274877907200 >> 0 is -256
PASS 274877907200 >>> 0 is 256
PASS -274877907200 >>> 0 is 4294967040
PASS 549755814400 >> 0 is 512
PASS -549755814400 >> 0 is -512
PASS 549755814400 >>> 0 is 512
PASS -549755814400 >>> 0 is 4294966784
PASS 1099511628800 >> 0 is 1024
PASS -1099511628800 >> 0 is -1024
PASS 1099511628800 >>> 0 is 1024
PASS -1099511628800 >>> 0 is 4294966272
PASS 2199023257600 >> 0 is 2048
PASS -2199023257600 >> 0 is -2048
PASS 2199023257600 >>> 0 is 2048
PASS -2199023257600 >>> 0 is 4294965248
PASS 4398046515200 >> 0 is 4096
PASS -4398046515200 >> 0 is -4096
PASS 4398046515200 >>> 0 is 4096
PASS -4398046515200 >>> 0 is 4294963200
PASS 8796093030400 >> 0 is 8192
PASS -8796093030400 >> 0 is -8192
PASS 8796093030400 >>> 0 is 8192
PASS -8796093030400 >>> 0 is 4294959104
PASS 17592186060800 >> 0 is 16384
PASS -17592186060800 >> 0 is -16384
PASS 17592186060800 >>> 0 is 16384
PASS -17592186060800 >>> 0 is 4294950912
PASS 35184372121600 >> 0 is 32768
PASS -35184372121600 >> 0 is -32768
PASS 35184372121600 >>> 0 is 32768
PASS -35184372121600 >>> 0 is 4294934528
PASS 70368744243200 >> 0 is 65536
PASS -70368744243200 >> 0 is -65536
PASS 70368744243200 >>> 0 is 65536
PASS -70368744243200 >>> 0 is 4294901760
PASS 140737488486400 >> 0 is 131072
PASS -140737488486400 >> 0 is -131072
PASS 140737488486400 >>> 0 is 131072
PASS -140737488486400 >>> 0 is 4294836224
PASS 281474976972800 >> 0 is 262144
PASS -281474976972800 >> 0 is -262144
PASS 281474976972800 >>> 0 is 262144
PASS -281474976972800 >>> 0 is 4294705152
PASS 562949953945600 >> 0 is 524288
PASS -562949953945600 >> 0 is -524288
PASS 562949953945600 >>> 0 is 524288
PASS -562949953945600 >>> 0 is 4294443008
PASS 1125899907891200 >> 0 is 1048576
PASS -1125899907891200 >> 0 is -1048576
PASS 1125899907891200 >>> 0 is 1048576
PASS -1125899907891200 >>> 0 is 4293918720
PASS 2251799815782400 >> 0 is 2097152
PASS -2251799815782400 >> 0 is -2097152
PASS 2251799815782400 >>> 0 is 2097152
PASS -2251799815782400 >>> 0 is 4292870144
PASS 4503599631564800 >> 0 is 4194304
PASS -4503599631564800 >> 0 is -4194304
PASS 4503599631564800 >>> 0 is 4194304
PASS -4503599631564800 >>> 0 is 4290772992
PASS 9007199263129600 >> 0 is 8388608
PASS -9007199263129600 >> 0 is -8388608
PASS 9007199263129600 >>> 0 is 8388608
PASS -9007199263129600 >>> 0 is 4286578688
PASS 18014398526259200 >> 0 is 16777216
PASS -18014398526259200 >> 0 is -16777216
PASS 18014398526259200 >>> 0 is 16777216
PASS -18014398526259200 >>> 0 is 4278190080
PASS 36028797052518400 >> 0 is 33554432
PASS -36028797052518400 >> 0 is -33554432
PASS 36028797052518400 >>> 0 is 33554432
PASS -36028797052518400 >>> 0 is 4261412864
PASS 72057594105036800 >> 0 is 67108864
PASS -72057594105036800 >> 0 is -67108864
PASS 72057594105036800 >>> 0 is 67108864
PASS -72057594105036800 >>> 0 is 4227858432
PASS 144115188210073600 >> 0 is 134217728
PASS -144115188210073600 >> 0 is -134217728
PASS 144115188210073600 >>> 0 is 134217728
PASS -144115188210073600 >>> 0 is 4160749568
PASS 288230376420147200 >> 0 is 268435456
PASS -288230376420147200 >> 0 is -268435456
PASS 288230376420147200 >>> 0 is 268435456
PASS -288230376420147200 >>> 0 is 4026531840
PASS 576460752840294400 >> 0 is 536870912
PASS -576460752840294400 >> 0 is -536870912
PASS 576460752840294400 >>> 0 is 536870912
PASS -576460752840294400 >>> 0 is 3758096384
PASS 1152921505680588800 >> 0 is 1073741824
PASS -1152921505680588800 >> 0 is -1073741824
PASS 1152921505680588800 >>> 0 is 1073741824
PASS -1152921505680588800 >>> 0 is 3221225472
PASS 2305843011361177600 >> 0 is -2147483648
PASS -2305843011361177600 >> 0 is -2147483648
PASS 2305843011361177600 >>> 0 is 2147483648
PASS -2305843011361177600 >>> 0 is 2147483648
PASS 4611686022722355000 >> 0 is 0
PASS -4611686022722355000 >> 0 is 0
PASS 4611686022722355000 >>> 0 is 0
PASS -4611686022722355000 >>> 0 is 0
PASS 5.96046448031462e-8 >> 0 is 0
PASS -5.96046448031462e-8 >> 0 is 0
PASS 5.96046448031462e-8 >>> 0 is 0
PASS -5.96046448031462e-8 >>> 0 is 0
PASS 1.192092896062924e-7 >> 0 is 0
PASS -1.192092896062924e-7 >> 0 is 0
PASS 1.192092896062924e-7 >>> 0 is 0
PASS -1.192092896062924e-7 >>> 0 is 0
PASS 2.384185792125848e-7 >> 0 is 0
PASS -2.384185792125848e-7 >> 0 is 0
PASS 2.384185792125848e-7 >>> 0 is 0
PASS -2.384185792125848e-7 >>> 0 is 0
PASS 4.768371584251696e-7 >> 0 is 0
PASS -4.768371584251696e-7 >> 0 is 0
PASS 4.768371584251696e-7 >>> 0 is 0
PASS -4.768371584251696e-7 >>> 0 is 0
PASS 9.536743168503392e-7 >> 0 is 0
PASS -9.536743168503392e-7 >> 0 is 0
PASS 9.536743168503392e-7 >>> 0 is 0
PASS -9.536743168503392e-7 >>> 0 is 0
PASS 0.0000019073486337006784 >> 0 is 0
PASS -0.0000019073486337006784 >> 0 is 0
PASS 0.0000019073486337006784 >>> 0 is 0
PASS -0.0000019073486337006784 >>> 0 is 0
PASS 0.000003814697267401357 >> 0 is 0
PASS -0.000003814697267401357 >> 0 is 0
PASS 0.000003814697267401357 >>> 0 is 0
PASS -0.000003814697267401357 >>> 0 is 0
PASS 0.000007629394534802714 >> 0 is 0
PASS -0.000007629394534802714 >> 0 is 0
PASS 0.000007629394534802714 >>> 0 is 0
PASS -0.000007629394534802714 >>> 0 is 0
PASS 0.000015258789069605427 >> 0 is 0
PASS -0.000015258789069605427 >> 0 is 0
PASS 0.000015258789069605427 >>> 0 is 0
PASS -0.000015258789069605427 >>> 0 is 0
PASS 0.000030517578139210855 >> 0 is 0
PASS -0.000030517578139210855 >> 0 is 0
PASS 0.000030517578139210855 >>> 0 is 0
PASS -0.000030517578139210855 >>> 0 is 0
PASS 0.00006103515627842171 >> 0 is 0
PASS -0.00006103515627842171 >> 0 is 0
PASS 0.00006103515627842171 >>> 0 is 0
PASS -0.00006103515627842171 >>> 0 is 0
PASS 0.00012207031255684342 >> 0 is 0
PASS -0.00012207031255684342 >> 0 is 0
PASS 0.00012207031255684342 >>> 0 is 0
PASS -0.00012207031255684342 >>> 0 is 0
PASS 0.00024414062511368684 >> 0 is 0
PASS -0.00024414062511368684 >> 0 is 0
PASS 0.00024414062511368684 >>> 0 is 0
PASS -0.00024414062511368684 >>> 0 is 0
PASS 0.0004882812502273737 >> 0 is 0
PASS -0.0004882812502273737 >> 0 is 0
PASS 0.0004882812502273737 >>> 0 is 0
PASS -0.0004882812502273737 >>> 0 is 0
PASS 0.0009765625004547474 >> 0 is 0
PASS -0.0009765625004547474 >> 0 is 0
PASS 0.0009765625004547474 >>> 0 is 0
PASS -0.0009765625004547474 >>> 0 is 0
PASS 0.0019531250009094947 >> 0 is 0
PASS -0.0019531250009094947 >> 0 is 0
PASS 0.0019531250009094947 >>> 0 is 0
PASS -0.0019531250009094947 >>> 0 is 0
PASS 0.003906250001818989 >> 0 is 0
PASS -0.003906250001818989 >> 0 is 0
PASS 0.003906250001818989 >>> 0 is 0
PASS -0.003906250001818989 >>> 0 is 0
PASS 0.007812500003637979 >> 0 is 0
PASS -0.007812500003637979 >> 0 is 0
PASS 0.007812500003637979 >>> 0 is 0
PASS -0.007812500003637979 >>> 0 is 0
PASS 0.015625000007275958 >> 0 is 0
PASS -0.015625000007275958 >> 0 is 0
PASS 0.015625000007275958 >>> 0 is 0
PASS -0.015625000007275958 >>> 0 is 0
PASS 0.031250000014551915 >> 0 is 0
PASS -0.031250000014551915 >> 0 is 0
PASS 0.031250000014551915 >>> 0 is 0
PASS -0.031250000014551915 >>> 0 is 0
PASS 0.06250000002910383 >> 0 is 0
PASS -0.06250000002910383 >> 0 is 0
PASS 0.06250000002910383 >>> 0 is 0
PASS -0.06250000002910383 >>> 0 is 0
PASS 0.12500000005820766 >> 0 is 0
PASS -0.12500000005820766 >> 0 is 0
PASS 0.12500000005820766 >>> 0 is 0
PASS -0.12500000005820766 >>> 0 is 0
PASS 0.2500000001164153 >> 0 is 0
PASS -0.2500000001164153 >> 0 is 0
PASS 0.2500000001164153 >>> 0 is 0
PASS -0.2500000001164153 >>> 0 is 0
PASS 0.5000000002328306 >> 0 is 0
PASS -0.5000000002328306 >> 0 is 0
PASS 0.5000000002328306 >>> 0 is 0
PASS -0.5000000002328306 >>> 0 is 0
PASS 1.0000000004656613 >> 0 is 1
PASS -1.0000000004656613 >> 0 is -1
PASS 1.0000000004656613 >>> 0 is 1
PASS -1.0000000004656613 >>> 0 is 4294967295
PASS 2.0000000009313226 >> 0 is 2
PASS -2.0000000009313226 >> 0 is -2
PASS 2.0000000009313226 >>> 0 is 2
PASS -2.0000000009313226 >>> 0 is 4294967294
PASS 4.000000001862645 >> 0 is 4
PASS -4.000000001862645 >> 0 is -4
PASS 4.000000001862645 >>> 0 is 4
PASS -4.000000001862645 >>> 0 is 4294967292
PASS 8.00000000372529 >> 0 is 8
PASS -8.00000000372529 >> 0 is -8
PASS 8.00000000372529 >>> 0 is 8
PASS -8.00000000372529 >>> 0 is 4294967288
PASS 16.00000000745058 >> 0 is 16
PASS -16.00000000745058 >> 0 is -16
PASS 16.00000000745058 >>> 0 is 16
PASS -16.00000000745058 >>> 0 is 4294967280
PASS 32.00000001490116 >> 0 is 32
PASS -32.00000001490116 >> 0 is -32
PASS 32.00000001490116 >>> 0 is 32
PASS -32.00000001490116 >>> 0 is 4294967264
PASS 64.00000002980232 >> 0 is 64
PASS -64.00000002980232 >> 0 is -64
PASS 64.00000002980232 >>> 0 is 64
PASS -64.00000002980232 >>> 0 is 4294967232
PASS 128.00000005960464 >> 0 is 128
PASS -128.00000005960464 >> 0 is -128
PASS 128.00000005960464 >>> 0 is 128
PASS -128.00000005960464 >>> 0 is 4294967168
PASS 256.0000001192093 >> 0 is 256
PASS -256.0000001192093 >> 0 is -256
PASS 256.0000001192093 >>> 0 is 256
PASS -256.0000001192093 >>> 0 is 4294967040
PASS 512.0000002384186 >> 0 is 512
PASS -512.0000002384186 >> 0 is -512
PASS 512.0000002384186 >>> 0 is 512
PASS -512.0000002384186 >>> 0 is 4294966784
PASS 1024.0000004768372 >> 0 is 1024
PASS -1024.0000004768372 >> 0 is -1024
PASS 1024.0000004768372 >>> 0 is 1024
PASS -1024.0000004768372 >>> 0 is 4294966272
PASS 2048.0000009536743 >> 0 is 2048
PASS -2048.0000009536743 >> 0 is -2048
PASS 2048.0000009536743 >>> 0 is 2048
PASS -2048.0000009536743 >>> 0 is 4294965248
PASS 4096.000001907349 >> 0 is 4096
PASS -4096.000001907349 >> 0 is -4096
PASS 4096.000001907349 >>> 0 is 4096
PASS -4096.000001907349 >>> 0 is 4294963200
PASS 8192.000003814697 >> 0 is 8192
PASS -8192.000003814697 >> 0 is -8192
PASS 8192.000003814697 >>> 0 is 8192
PASS -8192.000003814697 >>> 0 is 4294959104
PASS 16384.000007629395 >> 0 is 16384
PASS -16384.000007629395 >> 0 is -16384
PASS 16384.000007629395 >>> 0 is 16384
PASS -16384.000007629395 >>> 0 is 4294950912
PASS 32768.00001525879 >> 0 is 32768
PASS -32768.00001525879 >> 0 is -32768
PASS 32768.00001525879 >>> 0 is 32768
PASS -32768.00001525879 >>> 0 is 4294934528
PASS 65536.00003051758 >> 0 is 65536
PASS -65536.00003051758 >> 0 is -65536
PASS 65536.00003051758 >>> 0 is 65536
PASS -65536.00003051758 >>> 0 is 4294901760
PASS 131072.00006103516 >> 0 is 131072
PASS -131072.00006103516 >> 0 is -131072
PASS 131072.00006103516 >>> 0 is 131072
PASS -131072.00006103516 >>> 0 is 4294836224
PASS 262144.0001220703 >> 0 is 262144
PASS -262144.0001220703 >> 0 is -262144
PASS 262144.0001220703 >>> 0 is 262144
PASS -262144.0001220703 >>> 0 is 4294705152
PASS 524288.0002441406 >> 0 is 524288
PASS -524288.0002441406 >> 0 is -524288
PASS 524288.0002441406 >>> 0 is 524288
PASS -524288.0002441406 >>> 0 is 4294443008
PASS 1048576.0004882813 >> 0 is 1048576
PASS -1048576.0004882813 >> 0 is -1048576
PASS 1048576.0004882813 >>> 0 is 1048576
PASS -1048576.0004882813 >>> 0 is 4293918720
PASS 2097152.0009765625 >> 0 is 2097152
PASS -2097152.0009765625 >> 0 is -2097152
PASS 2097152.0009765625 >>> 0 is 2097152
PASS -2097152.0009765625 >>> 0 is 4292870144
PASS 4194304.001953125 >> 0 is 4194304
PASS -4194304.001953125 >> 0 is -4194304
PASS 4194304.001953125 >>> 0 is 4194304
PASS -4194304.001953125 >>> 0 is 4290772992
PASS 8388608.00390625 >> 0 is 8388608
PASS -8388608.00390625 >> 0 is -8388608
PASS 8388608.00390625 >>> 0 is 8388608
PASS -8388608.00390625 >>> 0 is 4286578688
PASS 16777216.0078125 >> 0 is 16777216
PASS -16777216.0078125 >> 0 is -16777216
PASS 16777216.0078125 >>> 0 is 16777216
PASS -16777216.0078125 >>> 0 is 4278190080
PASS 33554432.015625 >> 0 is 33554432
PASS -33554432.015625 >> 0 is -33554432
PASS 33554432.015625 >>> 0 is 33554432
PASS -33554432.015625 >>> 0 is 4261412864
PASS 67108864.03125 >> 0 is 67108864
PASS -67108864.03125 >> 0 is -67108864
PASS 67108864.03125 >>> 0 is 67108864
PASS -67108864.03125 >>> 0 is 4227858432
PASS 134217728.0625 >> 0 is 134217728
PASS -134217728.0625 >> 0 is -134217728
PASS 134217728.0625 >>> 0 is 134217728
PASS -134217728.0625 >>> 0 is 4160749568
PASS 268435456.125 >> 0 is 268435456
PASS -268435456.125 >> 0 is -268435456
PASS 268435456.125 >>> 0 is 268435456
PASS -268435456.125 >>> 0 is 4026531840
PASS 536870912.25 >> 0 is 536870912
PASS -536870912.25 >> 0 is -536870912
PASS 536870912.25 >>> 0 is 536870912
PASS -536870912.25 >>> 0 is 3758096384
PASS 1073741824.5 >> 0 is 1073741824
PASS -1073741824.5 >> 0 is -1073741824
PASS 1073741824.5 >>> 0 is 1073741824
PASS -1073741824.5 >>> 0 is 3221225472
PASS 2147483649 >> 0 is -2147483647
PASS -2147483649 >> 0 is 2147483647
PASS 2147483649 >>> 0 is 2147483649
PASS -2147483649 >>> 0 is 2147483647
PASS 4294967298 >> 0 is 2
PASS -4294967298 >> 0 is -2
PASS 4294967298 >>> 0 is 2
PASS -4294967298 >>> 0 is 4294967294
PASS 8589934596 >> 0 is 4
PASS -8589934596 >> 0 is -4
PASS 8589934596 >>> 0 is 4
PASS -8589934596 >>> 0 is 4294967292
PASS 17179869192 >> 0 is 8
PASS -17179869192 >> 0 is -8
PASS 17179869192 >>> 0 is 8
PASS -17179869192 >>> 0 is 4294967288
PASS 34359738384 >> 0 is 16
PASS -34359738384 >> 0 is -16
PASS 34359738384 >>> 0 is 16
PASS -34359738384 >>> 0 is 4294967280
PASS 68719476768 >> 0 is 32
PASS -68719476768 >> 0 is -32
PASS 68719476768 >>> 0 is 32
PASS -68719476768 >>> 0 is 4294967264
PASS 137438953536 >> 0 is 64
PASS -137438953536 >> 0 is -64
PASS 137438953536 >>> 0 is 64
PASS -137438953536 >>> 0 is 4294967232
PASS 274877907072 >> 0 is 128
PASS -274877907072 >> 0 is -128
PASS 274877907072 >>> 0 is 128
PASS -274877907072 >>> 0 is 4294967168
PASS 549755814144 >> 0 is 256
PASS -549755814144 >> 0 is -256
PASS 549755814144 >>> 0 is 256
PASS -549755814144 >>> 0 is 4294967040
PASS 1099511628288 >> 0 is 512
PASS -1099511628288 >> 0 is -512
PASS 1099511628288 >>> 0 is 512
PASS -1099511628288 >>> 0 is 4294966784
PASS 2199023256576 >> 0 is 1024
PASS -2199023256576 >> 0 is -1024
PASS 2199023256576 >>> 0 is 1024
PASS -2199023256576 >>> 0 is 4294966272
PASS 4398046513152 >> 0 is 2048
PASS -4398046513152 >> 0 is -2048
PASS 4398046513152 >>> 0 is 2048
PASS -4398046513152 >>> 0 is 4294965248
PASS 8796093026304 >> 0 is 4096
PASS -8796093026304 >> 0 is -4096
PASS 8796093026304 >>> 0 is 4096
PASS -8796093026304 >>> 0 is 4294963200
PASS 17592186052608 >> 0 is 8192
PASS -17592186052608 >> 0 is -8192
PASS 17592186052608 >>> 0 is 8192
PASS -17592186052608 >>> 0 is 4294959104
PASS 35184372105216 >> 0 is 16384
PASS -35184372105216 >> 0 is -16384
PASS 35184372105216 >>> 0 is 16384
PASS -35184372105216 >>> 0 is 4294950912
PASS 70368744210432 >> 0 is 32768
PASS -70368744210432 >> 0 is -32768
PASS 70368744210432 >>> 0 is 32768
PASS -70368744210432 >>> 0 is 4294934528
PASS 140737488420864 >> 0 is 65536
PASS -140737488420864 >> 0 is -65536
PASS 140737488420864 >>> 0 is 65536
PASS -140737488420864 >>> 0 is 4294901760
PASS 281474976841728 >> 0 is 131072
PASS -281474976841728 >> 0 is -131072
PASS 281474976841728 >>> 0 is 131072
PASS -281474976841728 >>> 0 is 4294836224
PASS 562949953683456 >> 0 is 262144
PASS -562949953683456 >> 0 is -262144
PASS 562949953683456 >>> 0 is 262144
PASS -562949953683456 >>> 0 is 4294705152
PASS 1125899907366912 >> 0 is 524288
PASS -1125899907366912 >> 0 is -524288
PASS 1125899907366912 >>> 0 is 524288
PASS -1125899907366912 >>> 0 is 4294443008
PASS 2251799814733824 >> 0 is 1048576
PASS -2251799814733824 >> 0 is -1048576
PASS 2251799814733824 >>> 0 is 1048576
PASS -2251799814733824 >>> 0 is 4293918720
PASS 4503599629467648 >> 0 is 2097152
PASS -4503599629467648 >> 0 is -2097152
PASS 4503599629467648 >>> 0 is 2097152
PASS -4503599629467648 >>> 0 is 4292870144
PASS 9007199258935296 >> 0 is 4194304
PASS -9007199258935296 >> 0 is -4194304
PASS 9007199258935296 >>> 0 is 4194304
PASS -9007199258935296 >>> 0 is 4290772992
PASS 18014398517870590 >> 0 is 8388608
PASS -18014398517870590 >> 0 is -8388608
PASS 18014398517870590 >>> 0 is 8388608
PASS -18014398517870590 >>> 0 is 4286578688
PASS 36028797035741180 >> 0 is 16777216
PASS -36028797035741180 >> 0 is -16777216
PASS 36028797035741180 >>> 0 is 16777216
PASS -36028797035741180 >>> 0 is 4278190080
PASS 72057594071482370 >> 0 is 33554432
PASS -72057594071482370 >> 0 is -33554432
PASS 72057594071482370 >>> 0 is 33554432
PASS -72057594071482370 >>> 0 is 4261412864
PASS 144115188142964740 >> 0 is 67108864
PASS -144115188142964740 >> 0 is -67108864
PASS 144115188142964740 >>> 0 is 67108864
PASS -144115188142964740 >>> 0 is 4227858432
PASS 288230376285929500 >> 0 is 134217728
PASS -288230376285929500 >> 0 is -134217728
PASS 288230376285929500 >>> 0 is 134217728
PASS -288230376285929500 >>> 0 is 4160749568
PASS 576460752571859000 >> 0 is 268435456
PASS -576460752571859000 >> 0 is -268435456
PASS 576460752571859000 >>> 0 is 268435456
PASS -576460752571859000 >>> 0 is 4026531840
PASS 1152921505143718000 >> 0 is 536870912
PASS -1152921505143718000 >> 0 is -536870912
PASS 1152921505143718000 >>> 0 is 536870912
PASS -1152921505143718000 >>> 0 is 3758096384
PASS 2305843010287436000 >> 0 is 1073741824
PASS -2305843010287436000 >> 0 is -1073741824
PASS 2305843010287436000 >>> 0 is 1073741824
PASS -2305843010287436000 >>> 0 is 3221225472
PASS 4611686020574872000 >> 0 is -2147483648
PASS -4611686020574872000 >> 0 is -2147483648
PASS 4611686020574872000 >>> 0 is 2147483648
PASS -4611686020574872000 >>> 0 is 2147483648
PASS 9223372041149743000 >> 0 is 0
PASS -9223372041149743000 >> 0 is 0
PASS 9223372041149743000 >>> 0 is 0
PASS -9223372041149743000 >>> 0 is 0
PASS 1.1920928957853683e-7 >> 0 is 0
PASS -1.1920928957853683e-7 >> 0 is 0
PASS 1.1920928957853683e-7 >>> 0 is 0
PASS -1.1920928957853683e-7 >>> 0 is 0
PASS 2.3841857915707365e-7 >> 0 is 0
PASS -2.3841857915707365e-7 >> 0 is 0
PASS 2.3841857915707365e-7 >>> 0 is 0
PASS -2.3841857915707365e-7 >>> 0 is 0
PASS 4.768371583141473e-7 >> 0 is 0
PASS -4.768371583141473e-7 >> 0 is 0
PASS 4.768371583141473e-7 >>> 0 is 0
PASS -4.768371583141473e-7 >>> 0 is 0
PASS 9.536743166282946e-7 >> 0 is 0
PASS -9.536743166282946e-7 >> 0 is 0
PASS 9.536743166282946e-7 >>> 0 is 0
PASS -9.536743166282946e-7 >>> 0 is 0
PASS 0.000001907348633256589 >> 0 is 0
PASS -0.000001907348633256589 >> 0 is 0
PASS 0.000001907348633256589 >>> 0 is 0
PASS -0.000001907348633256589 >>> 0 is 0
PASS 0.000003814697266513178 >> 0 is 0
PASS -0.000003814697266513178 >> 0 is 0
PASS 0.000003814697266513178 >>> 0 is 0
PASS -0.000003814697266513178 >>> 0 is 0
PASS 0.000007629394533026357 >> 0 is 0
PASS -0.000007629394533026357 >> 0 is 0
PASS 0.000007629394533026357 >>> 0 is 0
PASS -0.000007629394533026357 >>> 0 is 0
PASS 0.000015258789066052714 >> 0 is 0
PASS -0.000015258789066052714 >> 0 is 0
PASS 0.000015258789066052714 >>> 0 is 0
PASS -0.000015258789066052714 >>> 0 is 0
PASS 0.00003051757813210543 >> 0 is 0
PASS -0.00003051757813210543 >> 0 is 0
PASS 0.00003051757813210543 >>> 0 is 0
PASS -0.00003051757813210543 >>> 0 is 0
PASS 0.00006103515626421085 >> 0 is 0
PASS -0.00006103515626421085 >> 0 is 0
PASS 0.00006103515626421085 >>> 0 is 0
PASS -0.00006103515626421085 >>> 0 is 0
PASS 0.0001220703125284217 >> 0 is 0
PASS -0.0001220703125284217 >> 0 is 0
PASS 0.0001220703125284217 >>> 0 is 0
PASS -0.0001220703125284217 >>> 0 is 0
PASS 0.0002441406250568434 >> 0 is 0
PASS -0.0002441406250568434 >> 0 is 0
PASS 0.0002441406250568434 >>> 0 is 0
PASS -0.0002441406250568434 >>> 0 is 0
PASS 0.0004882812501136868 >> 0 is 0
PASS -0.0004882812501136868 >> 0 is 0
PASS 0.0004882812501136868 >>> 0 is 0
PASS -0.0004882812501136868 >>> 0 is 0
PASS 0.0009765625002273737 >> 0 is 0
PASS -0.0009765625002273737 >> 0 is 0
PASS 0.0009765625002273737 >>> 0 is 0
PASS -0.0009765625002273737 >>> 0 is 0
PASS 0.0019531250004547474 >> 0 is 0
PASS -0.0019531250004547474 >> 0 is 0
PASS 0.0019531250004547474 >>> 0 is 0
PASS -0.0019531250004547474 >>> 0 is 0
PASS 0.003906250000909495 >> 0 is 0
PASS -0.003906250000909495 >> 0 is 0
PASS 0.003906250000909495 >>> 0 is 0
PASS -0.003906250000909495 >>> 0 is 0
PASS 0.00781250000181899 >> 0 is 0
PASS -0.00781250000181899 >> 0 is 0
PASS 0.00781250000181899 >>> 0 is 0
PASS -0.00781250000181899 >>> 0 is 0
PASS 0.01562500000363798 >> 0 is 0
PASS -0.01562500000363798 >> 0 is 0
PASS 0.01562500000363798 >>> 0 is 0
PASS -0.01562500000363798 >>> 0 is 0
PASS 0.03125000000727596 >> 0 is 0
PASS -0.03125000000727596 >> 0 is 0
PASS 0.03125000000727596 >>> 0 is 0
PASS -0.03125000000727596 >>> 0 is 0
PASS 0.06250000001455192 >> 0 is 0
PASS -0.06250000001455192 >> 0 is 0
PASS 0.06250000001455192 >>> 0 is 0
PASS -0.06250000001455192 >>> 0 is 0
PASS 0.12500000002910383 >> 0 is 0
PASS -0.12500000002910383 >> 0 is 0
PASS 0.12500000002910383 >>> 0 is 0
PASS -0.12500000002910383 >>> 0 is 0
PASS 0.25000000005820766 >> 0 is 0
PASS -0.25000000005820766 >> 0 is 0
PASS 0.25000000005820766 >>> 0 is 0
PASS -0.25000000005820766 >>> 0 is 0
PASS 0.5000000001164153 >> 0 is 0
PASS -0.5000000001164153 >> 0 is 0
PASS 0.5000000001164153 >>> 0 is 0
PASS -0.5000000001164153 >>> 0 is 0
PASS 1.0000000002328306 >> 0 is 1
PASS -1.0000000002328306 >> 0 is -1
PASS 1.0000000002328306 >>> 0 is 1
PASS -1.0000000002328306 >>> 0 is 4294967295
PASS 2.0000000004656613 >> 0 is 2
PASS -2.0000000004656613 >> 0 is -2
PASS 2.0000000004656613 >>> 0 is 2
PASS -2.0000000004656613 >>> 0 is 4294967294
PASS 4.000000000931323 >> 0 is 4
PASS -4.000000000931323 >> 0 is -4
PASS 4.000000000931323 >>> 0 is 4
PASS -4.000000000931323 >>> 0 is 4294967292
PASS 8.000000001862645 >> 0 is 8
PASS -8.000000001862645 >> 0 is -8
PASS 8.000000001862645 >>> 0 is 8
PASS -8.000000001862645 >>> 0 is 4294967288
PASS 16.00000000372529 >> 0 is 16
PASS -16.00000000372529 >> 0 is -16
PASS 16.00000000372529 >>> 0 is 16
PASS -16.00000000372529 >>> 0 is 4294967280
PASS 32.00000000745058 >> 0 is 32
PASS -32.00000000745058 >> 0 is -32
PASS 32.00000000745058 >>> 0 is 32
PASS -32.00000000745058 >>> 0 is 4294967264
PASS 64.00000001490116 >> 0 is 64
PASS -64.00000001490116 >> 0 is -64
PASS 64.00000001490116 >>> 0 is 64
PASS -64.00000001490116 >>> 0 is 4294967232
PASS 128.00000002980232 >> 0 is 128
PASS -128.00000002980232 >> 0 is -128
PASS 128.00000002980232 >>> 0 is 128
PASS -128.00000002980232 >>> 0 is 4294967168
PASS 256.00000005960464 >> 0 is 256
PASS -256.00000005960464 >> 0 is -256
PASS 256.00000005960464 >>> 0 is 256
PASS -256.00000005960464 >>> 0 is 4294967040
PASS 512.0000001192093 >> 0 is 512
PASS -512.0000001192093 >> 0 is -512
PASS 512.0000001192093 >>> 0 is 512
PASS -512.0000001192093 >>> 0 is 4294966784
PASS 1024.0000002384186 >> 0 is 1024
PASS -1024.0000002384186 >> 0 is -1024
PASS 1024.0000002384186 >>> 0 is 1024
PASS -1024.0000002384186 >>> 0 is 4294966272
PASS 2048.000000476837 >> 0 is 2048
PASS -2048.000000476837 >> 0 is -2048
PASS 2048.000000476837 >>> 0 is 2048
PASS -2048.000000476837 >>> 0 is 4294965248
PASS 4096.000000953674 >> 0 is 4096
PASS -4096.000000953674 >> 0 is -4096
PASS 4096.000000953674 >>> 0 is 4096
PASS -4096.000000953674 >>> 0 is 4294963200
PASS 8192.000001907349 >> 0 is 8192
PASS -8192.000001907349 >> 0 is -8192
PASS 8192.000001907349 >>> 0 is 8192
PASS -8192.000001907349 >>> 0 is 4294959104
PASS 16384.000003814697 >> 0 is 16384
PASS -16384.000003814697 >> 0 is -16384
PASS 16384.000003814697 >>> 0 is 16384
PASS -16384.000003814697 >>> 0 is 4294950912
PASS 32768.000007629395 >> 0 is 32768
PASS -32768.000007629395 >> 0 is -32768
PASS 32768.000007629395 >>> 0 is 32768
PASS -32768.000007629395 >>> 0 is 4294934528
PASS 65536.00001525879 >> 0 is 65536
PASS -65536.00001525879 >> 0 is -65536
PASS 65536.00001525879 >>> 0 is 65536
PASS -65536.00001525879 >>> 0 is 4294901760
PASS 131072.00003051758 >> 0 is 131072
PASS -131072.00003051758 >> 0 is -131072
PASS 131072.00003051758 >>> 0 is 131072
PASS -131072.00003051758 >>> 0 is 4294836224
PASS 262144.00006103516 >> 0 is 262144
PASS -262144.00006103516 >> 0 is -262144
PASS 262144.00006103516 >>> 0 is 262144
PASS -262144.00006103516 >>> 0 is 4294705152
PASS 524288.0001220703 >> 0 is 524288
PASS -524288.0001220703 >> 0 is -524288
PASS 524288.0001220703 >>> 0 is 524288
PASS -524288.0001220703 >>> 0 is 4294443008
PASS 1048576.0002441406 >> 0 is 1048576
PASS -1048576.0002441406 >> 0 is -1048576
PASS 1048576.0002441406 >>> 0 is 1048576
PASS -1048576.0002441406 >>> 0 is 4293918720
PASS 2097152.0004882813 >> 0 is 2097152
PASS -2097152.0004882813 >> 0 is -2097152
PASS 2097152.0004882813 >>> 0 is 2097152
PASS -2097152.0004882813 >>> 0 is 4292870144
PASS 4194304.0009765625 >> 0 is 4194304
PASS -4194304.0009765625 >> 0 is -4194304
PASS 4194304.0009765625 >>> 0 is 4194304
PASS -4194304.0009765625 >>> 0 is 4290772992
PASS 8388608.001953125 >> 0 is 8388608
PASS -8388608.001953125 >> 0 is -8388608
PASS 8388608.001953125 >>> 0 is 8388608
PASS -8388608.001953125 >>> 0 is 4286578688
PASS 16777216.00390625 >> 0 is 16777216
PASS -16777216.00390625 >> 0 is -16777216
PASS 16777216.00390625 >>> 0 is 16777216
PASS -16777216.00390625 >>> 0 is 4278190080
PASS 33554432.0078125 >> 0 is 33554432
PASS -33554432.0078125 >> 0 is -33554432
PASS 33554432.0078125 >>> 0 is 33554432
PASS -33554432.0078125 >>> 0 is 4261412864
PASS 67108864.015625 >> 0 is 67108864
PASS -67108864.015625 >> 0 is -67108864
PASS 67108864.015625 >>> 0 is 67108864
PASS -67108864.015625 >>> 0 is 4227858432
PASS 134217728.03125 >> 0 is 134217728
PASS -134217728.03125 >> 0 is -134217728
PASS 134217728.03125 >>> 0 is 134217728
PASS -134217728.03125 >>> 0 is 4160749568
PASS 268435456.0625 >> 0 is 268435456
PASS -268435456.0625 >> 0 is -268435456
PASS 268435456.0625 >>> 0 is 268435456
PASS -268435456.0625 >>> 0 is 4026531840
PASS 536870912.125 >> 0 is 536870912
PASS -536870912.125 >> 0 is -536870912
PASS 536870912.125 >>> 0 is 536870912
PASS -536870912.125 >>> 0 is 3758096384
PASS 1073741824.25 >> 0 is 1073741824
PASS -1073741824.25 >> 0 is -1073741824
PASS 1073741824.25 >>> 0 is 1073741824
PASS -1073741824.25 >>> 0 is 3221225472
PASS 2147483648.5 >> 0 is -2147483648
PASS -2147483648.5 >> 0 is -2147483648
PASS 2147483648.5 >>> 0 is 2147483648
PASS -2147483648.5 >>> 0 is 2147483648
PASS 4294967297 >> 0 is 1
PASS -4294967297 >> 0 is -1
PASS 4294967297 >>> 0 is 1
PASS -4294967297 >>> 0 is 4294967295
PASS 8589934594 >> 0 is 2
PASS -8589934594 >> 0 is -2
PASS 8589934594 >>> 0 is 2
PASS -8589934594 >>> 0 is 4294967294
PASS 17179869188 >> 0 is 4
PASS -17179869188 >> 0 is -4
PASS 17179869188 >>> 0 is 4
PASS -17179869188 >>> 0 is 4294967292
PASS 34359738376 >> 0 is 8
PASS -34359738376 >> 0 is -8
PASS 34359738376 >>> 0 is 8
PASS -34359738376 >>> 0 is 4294967288
PASS 68719476752 >> 0 is 16
PASS -68719476752 >> 0 is -16
PASS 68719476752 >>> 0 is 16
PASS -68719476752 >>> 0 is 4294967280
PASS 137438953504 >> 0 is 32
PASS -137438953504 >> 0 is -32
PASS 137438953504 >>> 0 is 32
PASS -137438953504 >>> 0 is 4294967264
PASS 274877907008 >> 0 is 64
PASS -274877907008 >> 0 is -64
PASS 274877907008 >>> 0 is 64
PASS -274877907008 >>> 0 is 4294967232
PASS 549755814016 >> 0 is 128
PASS -549755814016 >> 0 is -128
PASS 549755814016 >>> 0 is 128
PASS -549755814016 >>> 0 is 4294967168
PASS 1099511628032 >> 0 is 256
PASS -1099511628032 >> 0 is -256
PASS 1099511628032 >>> 0 is 256
PASS -1099511628032 >>> 0 is 4294967040
PASS 2199023256064 >> 0 is 512
PASS -2199023256064 >> 0 is -512
PASS 2199023256064 >>> 0 is 512
PASS -2199023256064 >>> 0 is 4294966784
PASS 4398046512128 >> 0 is 1024
PASS -4398046512128 >> 0 is -1024
PASS 4398046512128 >>> 0 is 1024
PASS -4398046512128 >>> 0 is 4294966272
PASS 8796093024256 >> 0 is 2048
PASS -8796093024256 >> 0 is -2048
PASS 8796093024256 >>> 0 is 2048
PASS -8796093024256 >>> 0 is 4294965248
PASS 17592186048512 >> 0 is 4096
PASS -17592186048512 >> 0 is -4096
PASS 17592186048512 >>> 0 is 4096
PASS -17592186048512 >>> 0 is 4294963200
PASS 35184372097024 >> 0 is 8192
PASS -35184372097024 >> 0 is -8192
PASS 35184372097024 >>> 0 is 8192
PASS -35184372097024 >>> 0 is 4294959104
PASS 70368744194048 >> 0 is 16384
PASS -70368744194048 >> 0 is -16384
PASS 70368744194048 >>> 0 is 16384
PASS -70368744194048 >>> 0 is 4294950912
PASS 140737488388096 >> 0 is 32768
PASS -140737488388096 >> 0 is -32768
PASS 140737488388096 >>> 0 is 32768
PASS -140737488388096 >>> 0 is 4294934528
PASS 281474976776192 >> 0 is 65536
PASS -281474976776192 >> 0 is -65536
PASS 281474976776192 >>> 0 is 65536
PASS -281474976776192 >>> 0 is 4294901760
PASS 562949953552384 >> 0 is 131072
PASS -562949953552384 >> 0 is -131072
PASS 562949953552384 >>> 0 is 131072
PASS -562949953552384 >>> 0 is 4294836224
PASS 1125899907104768 >> 0 is 262144
PASS -1125899907104768 >> 0 is -262144
PASS 1125899907104768 >>> 0 is 262144
PASS -1125899907104768 >>> 0 is 4294705152
PASS 2251799814209536 >> 0 is 524288
PASS -2251799814209536 >> 0 is -524288
PASS 2251799814209536 >>> 0 is 524288
PASS -2251799814209536 >>> 0 is 4294443008
PASS 4503599628419072 >> 0 is 1048576
PASS -4503599628419072 >> 0 is -1048576
PASS 4503599628419072 >>> 0 is 1048576
PASS -4503599628419072 >>> 0 is 4293918720
PASS 9007199256838144 >> 0 is 2097152
PASS -9007199256838144 >> 0 is -2097152
PASS 9007199256838144 >>> 0 is 2097152
PASS -9007199256838144 >>> 0 is 4292870144
PASS 18014398513676290 >> 0 is 4194304
PASS -18014398513676290 >> 0 is -4194304
PASS 18014398513676290 >>> 0 is 4194304
PASS -18014398513676290 >>> 0 is 4290772992
PASS 36028797027352580 >> 0 is 8388608
PASS -36028797027352580 >> 0 is -8388608
PASS 36028797027352580 >>> 0 is 8388608
PASS -36028797027352580 >>> 0 is 4286578688
PASS 72057594054705150 >> 0 is 16777216
PASS -72057594054705150 >> 0 is -16777216
PASS 72057594054705150 >>> 0 is 16777216
PASS -72057594054705150 >>> 0 is 4278190080
PASS 144115188109410300 >> 0 is 33554432
PASS -144115188109410300 >> 0 is -33554432
PASS 144115188109410300 >>> 0 is 33554432
PASS -144115188109410300 >>> 0 is 4261412864
PASS 288230376218820600 >> 0 is 67108864
PASS -288230376218820600 >> 0 is -67108864
PASS 288230376218820600 >>> 0 is 67108864
PASS -288230376218820600 >>> 0 is 4227858432
PASS 576460752437641200 >> 0 is 134217728
PASS -576460752437641200 >> 0 is -134217728
PASS 576460752437641200 >>> 0 is 134217728
PASS -576460752437641200 >>> 0 is 4160749568
PASS 1152921504875282400 >> 0 is 268435456
PASS -1152921504875282400 >> 0 is -268435456
PASS 1152921504875282400 >>> 0 is 268435456
PASS -1152921504875282400 >>> 0 is 4026531840
PASS 2305843009750565000 >> 0 is 536870912
PASS -2305843009750565000 >> 0 is -536870912
PASS 2305843009750565000 >>> 0 is 536870912
PASS -2305843009750565000 >>> 0 is 3758096384
PASS 4611686019501130000 >> 0 is 1073741824
PASS -4611686019501130000 >> 0 is -1073741824
PASS 4611686019501130000 >>> 0 is 1073741824
PASS -4611686019501130000 >>> 0 is 3221225472
PASS 9223372039002260000 >> 0 is -2147483648
PASS -9223372039002260000 >> 0 is -2147483648
PASS 9223372039002260000 >>> 0 is 2147483648
PASS -9223372039002260000 >>> 0 is 2147483648
PASS 18446744078004520000 >> 0 is 0
PASS -18446744078004520000 >> 0 is 0
PASS 18446744078004520000 >>> 0 is 0
PASS -18446744078004520000 >>> 0 is 0
PASS 5.960464474763505e-8 >> 0 is 0
PASS -5.960464474763505e-8 >> 0 is 0
PASS 5.960464474763505e-8 >>> 0 is 0
PASS -5.960464474763505e-8 >>> 0 is 0
PASS 1.192092894952701e-7 >> 0 is 0
PASS -1.192092894952701e-7 >> 0 is 0
PASS 1.192092894952701e-7 >>> 0 is 0
PASS -1.192092894952701e-7 >>> 0 is 0
PASS 2.384185789905402e-7 >> 0 is 0
PASS -2.384185789905402e-7 >> 0 is 0
PASS 2.384185789905402e-7 >>> 0 is 0
PASS -2.384185789905402e-7 >>> 0 is 0
PASS 4.768371579810804e-7 >> 0 is 0
PASS -4.768371579810804e-7 >> 0 is 0
PASS 4.768371579810804e-7 >>> 0 is 0
PASS -4.768371579810804e-7 >>> 0 is 0
PASS 9.536743159621608e-7 >> 0 is 0
PASS -9.536743159621608e-7 >> 0 is 0
PASS 9.536743159621608e-7 >>> 0 is 0
PASS -9.536743159621608e-7 >>> 0 is 0
PASS 0.0000019073486319243216 >> 0 is 0
PASS -0.0000019073486319243216 >> 0 is 0
PASS 0.0000019073486319243216 >>> 0 is 0
PASS -0.0000019073486319243216 >>> 0 is 0
PASS 0.000003814697263848643 >> 0 is 0
PASS -0.000003814697263848643 >> 0 is 0
PASS 0.000003814697263848643 >>> 0 is 0
PASS -0.000003814697263848643 >>> 0 is 0
PASS 0.000007629394527697286 >> 0 is 0
PASS -0.000007629394527697286 >> 0 is 0
PASS 0.000007629394527697286 >>> 0 is 0
PASS -0.000007629394527697286 >>> 0 is 0
PASS 0.000015258789055394573 >> 0 is 0
PASS -0.000015258789055394573 >> 0 is 0
PASS 0.000015258789055394573 >>> 0 is 0
PASS -0.000015258789055394573 >>> 0 is 0
PASS 0.000030517578110789145 >> 0 is 0
PASS -0.000030517578110789145 >> 0 is 0
PASS 0.000030517578110789145 >>> 0 is 0
PASS -0.000030517578110789145 >>> 0 is 0
PASS 0.00006103515622157829 >> 0 is 0
PASS -0.00006103515622157829 >> 0 is 0
PASS 0.00006103515622157829 >>> 0 is 0
PASS -0.00006103515622157829 >>> 0 is 0
PASS 0.00012207031244315658 >> 0 is 0
PASS -0.00012207031244315658 >> 0 is 0
PASS 0.00012207031244315658 >>> 0 is 0
PASS -0.00012207031244315658 >>> 0 is 0
PASS 0.00024414062488631316 >> 0 is 0
PASS -0.00024414062488631316 >> 0 is 0
PASS 0.00024414062488631316 >>> 0 is 0
PASS -0.00024414062488631316 >>> 0 is 0
PASS 0.0004882812497726263 >> 0 is 0
PASS -0.0004882812497726263 >> 0 is 0
PASS 0.0004882812497726263 >>> 0 is 0
PASS -0.0004882812497726263 >>> 0 is 0
PASS 0.0009765624995452526 >> 0 is 0
PASS -0.0009765624995452526 >> 0 is 0
PASS 0.0009765624995452526 >>> 0 is 0
PASS -0.0009765624995452526 >>> 0 is 0
PASS 0.0019531249990905053 >> 0 is 0
PASS -0.0019531249990905053 >> 0 is 0
PASS 0.0019531249990905053 >>> 0 is 0
PASS -0.0019531249990905053 >>> 0 is 0
PASS 0.0039062499981810106 >> 0 is 0
PASS -0.0039062499981810106 >> 0 is 0
PASS 0.0039062499981810106 >>> 0 is 0
PASS -0.0039062499981810106 >>> 0 is 0
PASS 0.007812499996362021 >> 0 is 0
PASS -0.007812499996362021 >> 0 is 0
PASS 0.007812499996362021 >>> 0 is 0
PASS -0.007812499996362021 >>> 0 is 0
PASS 0.015624999992724042 >> 0 is 0
PASS -0.015624999992724042 >> 0 is 0
PASS 0.015624999992724042 >>> 0 is 0
PASS -0.015624999992724042 >>> 0 is 0
PASS 0.031249999985448085 >> 0 is 0
PASS -0.031249999985448085 >> 0 is 0
PASS 0.031249999985448085 >>> 0 is 0
PASS -0.031249999985448085 >>> 0 is 0
PASS 0.06249999997089617 >> 0 is 0
PASS -0.06249999997089617 >> 0 is 0
PASS 0.06249999997089617 >>> 0 is 0
PASS -0.06249999997089617 >>> 0 is 0
PASS 0.12499999994179234 >> 0 is 0
PASS -0.12499999994179234 >> 0 is 0
PASS 0.12499999994179234 >>> 0 is 0
PASS -0.12499999994179234 >>> 0 is 0
PASS 0.24999999988358468 >> 0 is 0
PASS -0.24999999988358468 >> 0 is 0
PASS 0.24999999988358468 >>> 0 is 0
PASS -0.24999999988358468 >>> 0 is 0
PASS 0.49999999976716936 >> 0 is 0
PASS -0.49999999976716936 >> 0 is 0
PASS 0.49999999976716936 >>> 0 is 0
PASS -0.49999999976716936 >>> 0 is 0
PASS 0.9999999995343387 >> 0 is 0
PASS -0.9999999995343387 >> 0 is 0
PASS 0.9999999995343387 >>> 0 is 0
PASS -0.9999999995343387 >>> 0 is 0
PASS 1.9999999990686774 >> 0 is 1
PASS -1.9999999990686774 >> 0 is -1
PASS 1.9999999990686774 >>> 0 is 1
PASS -1.9999999990686774 >>> 0 is 4294967295
PASS 3.999999998137355 >> 0 is 3
PASS -3.999999998137355 >> 0 is -3
PASS 3.999999998137355 >>> 0 is 3
PASS -3.999999998137355 >>> 0 is 4294967293
PASS 7.99999999627471 >> 0 is 7
PASS -7.99999999627471 >> 0 is -7
PASS 7.99999999627471 >>> 0 is 7
PASS -7.99999999627471 >>> 0 is 4294967289
PASS 15.99999999254942 >> 0 is 15
PASS -15.99999999254942 >> 0 is -15
PASS 15.99999999254942 >>> 0 is 15
PASS -15.99999999254942 >>> 0 is 4294967281
PASS 31.99999998509884 >> 0 is 31
PASS -31.99999998509884 >> 0 is -31
PASS 31.99999998509884 >>> 0 is 31
PASS -31.99999998509884 >>> 0 is 4294967265
PASS 63.99999997019768 >> 0 is 63
PASS -63.99999997019768 >> 0 is -63
PASS 63.99999997019768 >>> 0 is 63
PASS -63.99999997019768 >>> 0 is 4294967233
PASS 127.99999994039536 >> 0 is 127
PASS -127.99999994039536 >> 0 is -127
PASS 127.99999994039536 >>> 0 is 127
PASS -127.99999994039536 >>> 0 is 4294967169
PASS 255.9999998807907 >> 0 is 255
PASS -255.9999998807907 >> 0 is -255
PASS 255.9999998807907 >>> 0 is 255
PASS -255.9999998807907 >>> 0 is 4294967041
PASS 511.9999997615814 >> 0 is 511
PASS -511.9999997615814 >> 0 is -511
PASS 511.9999997615814 >>> 0 is 511
PASS -511.9999997615814 >>> 0 is 4294966785
PASS 1023.9999995231628 >> 0 is 1023
PASS -1023.9999995231628 >> 0 is -1023
PASS 1023.9999995231628 >>> 0 is 1023
PASS -1023.9999995231628 >>> 0 is 4294966273
PASS 2047.9999990463257 >> 0 is 2047
PASS -2047.9999990463257 >> 0 is -2047
PASS 2047.9999990463257 >>> 0 is 2047
PASS -2047.9999990463257 >>> 0 is 4294965249
PASS 4095.9999980926514 >> 0 is 4095
PASS -4095.9999980926514 >> 0 is -4095
PASS 4095.9999980926514 >>> 0 is 4095
PASS -4095.9999980926514 >>> 0 is 4294963201
PASS 8191.999996185303 >> 0 is 8191
PASS -8191.999996185303 >> 0 is -8191
PASS 8191.999996185303 >>> 0 is 8191
PASS -8191.999996185303 >>> 0 is 4294959105
PASS 16383.999992370605 >> 0 is 16383
PASS -16383.999992370605 >> 0 is -16383
PASS 16383.999992370605 >>> 0 is 16383
PASS -16383.999992370605 >>> 0 is 4294950913
PASS 32767.99998474121 >> 0 is 32767
PASS -32767.99998474121 >> 0 is -32767
PASS 32767.99998474121 >>> 0 is 32767
PASS -32767.99998474121 >>> 0 is 4294934529
PASS 65535.99996948242 >> 0 is 65535
PASS -65535.99996948242 >> 0 is -65535
PASS 65535.99996948242 >>> 0 is 65535
PASS -65535.99996948242 >>> 0 is 4294901761
PASS 131071.99993896484 >> 0 is 131071
PASS -131071.99993896484 >> 0 is -131071
PASS 131071.99993896484 >>> 0 is 131071
PASS -131071.99993896484 >>> 0 is 4294836225
PASS 262143.9998779297 >> 0 is 262143
PASS -262143.9998779297 >> 0 is -262143
PASS 262143.9998779297 >>> 0 is 262143
PASS -262143.9998779297 >>> 0 is 4294705153
PASS 524287.9997558594 >> 0 is 524287
PASS -524287.9997558594 >> 0 is -524287
PASS 524287.9997558594 >>> 0 is 524287
PASS -524287.9997558594 >>> 0 is 4294443009
PASS 1048575.9995117188 >> 0 is 1048575
PASS -1048575.9995117188 >> 0 is -1048575
PASS 1048575.9995117188 >>> 0 is 1048575
PASS -1048575.9995117188 >>> 0 is 4293918721
PASS 2097151.9990234375 >> 0 is 2097151
PASS -2097151.9990234375 >> 0 is -2097151
PASS 2097151.9990234375 >>> 0 is 2097151
PASS -2097151.9990234375 >>> 0 is 4292870145
PASS 4194303.998046875 >> 0 is 4194303
PASS -4194303.998046875 >> 0 is -4194303
PASS 4194303.998046875 >>> 0 is 4194303
PASS -4194303.998046875 >>> 0 is 4290772993
PASS 8388607.99609375 >> 0 is 8388607
PASS -8388607.99609375 >> 0 is -8388607
PASS 8388607.99609375 >>> 0 is 8388607
PASS -8388607.99609375 >>> 0 is 4286578689
PASS 16777215.9921875 >> 0 is 16777215
PASS -16777215.9921875 >> 0 is -16777215
PASS 16777215.9921875 >>> 0 is 16777215
PASS -16777215.9921875 >>> 0 is 4278190081
PASS 33554431.984375 >> 0 is 33554431
PASS -33554431.984375 >> 0 is -33554431
PASS 33554431.984375 >>> 0 is 33554431
PASS -33554431.984375 >>> 0 is 4261412865
PASS 67108863.96875 >> 0 is 67108863
PASS -67108863.96875 >> 0 is -67108863
PASS 67108863.96875 >>> 0 is 67108863
PASS -67108863.96875 >>> 0 is 4227858433
PASS 134217727.9375 >> 0 is 134217727
PASS -134217727.9375 >> 0 is -134217727
PASS 134217727.9375 >>> 0 is 134217727
PASS -134217727.9375 >>> 0 is 4160749569
PASS 268435455.875 >> 0 is 268435455
PASS -268435455.875 >> 0 is -268435455
PASS 268435455.875 >>> 0 is 268435455
PASS -268435455.875 >>> 0 is 4026531841
PASS 536870911.75 >> 0 is 536870911
PASS -536870911.75 >> 0 is -536870911
PASS 536870911.75 >>> 0 is 536870911
PASS -536870911.75 >>> 0 is 3758096385
PASS 1073741823.5 >> 0 is 1073741823
PASS -1073741823.5 >> 0 is -1073741823
PASS 1073741823.5 >>> 0 is 1073741823
PASS -1073741823.5 >>> 0 is 3221225473
PASS 2147483647 >> 0 is 2147483647
PASS -2147483647 >> 0 is -2147483647
PASS 2147483647 >>> 0 is 2147483647
PASS -2147483647 >>> 0 is 2147483649
PASS 4294967294 >> 0 is -2
PASS -4294967294 >> 0 is 2
PASS 4294967294 >>> 0 is 4294967294
PASS -4294967294 >>> 0 is 2
PASS 8589934588 >> 0 is -4
PASS -8589934588 >> 0 is 4
PASS 8589934588 >>> 0 is 4294967292
PASS -8589934588 >>> 0 is 4
PASS 17179869176 >> 0 is -8
PASS -17179869176 >> 0 is 8
PASS 17179869176 >>> 0 is 4294967288
PASS -17179869176 >>> 0 is 8
PASS 34359738352 >> 0 is -16
PASS -34359738352 >> 0 is 16
PASS 34359738352 >>> 0 is 4294967280
PASS -34359738352 >>> 0 is 16
PASS 68719476704 >> 0 is -32
PASS -68719476704 >> 0 is 32
PASS 68719476704 >>> 0 is 4294967264
PASS -68719476704 >>> 0 is 32
PASS 137438953408 >> 0 is -64
PASS -137438953408 >> 0 is 64
PASS 137438953408 >>> 0 is 4294967232
PASS -137438953408 >>> 0 is 64
PASS 274877906816 >> 0 is -128
PASS -274877906816 >> 0 is 128
PASS 274877906816 >>> 0 is 4294967168
PASS -274877906816 >>> 0 is 128
PASS 549755813632 >> 0 is -256
PASS -549755813632 >> 0 is 256
PASS 549755813632 >>> 0 is 4294967040
PASS -549755813632 >>> 0 is 256
PASS 1099511627264 >> 0 is -512
PASS -1099511627264 >> 0 is 512
PASS 1099511627264 >>> 0 is 4294966784
PASS -1099511627264 >>> 0 is 512
PASS 2199023254528 >> 0 is -1024
PASS -2199023254528 >> 0 is 1024
PASS 2199023254528 >>> 0 is 4294966272
PASS -2199023254528 >>> 0 is 1024
PASS 4398046509056 >> 0 is -2048
PASS -4398046509056 >> 0 is 2048
PASS 4398046509056 >>> 0 is 4294965248
PASS -4398046509056 >>> 0 is 2048
PASS 8796093018112 >> 0 is -4096
PASS -8796093018112 >> 0 is 4096
PASS 8796093018112 >>> 0 is 4294963200
PASS -8796093018112 >>> 0 is 4096
PASS 17592186036224 >> 0 is -8192
PASS -17592186036224 >> 0 is 8192
PASS 17592186036224 >>> 0 is 4294959104
PASS -17592186036224 >>> 0 is 8192
PASS 35184372072448 >> 0 is -16384
PASS -35184372072448 >> 0 is 16384
PASS 35184372072448 >>> 0 is 4294950912
PASS -35184372072448 >>> 0 is 16384
PASS 70368744144896 >> 0 is -32768
PASS -70368744144896 >> 0 is 32768
PASS 70368744144896 >>> 0 is 4294934528
PASS -70368744144896 >>> 0 is 32768
PASS 140737488289792 >> 0 is -65536
PASS -140737488289792 >> 0 is 65536
PASS 140737488289792 >>> 0 is 4294901760
PASS -140737488289792 >>> 0 is 65536
PASS 281474976579584 >> 0 is -131072
PASS -281474976579584 >> 0 is 131072
PASS 281474976579584 >>> 0 is 4294836224
PASS -281474976579584 >>> 0 is 131072
PASS 562949953159168 >> 0 is -262144
PASS -562949953159168 >> 0 is 262144
PASS 562949953159168 >>> 0 is 4294705152
PASS -562949953159168 >>> 0 is 262144
PASS 1125899906318336 >> 0 is -524288
PASS -1125899906318336 >> 0 is 524288
PASS 1125899906318336 >>> 0 is 4294443008
PASS -1125899906318336 >>> 0 is 524288
PASS 2251799812636672 >> 0 is -1048576
PASS -2251799812636672 >> 0 is 1048576
PASS 2251799812636672 >>> 0 is 4293918720
PASS -2251799812636672 >>> 0 is 1048576
PASS 4503599625273344 >> 0 is -2097152
PASS -4503599625273344 >> 0 is 2097152
PASS 4503599625273344 >>> 0 is 4292870144
PASS -4503599625273344 >>> 0 is 2097152
PASS 9007199250546688 >> 0 is -4194304
PASS -9007199250546688 >> 0 is 4194304
PASS 9007199250546688 >>> 0 is 4290772992
PASS -9007199250546688 >>> 0 is 4194304
PASS 18014398501093376 >> 0 is -8388608
PASS -18014398501093376 >> 0 is 8388608
PASS 18014398501093376 >>> 0 is 4286578688
PASS -18014398501093376 >>> 0 is 8388608
PASS 36028797002186750 >> 0 is -16777216
PASS -36028797002186750 >> 0 is 16777216
PASS 36028797002186750 >>> 0 is 4278190080
PASS -36028797002186750 >>> 0 is 16777216
PASS 72057594004373500 >> 0 is -33554432
PASS -72057594004373500 >> 0 is 33554432
PASS 72057594004373500 >>> 0 is 4261412864
PASS -72057594004373500 >>> 0 is 33554432
PASS 144115188008747000 >> 0 is -67108864
PASS -144115188008747000 >> 0 is 67108864
PASS 144115188008747000 >>> 0 is 4227858432
PASS -144115188008747000 >>> 0 is 67108864
PASS 288230376017494000 >> 0 is -134217728
PASS -288230376017494000 >> 0 is 134217728
PASS 288230376017494000 >>> 0 is 4160749568
PASS -288230376017494000 >>> 0 is 134217728
PASS 576460752034988000 >> 0 is -268435456
PASS -576460752034988000 >> 0 is 268435456
PASS 576460752034988000 >>> 0 is 4026531840
PASS -576460752034988000 >>> 0 is 268435456
PASS 1152921504069976000 >> 0 is -536870912
PASS -1152921504069976000 >> 0 is 536870912
PASS 1152921504069976000 >>> 0 is 3758096384
PASS -1152921504069976000 >>> 0 is 536870912
PASS 2305843008139952000 >> 0 is -1073741824
PASS -2305843008139952000 >> 0 is 1073741824
PASS 2305843008139952000 >>> 0 is 3221225472
PASS -2305843008139952000 >>> 0 is 1073741824
PASS 4611686016279904000 >> 0 is -2147483648
PASS -4611686016279904000 >> 0 is -2147483648
PASS 4611686016279904000 >>> 0 is 2147483648
PASS -4611686016279904000 >>> 0 is 2147483648
PASS 9223372032559809000 >> 0 is 0
PASS -9223372032559809000 >> 0 is 0
PASS 9223372032559809000 >>> 0 is 0
PASS -9223372032559809000 >>> 0 is 0
PASS 1.1920928952302567e-7 >> 0 is 0
PASS -1.1920928952302567e-7 >> 0 is 0
PASS 1.1920928952302567e-7 >>> 0 is 0
PASS -1.1920928952302567e-7 >>> 0 is 0
PASS 2.3841857904605135e-7 >> 0 is 0
PASS -2.3841857904605135e-7 >> 0 is 0
PASS 2.3841857904605135e-7 >>> 0 is 0
PASS -2.3841857904605135e-7 >>> 0 is 0
PASS 4.768371580921027e-7 >> 0 is 0
PASS -4.768371580921027e-7 >> 0 is 0
PASS 4.768371580921027e-7 >>> 0 is 0
PASS -4.768371580921027e-7 >>> 0 is 0
PASS 9.536743161842054e-7 >> 0 is 0
PASS -9.536743161842054e-7 >> 0 is 0
PASS 9.536743161842054e-7 >>> 0 is 0
PASS -9.536743161842054e-7 >>> 0 is 0
PASS 0.0000019073486323684108 >> 0 is 0
PASS -0.0000019073486323684108 >> 0 is 0
PASS 0.0000019073486323684108 >>> 0 is 0
PASS -0.0000019073486323684108 >>> 0 is 0
PASS 0.0000038146972647368216 >> 0 is 0
PASS -0.0000038146972647368216 >> 0 is 0
PASS 0.0000038146972647368216 >>> 0 is 0
PASS -0.0000038146972647368216 >>> 0 is 0
PASS 0.000007629394529473643 >> 0 is 0
PASS -0.000007629394529473643 >> 0 is 0
PASS 0.000007629394529473643 >>> 0 is 0
PASS -0.000007629394529473643 >>> 0 is 0
PASS 0.000015258789058947286 >> 0 is 0
PASS -0.000015258789058947286 >> 0 is 0
PASS 0.000015258789058947286 >>> 0 is 0
PASS -0.000015258789058947286 >>> 0 is 0
PASS 0.000030517578117894573 >> 0 is 0
PASS -0.000030517578117894573 >> 0 is 0
PASS 0.000030517578117894573 >>> 0 is 0
PASS -0.000030517578117894573 >>> 0 is 0
PASS 0.000061035156235789145 >> 0 is 0
PASS -0.000061035156235789145 >> 0 is 0
PASS 0.000061035156235789145 >>> 0 is 0
PASS -0.000061035156235789145 >>> 0 is 0
PASS 0.00012207031247157829 >> 0 is 0
PASS -0.00012207031247157829 >> 0 is 0
PASS 0.00012207031247157829 >>> 0 is 0
PASS -0.00012207031247157829 >>> 0 is 0
PASS 0.00024414062494315658 >> 0 is 0
PASS -0.00024414062494315658 >> 0 is 0
PASS 0.00024414062494315658 >>> 0 is 0
PASS -0.00024414062494315658 >>> 0 is 0
PASS 0.00048828124988631316 >> 0 is 0
PASS -0.00048828124988631316 >> 0 is 0
PASS 0.00048828124988631316 >>> 0 is 0
PASS -0.00048828124988631316 >>> 0 is 0
PASS 0.0009765624997726263 >> 0 is 0
PASS -0.0009765624997726263 >> 0 is 0
PASS 0.0009765624997726263 >>> 0 is 0
PASS -0.0009765624997726263 >>> 0 is 0
PASS 0.0019531249995452526 >> 0 is 0
PASS -0.0019531249995452526 >> 0 is 0
PASS 0.0019531249995452526 >>> 0 is 0
PASS -0.0019531249995452526 >>> 0 is 0
PASS 0.0039062499990905053 >> 0 is 0
PASS -0.0039062499990905053 >> 0 is 0
PASS 0.0039062499990905053 >>> 0 is 0
PASS -0.0039062499990905053 >>> 0 is 0
PASS 0.007812499998181011 >> 0 is 0
PASS -0.007812499998181011 >> 0 is 0
PASS 0.007812499998181011 >>> 0 is 0
PASS -0.007812499998181011 >>> 0 is 0
PASS 0.015624999996362021 >> 0 is 0
PASS -0.015624999996362021 >> 0 is 0
PASS 0.015624999996362021 >>> 0 is 0
PASS -0.015624999996362021 >>> 0 is 0
PASS 0.031249999992724042 >> 0 is 0
PASS -0.031249999992724042 >> 0 is 0
PASS 0.031249999992724042 >>> 0 is 0
PASS -0.031249999992724042 >>> 0 is 0
PASS 0.062499999985448085 >> 0 is 0
PASS -0.062499999985448085 >> 0 is 0
PASS 0.062499999985448085 >>> 0 is 0
PASS -0.062499999985448085 >>> 0 is 0
PASS 0.12499999997089617 >> 0 is 0
PASS -0.12499999997089617 >> 0 is 0
PASS 0.12499999997089617 >>> 0 is 0
PASS -0.12499999997089617 >>> 0 is 0
PASS 0.24999999994179234 >> 0 is 0
PASS -0.24999999994179234 >> 0 is 0
PASS 0.24999999994179234 >>> 0 is 0
PASS -0.24999999994179234 >>> 0 is 0
PASS 0.4999999998835847 >> 0 is 0
PASS -0.4999999998835847 >> 0 is 0
PASS 0.4999999998835847 >>> 0 is 0
PASS -0.4999999998835847 >>> 0 is 0
PASS 0.9999999997671694 >> 0 is 0
PASS -0.9999999997671694 >> 0 is 0
PASS 0.9999999997671694 >>> 0 is 0
PASS -0.9999999997671694 >>> 0 is 0
PASS 1.9999999995343387 >> 0 is 1
PASS -1.9999999995343387 >> 0 is -1
PASS 1.9999999995343387 >>> 0 is 1
PASS -1.9999999995343387 >>> 0 is 4294967295
PASS 3.9999999990686774 >> 0 is 3
PASS -3.9999999990686774 >> 0 is -3
PASS 3.9999999990686774 >>> 0 is 3
PASS -3.9999999990686774 >>> 0 is 4294967293
PASS 7.999999998137355 >> 0 is 7
PASS -7.999999998137355 >> 0 is -7
PASS 7.999999998137355 >>> 0 is 7
PASS -7.999999998137355 >>> 0 is 4294967289
PASS 15.99999999627471 >> 0 is 15
PASS -15.99999999627471 >> 0 is -15
PASS 15.99999999627471 >>> 0 is 15
PASS -15.99999999627471 >>> 0 is 4294967281
PASS 31.99999999254942 >> 0 is 31
PASS -31.99999999254942 >> 0 is -31
PASS 31.99999999254942 >>> 0 is 31
PASS -31.99999999254942 >>> 0 is 4294967265
PASS 63.99999998509884 >> 0 is 63
PASS -63.99999998509884 >> 0 is -63
PASS 63.99999998509884 >>> 0 is 63
PASS -63.99999998509884 >>> 0 is 4294967233
PASS 127.99999997019768 >> 0 is 127
PASS -127.99999997019768 >> 0 is -127
PASS 127.99999997019768 >>> 0 is 127
PASS -127.99999997019768 >>> 0 is 4294967169
PASS 255.99999994039536 >> 0 is 255
PASS -255.99999994039536 >> 0 is -255
PASS 255.99999994039536 >>> 0 is 255
PASS -255.99999994039536 >>> 0 is 4294967041
PASS 511.9999998807907 >> 0 is 511
PASS -511.9999998807907 >> 0 is -511
PASS 511.9999998807907 >>> 0 is 511
PASS -511.9999998807907 >>> 0 is 4294966785
PASS 1023.9999997615814 >> 0 is 1023
PASS -1023.9999997615814 >> 0 is -1023
PASS 1023.9999997615814 >>> 0 is 1023
PASS -1023.9999997615814 >>> 0 is 4294966273
PASS 2047.9999995231628 >> 0 is 2047
PASS -2047.9999995231628 >> 0 is -2047
PASS 2047.9999995231628 >>> 0 is 2047
PASS -2047.9999995231628 >>> 0 is 4294965249
PASS 4095.9999990463257 >> 0 is 4095
PASS -4095.9999990463257 >> 0 is -4095
PASS 4095.9999990463257 >>> 0 is 4095
PASS -4095.9999990463257 >>> 0 is 4294963201
PASS 8191.999998092651 >> 0 is 8191
PASS -8191.999998092651 >> 0 is -8191
PASS 8191.999998092651 >>> 0 is 8191
PASS -8191.999998092651 >>> 0 is 4294959105
PASS 16383.999996185303 >> 0 is 16383
PASS -16383.999996185303 >> 0 is -16383
PASS 16383.999996185303 >>> 0 is 16383
PASS -16383.999996185303 >>> 0 is 4294950913
PASS 32767.999992370605 >> 0 is 32767
PASS -32767.999992370605 >> 0 is -32767
PASS 32767.999992370605 >>> 0 is 32767
PASS -32767.999992370605 >>> 0 is 4294934529
PASS 65535.99998474121 >> 0 is 65535
PASS -65535.99998474121 >> 0 is -65535
PASS 65535.99998474121 >>> 0 is 65535
PASS -65535.99998474121 >>> 0 is 4294901761
PASS 131071.99996948242 >> 0 is 131071
PASS -131071.99996948242 >> 0 is -131071
PASS 131071.99996948242 >>> 0 is 131071
PASS -131071.99996948242 >>> 0 is 4294836225
PASS 262143.99993896484 >> 0 is 262143
PASS -262143.99993896484 >> 0 is -262143
PASS 262143.99993896484 >>> 0 is 262143
PASS -262143.99993896484 >>> 0 is 4294705153
PASS 524287.9998779297 >> 0 is 524287
PASS -524287.9998779297 >> 0 is -524287
PASS 524287.9998779297 >>> 0 is 524287
PASS -524287.9998779297 >>> 0 is 4294443009
PASS 1048575.9997558594 >> 0 is 1048575
PASS -1048575.9997558594 >> 0 is -1048575
PASS 1048575.9997558594 >>> 0 is 1048575
PASS -1048575.9997558594 >>> 0 is 4293918721
PASS 2097151.9995117188 >> 0 is 2097151
PASS -2097151.9995117188 >> 0 is -2097151
PASS 2097151.9995117188 >>> 0 is 2097151
PASS -2097151.9995117188 >>> 0 is 4292870145
PASS 4194303.9990234375 >> 0 is 4194303
PASS -4194303.9990234375 >> 0 is -4194303
PASS 4194303.9990234375 >>> 0 is 4194303
PASS -4194303.9990234375 >>> 0 is 4290772993
PASS 8388607.998046875 >> 0 is 8388607
PASS -8388607.998046875 >> 0 is -8388607
PASS 8388607.998046875 >>> 0 is 8388607
PASS -8388607.998046875 >>> 0 is 4286578689
PASS 16777215.99609375 >> 0 is 16777215
PASS -16777215.99609375 >> 0 is -16777215
PASS 16777215.99609375 >>> 0 is 16777215
PASS -16777215.99609375 >>> 0 is 4278190081
PASS 33554431.9921875 >> 0 is 33554431
PASS -33554431.9921875 >> 0 is -33554431
PASS 33554431.9921875 >>> 0 is 33554431
PASS -33554431.9921875 >>> 0 is 4261412865
PASS 67108863.984375 >> 0 is 67108863
PASS -67108863.984375 >> 0 is -67108863
PASS 67108863.984375 >>> 0 is 67108863
PASS -67108863.984375 >>> 0 is 4227858433
PASS 134217727.96875 >> 0 is 134217727
PASS -134217727.96875 >> 0 is -134217727
PASS 134217727.96875 >>> 0 is 134217727
PASS -134217727.96875 >>> 0 is 4160749569
PASS 268435455.9375 >> 0 is 268435455
PASS -268435455.9375 >> 0 is -268435455
PASS 268435455.9375 >>> 0 is 268435455
PASS -268435455.9375 >>> 0 is 4026531841
PASS 536870911.875 >> 0 is 536870911
PASS -536870911.875 >> 0 is -536870911
PASS 536870911.875 >>> 0 is 536870911
PASS -536870911.875 >>> 0 is 3758096385
PASS 1073741823.75 >> 0 is 1073741823
PASS -1073741823.75 >> 0 is -1073741823
PASS 1073741823.75 >>> 0 is 1073741823
PASS -1073741823.75 >>> 0 is 3221225473
PASS 2147483647.5 >> 0 is 2147483647
PASS -2147483647.5 >> 0 is -2147483647
PASS 2147483647.5 >>> 0 is 2147483647
PASS -2147483647.5 >>> 0 is 2147483649
PASS 4294967295 >> 0 is -1
PASS -4294967295 >> 0 is 1
PASS 4294967295 >>> 0 is 4294967295
PASS -4294967295 >>> 0 is 1
PASS 8589934590 >> 0 is -2
PASS -8589934590 >> 0 is 2
PASS 8589934590 >>> 0 is 4294967294
PASS -8589934590 >>> 0 is 2
PASS 17179869180 >> 0 is -4
PASS -17179869180 >> 0 is 4
PASS 17179869180 >>> 0 is 4294967292
PASS -17179869180 >>> 0 is 4
PASS 34359738360 >> 0 is -8
PASS -34359738360 >> 0 is 8
PASS 34359738360 >>> 0 is 4294967288
PASS -34359738360 >>> 0 is 8
PASS 68719476720 >> 0 is -16
PASS -68719476720 >> 0 is 16
PASS 68719476720 >>> 0 is 4294967280
PASS -68719476720 >>> 0 is 16
PASS 137438953440 >> 0 is -32
PASS -137438953440 >> 0 is 32
PASS 137438953440 >>> 0 is 4294967264
PASS -137438953440 >>> 0 is 32
PASS 274877906880 >> 0 is -64
PASS -274877906880 >> 0 is 64
PASS 274877906880 >>> 0 is 4294967232
PASS -274877906880 >>> 0 is 64
PASS 549755813760 >> 0 is -128
PASS -549755813760 >> 0 is 128
PASS 549755813760 >>> 0 is 4294967168
PASS -549755813760 >>> 0 is 128
PASS 1099511627520 >> 0 is -256
PASS -1099511627520 >> 0 is 256
PASS 1099511627520 >>> 0 is 4294967040
PASS -1099511627520 >>> 0 is 256
PASS 2199023255040 >> 0 is -512
PASS -2199023255040 >> 0 is 512
PASS 2199023255040 >>> 0 is 4294966784
PASS -2199023255040 >>> 0 is 512
PASS 4398046510080 >> 0 is -1024
PASS -4398046510080 >> 0 is 1024
PASS 4398046510080 >>> 0 is 4294966272
PASS -4398046510080 >>> 0 is 1024
PASS 8796093020160 >> 0 is -2048
PASS -8796093020160 >> 0 is 2048
PASS 8796093020160 >>> 0 is 4294965248
PASS -8796093020160 >>> 0 is 2048
PASS 17592186040320 >> 0 is -4096
PASS -17592186040320 >> 0 is 4096
PASS 17592186040320 >>> 0 is 4294963200
PASS -17592186040320 >>> 0 is 4096
PASS 35184372080640 >> 0 is -8192
PASS -35184372080640 >> 0 is 8192
PASS 35184372080640 >>> 0 is 4294959104
PASS -35184372080640 >>> 0 is 8192
PASS 70368744161280 >> 0 is -16384
PASS -70368744161280 >> 0 is 16384
PASS 70368744161280 >>> 0 is 4294950912
PASS -70368744161280 >>> 0 is 16384
PASS 140737488322560 >> 0 is -32768
PASS -140737488322560 >> 0 is 32768
PASS 140737488322560 >>> 0 is 4294934528
PASS -140737488322560 >>> 0 is 32768
PASS 281474976645120 >> 0 is -65536
PASS -281474976645120 >> 0 is 65536
PASS 281474976645120 >>> 0 is 4294901760
PASS -281474976645120 >>> 0 is 65536
PASS 562949953290240 >> 0 is -131072
PASS -562949953290240 >> 0 is 131072
PASS 562949953290240 >>> 0 is 4294836224
PASS -562949953290240 >>> 0 is 131072
PASS 1125899906580480 >> 0 is -262144
PASS -1125899906580480 >> 0 is 262144
PASS 1125899906580480 >>> 0 is 4294705152
PASS -1125899906580480 >>> 0 is 262144
PASS 2251799813160960 >> 0 is -524288
PASS -2251799813160960 >> 0 is 524288
PASS 2251799813160960 >>> 0 is 4294443008
PASS -2251799813160960 >>> 0 is 524288
PASS 4503599626321920 >> 0 is -1048576
PASS -4503599626321920 >> 0 is 1048576
PASS 4503599626321920 >>> 0 is 4293918720
PASS -4503599626321920 >>> 0 is 1048576
PASS 9007199252643840 >> 0 is -2097152
PASS -9007199252643840 >> 0 is 2097152
PASS 9007199252643840 >>> 0 is 4292870144
PASS -9007199252643840 >>> 0 is 2097152
PASS 18014398505287680 >> 0 is -4194304
PASS -18014398505287680 >> 0 is 4194304
PASS 18014398505287680 >>> 0 is 4290772992
PASS -18014398505287680 >>> 0 is 4194304
PASS 36028797010575360 >> 0 is -8388608
PASS -36028797010575360 >> 0 is 8388608
PASS 36028797010575360 >>> 0 is 4286578688
PASS -36028797010575360 >>> 0 is 8388608
PASS 72057594021150720 >> 0 is -16777216
PASS -72057594021150720 >> 0 is 16777216
PASS 72057594021150720 >>> 0 is 4278190080
PASS -72057594021150720 >>> 0 is 16777216
PASS 144115188042301440 >> 0 is -33554432
PASS -144115188042301440 >> 0 is 33554432
PASS 144115188042301440 >>> 0 is 4261412864
PASS -144115188042301440 >>> 0 is 33554432
PASS 288230376084602880 >> 0 is -67108864
PASS -288230376084602880 >> 0 is 67108864
PASS 288230376084602880 >>> 0 is 4227858432
PASS -288230376084602880 >>> 0 is 67108864
PASS 576460752169205760 >> 0 is -134217728
PASS -576460752169205760 >> 0 is 134217728
PASS 576460752169205760 >>> 0 is 4160749568
PASS -576460752169205760 >>> 0 is 134217728
PASS 1152921504338411500 >> 0 is -268435456
PASS -1152921504338411500 >> 0 is 268435456
PASS 1152921504338411500 >>> 0 is 4026531840
PASS -1152921504338411500 >>> 0 is 268435456
PASS 2305843008676823000 >> 0 is -536870912
PASS -2305843008676823000 >> 0 is 536870912
PASS 2305843008676823000 >>> 0 is 3758096384
PASS -2305843008676823000 >>> 0 is 536870912
PASS 4611686017353646000 >> 0 is -1073741824
PASS -4611686017353646000 >> 0 is 1073741824
PASS 4611686017353646000 >>> 0 is 3221225472
PASS -4611686017353646000 >>> 0 is 1073741824
PASS 9223372034707292000 >> 0 is -2147483648
PASS -9223372034707292000 >> 0 is -2147483648
PASS 9223372034707292000 >>> 0 is 2147483648
PASS -9223372034707292000 >>> 0 is 2147483648
PASS 18446744069414584000 >> 0 is 0
PASS -18446744069414584000 >> 0 is 0
PASS 18446744069414584000 >>> 0 is 0
PASS -18446744069414584000 >>> 0 is 0
PASS 2.3841857907380692e-7 >> 0 is 0
PASS -2.3841857907380692e-7 >> 0 is 0
PASS 2.3841857907380692e-7 >>> 0 is 0
PASS -2.3841857907380692e-7 >>> 0 is 0
PASS 4.7683715814761385e-7 >> 0 is 0
PASS -4.7683715814761385e-7 >> 0 is 0
PASS 4.7683715814761385e-7 >>> 0 is 0
PASS -4.7683715814761385e-7 >>> 0 is 0
PASS 9.536743162952277e-7 >> 0 is 0
PASS -9.536743162952277e-7 >> 0 is 0
PASS 9.536743162952277e-7 >>> 0 is 0
PASS -9.536743162952277e-7 >>> 0 is 0
PASS 0.0000019073486325904554 >> 0 is 0
PASS -0.0000019073486325904554 >> 0 is 0
PASS 0.0000019073486325904554 >>> 0 is 0
PASS -0.0000019073486325904554 >>> 0 is 0
PASS 0.000003814697265180911 >> 0 is 0
PASS -0.000003814697265180911 >> 0 is 0
PASS 0.000003814697265180911 >>> 0 is 0
PASS -0.000003814697265180911 >>> 0 is 0
PASS 0.000007629394530361822 >> 0 is 0
PASS -0.000007629394530361822 >> 0 is 0
PASS 0.000007629394530361822 >>> 0 is 0
PASS -0.000007629394530361822 >>> 0 is 0
PASS 0.000015258789060723643 >> 0 is 0
PASS -0.000015258789060723643 >> 0 is 0
PASS 0.000015258789060723643 >>> 0 is 0
PASS -0.000015258789060723643 >>> 0 is 0
PASS 0.000030517578121447286 >> 0 is 0
PASS -0.000030517578121447286 >> 0 is 0
PASS 0.000030517578121447286 >>> 0 is 0
PASS -0.000030517578121447286 >>> 0 is 0
PASS 0.00006103515624289457 >> 0 is 0
PASS -0.00006103515624289457 >> 0 is 0
PASS 0.00006103515624289457 >>> 0 is 0
PASS -0.00006103515624289457 >>> 0 is 0
PASS 0.00012207031248578915 >> 0 is 0
PASS -0.00012207031248578915 >> 0 is 0
PASS 0.00012207031248578915 >>> 0 is 0
PASS -0.00012207031248578915 >>> 0 is 0
PASS 0.0002441406249715783 >> 0 is 0
PASS -0.0002441406249715783 >> 0 is 0
PASS 0.0002441406249715783 >>> 0 is 0
PASS -0.0002441406249715783 >>> 0 is 0
PASS 0.0004882812499431566 >> 0 is 0
PASS -0.0004882812499431566 >> 0 is 0
PASS 0.0004882812499431566 >>> 0 is 0
PASS -0.0004882812499431566 >>> 0 is 0
PASS 0.0009765624998863132 >> 0 is 0
PASS -0.0009765624998863132 >> 0 is 0
PASS 0.0009765624998863132 >>> 0 is 0
PASS -0.0009765624998863132 >>> 0 is 0
PASS 0.0019531249997726263 >> 0 is 0
PASS -0.0019531249997726263 >> 0 is 0
PASS 0.0019531249997726263 >>> 0 is 0
PASS -0.0019531249997726263 >>> 0 is 0
PASS 0.0039062499995452526 >> 0 is 0
PASS -0.0039062499995452526 >> 0 is 0
PASS 0.0039062499995452526 >>> 0 is 0
PASS -0.0039062499995452526 >>> 0 is 0
PASS 0.007812499999090505 >> 0 is 0
PASS -0.007812499999090505 >> 0 is 0
PASS 0.007812499999090505 >>> 0 is 0
PASS -0.007812499999090505 >>> 0 is 0
PASS 0.01562499999818101 >> 0 is 0
PASS -0.01562499999818101 >> 0 is 0
PASS 0.01562499999818101 >>> 0 is 0
PASS -0.01562499999818101 >>> 0 is 0
PASS 0.03124999999636202 >> 0 is 0
PASS -0.03124999999636202 >> 0 is 0
PASS 0.03124999999636202 >>> 0 is 0
PASS -0.03124999999636202 >>> 0 is 0
PASS 0.06249999999272404 >> 0 is 0
PASS -0.06249999999272404 >> 0 is 0
PASS 0.06249999999272404 >>> 0 is 0
PASS -0.06249999999272404 >>> 0 is 0
PASS 0.12499999998544808 >> 0 is 0
PASS -0.12499999998544808 >> 0 is 0
PASS 0.12499999998544808 >>> 0 is 0
PASS -0.12499999998544808 >>> 0 is 0
PASS 0.24999999997089617 >> 0 is 0
PASS -0.24999999997089617 >> 0 is 0
PASS 0.24999999997089617 >>> 0 is 0
PASS -0.24999999997089617 >>> 0 is 0
PASS 0.49999999994179234 >> 0 is 0
PASS -0.49999999994179234 >> 0 is 0
PASS 0.49999999994179234 >>> 0 is 0
PASS -0.49999999994179234 >>> 0 is 0
PASS 0.9999999998835847 >> 0 is 0
PASS -0.9999999998835847 >> 0 is 0
PASS 0.9999999998835847 >>> 0 is 0
PASS -0.9999999998835847 >>> 0 is 0
PASS 1.9999999997671694 >> 0 is 1
PASS -1.9999999997671694 >> 0 is -1
PASS 1.9999999997671694 >>> 0 is 1
PASS -1.9999999997671694 >>> 0 is 4294967295
PASS 3.9999999995343387 >> 0 is 3
PASS -3.9999999995343387 >> 0 is -3
PASS 3.9999999995343387 >>> 0 is 3
PASS -3.9999999995343387 >>> 0 is 4294967293
PASS 7.999999999068677 >> 0 is 7
PASS -7.999999999068677 >> 0 is -7
PASS 7.999999999068677 >>> 0 is 7
PASS -7.999999999068677 >>> 0 is 4294967289
PASS 15.999999998137355 >> 0 is 15
PASS -15.999999998137355 >> 0 is -15
PASS 15.999999998137355 >>> 0 is 15
PASS -15.999999998137355 >>> 0 is 4294967281
PASS 31.99999999627471 >> 0 is 31
PASS -31.99999999627471 >> 0 is -31
PASS 31.99999999627471 >>> 0 is 31
PASS -31.99999999627471 >>> 0 is 4294967265
PASS 63.99999999254942 >> 0 is 63
PASS -63.99999999254942 >> 0 is -63
PASS 63.99999999254942 >>> 0 is 63
PASS -63.99999999254942 >>> 0 is 4294967233
PASS 127.99999998509884 >> 0 is 127
PASS -127.99999998509884 >> 0 is -127
PASS 127.99999998509884 >>> 0 is 127
PASS -127.99999998509884 >>> 0 is 4294967169
PASS 255.99999997019768 >> 0 is 255
PASS -255.99999997019768 >> 0 is -255
PASS 255.99999997019768 >>> 0 is 255
PASS -255.99999997019768 >>> 0 is 4294967041
PASS 511.99999994039536 >> 0 is 511
PASS -511.99999994039536 >> 0 is -511
PASS 511.99999994039536 >>> 0 is 511
PASS -511.99999994039536 >>> 0 is 4294966785
PASS 1023.9999998807907 >> 0 is 1023
PASS -1023.9999998807907 >> 0 is -1023
PASS 1023.9999998807907 >>> 0 is 1023
PASS -1023.9999998807907 >>> 0 is 4294966273
PASS 2047.9999997615814 >> 0 is 2047
PASS -2047.9999997615814 >> 0 is -2047
PASS 2047.9999997615814 >>> 0 is 2047
PASS -2047.9999997615814 >>> 0 is 4294965249
PASS 4095.999999523163 >> 0 is 4095
PASS -4095.999999523163 >> 0 is -4095
PASS 4095.999999523163 >>> 0 is 4095
PASS -4095.999999523163 >>> 0 is 4294963201
PASS 8191.999999046326 >> 0 is 8191
PASS -8191.999999046326 >> 0 is -8191
PASS 8191.999999046326 >>> 0 is 8191
PASS -8191.999999046326 >>> 0 is 4294959105
PASS 16383.999998092651 >> 0 is 16383
PASS -16383.999998092651 >> 0 is -16383
PASS 16383.999998092651 >>> 0 is 16383
PASS -16383.999998092651 >>> 0 is 4294950913
PASS 32767.999996185303 >> 0 is 32767
PASS -32767.999996185303 >> 0 is -32767
PASS 32767.999996185303 >>> 0 is 32767
PASS -32767.999996185303 >>> 0 is 4294934529
PASS 65535.999992370605 >> 0 is 65535
PASS -65535.999992370605 >> 0 is -65535
PASS 65535.999992370605 >>> 0 is 65535
PASS -65535.999992370605 >>> 0 is 4294901761
PASS 131071.99998474121 >> 0 is 131071
PASS -131071.99998474121 >> 0 is -131071
PASS 131071.99998474121 >>> 0 is 131071
PASS -131071.99998474121 >>> 0 is 4294836225
PASS 262143.99996948242 >> 0 is 262143
PASS -262143.99996948242 >> 0 is -262143
PASS 262143.99996948242 >>> 0 is 262143
PASS -262143.99996948242 >>> 0 is 4294705153
PASS 524287.99993896484 >> 0 is 524287
PASS -524287.99993896484 >> 0 is -524287
PASS 524287.99993896484 >>> 0 is 524287
PASS -524287.99993896484 >>> 0 is 4294443009
PASS 1048575.9998779297 >> 0 is 1048575
PASS -1048575.9998779297 >> 0 is -1048575
PASS 1048575.9998779297 >>> 0 is 1048575
PASS -1048575.9998779297 >>> 0 is 4293918721
PASS 2097151.9997558594 >> 0 is 2097151
PASS -2097151.9997558594 >> 0 is -2097151
PASS 2097151.9997558594 >>> 0 is 2097151
PASS -2097151.9997558594 >>> 0 is 4292870145
PASS 4194303.9995117188 >> 0 is 4194303
PASS -4194303.9995117188 >> 0 is -4194303
PASS 4194303.9995117188 >>> 0 is 4194303
PASS -4194303.9995117188 >>> 0 is 4290772993
PASS 8388607.9990234375 >> 0 is 8388607
PASS -8388607.9990234375 >> 0 is -8388607
PASS 8388607.9990234375 >>> 0 is 8388607
PASS -8388607.9990234375 >>> 0 is 4286578689
PASS 16777215.998046875 >> 0 is 16777215
PASS -16777215.998046875 >> 0 is -16777215
PASS 16777215.998046875 >>> 0 is 16777215
PASS -16777215.998046875 >>> 0 is 4278190081
PASS 33554431.99609375 >> 0 is 33554431
PASS -33554431.99609375 >> 0 is -33554431
PASS 33554431.99609375 >>> 0 is 33554431
PASS -33554431.99609375 >>> 0 is 4261412865
PASS 67108863.9921875 >> 0 is 67108863
PASS -67108863.9921875 >> 0 is -67108863
PASS 67108863.9921875 >>> 0 is 67108863
PASS -67108863.9921875 >>> 0 is 4227858433
PASS 134217727.984375 >> 0 is 134217727
PASS -134217727.984375 >> 0 is -134217727
PASS 134217727.984375 >>> 0 is 134217727
PASS -134217727.984375 >>> 0 is 4160749569
PASS 268435455.96875 >> 0 is 268435455
PASS -268435455.96875 >> 0 is -268435455
PASS 268435455.96875 >>> 0 is 268435455
PASS -268435455.96875 >>> 0 is 4026531841
PASS 536870911.9375 >> 0 is 536870911
PASS -536870911.9375 >> 0 is -536870911
PASS 536870911.9375 >>> 0 is 536870911
PASS -536870911.9375 >>> 0 is 3758096385
PASS 1073741823.875 >> 0 is 1073741823
PASS -1073741823.875 >> 0 is -1073741823
PASS 1073741823.875 >>> 0 is 1073741823
PASS -1073741823.875 >>> 0 is 3221225473
PASS 2147483647.75 >> 0 is 2147483647
PASS -2147483647.75 >> 0 is -2147483647
PASS 2147483647.75 >>> 0 is 2147483647
PASS -2147483647.75 >>> 0 is 2147483649
PASS 4294967295.5 >> 0 is -1
PASS -4294967295.5 >> 0 is 1
PASS 4294967295.5 >>> 0 is 4294967295
PASS -4294967295.5 >>> 0 is 1
PASS 8589934591 >> 0 is -1
PASS -8589934591 >> 0 is 1
PASS 8589934591 >>> 0 is 4294967295
PASS -8589934591 >>> 0 is 1
PASS 17179869182 >> 0 is -2
PASS -17179869182 >> 0 is 2
PASS 17179869182 >>> 0 is 4294967294
PASS -17179869182 >>> 0 is 2
PASS 34359738364 >> 0 is -4
PASS -34359738364 >> 0 is 4
PASS 34359738364 >>> 0 is 4294967292
PASS -34359738364 >>> 0 is 4
PASS 68719476728 >> 0 is -8
PASS -68719476728 >> 0 is 8
PASS 68719476728 >>> 0 is 4294967288
PASS -68719476728 >>> 0 is 8
PASS 137438953456 >> 0 is -16
PASS -137438953456 >> 0 is 16
PASS 137438953456 >>> 0 is 4294967280
PASS -137438953456 >>> 0 is 16
PASS 274877906912 >> 0 is -32
PASS -274877906912 >> 0 is 32
PASS 274877906912 >>> 0 is 4294967264
PASS -274877906912 >>> 0 is 32
PASS 549755813824 >> 0 is -64
PASS -549755813824 >> 0 is 64
PASS 549755813824 >>> 0 is 4294967232
PASS -549755813824 >>> 0 is 64
PASS 1099511627648 >> 0 is -128
PASS -1099511627648 >> 0 is 128
PASS 1099511627648 >>> 0 is 4294967168
PASS -1099511627648 >>> 0 is 128
PASS 2199023255296 >> 0 is -256
PASS -2199023255296 >> 0 is 256
PASS 2199023255296 >>> 0 is 4294967040
PASS -2199023255296 >>> 0 is 256
PASS 4398046510592 >> 0 is -512
PASS -4398046510592 >> 0 is 512
PASS 4398046510592 >>> 0 is 4294966784
PASS -4398046510592 >>> 0 is 512
PASS 8796093021184 >> 0 is -1024
PASS -8796093021184 >> 0 is 1024
PASS 8796093021184 >>> 0 is 4294966272
PASS -8796093021184 >>> 0 is 1024
PASS 17592186042368 >> 0 is -2048
PASS -17592186042368 >> 0 is 2048
PASS 17592186042368 >>> 0 is 4294965248
PASS -17592186042368 >>> 0 is 2048
PASS 35184372084736 >> 0 is -4096
PASS -35184372084736 >> 0 is 4096
PASS 35184372084736 >>> 0 is 4294963200
PASS -35184372084736 >>> 0 is 4096
PASS 70368744169472 >> 0 is -8192
PASS -70368744169472 >> 0 is 8192
PASS 70368744169472 >>> 0 is 4294959104
PASS -70368744169472 >>> 0 is 8192
PASS 140737488338944 >> 0 is -16384
PASS -140737488338944 >> 0 is 16384
PASS 140737488338944 >>> 0 is 4294950912
PASS -140737488338944 >>> 0 is 16384
PASS 281474976677888 >> 0 is -32768
PASS -281474976677888 >> 0 is 32768
PASS 281474976677888 >>> 0 is 4294934528
PASS -281474976677888 >>> 0 is 32768
PASS 562949953355776 >> 0 is -65536
PASS -562949953355776 >> 0 is 65536
PASS 562949953355776 >>> 0 is 4294901760
PASS -562949953355776 >>> 0 is 65536
PASS 1125899906711552 >> 0 is -131072
PASS -1125899906711552 >> 0 is 131072
PASS 1125899906711552 >>> 0 is 4294836224
PASS -1125899906711552 >>> 0 is 131072
PASS 2251799813423104 >> 0 is -262144
PASS -2251799813423104 >> 0 is 262144
PASS 2251799813423104 >>> 0 is 4294705152
PASS -2251799813423104 >>> 0 is 262144
PASS 4503599626846208 >> 0 is -524288
PASS -4503599626846208 >> 0 is 524288
PASS 4503599626846208 >>> 0 is 4294443008
PASS -4503599626846208 >>> 0 is 524288
PASS 9007199253692416 >> 0 is -1048576
PASS -9007199253692416 >> 0 is 1048576
PASS 9007199253692416 >>> 0 is 4293918720
PASS -9007199253692416 >>> 0 is 1048576
PASS 18014398507384832 >> 0 is -2097152
PASS -18014398507384832 >> 0 is 2097152
PASS 18014398507384832 >>> 0 is 4292870144
PASS -18014398507384832 >>> 0 is 2097152
PASS 36028797014769664 >> 0 is -4194304
PASS -36028797014769664 >> 0 is 4194304
PASS 36028797014769664 >>> 0 is 4290772992
PASS -36028797014769664 >>> 0 is 4194304
PASS 72057594029539330 >> 0 is -8388608
PASS -72057594029539330 >> 0 is 8388608
PASS 72057594029539330 >>> 0 is 4286578688
PASS -72057594029539330 >>> 0 is 8388608
PASS 144115188059078660 >> 0 is -16777216
PASS -144115188059078660 >> 0 is 16777216
PASS 144115188059078660 >>> 0 is 4278190080
PASS -144115188059078660 >>> 0 is 16777216
PASS 288230376118157300 >> 0 is -33554432
PASS -288230376118157300 >> 0 is 33554432
PASS 288230376118157300 >>> 0 is 4261412864
PASS -288230376118157300 >>> 0 is 33554432
PASS 576460752236314600 >> 0 is -67108864
PASS -576460752236314600 >> 0 is 67108864
PASS 576460752236314600 >>> 0 is 4227858432
PASS -576460752236314600 >>> 0 is 67108864
PASS 1152921504472629200 >> 0 is -134217728
PASS -1152921504472629200 >> 0 is 134217728
PASS 1152921504472629200 >>> 0 is 4160749568
PASS -1152921504472629200 >>> 0 is 134217728
PASS 2305843008945258500 >> 0 is -268435456
PASS -2305843008945258500 >> 0 is 268435456
PASS 2305843008945258500 >>> 0 is 4026531840
PASS -2305843008945258500 >>> 0 is 268435456
PASS 4611686017890517000 >> 0 is -536870912
PASS -4611686017890517000 >> 0 is 536870912
PASS 4611686017890517000 >>> 0 is 3758096384
PASS -4611686017890517000 >>> 0 is 536870912
PASS 9223372035781034000 >> 0 is -1073741824
PASS -9223372035781034000 >> 0 is 1073741824
PASS 9223372035781034000 >>> 0 is 3221225472
PASS -9223372035781034000 >>> 0 is 1073741824
PASS 18446744071562068000 >> 0 is -2147483648
PASS -18446744071562068000 >> 0 is -2147483648
PASS 18446744071562068000 >>> 0 is 2147483648
PASS -18446744071562068000 >>> 0 is 2147483648
PASS 36893488143124136000 >> 0 is 0
PASS -36893488143124136000 >> 0 is 0
PASS 36893488143124136000 >>> 0 is 0
PASS -36893488143124136000 >>> 0 is 0
PASS 0.12500000002910386 >> 0 is 0
PASS -0.12500000002910386 >> 0 is 0
PASS 0.12500000002910386 >>> 0 is 0
PASS -0.12500000002910386 >>> 0 is 0
PASS 0.2500000000582077 >> 0 is 0
PASS -0.2500000000582077 >> 0 is 0
PASS 0.2500000000582077 >>> 0 is 0
PASS -0.2500000000582077 >>> 0 is 0
PASS 0.5000000001164154 >> 0 is 0
PASS -0.5000000001164154 >> 0 is 0
PASS 0.5000000001164154 >>> 0 is 0
PASS -0.5000000001164154 >>> 0 is 0
PASS 1.0000000002328309 >> 0 is 1
PASS -1.0000000002328309 >> 0 is -1
PASS 1.0000000002328309 >>> 0 is 1
PASS -1.0000000002328309 >>> 0 is 4294967295
PASS 2.0000000004656617 >> 0 is 2
PASS -2.0000000004656617 >> 0 is -2
PASS 2.0000000004656617 >>> 0 is 2
PASS -2.0000000004656617 >>> 0 is 4294967294
PASS 4.0000000009313235 >> 0 is 4
PASS -4.0000000009313235 >> 0 is -4
PASS 4.0000000009313235 >>> 0 is 4
PASS -4.0000000009313235 >>> 0 is 4294967292
PASS 8.000000001862647 >> 0 is 8
PASS -8.000000001862647 >> 0 is -8
PASS 8.000000001862647 >>> 0 is 8
PASS -8.000000001862647 >>> 0 is 4294967288
PASS 16.000000003725294 >> 0 is 16
PASS -16.000000003725294 >> 0 is -16
PASS 16.000000003725294 >>> 0 is 16
PASS -16.000000003725294 >>> 0 is 4294967280
PASS 32.00000000745059 >> 0 is 32
PASS -32.00000000745059 >> 0 is -32
PASS 32.00000000745059 >>> 0 is 32
PASS -32.00000000745059 >>> 0 is 4294967264
PASS 64.00000001490118 >> 0 is 64
PASS -64.00000001490118 >> 0 is -64
PASS 64.00000001490118 >>> 0 is 64
PASS -64.00000001490118 >>> 0 is 4294967232
PASS 128.00000002980235 >> 0 is 128
PASS -128.00000002980235 >> 0 is -128
PASS 128.00000002980235 >>> 0 is 128
PASS -128.00000002980235 >>> 0 is 4294967168
PASS 256.0000000596047 >> 0 is 256
PASS -256.0000000596047 >> 0 is -256
PASS 256.0000000596047 >>> 0 is 256
PASS -256.0000000596047 >>> 0 is 4294967040
PASS 512.0000001192094 >> 0 is 512
PASS -512.0000001192094 >> 0 is -512
PASS 512.0000001192094 >>> 0 is 512
PASS -512.0000001192094 >>> 0 is 4294966784
PASS 1024.0000002384188 >> 0 is 1024
PASS -1024.0000002384188 >> 0 is -1024
PASS 1024.0000002384188 >>> 0 is 1024
PASS -1024.0000002384188 >>> 0 is 4294966272
PASS 2048.0000004768376 >> 0 is 2048
PASS -2048.0000004768376 >> 0 is -2048
PASS 2048.0000004768376 >>> 0 is 2048
PASS -2048.0000004768376 >>> 0 is 4294965248
PASS 4096.000000953675 >> 0 is 4096
PASS -4096.000000953675 >> 0 is -4096
PASS 4096.000000953675 >>> 0 is 4096
PASS -4096.000000953675 >>> 0 is 4294963200
PASS 8192.00000190735 >> 0 is 8192
PASS -8192.00000190735 >> 0 is -8192
PASS 8192.00000190735 >>> 0 is 8192
PASS -8192.00000190735 >>> 0 is 4294959104
PASS 16384.0000038147 >> 0 is 16384
PASS -16384.0000038147 >> 0 is -16384
PASS 16384.0000038147 >>> 0 is 16384
PASS -16384.0000038147 >>> 0 is 4294950912
PASS 32768.0000076294 >> 0 is 32768
PASS -32768.0000076294 >> 0 is -32768
PASS 32768.0000076294 >>> 0 is 32768
PASS -32768.0000076294 >>> 0 is 4294934528
PASS 65536.0000152588 >> 0 is 65536
PASS -65536.0000152588 >> 0 is -65536
PASS 65536.0000152588 >>> 0 is 65536
PASS -65536.0000152588 >>> 0 is 4294901760
PASS 131072.0000305176 >> 0 is 131072
PASS -131072.0000305176 >> 0 is -131072
PASS 131072.0000305176 >>> 0 is 131072
PASS -131072.0000305176 >>> 0 is 4294836224
PASS 262144.0000610352 >> 0 is 262144
PASS -262144.0000610352 >> 0 is -262144
PASS 262144.0000610352 >>> 0 is 262144
PASS -262144.0000610352 >>> 0 is 4294705152
PASS 524288.0001220704 >> 0 is 524288
PASS -524288.0001220704 >> 0 is -524288
PASS 524288.0001220704 >>> 0 is 524288
PASS -524288.0001220704 >>> 0 is 4294443008
PASS 1048576.0002441409 >> 0 is 1048576
PASS -1048576.0002441409 >> 0 is -1048576
PASS 1048576.0002441409 >>> 0 is 1048576
PASS -1048576.0002441409 >>> 0 is 4293918720
PASS 2097152.0004882817 >> 0 is 2097152
PASS -2097152.0004882817 >> 0 is -2097152
PASS 2097152.0004882817 >>> 0 is 2097152
PASS -2097152.0004882817 >>> 0 is 4292870144
PASS 4194304.000976563 >> 0 is 4194304
PASS -4194304.000976563 >> 0 is -4194304
PASS 4194304.000976563 >>> 0 is 4194304
PASS -4194304.000976563 >>> 0 is 4290772992
PASS 8388608.001953127 >> 0 is 8388608
PASS -8388608.001953127 >> 0 is -8388608
PASS 8388608.001953127 >>> 0 is 8388608
PASS -8388608.001953127 >>> 0 is 4286578688
PASS 16777216.003906254 >> 0 is 16777216
PASS -16777216.003906254 >> 0 is -16777216
PASS 16777216.003906254 >>> 0 is 16777216
PASS -16777216.003906254 >>> 0 is 4278190080
PASS 33554432.00781251 >> 0 is 33554432
PASS -33554432.00781251 >> 0 is -33554432
PASS 33554432.00781251 >>> 0 is 33554432
PASS -33554432.00781251 >>> 0 is 4261412864
PASS 67108864.01562501 >> 0 is 67108864
PASS -67108864.01562501 >> 0 is -67108864
PASS 67108864.01562501 >>> 0 is 67108864
PASS -67108864.01562501 >>> 0 is 4227858432
PASS 134217728.03125003 >> 0 is 134217728
PASS -134217728.03125003 >> 0 is -134217728
PASS 134217728.03125003 >>> 0 is 134217728
PASS -134217728.03125003 >>> 0 is 4160749568
PASS 268435456.06250006 >> 0 is 268435456
PASS -268435456.06250006 >> 0 is -268435456
PASS 268435456.06250006 >>> 0 is 268435456
PASS -268435456.06250006 >>> 0 is 4026531840
PASS 536870912.1250001 >> 0 is 536870912
PASS -536870912.1250001 >> 0 is -536870912
PASS 536870912.1250001 >>> 0 is 536870912
PASS -536870912.1250001 >>> 0 is 3758096384
PASS 1073741824.2500002 >> 0 is 1073741824
PASS -1073741824.2500002 >> 0 is -1073741824
PASS 1073741824.2500002 >>> 0 is 1073741824
PASS -1073741824.2500002 >>> 0 is 3221225472
PASS 2147483648.5000005 >> 0 is -2147483648
PASS -2147483648.5000005 >> 0 is -2147483648
PASS 2147483648.5000005 >>> 0 is 2147483648
PASS -2147483648.5000005 >>> 0 is 2147483648
PASS 4294967297.000001 >> 0 is 1
PASS -4294967297.000001 >> 0 is -1
PASS 4294967297.000001 >>> 0 is 1
PASS -4294967297.000001 >>> 0 is 4294967295
PASS 8589934594.000002 >> 0 is 2
PASS -8589934594.000002 >> 0 is -2
PASS 8589934594.000002 >>> 0 is 2
PASS -8589934594.000002 >>> 0 is 4294967294
PASS 17179869188.000004 >> 0 is 4
PASS -17179869188.000004 >> 0 is -4
PASS 17179869188.000004 >>> 0 is 4
PASS -17179869188.000004 >>> 0 is 4294967292
PASS 34359738376.00001 >> 0 is 8
PASS -34359738376.00001 >> 0 is -8
PASS 34359738376.00001 >>> 0 is 8
PASS -34359738376.00001 >>> 0 is 4294967288
PASS 68719476752.00002 >> 0 is 16
PASS -68719476752.00002 >> 0 is -16
PASS 68719476752.00002 >>> 0 is 16
PASS -68719476752.00002 >>> 0 is 4294967280
PASS 137438953504.00003 >> 0 is 32
PASS -137438953504.00003 >> 0 is -32
PASS 137438953504.00003 >>> 0 is 32
PASS -137438953504.00003 >>> 0 is 4294967264
PASS 274877907008.00006 >> 0 is 64
PASS -274877907008.00006 >> 0 is -64
PASS 274877907008.00006 >>> 0 is 64
PASS -274877907008.00006 >>> 0 is 4294967232
PASS 549755814016.0001 >> 0 is 128
PASS -549755814016.0001 >> 0 is -128
PASS 549755814016.0001 >>> 0 is 128
PASS -549755814016.0001 >>> 0 is 4294967168
PASS 1099511628032.0002 >> 0 is 256
PASS -1099511628032.0002 >> 0 is -256
PASS 1099511628032.0002 >>> 0 is 256
PASS -1099511628032.0002 >>> 0 is 4294967040
PASS 2199023256064.0005 >> 0 is 512
PASS -2199023256064.0005 >> 0 is -512
PASS 2199023256064.0005 >>> 0 is 512
PASS -2199023256064.0005 >>> 0 is 4294966784
PASS 4398046512128.001 >> 0 is 1024
PASS -4398046512128.001 >> 0 is -1024
PASS 4398046512128.001 >>> 0 is 1024
PASS -4398046512128.001 >>> 0 is 4294966272
PASS 8796093024256.002 >> 0 is 2048
PASS -8796093024256.002 >> 0 is -2048
PASS 8796093024256.002 >>> 0 is 2048
PASS -8796093024256.002 >>> 0 is 4294965248
PASS 17592186048512.004 >> 0 is 4096
PASS -17592186048512.004 >> 0 is -4096
PASS 17592186048512.004 >>> 0 is 4096
PASS -17592186048512.004 >>> 0 is 4294963200
PASS 35184372097024.01 >> 0 is 8192
PASS -35184372097024.01 >> 0 is -8192
PASS 35184372097024.01 >>> 0 is 8192
PASS -35184372097024.01 >>> 0 is 4294959104
PASS 70368744194048.02 >> 0 is 16384
PASS -70368744194048.02 >> 0 is -16384
PASS 70368744194048.02 >>> 0 is 16384
PASS -70368744194048.02 >>> 0 is 4294950912
PASS 140737488388096.03 >> 0 is 32768
PASS -140737488388096.03 >> 0 is -32768
PASS 140737488388096.03 >>> 0 is 32768
PASS -140737488388096.03 >>> 0 is 4294934528
PASS 281474976776192.06 >> 0 is 65536
PASS -281474976776192.06 >> 0 is -65536
PASS 281474976776192.06 >>> 0 is 65536
PASS -281474976776192.06 >>> 0 is 4294901760
PASS 562949953552384.1 >> 0 is 131072
PASS -562949953552384.1 >> 0 is -131072
PASS 562949953552384.1 >>> 0 is 131072
PASS -562949953552384.1 >>> 0 is 4294836224
PASS 1125899907104768.3 >> 0 is 262144
PASS -1125899907104768.3 >> 0 is -262144
PASS 1125899907104768.3 >>> 0 is 262144
PASS -1125899907104768.3 >>> 0 is 4294705152
PASS 2251799814209536.5 >> 0 is 524288
PASS -2251799814209536.5 >> 0 is -524288
PASS 2251799814209536.5 >>> 0 is 524288
PASS -2251799814209536.5 >>> 0 is 4294443008
PASS 4503599628419073 >> 0 is 1048577
PASS -4503599628419073 >> 0 is -1048577
PASS 4503599628419073 >>> 0 is 1048577
PASS -4503599628419073 >>> 0 is 4293918719
PASS 9007199256838146 >> 0 is 2097154
PASS -9007199256838146 >> 0 is -2097154
PASS 9007199256838146 >>> 0 is 2097154
PASS -9007199256838146 >>> 0 is 4292870142
PASS 18014398513676292 >> 0 is 4194308
PASS -18014398513676292 >> 0 is -4194308
PASS 18014398513676292 >>> 0 is 4194308
PASS -18014398513676292 >>> 0 is 4290772988
PASS 36028797027352584 >> 0 is 8388616
PASS -36028797027352584 >> 0 is -8388616
PASS 36028797027352584 >>> 0 is 8388616
PASS -36028797027352584 >>> 0 is 4286578680
PASS 72057594054705170 >> 0 is 16777232
PASS -72057594054705170 >> 0 is -16777232
PASS 72057594054705170 >>> 0 is 16777232
PASS -72057594054705170 >>> 0 is 4278190064
PASS 144115188109410340 >> 0 is 33554464
PASS -144115188109410340 >> 0 is -33554464
PASS 144115188109410340 >>> 0 is 33554464
PASS -144115188109410340 >>> 0 is 4261412832
PASS 288230376218820700 >> 0 is 67108928
PASS -288230376218820700 >> 0 is -67108928
PASS 288230376218820700 >>> 0 is 67108928
PASS -288230376218820700 >>> 0 is 4227858368
PASS 576460752437641300 >> 0 is 134217856
PASS -576460752437641300 >> 0 is -134217856
PASS 576460752437641300 >>> 0 is 134217856
PASS -576460752437641300 >>> 0 is 4160749440
PASS 1152921504875282700 >> 0 is 268435712
PASS -1152921504875282700 >> 0 is -268435712
PASS 1152921504875282700 >>> 0 is 268435712
PASS -1152921504875282700 >>> 0 is 4026531584
PASS 2305843009750565400 >> 0 is 536871424
PASS -2305843009750565400 >> 0 is -536871424
PASS 2305843009750565400 >>> 0 is 536871424
PASS -2305843009750565400 >>> 0 is 3758095872
PASS 4611686019501131000 >> 0 is 1073742848
PASS -4611686019501131000 >> 0 is -1073742848
PASS 4611686019501131000 >>> 0 is 1073742848
PASS -4611686019501131000 >>> 0 is 3221224448
PASS 9223372039002262000 >> 0 is -2147481600
PASS -9223372039002262000 >> 0 is 2147481600
PASS 9223372039002262000 >>> 0 is 2147485696
PASS -9223372039002262000 >>> 0 is 2147481600
PASS 18446744078004523000 >> 0 is 4096
PASS -18446744078004523000 >> 0 is -4096
PASS 18446744078004523000 >>> 0 is 4096
PASS -18446744078004523000 >>> 0 is 4294963200
PASS 36893488156009050000 >> 0 is 8192
PASS -36893488156009050000 >> 0 is -8192
PASS 36893488156009050000 >>> 0 is 8192
PASS -36893488156009050000 >>> 0 is 4294959104
PASS 73786976312018100000 >> 0 is 16384
PASS -73786976312018100000 >> 0 is -16384
PASS 73786976312018100000 >>> 0 is 16384
PASS -73786976312018100000 >>> 0 is 4294950912
PASS 147573952624036200000 >> 0 is 32768
PASS -147573952624036200000 >> 0 is -32768
PASS 147573952624036200000 >>> 0 is 32768
PASS -147573952624036200000 >>> 0 is 4294934528
PASS 295147905248072400000 >> 0 is 65536
PASS -295147905248072400000 >> 0 is -65536
PASS 295147905248072400000 >>> 0 is 65536
PASS -295147905248072400000 >>> 0 is 4294901760
PASS 590295810496144700000 >> 0 is 131072
PASS -590295810496144700000 >> 0 is -131072
PASS 590295810496144700000 >>> 0 is 131072
PASS -590295810496144700000 >>> 0 is 4294836224
PASS 1.1805916209922895e+21 >> 0 is 262144
PASS -1.1805916209922895e+21 >> 0 is -262144
PASS 1.1805916209922895e+21 >>> 0 is 262144
PASS -1.1805916209922895e+21 >>> 0 is 4294705152
PASS 2.361183241984579e+21 >> 0 is 524288
PASS -2.361183241984579e+21 >> 0 is -524288
PASS 2.361183241984579e+21 >>> 0 is 524288
PASS -2.361183241984579e+21 >>> 0 is 4294443008
PASS 4.722366483969158e+21 >> 0 is 1048576
PASS -4.722366483969158e+21 >> 0 is -1048576
PASS 4.722366483969158e+21 >>> 0 is 1048576
PASS -4.722366483969158e+21 >>> 0 is 4293918720
PASS 9.444732967938316e+21 >> 0 is 2097152
PASS -9.444732967938316e+21 >> 0 is -2097152
PASS 9.444732967938316e+21 >>> 0 is 2097152
PASS -9.444732967938316e+21 >>> 0 is 4292870144
PASS 1.888946593587663e+22 >> 0 is 4194304
PASS -1.888946593587663e+22 >> 0 is -4194304
PASS 1.888946593587663e+22 >>> 0 is 4194304
PASS -1.888946593587663e+22 >>> 0 is 4290772992
PASS 3.777893187175326e+22 >> 0 is 8388608
PASS -3.777893187175326e+22 >> 0 is -8388608
PASS 3.777893187175326e+22 >>> 0 is 8388608
PASS -3.777893187175326e+22 >>> 0 is 4286578688
PASS 7.555786374350653e+22 >> 0 is 16777216
PASS -7.555786374350653e+22 >> 0 is -16777216
PASS 7.555786374350653e+22 >>> 0 is 16777216
PASS -7.555786374350653e+22 >>> 0 is 4278190080
PASS 1.5111572748701305e+23 >> 0 is 33554432
PASS -1.5111572748701305e+23 >> 0 is -33554432
PASS 1.5111572748701305e+23 >>> 0 is 33554432
PASS -1.5111572748701305e+23 >>> 0 is 4261412864
PASS 3.022314549740261e+23 >> 0 is 67108864
PASS -3.022314549740261e+23 >> 0 is -67108864
PASS 3.022314549740261e+23 >>> 0 is 67108864
PASS -3.022314549740261e+23 >>> 0 is 4227858432
PASS 6.044629099480522e+23 >> 0 is 134217728
PASS -6.044629099480522e+23 >> 0 is -134217728
PASS 6.044629099480522e+23 >>> 0 is 134217728
PASS -6.044629099480522e+23 >>> 0 is 4160749568
PASS 1.2089258198961044e+24 >> 0 is 268435456
PASS -1.2089258198961044e+24 >> 0 is -268435456
PASS 1.2089258198961044e+24 >>> 0 is 268435456
PASS -1.2089258198961044e+24 >>> 0 is 4026531840
PASS 2.417851639792209e+24 >> 0 is 536870912
PASS -2.417851639792209e+24 >> 0 is -536870912
PASS 2.417851639792209e+24 >>> 0 is 536870912
PASS -2.417851639792209e+24 >>> 0 is 3758096384
PASS 4.835703279584418e+24 >> 0 is 1073741824
PASS -4.835703279584418e+24 >> 0 is -1073741824
PASS 4.835703279584418e+24 >>> 0 is 1073741824
PASS -4.835703279584418e+24 >>> 0 is 3221225472
PASS 9.671406559168835e+24 >> 0 is -2147483648
PASS -9.671406559168835e+24 >> 0 is -2147483648
PASS 9.671406559168835e+24 >>> 0 is 2147483648
PASS -9.671406559168835e+24 >>> 0 is 2147483648
PASS 1.934281311833767e+25 >> 0 is 0
PASS -1.934281311833767e+25 >> 0 is 0
PASS 1.934281311833767e+25 >>> 0 is 0
PASS -1.934281311833767e+25 >>> 0 is 0
PASS 8589934592 >> 0 is 0
PASS -8589934592 >> 0 is 0
PASS 8589934592 >>> 0 is 0
PASS -8589934592 >>> 0 is 0
PASS 25769803776 >> 0 is 0
PASS -25769803776 >> 0 is 0
PASS 25769803776 >>> 0 is 0
PASS -25769803776 >>> 0 is 0
PASS 42949672960 >> 0 is 0
PASS -42949672960 >> 0 is 0
PASS 42949672960 >>> 0 is 0
PASS -42949672960 >>> 0 is 0
PASS 9223372045444710000 >> 0 is 0
PASS -9223372045444710000 >> 0 is 0
PASS 9223372045444710000 >>> 0 is 0
PASS -9223372045444710000 >>> 0 is 0
PASS 18446744082299486000 >> 0 is 0
PASS -18446744082299486000 >> 0 is 0
PASS 18446744082299486000 >>> 0 is 0
PASS -18446744082299486000 >>> 0 is 0
PASS 36893488156009040000 >> 0 is 0
PASS -36893488156009040000 >> 0 is 0
PASS 36893488156009040000 >>> 0 is 0
PASS -36893488156009040000 >>> 0 is 0
PASS 18446744065119617000 >> 0 is 0
PASS -18446744065119617000 >> 0 is 0
PASS 18446744065119617000 >>> 0 is 0
PASS -18446744065119617000 >>> 0 is 0
PASS 36893488138829170000 >> 0 is 0
PASS -36893488138829170000 >> 0 is 0
PASS 36893488138829170000 >>> 0 is 0
PASS -36893488138829170000 >>> 0 is 0
PASS 73786976286248270000 >> 0 is 0
PASS -73786976286248270000 >> 0 is 0
PASS 73786976286248270000 >>> 0 is 0
PASS -73786976286248270000 >>> 0 is 0
PASS 3.868562623667534e+25 >> 0 is 0
PASS -3.868562623667534e+25 >> 0 is 0
PASS 3.868562623667534e+25 >>> 0 is 0
PASS -3.868562623667534e+25 >>> 0 is 0
PASS 0 >> 0 is 0
PASS -0 >> 0 is 0
PASS 1/0 >> 0 is 0
PASS 1/-0 >> 0 is 0
PASS Number.NaN >> 0 is 0
PASS Number.NaN*-1 >> 0 is 0
PASS 0 >>> 0 is 0
PASS -0 >>> 0 is 0
PASS 1/0 >>> 0 is 0
PASS 1/-0 >>> 0 is 0
PASS Number.NaN >>> 0 is 0
PASS Number.NaN*-1 >>> 0 is 0
PASS successfullyParsed is true
TEST COMPLETE