var g; function test(a, b) { g = 0; for(var i=0; i<100; i++) { g += i } var t = a*b; for(var i=0; i<100; i++) { t += x.y; return t; } } function negzero(x) { return x===0 && (1/x)===-Infinity; } var x = {y:0}; var a = 0; var b = 0; for(var i=0; i<58; i++) { var o = test(a, b); // Test returns // * 0, if i < 50 // * -0, if i >= 50 assertEq(negzero(o), i>50); if (i == 50) { a = -1 x.y = -0 } }