function foo(a, b) {
    try {
        return a - b;
    } catch (e) {
        return e;
    }
}

noInline(foo);

for (var i = 0; i < 100000; ++i) {
    var result = foo((i & 1) ? 32 : "32", 10);
    if (result !== 22)
        throw "Error: bad result: " + result;
}

var result = foo({valueOf: function() { throw "error42"; }}, 10);
if (result !== "error42")
    throw "Error: bad result at end: " + result;
