1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed, colorBlack, colorWhite, testInputs;
2cb93a386Sopenharmony_ci
3cb93a386Sopenharmony_cihalf4 main(float2 coords) {
4cb93a386Sopenharmony_ci    int4 intGreen  = int4(colorGreen * 100);
5cb93a386Sopenharmony_ci    int4 intRed    = int4(colorRed   * 100);
6cb93a386Sopenharmony_ci    const int4 constIGreen  = int4(0, 100, 0, 100);
7cb93a386Sopenharmony_ci    const int4 constIRed    = int4(100, 0, 0, 100);
8cb93a386Sopenharmony_ci    const half4 constGreen  = half4(0, 1, 0, 1);
9cb93a386Sopenharmony_ci    const half4 constRed    = half4(1, 0, 0, 1);
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ci    return (mix(intGreen.x,       intRed.x,       false)        == intGreen.x      &&
12cb93a386Sopenharmony_ci            mix(intGreen.xy,      intRed.xy,      bool2(false)) == intGreen.xy     &&
13cb93a386Sopenharmony_ci            mix(intGreen.xyz,     intRed.xyz,     bool3(false)) == intGreen.xyz    &&
14cb93a386Sopenharmony_ci            mix(intGreen.xyzw,    intRed.xyzw,    bool4(false)) == intGreen.xyzw   &&
15cb93a386Sopenharmony_ci            mix(intGreen.x,       intRed.x,       true)         == intRed.x        &&
16cb93a386Sopenharmony_ci            mix(intGreen.xy,      intRed.xy,      bool2(true))  == intRed.xy       &&
17cb93a386Sopenharmony_ci            mix(intGreen.xyz,     intRed.xyz,     bool3(true))  == intRed.xyz      &&
18cb93a386Sopenharmony_ci            mix(intGreen.xyzw,    intRed.xyzw,    bool4(true))  == intRed.xyzw     &&
19cb93a386Sopenharmony_ci            mix(constIGreen.x,    constIRed.x,    false)        == intGreen.x      &&
20cb93a386Sopenharmony_ci            mix(constIGreen.xy,   constIRed.xy,   bool2(false)) == intGreen.xy     &&
21cb93a386Sopenharmony_ci            mix(constIGreen.xyz,  constIRed.xyz,  bool3(false)) == intGreen.xyz    &&
22cb93a386Sopenharmony_ci            mix(constIGreen.xyzw, constIRed.xyzw, bool4(false)) == intGreen.xyzw   &&
23cb93a386Sopenharmony_ci            mix(constIGreen.x,    constIRed.x,    true)         == intRed.x        &&
24cb93a386Sopenharmony_ci            mix(constIGreen.xy,   constIRed.xy,   bool2(true))  == intRed.xy       &&
25cb93a386Sopenharmony_ci            mix(constIGreen.xyz,  constIRed.xyz,  bool3(true))  == intRed.xyz      &&
26cb93a386Sopenharmony_ci            mix(constIGreen.xyzw, constIRed.xyzw, bool4(true))  == intRed.xyzw     &&
27cb93a386Sopenharmony_ci            mix(colorGreen.x,     colorRed.x,     false)        == colorGreen.x    &&
28cb93a386Sopenharmony_ci            mix(colorGreen.xy,    colorRed.xy,    bool2(false)) == colorGreen.xy   &&
29cb93a386Sopenharmony_ci            mix(colorGreen.xyz,   colorRed.xyz,   bool3(false)) == colorGreen.xyz  &&
30cb93a386Sopenharmony_ci            mix(colorGreen.xyzw,  colorRed.xyzw,  bool4(false)) == colorGreen.xyzw &&
31cb93a386Sopenharmony_ci            mix(colorGreen.x,     colorRed.x,     true)         == colorRed.x      &&
32cb93a386Sopenharmony_ci            mix(colorGreen.xy,    colorRed.xy,    bool2(true))  == colorRed.xy     &&
33cb93a386Sopenharmony_ci            mix(colorGreen.xyz,   colorRed.xyz,   bool3(true))  == colorRed.xyz    &&
34cb93a386Sopenharmony_ci            mix(colorGreen.xyzw,  colorRed.xyzw,  bool4(true))  == colorRed.xyzw   &&
35cb93a386Sopenharmony_ci            mix(constGreen.x,     constRed.x,     false)        == colorGreen.x    &&
36cb93a386Sopenharmony_ci            mix(constGreen.xy,    constRed.xy,    bool2(false)) == colorGreen.xy   &&
37cb93a386Sopenharmony_ci            mix(constGreen.xyz,   constRed.xyz,   bool3(false)) == colorGreen.xyz  &&
38cb93a386Sopenharmony_ci            mix(constGreen.xyzw,  constRed.xyzw,  bool4(false)) == colorGreen.xyzw &&
39cb93a386Sopenharmony_ci            mix(constGreen.x,     constRed.x,     true)         == colorRed.x      &&
40cb93a386Sopenharmony_ci            mix(constGreen.xy,    constRed.xy,    bool2(true))  == colorRed.xy     &&
41cb93a386Sopenharmony_ci            mix(constGreen.xyz,   constRed.xyz,   bool3(true))  == colorRed.xyz    &&
42cb93a386Sopenharmony_ci            mix(constGreen.xyzw,  constRed.xyzw,  bool4(true))  == colorRed.xyzw) ? colorGreen
43cb93a386Sopenharmony_ci                                                                                  : colorRed;
44cb93a386Sopenharmony_ci}
45cb93a386Sopenharmony_ci
46