Chromium Code Reviews| Index: test/mjsunit/mul-exhaustive.js |
| diff --git a/test/mjsunit/mul-exhaustive.js b/test/mjsunit/mul-exhaustive.js |
| index 452f9332c7f38830083ffebc749e3006cf938a3a..f72985cd26f514277a5b196ce4cec4773fc3a667 100644 |
| --- a/test/mjsunit/mul-exhaustive.js |
| +++ b/test/mjsunit/mul-exhaustive.js |
| @@ -30,6 +30,7 @@ var y; |
| var a; |
| function f(a, y) { |
| + // Test multiplication where both operands are variables. |
|
Kevin Millikin (Chromium)
2011/03/21 11:25:39
It's hard to reverse engineer what the the new par
Lasse Reichstein
2011/03/21 13:17:58
Done.
|
| assertEquals(a, x * y); |
| assertEquals(a, -x * -y); |
| assertEquals(-a, -x * y); |
| @@ -38,29 +39,64 @@ function f(a, y) { |
| assertEquals(a, -y * -x); |
| assertEquals(-a, y * -x); |
| assertEquals(-a, -y * x); |
| + |
| + // Test multiplication where either or both operands are constant. |
|
Kevin Millikin (Chromium)
2011/03/21 11:25:39
"Constant" is ambiguous (especially if contrasted
Lasse Reichstein
2011/03/21 13:17:58
Done.
|
| + |
| + // Convert to string to be able to represent -0. |
| + var xs = String(x); |
|
Kevin Millikin (Chromium)
2011/03/21 11:25:39
It might be more straightforward to skip convertin
Lasse Reichstein
2011/03/21 13:17:58
Done.
|
| + var ys = String(y); |
| + var mxs = String(-x); |
| + if (x === 0) mxs = "-0"; |
| + var mys = String(-y); |
| + if (y === 0) mys = "-0"; |
| + |
| + function fs(a, x, y, xs, ys) { |
|
Kevin Millikin (Chromium)
2011/03/21 11:25:39
Here I think you could probably find a way to fold
Lasse Reichstein
2011/03/21 13:17:58
Much better, yes.
I'm a little afraid of using eva
|
| + var xcyv = Function("y", "return " + xs + " * y;"); |
| + for (var i = 0; i < 1000; i++) assertEquals(a, xcyv(y)); |
|
Kevin Millikin (Chromium)
2011/03/21 11:25:39
I don't understand the purpose of the loop. If it
Lasse Reichstein
2011/03/21 13:17:58
If anything, I should check which constant is nece
Kevin Millikin (Chromium)
2011/03/21 13:37:36
I think I'd just leave it out of this test.
We *d
Lasse Reichstein
2011/03/21 14:18:26
Will do. Simplicity FTW.
|
| + var xvyc = Function("x", "return x * " + ys + ";"); |
| + for (var i = 0; i < 1000; i++) assertEquals(a, xvyc(x)); |
| + var xcyc = Function("return " + xs + " * " + ys + ";"); |
| + for (var i = 0; i < 1000; i++) assertEquals(a, xcyc()); |
| + } |
| + fs(a, x, y, xs, ys); |
| + fs(-a, -x, y, mxs, ys); |
| + fs(-a, x, -y, xs, mys); |
| + fs(a, -x, -y, mxs, mys); |
| + fs(a, y, x, ys, xs); |
| + fs(-a, -y, x, mys, xs); |
| + fs(-a, y, -x, ys, mxs); |
| + fs(a, -y, -x, mys, mxs); |
| } |
| +x = 0; |
| +f(0, 0); |
| x = 1; |
| +f(0, 0); |
| f(1, 1); |
| x = 2; |
| +f(0, 0); |
| f(2, 1); |
| f(4, 2); |
| x = 3; |
| +f(0, 0); |
| f(3, 1); |
| f(6, 2); |
| f(9, 3); |
| x = 4; |
| +f(0, 0); |
| f(4, 1); |
| f(8, 2); |
| f(12, 3); |
| f(16, 4); |
| x = 5; |
| +f(0, 0); |
| f(5, 1); |
| f(10, 2); |
| f(15, 3); |
| f(20, 4); |
| f(25, 5); |
| x = 7; |
| +f(0, 0); |
| f(7, 1); |
| f(14, 2); |
| f(21, 3); |
| @@ -68,6 +104,7 @@ f(28, 4); |
| f(35, 5); |
| f(49, 7); |
| x = 8; |
| +f(0, 0); |
| f(8, 1); |
| f(16, 2); |
| f(24, 3); |
| @@ -76,6 +113,7 @@ f(40, 5); |
| f(56, 7); |
| f(64, 8); |
| x = 9; |
| +f(0, 0); |
| f(9, 1); |
| f(18, 2); |
| f(27, 3); |
| @@ -85,6 +123,7 @@ f(63, 7); |
| f(72, 8); |
| f(81, 9); |
| x = 15; |
| +f(0, 0); |
| f(15, 1); |
| f(30, 2); |
| f(45, 3); |
| @@ -95,6 +134,7 @@ f(120, 8); |
| f(135, 9); |
| f(225, 15); |
| x = 16; |
| +f(0, 0); |
| f(16, 1); |
| f(32, 2); |
| f(48, 3); |
| @@ -106,6 +146,7 @@ f(144, 9); |
| f(240, 15); |
| f(256, 16); |
| x = 17; |
| +f(0, 0); |
| f(17, 1); |
| f(34, 2); |
| f(51, 3); |
| @@ -118,6 +159,7 @@ f(255, 15); |
| f(272, 16); |
| f(289, 17); |
| x = 31; |
| +f(0, 0); |
| f(31, 1); |
| f(62, 2); |
| f(93, 3); |
| @@ -131,6 +173,7 @@ f(496, 16); |
| f(527, 17); |
| f(961, 31); |
| x = 32; |
| +f(0, 0); |
| f(32, 1); |
| f(64, 2); |
| f(96, 3); |
| @@ -145,6 +188,7 @@ f(544, 17); |
| f(992, 31); |
| f(1024, 32); |
| x = 33; |
| +f(0, 0); |
| f(33, 1); |
| f(66, 2); |
| f(99, 3); |
| @@ -160,6 +204,7 @@ f(1023, 31); |
| f(1056, 32); |
| f(1089, 33); |
| x = 63; |
| +f(0, 0); |
| f(63, 1); |
| f(126, 2); |
| f(189, 3); |
| @@ -176,6 +221,7 @@ f(2016, 32); |
| f(2079, 33); |
| f(3969, 63); |
| x = 64; |
| +f(0, 0); |
| f(64, 1); |
| f(128, 2); |
| f(192, 3); |
| @@ -193,6 +239,7 @@ f(2112, 33); |
| f(4032, 63); |
| f(4096, 64); |
| x = 65; |
| +f(0, 0); |
| f(65, 1); |
| f(130, 2); |
| f(195, 3); |
| @@ -211,6 +258,7 @@ f(4095, 63); |
| f(4160, 64); |
| f(4225, 65); |
| x = 127; |
| +f(0, 0); |
| f(127, 1); |
| f(254, 2); |
| f(381, 3); |
| @@ -230,6 +278,7 @@ f(8128, 64); |
| f(8255, 65); |
| f(16129, 127); |
| x = 128; |
| +f(0, 0); |
| f(128, 1); |
| f(256, 2); |
| f(384, 3); |
| @@ -250,6 +299,7 @@ f(8320, 65); |
| f(16256, 127); |
| f(16384, 128); |
| x = 129; |
| +f(0, 0); |
| f(129, 1); |
| f(258, 2); |
| f(387, 3); |
| @@ -271,6 +321,7 @@ f(16383, 127); |
| f(16512, 128); |
| f(16641, 129); |
| x = 255; |
| +f(0, 0); |
| f(255, 1); |
| f(510, 2); |
| f(765, 3); |
| @@ -293,6 +344,7 @@ f(32640, 128); |
| f(32895, 129); |
| f(65025, 255); |
| x = 256; |
| +f(0, 0); |
| f(256, 1); |
| f(512, 2); |
| f(768, 3); |
| @@ -316,6 +368,7 @@ f(33024, 129); |
| f(65280, 255); |
| f(65536, 256); |
| x = 257; |
| +f(0, 0); |
| f(257, 1); |
| f(514, 2); |
| f(771, 3); |
| @@ -340,6 +393,7 @@ f(65535, 255); |
| f(65792, 256); |
| f(66049, 257); |
| x = 511; |
| +f(0, 0); |
| f(511, 1); |
| f(1022, 2); |
| f(1533, 3); |
| @@ -365,6 +419,7 @@ f(130816, 256); |
| f(131327, 257); |
| f(261121, 511); |
| x = 512; |
| +f(0, 0); |
| f(512, 1); |
| f(1024, 2); |
| f(1536, 3); |
| @@ -391,6 +446,7 @@ f(131584, 257); |
| f(261632, 511); |
| f(262144, 512); |
| x = 513; |
| +f(0, 0); |
| f(513, 1); |
| f(1026, 2); |
| f(1539, 3); |
| @@ -418,6 +474,7 @@ f(262143, 511); |
| f(262656, 512); |
| f(263169, 513); |
| x = 1023; |
| +f(0, 0); |
| f(1023, 1); |
| f(2046, 2); |
| f(3069, 3); |
| @@ -446,6 +503,7 @@ f(523776, 512); |
| f(524799, 513); |
| f(1046529, 1023); |
| x = 1024; |
| +f(0, 0); |
| f(1024, 1); |
| f(2048, 2); |
| f(3072, 3); |
| @@ -475,6 +533,7 @@ f(525312, 513); |
| f(1047552, 1023); |
| f(1048576, 1024); |
| x = 1025; |
| +f(0, 0); |
| f(1025, 1); |
| f(2050, 2); |
| f(3075, 3); |
| @@ -505,6 +564,7 @@ f(1048575, 1023); |
| f(1049600, 1024); |
| f(1050625, 1025); |
| x = 2047; |
| +f(0, 0); |
| f(2047, 1); |
| f(4094, 2); |
| f(6141, 3); |
| @@ -536,6 +596,7 @@ f(2096128, 1024); |
| f(2098175, 1025); |
| f(4190209, 2047); |
| x = 2048; |
| +f(0, 0); |
| f(2048, 1); |
| f(4096, 2); |
| f(6144, 3); |
| @@ -568,6 +629,7 @@ f(2099200, 1025); |
| f(4192256, 2047); |
| f(4194304, 2048); |
| x = 2049; |
| +f(0, 0); |
| f(2049, 1); |
| f(4098, 2); |
| f(6147, 3); |
| @@ -601,6 +663,7 @@ f(4194303, 2047); |
| f(4196352, 2048); |
| f(4198401, 2049); |
| x = 4095; |
| +f(0, 0); |
| f(4095, 1); |
| f(8190, 2); |
| f(12285, 3); |
| @@ -635,6 +698,7 @@ f(8386560, 2048); |
| f(8390655, 2049); |
| f(16769025, 4095); |
| x = 4096; |
| +f(0, 0); |
| f(4096, 1); |
| f(8192, 2); |
| f(12288, 3); |
| @@ -670,6 +734,7 @@ f(8392704, 2049); |
| f(16773120, 4095); |
| f(16777216, 4096); |
| x = 4097; |
| +f(0, 0); |
| f(4097, 1); |
| f(8194, 2); |
| f(12291, 3); |
| @@ -706,6 +771,7 @@ f(16777215, 4095); |
| f(16781312, 4096); |
| f(16785409, 4097); |
| x = 8191; |
| +f(0, 0); |
| f(8191, 1); |
| f(16382, 2); |
| f(24573, 3); |
| @@ -743,6 +809,7 @@ f(33550336, 4096); |
| f(33558527, 4097); |
| f(67092481, 8191); |
| x = 8192; |
| +f(0, 0); |
| f(8192, 1); |
| f(16384, 2); |
| f(24576, 3); |
| @@ -781,6 +848,7 @@ f(33562624, 4097); |
| f(67100672, 8191); |
| f(67108864, 8192); |
| x = 8193; |
| +f(0, 0); |
| f(8193, 1); |
| f(16386, 2); |
| f(24579, 3); |
| @@ -820,6 +888,7 @@ f(67108863, 8191); |
| f(67117056, 8192); |
| f(67125249, 8193); |
| x = 16383; |
| +f(0, 0); |
| f(16383, 1); |
| f(32766, 2); |
| f(49149, 3); |
| @@ -860,6 +929,7 @@ f(134209536, 8192); |
| f(134225919, 8193); |
| f(268402689, 16383); |
| x = 16384; |
| +f(0, 0); |
| f(16384, 1); |
| f(32768, 2); |
| f(49152, 3); |
| @@ -901,6 +971,7 @@ f(134234112, 8193); |
| f(268419072, 16383); |
| f(268435456, 16384); |
| x = 16385; |
| +f(0, 0); |
| f(16385, 1); |
| f(32770, 2); |
| f(49155, 3); |
| @@ -943,6 +1014,7 @@ f(268435455, 16383); |
| f(268451840, 16384); |
| f(268468225, 16385); |
| x = 32767; |
| +f(0, 0); |
| f(32767, 1); |
| f(65534, 2); |
| f(98301, 3); |
| @@ -986,6 +1058,7 @@ f(536854528, 16384); |
| f(536887295, 16385); |
| f(1073676289, 32767); |
| x = 32768; |
| +f(0, 0); |
| f(32768, 1); |
| f(65536, 2); |
| f(98304, 3); |
| @@ -1030,6 +1103,7 @@ f(536903680, 16385); |
| f(1073709056, 32767); |
| f(1073741824, 32768); |
| x = 32769; |
| +f(0, 0); |
| f(32769, 1); |
| f(65538, 2); |
| f(98307, 3); |
| @@ -1075,6 +1149,7 @@ f(1073741823, 32767); |
| f(1073774592, 32768); |
| f(1073807361, 32769); |
| x = 65535; |
| +f(0, 0); |
| f(65535, 1); |
| f(131070, 2); |
| f(196605, 3); |
| @@ -1121,6 +1196,7 @@ f(2147450880, 32768); |
| f(2147516415, 32769); |
| f(4294836225, 65535); |
| x = 65536; |
| +f(0, 0); |
| f(65536, 1); |
| f(131072, 2); |
| f(196608, 3); |
| @@ -1168,6 +1244,7 @@ f(2147549184, 32769); |
| f(4294901760, 65535); |
| f(4294967296, 65536); |
| x = 65537; |
| +f(0, 0); |
| f(65537, 1); |
| f(131074, 2); |
| f(196611, 3); |
| @@ -1216,6 +1293,7 @@ f(4294967295, 65535); |
| f(4295032832, 65536); |
| f(4295098369, 65537); |
| x = 131071; |
| +f(0, 0); |
| f(131071, 1); |
| f(262142, 2); |
| f(393213, 3); |
| @@ -1265,6 +1343,7 @@ f(8589869056, 65536); |
| f(8590000127, 65537); |
| f(17179607041, 131071); |
| x = 131072; |
| +f(0, 0); |
| f(131072, 1); |
| f(262144, 2); |
| f(393216, 3); |
| @@ -1315,6 +1394,7 @@ f(8590065664, 65537); |
| f(17179738112, 131071); |
| f(17179869184, 131072); |
| x = 131073; |
| +f(0, 0); |
| f(131073, 1); |
| f(262146, 2); |
| f(393219, 3); |
| @@ -1366,6 +1446,7 @@ f(17179869183, 131071); |
| f(17180000256, 131072); |
| f(17180131329, 131073); |
| x = 262143; |
| +f(0, 0); |
| f(262143, 1); |
| f(524286, 2); |
| f(786429, 3); |
| @@ -1418,6 +1499,7 @@ f(34359607296, 131072); |
| f(34359869439, 131073); |
| f(68718952449, 262143); |
| x = 262144; |
| +f(0, 0); |
| f(262144, 1); |
| f(524288, 2); |
| f(786432, 3); |
| @@ -1471,6 +1553,7 @@ f(34360000512, 131073); |
| f(68719214592, 262143); |
| f(68719476736, 262144); |
| x = 262145; |
| +f(0, 0); |
| f(262145, 1); |
| f(524290, 2); |
| f(786435, 3); |
| @@ -1525,6 +1608,7 @@ f(68719476735, 262143); |
| f(68719738880, 262144); |
| f(68720001025, 262145); |
| x = 524287; |
| +f(0, 0); |
| f(524287, 1); |
| f(1048574, 2); |
| f(1572861, 3); |
| @@ -1580,6 +1664,7 @@ f(137438691328, 262144); |
| f(137439215615, 262145); |
| f(274876858369, 524287); |
| x = 524288; |
| +f(0, 0); |
| f(524288, 1); |
| f(1048576, 2); |
| f(1572864, 3); |
| @@ -1636,6 +1721,7 @@ f(137439477760, 262145); |
| f(274877382656, 524287); |
| f(274877906944, 524288); |
| x = 524289; |
| +f(0, 0); |
| f(524289, 1); |
| f(1048578, 2); |
| f(1572867, 3); |
| @@ -1693,6 +1779,7 @@ f(274877906943, 524287); |
| f(274878431232, 524288); |
| f(274878955521, 524289); |
| x = 1048575; |
| +f(0, 0); |
| f(1048575, 1); |
| f(2097150, 2); |
| f(3145725, 3); |
| @@ -1751,6 +1838,7 @@ f(549755289600, 524288); |
| f(549756338175, 524289); |
| f(1099509530625, 1048575); |
| x = 1048576; |
| +f(0, 0); |
| f(1048576, 1); |
| f(2097152, 2); |
| f(3145728, 3); |
| @@ -1810,6 +1898,7 @@ f(549756862464, 524289); |
| f(1099510579200, 1048575); |
| f(1099511627776, 1048576); |
| x = 1048577; |
| +f(0, 0); |
| f(1048577, 1); |
| f(2097154, 2); |
| f(3145731, 3); |
| @@ -1870,6 +1959,7 @@ f(1099511627775, 1048575); |
| f(1099512676352, 1048576); |
| f(1099513724929, 1048577); |
| x = 2097151; |
| +f(0, 0); |
| f(2097151, 1); |
| f(4194302, 2); |
| f(6291453, 3); |
| @@ -1931,6 +2021,7 @@ f(2199022206976, 1048576); |
| f(2199024304127, 1048577); |
| f(4398042316801, 2097151); |
| x = 2097152; |
| +f(0, 0); |
| f(2097152, 1); |
| f(4194304, 2); |
| f(6291456, 3); |
| @@ -1993,6 +2084,7 @@ f(2199025352704, 1048577); |
| f(4398044413952, 2097151); |
| f(4398046511104, 2097152); |
| x = 2097153; |
| +f(0, 0); |
| f(2097153, 1); |
| f(4194306, 2); |
| f(6291459, 3); |
| @@ -2056,6 +2148,7 @@ f(4398046511103, 2097151); |
| f(4398048608256, 2097152); |
| f(4398050705409, 2097153); |
| x = 4194303; |
| +f(0, 0); |
| f(4194303, 1); |
| f(8388606, 2); |
| f(12582909, 3); |
| @@ -2120,6 +2213,7 @@ f(8796090925056, 2097152); |
| f(8796095119359, 2097153); |
| f(17592177655809, 4194303); |
| x = 4194304; |
| +f(0, 0); |
| f(4194304, 1); |
| f(8388608, 2); |
| f(12582912, 3); |
| @@ -2185,6 +2279,7 @@ f(8796097216512, 2097153); |
| f(17592181850112, 4194303); |
| f(17592186044416, 4194304); |
| x = 4194305; |
| +f(0, 0); |
| f(4194305, 1); |
| f(8388610, 2); |
| f(12582915, 3); |
| @@ -2251,6 +2346,7 @@ f(17592186044415, 4194303); |
| f(17592190238720, 4194304); |
| f(17592194433025, 4194305); |
| x = 8388607; |
| +f(0, 0); |
| f(8388607, 1); |
| f(16777214, 2); |
| f(25165821, 3); |
| @@ -2318,6 +2414,7 @@ f(35184367894528, 4194304); |
| f(35184376283135, 4194305); |
| f(70368727400449, 8388607); |
| x = 8388608; |
| +f(0, 0); |
| f(8388608, 1); |
| f(16777216, 2); |
| f(25165824, 3); |
| @@ -2386,6 +2483,7 @@ f(35184380477440, 4194305); |
| f(70368735789056, 8388607); |
| f(70368744177664, 8388608); |
| x = 8388609; |
| +f(0, 0); |
| f(8388609, 1); |
| f(16777218, 2); |
| f(25165827, 3); |
| @@ -2455,6 +2553,7 @@ f(70368744177663, 8388607); |
| f(70368752566272, 8388608); |
| f(70368760954881, 8388609); |
| x = 16777215; |
| +f(0, 0); |
| f(16777215, 1); |
| f(33554430, 2); |
| f(50331645, 3); |
| @@ -2525,6 +2624,7 @@ f(140737479966720, 8388608); |
| f(140737496743935, 8388609); |
| f(281474943156225, 16777215); |
| x = 16777216; |
| +f(0, 0); |
| f(16777216, 1); |
| f(33554432, 2); |
| f(50331648, 3); |
| @@ -2596,6 +2696,7 @@ f(140737505132544, 8388609); |
| f(281474959933440, 16777215); |
| f(281474976710656, 16777216); |
| x = 16777217; |
| +f(0, 0); |
| f(16777217, 1); |
| f(33554434, 2); |
| f(50331651, 3); |
| @@ -2668,6 +2769,7 @@ f(281474976710655, 16777215); |
| f(281474993487872, 16777216); |
| f(281475010265089, 16777217); |
| x = 33554431; |
| +f(0, 0); |
| f(33554431, 1); |
| f(67108862, 2); |
| f(100663293, 3); |
| @@ -2741,6 +2843,7 @@ f(562949936644096, 16777216); |
| f(562949970198527, 16777217); |
| f(1125899839733761, 33554431); |
| x = 33554432; |
| +f(0, 0); |
| f(33554432, 1); |
| f(67108864, 2); |
| f(100663296, 3); |
| @@ -2815,6 +2918,7 @@ f(562949986975744, 16777217); |
| f(1125899873288192, 33554431); |
| f(1125899906842624, 33554432); |
| x = 33554433; |
| +f(0, 0); |
| f(33554433, 1); |
| f(67108866, 2); |
| f(100663299, 3); |
| @@ -2890,6 +2994,7 @@ f(1125899906842623, 33554431); |
| f(1125899940397056, 33554432); |
| f(1125899973951489, 33554433); |
| x = 67108863; |
| +f(0, 0); |
| f(67108863, 1); |
| f(134217726, 2); |
| f(201326589, 3); |
| @@ -2962,6 +3067,7 @@ f(1125899822956545, 16777215); |
| f(1125899890065408, 16777216); |
| f(1125899957174271, 16777217); |
| x = 67108864; |
| +f(0, 0); |
| f(67108864, 1); |
| f(134217728, 2); |
| f(201326592, 3); |
| @@ -3034,6 +3140,7 @@ f(1125899839733760, 16777215); |
| f(1125899906842624, 16777216); |
| f(1125899973951488, 16777217); |
| x = 67108865; |
| +f(0, 0); |
| f(67108865, 1); |
| f(134217730, 2); |
| f(201326595, 3); |
| @@ -3106,6 +3213,7 @@ f(1125899856510975, 16777215); |
| f(1125899923619840, 16777216); |
| f(1125899990728705, 16777217); |
| x = 134217727; |
| +f(0, 0); |
| f(134217727, 1); |
| f(268435454, 2); |
| f(402653181, 3); |
| @@ -3175,6 +3283,7 @@ f(1125899764236289, 8388607); |
| f(1125899898454016, 8388608); |
| f(1125900032671743, 8388609); |
| x = 134217728; |
| +f(0, 0); |
| f(134217728, 1); |
| f(268435456, 2); |
| f(402653184, 3); |
| @@ -3244,6 +3353,7 @@ f(1125899772624896, 8388607); |
| f(1125899906842624, 8388608); |
| f(1125900041060352, 8388609); |
| x = 134217729; |
| +f(0, 0); |
| f(134217729, 1); |
| f(268435458, 2); |
| f(402653187, 3); |
| @@ -3313,6 +3423,7 @@ f(1125899781013503, 8388607); |
| f(1125899915231232, 8388608); |
| f(1125900049448961, 8388609); |
| x = 268435455; |
| +f(0, 0); |
| f(268435455, 1); |
| f(536870910, 2); |
| f(805306365, 3); |
| @@ -3379,6 +3490,7 @@ f(1125899634212865, 4194303); |
| f(1125899902648320, 4194304); |
| f(1125900171083775, 4194305); |
| x = 268435456; |
| +f(0, 0); |
| f(268435456, 1); |
| f(536870912, 2); |
| f(805306368, 3); |
| @@ -3445,6 +3557,7 @@ f(1125899638407168, 4194303); |
| f(1125899906842624, 4194304); |
| f(1125900175278080, 4194305); |
| x = 268435457; |
| +f(0, 0); |
| f(268435457, 1); |
| f(536870914, 2); |
| f(805306371, 3); |
| @@ -3511,6 +3624,7 @@ f(1125899642601471, 4194303); |
| f(1125899911036928, 4194304); |
| f(1125900179472385, 4194305); |
| x = 536870911; |
| +f(0, 0); |
| f(536870911, 1); |
| f(1073741822, 2); |
| f(1610612733, 3); |
| @@ -3574,6 +3688,7 @@ f(1125899367874561, 2097151); |
| f(1125899904745472, 2097152); |
| f(1125900441616383, 2097153); |
| x = 536870912; |
| +f(0, 0); |
| f(536870912, 1); |
| f(1073741824, 2); |
| f(1610612736, 3); |
| @@ -3637,6 +3752,7 @@ f(1125899369971712, 2097151); |
| f(1125899906842624, 2097152); |
| f(1125900443713536, 2097153); |
| x = 536870913; |
| +f(0, 0); |
| f(536870913, 1); |
| f(1073741826, 2); |
| f(1610612739, 3); |
| @@ -3700,6 +3816,7 @@ f(1125899372068863, 2097151); |
| f(1125899908939776, 2097152); |
| f(1125900445810689, 2097153); |
| x = 1073741823; |
| +f(0, 0); |
| f(1073741823, 1); |
| f(2147483646, 2); |
| f(3221225469, 3); |
| @@ -3760,6 +3877,7 @@ f(1125898832052225, 1048575); |
| f(1125899905794048, 1048576); |
| f(1125900979535871, 1048577); |
| x = 1073741824; |
| +f(0, 0); |
| f(1073741824, 1); |
| f(2147483648, 2); |
| f(3221225472, 3); |
| @@ -3820,6 +3938,7 @@ f(1125898833100800, 1048575); |
| f(1125899906842624, 1048576); |
| f(1125900980584448, 1048577); |
| x = 1073741825; |
| +f(0, 0); |
| f(1073741825, 1); |
| f(2147483650, 2); |
| f(3221225475, 3); |
| @@ -3880,6 +3999,7 @@ f(1125898834149375, 1048575); |
| f(1125899907891200, 1048576); |
| f(1125900981633025, 1048577); |
| x = 2147483647; |
| +f(0, 0); |
| f(2147483647, 1); |
| f(4294967294, 2); |
| f(6442450941, 3); |
| @@ -3937,6 +4057,7 @@ f(1125897758834689, 524287); |
| f(1125899906318336, 524288); |
| f(1125902053801983, 524289); |
| x = 2147483648; |
| +f(0, 0); |
| f(2147483648, 1); |
| f(4294967296, 2); |
| f(6442450944, 3); |
| @@ -3994,6 +4115,7 @@ f(1125897759358976, 524287); |
| f(1125899906842624, 524288); |
| f(1125902054326272, 524289); |
| x = 2147483649; |
| +f(0, 0); |
| f(2147483649, 1); |
| f(4294967298, 2); |
| f(6442450947, 3); |
| @@ -4051,6 +4173,7 @@ f(1125897759883263, 524287); |
| f(1125899907366912, 524288); |
| f(1125902054850561, 524289); |
| x = 4294967295; |
| +f(0, 0); |
| f(4294967295, 1); |
| f(8589934590, 2); |
| f(12884901885, 3); |
| @@ -4105,6 +4228,7 @@ f(1125895611613185, 262143); |
| f(1125899906580480, 262144); |
| f(1125904201547775, 262145); |
| x = 4294967296; |
| +f(0, 0); |
| f(4294967296, 1); |
| f(8589934592, 2); |
| f(12884901888, 3); |
| @@ -4159,6 +4283,7 @@ f(1125895611875328, 262143); |
| f(1125899906842624, 262144); |
| f(1125904201809920, 262145); |
| x = 4294967297; |
| +f(0, 0); |
| f(4294967297, 1); |
| f(8589934594, 2); |
| f(12884901891, 3); |
| @@ -4213,6 +4338,7 @@ f(1125895612137471, 262143); |
| f(1125899907104768, 262144); |
| f(1125904202072065, 262145); |
| x = 8589934591; |
| +f(0, 0); |
| f(8589934591, 1); |
| f(17179869182, 2); |
| f(25769803773, 3); |
| @@ -4264,6 +4390,7 @@ f(1125891316776961, 131071); |
| f(1125899906711552, 131072); |
| f(1125908496646143, 131073); |
| x = 8589934592; |
| +f(0, 0); |
| f(8589934592, 1); |
| f(17179869184, 2); |
| f(25769803776, 3); |
| @@ -4315,6 +4442,7 @@ f(1125891316908032, 131071); |
| f(1125899906842624, 131072); |
| f(1125908496777216, 131073); |
| x = 8589934593; |
| +f(0, 0); |
| f(8589934593, 1); |
| f(17179869186, 2); |
| f(25769803779, 3); |
| @@ -4366,6 +4494,7 @@ f(1125891317039103, 131071); |
| f(1125899906973696, 131072); |
| f(1125908496908289, 131073); |
| x = 17179869183; |
| +f(0, 0); |
| f(17179869183, 1); |
| f(34359738366, 2); |
| f(51539607549, 3); |
| @@ -4414,6 +4543,7 @@ f(1125882726907905, 65535); |
| f(1125899906777088, 65536); |
| f(1125917086646271, 65537); |
| x = 17179869184; |
| +f(0, 0); |
| f(17179869184, 1); |
| f(34359738368, 2); |
| f(51539607552, 3); |
| @@ -4462,6 +4592,7 @@ f(1125882726973440, 65535); |
| f(1125899906842624, 65536); |
| f(1125917086711808, 65537); |
| x = 17179869185; |
| +f(0, 0); |
| f(17179869185, 1); |
| f(34359738370, 2); |
| f(51539607555, 3); |