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