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

function test1(array)
{
    for (var i = 0; i < 5; ++i) {
        array[0] = array[0] + 1;
    }
    return array;
}
noInline(test1);

function test2(array)
{
    for (var i = 0; i < 5; ++i) {
        array[0] = array[0] + 1;
    }
    return array;
}
noInline(test2);

function test3(array)
{
    for (var i = 0; i < 5; ++i) {
        array[0] = array[0] + 1;
    }
    return array;
}
noInline(test3);

for (var i = 0; i < 1e5; ++i) {
    shouldBe(String(test1([0, 1, 2, 3, 4])), `5,1,2,3,4`);
    shouldBe(String(test2([0.1, 1.1, 2.1, 3.1, 4.1])), `5.1,1.1,2.1,3.1,4.1`);
    shouldBe(String(test3(['C', 'o', 'c', 'o', 'a'])), `C11111,o,c,o,a`);
}
