#include "../test_static.isph" task void f_v(uniform float RET[]) { int errors = 0; foreach (i = 0 ... 65535) { unsigned int16 h = i; float f = half_to_float(i); h = float_to_half(f); int mismatches = (!isnan(f) && i != h); errors += reduce_add(mismatches); } RET[programIndex] = errors; } task void result(uniform float RET[]) { RET[programIndex] = 0; }