chromium/third_party/blink/web_tests/fast/js/regress/script-tests/slow-array-profile-convergence.js

function foo(length, value) {
    var o = {};
    o.length = length;
    for (var i = 0; i < o.length; ++i)
        o[i] = value; // If the array profile is too stochastic then we'll miss the fact that the first iteration has a different indexing type than the subsequent iterations.
    for (var i = 0; i < o.length; ++i) {
        for (var j = 0; j < o.length; ++j)
            o[i] += o[j];
    }
    return o;
}

function sum(array) {
    var result = 0;
    for (var i = array.length; i--;)
        result += array[i];
    return result;
}

var result = 0;
for (var i = 0; i < 10000; ++i)
    result += sum(foo(5, i % 42));

if (result != 136889232)
    throw "Error: bad result: " + result;