uniform half4 input, expected; uniform half4 colorGreen, colorRed; half4 main(float2 coords) { const half4 constVal = half4(1, 4, 16, 64); const half4 negativeVal = half4(-1, -4, -16, -64); // should not optimize away return (inversesqrt(input.x) == expected.x && inversesqrt(input.xy) == expected.xy && inversesqrt(input.xyz) == expected.xyz && inversesqrt(input.xyzw) == expected.xyzw && inversesqrt(constVal.x) == expected.x && inversesqrt(constVal.xy) == expected.xy && inversesqrt(constVal.xyz) == expected.xyz && inversesqrt(constVal.xyzw) == expected.xyzw && inversesqrt(negativeVal.x) == expected.x && inversesqrt(negativeVal.xy) == expected.xy && inversesqrt(negativeVal.xyz) == expected.xyz && inversesqrt(negativeVal.xyzw) == expected.xyzw) ? colorGreen : colorRed; }