import jdk.incubator.vector.*;

public class Test {
    public static void main(String[] args) {
	for (int i = 0; i < 10_000; i++) {
	    test1();
	}
	for (int i = 0; i < 10_000; i++) {
	    test2();
	}
    }

    public static Object test1() {
        var v0 = DoubleVector.broadcast(DoubleVector.SPECIES_128, 1.0);
        var v1 = (ByteVector)v0.convertShape(VectorOperators.Conversion.ofReinterpret(double.class, byte.class), ByteVector.SPECIES_256, 0);
        var v2 = DoubleVector.broadcast(DoubleVector.SPECIES_256, 2.0);
        var v5 = (LongVector)v2.convertShape(VectorOperators.Conversion.ofCast(double.class, long.class), LongVector.SPECIES_64, 1);
        return v5;
    }

    public static Object test2() {
        var v0 = DoubleVector.broadcast(DoubleVector.SPECIES_256, 1.0);
        var v1 = v0.lanewise(VectorOperators.TAN);
        var v2 = (DoubleVector)v1.convertShape(VectorOperators.Conversion.ofCast(double.class, double.class), DoubleVector.SPECIES_256, 0);
        return v2;
    }
}
