import jdk.incubator.vector.Float16;

public class Test {

    public static void main(String[] args) {
	Float16 v0 = Float16.shortBitsToFloat16((short)32256); // NaN
	Float16 v2 = Float16.shortBitsToFloat16((short)-512);  // NaN
        short gold = test(v0, v2);
	for (int i = 0; i < 10_000; i++) {
	    short res = test(v0, v2);
	    if (res != gold) {
		throw new RuntimeException("wrong result: " + gold + " vs " + res);
	    }
	}
    }

    public static short test(Float16 v0, Float16 v2) {
	return Float16.float16ToRawShortBits(Float16.fma(v2, Float16.valueOf(2048), v0));
    }
}
