michael@0: function g() michael@0: { michael@0: function f(v) { michael@0: v = +v; michael@0: var infinity = 0.0; michael@0: var three = 0.0; michael@0: var nan = 0.; michael@0: var result = 0; michael@0: michael@0: infinity = 1.0 / 0.0; michael@0: three = v + 2.0; michael@0: nan = (infinity % three); michael@0: result = ~~(nan + 42.0); michael@0: michael@0: return result | 0; michael@0: } michael@0: return f michael@0: } michael@0: michael@0: g = g() michael@0: var x; michael@0: for(i=0; i < 20000; ++i) michael@0: { michael@0: x = g(1.0) michael@0: } michael@0: assertEq(x, 0);