function f(x,y,z) { var z; if (x) { if (y) { z = 0xfffffff; } else { z = 0xfffffff; } assertFloat32(z, false); } else { z = Math.fround(z); assertFloat32(z, true); } assertFloat32(z, false); return z; } function g(x,y,z) { var z; if (x) { if (y) { z = 3; } else { z = 6; } assertFloat32(z, false); } else { z = Math.fround(z); assertFloat32(z, true); } assertFloat32(z, true); return z; } setJitCompilerOption("ion.warmup.trigger", 50); for (var n = 100; n--; ) { assertEq(f(0,1,2), 2); assertEq(f(0,0,2), 2); assertEq(f(1,0,2), 0xfffffff); assertEq(f(1,1,2), 0xfffffff); assertEq(g(0,1,2), 2); assertEq(g(0,0,2), 2); assertEq(g(1,0,2), 6); assertEq(g(1,1,2), 3); }