//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
var globalSum = 0;
(function () {
    function createMap(count) {
        var map = new Map;
        for (var i = 0; i < count; i++) {
            map.set(i, i);
        }
        return map;
    }

    var COUNT = 2000;
    var map = createMap(COUNT);
    var sum = 0;

    for (var i = 0; i < 1e2; ++i) {
        sum = 0;
        map.forEach(function (value, key) {
            sum += key;
        });
        globalSum = sum;
    }
    return sum;
}());
