function shouldBe(actual, expected)
{
    if (actual !== expected)
        throw new Error('bad value: ' + actual);
}

function test(string, flag)
{
    var regexp = /oa/;
    var result = string.match(regexp);
    if (flag)
        return regexp;
    return result;
}
noInline(test);

for (var i = 0; i < 1e5; ++i) {
    if (i & 1) {
        var result = test("Cocoa", true);
        shouldBe(result instanceof RegExp, true);
    } else {
        var result = test("Cocoa", false);
        shouldBe(result.input, "Cocoa");
        shouldBe(result[0], "oa");
    }
}
