// Testcase 1. try { function g(x) { (x | 0 && 0)() } (function(f, s) { f() })(g, []) } catch (e) {} // Testcase 2. function g2(f, inputs) { for (var j = 0; j < 49; ++j) { for (var k = 0; k < 49; ++k) { try { f() } catch (e) {} } } } function f1(x, y) { (x | 0 ? Number.MAX_VALUE | 0 : x | 0)(); }; function f2(y) { f1(y | 0)(); }; g2(f2, [Number]) // Testcase 3. function h(f) { for (var j = 0; j < 99; ++j) { for (var k = 0; k < 99; ++k) { try { f() } catch (e) {} } } } function g3(x) { (x | 0 ? Number.MAX_VALUE | 0 : x | 0) } h(g3, [Number]) // Testcase 4. function m(f) { f() } function g4(x) { return x ? Math.fround(-Number.MIN_VALUE) : x } m(g4) function h2(M) { try { (g4(-0 + M))() } catch (e) {} } m(h2, [Math - Number])