blob: 48c0e21dae15fd938a9c4130d7fd8095b09027a3 [file] [log] [blame]
function f() {
var x = Math.pow(2, 31); // take it as argument if constant propagation comes in you way.
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 32
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 33
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 34
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 35
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 36
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 37
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 38
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 39
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 40
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 41
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 42
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 43
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 44
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 45
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 46
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 47
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 48
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 49
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 50
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 51
x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 52
x = x + x; assertEq((x + 1) | 0, 0); // 2 ** 53
}
for (var i = 0; i <= 100000; i++)
f();