public static int work(int[] ints, int iters) {
        // This method does a fair amount of work -- for multiple iterations it
        // loops over the array, doing some mod operations on each element.
        // However, it contains no yield points -- no memory allocations,
        // synchronization, field accesses (especially no volatile fields), etc.
        // As such, the JVM won't ever sample in this method.
        //
        // If you uncomment the call to iterateOver and its related functions,
        // sampling gets worse (due to more methods to sample). Make sure to
        // comment out the "for" loop in this method, if you do that.
        //
        // TODO wrap both variants in a private static final boolean, and
        // confirm that the sampling/profiling stays the same.
        
        int localResult = 17;
        final int len = ints.length;
        for (int iter = 0; iter < iters; ++iter) {
            for (int i = 1; i < len; ++i) {
                if (ints[i-1] != 0) {
                    ints[i] %= ints[i-1];
                }
            }
        }
        
//        iterateOver(ints, iters);
        for (int i = 0; i < len; ++i) {
            localResult += ints[i];
        }
        return localResult;
    }