tizen beta release
[framework/web/webkit-efl.git] / LayoutTests / fast / js / script-tests / toInt32UInt32.js
1 description(
2
3 "This test checks the behavior of the ToInt32 and ToUInt32 conversions defined in the ecma spec." +"\n"
4  + "This tests the following permutations of values:" +"\n"
5    + "CONVERT(SIGN * VALUE * 2^EXP)" +"\n"
6  + "where:" +"\n"
7    + "CONVERT = ToInt32|ToUInt32 (using either '>> 0' or '>> 0')" +"\n"
8    + "SIGN = 1|-1" +"\n"
9    + "VALUE = 1|3|5|0x40000001|0x80000001|0x100000001|0x7FFFFFFF|0xFFFFFFFF|0x1FFFFFFFF|0x10000000100001" +"\n"
10    + "(-55 >= EXP >= 33)" +"\n"
11  + "Also test the special value +/-0, +/-Inf, and NaN (also testig signed NaN)" +"\n"
12 );
13
14 shouldBe("2.7755575615628914e-17 >> 0", "0");
15 shouldBe("-2.7755575615628914e-17 >> 0", "0");
16 shouldBe("2.7755575615628914e-17 >>> 0", "0");
17 shouldBe("-2.7755575615628914e-17 >>> 0", "0");
18 shouldBe("5.551115123125783e-17 >> 0", "0");
19 shouldBe("-5.551115123125783e-17 >> 0", "0");
20 shouldBe("5.551115123125783e-17 >>> 0", "0");
21 shouldBe("-5.551115123125783e-17 >>> 0", "0");
22 shouldBe("1.1102230246251565e-16 >> 0", "0");
23 shouldBe("-1.1102230246251565e-16 >> 0", "0");
24 shouldBe("1.1102230246251565e-16 >>> 0", "0");
25 shouldBe("-1.1102230246251565e-16 >>> 0", "0");
26 shouldBe("2.220446049250313e-16 >> 0", "0");
27 shouldBe("-2.220446049250313e-16 >> 0", "0");
28 shouldBe("2.220446049250313e-16 >>> 0", "0");
29 shouldBe("-2.220446049250313e-16 >>> 0", "0");
30 shouldBe("4.440892098500626e-16 >> 0", "0");
31 shouldBe("-4.440892098500626e-16 >> 0", "0");
32 shouldBe("4.440892098500626e-16 >>> 0", "0");
33 shouldBe("-4.440892098500626e-16 >>> 0", "0");
34 shouldBe("8.881784197001252e-16 >> 0", "0");
35 shouldBe("-8.881784197001252e-16 >> 0", "0");
36 shouldBe("8.881784197001252e-16 >>> 0", "0");
37 shouldBe("-8.881784197001252e-16 >>> 0", "0");
38 shouldBe("1.7763568394002505e-15 >> 0", "0");
39 shouldBe("-1.7763568394002505e-15 >> 0", "0");
40 shouldBe("1.7763568394002505e-15 >>> 0", "0");
41 shouldBe("-1.7763568394002505e-15 >>> 0", "0");
42 shouldBe("3.552713678800501e-15 >> 0", "0");
43 shouldBe("-3.552713678800501e-15 >> 0", "0");
44 shouldBe("3.552713678800501e-15 >>> 0", "0");
45 shouldBe("-3.552713678800501e-15 >>> 0", "0");
46 shouldBe("7.105427357601002e-15 >> 0", "0");
47 shouldBe("-7.105427357601002e-15 >> 0", "0");
48 shouldBe("7.105427357601002e-15 >>> 0", "0");
49 shouldBe("-7.105427357601002e-15 >>> 0", "0");
50 shouldBe("1.4210854715202004e-14 >> 0", "0");
51 shouldBe("-1.4210854715202004e-14 >> 0", "0");
52 shouldBe("1.4210854715202004e-14 >>> 0", "0");
53 shouldBe("-1.4210854715202004e-14 >>> 0", "0");
54 shouldBe("2.842170943040401e-14 >> 0", "0");
55 shouldBe("-2.842170943040401e-14 >> 0", "0");
56 shouldBe("2.842170943040401e-14 >>> 0", "0");
57 shouldBe("-2.842170943040401e-14 >>> 0", "0");
58 shouldBe("5.684341886080802e-14 >> 0", "0");
59 shouldBe("-5.684341886080802e-14 >> 0", "0");
60 shouldBe("5.684341886080802e-14 >>> 0", "0");
61 shouldBe("-5.684341886080802e-14 >>> 0", "0");
62 shouldBe("1.1368683772161603e-13 >> 0", "0");
63 shouldBe("-1.1368683772161603e-13 >> 0", "0");
64 shouldBe("1.1368683772161603e-13 >>> 0", "0");
65 shouldBe("-1.1368683772161603e-13 >>> 0", "0");
66 shouldBe("2.2737367544323206e-13 >> 0", "0");
67 shouldBe("-2.2737367544323206e-13 >> 0", "0");
68 shouldBe("2.2737367544323206e-13 >>> 0", "0");
69 shouldBe("-2.2737367544323206e-13 >>> 0", "0");
70 shouldBe("4.547473508864641e-13 >> 0", "0");
71 shouldBe("-4.547473508864641e-13 >> 0", "0");
72 shouldBe("4.547473508864641e-13 >>> 0", "0");
73 shouldBe("-4.547473508864641e-13 >>> 0", "0");
74 shouldBe("9.094947017729282e-13 >> 0", "0");
75 shouldBe("-9.094947017729282e-13 >> 0", "0");
76 shouldBe("9.094947017729282e-13 >>> 0", "0");
77 shouldBe("-9.094947017729282e-13 >>> 0", "0");
78 shouldBe("1.8189894035458565e-12 >> 0", "0");
79 shouldBe("-1.8189894035458565e-12 >> 0", "0");
80 shouldBe("1.8189894035458565e-12 >>> 0", "0");
81 shouldBe("-1.8189894035458565e-12 >>> 0", "0");
82 shouldBe("3.637978807091713e-12 >> 0", "0");
83 shouldBe("-3.637978807091713e-12 >> 0", "0");
84 shouldBe("3.637978807091713e-12 >>> 0", "0");
85 shouldBe("-3.637978807091713e-12 >>> 0", "0");
86 shouldBe("7.275957614183426e-12 >> 0", "0");
87 shouldBe("-7.275957614183426e-12 >> 0", "0");
88 shouldBe("7.275957614183426e-12 >>> 0", "0");
89 shouldBe("-7.275957614183426e-12 >>> 0", "0");
90 shouldBe("1.4551915228366852e-11 >> 0", "0");
91 shouldBe("-1.4551915228366852e-11 >> 0", "0");
92 shouldBe("1.4551915228366852e-11 >>> 0", "0");
93 shouldBe("-1.4551915228366852e-11 >>> 0", "0");
94 shouldBe("2.9103830456733704e-11 >> 0", "0");
95 shouldBe("-2.9103830456733704e-11 >> 0", "0");
96 shouldBe("2.9103830456733704e-11 >>> 0", "0");
97 shouldBe("-2.9103830456733704e-11 >>> 0", "0");
98 shouldBe("5.820766091346741e-11 >> 0", "0");
99 shouldBe("-5.820766091346741e-11 >> 0", "0");
100 shouldBe("5.820766091346741e-11 >>> 0", "0");
101 shouldBe("-5.820766091346741e-11 >>> 0", "0");
102 shouldBe("1.1641532182693481e-10 >> 0", "0");
103 shouldBe("-1.1641532182693481e-10 >> 0", "0");
104 shouldBe("1.1641532182693481e-10 >>> 0", "0");
105 shouldBe("-1.1641532182693481e-10 >>> 0", "0");
106 shouldBe("2.3283064365386963e-10 >> 0", "0");
107 shouldBe("-2.3283064365386963e-10 >> 0", "0");
108 shouldBe("2.3283064365386963e-10 >>> 0", "0");
109 shouldBe("-2.3283064365386963e-10 >>> 0", "0");
110 shouldBe("4.656612873077393e-10 >> 0", "0");
111 shouldBe("-4.656612873077393e-10 >> 0", "0");
112 shouldBe("4.656612873077393e-10 >>> 0", "0");
113 shouldBe("-4.656612873077393e-10 >>> 0", "0");
114 shouldBe("9.313225746154785e-10 >> 0", "0");
115 shouldBe("-9.313225746154785e-10 >> 0", "0");
116 shouldBe("9.313225746154785e-10 >>> 0", "0");
117 shouldBe("-9.313225746154785e-10 >>> 0", "0");
118 shouldBe("1.862645149230957e-9 >> 0", "0");
119 shouldBe("-1.862645149230957e-9 >> 0", "0");
120 shouldBe("1.862645149230957e-9 >>> 0", "0");
121 shouldBe("-1.862645149230957e-9 >>> 0", "0");
122 shouldBe("3.725290298461914e-9 >> 0", "0");
123 shouldBe("-3.725290298461914e-9 >> 0", "0");
124 shouldBe("3.725290298461914e-9 >>> 0", "0");
125 shouldBe("-3.725290298461914e-9 >>> 0", "0");
126 shouldBe("7.450580596923828e-9 >> 0", "0");
127 shouldBe("-7.450580596923828e-9 >> 0", "0");
128 shouldBe("7.450580596923828e-9 >>> 0", "0");
129 shouldBe("-7.450580596923828e-9 >>> 0", "0");
130 shouldBe("1.4901161193847656e-8 >> 0", "0");
131 shouldBe("-1.4901161193847656e-8 >> 0", "0");
132 shouldBe("1.4901161193847656e-8 >>> 0", "0");
133 shouldBe("-1.4901161193847656e-8 >>> 0", "0");
134 shouldBe("2.9802322387695313e-8 >> 0", "0");
135 shouldBe("-2.9802322387695313e-8 >> 0", "0");
136 shouldBe("2.9802322387695313e-8 >>> 0", "0");
137 shouldBe("-2.9802322387695313e-8 >>> 0", "0");
138 shouldBe("5.960464477539063e-8 >> 0", "0");
139 shouldBe("-5.960464477539063e-8 >> 0", "0");
140 shouldBe("5.960464477539063e-8 >>> 0", "0");
141 shouldBe("-5.960464477539063e-8 >>> 0", "0");
142 shouldBe("1.1920928955078125e-7 >> 0", "0");
143 shouldBe("-1.1920928955078125e-7 >> 0", "0");
144 shouldBe("1.1920928955078125e-7 >>> 0", "0");
145 shouldBe("-1.1920928955078125e-7 >>> 0", "0");
146 shouldBe("2.384185791015625e-7 >> 0", "0");
147 shouldBe("-2.384185791015625e-7 >> 0", "0");
148 shouldBe("2.384185791015625e-7 >>> 0", "0");
149 shouldBe("-2.384185791015625e-7 >>> 0", "0");
150 shouldBe("4.76837158203125e-7 >> 0", "0");
151 shouldBe("-4.76837158203125e-7 >> 0", "0");
152 shouldBe("4.76837158203125e-7 >>> 0", "0");
153 shouldBe("-4.76837158203125e-7 >>> 0", "0");
154 shouldBe("9.5367431640625e-7 >> 0", "0");
155 shouldBe("-9.5367431640625e-7 >> 0", "0");
156 shouldBe("9.5367431640625e-7 >>> 0", "0");
157 shouldBe("-9.5367431640625e-7 >>> 0", "0");
158 shouldBe("0.0000019073486328125 >> 0", "0");
159 shouldBe("-0.0000019073486328125 >> 0", "0");
160 shouldBe("0.0000019073486328125 >>> 0", "0");
161 shouldBe("-0.0000019073486328125 >>> 0", "0");
162 shouldBe("0.000003814697265625 >> 0", "0");
163 shouldBe("-0.000003814697265625 >> 0", "0");
164 shouldBe("0.000003814697265625 >>> 0", "0");
165 shouldBe("-0.000003814697265625 >>> 0", "0");
166 shouldBe("0.00000762939453125 >> 0", "0");
167 shouldBe("-0.00000762939453125 >> 0", "0");
168 shouldBe("0.00000762939453125 >>> 0", "0");
169 shouldBe("-0.00000762939453125 >>> 0", "0");
170 shouldBe("0.0000152587890625 >> 0", "0");
171 shouldBe("-0.0000152587890625 >> 0", "0");
172 shouldBe("0.0000152587890625 >>> 0", "0");
173 shouldBe("-0.0000152587890625 >>> 0", "0");
174 shouldBe("0.000030517578125 >> 0", "0");
175 shouldBe("-0.000030517578125 >> 0", "0");
176 shouldBe("0.000030517578125 >>> 0", "0");
177 shouldBe("-0.000030517578125 >>> 0", "0");
178 shouldBe("0.00006103515625 >> 0", "0");
179 shouldBe("-0.00006103515625 >> 0", "0");
180 shouldBe("0.00006103515625 >>> 0", "0");
181 shouldBe("-0.00006103515625 >>> 0", "0");
182 shouldBe("0.0001220703125 >> 0", "0");
183 shouldBe("-0.0001220703125 >> 0", "0");
184 shouldBe("0.0001220703125 >>> 0", "0");
185 shouldBe("-0.0001220703125 >>> 0", "0");
186 shouldBe("0.000244140625 >> 0", "0");
187 shouldBe("-0.000244140625 >> 0", "0");
188 shouldBe("0.000244140625 >>> 0", "0");
189 shouldBe("-0.000244140625 >>> 0", "0");
190 shouldBe("0.00048828125 >> 0", "0");
191 shouldBe("-0.00048828125 >> 0", "0");
192 shouldBe("0.00048828125 >>> 0", "0");
193 shouldBe("-0.00048828125 >>> 0", "0");
194 shouldBe("0.0009765625 >> 0", "0");
195 shouldBe("-0.0009765625 >> 0", "0");
196 shouldBe("0.0009765625 >>> 0", "0");
197 shouldBe("-0.0009765625 >>> 0", "0");
198 shouldBe("0.001953125 >> 0", "0");
199 shouldBe("-0.001953125 >> 0", "0");
200 shouldBe("0.001953125 >>> 0", "0");
201 shouldBe("-0.001953125 >>> 0", "0");
202 shouldBe("0.00390625 >> 0", "0");
203 shouldBe("-0.00390625 >> 0", "0");
204 shouldBe("0.00390625 >>> 0", "0");
205 shouldBe("-0.00390625 >>> 0", "0");
206 shouldBe("0.0078125 >> 0", "0");
207 shouldBe("-0.0078125 >> 0", "0");
208 shouldBe("0.0078125 >>> 0", "0");
209 shouldBe("-0.0078125 >>> 0", "0");
210 shouldBe("0.015625 >> 0", "0");
211 shouldBe("-0.015625 >> 0", "0");
212 shouldBe("0.015625 >>> 0", "0");
213 shouldBe("-0.015625 >>> 0", "0");
214 shouldBe("0.03125 >> 0", "0");
215 shouldBe("-0.03125 >> 0", "0");
216 shouldBe("0.03125 >>> 0", "0");
217 shouldBe("-0.03125 >>> 0", "0");
218 shouldBe("0.0625 >> 0", "0");
219 shouldBe("-0.0625 >> 0", "0");
220 shouldBe("0.0625 >>> 0", "0");
221 shouldBe("-0.0625 >>> 0", "0");
222 shouldBe("0.125 >> 0", "0");
223 shouldBe("-0.125 >> 0", "0");
224 shouldBe("0.125 >>> 0", "0");
225 shouldBe("-0.125 >>> 0", "0");
226 shouldBe("0.25 >> 0", "0");
227 shouldBe("-0.25 >> 0", "0");
228 shouldBe("0.25 >>> 0", "0");
229 shouldBe("-0.25 >>> 0", "0");
230 shouldBe("0.5 >> 0", "0");
231 shouldBe("-0.5 >> 0", "0");
232 shouldBe("0.5 >>> 0", "0");
233 shouldBe("-0.5 >>> 0", "0");
234 shouldBe("1 >> 0", "1");
235 shouldBe("-1 >> 0", "-1");
236 shouldBe("1 >>> 0", "1");
237 shouldBe("-1 >>> 0", "4294967295");
238 shouldBe("2 >> 0", "2");
239 shouldBe("-2 >> 0", "-2");
240 shouldBe("2 >>> 0", "2");
241 shouldBe("-2 >>> 0", "4294967294");
242 shouldBe("4 >> 0", "4");
243 shouldBe("-4 >> 0", "-4");
244 shouldBe("4 >>> 0", "4");
245 shouldBe("-4 >>> 0", "4294967292");
246 shouldBe("8 >> 0", "8");
247 shouldBe("-8 >> 0", "-8");
248 shouldBe("8 >>> 0", "8");
249 shouldBe("-8 >>> 0", "4294967288");
250 shouldBe("16 >> 0", "16");
251 shouldBe("-16 >> 0", "-16");
252 shouldBe("16 >>> 0", "16");
253 shouldBe("-16 >>> 0", "4294967280");
254 shouldBe("32 >> 0", "32");
255 shouldBe("-32 >> 0", "-32");
256 shouldBe("32 >>> 0", "32");
257 shouldBe("-32 >>> 0", "4294967264");
258 shouldBe("64 >> 0", "64");
259 shouldBe("-64 >> 0", "-64");
260 shouldBe("64 >>> 0", "64");
261 shouldBe("-64 >>> 0", "4294967232");
262 shouldBe("128 >> 0", "128");
263 shouldBe("-128 >> 0", "-128");
264 shouldBe("128 >>> 0", "128");
265 shouldBe("-128 >>> 0", "4294967168");
266 shouldBe("256 >> 0", "256");
267 shouldBe("-256 >> 0", "-256");
268 shouldBe("256 >>> 0", "256");
269 shouldBe("-256 >>> 0", "4294967040");
270 shouldBe("512 >> 0", "512");
271 shouldBe("-512 >> 0", "-512");
272 shouldBe("512 >>> 0", "512");
273 shouldBe("-512 >>> 0", "4294966784");
274 shouldBe("1024 >> 0", "1024");
275 shouldBe("-1024 >> 0", "-1024");
276 shouldBe("1024 >>> 0", "1024");
277 shouldBe("-1024 >>> 0", "4294966272");
278 shouldBe("2048 >> 0", "2048");
279 shouldBe("-2048 >> 0", "-2048");
280 shouldBe("2048 >>> 0", "2048");
281 shouldBe("-2048 >>> 0", "4294965248");
282 shouldBe("4096 >> 0", "4096");
283 shouldBe("-4096 >> 0", "-4096");
284 shouldBe("4096 >>> 0", "4096");
285 shouldBe("-4096 >>> 0", "4294963200");
286 shouldBe("8192 >> 0", "8192");
287 shouldBe("-8192 >> 0", "-8192");
288 shouldBe("8192 >>> 0", "8192");
289 shouldBe("-8192 >>> 0", "4294959104");
290 shouldBe("16384 >> 0", "16384");
291 shouldBe("-16384 >> 0", "-16384");
292 shouldBe("16384 >>> 0", "16384");
293 shouldBe("-16384 >>> 0", "4294950912");
294 shouldBe("32768 >> 0", "32768");
295 shouldBe("-32768 >> 0", "-32768");
296 shouldBe("32768 >>> 0", "32768");
297 shouldBe("-32768 >>> 0", "4294934528");
298 shouldBe("65536 >> 0", "65536");
299 shouldBe("-65536 >> 0", "-65536");
300 shouldBe("65536 >>> 0", "65536");
301 shouldBe("-65536 >>> 0", "4294901760");
302 shouldBe("131072 >> 0", "131072");
303 shouldBe("-131072 >> 0", "-131072");
304 shouldBe("131072 >>> 0", "131072");
305 shouldBe("-131072 >>> 0", "4294836224");
306 shouldBe("262144 >> 0", "262144");
307 shouldBe("-262144 >> 0", "-262144");
308 shouldBe("262144 >>> 0", "262144");
309 shouldBe("-262144 >>> 0", "4294705152");
310 shouldBe("524288 >> 0", "524288");
311 shouldBe("-524288 >> 0", "-524288");
312 shouldBe("524288 >>> 0", "524288");
313 shouldBe("-524288 >>> 0", "4294443008");
314 shouldBe("1048576 >> 0", "1048576");
315 shouldBe("-1048576 >> 0", "-1048576");
316 shouldBe("1048576 >>> 0", "1048576");
317 shouldBe("-1048576 >>> 0", "4293918720");
318 shouldBe("2097152 >> 0", "2097152");
319 shouldBe("-2097152 >> 0", "-2097152");
320 shouldBe("2097152 >>> 0", "2097152");
321 shouldBe("-2097152 >>> 0", "4292870144");
322 shouldBe("4194304 >> 0", "4194304");
323 shouldBe("-4194304 >> 0", "-4194304");
324 shouldBe("4194304 >>> 0", "4194304");
325 shouldBe("-4194304 >>> 0", "4290772992");
326 shouldBe("8388608 >> 0", "8388608");
327 shouldBe("-8388608 >> 0", "-8388608");
328 shouldBe("8388608 >>> 0", "8388608");
329 shouldBe("-8388608 >>> 0", "4286578688");
330 shouldBe("16777216 >> 0", "16777216");
331 shouldBe("-16777216 >> 0", "-16777216");
332 shouldBe("16777216 >>> 0", "16777216");
333 shouldBe("-16777216 >>> 0", "4278190080");
334 shouldBe("33554432 >> 0", "33554432");
335 shouldBe("-33554432 >> 0", "-33554432");
336 shouldBe("33554432 >>> 0", "33554432");
337 shouldBe("-33554432 >>> 0", "4261412864");
338 shouldBe("67108864 >> 0", "67108864");
339 shouldBe("-67108864 >> 0", "-67108864");
340 shouldBe("67108864 >>> 0", "67108864");
341 shouldBe("-67108864 >>> 0", "4227858432");
342 shouldBe("134217728 >> 0", "134217728");
343 shouldBe("-134217728 >> 0", "-134217728");
344 shouldBe("134217728 >>> 0", "134217728");
345 shouldBe("-134217728 >>> 0", "4160749568");
346 shouldBe("268435456 >> 0", "268435456");
347 shouldBe("-268435456 >> 0", "-268435456");
348 shouldBe("268435456 >>> 0", "268435456");
349 shouldBe("-268435456 >>> 0", "4026531840");
350 shouldBe("536870912 >> 0", "536870912");
351 shouldBe("-536870912 >> 0", "-536870912");
352 shouldBe("536870912 >>> 0", "536870912");
353 shouldBe("-536870912 >>> 0", "3758096384");
354 shouldBe("1073741824 >> 0", "1073741824");
355 shouldBe("-1073741824 >> 0", "-1073741824");
356 shouldBe("1073741824 >>> 0", "1073741824");
357 shouldBe("-1073741824 >>> 0", "3221225472");
358 shouldBe("2147483648 >> 0", "-2147483648");
359 shouldBe("-2147483648 >> 0", "-2147483648");
360 shouldBe("2147483648 >>> 0", "2147483648");
361 shouldBe("-2147483648 >>> 0", "2147483648");
362 shouldBe("4294967296 >> 0", "0");
363 shouldBe("-4294967296 >> 0", "0");
364 shouldBe("4294967296 >>> 0", "0");
365 shouldBe("-4294967296 >>> 0", "0");
366 shouldBe("8.326672684688674e-17 >> 0", "0");
367 shouldBe("-8.326672684688674e-17 >> 0", "0");
368 shouldBe("8.326672684688674e-17 >>> 0", "0");
369 shouldBe("-8.326672684688674e-17 >>> 0", "0");
370 shouldBe("1.6653345369377348e-16 >> 0", "0");
371 shouldBe("-1.6653345369377348e-16 >> 0", "0");
372 shouldBe("1.6653345369377348e-16 >>> 0", "0");
373 shouldBe("-1.6653345369377348e-16 >>> 0", "0");
374 shouldBe("3.3306690738754696e-16 >> 0", "0");
375 shouldBe("-3.3306690738754696e-16 >> 0", "0");
376 shouldBe("3.3306690738754696e-16 >>> 0", "0");
377 shouldBe("-3.3306690738754696e-16 >>> 0", "0");
378 shouldBe("6.661338147750939e-16 >> 0", "0");
379 shouldBe("-6.661338147750939e-16 >> 0", "0");
380 shouldBe("6.661338147750939e-16 >>> 0", "0");
381 shouldBe("-6.661338147750939e-16 >>> 0", "0");
382 shouldBe("1.3322676295501878e-15 >> 0", "0");
383 shouldBe("-1.3322676295501878e-15 >> 0", "0");
384 shouldBe("1.3322676295501878e-15 >>> 0", "0");
385 shouldBe("-1.3322676295501878e-15 >>> 0", "0");
386 shouldBe("2.6645352591003757e-15 >> 0", "0");
387 shouldBe("-2.6645352591003757e-15 >> 0", "0");
388 shouldBe("2.6645352591003757e-15 >>> 0", "0");
389 shouldBe("-2.6645352591003757e-15 >>> 0", "0");
390 shouldBe("5.329070518200751e-15 >> 0", "0");
391 shouldBe("-5.329070518200751e-15 >> 0", "0");
392 shouldBe("5.329070518200751e-15 >>> 0", "0");
393 shouldBe("-5.329070518200751e-15 >>> 0", "0");
394 shouldBe("1.0658141036401503e-14 >> 0", "0");
395 shouldBe("-1.0658141036401503e-14 >> 0", "0");
396 shouldBe("1.0658141036401503e-14 >>> 0", "0");
397 shouldBe("-1.0658141036401503e-14 >>> 0", "0");
398 shouldBe("2.1316282072803006e-14 >> 0", "0");
399 shouldBe("-2.1316282072803006e-14 >> 0", "0");
400 shouldBe("2.1316282072803006e-14 >>> 0", "0");
401 shouldBe("-2.1316282072803006e-14 >>> 0", "0");
402 shouldBe("4.263256414560601e-14 >> 0", "0");
403 shouldBe("-4.263256414560601e-14 >> 0", "0");
404 shouldBe("4.263256414560601e-14 >>> 0", "0");
405 shouldBe("-4.263256414560601e-14 >>> 0", "0");
406 shouldBe("8.526512829121202e-14 >> 0", "0");
407 shouldBe("-8.526512829121202e-14 >> 0", "0");
408 shouldBe("8.526512829121202e-14 >>> 0", "0");
409 shouldBe("-8.526512829121202e-14 >>> 0", "0");
410 shouldBe("1.7053025658242404e-13 >> 0", "0");
411 shouldBe("-1.7053025658242404e-13 >> 0", "0");
412 shouldBe("1.7053025658242404e-13 >>> 0", "0");
413 shouldBe("-1.7053025658242404e-13 >>> 0", "0");
414 shouldBe("3.410605131648481e-13 >> 0", "0");
415 shouldBe("-3.410605131648481e-13 >> 0", "0");
416 shouldBe("3.410605131648481e-13 >>> 0", "0");
417 shouldBe("-3.410605131648481e-13 >>> 0", "0");
418 shouldBe("6.821210263296962e-13 >> 0", "0");
419 shouldBe("-6.821210263296962e-13 >> 0", "0");
420 shouldBe("6.821210263296962e-13 >>> 0", "0");
421 shouldBe("-6.821210263296962e-13 >>> 0", "0");
422 shouldBe("1.3642420526593924e-12 >> 0", "0");
423 shouldBe("-1.3642420526593924e-12 >> 0", "0");
424 shouldBe("1.3642420526593924e-12 >>> 0", "0");
425 shouldBe("-1.3642420526593924e-12 >>> 0", "0");
426 shouldBe("2.7284841053187847e-12 >> 0", "0");
427 shouldBe("-2.7284841053187847e-12 >> 0", "0");
428 shouldBe("2.7284841053187847e-12 >>> 0", "0");
429 shouldBe("-2.7284841053187847e-12 >>> 0", "0");
430 shouldBe("5.4569682106375694e-12 >> 0", "0");
431 shouldBe("-5.4569682106375694e-12 >> 0", "0");
432 shouldBe("5.4569682106375694e-12 >>> 0", "0");
433 shouldBe("-5.4569682106375694e-12 >>> 0", "0");
434 shouldBe("1.0913936421275139e-11 >> 0", "0");
435 shouldBe("-1.0913936421275139e-11 >> 0", "0");
436 shouldBe("1.0913936421275139e-11 >>> 0", "0");
437 shouldBe("-1.0913936421275139e-11 >>> 0", "0");
438 shouldBe("2.1827872842550278e-11 >> 0", "0");
439 shouldBe("-2.1827872842550278e-11 >> 0", "0");
440 shouldBe("2.1827872842550278e-11 >>> 0", "0");
441 shouldBe("-2.1827872842550278e-11 >>> 0", "0");
442 shouldBe("4.3655745685100555e-11 >> 0", "0");
443 shouldBe("-4.3655745685100555e-11 >> 0", "0");
444 shouldBe("4.3655745685100555e-11 >>> 0", "0");
445 shouldBe("-4.3655745685100555e-11 >>> 0", "0");
446 shouldBe("8.731149137020111e-11 >> 0", "0");
447 shouldBe("-8.731149137020111e-11 >> 0", "0");
448 shouldBe("8.731149137020111e-11 >>> 0", "0");
449 shouldBe("-8.731149137020111e-11 >>> 0", "0");
450 shouldBe("1.7462298274040222e-10 >> 0", "0");
451 shouldBe("-1.7462298274040222e-10 >> 0", "0");
452 shouldBe("1.7462298274040222e-10 >>> 0", "0");
453 shouldBe("-1.7462298274040222e-10 >>> 0", "0");
454 shouldBe("3.4924596548080444e-10 >> 0", "0");
455 shouldBe("-3.4924596548080444e-10 >> 0", "0");
456 shouldBe("3.4924596548080444e-10 >>> 0", "0");
457 shouldBe("-3.4924596548080444e-10 >>> 0", "0");
458 shouldBe("6.984919309616089e-10 >> 0", "0");
459 shouldBe("-6.984919309616089e-10 >> 0", "0");
460 shouldBe("6.984919309616089e-10 >>> 0", "0");
461 shouldBe("-6.984919309616089e-10 >>> 0", "0");
462 shouldBe("1.3969838619232178e-9 >> 0", "0");
463 shouldBe("-1.3969838619232178e-9 >> 0", "0");
464 shouldBe("1.3969838619232178e-9 >>> 0", "0");
465 shouldBe("-1.3969838619232178e-9 >>> 0", "0");
466 shouldBe("2.7939677238464355e-9 >> 0", "0");
467 shouldBe("-2.7939677238464355e-9 >> 0", "0");
468 shouldBe("2.7939677238464355e-9 >>> 0", "0");
469 shouldBe("-2.7939677238464355e-9 >>> 0", "0");
470 shouldBe("5.587935447692871e-9 >> 0", "0");
471 shouldBe("-5.587935447692871e-9 >> 0", "0");
472 shouldBe("5.587935447692871e-9 >>> 0", "0");
473 shouldBe("-5.587935447692871e-9 >>> 0", "0");
474 shouldBe("1.1175870895385742e-8 >> 0", "0");
475 shouldBe("-1.1175870895385742e-8 >> 0", "0");
476 shouldBe("1.1175870895385742e-8 >>> 0", "0");
477 shouldBe("-1.1175870895385742e-8 >>> 0", "0");
478 shouldBe("2.2351741790771484e-8 >> 0", "0");
479 shouldBe("-2.2351741790771484e-8 >> 0", "0");
480 shouldBe("2.2351741790771484e-8 >>> 0", "0");
481 shouldBe("-2.2351741790771484e-8 >>> 0", "0");
482 shouldBe("4.470348358154297e-8 >> 0", "0");
483 shouldBe("-4.470348358154297e-8 >> 0", "0");
484 shouldBe("4.470348358154297e-8 >>> 0", "0");
485 shouldBe("-4.470348358154297e-8 >>> 0", "0");
486 shouldBe("8.940696716308594e-8 >> 0", "0");
487 shouldBe("-8.940696716308594e-8 >> 0", "0");
488 shouldBe("8.940696716308594e-8 >>> 0", "0");
489 shouldBe("-8.940696716308594e-8 >>> 0", "0");
490 shouldBe("1.7881393432617188e-7 >> 0", "0");
491 shouldBe("-1.7881393432617188e-7 >> 0", "0");
492 shouldBe("1.7881393432617188e-7 >>> 0", "0");
493 shouldBe("-1.7881393432617188e-7 >>> 0", "0");
494 shouldBe("3.5762786865234375e-7 >> 0", "0");
495 shouldBe("-3.5762786865234375e-7 >> 0", "0");
496 shouldBe("3.5762786865234375e-7 >>> 0", "0");
497 shouldBe("-3.5762786865234375e-7 >>> 0", "0");
498 shouldBe("7.152557373046875e-7 >> 0", "0");
499 shouldBe("-7.152557373046875e-7 >> 0", "0");
500 shouldBe("7.152557373046875e-7 >>> 0", "0");
501 shouldBe("-7.152557373046875e-7 >>> 0", "0");
502 shouldBe("0.000001430511474609375 >> 0", "0");
503 shouldBe("-0.000001430511474609375 >> 0", "0");
504 shouldBe("0.000001430511474609375 >>> 0", "0");
505 shouldBe("-0.000001430511474609375 >>> 0", "0");
506 shouldBe("0.00000286102294921875 >> 0", "0");
507 shouldBe("-0.00000286102294921875 >> 0", "0");
508 shouldBe("0.00000286102294921875 >>> 0", "0");
509 shouldBe("-0.00000286102294921875 >>> 0", "0");
510 shouldBe("0.0000057220458984375 >> 0", "0");
511 shouldBe("-0.0000057220458984375 >> 0", "0");
512 shouldBe("0.0000057220458984375 >>> 0", "0");
513 shouldBe("-0.0000057220458984375 >>> 0", "0");
514 shouldBe("0.000011444091796875 >> 0", "0");
515 shouldBe("-0.000011444091796875 >> 0", "0");
516 shouldBe("0.000011444091796875 >>> 0", "0");
517 shouldBe("-0.000011444091796875 >>> 0", "0");
518 shouldBe("0.00002288818359375 >> 0", "0");
519 shouldBe("-0.00002288818359375 >> 0", "0");
520 shouldBe("0.00002288818359375 >>> 0", "0");
521 shouldBe("-0.00002288818359375 >>> 0", "0");
522 shouldBe("0.0000457763671875 >> 0", "0");
523 shouldBe("-0.0000457763671875 >> 0", "0");
524 shouldBe("0.0000457763671875 >>> 0", "0");
525 shouldBe("-0.0000457763671875 >>> 0", "0");
526 shouldBe("0.000091552734375 >> 0", "0");
527 shouldBe("-0.000091552734375 >> 0", "0");
528 shouldBe("0.000091552734375 >>> 0", "0");
529 shouldBe("-0.000091552734375 >>> 0", "0");
530 shouldBe("0.00018310546875 >> 0", "0");
531 shouldBe("-0.00018310546875 >> 0", "0");
532 shouldBe("0.00018310546875 >>> 0", "0");
533 shouldBe("-0.00018310546875 >>> 0", "0");
534 shouldBe("0.0003662109375 >> 0", "0");
535 shouldBe("-0.0003662109375 >> 0", "0");
536 shouldBe("0.0003662109375 >>> 0", "0");
537 shouldBe("-0.0003662109375 >>> 0", "0");
538 shouldBe("0.000732421875 >> 0", "0");
539 shouldBe("-0.000732421875 >> 0", "0");
540 shouldBe("0.000732421875 >>> 0", "0");
541 shouldBe("-0.000732421875 >>> 0", "0");
542 shouldBe("0.00146484375 >> 0", "0");
543 shouldBe("-0.00146484375 >> 0", "0");
544 shouldBe("0.00146484375 >>> 0", "0");
545 shouldBe("-0.00146484375 >>> 0", "0");
546 shouldBe("0.0029296875 >> 0", "0");
547 shouldBe("-0.0029296875 >> 0", "0");
548 shouldBe("0.0029296875 >>> 0", "0");
549 shouldBe("-0.0029296875 >>> 0", "0");
550 shouldBe("0.005859375 >> 0", "0");
551 shouldBe("-0.005859375 >> 0", "0");
552 shouldBe("0.005859375 >>> 0", "0");
553 shouldBe("-0.005859375 >>> 0", "0");
554 shouldBe("0.01171875 >> 0", "0");
555 shouldBe("-0.01171875 >> 0", "0");
556 shouldBe("0.01171875 >>> 0", "0");
557 shouldBe("-0.01171875 >>> 0", "0");
558 shouldBe("0.0234375 >> 0", "0");
559 shouldBe("-0.0234375 >> 0", "0");
560 shouldBe("0.0234375 >>> 0", "0");
561 shouldBe("-0.0234375 >>> 0", "0");
562 shouldBe("0.046875 >> 0", "0");
563 shouldBe("-0.046875 >> 0", "0");
564 shouldBe("0.046875 >>> 0", "0");
565 shouldBe("-0.046875 >>> 0", "0");
566 shouldBe("0.09375 >> 0", "0");
567 shouldBe("-0.09375 >> 0", "0");
568 shouldBe("0.09375 >>> 0", "0");
569 shouldBe("-0.09375 >>> 0", "0");
570 shouldBe("0.1875 >> 0", "0");
571 shouldBe("-0.1875 >> 0", "0");
572 shouldBe("0.1875 >>> 0", "0");
573 shouldBe("-0.1875 >>> 0", "0");
574 shouldBe("0.375 >> 0", "0");
575 shouldBe("-0.375 >> 0", "0");
576 shouldBe("0.375 >>> 0", "0");
577 shouldBe("-0.375 >>> 0", "0");
578 shouldBe("0.75 >> 0", "0");
579 shouldBe("-0.75 >> 0", "0");
580 shouldBe("0.75 >>> 0", "0");
581 shouldBe("-0.75 >>> 0", "0");
582 shouldBe("1.5 >> 0", "1");
583 shouldBe("-1.5 >> 0", "-1");
584 shouldBe("1.5 >>> 0", "1");
585 shouldBe("-1.5 >>> 0", "4294967295");
586 shouldBe("3 >> 0", "3");
587 shouldBe("-3 >> 0", "-3");
588 shouldBe("3 >>> 0", "3");
589 shouldBe("-3 >>> 0", "4294967293");
590 shouldBe("6 >> 0", "6");
591 shouldBe("-6 >> 0", "-6");
592 shouldBe("6 >>> 0", "6");
593 shouldBe("-6 >>> 0", "4294967290");
594 shouldBe("12 >> 0", "12");
595 shouldBe("-12 >> 0", "-12");
596 shouldBe("12 >>> 0", "12");
597 shouldBe("-12 >>> 0", "4294967284");
598 shouldBe("24 >> 0", "24");
599 shouldBe("-24 >> 0", "-24");
600 shouldBe("24 >>> 0", "24");
601 shouldBe("-24 >>> 0", "4294967272");
602 shouldBe("48 >> 0", "48");
603 shouldBe("-48 >> 0", "-48");
604 shouldBe("48 >>> 0", "48");
605 shouldBe("-48 >>> 0", "4294967248");
606 shouldBe("96 >> 0", "96");
607 shouldBe("-96 >> 0", "-96");
608 shouldBe("96 >>> 0", "96");
609 shouldBe("-96 >>> 0", "4294967200");
610 shouldBe("192 >> 0", "192");
611 shouldBe("-192 >> 0", "-192");
612 shouldBe("192 >>> 0", "192");
613 shouldBe("-192 >>> 0", "4294967104");
614 shouldBe("384 >> 0", "384");
615 shouldBe("-384 >> 0", "-384");
616 shouldBe("384 >>> 0", "384");
617 shouldBe("-384 >>> 0", "4294966912");
618 shouldBe("768 >> 0", "768");
619 shouldBe("-768 >> 0", "-768");
620 shouldBe("768 >>> 0", "768");
621 shouldBe("-768 >>> 0", "4294966528");
622 shouldBe("1536 >> 0", "1536");
623 shouldBe("-1536 >> 0", "-1536");
624 shouldBe("1536 >>> 0", "1536");
625 shouldBe("-1536 >>> 0", "4294965760");
626 shouldBe("3072 >> 0", "3072");
627 shouldBe("-3072 >> 0", "-3072");
628 shouldBe("3072 >>> 0", "3072");
629 shouldBe("-3072 >>> 0", "4294964224");
630 shouldBe("6144 >> 0", "6144");
631 shouldBe("-6144 >> 0", "-6144");
632 shouldBe("6144 >>> 0", "6144");
633 shouldBe("-6144 >>> 0", "4294961152");
634 shouldBe("12288 >> 0", "12288");
635 shouldBe("-12288 >> 0", "-12288");
636 shouldBe("12288 >>> 0", "12288");
637 shouldBe("-12288 >>> 0", "4294955008");
638 shouldBe("24576 >> 0", "24576");
639 shouldBe("-24576 >> 0", "-24576");
640 shouldBe("24576 >>> 0", "24576");
641 shouldBe("-24576 >>> 0", "4294942720");
642 shouldBe("49152 >> 0", "49152");
643 shouldBe("-49152 >> 0", "-49152");
644 shouldBe("49152 >>> 0", "49152");
645 shouldBe("-49152 >>> 0", "4294918144");
646 shouldBe("98304 >> 0", "98304");
647 shouldBe("-98304 >> 0", "-98304");
648 shouldBe("98304 >>> 0", "98304");
649 shouldBe("-98304 >>> 0", "4294868992");
650 shouldBe("196608 >> 0", "196608");
651 shouldBe("-196608 >> 0", "-196608");
652 shouldBe("196608 >>> 0", "196608");
653 shouldBe("-196608 >>> 0", "4294770688");
654 shouldBe("393216 >> 0", "393216");
655 shouldBe("-393216 >> 0", "-393216");
656 shouldBe("393216 >>> 0", "393216");
657 shouldBe("-393216 >>> 0", "4294574080");
658 shouldBe("786432 >> 0", "786432");
659 shouldBe("-786432 >> 0", "-786432");
660 shouldBe("786432 >>> 0", "786432");
661 shouldBe("-786432 >>> 0", "4294180864");
662 shouldBe("1572864 >> 0", "1572864");
663 shouldBe("-1572864 >> 0", "-1572864");
664 shouldBe("1572864 >>> 0", "1572864");
665 shouldBe("-1572864 >>> 0", "4293394432");
666 shouldBe("3145728 >> 0", "3145728");
667 shouldBe("-3145728 >> 0", "-3145728");
668 shouldBe("3145728 >>> 0", "3145728");
669 shouldBe("-3145728 >>> 0", "4291821568");
670 shouldBe("6291456 >> 0", "6291456");
671 shouldBe("-6291456 >> 0", "-6291456");
672 shouldBe("6291456 >>> 0", "6291456");
673 shouldBe("-6291456 >>> 0", "4288675840");
674 shouldBe("12582912 >> 0", "12582912");
675 shouldBe("-12582912 >> 0", "-12582912");
676 shouldBe("12582912 >>> 0", "12582912");
677 shouldBe("-12582912 >>> 0", "4282384384");
678 shouldBe("25165824 >> 0", "25165824");
679 shouldBe("-25165824 >> 0", "-25165824");
680 shouldBe("25165824 >>> 0", "25165824");
681 shouldBe("-25165824 >>> 0", "4269801472");
682 shouldBe("50331648 >> 0", "50331648");
683 shouldBe("-50331648 >> 0", "-50331648");
684 shouldBe("50331648 >>> 0", "50331648");
685 shouldBe("-50331648 >>> 0", "4244635648");
686 shouldBe("100663296 >> 0", "100663296");
687 shouldBe("-100663296 >> 0", "-100663296");
688 shouldBe("100663296 >>> 0", "100663296");
689 shouldBe("-100663296 >>> 0", "4194304000");
690 shouldBe("201326592 >> 0", "201326592");
691 shouldBe("-201326592 >> 0", "-201326592");
692 shouldBe("201326592 >>> 0", "201326592");
693 shouldBe("-201326592 >>> 0", "4093640704");
694 shouldBe("402653184 >> 0", "402653184");
695 shouldBe("-402653184 >> 0", "-402653184");
696 shouldBe("402653184 >>> 0", "402653184");
697 shouldBe("-402653184 >>> 0", "3892314112");
698 shouldBe("805306368 >> 0", "805306368");
699 shouldBe("-805306368 >> 0", "-805306368");
700 shouldBe("805306368 >>> 0", "805306368");
701 shouldBe("-805306368 >>> 0", "3489660928");
702 shouldBe("1610612736 >> 0", "1610612736");
703 shouldBe("-1610612736 >> 0", "-1610612736");
704 shouldBe("1610612736 >>> 0", "1610612736");
705 shouldBe("-1610612736 >>> 0", "2684354560");
706 shouldBe("3221225472 >> 0", "-1073741824");
707 shouldBe("-3221225472 >> 0", "1073741824");
708 shouldBe("3221225472 >>> 0", "3221225472");
709 shouldBe("-3221225472 >>> 0", "1073741824");
710 shouldBe("6442450944 >> 0", "-2147483648");
711 shouldBe("-6442450944 >> 0", "-2147483648");
712 shouldBe("6442450944 >>> 0", "2147483648");
713 shouldBe("-6442450944 >>> 0", "2147483648");
714 shouldBe("12884901888 >> 0", "0");
715 shouldBe("-12884901888 >> 0", "0");
716 shouldBe("12884901888 >>> 0", "0");
717 shouldBe("-12884901888 >>> 0", "0");
718 shouldBe("1.3877787807814457e-16 >> 0", "0");
719 shouldBe("-1.3877787807814457e-16 >> 0", "0");
720 shouldBe("1.3877787807814457e-16 >>> 0", "0");
721 shouldBe("-1.3877787807814457e-16 >>> 0", "0");
722 shouldBe("2.7755575615628914e-16 >> 0", "0");
723 shouldBe("-2.7755575615628914e-16 >> 0", "0");
724 shouldBe("2.7755575615628914e-16 >>> 0", "0");
725 shouldBe("-2.7755575615628914e-16 >>> 0", "0");
726 shouldBe("5.551115123125783e-16 >> 0", "0");
727 shouldBe("-5.551115123125783e-16 >> 0", "0");
728 shouldBe("5.551115123125783e-16 >>> 0", "0");
729 shouldBe("-5.551115123125783e-16 >>> 0", "0");
730 shouldBe("1.1102230246251565e-15 >> 0", "0");
731 shouldBe("-1.1102230246251565e-15 >> 0", "0");
732 shouldBe("1.1102230246251565e-15 >>> 0", "0");
733 shouldBe("-1.1102230246251565e-15 >>> 0", "0");
734 shouldBe("2.220446049250313e-15 >> 0", "0");
735 shouldBe("-2.220446049250313e-15 >> 0", "0");
736 shouldBe("2.220446049250313e-15 >>> 0", "0");
737 shouldBe("-2.220446049250313e-15 >>> 0", "0");
738 shouldBe("4.440892098500626e-15 >> 0", "0");
739 shouldBe("-4.440892098500626e-15 >> 0", "0");
740 shouldBe("4.440892098500626e-15 >>> 0", "0");
741 shouldBe("-4.440892098500626e-15 >>> 0", "0");
742 shouldBe("8.881784197001252e-15 >> 0", "0");
743 shouldBe("-8.881784197001252e-15 >> 0", "0");
744 shouldBe("8.881784197001252e-15 >>> 0", "0");
745 shouldBe("-8.881784197001252e-15 >>> 0", "0");
746 shouldBe("1.7763568394002505e-14 >> 0", "0");
747 shouldBe("-1.7763568394002505e-14 >> 0", "0");
748 shouldBe("1.7763568394002505e-14 >>> 0", "0");
749 shouldBe("-1.7763568394002505e-14 >>> 0", "0");
750 shouldBe("3.552713678800501e-14 >> 0", "0");
751 shouldBe("-3.552713678800501e-14 >> 0", "0");
752 shouldBe("3.552713678800501e-14 >>> 0", "0");
753 shouldBe("-3.552713678800501e-14 >>> 0", "0");
754 shouldBe("7.105427357601002e-14 >> 0", "0");
755 shouldBe("-7.105427357601002e-14 >> 0", "0");
756 shouldBe("7.105427357601002e-14 >>> 0", "0");
757 shouldBe("-7.105427357601002e-14 >>> 0", "0");
758 shouldBe("1.4210854715202004e-13 >> 0", "0");
759 shouldBe("-1.4210854715202004e-13 >> 0", "0");
760 shouldBe("1.4210854715202004e-13 >>> 0", "0");
761 shouldBe("-1.4210854715202004e-13 >>> 0", "0");
762 shouldBe("2.8421709430404007e-13 >> 0", "0");
763 shouldBe("-2.8421709430404007e-13 >> 0", "0");
764 shouldBe("2.8421709430404007e-13 >>> 0", "0");
765 shouldBe("-2.8421709430404007e-13 >>> 0", "0");
766 shouldBe("5.684341886080801e-13 >> 0", "0");
767 shouldBe("-5.684341886080801e-13 >> 0", "0");
768 shouldBe("5.684341886080801e-13 >>> 0", "0");
769 shouldBe("-5.684341886080801e-13 >>> 0", "0");
770 shouldBe("1.1368683772161603e-12 >> 0", "0");
771 shouldBe("-1.1368683772161603e-12 >> 0", "0");
772 shouldBe("1.1368683772161603e-12 >>> 0", "0");
773 shouldBe("-1.1368683772161603e-12 >>> 0", "0");
774 shouldBe("2.2737367544323206e-12 >> 0", "0");
775 shouldBe("-2.2737367544323206e-12 >> 0", "0");
776 shouldBe("2.2737367544323206e-12 >>> 0", "0");
777 shouldBe("-2.2737367544323206e-12 >>> 0", "0");
778 shouldBe("4.547473508864641e-12 >> 0", "0");
779 shouldBe("-4.547473508864641e-12 >> 0", "0");
780 shouldBe("4.547473508864641e-12 >>> 0", "0");
781 shouldBe("-4.547473508864641e-12 >>> 0", "0");
782 shouldBe("9.094947017729282e-12 >> 0", "0");
783 shouldBe("-9.094947017729282e-12 >> 0", "0");
784 shouldBe("9.094947017729282e-12 >>> 0", "0");
785 shouldBe("-9.094947017729282e-12 >>> 0", "0");
786 shouldBe("1.8189894035458565e-11 >> 0", "0");
787 shouldBe("-1.8189894035458565e-11 >> 0", "0");
788 shouldBe("1.8189894035458565e-11 >>> 0", "0");
789 shouldBe("-1.8189894035458565e-11 >>> 0", "0");
790 shouldBe("3.637978807091713e-11 >> 0", "0");
791 shouldBe("-3.637978807091713e-11 >> 0", "0");
792 shouldBe("3.637978807091713e-11 >>> 0", "0");
793 shouldBe("-3.637978807091713e-11 >>> 0", "0");
794 shouldBe("7.275957614183426e-11 >> 0", "0");
795 shouldBe("-7.275957614183426e-11 >> 0", "0");
796 shouldBe("7.275957614183426e-11 >>> 0", "0");
797 shouldBe("-7.275957614183426e-11 >>> 0", "0");
798 shouldBe("1.4551915228366852e-10 >> 0", "0");
799 shouldBe("-1.4551915228366852e-10 >> 0", "0");
800 shouldBe("1.4551915228366852e-10 >>> 0", "0");
801 shouldBe("-1.4551915228366852e-10 >>> 0", "0");
802 shouldBe("2.9103830456733704e-10 >> 0", "0");
803 shouldBe("-2.9103830456733704e-10 >> 0", "0");
804 shouldBe("2.9103830456733704e-10 >>> 0", "0");
805 shouldBe("-2.9103830456733704e-10 >>> 0", "0");
806 shouldBe("5.820766091346741e-10 >> 0", "0");
807 shouldBe("-5.820766091346741e-10 >> 0", "0");
808 shouldBe("5.820766091346741e-10 >>> 0", "0");
809 shouldBe("-5.820766091346741e-10 >>> 0", "0");
810 shouldBe("1.1641532182693481e-9 >> 0", "0");
811 shouldBe("-1.1641532182693481e-9 >> 0", "0");
812 shouldBe("1.1641532182693481e-9 >>> 0", "0");
813 shouldBe("-1.1641532182693481e-9 >>> 0", "0");
814 shouldBe("2.3283064365386963e-9 >> 0", "0");
815 shouldBe("-2.3283064365386963e-9 >> 0", "0");
816 shouldBe("2.3283064365386963e-9 >>> 0", "0");
817 shouldBe("-2.3283064365386963e-9 >>> 0", "0");
818 shouldBe("4.6566128730773926e-9 >> 0", "0");
819 shouldBe("-4.6566128730773926e-9 >> 0", "0");
820 shouldBe("4.6566128730773926e-9 >>> 0", "0");
821 shouldBe("-4.6566128730773926e-9 >>> 0", "0");
822 shouldBe("9.313225746154785e-9 >> 0", "0");
823 shouldBe("-9.313225746154785e-9 >> 0", "0");
824 shouldBe("9.313225746154785e-9 >>> 0", "0");
825 shouldBe("-9.313225746154785e-9 >>> 0", "0");
826 shouldBe("1.862645149230957e-8 >> 0", "0");
827 shouldBe("-1.862645149230957e-8 >> 0", "0");
828 shouldBe("1.862645149230957e-8 >>> 0", "0");
829 shouldBe("-1.862645149230957e-8 >>> 0", "0");
830 shouldBe("3.725290298461914e-8 >> 0", "0");
831 shouldBe("-3.725290298461914e-8 >> 0", "0");
832 shouldBe("3.725290298461914e-8 >>> 0", "0");
833 shouldBe("-3.725290298461914e-8 >>> 0", "0");
834 shouldBe("7.450580596923828e-8 >> 0", "0");
835 shouldBe("-7.450580596923828e-8 >> 0", "0");
836 shouldBe("7.450580596923828e-8 >>> 0", "0");
837 shouldBe("-7.450580596923828e-8 >>> 0", "0");
838 shouldBe("1.4901161193847656e-7 >> 0", "0");
839 shouldBe("-1.4901161193847656e-7 >> 0", "0");
840 shouldBe("1.4901161193847656e-7 >>> 0", "0");
841 shouldBe("-1.4901161193847656e-7 >>> 0", "0");
842 shouldBe("2.980232238769531e-7 >> 0", "0");
843 shouldBe("-2.980232238769531e-7 >> 0", "0");
844 shouldBe("2.980232238769531e-7 >>> 0", "0");
845 shouldBe("-2.980232238769531e-7 >>> 0", "0");
846 shouldBe("5.960464477539063e-7 >> 0", "0");
847 shouldBe("-5.960464477539063e-7 >> 0", "0");
848 shouldBe("5.960464477539063e-7 >>> 0", "0");
849 shouldBe("-5.960464477539063e-7 >>> 0", "0");
850 shouldBe("0.0000011920928955078125 >> 0", "0");
851 shouldBe("-0.0000011920928955078125 >> 0", "0");
852 shouldBe("0.0000011920928955078125 >>> 0", "0");
853 shouldBe("-0.0000011920928955078125 >>> 0", "0");
854 shouldBe("0.000002384185791015625 >> 0", "0");
855 shouldBe("-0.000002384185791015625 >> 0", "0");
856 shouldBe("0.000002384185791015625 >>> 0", "0");
857 shouldBe("-0.000002384185791015625 >>> 0", "0");
858 shouldBe("0.00000476837158203125 >> 0", "0");
859 shouldBe("-0.00000476837158203125 >> 0", "0");
860 shouldBe("0.00000476837158203125 >>> 0", "0");
861 shouldBe("-0.00000476837158203125 >>> 0", "0");
862 shouldBe("0.0000095367431640625 >> 0", "0");
863 shouldBe("-0.0000095367431640625 >> 0", "0");
864 shouldBe("0.0000095367431640625 >>> 0", "0");
865 shouldBe("-0.0000095367431640625 >>> 0", "0");
866 shouldBe("0.000019073486328125 >> 0", "0");
867 shouldBe("-0.000019073486328125 >> 0", "0");
868 shouldBe("0.000019073486328125 >>> 0", "0");
869 shouldBe("-0.000019073486328125 >>> 0", "0");
870 shouldBe("0.00003814697265625 >> 0", "0");
871 shouldBe("-0.00003814697265625 >> 0", "0");
872 shouldBe("0.00003814697265625 >>> 0", "0");
873 shouldBe("-0.00003814697265625 >>> 0", "0");
874 shouldBe("0.0000762939453125 >> 0", "0");
875 shouldBe("-0.0000762939453125 >> 0", "0");
876 shouldBe("0.0000762939453125 >>> 0", "0");
877 shouldBe("-0.0000762939453125 >>> 0", "0");
878 shouldBe("0.000152587890625 >> 0", "0");
879 shouldBe("-0.000152587890625 >> 0", "0");
880 shouldBe("0.000152587890625 >>> 0", "0");
881 shouldBe("-0.000152587890625 >>> 0", "0");
882 shouldBe("0.00030517578125 >> 0", "0");
883 shouldBe("-0.00030517578125 >> 0", "0");
884 shouldBe("0.00030517578125 >>> 0", "0");
885 shouldBe("-0.00030517578125 >>> 0", "0");
886 shouldBe("0.0006103515625 >> 0", "0");
887 shouldBe("-0.0006103515625 >> 0", "0");
888 shouldBe("0.0006103515625 >>> 0", "0");
889 shouldBe("-0.0006103515625 >>> 0", "0");
890 shouldBe("0.001220703125 >> 0", "0");
891 shouldBe("-0.001220703125 >> 0", "0");
892 shouldBe("0.001220703125 >>> 0", "0");
893 shouldBe("-0.001220703125 >>> 0", "0");
894 shouldBe("0.00244140625 >> 0", "0");
895 shouldBe("-0.00244140625 >> 0", "0");
896 shouldBe("0.00244140625 >>> 0", "0");
897 shouldBe("-0.00244140625 >>> 0", "0");
898 shouldBe("0.0048828125 >> 0", "0");
899 shouldBe("-0.0048828125 >> 0", "0");
900 shouldBe("0.0048828125 >>> 0", "0");
901 shouldBe("-0.0048828125 >>> 0", "0");
902 shouldBe("0.009765625 >> 0", "0");
903 shouldBe("-0.009765625 >> 0", "0");
904 shouldBe("0.009765625 >>> 0", "0");
905 shouldBe("-0.009765625 >>> 0", "0");
906 shouldBe("0.01953125 >> 0", "0");
907 shouldBe("-0.01953125 >> 0", "0");
908 shouldBe("0.01953125 >>> 0", "0");
909 shouldBe("-0.01953125 >>> 0", "0");
910 shouldBe("0.0390625 >> 0", "0");
911 shouldBe("-0.0390625 >> 0", "0");
912 shouldBe("0.0390625 >>> 0", "0");
913 shouldBe("-0.0390625 >>> 0", "0");
914 shouldBe("0.078125 >> 0", "0");
915 shouldBe("-0.078125 >> 0", "0");
916 shouldBe("0.078125 >>> 0", "0");
917 shouldBe("-0.078125 >>> 0", "0");
918 shouldBe("0.15625 >> 0", "0");
919 shouldBe("-0.15625 >> 0", "0");
920 shouldBe("0.15625 >>> 0", "0");
921 shouldBe("-0.15625 >>> 0", "0");
922 shouldBe("0.3125 >> 0", "0");
923 shouldBe("-0.3125 >> 0", "0");
924 shouldBe("0.3125 >>> 0", "0");
925 shouldBe("-0.3125 >>> 0", "0");
926 shouldBe("0.625 >> 0", "0");
927 shouldBe("-0.625 >> 0", "0");
928 shouldBe("0.625 >>> 0", "0");
929 shouldBe("-0.625 >>> 0", "0");
930 shouldBe("1.25 >> 0", "1");
931 shouldBe("-1.25 >> 0", "-1");
932 shouldBe("1.25 >>> 0", "1");
933 shouldBe("-1.25 >>> 0", "4294967295");
934 shouldBe("2.5 >> 0", "2");
935 shouldBe("-2.5 >> 0", "-2");
936 shouldBe("2.5 >>> 0", "2");
937 shouldBe("-2.5 >>> 0", "4294967294");
938 shouldBe("5 >> 0", "5");
939 shouldBe("-5 >> 0", "-5");
940 shouldBe("5 >>> 0", "5");
941 shouldBe("-5 >>> 0", "4294967291");
942 shouldBe("10 >> 0", "10");
943 shouldBe("-10 >> 0", "-10");
944 shouldBe("10 >>> 0", "10");
945 shouldBe("-10 >>> 0", "4294967286");
946 shouldBe("20 >> 0", "20");
947 shouldBe("-20 >> 0", "-20");
948 shouldBe("20 >>> 0", "20");
949 shouldBe("-20 >>> 0", "4294967276");
950 shouldBe("40 >> 0", "40");
951 shouldBe("-40 >> 0", "-40");
952 shouldBe("40 >>> 0", "40");
953 shouldBe("-40 >>> 0", "4294967256");
954 shouldBe("80 >> 0", "80");
955 shouldBe("-80 >> 0", "-80");
956 shouldBe("80 >>> 0", "80");
957 shouldBe("-80 >>> 0", "4294967216");
958 shouldBe("160 >> 0", "160");
959 shouldBe("-160 >> 0", "-160");
960 shouldBe("160 >>> 0", "160");
961 shouldBe("-160 >>> 0", "4294967136");
962 shouldBe("320 >> 0", "320");
963 shouldBe("-320 >> 0", "-320");
964 shouldBe("320 >>> 0", "320");
965 shouldBe("-320 >>> 0", "4294966976");
966 shouldBe("640 >> 0", "640");
967 shouldBe("-640 >> 0", "-640");
968 shouldBe("640 >>> 0", "640");
969 shouldBe("-640 >>> 0", "4294966656");
970 shouldBe("1280 >> 0", "1280");
971 shouldBe("-1280 >> 0", "-1280");
972 shouldBe("1280 >>> 0", "1280");
973 shouldBe("-1280 >>> 0", "4294966016");
974 shouldBe("2560 >> 0", "2560");
975 shouldBe("-2560 >> 0", "-2560");
976 shouldBe("2560 >>> 0", "2560");
977 shouldBe("-2560 >>> 0", "4294964736");
978 shouldBe("5120 >> 0", "5120");
979 shouldBe("-5120 >> 0", "-5120");
980 shouldBe("5120 >>> 0", "5120");
981 shouldBe("-5120 >>> 0", "4294962176");
982 shouldBe("10240 >> 0", "10240");
983 shouldBe("-10240 >> 0", "-10240");
984 shouldBe("10240 >>> 0", "10240");
985 shouldBe("-10240 >>> 0", "4294957056");
986 shouldBe("20480 >> 0", "20480");
987 shouldBe("-20480 >> 0", "-20480");
988 shouldBe("20480 >>> 0", "20480");
989 shouldBe("-20480 >>> 0", "4294946816");
990 shouldBe("40960 >> 0", "40960");
991 shouldBe("-40960 >> 0", "-40960");
992 shouldBe("40960 >>> 0", "40960");
993 shouldBe("-40960 >>> 0", "4294926336");
994 shouldBe("81920 >> 0", "81920");
995 shouldBe("-81920 >> 0", "-81920");
996 shouldBe("81920 >>> 0", "81920");
997 shouldBe("-81920 >>> 0", "4294885376");
998 shouldBe("163840 >> 0", "163840");
999 shouldBe("-163840 >> 0", "-163840");
1000 shouldBe("163840 >>> 0", "163840");
1001 shouldBe("-163840 >>> 0", "4294803456");
1002 shouldBe("327680 >> 0", "327680");
1003 shouldBe("-327680 >> 0", "-327680");
1004 shouldBe("327680 >>> 0", "327680");
1005 shouldBe("-327680 >>> 0", "4294639616");
1006 shouldBe("655360 >> 0", "655360");
1007 shouldBe("-655360 >> 0", "-655360");
1008 shouldBe("655360 >>> 0", "655360");
1009 shouldBe("-655360 >>> 0", "4294311936");
1010 shouldBe("1310720 >> 0", "1310720");
1011 shouldBe("-1310720 >> 0", "-1310720");
1012 shouldBe("1310720 >>> 0", "1310720");
1013 shouldBe("-1310720 >>> 0", "4293656576");
1014 shouldBe("2621440 >> 0", "2621440");
1015 shouldBe("-2621440 >> 0", "-2621440");
1016 shouldBe("2621440 >>> 0", "2621440");
1017 shouldBe("-2621440 >>> 0", "4292345856");
1018 shouldBe("5242880 >> 0", "5242880");
1019 shouldBe("-5242880 >> 0", "-5242880");
1020 shouldBe("5242880 >>> 0", "5242880");
1021 shouldBe("-5242880 >>> 0", "4289724416");
1022 shouldBe("10485760 >> 0", "10485760");
1023 shouldBe("-10485760 >> 0", "-10485760");
1024 shouldBe("10485760 >>> 0", "10485760");
1025 shouldBe("-10485760 >>> 0", "4284481536");
1026 shouldBe("20971520 >> 0", "20971520");
1027 shouldBe("-20971520 >> 0", "-20971520");
1028 shouldBe("20971520 >>> 0", "20971520");
1029 shouldBe("-20971520 >>> 0", "4273995776");
1030 shouldBe("41943040 >> 0", "41943040");
1031 shouldBe("-41943040 >> 0", "-41943040");
1032 shouldBe("41943040 >>> 0", "41943040");
1033 shouldBe("-41943040 >>> 0", "4253024256");
1034 shouldBe("83886080 >> 0", "83886080");
1035 shouldBe("-83886080 >> 0", "-83886080");
1036 shouldBe("83886080 >>> 0", "83886080");
1037 shouldBe("-83886080 >>> 0", "4211081216");
1038 shouldBe("167772160 >> 0", "167772160");
1039 shouldBe("-167772160 >> 0", "-167772160");
1040 shouldBe("167772160 >>> 0", "167772160");
1041 shouldBe("-167772160 >>> 0", "4127195136");
1042 shouldBe("335544320 >> 0", "335544320");
1043 shouldBe("-335544320 >> 0", "-335544320");
1044 shouldBe("335544320 >>> 0", "335544320");
1045 shouldBe("-335544320 >>> 0", "3959422976");
1046 shouldBe("671088640 >> 0", "671088640");
1047 shouldBe("-671088640 >> 0", "-671088640");
1048 shouldBe("671088640 >>> 0", "671088640");
1049 shouldBe("-671088640 >>> 0", "3623878656");
1050 shouldBe("1342177280 >> 0", "1342177280");
1051 shouldBe("-1342177280 >> 0", "-1342177280");
1052 shouldBe("1342177280 >>> 0", "1342177280");
1053 shouldBe("-1342177280 >>> 0", "2952790016");
1054 shouldBe("2684354560 >> 0", "-1610612736");
1055 shouldBe("-2684354560 >> 0", "1610612736");
1056 shouldBe("2684354560 >>> 0", "2684354560");
1057 shouldBe("-2684354560 >>> 0", "1610612736");
1058 shouldBe("5368709120 >> 0", "1073741824");
1059 shouldBe("-5368709120 >> 0", "-1073741824");
1060 shouldBe("5368709120 >>> 0", "1073741824");
1061 shouldBe("-5368709120 >>> 0", "3221225472");
1062 shouldBe("10737418240 >> 0", "-2147483648");
1063 shouldBe("-10737418240 >> 0", "-2147483648");
1064 shouldBe("10737418240 >>> 0", "2147483648");
1065 shouldBe("-10737418240 >>> 0", "2147483648");
1066 shouldBe("21474836480 >> 0", "0");
1067 shouldBe("-21474836480 >> 0", "0");
1068 shouldBe("21474836480 >>> 0", "0");
1069 shouldBe("-21474836480 >>> 0", "0");
1070 shouldBe("2.980232241545089e-8 >> 0", "0");
1071 shouldBe("-2.980232241545089e-8 >> 0", "0");
1072 shouldBe("2.980232241545089e-8 >>> 0", "0");
1073 shouldBe("-2.980232241545089e-8 >>> 0", "0");
1074 shouldBe("5.960464483090178e-8 >> 0", "0");
1075 shouldBe("-5.960464483090178e-8 >> 0", "0");
1076 shouldBe("5.960464483090178e-8 >>> 0", "0");
1077 shouldBe("-5.960464483090178e-8 >>> 0", "0");
1078 shouldBe("1.1920928966180355e-7 >> 0", "0");
1079 shouldBe("-1.1920928966180355e-7 >> 0", "0");
1080 shouldBe("1.1920928966180355e-7 >>> 0", "0");
1081 shouldBe("-1.1920928966180355e-7 >>> 0", "0");
1082 shouldBe("2.384185793236071e-7 >> 0", "0");
1083 shouldBe("-2.384185793236071e-7 >> 0", "0");
1084 shouldBe("2.384185793236071e-7 >>> 0", "0");
1085 shouldBe("-2.384185793236071e-7 >>> 0", "0");
1086 shouldBe("4.768371586472142e-7 >> 0", "0");
1087 shouldBe("-4.768371586472142e-7 >> 0", "0");
1088 shouldBe("4.768371586472142e-7 >>> 0", "0");
1089 shouldBe("-4.768371586472142e-7 >>> 0", "0");
1090 shouldBe("9.536743172944284e-7 >> 0", "0");
1091 shouldBe("-9.536743172944284e-7 >> 0", "0");
1092 shouldBe("9.536743172944284e-7 >>> 0", "0");
1093 shouldBe("-9.536743172944284e-7 >>> 0", "0");
1094 shouldBe("0.000001907348634588857 >> 0", "0");
1095 shouldBe("-0.000001907348634588857 >> 0", "0");
1096 shouldBe("0.000001907348634588857 >>> 0", "0");
1097 shouldBe("-0.000001907348634588857 >>> 0", "0");
1098 shouldBe("0.000003814697269177714 >> 0", "0");
1099 shouldBe("-0.000003814697269177714 >> 0", "0");
1100 shouldBe("0.000003814697269177714 >>> 0", "0");
1101 shouldBe("-0.000003814697269177714 >>> 0", "0");
1102 shouldBe("0.000007629394538355427 >> 0", "0");
1103 shouldBe("-0.000007629394538355427 >> 0", "0");
1104 shouldBe("0.000007629394538355427 >>> 0", "0");
1105 shouldBe("-0.000007629394538355427 >>> 0", "0");
1106 shouldBe("0.000015258789076710855 >> 0", "0");
1107 shouldBe("-0.000015258789076710855 >> 0", "0");
1108 shouldBe("0.000015258789076710855 >>> 0", "0");
1109 shouldBe("-0.000015258789076710855 >>> 0", "0");
1110 shouldBe("0.00003051757815342171 >> 0", "0");
1111 shouldBe("-0.00003051757815342171 >> 0", "0");
1112 shouldBe("0.00003051757815342171 >>> 0", "0");
1113 shouldBe("-0.00003051757815342171 >>> 0", "0");
1114 shouldBe("0.00006103515630684342 >> 0", "0");
1115 shouldBe("-0.00006103515630684342 >> 0", "0");
1116 shouldBe("0.00006103515630684342 >>> 0", "0");
1117 shouldBe("-0.00006103515630684342 >>> 0", "0");
1118 shouldBe("0.00012207031261368684 >> 0", "0");
1119 shouldBe("-0.00012207031261368684 >> 0", "0");
1120 shouldBe("0.00012207031261368684 >>> 0", "0");
1121 shouldBe("-0.00012207031261368684 >>> 0", "0");
1122 shouldBe("0.0002441406252273737 >> 0", "0");
1123 shouldBe("-0.0002441406252273737 >> 0", "0");
1124 shouldBe("0.0002441406252273737 >>> 0", "0");
1125 shouldBe("-0.0002441406252273737 >>> 0", "0");
1126 shouldBe("0.0004882812504547474 >> 0", "0");
1127 shouldBe("-0.0004882812504547474 >> 0", "0");
1128 shouldBe("0.0004882812504547474 >>> 0", "0");
1129 shouldBe("-0.0004882812504547474 >>> 0", "0");
1130 shouldBe("0.0009765625009094947 >> 0", "0");
1131 shouldBe("-0.0009765625009094947 >> 0", "0");
1132 shouldBe("0.0009765625009094947 >>> 0", "0");
1133 shouldBe("-0.0009765625009094947 >>> 0", "0");
1134 shouldBe("0.0019531250018189894 >> 0", "0");
1135 shouldBe("-0.0019531250018189894 >> 0", "0");
1136 shouldBe("0.0019531250018189894 >>> 0", "0");
1137 shouldBe("-0.0019531250018189894 >>> 0", "0");
1138 shouldBe("0.003906250003637979 >> 0", "0");
1139 shouldBe("-0.003906250003637979 >> 0", "0");
1140 shouldBe("0.003906250003637979 >>> 0", "0");
1141 shouldBe("-0.003906250003637979 >>> 0", "0");
1142 shouldBe("0.007812500007275958 >> 0", "0");
1143 shouldBe("-0.007812500007275958 >> 0", "0");
1144 shouldBe("0.007812500007275958 >>> 0", "0");
1145 shouldBe("-0.007812500007275958 >>> 0", "0");
1146 shouldBe("0.015625000014551915 >> 0", "0");
1147 shouldBe("-0.015625000014551915 >> 0", "0");
1148 shouldBe("0.015625000014551915 >>> 0", "0");
1149 shouldBe("-0.015625000014551915 >>> 0", "0");
1150 shouldBe("0.03125000002910383 >> 0", "0");
1151 shouldBe("-0.03125000002910383 >> 0", "0");
1152 shouldBe("0.03125000002910383 >>> 0", "0");
1153 shouldBe("-0.03125000002910383 >>> 0", "0");
1154 shouldBe("0.06250000005820766 >> 0", "0");
1155 shouldBe("-0.06250000005820766 >> 0", "0");
1156 shouldBe("0.06250000005820766 >>> 0", "0");
1157 shouldBe("-0.06250000005820766 >>> 0", "0");
1158 shouldBe("0.12500000011641532 >> 0", "0");
1159 shouldBe("-0.12500000011641532 >> 0", "0");
1160 shouldBe("0.12500000011641532 >>> 0", "0");
1161 shouldBe("-0.12500000011641532 >>> 0", "0");
1162 shouldBe("0.25000000023283064 >> 0", "0");
1163 shouldBe("-0.25000000023283064 >> 0", "0");
1164 shouldBe("0.25000000023283064 >>> 0", "0");
1165 shouldBe("-0.25000000023283064 >>> 0", "0");
1166 shouldBe("0.5000000004656613 >> 0", "0");
1167 shouldBe("-0.5000000004656613 >> 0", "0");
1168 shouldBe("0.5000000004656613 >>> 0", "0");
1169 shouldBe("-0.5000000004656613 >>> 0", "0");
1170 shouldBe("1.0000000009313226 >> 0", "1");
1171 shouldBe("-1.0000000009313226 >> 0", "-1");
1172 shouldBe("1.0000000009313226 >>> 0", "1");
1173 shouldBe("-1.0000000009313226 >>> 0", "4294967295");
1174 shouldBe("2.000000001862645 >> 0", "2");
1175 shouldBe("-2.000000001862645 >> 0", "-2");
1176 shouldBe("2.000000001862645 >>> 0", "2");
1177 shouldBe("-2.000000001862645 >>> 0", "4294967294");
1178 shouldBe("4.00000000372529 >> 0", "4");
1179 shouldBe("-4.00000000372529 >> 0", "-4");
1180 shouldBe("4.00000000372529 >>> 0", "4");
1181 shouldBe("-4.00000000372529 >>> 0", "4294967292");
1182 shouldBe("8.00000000745058 >> 0", "8");
1183 shouldBe("-8.00000000745058 >> 0", "-8");
1184 shouldBe("8.00000000745058 >>> 0", "8");
1185 shouldBe("-8.00000000745058 >>> 0", "4294967288");
1186 shouldBe("16.00000001490116 >> 0", "16");
1187 shouldBe("-16.00000001490116 >> 0", "-16");
1188 shouldBe("16.00000001490116 >>> 0", "16");
1189 shouldBe("-16.00000001490116 >>> 0", "4294967280");
1190 shouldBe("32.00000002980232 >> 0", "32");
1191 shouldBe("-32.00000002980232 >> 0", "-32");
1192 shouldBe("32.00000002980232 >>> 0", "32");
1193 shouldBe("-32.00000002980232 >>> 0", "4294967264");
1194 shouldBe("64.00000005960464 >> 0", "64");
1195 shouldBe("-64.00000005960464 >> 0", "-64");
1196 shouldBe("64.00000005960464 >>> 0", "64");
1197 shouldBe("-64.00000005960464 >>> 0", "4294967232");
1198 shouldBe("128.0000001192093 >> 0", "128");
1199 shouldBe("-128.0000001192093 >> 0", "-128");
1200 shouldBe("128.0000001192093 >>> 0", "128");
1201 shouldBe("-128.0000001192093 >>> 0", "4294967168");
1202 shouldBe("256.0000002384186 >> 0", "256");
1203 shouldBe("-256.0000002384186 >> 0", "-256");
1204 shouldBe("256.0000002384186 >>> 0", "256");
1205 shouldBe("-256.0000002384186 >>> 0", "4294967040");
1206 shouldBe("512.0000004768372 >> 0", "512");
1207 shouldBe("-512.0000004768372 >> 0", "-512");
1208 shouldBe("512.0000004768372 >>> 0", "512");
1209 shouldBe("-512.0000004768372 >>> 0", "4294966784");
1210 shouldBe("1024.0000009536743 >> 0", "1024");
1211 shouldBe("-1024.0000009536743 >> 0", "-1024");
1212 shouldBe("1024.0000009536743 >>> 0", "1024");
1213 shouldBe("-1024.0000009536743 >>> 0", "4294966272");
1214 shouldBe("2048.0000019073486 >> 0", "2048");
1215 shouldBe("-2048.0000019073486 >> 0", "-2048");
1216 shouldBe("2048.0000019073486 >>> 0", "2048");
1217 shouldBe("-2048.0000019073486 >>> 0", "4294965248");
1218 shouldBe("4096.000003814697 >> 0", "4096");
1219 shouldBe("-4096.000003814697 >> 0", "-4096");
1220 shouldBe("4096.000003814697 >>> 0", "4096");
1221 shouldBe("-4096.000003814697 >>> 0", "4294963200");
1222 shouldBe("8192.000007629395 >> 0", "8192");
1223 shouldBe("-8192.000007629395 >> 0", "-8192");
1224 shouldBe("8192.000007629395 >>> 0", "8192");
1225 shouldBe("-8192.000007629395 >>> 0", "4294959104");
1226 shouldBe("16384.00001525879 >> 0", "16384");
1227 shouldBe("-16384.00001525879 >> 0", "-16384");
1228 shouldBe("16384.00001525879 >>> 0", "16384");
1229 shouldBe("-16384.00001525879 >>> 0", "4294950912");
1230 shouldBe("32768.00003051758 >> 0", "32768");
1231 shouldBe("-32768.00003051758 >> 0", "-32768");
1232 shouldBe("32768.00003051758 >>> 0", "32768");
1233 shouldBe("-32768.00003051758 >>> 0", "4294934528");
1234 shouldBe("65536.00006103516 >> 0", "65536");
1235 shouldBe("-65536.00006103516 >> 0", "-65536");
1236 shouldBe("65536.00006103516 >>> 0", "65536");
1237 shouldBe("-65536.00006103516 >>> 0", "4294901760");
1238 shouldBe("131072.0001220703 >> 0", "131072");
1239 shouldBe("-131072.0001220703 >> 0", "-131072");
1240 shouldBe("131072.0001220703 >>> 0", "131072");
1241 shouldBe("-131072.0001220703 >>> 0", "4294836224");
1242 shouldBe("262144.0002441406 >> 0", "262144");
1243 shouldBe("-262144.0002441406 >> 0", "-262144");
1244 shouldBe("262144.0002441406 >>> 0", "262144");
1245 shouldBe("-262144.0002441406 >>> 0", "4294705152");
1246 shouldBe("524288.0004882813 >> 0", "524288");
1247 shouldBe("-524288.0004882813 >> 0", "-524288");
1248 shouldBe("524288.0004882813 >>> 0", "524288");
1249 shouldBe("-524288.0004882813 >>> 0", "4294443008");
1250 shouldBe("1048576.0009765625 >> 0", "1048576");
1251 shouldBe("-1048576.0009765625 >> 0", "-1048576");
1252 shouldBe("1048576.0009765625 >>> 0", "1048576");
1253 shouldBe("-1048576.0009765625 >>> 0", "4293918720");
1254 shouldBe("2097152.001953125 >> 0", "2097152");
1255 shouldBe("-2097152.001953125 >> 0", "-2097152");
1256 shouldBe("2097152.001953125 >>> 0", "2097152");
1257 shouldBe("-2097152.001953125 >>> 0", "4292870144");
1258 shouldBe("4194304.00390625 >> 0", "4194304");
1259 shouldBe("-4194304.00390625 >> 0", "-4194304");
1260 shouldBe("4194304.00390625 >>> 0", "4194304");
1261 shouldBe("-4194304.00390625 >>> 0", "4290772992");
1262 shouldBe("8388608.0078125 >> 0", "8388608");
1263 shouldBe("-8388608.0078125 >> 0", "-8388608");
1264 shouldBe("8388608.0078125 >>> 0", "8388608");
1265 shouldBe("-8388608.0078125 >>> 0", "4286578688");
1266 shouldBe("16777216.015625 >> 0", "16777216");
1267 shouldBe("-16777216.015625 >> 0", "-16777216");
1268 shouldBe("16777216.015625 >>> 0", "16777216");
1269 shouldBe("-16777216.015625 >>> 0", "4278190080");
1270 shouldBe("33554432.03125 >> 0", "33554432");
1271 shouldBe("-33554432.03125 >> 0", "-33554432");
1272 shouldBe("33554432.03125 >>> 0", "33554432");
1273 shouldBe("-33554432.03125 >>> 0", "4261412864");
1274 shouldBe("67108864.0625 >> 0", "67108864");
1275 shouldBe("-67108864.0625 >> 0", "-67108864");
1276 shouldBe("67108864.0625 >>> 0", "67108864");
1277 shouldBe("-67108864.0625 >>> 0", "4227858432");
1278 shouldBe("134217728.125 >> 0", "134217728");
1279 shouldBe("-134217728.125 >> 0", "-134217728");
1280 shouldBe("134217728.125 >>> 0", "134217728");
1281 shouldBe("-134217728.125 >>> 0", "4160749568");
1282 shouldBe("268435456.25 >> 0", "268435456");
1283 shouldBe("-268435456.25 >> 0", "-268435456");
1284 shouldBe("268435456.25 >>> 0", "268435456");
1285 shouldBe("-268435456.25 >>> 0", "4026531840");
1286 shouldBe("536870912.5 >> 0", "536870912");
1287 shouldBe("-536870912.5 >> 0", "-536870912");
1288 shouldBe("536870912.5 >>> 0", "536870912");
1289 shouldBe("-536870912.5 >>> 0", "3758096384");
1290 shouldBe("1073741825 >> 0", "1073741825");
1291 shouldBe("-1073741825 >> 0", "-1073741825");
1292 shouldBe("1073741825 >>> 0", "1073741825");
1293 shouldBe("-1073741825 >>> 0", "3221225471");
1294 shouldBe("2147483650 >> 0", "-2147483646");
1295 shouldBe("-2147483650 >> 0", "2147483646");
1296 shouldBe("2147483650 >>> 0", "2147483650");
1297 shouldBe("-2147483650 >>> 0", "2147483646");
1298 shouldBe("4294967300 >> 0", "4");
1299 shouldBe("-4294967300 >> 0", "-4");
1300 shouldBe("4294967300 >>> 0", "4");
1301 shouldBe("-4294967300 >>> 0", "4294967292");
1302 shouldBe("8589934600 >> 0", "8");
1303 shouldBe("-8589934600 >> 0", "-8");
1304 shouldBe("8589934600 >>> 0", "8");
1305 shouldBe("-8589934600 >>> 0", "4294967288");
1306 shouldBe("17179869200 >> 0", "16");
1307 shouldBe("-17179869200 >> 0", "-16");
1308 shouldBe("17179869200 >>> 0", "16");
1309 shouldBe("-17179869200 >>> 0", "4294967280");
1310 shouldBe("34359738400 >> 0", "32");
1311 shouldBe("-34359738400 >> 0", "-32");
1312 shouldBe("34359738400 >>> 0", "32");
1313 shouldBe("-34359738400 >>> 0", "4294967264");
1314 shouldBe("68719476800 >> 0", "64");
1315 shouldBe("-68719476800 >> 0", "-64");
1316 shouldBe("68719476800 >>> 0", "64");
1317 shouldBe("-68719476800 >>> 0", "4294967232");
1318 shouldBe("137438953600 >> 0", "128");
1319 shouldBe("-137438953600 >> 0", "-128");
1320 shouldBe("137438953600 >>> 0", "128");
1321 shouldBe("-137438953600 >>> 0", "4294967168");
1322 shouldBe("274877907200 >> 0", "256");
1323 shouldBe("-274877907200 >> 0", "-256");
1324 shouldBe("274877907200 >>> 0", "256");
1325 shouldBe("-274877907200 >>> 0", "4294967040");
1326 shouldBe("549755814400 >> 0", "512");
1327 shouldBe("-549755814400 >> 0", "-512");
1328 shouldBe("549755814400 >>> 0", "512");
1329 shouldBe("-549755814400 >>> 0", "4294966784");
1330 shouldBe("1099511628800 >> 0", "1024");
1331 shouldBe("-1099511628800 >> 0", "-1024");
1332 shouldBe("1099511628800 >>> 0", "1024");
1333 shouldBe("-1099511628800 >>> 0", "4294966272");
1334 shouldBe("2199023257600 >> 0", "2048");
1335 shouldBe("-2199023257600 >> 0", "-2048");
1336 shouldBe("2199023257600 >>> 0", "2048");
1337 shouldBe("-2199023257600 >>> 0", "4294965248");
1338 shouldBe("4398046515200 >> 0", "4096");
1339 shouldBe("-4398046515200 >> 0", "-4096");
1340 shouldBe("4398046515200 >>> 0", "4096");
1341 shouldBe("-4398046515200 >>> 0", "4294963200");
1342 shouldBe("8796093030400 >> 0", "8192");
1343 shouldBe("-8796093030400 >> 0", "-8192");
1344 shouldBe("8796093030400 >>> 0", "8192");
1345 shouldBe("-8796093030400 >>> 0", "4294959104");
1346 shouldBe("17592186060800 >> 0", "16384");
1347 shouldBe("-17592186060800 >> 0", "-16384");
1348 shouldBe("17592186060800 >>> 0", "16384");
1349 shouldBe("-17592186060800 >>> 0", "4294950912");
1350 shouldBe("35184372121600 >> 0", "32768");
1351 shouldBe("-35184372121600 >> 0", "-32768");
1352 shouldBe("35184372121600 >>> 0", "32768");
1353 shouldBe("-35184372121600 >>> 0", "4294934528");
1354 shouldBe("70368744243200 >> 0", "65536");
1355 shouldBe("-70368744243200 >> 0", "-65536");
1356 shouldBe("70368744243200 >>> 0", "65536");
1357 shouldBe("-70368744243200 >>> 0", "4294901760");
1358 shouldBe("140737488486400 >> 0", "131072");
1359 shouldBe("-140737488486400 >> 0", "-131072");
1360 shouldBe("140737488486400 >>> 0", "131072");
1361 shouldBe("-140737488486400 >>> 0", "4294836224");
1362 shouldBe("281474976972800 >> 0", "262144");
1363 shouldBe("-281474976972800 >> 0", "-262144");
1364 shouldBe("281474976972800 >>> 0", "262144");
1365 shouldBe("-281474976972800 >>> 0", "4294705152");
1366 shouldBe("562949953945600 >> 0", "524288");
1367 shouldBe("-562949953945600 >> 0", "-524288");
1368 shouldBe("562949953945600 >>> 0", "524288");
1369 shouldBe("-562949953945600 >>> 0", "4294443008");
1370 shouldBe("1125899907891200 >> 0", "1048576");
1371 shouldBe("-1125899907891200 >> 0", "-1048576");
1372 shouldBe("1125899907891200 >>> 0", "1048576");
1373 shouldBe("-1125899907891200 >>> 0", "4293918720");
1374 shouldBe("2251799815782400 >> 0", "2097152");
1375 shouldBe("-2251799815782400 >> 0", "-2097152");
1376 shouldBe("2251799815782400 >>> 0", "2097152");
1377 shouldBe("-2251799815782400 >>> 0", "4292870144");
1378 shouldBe("4503599631564800 >> 0", "4194304");
1379 shouldBe("-4503599631564800 >> 0", "-4194304");
1380 shouldBe("4503599631564800 >>> 0", "4194304");
1381 shouldBe("-4503599631564800 >>> 0", "4290772992");
1382 shouldBe("9007199263129600 >> 0", "8388608");
1383 shouldBe("-9007199263129600 >> 0", "-8388608");
1384 shouldBe("9007199263129600 >>> 0", "8388608");
1385 shouldBe("-9007199263129600 >>> 0", "4286578688");
1386 shouldBe("18014398526259200 >> 0", "16777216");
1387 shouldBe("-18014398526259200 >> 0", "-16777216");
1388 shouldBe("18014398526259200 >>> 0", "16777216");
1389 shouldBe("-18014398526259200 >>> 0", "4278190080");
1390 shouldBe("36028797052518400 >> 0", "33554432");
1391 shouldBe("-36028797052518400 >> 0", "-33554432");
1392 shouldBe("36028797052518400 >>> 0", "33554432");
1393 shouldBe("-36028797052518400 >>> 0", "4261412864");
1394 shouldBe("72057594105036800 >> 0", "67108864");
1395 shouldBe("-72057594105036800 >> 0", "-67108864");
1396 shouldBe("72057594105036800 >>> 0", "67108864");
1397 shouldBe("-72057594105036800 >>> 0", "4227858432");
1398 shouldBe("144115188210073600 >> 0", "134217728");
1399 shouldBe("-144115188210073600 >> 0", "-134217728");
1400 shouldBe("144115188210073600 >>> 0", "134217728");
1401 shouldBe("-144115188210073600 >>> 0", "4160749568");
1402 shouldBe("288230376420147200 >> 0", "268435456");
1403 shouldBe("-288230376420147200 >> 0", "-268435456");
1404 shouldBe("288230376420147200 >>> 0", "268435456");
1405 shouldBe("-288230376420147200 >>> 0", "4026531840");
1406 shouldBe("576460752840294400 >> 0", "536870912");
1407 shouldBe("-576460752840294400 >> 0", "-536870912");
1408 shouldBe("576460752840294400 >>> 0", "536870912");
1409 shouldBe("-576460752840294400 >>> 0", "3758096384");
1410 shouldBe("1152921505680588800 >> 0", "1073741824");
1411 shouldBe("-1152921505680588800 >> 0", "-1073741824");
1412 shouldBe("1152921505680588800 >>> 0", "1073741824");
1413 shouldBe("-1152921505680588800 >>> 0", "3221225472");
1414 shouldBe("2305843011361177600 >> 0", "-2147483648");
1415 shouldBe("-2305843011361177600 >> 0", "-2147483648");
1416 shouldBe("2305843011361177600 >>> 0", "2147483648");
1417 shouldBe("-2305843011361177600 >>> 0", "2147483648");
1418 shouldBe("4611686022722355000 >> 0", "0");
1419 shouldBe("-4611686022722355000 >> 0", "0");
1420 shouldBe("4611686022722355000 >>> 0", "0");
1421 shouldBe("-4611686022722355000 >>> 0", "0");
1422 shouldBe("5.96046448031462e-8 >> 0", "0");
1423 shouldBe("-5.96046448031462e-8 >> 0", "0");
1424 shouldBe("5.96046448031462e-8 >>> 0", "0");
1425 shouldBe("-5.96046448031462e-8 >>> 0", "0");
1426 shouldBe("1.192092896062924e-7 >> 0", "0");
1427 shouldBe("-1.192092896062924e-7 >> 0", "0");
1428 shouldBe("1.192092896062924e-7 >>> 0", "0");
1429 shouldBe("-1.192092896062924e-7 >>> 0", "0");
1430 shouldBe("2.384185792125848e-7 >> 0", "0");
1431 shouldBe("-2.384185792125848e-7 >> 0", "0");
1432 shouldBe("2.384185792125848e-7 >>> 0", "0");
1433 shouldBe("-2.384185792125848e-7 >>> 0", "0");
1434 shouldBe("4.768371584251696e-7 >> 0", "0");
1435 shouldBe("-4.768371584251696e-7 >> 0", "0");
1436 shouldBe("4.768371584251696e-7 >>> 0", "0");
1437 shouldBe("-4.768371584251696e-7 >>> 0", "0");
1438 shouldBe("9.536743168503392e-7 >> 0", "0");
1439 shouldBe("-9.536743168503392e-7 >> 0", "0");
1440 shouldBe("9.536743168503392e-7 >>> 0", "0");
1441 shouldBe("-9.536743168503392e-7 >>> 0", "0");
1442 shouldBe("0.0000019073486337006784 >> 0", "0");
1443 shouldBe("-0.0000019073486337006784 >> 0", "0");
1444 shouldBe("0.0000019073486337006784 >>> 0", "0");
1445 shouldBe("-0.0000019073486337006784 >>> 0", "0");
1446 shouldBe("0.000003814697267401357 >> 0", "0");
1447 shouldBe("-0.000003814697267401357 >> 0", "0");
1448 shouldBe("0.000003814697267401357 >>> 0", "0");
1449 shouldBe("-0.000003814697267401357 >>> 0", "0");
1450 shouldBe("0.000007629394534802714 >> 0", "0");
1451 shouldBe("-0.000007629394534802714 >> 0", "0");
1452 shouldBe("0.000007629394534802714 >>> 0", "0");
1453 shouldBe("-0.000007629394534802714 >>> 0", "0");
1454 shouldBe("0.000015258789069605427 >> 0", "0");
1455 shouldBe("-0.000015258789069605427 >> 0", "0");
1456 shouldBe("0.000015258789069605427 >>> 0", "0");
1457 shouldBe("-0.000015258789069605427 >>> 0", "0");
1458 shouldBe("0.000030517578139210855 >> 0", "0");
1459 shouldBe("-0.000030517578139210855 >> 0", "0");
1460 shouldBe("0.000030517578139210855 >>> 0", "0");
1461 shouldBe("-0.000030517578139210855 >>> 0", "0");
1462 shouldBe("0.00006103515627842171 >> 0", "0");
1463 shouldBe("-0.00006103515627842171 >> 0", "0");
1464 shouldBe("0.00006103515627842171 >>> 0", "0");
1465 shouldBe("-0.00006103515627842171 >>> 0", "0");
1466 shouldBe("0.00012207031255684342 >> 0", "0");
1467 shouldBe("-0.00012207031255684342 >> 0", "0");
1468 shouldBe("0.00012207031255684342 >>> 0", "0");
1469 shouldBe("-0.00012207031255684342 >>> 0", "0");
1470 shouldBe("0.00024414062511368684 >> 0", "0");
1471 shouldBe("-0.00024414062511368684 >> 0", "0");
1472 shouldBe("0.00024414062511368684 >>> 0", "0");
1473 shouldBe("-0.00024414062511368684 >>> 0", "0");
1474 shouldBe("0.0004882812502273737 >> 0", "0");
1475 shouldBe("-0.0004882812502273737 >> 0", "0");
1476 shouldBe("0.0004882812502273737 >>> 0", "0");
1477 shouldBe("-0.0004882812502273737 >>> 0", "0");
1478 shouldBe("0.0009765625004547474 >> 0", "0");
1479 shouldBe("-0.0009765625004547474 >> 0", "0");
1480 shouldBe("0.0009765625004547474 >>> 0", "0");
1481 shouldBe("-0.0009765625004547474 >>> 0", "0");
1482 shouldBe("0.0019531250009094947 >> 0", "0");
1483 shouldBe("-0.0019531250009094947 >> 0", "0");
1484 shouldBe("0.0019531250009094947 >>> 0", "0");
1485 shouldBe("-0.0019531250009094947 >>> 0", "0");
1486 shouldBe("0.003906250001818989 >> 0", "0");
1487 shouldBe("-0.003906250001818989 >> 0", "0");
1488 shouldBe("0.003906250001818989 >>> 0", "0");
1489 shouldBe("-0.003906250001818989 >>> 0", "0");
1490 shouldBe("0.007812500003637979 >> 0", "0");
1491 shouldBe("-0.007812500003637979 >> 0", "0");
1492 shouldBe("0.007812500003637979 >>> 0", "0");
1493 shouldBe("-0.007812500003637979 >>> 0", "0");
1494 shouldBe("0.015625000007275958 >> 0", "0");
1495 shouldBe("-0.015625000007275958 >> 0", "0");
1496 shouldBe("0.015625000007275958 >>> 0", "0");
1497 shouldBe("-0.015625000007275958 >>> 0", "0");
1498 shouldBe("0.031250000014551915 >> 0", "0");
1499 shouldBe("-0.031250000014551915 >> 0", "0");
1500 shouldBe("0.031250000014551915 >>> 0", "0");
1501 shouldBe("-0.031250000014551915 >>> 0", "0");
1502 shouldBe("0.06250000002910383 >> 0", "0");
1503 shouldBe("-0.06250000002910383 >> 0", "0");
1504 shouldBe("0.06250000002910383 >>> 0", "0");
1505 shouldBe("-0.06250000002910383 >>> 0", "0");
1506 shouldBe("0.12500000005820766 >> 0", "0");
1507 shouldBe("-0.12500000005820766 >> 0", "0");
1508 shouldBe("0.12500000005820766 >>> 0", "0");
1509 shouldBe("-0.12500000005820766 >>> 0", "0");
1510 shouldBe("0.2500000001164153 >> 0", "0");
1511 shouldBe("-0.2500000001164153 >> 0", "0");
1512 shouldBe("0.2500000001164153 >>> 0", "0");
1513 shouldBe("-0.2500000001164153 >>> 0", "0");
1514 shouldBe("0.5000000002328306 >> 0", "0");
1515 shouldBe("-0.5000000002328306 >> 0", "0");
1516 shouldBe("0.5000000002328306 >>> 0", "0");
1517 shouldBe("-0.5000000002328306 >>> 0", "0");
1518 shouldBe("1.0000000004656613 >> 0", "1");
1519 shouldBe("-1.0000000004656613 >> 0", "-1");
1520 shouldBe("1.0000000004656613 >>> 0", "1");
1521 shouldBe("-1.0000000004656613 >>> 0", "4294967295");
1522 shouldBe("2.0000000009313226 >> 0", "2");
1523 shouldBe("-2.0000000009313226 >> 0", "-2");
1524 shouldBe("2.0000000009313226 >>> 0", "2");
1525 shouldBe("-2.0000000009313226 >>> 0", "4294967294");
1526 shouldBe("4.000000001862645 >> 0", "4");
1527 shouldBe("-4.000000001862645 >> 0", "-4");
1528 shouldBe("4.000000001862645 >>> 0", "4");
1529 shouldBe("-4.000000001862645 >>> 0", "4294967292");
1530 shouldBe("8.00000000372529 >> 0", "8");
1531 shouldBe("-8.00000000372529 >> 0", "-8");
1532 shouldBe("8.00000000372529 >>> 0", "8");
1533 shouldBe("-8.00000000372529 >>> 0", "4294967288");
1534 shouldBe("16.00000000745058 >> 0", "16");
1535 shouldBe("-16.00000000745058 >> 0", "-16");
1536 shouldBe("16.00000000745058 >>> 0", "16");
1537 shouldBe("-16.00000000745058 >>> 0", "4294967280");
1538 shouldBe("32.00000001490116 >> 0", "32");
1539 shouldBe("-32.00000001490116 >> 0", "-32");
1540 shouldBe("32.00000001490116 >>> 0", "32");
1541 shouldBe("-32.00000001490116 >>> 0", "4294967264");
1542 shouldBe("64.00000002980232 >> 0", "64");
1543 shouldBe("-64.00000002980232 >> 0", "-64");
1544 shouldBe("64.00000002980232 >>> 0", "64");
1545 shouldBe("-64.00000002980232 >>> 0", "4294967232");
1546 shouldBe("128.00000005960464 >> 0", "128");
1547 shouldBe("-128.00000005960464 >> 0", "-128");
1548 shouldBe("128.00000005960464 >>> 0", "128");
1549 shouldBe("-128.00000005960464 >>> 0", "4294967168");
1550 shouldBe("256.0000001192093 >> 0", "256");
1551 shouldBe("-256.0000001192093 >> 0", "-256");
1552 shouldBe("256.0000001192093 >>> 0", "256");
1553 shouldBe("-256.0000001192093 >>> 0", "4294967040");
1554 shouldBe("512.0000002384186 >> 0", "512");
1555 shouldBe("-512.0000002384186 >> 0", "-512");
1556 shouldBe("512.0000002384186 >>> 0", "512");
1557 shouldBe("-512.0000002384186 >>> 0", "4294966784");
1558 shouldBe("1024.0000004768372 >> 0", "1024");
1559 shouldBe("-1024.0000004768372 >> 0", "-1024");
1560 shouldBe("1024.0000004768372 >>> 0", "1024");
1561 shouldBe("-1024.0000004768372 >>> 0", "4294966272");
1562 shouldBe("2048.0000009536743 >> 0", "2048");
1563 shouldBe("-2048.0000009536743 >> 0", "-2048");
1564 shouldBe("2048.0000009536743 >>> 0", "2048");
1565 shouldBe("-2048.0000009536743 >>> 0", "4294965248");
1566 shouldBe("4096.000001907349 >> 0", "4096");
1567 shouldBe("-4096.000001907349 >> 0", "-4096");
1568 shouldBe("4096.000001907349 >>> 0", "4096");
1569 shouldBe("-4096.000001907349 >>> 0", "4294963200");
1570 shouldBe("8192.000003814697 >> 0", "8192");
1571 shouldBe("-8192.000003814697 >> 0", "-8192");
1572 shouldBe("8192.000003814697 >>> 0", "8192");
1573 shouldBe("-8192.000003814697 >>> 0", "4294959104");
1574 shouldBe("16384.000007629395 >> 0", "16384");
1575 shouldBe("-16384.000007629395 >> 0", "-16384");
1576 shouldBe("16384.000007629395 >>> 0", "16384");
1577 shouldBe("-16384.000007629395 >>> 0", "4294950912");
1578 shouldBe("32768.00001525879 >> 0", "32768");
1579 shouldBe("-32768.00001525879 >> 0", "-32768");
1580 shouldBe("32768.00001525879 >>> 0", "32768");
1581 shouldBe("-32768.00001525879 >>> 0", "4294934528");
1582 shouldBe("65536.00003051758 >> 0", "65536");
1583 shouldBe("-65536.00003051758 >> 0", "-65536");
1584 shouldBe("65536.00003051758 >>> 0", "65536");
1585 shouldBe("-65536.00003051758 >>> 0", "4294901760");
1586 shouldBe("131072.00006103516 >> 0", "131072");
1587 shouldBe("-131072.00006103516 >> 0", "-131072");
1588 shouldBe("131072.00006103516 >>> 0", "131072");
1589 shouldBe("-131072.00006103516 >>> 0", "4294836224");
1590 shouldBe("262144.0001220703 >> 0", "262144");
1591 shouldBe("-262144.0001220703 >> 0", "-262144");
1592 shouldBe("262144.0001220703 >>> 0", "262144");
1593 shouldBe("-262144.0001220703 >>> 0", "4294705152");
1594 shouldBe("524288.0002441406 >> 0", "524288");
1595 shouldBe("-524288.0002441406 >> 0", "-524288");
1596 shouldBe("524288.0002441406 >>> 0", "524288");
1597 shouldBe("-524288.0002441406 >>> 0", "4294443008");
1598 shouldBe("1048576.0004882813 >> 0", "1048576");
1599 shouldBe("-1048576.0004882813 >> 0", "-1048576");
1600 shouldBe("1048576.0004882813 >>> 0", "1048576");
1601 shouldBe("-1048576.0004882813 >>> 0", "4293918720");
1602 shouldBe("2097152.0009765625 >> 0", "2097152");
1603 shouldBe("-2097152.0009765625 >> 0", "-2097152");
1604 shouldBe("2097152.0009765625 >>> 0", "2097152");
1605 shouldBe("-2097152.0009765625 >>> 0", "4292870144");
1606 shouldBe("4194304.001953125 >> 0", "4194304");
1607 shouldBe("-4194304.001953125 >> 0", "-4194304");
1608 shouldBe("4194304.001953125 >>> 0", "4194304");
1609 shouldBe("-4194304.001953125 >>> 0", "4290772992");
1610 shouldBe("8388608.00390625 >> 0", "8388608");
1611 shouldBe("-8388608.00390625 >> 0", "-8388608");
1612 shouldBe("8388608.00390625 >>> 0", "8388608");
1613 shouldBe("-8388608.00390625 >>> 0", "4286578688");
1614 shouldBe("16777216.0078125 >> 0", "16777216");
1615 shouldBe("-16777216.0078125 >> 0", "-16777216");
1616 shouldBe("16777216.0078125 >>> 0", "16777216");
1617 shouldBe("-16777216.0078125 >>> 0", "4278190080");
1618 shouldBe("33554432.015625 >> 0", "33554432");
1619 shouldBe("-33554432.015625 >> 0", "-33554432");
1620 shouldBe("33554432.015625 >>> 0", "33554432");
1621 shouldBe("-33554432.015625 >>> 0", "4261412864");
1622 shouldBe("67108864.03125 >> 0", "67108864");
1623 shouldBe("-67108864.03125 >> 0", "-67108864");
1624 shouldBe("67108864.03125 >>> 0", "67108864");
1625 shouldBe("-67108864.03125 >>> 0", "4227858432");
1626 shouldBe("134217728.0625 >> 0", "134217728");
1627 shouldBe("-134217728.0625 >> 0", "-134217728");
1628 shouldBe("134217728.0625 >>> 0", "134217728");
1629 shouldBe("-134217728.0625 >>> 0", "4160749568");
1630 shouldBe("268435456.125 >> 0", "268435456");
1631 shouldBe("-268435456.125 >> 0", "-268435456");
1632 shouldBe("268435456.125 >>> 0", "268435456");
1633 shouldBe("-268435456.125 >>> 0", "4026531840");
1634 shouldBe("536870912.25 >> 0", "536870912");
1635 shouldBe("-536870912.25 >> 0", "-536870912");
1636 shouldBe("536870912.25 >>> 0", "536870912");
1637 shouldBe("-536870912.25 >>> 0", "3758096384");
1638 shouldBe("1073741824.5 >> 0", "1073741824");
1639 shouldBe("-1073741824.5 >> 0", "-1073741824");
1640 shouldBe("1073741824.5 >>> 0", "1073741824");
1641 shouldBe("-1073741824.5 >>> 0", "3221225472");
1642 shouldBe("2147483649 >> 0", "-2147483647");
1643 shouldBe("-2147483649 >> 0", "2147483647");
1644 shouldBe("2147483649 >>> 0", "2147483649");
1645 shouldBe("-2147483649 >>> 0", "2147483647");
1646 shouldBe("4294967298 >> 0", "2");
1647 shouldBe("-4294967298 >> 0", "-2");
1648 shouldBe("4294967298 >>> 0", "2");
1649 shouldBe("-4294967298 >>> 0", "4294967294");
1650 shouldBe("8589934596 >> 0", "4");
1651 shouldBe("-8589934596 >> 0", "-4");
1652 shouldBe("8589934596 >>> 0", "4");
1653 shouldBe("-8589934596 >>> 0", "4294967292");
1654 shouldBe("17179869192 >> 0", "8");
1655 shouldBe("-17179869192 >> 0", "-8");
1656 shouldBe("17179869192 >>> 0", "8");
1657 shouldBe("-17179869192 >>> 0", "4294967288");
1658 shouldBe("34359738384 >> 0", "16");
1659 shouldBe("-34359738384 >> 0", "-16");
1660 shouldBe("34359738384 >>> 0", "16");
1661 shouldBe("-34359738384 >>> 0", "4294967280");
1662 shouldBe("68719476768 >> 0", "32");
1663 shouldBe("-68719476768 >> 0", "-32");
1664 shouldBe("68719476768 >>> 0", "32");
1665 shouldBe("-68719476768 >>> 0", "4294967264");
1666 shouldBe("137438953536 >> 0", "64");
1667 shouldBe("-137438953536 >> 0", "-64");
1668 shouldBe("137438953536 >>> 0", "64");
1669 shouldBe("-137438953536 >>> 0", "4294967232");
1670 shouldBe("274877907072 >> 0", "128");
1671 shouldBe("-274877907072 >> 0", "-128");
1672 shouldBe("274877907072 >>> 0", "128");
1673 shouldBe("-274877907072 >>> 0", "4294967168");
1674 shouldBe("549755814144 >> 0", "256");
1675 shouldBe("-549755814144 >> 0", "-256");
1676 shouldBe("549755814144 >>> 0", "256");
1677 shouldBe("-549755814144 >>> 0", "4294967040");
1678 shouldBe("1099511628288 >> 0", "512");
1679 shouldBe("-1099511628288 >> 0", "-512");
1680 shouldBe("1099511628288 >>> 0", "512");
1681 shouldBe("-1099511628288 >>> 0", "4294966784");
1682 shouldBe("2199023256576 >> 0", "1024");
1683 shouldBe("-2199023256576 >> 0", "-1024");
1684 shouldBe("2199023256576 >>> 0", "1024");
1685 shouldBe("-2199023256576 >>> 0", "4294966272");
1686 shouldBe("4398046513152 >> 0", "2048");
1687 shouldBe("-4398046513152 >> 0", "-2048");
1688 shouldBe("4398046513152 >>> 0", "2048");
1689 shouldBe("-4398046513152 >>> 0", "4294965248");
1690 shouldBe("8796093026304 >> 0", "4096");
1691 shouldBe("-8796093026304 >> 0", "-4096");
1692 shouldBe("8796093026304 >>> 0", "4096");
1693 shouldBe("-8796093026304 >>> 0", "4294963200");
1694 shouldBe("17592186052608 >> 0", "8192");
1695 shouldBe("-17592186052608 >> 0", "-8192");
1696 shouldBe("17592186052608 >>> 0", "8192");
1697 shouldBe("-17592186052608 >>> 0", "4294959104");
1698 shouldBe("35184372105216 >> 0", "16384");
1699 shouldBe("-35184372105216 >> 0", "-16384");
1700 shouldBe("35184372105216 >>> 0", "16384");
1701 shouldBe("-35184372105216 >>> 0", "4294950912");
1702 shouldBe("70368744210432 >> 0", "32768");
1703 shouldBe("-70368744210432 >> 0", "-32768");
1704 shouldBe("70368744210432 >>> 0", "32768");
1705 shouldBe("-70368744210432 >>> 0", "4294934528");
1706 shouldBe("140737488420864 >> 0", "65536");
1707 shouldBe("-140737488420864 >> 0", "-65536");
1708 shouldBe("140737488420864 >>> 0", "65536");
1709 shouldBe("-140737488420864 >>> 0", "4294901760");
1710 shouldBe("281474976841728 >> 0", "131072");
1711 shouldBe("-281474976841728 >> 0", "-131072");
1712 shouldBe("281474976841728 >>> 0", "131072");
1713 shouldBe("-281474976841728 >>> 0", "4294836224");
1714 shouldBe("562949953683456 >> 0", "262144");
1715 shouldBe("-562949953683456 >> 0", "-262144");
1716 shouldBe("562949953683456 >>> 0", "262144");
1717 shouldBe("-562949953683456 >>> 0", "4294705152");
1718 shouldBe("1125899907366912 >> 0", "524288");
1719 shouldBe("-1125899907366912 >> 0", "-524288");
1720 shouldBe("1125899907366912 >>> 0", "524288");
1721 shouldBe("-1125899907366912 >>> 0", "4294443008");
1722 shouldBe("2251799814733824 >> 0", "1048576");
1723 shouldBe("-2251799814733824 >> 0", "-1048576");
1724 shouldBe("2251799814733824 >>> 0", "1048576");
1725 shouldBe("-2251799814733824 >>> 0", "4293918720");
1726 shouldBe("4503599629467648 >> 0", "2097152");
1727 shouldBe("-4503599629467648 >> 0", "-2097152");
1728 shouldBe("4503599629467648 >>> 0", "2097152");
1729 shouldBe("-4503599629467648 >>> 0", "4292870144");
1730 shouldBe("9007199258935296 >> 0", "4194304");
1731 shouldBe("-9007199258935296 >> 0", "-4194304");
1732 shouldBe("9007199258935296 >>> 0", "4194304");
1733 shouldBe("-9007199258935296 >>> 0", "4290772992");
1734 shouldBe("18014398517870590 >> 0", "8388608");
1735 shouldBe("-18014398517870590 >> 0", "-8388608");
1736 shouldBe("18014398517870590 >>> 0", "8388608");
1737 shouldBe("-18014398517870590 >>> 0", "4286578688");
1738 shouldBe("36028797035741180 >> 0", "16777216");
1739 shouldBe("-36028797035741180 >> 0", "-16777216");
1740 shouldBe("36028797035741180 >>> 0", "16777216");
1741 shouldBe("-36028797035741180 >>> 0", "4278190080");
1742 shouldBe("72057594071482370 >> 0", "33554432");
1743 shouldBe("-72057594071482370 >> 0", "-33554432");
1744 shouldBe("72057594071482370 >>> 0", "33554432");
1745 shouldBe("-72057594071482370 >>> 0", "4261412864");
1746 shouldBe("144115188142964740 >> 0", "67108864");
1747 shouldBe("-144115188142964740 >> 0", "-67108864");
1748 shouldBe("144115188142964740 >>> 0", "67108864");
1749 shouldBe("-144115188142964740 >>> 0", "4227858432");
1750 shouldBe("288230376285929500 >> 0", "134217728");
1751 shouldBe("-288230376285929500 >> 0", "-134217728");
1752 shouldBe("288230376285929500 >>> 0", "134217728");
1753 shouldBe("-288230376285929500 >>> 0", "4160749568");
1754 shouldBe("576460752571859000 >> 0", "268435456");
1755 shouldBe("-576460752571859000 >> 0", "-268435456");
1756 shouldBe("576460752571859000 >>> 0", "268435456");
1757 shouldBe("-576460752571859000 >>> 0", "4026531840");
1758 shouldBe("1152921505143718000 >> 0", "536870912");
1759 shouldBe("-1152921505143718000 >> 0", "-536870912");
1760 shouldBe("1152921505143718000 >>> 0", "536870912");
1761 shouldBe("-1152921505143718000 >>> 0", "3758096384");
1762 shouldBe("2305843010287436000 >> 0", "1073741824");
1763 shouldBe("-2305843010287436000 >> 0", "-1073741824");
1764 shouldBe("2305843010287436000 >>> 0", "1073741824");
1765 shouldBe("-2305843010287436000 >>> 0", "3221225472");
1766 shouldBe("4611686020574872000 >> 0", "-2147483648");
1767 shouldBe("-4611686020574872000 >> 0", "-2147483648");
1768 shouldBe("4611686020574872000 >>> 0", "2147483648");
1769 shouldBe("-4611686020574872000 >>> 0", "2147483648");
1770 shouldBe("9223372041149743000 >> 0", "0");
1771 shouldBe("-9223372041149743000 >> 0", "0");
1772 shouldBe("9223372041149743000 >>> 0", "0");
1773 shouldBe("-9223372041149743000 >>> 0", "0");
1774 shouldBe("1.1920928957853683e-7 >> 0", "0");
1775 shouldBe("-1.1920928957853683e-7 >> 0", "0");
1776 shouldBe("1.1920928957853683e-7 >>> 0", "0");
1777 shouldBe("-1.1920928957853683e-7 >>> 0", "0");
1778 shouldBe("2.3841857915707365e-7 >> 0", "0");
1779 shouldBe("-2.3841857915707365e-7 >> 0", "0");
1780 shouldBe("2.3841857915707365e-7 >>> 0", "0");
1781 shouldBe("-2.3841857915707365e-7 >>> 0", "0");
1782 shouldBe("4.768371583141473e-7 >> 0", "0");
1783 shouldBe("-4.768371583141473e-7 >> 0", "0");
1784 shouldBe("4.768371583141473e-7 >>> 0", "0");
1785 shouldBe("-4.768371583141473e-7 >>> 0", "0");
1786 shouldBe("9.536743166282946e-7 >> 0", "0");
1787 shouldBe("-9.536743166282946e-7 >> 0", "0");
1788 shouldBe("9.536743166282946e-7 >>> 0", "0");
1789 shouldBe("-9.536743166282946e-7 >>> 0", "0");
1790 shouldBe("0.000001907348633256589 >> 0", "0");
1791 shouldBe("-0.000001907348633256589 >> 0", "0");
1792 shouldBe("0.000001907348633256589 >>> 0", "0");
1793 shouldBe("-0.000001907348633256589 >>> 0", "0");
1794 shouldBe("0.000003814697266513178 >> 0", "0");
1795 shouldBe("-0.000003814697266513178 >> 0", "0");
1796 shouldBe("0.000003814697266513178 >>> 0", "0");
1797 shouldBe("-0.000003814697266513178 >>> 0", "0");
1798 shouldBe("0.000007629394533026357 >> 0", "0");
1799 shouldBe("-0.000007629394533026357 >> 0", "0");
1800 shouldBe("0.000007629394533026357 >>> 0", "0");
1801 shouldBe("-0.000007629394533026357 >>> 0", "0");
1802 shouldBe("0.000015258789066052714 >> 0", "0");
1803 shouldBe("-0.000015258789066052714 >> 0", "0");
1804 shouldBe("0.000015258789066052714 >>> 0", "0");
1805 shouldBe("-0.000015258789066052714 >>> 0", "0");
1806 shouldBe("0.00003051757813210543 >> 0", "0");
1807 shouldBe("-0.00003051757813210543 >> 0", "0");
1808 shouldBe("0.00003051757813210543 >>> 0", "0");
1809 shouldBe("-0.00003051757813210543 >>> 0", "0");
1810 shouldBe("0.00006103515626421085 >> 0", "0");
1811 shouldBe("-0.00006103515626421085 >> 0", "0");
1812 shouldBe("0.00006103515626421085 >>> 0", "0");
1813 shouldBe("-0.00006103515626421085 >>> 0", "0");
1814 shouldBe("0.0001220703125284217 >> 0", "0");
1815 shouldBe("-0.0001220703125284217 >> 0", "0");
1816 shouldBe("0.0001220703125284217 >>> 0", "0");
1817 shouldBe("-0.0001220703125284217 >>> 0", "0");
1818 shouldBe("0.0002441406250568434 >> 0", "0");
1819 shouldBe("-0.0002441406250568434 >> 0", "0");
1820 shouldBe("0.0002441406250568434 >>> 0", "0");
1821 shouldBe("-0.0002441406250568434 >>> 0", "0");
1822 shouldBe("0.0004882812501136868 >> 0", "0");
1823 shouldBe("-0.0004882812501136868 >> 0", "0");
1824 shouldBe("0.0004882812501136868 >>> 0", "0");
1825 shouldBe("-0.0004882812501136868 >>> 0", "0");
1826 shouldBe("0.0009765625002273737 >> 0", "0");
1827 shouldBe("-0.0009765625002273737 >> 0", "0");
1828 shouldBe("0.0009765625002273737 >>> 0", "0");
1829 shouldBe("-0.0009765625002273737 >>> 0", "0");
1830 shouldBe("0.0019531250004547474 >> 0", "0");
1831 shouldBe("-0.0019531250004547474 >> 0", "0");
1832 shouldBe("0.0019531250004547474 >>> 0", "0");
1833 shouldBe("-0.0019531250004547474 >>> 0", "0");
1834 shouldBe("0.003906250000909495 >> 0", "0");
1835 shouldBe("-0.003906250000909495 >> 0", "0");
1836 shouldBe("0.003906250000909495 >>> 0", "0");
1837 shouldBe("-0.003906250000909495 >>> 0", "0");
1838 shouldBe("0.00781250000181899 >> 0", "0");
1839 shouldBe("-0.00781250000181899 >> 0", "0");
1840 shouldBe("0.00781250000181899 >>> 0", "0");
1841 shouldBe("-0.00781250000181899 >>> 0", "0");
1842 shouldBe("0.01562500000363798 >> 0", "0");
1843 shouldBe("-0.01562500000363798 >> 0", "0");
1844 shouldBe("0.01562500000363798 >>> 0", "0");
1845 shouldBe("-0.01562500000363798 >>> 0", "0");
1846 shouldBe("0.03125000000727596 >> 0", "0");
1847 shouldBe("-0.03125000000727596 >> 0", "0");
1848 shouldBe("0.03125000000727596 >>> 0", "0");
1849 shouldBe("-0.03125000000727596 >>> 0", "0");
1850 shouldBe("0.06250000001455192 >> 0", "0");
1851 shouldBe("-0.06250000001455192 >> 0", "0");
1852 shouldBe("0.06250000001455192 >>> 0", "0");
1853 shouldBe("-0.06250000001455192 >>> 0", "0");
1854 shouldBe("0.12500000002910383 >> 0", "0");
1855 shouldBe("-0.12500000002910383 >> 0", "0");
1856 shouldBe("0.12500000002910383 >>> 0", "0");
1857 shouldBe("-0.12500000002910383 >>> 0", "0");
1858 shouldBe("0.25000000005820766 >> 0", "0");
1859 shouldBe("-0.25000000005820766 >> 0", "0");
1860 shouldBe("0.25000000005820766 >>> 0", "0");
1861 shouldBe("-0.25000000005820766 >>> 0", "0");
1862 shouldBe("0.5000000001164153 >> 0", "0");
1863 shouldBe("-0.5000000001164153 >> 0", "0");
1864 shouldBe("0.5000000001164153 >>> 0", "0");
1865 shouldBe("-0.5000000001164153 >>> 0", "0");
1866 shouldBe("1.0000000002328306 >> 0", "1");
1867 shouldBe("-1.0000000002328306 >> 0", "-1");
1868 shouldBe("1.0000000002328306 >>> 0", "1");
1869 shouldBe("-1.0000000002328306 >>> 0", "4294967295");
1870 shouldBe("2.0000000004656613 >> 0", "2");
1871 shouldBe("-2.0000000004656613 >> 0", "-2");
1872 shouldBe("2.0000000004656613 >>> 0", "2");
1873 shouldBe("-2.0000000004656613 >>> 0", "4294967294");
1874 shouldBe("4.000000000931323 >> 0", "4");
1875 shouldBe("-4.000000000931323 >> 0", "-4");
1876 shouldBe("4.000000000931323 >>> 0", "4");
1877 shouldBe("-4.000000000931323 >>> 0", "4294967292");
1878 shouldBe("8.000000001862645 >> 0", "8");
1879 shouldBe("-8.000000001862645 >> 0", "-8");
1880 shouldBe("8.000000001862645 >>> 0", "8");
1881 shouldBe("-8.000000001862645 >>> 0", "4294967288");
1882 shouldBe("16.00000000372529 >> 0", "16");
1883 shouldBe("-16.00000000372529 >> 0", "-16");
1884 shouldBe("16.00000000372529 >>> 0", "16");
1885 shouldBe("-16.00000000372529 >>> 0", "4294967280");
1886 shouldBe("32.00000000745058 >> 0", "32");
1887 shouldBe("-32.00000000745058 >> 0", "-32");
1888 shouldBe("32.00000000745058 >>> 0", "32");
1889 shouldBe("-32.00000000745058 >>> 0", "4294967264");
1890 shouldBe("64.00000001490116 >> 0", "64");
1891 shouldBe("-64.00000001490116 >> 0", "-64");
1892 shouldBe("64.00000001490116 >>> 0", "64");
1893 shouldBe("-64.00000001490116 >>> 0", "4294967232");
1894 shouldBe("128.00000002980232 >> 0", "128");
1895 shouldBe("-128.00000002980232 >> 0", "-128");
1896 shouldBe("128.00000002980232 >>> 0", "128");
1897 shouldBe("-128.00000002980232 >>> 0", "4294967168");
1898 shouldBe("256.00000005960464 >> 0", "256");
1899 shouldBe("-256.00000005960464 >> 0", "-256");
1900 shouldBe("256.00000005960464 >>> 0", "256");
1901 shouldBe("-256.00000005960464 >>> 0", "4294967040");
1902 shouldBe("512.0000001192093 >> 0", "512");
1903 shouldBe("-512.0000001192093 >> 0", "-512");
1904 shouldBe("512.0000001192093 >>> 0", "512");
1905 shouldBe("-512.0000001192093 >>> 0", "4294966784");
1906 shouldBe("1024.0000002384186 >> 0", "1024");
1907 shouldBe("-1024.0000002384186 >> 0", "-1024");
1908 shouldBe("1024.0000002384186 >>> 0", "1024");
1909 shouldBe("-1024.0000002384186 >>> 0", "4294966272");
1910 shouldBe("2048.000000476837 >> 0", "2048");
1911 shouldBe("-2048.000000476837 >> 0", "-2048");
1912 shouldBe("2048.000000476837 >>> 0", "2048");
1913 shouldBe("-2048.000000476837 >>> 0", "4294965248");
1914 shouldBe("4096.000000953674 >> 0", "4096");
1915 shouldBe("-4096.000000953674 >> 0", "-4096");
1916 shouldBe("4096.000000953674 >>> 0", "4096");
1917 shouldBe("-4096.000000953674 >>> 0", "4294963200");
1918 shouldBe("8192.000001907349 >> 0", "8192");
1919 shouldBe("-8192.000001907349 >> 0", "-8192");
1920 shouldBe("8192.000001907349 >>> 0", "8192");
1921 shouldBe("-8192.000001907349 >>> 0", "4294959104");
1922 shouldBe("16384.000003814697 >> 0", "16384");
1923 shouldBe("-16384.000003814697 >> 0", "-16384");
1924 shouldBe("16384.000003814697 >>> 0", "16384");
1925 shouldBe("-16384.000003814697 >>> 0", "4294950912");
1926 shouldBe("32768.000007629395 >> 0", "32768");
1927 shouldBe("-32768.000007629395 >> 0", "-32768");
1928 shouldBe("32768.000007629395 >>> 0", "32768");
1929 shouldBe("-32768.000007629395 >>> 0", "4294934528");
1930 shouldBe("65536.00001525879 >> 0", "65536");
1931 shouldBe("-65536.00001525879 >> 0", "-65536");
1932 shouldBe("65536.00001525879 >>> 0", "65536");
1933 shouldBe("-65536.00001525879 >>> 0", "4294901760");
1934 shouldBe("131072.00003051758 >> 0", "131072");
1935 shouldBe("-131072.00003051758 >> 0", "-131072");
1936 shouldBe("131072.00003051758 >>> 0", "131072");
1937 shouldBe("-131072.00003051758 >>> 0", "4294836224");
1938 shouldBe("262144.00006103516 >> 0", "262144");
1939 shouldBe("-262144.00006103516 >> 0", "-262144");
1940 shouldBe("262144.00006103516 >>> 0", "262144");
1941 shouldBe("-262144.00006103516 >>> 0", "4294705152");
1942 shouldBe("524288.0001220703 >> 0", "524288");
1943 shouldBe("-524288.0001220703 >> 0", "-524288");
1944 shouldBe("524288.0001220703 >>> 0", "524288");
1945 shouldBe("-524288.0001220703 >>> 0", "4294443008");
1946 shouldBe("1048576.0002441406 >> 0", "1048576");
1947 shouldBe("-1048576.0002441406 >> 0", "-1048576");
1948 shouldBe("1048576.0002441406 >>> 0", "1048576");
1949 shouldBe("-1048576.0002441406 >>> 0", "4293918720");
1950 shouldBe("2097152.0004882813 >> 0", "2097152");
1951 shouldBe("-2097152.0004882813 >> 0", "-2097152");
1952 shouldBe("2097152.0004882813 >>> 0", "2097152");
1953 shouldBe("-2097152.0004882813 >>> 0", "4292870144");
1954 shouldBe("4194304.0009765625 >> 0", "4194304");
1955 shouldBe("-4194304.0009765625 >> 0", "-4194304");
1956 shouldBe("4194304.0009765625 >>> 0", "4194304");
1957 shouldBe("-4194304.0009765625 >>> 0", "4290772992");
1958 shouldBe("8388608.001953125 >> 0", "8388608");
1959 shouldBe("-8388608.001953125 >> 0", "-8388608");
1960 shouldBe("8388608.001953125 >>> 0", "8388608");
1961 shouldBe("-8388608.001953125 >>> 0", "4286578688");
1962 shouldBe("16777216.00390625 >> 0", "16777216");
1963 shouldBe("-16777216.00390625 >> 0", "-16777216");
1964 shouldBe("16777216.00390625 >>> 0", "16777216");
1965 shouldBe("-16777216.00390625 >>> 0", "4278190080");
1966 shouldBe("33554432.0078125 >> 0", "33554432");
1967 shouldBe("-33554432.0078125 >> 0", "-33554432");
1968 shouldBe("33554432.0078125 >>> 0", "33554432");
1969 shouldBe("-33554432.0078125 >>> 0", "4261412864");
1970 shouldBe("67108864.015625 >> 0", "67108864");
1971 shouldBe("-67108864.015625 >> 0", "-67108864");
1972 shouldBe("67108864.015625 >>> 0", "67108864");
1973 shouldBe("-67108864.015625 >>> 0", "4227858432");
1974 shouldBe("134217728.03125 >> 0", "134217728");
1975 shouldBe("-134217728.03125 >> 0", "-134217728");
1976 shouldBe("134217728.03125 >>> 0", "134217728");
1977 shouldBe("-134217728.03125 >>> 0", "4160749568");
1978 shouldBe("268435456.0625 >> 0", "268435456");
1979 shouldBe("-268435456.0625 >> 0", "-268435456");
1980 shouldBe("268435456.0625 >>> 0", "268435456");
1981 shouldBe("-268435456.0625 >>> 0", "4026531840");
1982 shouldBe("536870912.125 >> 0", "536870912");
1983 shouldBe("-536870912.125 >> 0", "-536870912");
1984 shouldBe("536870912.125 >>> 0", "536870912");
1985 shouldBe("-536870912.125 >>> 0", "3758096384");
1986 shouldBe("1073741824.25 >> 0", "1073741824");
1987 shouldBe("-1073741824.25 >> 0", "-1073741824");
1988 shouldBe("1073741824.25 >>> 0", "1073741824");
1989 shouldBe("-1073741824.25 >>> 0", "3221225472");
1990 shouldBe("2147483648.5 >> 0", "-2147483648");
1991 shouldBe("-2147483648.5 >> 0", "-2147483648");
1992 shouldBe("2147483648.5 >>> 0", "2147483648");
1993 shouldBe("-2147483648.5 >>> 0", "2147483648");
1994 shouldBe("4294967297 >> 0", "1");
1995 shouldBe("-4294967297 >> 0", "-1");
1996 shouldBe("4294967297 >>> 0", "1");
1997 shouldBe("-4294967297 >>> 0", "4294967295");
1998 shouldBe("8589934594 >> 0", "2");
1999 shouldBe("-8589934594 >> 0", "-2");
2000 shouldBe("8589934594 >>> 0", "2");
2001 shouldBe("-8589934594 >>> 0", "4294967294");
2002 shouldBe("17179869188 >> 0", "4");
2003 shouldBe("-17179869188 >> 0", "-4");
2004 shouldBe("17179869188 >>> 0", "4");
2005 shouldBe("-17179869188 >>> 0", "4294967292");
2006 shouldBe("34359738376 >> 0", "8");
2007 shouldBe("-34359738376 >> 0", "-8");
2008 shouldBe("34359738376 >>> 0", "8");
2009 shouldBe("-34359738376 >>> 0", "4294967288");
2010 shouldBe("68719476752 >> 0", "16");
2011 shouldBe("-68719476752 >> 0", "-16");
2012 shouldBe("68719476752 >>> 0", "16");
2013 shouldBe("-68719476752 >>> 0", "4294967280");
2014 shouldBe("137438953504 >> 0", "32");
2015 shouldBe("-137438953504 >> 0", "-32");
2016 shouldBe("137438953504 >>> 0", "32");
2017 shouldBe("-137438953504 >>> 0", "4294967264");
2018 shouldBe("274877907008 >> 0", "64");
2019 shouldBe("-274877907008 >> 0", "-64");
2020 shouldBe("274877907008 >>> 0", "64");
2021 shouldBe("-274877907008 >>> 0", "4294967232");
2022 shouldBe("549755814016 >> 0", "128");
2023 shouldBe("-549755814016 >> 0", "-128");
2024 shouldBe("549755814016 >>> 0", "128");
2025 shouldBe("-549755814016 >>> 0", "4294967168");
2026 shouldBe("1099511628032 >> 0", "256");
2027 shouldBe("-1099511628032 >> 0", "-256");
2028 shouldBe("1099511628032 >>> 0", "256");
2029 shouldBe("-1099511628032 >>> 0", "4294967040");
2030 shouldBe("2199023256064 >> 0", "512");
2031 shouldBe("-2199023256064 >> 0", "-512");
2032 shouldBe("2199023256064 >>> 0", "512");
2033 shouldBe("-2199023256064 >>> 0", "4294966784");
2034 shouldBe("4398046512128 >> 0", "1024");
2035 shouldBe("-4398046512128 >> 0", "-1024");
2036 shouldBe("4398046512128 >>> 0", "1024");
2037 shouldBe("-4398046512128 >>> 0", "4294966272");
2038 shouldBe("8796093024256 >> 0", "2048");
2039 shouldBe("-8796093024256 >> 0", "-2048");
2040 shouldBe("8796093024256 >>> 0", "2048");
2041 shouldBe("-8796093024256 >>> 0", "4294965248");
2042 shouldBe("17592186048512 >> 0", "4096");
2043 shouldBe("-17592186048512 >> 0", "-4096");
2044 shouldBe("17592186048512 >>> 0", "4096");
2045 shouldBe("-17592186048512 >>> 0", "4294963200");
2046 shouldBe("35184372097024 >> 0", "8192");
2047 shouldBe("-35184372097024 >> 0", "-8192");
2048 shouldBe("35184372097024 >>> 0", "8192");
2049 shouldBe("-35184372097024 >>> 0", "4294959104");
2050 shouldBe("70368744194048 >> 0", "16384");
2051 shouldBe("-70368744194048 >> 0", "-16384");
2052 shouldBe("70368744194048 >>> 0", "16384");
2053 shouldBe("-70368744194048 >>> 0", "4294950912");
2054 shouldBe("140737488388096 >> 0", "32768");
2055 shouldBe("-140737488388096 >> 0", "-32768");
2056 shouldBe("140737488388096 >>> 0", "32768");
2057 shouldBe("-140737488388096 >>> 0", "4294934528");
2058 shouldBe("281474976776192 >> 0", "65536");
2059 shouldBe("-281474976776192 >> 0", "-65536");
2060 shouldBe("281474976776192 >>> 0", "65536");
2061 shouldBe("-281474976776192 >>> 0", "4294901760");
2062 shouldBe("562949953552384 >> 0", "131072");
2063 shouldBe("-562949953552384 >> 0", "-131072");
2064 shouldBe("562949953552384 >>> 0", "131072");
2065 shouldBe("-562949953552384 >>> 0", "4294836224");
2066 shouldBe("1125899907104768 >> 0", "262144");
2067 shouldBe("-1125899907104768 >> 0", "-262144");
2068 shouldBe("1125899907104768 >>> 0", "262144");
2069 shouldBe("-1125899907104768 >>> 0", "4294705152");
2070 shouldBe("2251799814209536 >> 0", "524288");
2071 shouldBe("-2251799814209536 >> 0", "-524288");
2072 shouldBe("2251799814209536 >>> 0", "524288");
2073 shouldBe("-2251799814209536 >>> 0", "4294443008");
2074 shouldBe("4503599628419072 >> 0", "1048576");
2075 shouldBe("-4503599628419072 >> 0", "-1048576");
2076 shouldBe("4503599628419072 >>> 0", "1048576");
2077 shouldBe("-4503599628419072 >>> 0", "4293918720");
2078 shouldBe("9007199256838144 >> 0", "2097152");
2079 shouldBe("-9007199256838144 >> 0", "-2097152");
2080 shouldBe("9007199256838144 >>> 0", "2097152");
2081 shouldBe("-9007199256838144 >>> 0", "4292870144");
2082 shouldBe("18014398513676290 >> 0", "4194304");
2083 shouldBe("-18014398513676290 >> 0", "-4194304");
2084 shouldBe("18014398513676290 >>> 0", "4194304");
2085 shouldBe("-18014398513676290 >>> 0", "4290772992");
2086 shouldBe("36028797027352580 >> 0", "8388608");
2087 shouldBe("-36028797027352580 >> 0", "-8388608");
2088 shouldBe("36028797027352580 >>> 0", "8388608");
2089 shouldBe("-36028797027352580 >>> 0", "4286578688");
2090 shouldBe("72057594054705150 >> 0", "16777216");
2091 shouldBe("-72057594054705150 >> 0", "-16777216");
2092 shouldBe("72057594054705150 >>> 0", "16777216");
2093 shouldBe("-72057594054705150 >>> 0", "4278190080");
2094 shouldBe("144115188109410300 >> 0", "33554432");
2095 shouldBe("-144115188109410300 >> 0", "-33554432");
2096 shouldBe("144115188109410300 >>> 0", "33554432");
2097 shouldBe("-144115188109410300 >>> 0", "4261412864");
2098 shouldBe("288230376218820600 >> 0", "67108864");
2099 shouldBe("-288230376218820600 >> 0", "-67108864");
2100 shouldBe("288230376218820600 >>> 0", "67108864");
2101 shouldBe("-288230376218820600 >>> 0", "4227858432");
2102 shouldBe("576460752437641200 >> 0", "134217728");
2103 shouldBe("-576460752437641200 >> 0", "-134217728");
2104 shouldBe("576460752437641200 >>> 0", "134217728");
2105 shouldBe("-576460752437641200 >>> 0", "4160749568");
2106 shouldBe("1152921504875282400 >> 0", "268435456");
2107 shouldBe("-1152921504875282400 >> 0", "-268435456");
2108 shouldBe("1152921504875282400 >>> 0", "268435456");
2109 shouldBe("-1152921504875282400 >>> 0", "4026531840");
2110 shouldBe("2305843009750565000 >> 0", "536870912");
2111 shouldBe("-2305843009750565000 >> 0", "-536870912");
2112 shouldBe("2305843009750565000 >>> 0", "536870912");
2113 shouldBe("-2305843009750565000 >>> 0", "3758096384");
2114 shouldBe("4611686019501130000 >> 0", "1073741824");
2115 shouldBe("-4611686019501130000 >> 0", "-1073741824");
2116 shouldBe("4611686019501130000 >>> 0", "1073741824");
2117 shouldBe("-4611686019501130000 >>> 0", "3221225472");
2118 shouldBe("9223372039002260000 >> 0", "-2147483648");
2119 shouldBe("-9223372039002260000 >> 0", "-2147483648");
2120 shouldBe("9223372039002260000 >>> 0", "2147483648");
2121 shouldBe("-9223372039002260000 >>> 0", "2147483648");
2122 shouldBe("18446744078004520000 >> 0", "0");
2123 shouldBe("-18446744078004520000 >> 0", "0");
2124 shouldBe("18446744078004520000 >>> 0", "0");
2125 shouldBe("-18446744078004520000 >>> 0", "0");
2126 shouldBe("5.960464474763505e-8 >> 0", "0");
2127 shouldBe("-5.960464474763505e-8 >> 0", "0");
2128 shouldBe("5.960464474763505e-8 >>> 0", "0");
2129 shouldBe("-5.960464474763505e-8 >>> 0", "0");
2130 shouldBe("1.192092894952701e-7 >> 0", "0");
2131 shouldBe("-1.192092894952701e-7 >> 0", "0");
2132 shouldBe("1.192092894952701e-7 >>> 0", "0");
2133 shouldBe("-1.192092894952701e-7 >>> 0", "0");
2134 shouldBe("2.384185789905402e-7 >> 0", "0");
2135 shouldBe("-2.384185789905402e-7 >> 0", "0");
2136 shouldBe("2.384185789905402e-7 >>> 0", "0");
2137 shouldBe("-2.384185789905402e-7 >>> 0", "0");
2138 shouldBe("4.768371579810804e-7 >> 0", "0");
2139 shouldBe("-4.768371579810804e-7 >> 0", "0");
2140 shouldBe("4.768371579810804e-7 >>> 0", "0");
2141 shouldBe("-4.768371579810804e-7 >>> 0", "0");
2142 shouldBe("9.536743159621608e-7 >> 0", "0");
2143 shouldBe("-9.536743159621608e-7 >> 0", "0");
2144 shouldBe("9.536743159621608e-7 >>> 0", "0");
2145 shouldBe("-9.536743159621608e-7 >>> 0", "0");
2146 shouldBe("0.0000019073486319243216 >> 0", "0");
2147 shouldBe("-0.0000019073486319243216 >> 0", "0");
2148 shouldBe("0.0000019073486319243216 >>> 0", "0");
2149 shouldBe("-0.0000019073486319243216 >>> 0", "0");
2150 shouldBe("0.000003814697263848643 >> 0", "0");
2151 shouldBe("-0.000003814697263848643 >> 0", "0");
2152 shouldBe("0.000003814697263848643 >>> 0", "0");
2153 shouldBe("-0.000003814697263848643 >>> 0", "0");
2154 shouldBe("0.000007629394527697286 >> 0", "0");
2155 shouldBe("-0.000007629394527697286 >> 0", "0");
2156 shouldBe("0.000007629394527697286 >>> 0", "0");
2157 shouldBe("-0.000007629394527697286 >>> 0", "0");
2158 shouldBe("0.000015258789055394573 >> 0", "0");
2159 shouldBe("-0.000015258789055394573 >> 0", "0");
2160 shouldBe("0.000015258789055394573 >>> 0", "0");
2161 shouldBe("-0.000015258789055394573 >>> 0", "0");
2162 shouldBe("0.000030517578110789145 >> 0", "0");
2163 shouldBe("-0.000030517578110789145 >> 0", "0");
2164 shouldBe("0.000030517578110789145 >>> 0", "0");
2165 shouldBe("-0.000030517578110789145 >>> 0", "0");
2166 shouldBe("0.00006103515622157829 >> 0", "0");
2167 shouldBe("-0.00006103515622157829 >> 0", "0");
2168 shouldBe("0.00006103515622157829 >>> 0", "0");
2169 shouldBe("-0.00006103515622157829 >>> 0", "0");
2170 shouldBe("0.00012207031244315658 >> 0", "0");
2171 shouldBe("-0.00012207031244315658 >> 0", "0");
2172 shouldBe("0.00012207031244315658 >>> 0", "0");
2173 shouldBe("-0.00012207031244315658 >>> 0", "0");
2174 shouldBe("0.00024414062488631316 >> 0", "0");
2175 shouldBe("-0.00024414062488631316 >> 0", "0");
2176 shouldBe("0.00024414062488631316 >>> 0", "0");
2177 shouldBe("-0.00024414062488631316 >>> 0", "0");
2178 shouldBe("0.0004882812497726263 >> 0", "0");
2179 shouldBe("-0.0004882812497726263 >> 0", "0");
2180 shouldBe("0.0004882812497726263 >>> 0", "0");
2181 shouldBe("-0.0004882812497726263 >>> 0", "0");
2182 shouldBe("0.0009765624995452526 >> 0", "0");
2183 shouldBe("-0.0009765624995452526 >> 0", "0");
2184 shouldBe("0.0009765624995452526 >>> 0", "0");
2185 shouldBe("-0.0009765624995452526 >>> 0", "0");
2186 shouldBe("0.0019531249990905053 >> 0", "0");
2187 shouldBe("-0.0019531249990905053 >> 0", "0");
2188 shouldBe("0.0019531249990905053 >>> 0", "0");
2189 shouldBe("-0.0019531249990905053 >>> 0", "0");
2190 shouldBe("0.0039062499981810106 >> 0", "0");
2191 shouldBe("-0.0039062499981810106 >> 0", "0");
2192 shouldBe("0.0039062499981810106 >>> 0", "0");
2193 shouldBe("-0.0039062499981810106 >>> 0", "0");
2194 shouldBe("0.007812499996362021 >> 0", "0");
2195 shouldBe("-0.007812499996362021 >> 0", "0");
2196 shouldBe("0.007812499996362021 >>> 0", "0");
2197 shouldBe("-0.007812499996362021 >>> 0", "0");
2198 shouldBe("0.015624999992724042 >> 0", "0");
2199 shouldBe("-0.015624999992724042 >> 0", "0");
2200 shouldBe("0.015624999992724042 >>> 0", "0");
2201 shouldBe("-0.015624999992724042 >>> 0", "0");
2202 shouldBe("0.031249999985448085 >> 0", "0");
2203 shouldBe("-0.031249999985448085 >> 0", "0");
2204 shouldBe("0.031249999985448085 >>> 0", "0");
2205 shouldBe("-0.031249999985448085 >>> 0", "0");
2206 shouldBe("0.06249999997089617 >> 0", "0");
2207 shouldBe("-0.06249999997089617 >> 0", "0");
2208 shouldBe("0.06249999997089617 >>> 0", "0");
2209 shouldBe("-0.06249999997089617 >>> 0", "0");
2210 shouldBe("0.12499999994179234 >> 0", "0");
2211 shouldBe("-0.12499999994179234 >> 0", "0");
2212 shouldBe("0.12499999994179234 >>> 0", "0");
2213 shouldBe("-0.12499999994179234 >>> 0", "0");
2214 shouldBe("0.24999999988358468 >> 0", "0");
2215 shouldBe("-0.24999999988358468 >> 0", "0");
2216 shouldBe("0.24999999988358468 >>> 0", "0");
2217 shouldBe("-0.24999999988358468 >>> 0", "0");
2218 shouldBe("0.49999999976716936 >> 0", "0");
2219 shouldBe("-0.49999999976716936 >> 0", "0");
2220 shouldBe("0.49999999976716936 >>> 0", "0");
2221 shouldBe("-0.49999999976716936 >>> 0", "0");
2222 shouldBe("0.9999999995343387 >> 0", "0");
2223 shouldBe("-0.9999999995343387 >> 0", "0");
2224 shouldBe("0.9999999995343387 >>> 0", "0");
2225 shouldBe("-0.9999999995343387 >>> 0", "0");
2226 shouldBe("1.9999999990686774 >> 0", "1");
2227 shouldBe("-1.9999999990686774 >> 0", "-1");
2228 shouldBe("1.9999999990686774 >>> 0", "1");
2229 shouldBe("-1.9999999990686774 >>> 0", "4294967295");
2230 shouldBe("3.999999998137355 >> 0", "3");
2231 shouldBe("-3.999999998137355 >> 0", "-3");
2232 shouldBe("3.999999998137355 >>> 0", "3");
2233 shouldBe("-3.999999998137355 >>> 0", "4294967293");
2234 shouldBe("7.99999999627471 >> 0", "7");
2235 shouldBe("-7.99999999627471 >> 0", "-7");
2236 shouldBe("7.99999999627471 >>> 0", "7");
2237 shouldBe("-7.99999999627471 >>> 0", "4294967289");
2238 shouldBe("15.99999999254942 >> 0", "15");
2239 shouldBe("-15.99999999254942 >> 0", "-15");
2240 shouldBe("15.99999999254942 >>> 0", "15");
2241 shouldBe("-15.99999999254942 >>> 0", "4294967281");
2242 shouldBe("31.99999998509884 >> 0", "31");
2243 shouldBe("-31.99999998509884 >> 0", "-31");
2244 shouldBe("31.99999998509884 >>> 0", "31");
2245 shouldBe("-31.99999998509884 >>> 0", "4294967265");
2246 shouldBe("63.99999997019768 >> 0", "63");
2247 shouldBe("-63.99999997019768 >> 0", "-63");
2248 shouldBe("63.99999997019768 >>> 0", "63");
2249 shouldBe("-63.99999997019768 >>> 0", "4294967233");
2250 shouldBe("127.99999994039536 >> 0", "127");
2251 shouldBe("-127.99999994039536 >> 0", "-127");
2252 shouldBe("127.99999994039536 >>> 0", "127");
2253 shouldBe("-127.99999994039536 >>> 0", "4294967169");
2254 shouldBe("255.9999998807907 >> 0", "255");
2255 shouldBe("-255.9999998807907 >> 0", "-255");
2256 shouldBe("255.9999998807907 >>> 0", "255");
2257 shouldBe("-255.9999998807907 >>> 0", "4294967041");
2258 shouldBe("511.9999997615814 >> 0", "511");
2259 shouldBe("-511.9999997615814 >> 0", "-511");
2260 shouldBe("511.9999997615814 >>> 0", "511");
2261 shouldBe("-511.9999997615814 >>> 0", "4294966785");
2262 shouldBe("1023.9999995231628 >> 0", "1023");
2263 shouldBe("-1023.9999995231628 >> 0", "-1023");
2264 shouldBe("1023.9999995231628 >>> 0", "1023");
2265 shouldBe("-1023.9999995231628 >>> 0", "4294966273");
2266 shouldBe("2047.9999990463257 >> 0", "2047");
2267 shouldBe("-2047.9999990463257 >> 0", "-2047");
2268 shouldBe("2047.9999990463257 >>> 0", "2047");
2269 shouldBe("-2047.9999990463257 >>> 0", "4294965249");
2270 shouldBe("4095.9999980926514 >> 0", "4095");
2271 shouldBe("-4095.9999980926514 >> 0", "-4095");
2272 shouldBe("4095.9999980926514 >>> 0", "4095");
2273 shouldBe("-4095.9999980926514 >>> 0", "4294963201");
2274 shouldBe("8191.999996185303 >> 0", "8191");
2275 shouldBe("-8191.999996185303 >> 0", "-8191");
2276 shouldBe("8191.999996185303 >>> 0", "8191");
2277 shouldBe("-8191.999996185303 >>> 0", "4294959105");
2278 shouldBe("16383.999992370605 >> 0", "16383");
2279 shouldBe("-16383.999992370605 >> 0", "-16383");
2280 shouldBe("16383.999992370605 >>> 0", "16383");
2281 shouldBe("-16383.999992370605 >>> 0", "4294950913");
2282 shouldBe("32767.99998474121 >> 0", "32767");
2283 shouldBe("-32767.99998474121 >> 0", "-32767");
2284 shouldBe("32767.99998474121 >>> 0", "32767");
2285 shouldBe("-32767.99998474121 >>> 0", "4294934529");
2286 shouldBe("65535.99996948242 >> 0", "65535");
2287 shouldBe("-65535.99996948242 >> 0", "-65535");
2288 shouldBe("65535.99996948242 >>> 0", "65535");
2289 shouldBe("-65535.99996948242 >>> 0", "4294901761");
2290 shouldBe("131071.99993896484 >> 0", "131071");
2291 shouldBe("-131071.99993896484 >> 0", "-131071");
2292 shouldBe("131071.99993896484 >>> 0", "131071");
2293 shouldBe("-131071.99993896484 >>> 0", "4294836225");
2294 shouldBe("262143.9998779297 >> 0", "262143");
2295 shouldBe("-262143.9998779297 >> 0", "-262143");
2296 shouldBe("262143.9998779297 >>> 0", "262143");
2297 shouldBe("-262143.9998779297 >>> 0", "4294705153");
2298 shouldBe("524287.9997558594 >> 0", "524287");
2299 shouldBe("-524287.9997558594 >> 0", "-524287");
2300 shouldBe("524287.9997558594 >>> 0", "524287");
2301 shouldBe("-524287.9997558594 >>> 0", "4294443009");
2302 shouldBe("1048575.9995117188 >> 0", "1048575");
2303 shouldBe("-1048575.9995117188 >> 0", "-1048575");
2304 shouldBe("1048575.9995117188 >>> 0", "1048575");
2305 shouldBe("-1048575.9995117188 >>> 0", "4293918721");
2306 shouldBe("2097151.9990234375 >> 0", "2097151");
2307 shouldBe("-2097151.9990234375 >> 0", "-2097151");
2308 shouldBe("2097151.9990234375 >>> 0", "2097151");
2309 shouldBe("-2097151.9990234375 >>> 0", "4292870145");
2310 shouldBe("4194303.998046875 >> 0", "4194303");
2311 shouldBe("-4194303.998046875 >> 0", "-4194303");
2312 shouldBe("4194303.998046875 >>> 0", "4194303");
2313 shouldBe("-4194303.998046875 >>> 0", "4290772993");
2314 shouldBe("8388607.99609375 >> 0", "8388607");
2315 shouldBe("-8388607.99609375 >> 0", "-8388607");
2316 shouldBe("8388607.99609375 >>> 0", "8388607");
2317 shouldBe("-8388607.99609375 >>> 0", "4286578689");
2318 shouldBe("16777215.9921875 >> 0", "16777215");
2319 shouldBe("-16777215.9921875 >> 0", "-16777215");
2320 shouldBe("16777215.9921875 >>> 0", "16777215");
2321 shouldBe("-16777215.9921875 >>> 0", "4278190081");
2322 shouldBe("33554431.984375 >> 0", "33554431");
2323 shouldBe("-33554431.984375 >> 0", "-33554431");
2324 shouldBe("33554431.984375 >>> 0", "33554431");
2325 shouldBe("-33554431.984375 >>> 0", "4261412865");
2326 shouldBe("67108863.96875 >> 0", "67108863");
2327 shouldBe("-67108863.96875 >> 0", "-67108863");
2328 shouldBe("67108863.96875 >>> 0", "67108863");
2329 shouldBe("-67108863.96875 >>> 0", "4227858433");
2330 shouldBe("134217727.9375 >> 0", "134217727");
2331 shouldBe("-134217727.9375 >> 0", "-134217727");
2332 shouldBe("134217727.9375 >>> 0", "134217727");
2333 shouldBe("-134217727.9375 >>> 0", "4160749569");
2334 shouldBe("268435455.875 >> 0", "268435455");
2335 shouldBe("-268435455.875 >> 0", "-268435455");
2336 shouldBe("268435455.875 >>> 0", "268435455");
2337 shouldBe("-268435455.875 >>> 0", "4026531841");
2338 shouldBe("536870911.75 >> 0", "536870911");
2339 shouldBe("-536870911.75 >> 0", "-536870911");
2340 shouldBe("536870911.75 >>> 0", "536870911");
2341 shouldBe("-536870911.75 >>> 0", "3758096385");
2342 shouldBe("1073741823.5 >> 0", "1073741823");
2343 shouldBe("-1073741823.5 >> 0", "-1073741823");
2344 shouldBe("1073741823.5 >>> 0", "1073741823");
2345 shouldBe("-1073741823.5 >>> 0", "3221225473");
2346 shouldBe("2147483647 >> 0", "2147483647");
2347 shouldBe("-2147483647 >> 0", "-2147483647");
2348 shouldBe("2147483647 >>> 0", "2147483647");
2349 shouldBe("-2147483647 >>> 0", "2147483649");
2350 shouldBe("4294967294 >> 0", "-2");
2351 shouldBe("-4294967294 >> 0", "2");
2352 shouldBe("4294967294 >>> 0", "4294967294");
2353 shouldBe("-4294967294 >>> 0", "2");
2354 shouldBe("8589934588 >> 0", "-4");
2355 shouldBe("-8589934588 >> 0", "4");
2356 shouldBe("8589934588 >>> 0", "4294967292");
2357 shouldBe("-8589934588 >>> 0", "4");
2358 shouldBe("17179869176 >> 0", "-8");
2359 shouldBe("-17179869176 >> 0", "8");
2360 shouldBe("17179869176 >>> 0", "4294967288");
2361 shouldBe("-17179869176 >>> 0", "8");
2362 shouldBe("34359738352 >> 0", "-16");
2363 shouldBe("-34359738352 >> 0", "16");
2364 shouldBe("34359738352 >>> 0", "4294967280");
2365 shouldBe("-34359738352 >>> 0", "16");
2366 shouldBe("68719476704 >> 0", "-32");
2367 shouldBe("-68719476704 >> 0", "32");
2368 shouldBe("68719476704 >>> 0", "4294967264");
2369 shouldBe("-68719476704 >>> 0", "32");
2370 shouldBe("137438953408 >> 0", "-64");
2371 shouldBe("-137438953408 >> 0", "64");
2372 shouldBe("137438953408 >>> 0", "4294967232");
2373 shouldBe("-137438953408 >>> 0", "64");
2374 shouldBe("274877906816 >> 0", "-128");
2375 shouldBe("-274877906816 >> 0", "128");
2376 shouldBe("274877906816 >>> 0", "4294967168");
2377 shouldBe("-274877906816 >>> 0", "128");
2378 shouldBe("549755813632 >> 0", "-256");
2379 shouldBe("-549755813632 >> 0", "256");
2380 shouldBe("549755813632 >>> 0", "4294967040");
2381 shouldBe("-549755813632 >>> 0", "256");
2382 shouldBe("1099511627264 >> 0", "-512");
2383 shouldBe("-1099511627264 >> 0", "512");
2384 shouldBe("1099511627264 >>> 0", "4294966784");
2385 shouldBe("-1099511627264 >>> 0", "512");
2386 shouldBe("2199023254528 >> 0", "-1024");
2387 shouldBe("-2199023254528 >> 0", "1024");
2388 shouldBe("2199023254528 >>> 0", "4294966272");
2389 shouldBe("-2199023254528 >>> 0", "1024");
2390 shouldBe("4398046509056 >> 0", "-2048");
2391 shouldBe("-4398046509056 >> 0", "2048");
2392 shouldBe("4398046509056 >>> 0", "4294965248");
2393 shouldBe("-4398046509056 >>> 0", "2048");
2394 shouldBe("8796093018112 >> 0", "-4096");
2395 shouldBe("-8796093018112 >> 0", "4096");
2396 shouldBe("8796093018112 >>> 0", "4294963200");
2397 shouldBe("-8796093018112 >>> 0", "4096");
2398 shouldBe("17592186036224 >> 0", "-8192");
2399 shouldBe("-17592186036224 >> 0", "8192");
2400 shouldBe("17592186036224 >>> 0", "4294959104");
2401 shouldBe("-17592186036224 >>> 0", "8192");
2402 shouldBe("35184372072448 >> 0", "-16384");
2403 shouldBe("-35184372072448 >> 0", "16384");
2404 shouldBe("35184372072448 >>> 0", "4294950912");
2405 shouldBe("-35184372072448 >>> 0", "16384");
2406 shouldBe("70368744144896 >> 0", "-32768");
2407 shouldBe("-70368744144896 >> 0", "32768");
2408 shouldBe("70368744144896 >>> 0", "4294934528");
2409 shouldBe("-70368744144896 >>> 0", "32768");
2410 shouldBe("140737488289792 >> 0", "-65536");
2411 shouldBe("-140737488289792 >> 0", "65536");
2412 shouldBe("140737488289792 >>> 0", "4294901760");
2413 shouldBe("-140737488289792 >>> 0", "65536");
2414 shouldBe("281474976579584 >> 0", "-131072");
2415 shouldBe("-281474976579584 >> 0", "131072");
2416 shouldBe("281474976579584 >>> 0", "4294836224");
2417 shouldBe("-281474976579584 >>> 0", "131072");
2418 shouldBe("562949953159168 >> 0", "-262144");
2419 shouldBe("-562949953159168 >> 0", "262144");
2420 shouldBe("562949953159168 >>> 0", "4294705152");
2421 shouldBe("-562949953159168 >>> 0", "262144");
2422 shouldBe("1125899906318336 >> 0", "-524288");
2423 shouldBe("-1125899906318336 >> 0", "524288");
2424 shouldBe("1125899906318336 >>> 0", "4294443008");
2425 shouldBe("-1125899906318336 >>> 0", "524288");
2426 shouldBe("2251799812636672 >> 0", "-1048576");
2427 shouldBe("-2251799812636672 >> 0", "1048576");
2428 shouldBe("2251799812636672 >>> 0", "4293918720");
2429 shouldBe("-2251799812636672 >>> 0", "1048576");
2430 shouldBe("4503599625273344 >> 0", "-2097152");
2431 shouldBe("-4503599625273344 >> 0", "2097152");
2432 shouldBe("4503599625273344 >>> 0", "4292870144");
2433 shouldBe("-4503599625273344 >>> 0", "2097152");
2434 shouldBe("9007199250546688 >> 0", "-4194304");
2435 shouldBe("-9007199250546688 >> 0", "4194304");
2436 shouldBe("9007199250546688 >>> 0", "4290772992");
2437 shouldBe("-9007199250546688 >>> 0", "4194304");
2438 shouldBe("18014398501093376 >> 0", "-8388608");
2439 shouldBe("-18014398501093376 >> 0", "8388608");
2440 shouldBe("18014398501093376 >>> 0", "4286578688");
2441 shouldBe("-18014398501093376 >>> 0", "8388608");
2442 shouldBe("36028797002186750 >> 0", "-16777216");
2443 shouldBe("-36028797002186750 >> 0", "16777216");
2444 shouldBe("36028797002186750 >>> 0", "4278190080");
2445 shouldBe("-36028797002186750 >>> 0", "16777216");
2446 shouldBe("72057594004373500 >> 0", "-33554432");
2447 shouldBe("-72057594004373500 >> 0", "33554432");
2448 shouldBe("72057594004373500 >>> 0", "4261412864");
2449 shouldBe("-72057594004373500 >>> 0", "33554432");
2450 shouldBe("144115188008747000 >> 0", "-67108864");
2451 shouldBe("-144115188008747000 >> 0", "67108864");
2452 shouldBe("144115188008747000 >>> 0", "4227858432");
2453 shouldBe("-144115188008747000 >>> 0", "67108864");
2454 shouldBe("288230376017494000 >> 0", "-134217728");
2455 shouldBe("-288230376017494000 >> 0", "134217728");
2456 shouldBe("288230376017494000 >>> 0", "4160749568");
2457 shouldBe("-288230376017494000 >>> 0", "134217728");
2458 shouldBe("576460752034988000 >> 0", "-268435456");
2459 shouldBe("-576460752034988000 >> 0", "268435456");
2460 shouldBe("576460752034988000 >>> 0", "4026531840");
2461 shouldBe("-576460752034988000 >>> 0", "268435456");
2462 shouldBe("1152921504069976000 >> 0", "-536870912");
2463 shouldBe("-1152921504069976000 >> 0", "536870912");
2464 shouldBe("1152921504069976000 >>> 0", "3758096384");
2465 shouldBe("-1152921504069976000 >>> 0", "536870912");
2466 shouldBe("2305843008139952000 >> 0", "-1073741824");
2467 shouldBe("-2305843008139952000 >> 0", "1073741824");
2468 shouldBe("2305843008139952000 >>> 0", "3221225472");
2469 shouldBe("-2305843008139952000 >>> 0", "1073741824");
2470 shouldBe("4611686016279904000 >> 0", "-2147483648");
2471 shouldBe("-4611686016279904000 >> 0", "-2147483648");
2472 shouldBe("4611686016279904000 >>> 0", "2147483648");
2473 shouldBe("-4611686016279904000 >>> 0", "2147483648");
2474 shouldBe("9223372032559809000 >> 0", "0");
2475 shouldBe("-9223372032559809000 >> 0", "0");
2476 shouldBe("9223372032559809000 >>> 0", "0");
2477 shouldBe("-9223372032559809000 >>> 0", "0");
2478 shouldBe("1.1920928952302567e-7 >> 0", "0");
2479 shouldBe("-1.1920928952302567e-7 >> 0", "0");
2480 shouldBe("1.1920928952302567e-7 >>> 0", "0");
2481 shouldBe("-1.1920928952302567e-7 >>> 0", "0");
2482 shouldBe("2.3841857904605135e-7 >> 0", "0");
2483 shouldBe("-2.3841857904605135e-7 >> 0", "0");
2484 shouldBe("2.3841857904605135e-7 >>> 0", "0");
2485 shouldBe("-2.3841857904605135e-7 >>> 0", "0");
2486 shouldBe("4.768371580921027e-7 >> 0", "0");
2487 shouldBe("-4.768371580921027e-7 >> 0", "0");
2488 shouldBe("4.768371580921027e-7 >>> 0", "0");
2489 shouldBe("-4.768371580921027e-7 >>> 0", "0");
2490 shouldBe("9.536743161842054e-7 >> 0", "0");
2491 shouldBe("-9.536743161842054e-7 >> 0", "0");
2492 shouldBe("9.536743161842054e-7 >>> 0", "0");
2493 shouldBe("-9.536743161842054e-7 >>> 0", "0");
2494 shouldBe("0.0000019073486323684108 >> 0", "0");
2495 shouldBe("-0.0000019073486323684108 >> 0", "0");
2496 shouldBe("0.0000019073486323684108 >>> 0", "0");
2497 shouldBe("-0.0000019073486323684108 >>> 0", "0");
2498 shouldBe("0.0000038146972647368216 >> 0", "0");
2499 shouldBe("-0.0000038146972647368216 >> 0", "0");
2500 shouldBe("0.0000038146972647368216 >>> 0", "0");
2501 shouldBe("-0.0000038146972647368216 >>> 0", "0");
2502 shouldBe("0.000007629394529473643 >> 0", "0");
2503 shouldBe("-0.000007629394529473643 >> 0", "0");
2504 shouldBe("0.000007629394529473643 >>> 0", "0");
2505 shouldBe("-0.000007629394529473643 >>> 0", "0");
2506 shouldBe("0.000015258789058947286 >> 0", "0");
2507 shouldBe("-0.000015258789058947286 >> 0", "0");
2508 shouldBe("0.000015258789058947286 >>> 0", "0");
2509 shouldBe("-0.000015258789058947286 >>> 0", "0");
2510 shouldBe("0.000030517578117894573 >> 0", "0");
2511 shouldBe("-0.000030517578117894573 >> 0", "0");
2512 shouldBe("0.000030517578117894573 >>> 0", "0");
2513 shouldBe("-0.000030517578117894573 >>> 0", "0");
2514 shouldBe("0.000061035156235789145 >> 0", "0");
2515 shouldBe("-0.000061035156235789145 >> 0", "0");
2516 shouldBe("0.000061035156235789145 >>> 0", "0");
2517 shouldBe("-0.000061035156235789145 >>> 0", "0");
2518 shouldBe("0.00012207031247157829 >> 0", "0");
2519 shouldBe("-0.00012207031247157829 >> 0", "0");
2520 shouldBe("0.00012207031247157829 >>> 0", "0");
2521 shouldBe("-0.00012207031247157829 >>> 0", "0");
2522 shouldBe("0.00024414062494315658 >> 0", "0");
2523 shouldBe("-0.00024414062494315658 >> 0", "0");
2524 shouldBe("0.00024414062494315658 >>> 0", "0");
2525 shouldBe("-0.00024414062494315658 >>> 0", "0");
2526 shouldBe("0.00048828124988631316 >> 0", "0");
2527 shouldBe("-0.00048828124988631316 >> 0", "0");
2528 shouldBe("0.00048828124988631316 >>> 0", "0");
2529 shouldBe("-0.00048828124988631316 >>> 0", "0");
2530 shouldBe("0.0009765624997726263 >> 0", "0");
2531 shouldBe("-0.0009765624997726263 >> 0", "0");
2532 shouldBe("0.0009765624997726263 >>> 0", "0");
2533 shouldBe("-0.0009765624997726263 >>> 0", "0");
2534 shouldBe("0.0019531249995452526 >> 0", "0");
2535 shouldBe("-0.0019531249995452526 >> 0", "0");
2536 shouldBe("0.0019531249995452526 >>> 0", "0");
2537 shouldBe("-0.0019531249995452526 >>> 0", "0");
2538 shouldBe("0.0039062499990905053 >> 0", "0");
2539 shouldBe("-0.0039062499990905053 >> 0", "0");
2540 shouldBe("0.0039062499990905053 >>> 0", "0");
2541 shouldBe("-0.0039062499990905053 >>> 0", "0");
2542 shouldBe("0.007812499998181011 >> 0", "0");
2543 shouldBe("-0.007812499998181011 >> 0", "0");
2544 shouldBe("0.007812499998181011 >>> 0", "0");
2545 shouldBe("-0.007812499998181011 >>> 0", "0");
2546 shouldBe("0.015624999996362021 >> 0", "0");
2547 shouldBe("-0.015624999996362021 >> 0", "0");
2548 shouldBe("0.015624999996362021 >>> 0", "0");
2549 shouldBe("-0.015624999996362021 >>> 0", "0");
2550 shouldBe("0.031249999992724042 >> 0", "0");
2551 shouldBe("-0.031249999992724042 >> 0", "0");
2552 shouldBe("0.031249999992724042 >>> 0", "0");
2553 shouldBe("-0.031249999992724042 >>> 0", "0");
2554 shouldBe("0.062499999985448085 >> 0", "0");
2555 shouldBe("-0.062499999985448085 >> 0", "0");
2556 shouldBe("0.062499999985448085 >>> 0", "0");
2557 shouldBe("-0.062499999985448085 >>> 0", "0");
2558 shouldBe("0.12499999997089617 >> 0", "0");
2559 shouldBe("-0.12499999997089617 >> 0", "0");
2560 shouldBe("0.12499999997089617 >>> 0", "0");
2561 shouldBe("-0.12499999997089617 >>> 0", "0");
2562 shouldBe("0.24999999994179234 >> 0", "0");
2563 shouldBe("-0.24999999994179234 >> 0", "0");
2564 shouldBe("0.24999999994179234 >>> 0", "0");
2565 shouldBe("-0.24999999994179234 >>> 0", "0");
2566 shouldBe("0.4999999998835847 >> 0", "0");
2567 shouldBe("-0.4999999998835847 >> 0", "0");
2568 shouldBe("0.4999999998835847 >>> 0", "0");
2569 shouldBe("-0.4999999998835847 >>> 0", "0");
2570 shouldBe("0.9999999997671694 >> 0", "0");
2571 shouldBe("-0.9999999997671694 >> 0", "0");
2572 shouldBe("0.9999999997671694 >>> 0", "0");
2573 shouldBe("-0.9999999997671694 >>> 0", "0");
2574 shouldBe("1.9999999995343387 >> 0", "1");
2575 shouldBe("-1.9999999995343387 >> 0", "-1");
2576 shouldBe("1.9999999995343387 >>> 0", "1");
2577 shouldBe("-1.9999999995343387 >>> 0", "4294967295");
2578 shouldBe("3.9999999990686774 >> 0", "3");
2579 shouldBe("-3.9999999990686774 >> 0", "-3");
2580 shouldBe("3.9999999990686774 >>> 0", "3");
2581 shouldBe("-3.9999999990686774 >>> 0", "4294967293");
2582 shouldBe("7.999999998137355 >> 0", "7");
2583 shouldBe("-7.999999998137355 >> 0", "-7");
2584 shouldBe("7.999999998137355 >>> 0", "7");
2585 shouldBe("-7.999999998137355 >>> 0", "4294967289");
2586 shouldBe("15.99999999627471 >> 0", "15");
2587 shouldBe("-15.99999999627471 >> 0", "-15");
2588 shouldBe("15.99999999627471 >>> 0", "15");
2589 shouldBe("-15.99999999627471 >>> 0", "4294967281");
2590 shouldBe("31.99999999254942 >> 0", "31");
2591 shouldBe("-31.99999999254942 >> 0", "-31");
2592 shouldBe("31.99999999254942 >>> 0", "31");
2593 shouldBe("-31.99999999254942 >>> 0", "4294967265");
2594 shouldBe("63.99999998509884 >> 0", "63");
2595 shouldBe("-63.99999998509884 >> 0", "-63");
2596 shouldBe("63.99999998509884 >>> 0", "63");
2597 shouldBe("-63.99999998509884 >>> 0", "4294967233");
2598 shouldBe("127.99999997019768 >> 0", "127");
2599 shouldBe("-127.99999997019768 >> 0", "-127");
2600 shouldBe("127.99999997019768 >>> 0", "127");
2601 shouldBe("-127.99999997019768 >>> 0", "4294967169");
2602 shouldBe("255.99999994039536 >> 0", "255");
2603 shouldBe("-255.99999994039536 >> 0", "-255");
2604 shouldBe("255.99999994039536 >>> 0", "255");
2605 shouldBe("-255.99999994039536 >>> 0", "4294967041");
2606 shouldBe("511.9999998807907 >> 0", "511");
2607 shouldBe("-511.9999998807907 >> 0", "-511");
2608 shouldBe("511.9999998807907 >>> 0", "511");
2609 shouldBe("-511.9999998807907 >>> 0", "4294966785");
2610 shouldBe("1023.9999997615814 >> 0", "1023");
2611 shouldBe("-1023.9999997615814 >> 0", "-1023");
2612 shouldBe("1023.9999997615814 >>> 0", "1023");
2613 shouldBe("-1023.9999997615814 >>> 0", "4294966273");
2614 shouldBe("2047.9999995231628 >> 0", "2047");
2615 shouldBe("-2047.9999995231628 >> 0", "-2047");
2616 shouldBe("2047.9999995231628 >>> 0", "2047");
2617 shouldBe("-2047.9999995231628 >>> 0", "4294965249");
2618 shouldBe("4095.9999990463257 >> 0", "4095");
2619 shouldBe("-4095.9999990463257 >> 0", "-4095");
2620 shouldBe("4095.9999990463257 >>> 0", "4095");
2621 shouldBe("-4095.9999990463257 >>> 0", "4294963201");
2622 shouldBe("8191.999998092651 >> 0", "8191");
2623 shouldBe("-8191.999998092651 >> 0", "-8191");
2624 shouldBe("8191.999998092651 >>> 0", "8191");
2625 shouldBe("-8191.999998092651 >>> 0", "4294959105");
2626 shouldBe("16383.999996185303 >> 0", "16383");
2627 shouldBe("-16383.999996185303 >> 0", "-16383");
2628 shouldBe("16383.999996185303 >>> 0", "16383");
2629 shouldBe("-16383.999996185303 >>> 0", "4294950913");
2630 shouldBe("32767.999992370605 >> 0", "32767");
2631 shouldBe("-32767.999992370605 >> 0", "-32767");
2632 shouldBe("32767.999992370605 >>> 0", "32767");
2633 shouldBe("-32767.999992370605 >>> 0", "4294934529");
2634 shouldBe("65535.99998474121 >> 0", "65535");
2635 shouldBe("-65535.99998474121 >> 0", "-65535");
2636 shouldBe("65535.99998474121 >>> 0", "65535");
2637 shouldBe("-65535.99998474121 >>> 0", "4294901761");
2638 shouldBe("131071.99996948242 >> 0", "131071");
2639 shouldBe("-131071.99996948242 >> 0", "-131071");
2640 shouldBe("131071.99996948242 >>> 0", "131071");
2641 shouldBe("-131071.99996948242 >>> 0", "4294836225");
2642 shouldBe("262143.99993896484 >> 0", "262143");
2643 shouldBe("-262143.99993896484 >> 0", "-262143");
2644 shouldBe("262143.99993896484 >>> 0", "262143");
2645 shouldBe("-262143.99993896484 >>> 0", "4294705153");
2646 shouldBe("524287.9998779297 >> 0", "524287");
2647 shouldBe("-524287.9998779297 >> 0", "-524287");
2648 shouldBe("524287.9998779297 >>> 0", "524287");
2649 shouldBe("-524287.9998779297 >>> 0", "4294443009");
2650 shouldBe("1048575.9997558594 >> 0", "1048575");
2651 shouldBe("-1048575.9997558594 >> 0", "-1048575");
2652 shouldBe("1048575.9997558594 >>> 0", "1048575");
2653 shouldBe("-1048575.9997558594 >>> 0", "4293918721");
2654 shouldBe("2097151.9995117188 >> 0", "2097151");
2655 shouldBe("-2097151.9995117188 >> 0", "-2097151");
2656 shouldBe("2097151.9995117188 >>> 0", "2097151");
2657 shouldBe("-2097151.9995117188 >>> 0", "4292870145");
2658 shouldBe("4194303.9990234375 >> 0", "4194303");
2659 shouldBe("-4194303.9990234375 >> 0", "-4194303");
2660 shouldBe("4194303.9990234375 >>> 0", "4194303");
2661 shouldBe("-4194303.9990234375 >>> 0", "4290772993");
2662 shouldBe("8388607.998046875 >> 0", "8388607");
2663 shouldBe("-8388607.998046875 >> 0", "-8388607");
2664 shouldBe("8388607.998046875 >>> 0", "8388607");
2665 shouldBe("-8388607.998046875 >>> 0", "4286578689");
2666 shouldBe("16777215.99609375 >> 0", "16777215");
2667 shouldBe("-16777215.99609375 >> 0", "-16777215");
2668 shouldBe("16777215.99609375 >>> 0", "16777215");
2669 shouldBe("-16777215.99609375 >>> 0", "4278190081");
2670 shouldBe("33554431.9921875 >> 0", "33554431");
2671 shouldBe("-33554431.9921875 >> 0", "-33554431");
2672 shouldBe("33554431.9921875 >>> 0", "33554431");
2673 shouldBe("-33554431.9921875 >>> 0", "4261412865");
2674 shouldBe("67108863.984375 >> 0", "67108863");
2675 shouldBe("-67108863.984375 >> 0", "-67108863");
2676 shouldBe("67108863.984375 >>> 0", "67108863");
2677 shouldBe("-67108863.984375 >>> 0", "4227858433");
2678 shouldBe("134217727.96875 >> 0", "134217727");
2679 shouldBe("-134217727.96875 >> 0", "-134217727");
2680 shouldBe("134217727.96875 >>> 0", "134217727");
2681 shouldBe("-134217727.96875 >>> 0", "4160749569");
2682 shouldBe("268435455.9375 >> 0", "268435455");
2683 shouldBe("-268435455.9375 >> 0", "-268435455");
2684 shouldBe("268435455.9375 >>> 0", "268435455");
2685 shouldBe("-268435455.9375 >>> 0", "4026531841");
2686 shouldBe("536870911.875 >> 0", "536870911");
2687 shouldBe("-536870911.875 >> 0", "-536870911");
2688 shouldBe("536870911.875 >>> 0", "536870911");
2689 shouldBe("-536870911.875 >>> 0", "3758096385");
2690 shouldBe("1073741823.75 >> 0", "1073741823");
2691 shouldBe("-1073741823.75 >> 0", "-1073741823");
2692 shouldBe("1073741823.75 >>> 0", "1073741823");
2693 shouldBe("-1073741823.75 >>> 0", "3221225473");
2694 shouldBe("2147483647.5 >> 0", "2147483647");
2695 shouldBe("-2147483647.5 >> 0", "-2147483647");
2696 shouldBe("2147483647.5 >>> 0", "2147483647");
2697 shouldBe("-2147483647.5 >>> 0", "2147483649");
2698 shouldBe("4294967295 >> 0", "-1");
2699 shouldBe("-4294967295 >> 0", "1");
2700 shouldBe("4294967295 >>> 0", "4294967295");
2701 shouldBe("-4294967295 >>> 0", "1");
2702 shouldBe("8589934590 >> 0", "-2");
2703 shouldBe("-8589934590 >> 0", "2");
2704 shouldBe("8589934590 >>> 0", "4294967294");
2705 shouldBe("-8589934590 >>> 0", "2");
2706 shouldBe("17179869180 >> 0", "-4");
2707 shouldBe("-17179869180 >> 0", "4");
2708 shouldBe("17179869180 >>> 0", "4294967292");
2709 shouldBe("-17179869180 >>> 0", "4");
2710 shouldBe("34359738360 >> 0", "-8");
2711 shouldBe("-34359738360 >> 0", "8");
2712 shouldBe("34359738360 >>> 0", "4294967288");
2713 shouldBe("-34359738360 >>> 0", "8");
2714 shouldBe("68719476720 >> 0", "-16");
2715 shouldBe("-68719476720 >> 0", "16");
2716 shouldBe("68719476720 >>> 0", "4294967280");
2717 shouldBe("-68719476720 >>> 0", "16");
2718 shouldBe("137438953440 >> 0", "-32");
2719 shouldBe("-137438953440 >> 0", "32");
2720 shouldBe("137438953440 >>> 0", "4294967264");
2721 shouldBe("-137438953440 >>> 0", "32");
2722 shouldBe("274877906880 >> 0", "-64");
2723 shouldBe("-274877906880 >> 0", "64");
2724 shouldBe("274877906880 >>> 0", "4294967232");
2725 shouldBe("-274877906880 >>> 0", "64");
2726 shouldBe("549755813760 >> 0", "-128");
2727 shouldBe("-549755813760 >> 0", "128");
2728 shouldBe("549755813760 >>> 0", "4294967168");
2729 shouldBe("-549755813760 >>> 0", "128");
2730 shouldBe("1099511627520 >> 0", "-256");
2731 shouldBe("-1099511627520 >> 0", "256");
2732 shouldBe("1099511627520 >>> 0", "4294967040");
2733 shouldBe("-1099511627520 >>> 0", "256");
2734 shouldBe("2199023255040 >> 0", "-512");
2735 shouldBe("-2199023255040 >> 0", "512");
2736 shouldBe("2199023255040 >>> 0", "4294966784");
2737 shouldBe("-2199023255040 >>> 0", "512");
2738 shouldBe("4398046510080 >> 0", "-1024");
2739 shouldBe("-4398046510080 >> 0", "1024");
2740 shouldBe("4398046510080 >>> 0", "4294966272");
2741 shouldBe("-4398046510080 >>> 0", "1024");
2742 shouldBe("8796093020160 >> 0", "-2048");
2743 shouldBe("-8796093020160 >> 0", "2048");
2744 shouldBe("8796093020160 >>> 0", "4294965248");
2745 shouldBe("-8796093020160 >>> 0", "2048");
2746 shouldBe("17592186040320 >> 0", "-4096");
2747 shouldBe("-17592186040320 >> 0", "4096");
2748 shouldBe("17592186040320 >>> 0", "4294963200");
2749 shouldBe("-17592186040320 >>> 0", "4096");
2750 shouldBe("35184372080640 >> 0", "-8192");
2751 shouldBe("-35184372080640 >> 0", "8192");
2752 shouldBe("35184372080640 >>> 0", "4294959104");
2753 shouldBe("-35184372080640 >>> 0", "8192");
2754 shouldBe("70368744161280 >> 0", "-16384");
2755 shouldBe("-70368744161280 >> 0", "16384");
2756 shouldBe("70368744161280 >>> 0", "4294950912");
2757 shouldBe("-70368744161280 >>> 0", "16384");
2758 shouldBe("140737488322560 >> 0", "-32768");
2759 shouldBe("-140737488322560 >> 0", "32768");
2760 shouldBe("140737488322560 >>> 0", "4294934528");
2761 shouldBe("-140737488322560 >>> 0", "32768");
2762 shouldBe("281474976645120 >> 0", "-65536");
2763 shouldBe("-281474976645120 >> 0", "65536");
2764 shouldBe("281474976645120 >>> 0", "4294901760");
2765 shouldBe("-281474976645120 >>> 0", "65536");
2766 shouldBe("562949953290240 >> 0", "-131072");
2767 shouldBe("-562949953290240 >> 0", "131072");
2768 shouldBe("562949953290240 >>> 0", "4294836224");
2769 shouldBe("-562949953290240 >>> 0", "131072");
2770 shouldBe("1125899906580480 >> 0", "-262144");
2771 shouldBe("-1125899906580480 >> 0", "262144");
2772 shouldBe("1125899906580480 >>> 0", "4294705152");
2773 shouldBe("-1125899906580480 >>> 0", "262144");
2774 shouldBe("2251799813160960 >> 0", "-524288");
2775 shouldBe("-2251799813160960 >> 0", "524288");
2776 shouldBe("2251799813160960 >>> 0", "4294443008");
2777 shouldBe("-2251799813160960 >>> 0", "524288");
2778 shouldBe("4503599626321920 >> 0", "-1048576");
2779 shouldBe("-4503599626321920 >> 0", "1048576");
2780 shouldBe("4503599626321920 >>> 0", "4293918720");
2781 shouldBe("-4503599626321920 >>> 0", "1048576");
2782 shouldBe("9007199252643840 >> 0", "-2097152");
2783 shouldBe("-9007199252643840 >> 0", "2097152");
2784 shouldBe("9007199252643840 >>> 0", "4292870144");
2785 shouldBe("-9007199252643840 >>> 0", "2097152");
2786 shouldBe("18014398505287680 >> 0", "-4194304");
2787 shouldBe("-18014398505287680 >> 0", "4194304");
2788 shouldBe("18014398505287680 >>> 0", "4290772992");
2789 shouldBe("-18014398505287680 >>> 0", "4194304");
2790 shouldBe("36028797010575360 >> 0", "-8388608");
2791 shouldBe("-36028797010575360 >> 0", "8388608");
2792 shouldBe("36028797010575360 >>> 0", "4286578688");
2793 shouldBe("-36028797010575360 >>> 0", "8388608");
2794 shouldBe("72057594021150720 >> 0", "-16777216");
2795 shouldBe("-72057594021150720 >> 0", "16777216");
2796 shouldBe("72057594021150720 >>> 0", "4278190080");
2797 shouldBe("-72057594021150720 >>> 0", "16777216");
2798 shouldBe("144115188042301440 >> 0", "-33554432");
2799 shouldBe("-144115188042301440 >> 0", "33554432");
2800 shouldBe("144115188042301440 >>> 0", "4261412864");
2801 shouldBe("-144115188042301440 >>> 0", "33554432");
2802 shouldBe("288230376084602880 >> 0", "-67108864");
2803 shouldBe("-288230376084602880 >> 0", "67108864");
2804 shouldBe("288230376084602880 >>> 0", "4227858432");
2805 shouldBe("-288230376084602880 >>> 0", "67108864");
2806 shouldBe("576460752169205760 >> 0", "-134217728");
2807 shouldBe("-576460752169205760 >> 0", "134217728");
2808 shouldBe("576460752169205760 >>> 0", "4160749568");
2809 shouldBe("-576460752169205760 >>> 0", "134217728");
2810 shouldBe("1152921504338411500 >> 0", "-268435456");
2811 shouldBe("-1152921504338411500 >> 0", "268435456");
2812 shouldBe("1152921504338411500 >>> 0", "4026531840");
2813 shouldBe("-1152921504338411500 >>> 0", "268435456");
2814 shouldBe("2305843008676823000 >> 0", "-536870912");
2815 shouldBe("-2305843008676823000 >> 0", "536870912");
2816 shouldBe("2305843008676823000 >>> 0", "3758096384");
2817 shouldBe("-2305843008676823000 >>> 0", "536870912");
2818 shouldBe("4611686017353646000 >> 0", "-1073741824");
2819 shouldBe("-4611686017353646000 >> 0", "1073741824");
2820 shouldBe("4611686017353646000 >>> 0", "3221225472");
2821 shouldBe("-4611686017353646000 >>> 0", "1073741824");
2822 shouldBe("9223372034707292000 >> 0", "-2147483648");
2823 shouldBe("-9223372034707292000 >> 0", "-2147483648");
2824 shouldBe("9223372034707292000 >>> 0", "2147483648");
2825 shouldBe("-9223372034707292000 >>> 0", "2147483648");
2826 shouldBe("18446744069414584000 >> 0", "0");
2827 shouldBe("-18446744069414584000 >> 0", "0");
2828 shouldBe("18446744069414584000 >>> 0", "0");
2829 shouldBe("-18446744069414584000 >>> 0", "0");
2830 shouldBe("2.3841857907380692e-7 >> 0", "0");
2831 shouldBe("-2.3841857907380692e-7 >> 0", "0");
2832 shouldBe("2.3841857907380692e-7 >>> 0", "0");
2833 shouldBe("-2.3841857907380692e-7 >>> 0", "0");
2834 shouldBe("4.7683715814761385e-7 >> 0", "0");
2835 shouldBe("-4.7683715814761385e-7 >> 0", "0");
2836 shouldBe("4.7683715814761385e-7 >>> 0", "0");
2837 shouldBe("-4.7683715814761385e-7 >>> 0", "0");
2838 shouldBe("9.536743162952277e-7 >> 0", "0");
2839 shouldBe("-9.536743162952277e-7 >> 0", "0");
2840 shouldBe("9.536743162952277e-7 >>> 0", "0");
2841 shouldBe("-9.536743162952277e-7 >>> 0", "0");
2842 shouldBe("0.0000019073486325904554 >> 0", "0");
2843 shouldBe("-0.0000019073486325904554 >> 0", "0");
2844 shouldBe("0.0000019073486325904554 >>> 0", "0");
2845 shouldBe("-0.0000019073486325904554 >>> 0", "0");
2846 shouldBe("0.000003814697265180911 >> 0", "0");
2847 shouldBe("-0.000003814697265180911 >> 0", "0");
2848 shouldBe("0.000003814697265180911 >>> 0", "0");
2849 shouldBe("-0.000003814697265180911 >>> 0", "0");
2850 shouldBe("0.000007629394530361822 >> 0", "0");
2851 shouldBe("-0.000007629394530361822 >> 0", "0");
2852 shouldBe("0.000007629394530361822 >>> 0", "0");
2853 shouldBe("-0.000007629394530361822 >>> 0", "0");
2854 shouldBe("0.000015258789060723643 >> 0", "0");
2855 shouldBe("-0.000015258789060723643 >> 0", "0");
2856 shouldBe("0.000015258789060723643 >>> 0", "0");
2857 shouldBe("-0.000015258789060723643 >>> 0", "0");
2858 shouldBe("0.000030517578121447286 >> 0", "0");
2859 shouldBe("-0.000030517578121447286 >> 0", "0");
2860 shouldBe("0.000030517578121447286 >>> 0", "0");
2861 shouldBe("-0.000030517578121447286 >>> 0", "0");
2862 shouldBe("0.00006103515624289457 >> 0", "0");
2863 shouldBe("-0.00006103515624289457 >> 0", "0");
2864 shouldBe("0.00006103515624289457 >>> 0", "0");
2865 shouldBe("-0.00006103515624289457 >>> 0", "0");
2866 shouldBe("0.00012207031248578915 >> 0", "0");
2867 shouldBe("-0.00012207031248578915 >> 0", "0");
2868 shouldBe("0.00012207031248578915 >>> 0", "0");
2869 shouldBe("-0.00012207031248578915 >>> 0", "0");
2870 shouldBe("0.0002441406249715783 >> 0", "0");
2871 shouldBe("-0.0002441406249715783 >> 0", "0");
2872 shouldBe("0.0002441406249715783 >>> 0", "0");
2873 shouldBe("-0.0002441406249715783 >>> 0", "0");
2874 shouldBe("0.0004882812499431566 >> 0", "0");
2875 shouldBe("-0.0004882812499431566 >> 0", "0");
2876 shouldBe("0.0004882812499431566 >>> 0", "0");
2877 shouldBe("-0.0004882812499431566 >>> 0", "0");
2878 shouldBe("0.0009765624998863132 >> 0", "0");
2879 shouldBe("-0.0009765624998863132 >> 0", "0");
2880 shouldBe("0.0009765624998863132 >>> 0", "0");
2881 shouldBe("-0.0009765624998863132 >>> 0", "0");
2882 shouldBe("0.0019531249997726263 >> 0", "0");
2883 shouldBe("-0.0019531249997726263 >> 0", "0");
2884 shouldBe("0.0019531249997726263 >>> 0", "0");
2885 shouldBe("-0.0019531249997726263 >>> 0", "0");
2886 shouldBe("0.0039062499995452526 >> 0", "0");
2887 shouldBe("-0.0039062499995452526 >> 0", "0");
2888 shouldBe("0.0039062499995452526 >>> 0", "0");
2889 shouldBe("-0.0039062499995452526 >>> 0", "0");
2890 shouldBe("0.007812499999090505 >> 0", "0");
2891 shouldBe("-0.007812499999090505 >> 0", "0");
2892 shouldBe("0.007812499999090505 >>> 0", "0");
2893 shouldBe("-0.007812499999090505 >>> 0", "0");
2894 shouldBe("0.01562499999818101 >> 0", "0");
2895 shouldBe("-0.01562499999818101 >> 0", "0");
2896 shouldBe("0.01562499999818101 >>> 0", "0");
2897 shouldBe("-0.01562499999818101 >>> 0", "0");
2898 shouldBe("0.03124999999636202 >> 0", "0");
2899 shouldBe("-0.03124999999636202 >> 0", "0");
2900 shouldBe("0.03124999999636202 >>> 0", "0");
2901 shouldBe("-0.03124999999636202 >>> 0", "0");
2902 shouldBe("0.06249999999272404 >> 0", "0");
2903 shouldBe("-0.06249999999272404 >> 0", "0");
2904 shouldBe("0.06249999999272404 >>> 0", "0");
2905 shouldBe("-0.06249999999272404 >>> 0", "0");
2906 shouldBe("0.12499999998544808 >> 0", "0");
2907 shouldBe("-0.12499999998544808 >> 0", "0");
2908 shouldBe("0.12499999998544808 >>> 0", "0");
2909 shouldBe("-0.12499999998544808 >>> 0", "0");
2910 shouldBe("0.24999999997089617 >> 0", "0");
2911 shouldBe("-0.24999999997089617 >> 0", "0");
2912 shouldBe("0.24999999997089617 >>> 0", "0");
2913 shouldBe("-0.24999999997089617 >>> 0", "0");
2914 shouldBe("0.49999999994179234 >> 0", "0");
2915 shouldBe("-0.49999999994179234 >> 0", "0");
2916 shouldBe("0.49999999994179234 >>> 0", "0");
2917 shouldBe("-0.49999999994179234 >>> 0", "0");
2918 shouldBe("0.9999999998835847 >> 0", "0");
2919 shouldBe("-0.9999999998835847 >> 0", "0");
2920 shouldBe("0.9999999998835847 >>> 0", "0");
2921 shouldBe("-0.9999999998835847 >>> 0", "0");
2922 shouldBe("1.9999999997671694 >> 0", "1");
2923 shouldBe("-1.9999999997671694 >> 0", "-1");
2924 shouldBe("1.9999999997671694 >>> 0", "1");
2925 shouldBe("-1.9999999997671694 >>> 0", "4294967295");
2926 shouldBe("3.9999999995343387 >> 0", "3");
2927 shouldBe("-3.9999999995343387 >> 0", "-3");
2928 shouldBe("3.9999999995343387 >>> 0", "3");
2929 shouldBe("-3.9999999995343387 >>> 0", "4294967293");
2930 shouldBe("7.999999999068677 >> 0", "7");
2931 shouldBe("-7.999999999068677 >> 0", "-7");
2932 shouldBe("7.999999999068677 >>> 0", "7");
2933 shouldBe("-7.999999999068677 >>> 0", "4294967289");
2934 shouldBe("15.999999998137355 >> 0", "15");
2935 shouldBe("-15.999999998137355 >> 0", "-15");
2936 shouldBe("15.999999998137355 >>> 0", "15");
2937 shouldBe("-15.999999998137355 >>> 0", "4294967281");
2938 shouldBe("31.99999999627471 >> 0", "31");
2939 shouldBe("-31.99999999627471 >> 0", "-31");
2940 shouldBe("31.99999999627471 >>> 0", "31");
2941 shouldBe("-31.99999999627471 >>> 0", "4294967265");
2942 shouldBe("63.99999999254942 >> 0", "63");
2943 shouldBe("-63.99999999254942 >> 0", "-63");
2944 shouldBe("63.99999999254942 >>> 0", "63");
2945 shouldBe("-63.99999999254942 >>> 0", "4294967233");
2946 shouldBe("127.99999998509884 >> 0", "127");
2947 shouldBe("-127.99999998509884 >> 0", "-127");
2948 shouldBe("127.99999998509884 >>> 0", "127");
2949 shouldBe("-127.99999998509884 >>> 0", "4294967169");
2950 shouldBe("255.99999997019768 >> 0", "255");
2951 shouldBe("-255.99999997019768 >> 0", "-255");
2952 shouldBe("255.99999997019768 >>> 0", "255");
2953 shouldBe("-255.99999997019768 >>> 0", "4294967041");
2954 shouldBe("511.99999994039536 >> 0", "511");
2955 shouldBe("-511.99999994039536 >> 0", "-511");
2956 shouldBe("511.99999994039536 >>> 0", "511");
2957 shouldBe("-511.99999994039536 >>> 0", "4294966785");
2958 shouldBe("1023.9999998807907 >> 0", "1023");
2959 shouldBe("-1023.9999998807907 >> 0", "-1023");
2960 shouldBe("1023.9999998807907 >>> 0", "1023");
2961 shouldBe("-1023.9999998807907 >>> 0", "4294966273");
2962 shouldBe("2047.9999997615814 >> 0", "2047");
2963 shouldBe("-2047.9999997615814 >> 0", "-2047");
2964 shouldBe("2047.9999997615814 >>> 0", "2047");
2965 shouldBe("-2047.9999997615814 >>> 0", "4294965249");
2966 shouldBe("4095.999999523163 >> 0", "4095");
2967 shouldBe("-4095.999999523163 >> 0", "-4095");
2968 shouldBe("4095.999999523163 >>> 0", "4095");
2969 shouldBe("-4095.999999523163 >>> 0", "4294963201");
2970 shouldBe("8191.999999046326 >> 0", "8191");
2971 shouldBe("-8191.999999046326 >> 0", "-8191");
2972 shouldBe("8191.999999046326 >>> 0", "8191");
2973 shouldBe("-8191.999999046326 >>> 0", "4294959105");
2974 shouldBe("16383.999998092651 >> 0", "16383");
2975 shouldBe("-16383.999998092651 >> 0", "-16383");
2976 shouldBe("16383.999998092651 >>> 0", "16383");
2977 shouldBe("-16383.999998092651 >>> 0", "4294950913");
2978 shouldBe("32767.999996185303 >> 0", "32767");
2979 shouldBe("-32767.999996185303 >> 0", "-32767");
2980 shouldBe("32767.999996185303 >>> 0", "32767");
2981 shouldBe("-32767.999996185303 >>> 0", "4294934529");
2982 shouldBe("65535.999992370605 >> 0", "65535");
2983 shouldBe("-65535.999992370605 >> 0", "-65535");
2984 shouldBe("65535.999992370605 >>> 0", "65535");
2985 shouldBe("-65535.999992370605 >>> 0", "4294901761");
2986 shouldBe("131071.99998474121 >> 0", "131071");
2987 shouldBe("-131071.99998474121 >> 0", "-131071");
2988 shouldBe("131071.99998474121 >>> 0", "131071");
2989 shouldBe("-131071.99998474121 >>> 0", "4294836225");
2990 shouldBe("262143.99996948242 >> 0", "262143");
2991 shouldBe("-262143.99996948242 >> 0", "-262143");
2992 shouldBe("262143.99996948242 >>> 0", "262143");
2993 shouldBe("-262143.99996948242 >>> 0", "4294705153");
2994 shouldBe("524287.99993896484 >> 0", "524287");
2995 shouldBe("-524287.99993896484 >> 0", "-524287");
2996 shouldBe("524287.99993896484 >>> 0", "524287");
2997 shouldBe("-524287.99993896484 >>> 0", "4294443009");
2998 shouldBe("1048575.9998779297 >> 0", "1048575");
2999 shouldBe("-1048575.9998779297 >> 0", "-1048575");
3000 shouldBe("1048575.9998779297 >>> 0", "1048575");
3001 shouldBe("-1048575.9998779297 >>> 0", "4293918721");
3002 shouldBe("2097151.9997558594 >> 0", "2097151");
3003 shouldBe("-2097151.9997558594 >> 0", "-2097151");
3004 shouldBe("2097151.9997558594 >>> 0", "2097151");
3005 shouldBe("-2097151.9997558594 >>> 0", "4292870145");
3006 shouldBe("4194303.9995117188 >> 0", "4194303");
3007 shouldBe("-4194303.9995117188 >> 0", "-4194303");
3008 shouldBe("4194303.9995117188 >>> 0", "4194303");
3009 shouldBe("-4194303.9995117188 >>> 0", "4290772993");
3010 shouldBe("8388607.9990234375 >> 0", "8388607");
3011 shouldBe("-8388607.9990234375 >> 0", "-8388607");
3012 shouldBe("8388607.9990234375 >>> 0", "8388607");
3013 shouldBe("-8388607.9990234375 >>> 0", "4286578689");
3014 shouldBe("16777215.998046875 >> 0", "16777215");
3015 shouldBe("-16777215.998046875 >> 0", "-16777215");
3016 shouldBe("16777215.998046875 >>> 0", "16777215");
3017 shouldBe("-16777215.998046875 >>> 0", "4278190081");
3018 shouldBe("33554431.99609375 >> 0", "33554431");
3019 shouldBe("-33554431.99609375 >> 0", "-33554431");
3020 shouldBe("33554431.99609375 >>> 0", "33554431");
3021 shouldBe("-33554431.99609375 >>> 0", "4261412865");
3022 shouldBe("67108863.9921875 >> 0", "67108863");
3023 shouldBe("-67108863.9921875 >> 0", "-67108863");
3024 shouldBe("67108863.9921875 >>> 0", "67108863");
3025 shouldBe("-67108863.9921875 >>> 0", "4227858433");
3026 shouldBe("134217727.984375 >> 0", "134217727");
3027 shouldBe("-134217727.984375 >> 0", "-134217727");
3028 shouldBe("134217727.984375 >>> 0", "134217727");
3029 shouldBe("-134217727.984375 >>> 0", "4160749569");
3030 shouldBe("268435455.96875 >> 0", "268435455");
3031 shouldBe("-268435455.96875 >> 0", "-268435455");
3032 shouldBe("268435455.96875 >>> 0", "268435455");
3033 shouldBe("-268435455.96875 >>> 0", "4026531841");
3034 shouldBe("536870911.9375 >> 0", "536870911");
3035 shouldBe("-536870911.9375 >> 0", "-536870911");
3036 shouldBe("536870911.9375 >>> 0", "536870911");
3037 shouldBe("-536870911.9375 >>> 0", "3758096385");
3038 shouldBe("1073741823.875 >> 0", "1073741823");
3039 shouldBe("-1073741823.875 >> 0", "-1073741823");
3040 shouldBe("1073741823.875 >>> 0", "1073741823");
3041 shouldBe("-1073741823.875 >>> 0", "3221225473");
3042 shouldBe("2147483647.75 >> 0", "2147483647");
3043 shouldBe("-2147483647.75 >> 0", "-2147483647");
3044 shouldBe("2147483647.75 >>> 0", "2147483647");
3045 shouldBe("-2147483647.75 >>> 0", "2147483649");
3046 shouldBe("4294967295.5 >> 0", "-1");
3047 shouldBe("-4294967295.5 >> 0", "1");
3048 shouldBe("4294967295.5 >>> 0", "4294967295");
3049 shouldBe("-4294967295.5 >>> 0", "1");
3050 shouldBe("8589934591 >> 0", "-1");
3051 shouldBe("-8589934591 >> 0", "1");
3052 shouldBe("8589934591 >>> 0", "4294967295");
3053 shouldBe("-8589934591 >>> 0", "1");
3054 shouldBe("17179869182 >> 0", "-2");
3055 shouldBe("-17179869182 >> 0", "2");
3056 shouldBe("17179869182 >>> 0", "4294967294");
3057 shouldBe("-17179869182 >>> 0", "2");
3058 shouldBe("34359738364 >> 0", "-4");
3059 shouldBe("-34359738364 >> 0", "4");
3060 shouldBe("34359738364 >>> 0", "4294967292");
3061 shouldBe("-34359738364 >>> 0", "4");
3062 shouldBe("68719476728 >> 0", "-8");
3063 shouldBe("-68719476728 >> 0", "8");
3064 shouldBe("68719476728 >>> 0", "4294967288");
3065 shouldBe("-68719476728 >>> 0", "8");
3066 shouldBe("137438953456 >> 0", "-16");
3067 shouldBe("-137438953456 >> 0", "16");
3068 shouldBe("137438953456 >>> 0", "4294967280");
3069 shouldBe("-137438953456 >>> 0", "16");
3070 shouldBe("274877906912 >> 0", "-32");
3071 shouldBe("-274877906912 >> 0", "32");
3072 shouldBe("274877906912 >>> 0", "4294967264");
3073 shouldBe("-274877906912 >>> 0", "32");
3074 shouldBe("549755813824 >> 0", "-64");
3075 shouldBe("-549755813824 >> 0", "64");
3076 shouldBe("549755813824 >>> 0", "4294967232");
3077 shouldBe("-549755813824 >>> 0", "64");
3078 shouldBe("1099511627648 >> 0", "-128");
3079 shouldBe("-1099511627648 >> 0", "128");
3080 shouldBe("1099511627648 >>> 0", "4294967168");
3081 shouldBe("-1099511627648 >>> 0", "128");
3082 shouldBe("2199023255296 >> 0", "-256");
3083 shouldBe("-2199023255296 >> 0", "256");
3084 shouldBe("2199023255296 >>> 0", "4294967040");
3085 shouldBe("-2199023255296 >>> 0", "256");
3086 shouldBe("4398046510592 >> 0", "-512");
3087 shouldBe("-4398046510592 >> 0", "512");
3088 shouldBe("4398046510592 >>> 0", "4294966784");
3089 shouldBe("-4398046510592 >>> 0", "512");
3090 shouldBe("8796093021184 >> 0", "-1024");
3091 shouldBe("-8796093021184 >> 0", "1024");
3092 shouldBe("8796093021184 >>> 0", "4294966272");
3093 shouldBe("-8796093021184 >>> 0", "1024");
3094 shouldBe("17592186042368 >> 0", "-2048");
3095 shouldBe("-17592186042368 >> 0", "2048");
3096 shouldBe("17592186042368 >>> 0", "4294965248");
3097 shouldBe("-17592186042368 >>> 0", "2048");
3098 shouldBe("35184372084736 >> 0", "-4096");
3099 shouldBe("-35184372084736 >> 0", "4096");
3100 shouldBe("35184372084736 >>> 0", "4294963200");
3101 shouldBe("-35184372084736 >>> 0", "4096");
3102 shouldBe("70368744169472 >> 0", "-8192");
3103 shouldBe("-70368744169472 >> 0", "8192");
3104 shouldBe("70368744169472 >>> 0", "4294959104");
3105 shouldBe("-70368744169472 >>> 0", "8192");
3106 shouldBe("140737488338944 >> 0", "-16384");
3107 shouldBe("-140737488338944 >> 0", "16384");
3108 shouldBe("140737488338944 >>> 0", "4294950912");
3109 shouldBe("-140737488338944 >>> 0", "16384");
3110 shouldBe("281474976677888 >> 0", "-32768");
3111 shouldBe("-281474976677888 >> 0", "32768");
3112 shouldBe("281474976677888 >>> 0", "4294934528");
3113 shouldBe("-281474976677888 >>> 0", "32768");
3114 shouldBe("562949953355776 >> 0", "-65536");
3115 shouldBe("-562949953355776 >> 0", "65536");
3116 shouldBe("562949953355776 >>> 0", "4294901760");
3117 shouldBe("-562949953355776 >>> 0", "65536");
3118 shouldBe("1125899906711552 >> 0", "-131072");
3119 shouldBe("-1125899906711552 >> 0", "131072");
3120 shouldBe("1125899906711552 >>> 0", "4294836224");
3121 shouldBe("-1125899906711552 >>> 0", "131072");
3122 shouldBe("2251799813423104 >> 0", "-262144");
3123 shouldBe("-2251799813423104 >> 0", "262144");
3124 shouldBe("2251799813423104 >>> 0", "4294705152");
3125 shouldBe("-2251799813423104 >>> 0", "262144");
3126 shouldBe("4503599626846208 >> 0", "-524288");
3127 shouldBe("-4503599626846208 >> 0", "524288");
3128 shouldBe("4503599626846208 >>> 0", "4294443008");
3129 shouldBe("-4503599626846208 >>> 0", "524288");
3130 shouldBe("9007199253692416 >> 0", "-1048576");
3131 shouldBe("-9007199253692416 >> 0", "1048576");
3132 shouldBe("9007199253692416 >>> 0", "4293918720");
3133 shouldBe("-9007199253692416 >>> 0", "1048576");
3134 shouldBe("18014398507384832 >> 0", "-2097152");
3135 shouldBe("-18014398507384832 >> 0", "2097152");
3136 shouldBe("18014398507384832 >>> 0", "4292870144");
3137 shouldBe("-18014398507384832 >>> 0", "2097152");
3138 shouldBe("36028797014769664 >> 0", "-4194304");
3139 shouldBe("-36028797014769664 >> 0", "4194304");
3140 shouldBe("36028797014769664 >>> 0", "4290772992");
3141 shouldBe("-36028797014769664 >>> 0", "4194304");
3142 shouldBe("72057594029539330 >> 0", "-8388608");
3143 shouldBe("-72057594029539330 >> 0", "8388608");
3144 shouldBe("72057594029539330 >>> 0", "4286578688");
3145 shouldBe("-72057594029539330 >>> 0", "8388608");
3146 shouldBe("144115188059078660 >> 0", "-16777216");
3147 shouldBe("-144115188059078660 >> 0", "16777216");
3148 shouldBe("144115188059078660 >>> 0", "4278190080");
3149 shouldBe("-144115188059078660 >>> 0", "16777216");
3150 shouldBe("288230376118157300 >> 0", "-33554432");
3151 shouldBe("-288230376118157300 >> 0", "33554432");
3152 shouldBe("288230376118157300 >>> 0", "4261412864");
3153 shouldBe("-288230376118157300 >>> 0", "33554432");
3154 shouldBe("576460752236314600 >> 0", "-67108864");
3155 shouldBe("-576460752236314600 >> 0", "67108864");
3156 shouldBe("576460752236314600 >>> 0", "4227858432");
3157 shouldBe("-576460752236314600 >>> 0", "67108864");
3158 shouldBe("1152921504472629200 >> 0", "-134217728");
3159 shouldBe("-1152921504472629200 >> 0", "134217728");
3160 shouldBe("1152921504472629200 >>> 0", "4160749568");
3161 shouldBe("-1152921504472629200 >>> 0", "134217728");
3162 shouldBe("2305843008945258500 >> 0", "-268435456");
3163 shouldBe("-2305843008945258500 >> 0", "268435456");
3164 shouldBe("2305843008945258500 >>> 0", "4026531840");
3165 shouldBe("-2305843008945258500 >>> 0", "268435456");
3166 shouldBe("4611686017890517000 >> 0", "-536870912");
3167 shouldBe("-4611686017890517000 >> 0", "536870912");
3168 shouldBe("4611686017890517000 >>> 0", "3758096384");
3169 shouldBe("-4611686017890517000 >>> 0", "536870912");
3170 shouldBe("9223372035781034000 >> 0", "-1073741824");
3171 shouldBe("-9223372035781034000 >> 0", "1073741824");
3172 shouldBe("9223372035781034000 >>> 0", "3221225472");
3173 shouldBe("-9223372035781034000 >>> 0", "1073741824");
3174 shouldBe("18446744071562068000 >> 0", "-2147483648");
3175 shouldBe("-18446744071562068000 >> 0", "-2147483648");
3176 shouldBe("18446744071562068000 >>> 0", "2147483648");
3177 shouldBe("-18446744071562068000 >>> 0", "2147483648");
3178 shouldBe("36893488143124136000 >> 0", "0");
3179 shouldBe("-36893488143124136000 >> 0", "0");
3180 shouldBe("36893488143124136000 >>> 0", "0");
3181 shouldBe("-36893488143124136000 >>> 0", "0");
3182 shouldBe("0.12500000002910386 >> 0", "0");
3183 shouldBe("-0.12500000002910386 >> 0", "0");
3184 shouldBe("0.12500000002910386 >>> 0", "0");
3185 shouldBe("-0.12500000002910386 >>> 0", "0");
3186 shouldBe("0.2500000000582077 >> 0", "0");
3187 shouldBe("-0.2500000000582077 >> 0", "0");
3188 shouldBe("0.2500000000582077 >>> 0", "0");
3189 shouldBe("-0.2500000000582077 >>> 0", "0");
3190 shouldBe("0.5000000001164154 >> 0", "0");
3191 shouldBe("-0.5000000001164154 >> 0", "0");
3192 shouldBe("0.5000000001164154 >>> 0", "0");
3193 shouldBe("-0.5000000001164154 >>> 0", "0");
3194 shouldBe("1.0000000002328309 >> 0", "1");
3195 shouldBe("-1.0000000002328309 >> 0", "-1");
3196 shouldBe("1.0000000002328309 >>> 0", "1");
3197 shouldBe("-1.0000000002328309 >>> 0", "4294967295");
3198 shouldBe("2.0000000004656617 >> 0", "2");
3199 shouldBe("-2.0000000004656617 >> 0", "-2");
3200 shouldBe("2.0000000004656617 >>> 0", "2");
3201 shouldBe("-2.0000000004656617 >>> 0", "4294967294");
3202 shouldBe("4.0000000009313235 >> 0", "4");
3203 shouldBe("-4.0000000009313235 >> 0", "-4");
3204 shouldBe("4.0000000009313235 >>> 0", "4");
3205 shouldBe("-4.0000000009313235 >>> 0", "4294967292");
3206 shouldBe("8.000000001862647 >> 0", "8");
3207 shouldBe("-8.000000001862647 >> 0", "-8");
3208 shouldBe("8.000000001862647 >>> 0", "8");
3209 shouldBe("-8.000000001862647 >>> 0", "4294967288");
3210 shouldBe("16.000000003725294 >> 0", "16");
3211 shouldBe("-16.000000003725294 >> 0", "-16");
3212 shouldBe("16.000000003725294 >>> 0", "16");
3213 shouldBe("-16.000000003725294 >>> 0", "4294967280");
3214 shouldBe("32.00000000745059 >> 0", "32");
3215 shouldBe("-32.00000000745059 >> 0", "-32");
3216 shouldBe("32.00000000745059 >>> 0", "32");
3217 shouldBe("-32.00000000745059 >>> 0", "4294967264");
3218 shouldBe("64.00000001490118 >> 0", "64");
3219 shouldBe("-64.00000001490118 >> 0", "-64");
3220 shouldBe("64.00000001490118 >>> 0", "64");
3221 shouldBe("-64.00000001490118 >>> 0", "4294967232");
3222 shouldBe("128.00000002980235 >> 0", "128");
3223 shouldBe("-128.00000002980235 >> 0", "-128");
3224 shouldBe("128.00000002980235 >>> 0", "128");
3225 shouldBe("-128.00000002980235 >>> 0", "4294967168");
3226 shouldBe("256.0000000596047 >> 0", "256");
3227 shouldBe("-256.0000000596047 >> 0", "-256");
3228 shouldBe("256.0000000596047 >>> 0", "256");
3229 shouldBe("-256.0000000596047 >>> 0", "4294967040");
3230 shouldBe("512.0000001192094 >> 0", "512");
3231 shouldBe("-512.0000001192094 >> 0", "-512");
3232 shouldBe("512.0000001192094 >>> 0", "512");
3233 shouldBe("-512.0000001192094 >>> 0", "4294966784");
3234 shouldBe("1024.0000002384188 >> 0", "1024");
3235 shouldBe("-1024.0000002384188 >> 0", "-1024");
3236 shouldBe("1024.0000002384188 >>> 0", "1024");
3237 shouldBe("-1024.0000002384188 >>> 0", "4294966272");
3238 shouldBe("2048.0000004768376 >> 0", "2048");
3239 shouldBe("-2048.0000004768376 >> 0", "-2048");
3240 shouldBe("2048.0000004768376 >>> 0", "2048");
3241 shouldBe("-2048.0000004768376 >>> 0", "4294965248");
3242 shouldBe("4096.000000953675 >> 0", "4096");
3243 shouldBe("-4096.000000953675 >> 0", "-4096");
3244 shouldBe("4096.000000953675 >>> 0", "4096");
3245 shouldBe("-4096.000000953675 >>> 0", "4294963200");
3246 shouldBe("8192.00000190735 >> 0", "8192");
3247 shouldBe("-8192.00000190735 >> 0", "-8192");
3248 shouldBe("8192.00000190735 >>> 0", "8192");
3249 shouldBe("-8192.00000190735 >>> 0", "4294959104");
3250 shouldBe("16384.0000038147 >> 0", "16384");
3251 shouldBe("-16384.0000038147 >> 0", "-16384");
3252 shouldBe("16384.0000038147 >>> 0", "16384");
3253 shouldBe("-16384.0000038147 >>> 0", "4294950912");
3254 shouldBe("32768.0000076294 >> 0", "32768");
3255 shouldBe("-32768.0000076294 >> 0", "-32768");
3256 shouldBe("32768.0000076294 >>> 0", "32768");
3257 shouldBe("-32768.0000076294 >>> 0", "4294934528");
3258 shouldBe("65536.0000152588 >> 0", "65536");
3259 shouldBe("-65536.0000152588 >> 0", "-65536");
3260 shouldBe("65536.0000152588 >>> 0", "65536");
3261 shouldBe("-65536.0000152588 >>> 0", "4294901760");
3262 shouldBe("131072.0000305176 >> 0", "131072");
3263 shouldBe("-131072.0000305176 >> 0", "-131072");
3264 shouldBe("131072.0000305176 >>> 0", "131072");
3265 shouldBe("-131072.0000305176 >>> 0", "4294836224");
3266 shouldBe("262144.0000610352 >> 0", "262144");
3267 shouldBe("-262144.0000610352 >> 0", "-262144");
3268 shouldBe("262144.0000610352 >>> 0", "262144");
3269 shouldBe("-262144.0000610352 >>> 0", "4294705152");
3270 shouldBe("524288.0001220704 >> 0", "524288");
3271 shouldBe("-524288.0001220704 >> 0", "-524288");
3272 shouldBe("524288.0001220704 >>> 0", "524288");
3273 shouldBe("-524288.0001220704 >>> 0", "4294443008");
3274 shouldBe("1048576.0002441409 >> 0", "1048576");
3275 shouldBe("-1048576.0002441409 >> 0", "-1048576");
3276 shouldBe("1048576.0002441409 >>> 0", "1048576");
3277 shouldBe("-1048576.0002441409 >>> 0", "4293918720");
3278 shouldBe("2097152.0004882817 >> 0", "2097152");
3279 shouldBe("-2097152.0004882817 >> 0", "-2097152");
3280 shouldBe("2097152.0004882817 >>> 0", "2097152");
3281 shouldBe("-2097152.0004882817 >>> 0", "4292870144");
3282 shouldBe("4194304.000976563 >> 0", "4194304");
3283 shouldBe("-4194304.000976563 >> 0", "-4194304");
3284 shouldBe("4194304.000976563 >>> 0", "4194304");
3285 shouldBe("-4194304.000976563 >>> 0", "4290772992");
3286 shouldBe("8388608.001953127 >> 0", "8388608");
3287 shouldBe("-8388608.001953127 >> 0", "-8388608");
3288 shouldBe("8388608.001953127 >>> 0", "8388608");
3289 shouldBe("-8388608.001953127 >>> 0", "4286578688");
3290 shouldBe("16777216.003906254 >> 0", "16777216");
3291 shouldBe("-16777216.003906254 >> 0", "-16777216");
3292 shouldBe("16777216.003906254 >>> 0", "16777216");
3293 shouldBe("-16777216.003906254 >>> 0", "4278190080");
3294 shouldBe("33554432.00781251 >> 0", "33554432");
3295 shouldBe("-33554432.00781251 >> 0", "-33554432");
3296 shouldBe("33554432.00781251 >>> 0", "33554432");
3297 shouldBe("-33554432.00781251 >>> 0", "4261412864");
3298 shouldBe("67108864.01562501 >> 0", "67108864");
3299 shouldBe("-67108864.01562501 >> 0", "-67108864");
3300 shouldBe("67108864.01562501 >>> 0", "67108864");
3301 shouldBe("-67108864.01562501 >>> 0", "4227858432");
3302 shouldBe("134217728.03125003 >> 0", "134217728");
3303 shouldBe("-134217728.03125003 >> 0", "-134217728");
3304 shouldBe("134217728.03125003 >>> 0", "134217728");
3305 shouldBe("-134217728.03125003 >>> 0", "4160749568");
3306 shouldBe("268435456.06250006 >> 0", "268435456");
3307 shouldBe("-268435456.06250006 >> 0", "-268435456");
3308 shouldBe("268435456.06250006 >>> 0", "268435456");
3309 shouldBe("-268435456.06250006 >>> 0", "4026531840");
3310 shouldBe("536870912.1250001 >> 0", "536870912");
3311 shouldBe("-536870912.1250001 >> 0", "-536870912");
3312 shouldBe("536870912.1250001 >>> 0", "536870912");
3313 shouldBe("-536870912.1250001 >>> 0", "3758096384");
3314 shouldBe("1073741824.2500002 >> 0", "1073741824");
3315 shouldBe("-1073741824.2500002 >> 0", "-1073741824");
3316 shouldBe("1073741824.2500002 >>> 0", "1073741824");
3317 shouldBe("-1073741824.2500002 >>> 0", "3221225472");
3318 shouldBe("2147483648.5000005 >> 0", "-2147483648");
3319 shouldBe("-2147483648.5000005 >> 0", "-2147483648");
3320 shouldBe("2147483648.5000005 >>> 0", "2147483648");
3321 shouldBe("-2147483648.5000005 >>> 0", "2147483648");
3322 shouldBe("4294967297.000001 >> 0", "1");
3323 shouldBe("-4294967297.000001 >> 0", "-1");
3324 shouldBe("4294967297.000001 >>> 0", "1");
3325 shouldBe("-4294967297.000001 >>> 0", "4294967295");
3326 shouldBe("8589934594.000002 >> 0", "2");
3327 shouldBe("-8589934594.000002 >> 0", "-2");
3328 shouldBe("8589934594.000002 >>> 0", "2");
3329 shouldBe("-8589934594.000002 >>> 0", "4294967294");
3330 shouldBe("17179869188.000004 >> 0", "4");
3331 shouldBe("-17179869188.000004 >> 0", "-4");
3332 shouldBe("17179869188.000004 >>> 0", "4");
3333 shouldBe("-17179869188.000004 >>> 0", "4294967292");
3334 shouldBe("34359738376.00001 >> 0", "8");
3335 shouldBe("-34359738376.00001 >> 0", "-8");
3336 shouldBe("34359738376.00001 >>> 0", "8");
3337 shouldBe("-34359738376.00001 >>> 0", "4294967288");
3338 shouldBe("68719476752.00002 >> 0", "16");
3339 shouldBe("-68719476752.00002 >> 0", "-16");
3340 shouldBe("68719476752.00002 >>> 0", "16");
3341 shouldBe("-68719476752.00002 >>> 0", "4294967280");
3342 shouldBe("137438953504.00003 >> 0", "32");
3343 shouldBe("-137438953504.00003 >> 0", "-32");
3344 shouldBe("137438953504.00003 >>> 0", "32");
3345 shouldBe("-137438953504.00003 >>> 0", "4294967264");
3346 shouldBe("274877907008.00006 >> 0", "64");
3347 shouldBe("-274877907008.00006 >> 0", "-64");
3348 shouldBe("274877907008.00006 >>> 0", "64");
3349 shouldBe("-274877907008.00006 >>> 0", "4294967232");
3350 shouldBe("549755814016.0001 >> 0", "128");
3351 shouldBe("-549755814016.0001 >> 0", "-128");
3352 shouldBe("549755814016.0001 >>> 0", "128");
3353 shouldBe("-549755814016.0001 >>> 0", "4294967168");
3354 shouldBe("1099511628032.0002 >> 0", "256");
3355 shouldBe("-1099511628032.0002 >> 0", "-256");
3356 shouldBe("1099511628032.0002 >>> 0", "256");
3357 shouldBe("-1099511628032.0002 >>> 0", "4294967040");
3358 shouldBe("2199023256064.0005 >> 0", "512");
3359 shouldBe("-2199023256064.0005 >> 0", "-512");
3360 shouldBe("2199023256064.0005 >>> 0", "512");
3361 shouldBe("-2199023256064.0005 >>> 0", "4294966784");
3362 shouldBe("4398046512128.001 >> 0", "1024");
3363 shouldBe("-4398046512128.001 >> 0", "-1024");
3364 shouldBe("4398046512128.001 >>> 0", "1024");
3365 shouldBe("-4398046512128.001 >>> 0", "4294966272");
3366 shouldBe("8796093024256.002 >> 0", "2048");
3367 shouldBe("-8796093024256.002 >> 0", "-2048");
3368 shouldBe("8796093024256.002 >>> 0", "2048");
3369 shouldBe("-8796093024256.002 >>> 0", "4294965248");
3370 shouldBe("17592186048512.004 >> 0", "4096");
3371 shouldBe("-17592186048512.004 >> 0", "-4096");
3372 shouldBe("17592186048512.004 >>> 0", "4096");
3373 shouldBe("-17592186048512.004 >>> 0", "4294963200");
3374 shouldBe("35184372097024.01 >> 0", "8192");
3375 shouldBe("-35184372097024.01 >> 0", "-8192");
3376 shouldBe("35184372097024.01 >>> 0", "8192");
3377 shouldBe("-35184372097024.01 >>> 0", "4294959104");
3378 shouldBe("70368744194048.02 >> 0", "16384");
3379 shouldBe("-70368744194048.02 >> 0", "-16384");
3380 shouldBe("70368744194048.02 >>> 0", "16384");
3381 shouldBe("-70368744194048.02 >>> 0", "4294950912");
3382 shouldBe("140737488388096.03 >> 0", "32768");
3383 shouldBe("-140737488388096.03 >> 0", "-32768");
3384 shouldBe("140737488388096.03 >>> 0", "32768");
3385 shouldBe("-140737488388096.03 >>> 0", "4294934528");
3386 shouldBe("281474976776192.06 >> 0", "65536");
3387 shouldBe("-281474976776192.06 >> 0", "-65536");
3388 shouldBe("281474976776192.06 >>> 0", "65536");
3389 shouldBe("-281474976776192.06 >>> 0", "4294901760");
3390 shouldBe("562949953552384.1 >> 0", "131072");
3391 shouldBe("-562949953552384.1 >> 0", "-131072");
3392 shouldBe("562949953552384.1 >>> 0", "131072");
3393 shouldBe("-562949953552384.1 >>> 0", "4294836224");
3394 shouldBe("1125899907104768.3 >> 0", "262144");
3395 shouldBe("-1125899907104768.3 >> 0", "-262144");
3396 shouldBe("1125899907104768.3 >>> 0", "262144");
3397 shouldBe("-1125899907104768.3 >>> 0", "4294705152");
3398 shouldBe("2251799814209536.5 >> 0", "524288");
3399 shouldBe("-2251799814209536.5 >> 0", "-524288");
3400 shouldBe("2251799814209536.5 >>> 0", "524288");
3401 shouldBe("-2251799814209536.5 >>> 0", "4294443008");
3402 shouldBe("4503599628419073 >> 0", "1048577");
3403 shouldBe("-4503599628419073 >> 0", "-1048577");
3404 shouldBe("4503599628419073 >>> 0", "1048577");
3405 shouldBe("-4503599628419073 >>> 0", "4293918719");
3406 shouldBe("9007199256838146 >> 0", "2097154");
3407 shouldBe("-9007199256838146 >> 0", "-2097154");
3408 shouldBe("9007199256838146 >>> 0", "2097154");
3409 shouldBe("-9007199256838146 >>> 0", "4292870142");
3410 shouldBe("18014398513676292 >> 0", "4194308");
3411 shouldBe("-18014398513676292 >> 0", "-4194308");
3412 shouldBe("18014398513676292 >>> 0", "4194308");
3413 shouldBe("-18014398513676292 >>> 0", "4290772988");
3414 shouldBe("36028797027352584 >> 0", "8388616");
3415 shouldBe("-36028797027352584 >> 0", "-8388616");
3416 shouldBe("36028797027352584 >>> 0", "8388616");
3417 shouldBe("-36028797027352584 >>> 0", "4286578680");
3418 shouldBe("72057594054705170 >> 0", "16777232");
3419 shouldBe("-72057594054705170 >> 0", "-16777232");
3420 shouldBe("72057594054705170 >>> 0", "16777232");
3421 shouldBe("-72057594054705170 >>> 0", "4278190064");
3422 shouldBe("144115188109410340 >> 0", "33554464");
3423 shouldBe("-144115188109410340 >> 0", "-33554464");
3424 shouldBe("144115188109410340 >>> 0", "33554464");
3425 shouldBe("-144115188109410340 >>> 0", "4261412832");
3426 shouldBe("288230376218820700 >> 0", "67108928");
3427 shouldBe("-288230376218820700 >> 0", "-67108928");
3428 shouldBe("288230376218820700 >>> 0", "67108928");
3429 shouldBe("-288230376218820700 >>> 0", "4227858368");
3430 shouldBe("576460752437641300 >> 0", "134217856");
3431 shouldBe("-576460752437641300 >> 0", "-134217856");
3432 shouldBe("576460752437641300 >>> 0", "134217856");
3433 shouldBe("-576460752437641300 >>> 0", "4160749440");
3434 shouldBe("1152921504875282700 >> 0", "268435712");
3435 shouldBe("-1152921504875282700 >> 0", "-268435712");
3436 shouldBe("1152921504875282700 >>> 0", "268435712");
3437 shouldBe("-1152921504875282700 >>> 0", "4026531584");
3438 shouldBe("2305843009750565400 >> 0", "536871424");
3439 shouldBe("-2305843009750565400 >> 0", "-536871424");
3440 shouldBe("2305843009750565400 >>> 0", "536871424");
3441 shouldBe("-2305843009750565400 >>> 0", "3758095872");
3442 shouldBe("4611686019501131000 >> 0", "1073742848");
3443 shouldBe("-4611686019501131000 >> 0", "-1073742848");
3444 shouldBe("4611686019501131000 >>> 0", "1073742848");
3445 shouldBe("-4611686019501131000 >>> 0", "3221224448");
3446 shouldBe("9223372039002262000 >> 0", "-2147481600");
3447 shouldBe("-9223372039002262000 >> 0", "2147481600");
3448 shouldBe("9223372039002262000 >>> 0", "2147485696");
3449 shouldBe("-9223372039002262000 >>> 0", "2147481600");
3450 shouldBe("18446744078004523000 >> 0", "4096");
3451 shouldBe("-18446744078004523000 >> 0", "-4096");
3452 shouldBe("18446744078004523000 >>> 0", "4096");
3453 shouldBe("-18446744078004523000 >>> 0", "4294963200");
3454 shouldBe("36893488156009050000 >> 0", "8192");
3455 shouldBe("-36893488156009050000 >> 0", "-8192");
3456 shouldBe("36893488156009050000 >>> 0", "8192");
3457 shouldBe("-36893488156009050000 >>> 0", "4294959104");
3458 shouldBe("73786976312018100000 >> 0", "16384");
3459 shouldBe("-73786976312018100000 >> 0", "-16384");
3460 shouldBe("73786976312018100000 >>> 0", "16384");
3461 shouldBe("-73786976312018100000 >>> 0", "4294950912");
3462 shouldBe("147573952624036200000 >> 0", "32768");
3463 shouldBe("-147573952624036200000 >> 0", "-32768");
3464 shouldBe("147573952624036200000 >>> 0", "32768");
3465 shouldBe("-147573952624036200000 >>> 0", "4294934528");
3466 shouldBe("295147905248072400000 >> 0", "65536");
3467 shouldBe("-295147905248072400000 >> 0", "-65536");
3468 shouldBe("295147905248072400000 >>> 0", "65536");
3469 shouldBe("-295147905248072400000 >>> 0", "4294901760");
3470 shouldBe("590295810496144700000 >> 0", "131072");
3471 shouldBe("-590295810496144700000 >> 0", "-131072");
3472 shouldBe("590295810496144700000 >>> 0", "131072");
3473 shouldBe("-590295810496144700000 >>> 0", "4294836224");
3474 shouldBe("1.1805916209922895e+21 >> 0", "262144");
3475 shouldBe("-1.1805916209922895e+21 >> 0", "-262144");
3476 shouldBe("1.1805916209922895e+21 >>> 0", "262144");
3477 shouldBe("-1.1805916209922895e+21 >>> 0", "4294705152");
3478 shouldBe("2.361183241984579e+21 >> 0", "524288");
3479 shouldBe("-2.361183241984579e+21 >> 0", "-524288");
3480 shouldBe("2.361183241984579e+21 >>> 0", "524288");
3481 shouldBe("-2.361183241984579e+21 >>> 0", "4294443008");
3482 shouldBe("4.722366483969158e+21 >> 0", "1048576");
3483 shouldBe("-4.722366483969158e+21 >> 0", "-1048576");
3484 shouldBe("4.722366483969158e+21 >>> 0", "1048576");
3485 shouldBe("-4.722366483969158e+21 >>> 0", "4293918720");
3486 shouldBe("9.444732967938316e+21 >> 0", "2097152");
3487 shouldBe("-9.444732967938316e+21 >> 0", "-2097152");
3488 shouldBe("9.444732967938316e+21 >>> 0", "2097152");
3489 shouldBe("-9.444732967938316e+21 >>> 0", "4292870144");
3490 shouldBe("1.888946593587663e+22 >> 0", "4194304");
3491 shouldBe("-1.888946593587663e+22 >> 0", "-4194304");
3492 shouldBe("1.888946593587663e+22 >>> 0", "4194304");
3493 shouldBe("-1.888946593587663e+22 >>> 0", "4290772992");
3494 shouldBe("3.777893187175326e+22 >> 0", "8388608");
3495 shouldBe("-3.777893187175326e+22 >> 0", "-8388608");
3496 shouldBe("3.777893187175326e+22 >>> 0", "8388608");
3497 shouldBe("-3.777893187175326e+22 >>> 0", "4286578688");
3498 shouldBe("7.555786374350653e+22 >> 0", "16777216");
3499 shouldBe("-7.555786374350653e+22 >> 0", "-16777216");
3500 shouldBe("7.555786374350653e+22 >>> 0", "16777216");
3501 shouldBe("-7.555786374350653e+22 >>> 0", "4278190080");
3502 shouldBe("1.5111572748701305e+23 >> 0", "33554432");
3503 shouldBe("-1.5111572748701305e+23 >> 0", "-33554432");
3504 shouldBe("1.5111572748701305e+23 >>> 0", "33554432");
3505 shouldBe("-1.5111572748701305e+23 >>> 0", "4261412864");
3506 shouldBe("3.022314549740261e+23 >> 0", "67108864");
3507 shouldBe("-3.022314549740261e+23 >> 0", "-67108864");
3508 shouldBe("3.022314549740261e+23 >>> 0", "67108864");
3509 shouldBe("-3.022314549740261e+23 >>> 0", "4227858432");
3510 shouldBe("6.044629099480522e+23 >> 0", "134217728");
3511 shouldBe("-6.044629099480522e+23 >> 0", "-134217728");
3512 shouldBe("6.044629099480522e+23 >>> 0", "134217728");
3513 shouldBe("-6.044629099480522e+23 >>> 0", "4160749568");
3514 shouldBe("1.2089258198961044e+24 >> 0", "268435456");
3515 shouldBe("-1.2089258198961044e+24 >> 0", "-268435456");
3516 shouldBe("1.2089258198961044e+24 >>> 0", "268435456");
3517 shouldBe("-1.2089258198961044e+24 >>> 0", "4026531840");
3518 shouldBe("2.417851639792209e+24 >> 0", "536870912");
3519 shouldBe("-2.417851639792209e+24 >> 0", "-536870912");
3520 shouldBe("2.417851639792209e+24 >>> 0", "536870912");
3521 shouldBe("-2.417851639792209e+24 >>> 0", "3758096384");
3522 shouldBe("4.835703279584418e+24 >> 0", "1073741824");
3523 shouldBe("-4.835703279584418e+24 >> 0", "-1073741824");
3524 shouldBe("4.835703279584418e+24 >>> 0", "1073741824");
3525 shouldBe("-4.835703279584418e+24 >>> 0", "3221225472");
3526 shouldBe("9.671406559168835e+24 >> 0", "-2147483648");
3527 shouldBe("-9.671406559168835e+24 >> 0", "-2147483648");
3528 shouldBe("9.671406559168835e+24 >>> 0", "2147483648");
3529 shouldBe("-9.671406559168835e+24 >>> 0", "2147483648");
3530 shouldBe("1.934281311833767e+25 >> 0", "0");
3531 shouldBe("-1.934281311833767e+25 >> 0", "0");
3532 shouldBe("1.934281311833767e+25 >>> 0", "0");
3533 shouldBe("-1.934281311833767e+25 >>> 0", "0");
3534 shouldBe("8589934592 >> 0", "0");
3535 shouldBe("-8589934592 >> 0", "0");
3536 shouldBe("8589934592 >>> 0", "0");
3537 shouldBe("-8589934592 >>> 0", "0");
3538 shouldBe("25769803776 >> 0", "0");
3539 shouldBe("-25769803776 >> 0", "0");
3540 shouldBe("25769803776 >>> 0", "0");
3541 shouldBe("-25769803776 >>> 0", "0");
3542 shouldBe("42949672960 >> 0", "0");
3543 shouldBe("-42949672960 >> 0", "0");
3544 shouldBe("42949672960 >>> 0", "0");
3545 shouldBe("-42949672960 >>> 0", "0");
3546 shouldBe("9223372045444710000 >> 0", "0");
3547 shouldBe("-9223372045444710000 >> 0", "0");
3548 shouldBe("9223372045444710000 >>> 0", "0");
3549 shouldBe("-9223372045444710000 >>> 0", "0");
3550 shouldBe("18446744082299486000 >> 0", "0");
3551 shouldBe("-18446744082299486000 >> 0", "0");
3552 shouldBe("18446744082299486000 >>> 0", "0");
3553 shouldBe("-18446744082299486000 >>> 0", "0");
3554 shouldBe("36893488156009040000 >> 0", "0");
3555 shouldBe("-36893488156009040000 >> 0", "0");
3556 shouldBe("36893488156009040000 >>> 0", "0");
3557 shouldBe("-36893488156009040000 >>> 0", "0");
3558 shouldBe("18446744065119617000 >> 0", "0");
3559 shouldBe("-18446744065119617000 >> 0", "0");
3560 shouldBe("18446744065119617000 >>> 0", "0");
3561 shouldBe("-18446744065119617000 >>> 0", "0");
3562 shouldBe("36893488138829170000 >> 0", "0");
3563 shouldBe("-36893488138829170000 >> 0", "0");
3564 shouldBe("36893488138829170000 >>> 0", "0");
3565 shouldBe("-36893488138829170000 >>> 0", "0");
3566 shouldBe("73786976286248270000 >> 0", "0");
3567 shouldBe("-73786976286248270000 >> 0", "0");
3568 shouldBe("73786976286248270000 >>> 0", "0");
3569 shouldBe("-73786976286248270000 >>> 0", "0");
3570 shouldBe("3.868562623667534e+25 >> 0", "0");
3571 shouldBe("-3.868562623667534e+25 >> 0", "0");
3572 shouldBe("3.868562623667534e+25 >>> 0", "0");
3573 shouldBe("-3.868562623667534e+25 >>> 0", "0");
3574
3575 shouldBe("0 >> 0", "0");
3576 shouldBe("-0 >> 0", "0");
3577 shouldBe("1/0 >> 0", "0");
3578 shouldBe("1/-0 >> 0", "0");
3579 shouldBe("Number.NaN >> 0", "0");
3580 shouldBe("Number.NaN*-1 >> 0", "0");
3581
3582 shouldBe("0 >>> 0", "0");
3583 shouldBe("-0 >>> 0", "0");
3584 shouldBe("1/0 >>> 0", "0");
3585 shouldBe("1/-0 >>> 0", "0");
3586 shouldBe("Number.NaN >>> 0", "0");
3587 shouldBe("Number.NaN*-1 >>> 0", "0");