1cb93a386Sopenharmony_ciuniform half4 inputVal, expected;
2cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed;
3cb93a386Sopenharmony_ci
4cb93a386Sopenharmony_cihalf4 main(float2 coords) {
5cb93a386Sopenharmony_ci    const half4 constVal1 = half4(0);
6cb93a386Sopenharmony_ci    const half4 constVal2 = half4(1);
7cb93a386Sopenharmony_ci    return (atan(inputVal.x)                     == expected.x     &&
8cb93a386Sopenharmony_ci            atan(inputVal.xy)                    == expected.xy    &&
9cb93a386Sopenharmony_ci            atan(inputVal.xyz)                   == expected.xyz   &&
10cb93a386Sopenharmony_ci            atan(inputVal.xyzw)                  == expected.xyzw  &&
11cb93a386Sopenharmony_ci            atan(constVal1.x)                    == expected.x     &&
12cb93a386Sopenharmony_ci            atan(constVal1.xy)                   == expected.xy    &&
13cb93a386Sopenharmony_ci            atan(constVal1.xyz)                  == expected.xyz   &&
14cb93a386Sopenharmony_ci            atan(constVal1.xyzw)                 == expected.xyzw  &&
15cb93a386Sopenharmony_ci            atan(inputVal.x,     constVal2.x)    == expected.x     &&
16cb93a386Sopenharmony_ci            atan(inputVal.xy,    constVal2.xy)   == expected.xy    &&
17cb93a386Sopenharmony_ci            atan(inputVal.xyz,   constVal2.xyz)  == expected.xyz   &&
18cb93a386Sopenharmony_ci            atan(inputVal.xyzw,  constVal2.xyzw) == expected.xyzw  &&
19cb93a386Sopenharmony_ci            atan(constVal1.x,    constVal2.x)    == expected.x     &&
20cb93a386Sopenharmony_ci            atan(constVal1.xy,   constVal2.xy)   == expected.xy    &&
21cb93a386Sopenharmony_ci            atan(constVal1.xyz,  constVal2.xyz)  == expected.xyz   &&
22cb93a386Sopenharmony_ci            atan(constVal1.xyzw, constVal2.xyzw) == expected.xyzw) ? colorGreen : colorRed;
23cb93a386Sopenharmony_ci}
24