blob: 27ce16a63a810e254076e8081c7fd1edaa259e29 [file] [log] [blame]
Tests that our optimization to elide overflow checks understands that if we keep adding huge numbers, we could end up creating a number that is not precisely representable using doubles.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS foo(2147483647) is 2147483552
PASS successfullyParsed is true
TEST COMPLETE