1uniform half4 input, expected; 2uniform half4 colorGreen, colorRed; 3 4half4 main(float2 coords) { 5 const half4 constVal = half4(1, 4, 16, 64); 6 const half4 negativeVal = half4(-1, -4, -16, -64); // should not optimize away 7 return (inversesqrt(input.x) == expected.x && 8 inversesqrt(input.xy) == expected.xy && 9 inversesqrt(input.xyz) == expected.xyz && 10 inversesqrt(input.xyzw) == expected.xyzw && 11 inversesqrt(constVal.x) == expected.x && 12 inversesqrt(constVal.xy) == expected.xy && 13 inversesqrt(constVal.xyz) == expected.xyz && 14 inversesqrt(constVal.xyzw) == expected.xyzw && 15 inversesqrt(negativeVal.x) == expected.x && 16 inversesqrt(negativeVal.xy) == expected.xy && 17 inversesqrt(negativeVal.xyz) == expected.xyz && 18 inversesqrt(negativeVal.xyzw) == expected.xyzw) ? colorGreen : colorRed; 19} 20