//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
noInline(Float32Array.prototype.subarray);
function createManySubs(howMany, a, b, c, d) {
    var storage = new Float32Array(howMany * 4);
    for (var k=0; k < howMany; ++k) {
        var r = storage.subarray(k * 4, (k + 1) * 4);
        r[0] = a; r[1] = b; r[2] = c; r[3] = d;

        // some action
        r[0] += 2.3; r[1] += 12; r[2] *= 3.14; r[3] -= 999.1;
    }
}

function go() {
    var subtt = [];

    const iterationCount = 25;
    const arrayCount = 20000;

    var a, b, c, d;

    for (var iter=0; iter < iterationCount; ++iter) {
        a = Math.random() * 10;
        b = Math.random() * 10;
        c = Math.random() * 10;
        d = Math.random() * 10;
        createManySubs(arrayCount, a, b, c, d);
    }

}

go();
