import java.util.Random;

import jdk.incubator.vector.*;

public class Test {
    public static void main(String[] vmFlags) {
        byte[] a = new byte[64];
        for (int i = 0; i < a.length; i++) { a[i] = (byte)1; }
        a[1] = -3;
        var gold = test(a);
        for (int i = 0; i < 10_000; i++) {
            var val = test(a);
            if (!gold.equals(val)) {
                for (int j = 0; j < a.length; j++) { System.out.println(" " + j + " " + a[j]); }
                System.out.println("gold = " + gold);
                System.out.println("val  = " + val);
                throw new RuntimeException("bad value");
            }
        }
    }

    public static Object test(byte[] a) {
        var v0 = ByteVector.fromArray(ByteVector.SPECIES_256, a, 0);
        var v1 = v0.reduceLanes(VectorOperators.MUL);
        return v1;
    }
}
