// ./java -XX:CompileCommand=printcompilation,Test::* -XX:CompileCommand=compileonly,Test::test -Xbatch -XX:+TraceNewVectors -XX:CompileCommand=TraceAutoVectorization,Test::*,ALL -XX:+TraceLoopOpts Test.java

import java.lang.foreign.*;

public class Test {

    public static void main(String[] args) {
        MemorySegment a = Arena.ofAuto().allocate(10_000);
        MemorySegment b = Arena.ofAuto().allocate(10_000);
        for (int i = 0; i < 1000; i++) {
            test(a, -19125L, b, 71734L + 2_000L, 0, 1_000);
        }
    }

    private static long invar0_1159 = 0;
    private static long invar1_1159 = 0;

    public static void test(MemorySegment container_0, long invar0_0, MemorySegment container_1, long invar0_1, long ivLo, long ivHi) {
        for (long i = ivLo; i < ivHi; i+=1) {
            var v = container_0.getAtIndex(ValueLayout.JAVA_INT_UNALIGNED, 19125L + 1L * i + 1L * invar0_0 + 0L * invar0_1159 + 1L * invar1_1159);
            container_1.setAtIndex(ValueLayout.JAVA_INT_UNALIGNED, -71734L + -1L * i + 1L * invar0_1 + 1L * invar0_1159 + 0L * invar1_1159, v);
        }
    }
}
