#include "../test_static.isph" task void f_f(uniform float RET[], uniform float aFOO[]) { #pragma ignore warning(perf) varying float x = aFOO[programIndex]; varying float d, ix; ix = rcp_fast(x); d = (ix - 1. / x); d = (d < 0) ? -d : d; // The worst precision is demonstrated by ARM, it requires 2e-3 to pass. RET[programIndex] = (d < 2e-3) ? 1. : 0.; } task void result(uniform float RET[]) { RET[programIndex] = 1.; }