1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
--TEST-- Misoptimize due to type narrowing --FILE-- <?php function test() { $b = false; $x = (1<<53)+1; do { $x = 1.0 * ($x - (1<<53)); } while ($b); return $x; } var_dump(test()); ?> --EXPECT-- float(1)