1cb93a386Sopenharmony_ci
2cb93a386Sopenharmony_ciout vec4 sk_FragColor;
3cb93a386Sopenharmony_ciuniform vec4 colorRed;
4cb93a386Sopenharmony_ciuniform vec4 colorGreen;
5cb93a386Sopenharmony_ciuniform float unknownInput;
6cb93a386Sopenharmony_cibool test_int_b() {
7cb93a386Sopenharmony_ci    bool ok = true;
8cb93a386Sopenharmony_ci    ivec4 inputRed = ivec4(colorRed);
9cb93a386Sopenharmony_ci    ivec4 inputGreen = ivec4(colorGreen);
10cb93a386Sopenharmony_ci    ivec4 x = inputRed + 2;
11cb93a386Sopenharmony_ci    ok = ok && x == ivec4(3, 2, 2, 3);
12cb93a386Sopenharmony_ci    x = inputGreen.ywxz - 2;
13cb93a386Sopenharmony_ci    ok = ok && x == ivec4(-1, -1, -2, -2);
14cb93a386Sopenharmony_ci    x = inputRed + inputGreen.y;
15cb93a386Sopenharmony_ci    ok = ok && x == ivec4(2, 1, 1, 2);
16cb93a386Sopenharmony_ci    x.xyz = inputGreen.wyw * 9;
17cb93a386Sopenharmony_ci    ok = ok && x == ivec4(9, 9, 9, 2);
18cb93a386Sopenharmony_ci    x.xy = x.zw / 3;
19cb93a386Sopenharmony_ci    ok = ok && x == ivec4(3, 0, 9, 2);
20cb93a386Sopenharmony_ci    x = (inputRed * 5).yxwz;
21cb93a386Sopenharmony_ci    ok = ok && x == ivec4(0, 5, 5, 0);
22cb93a386Sopenharmony_ci    x = 2 + inputRed;
23cb93a386Sopenharmony_ci    ok = ok && x == ivec4(3, 2, 2, 3);
24cb93a386Sopenharmony_ci    x = 10 - inputGreen.ywxz;
25cb93a386Sopenharmony_ci    ok = ok && x == ivec4(9, 9, 10, 10);
26cb93a386Sopenharmony_ci    x = inputRed.x + inputGreen;
27cb93a386Sopenharmony_ci    ok = ok && x == ivec4(1, 2, 1, 2);
28cb93a386Sopenharmony_ci    x.xyz = 9 * inputGreen.wyw;
29cb93a386Sopenharmony_ci    ok = ok && x == ivec4(9, 9, 9, 2);
30cb93a386Sopenharmony_ci    x.xy = 36 / x.zw;
31cb93a386Sopenharmony_ci    ok = ok && x == ivec4(4, 18, 9, 2);
32cb93a386Sopenharmony_ci    x = (36 / x).yxwz;
33cb93a386Sopenharmony_ci    ok = ok && x == ivec4(2, 9, 18, 4);
34cb93a386Sopenharmony_ci    x += 2;
35cb93a386Sopenharmony_ci    x *= 2;
36cb93a386Sopenharmony_ci    x -= 4;
37cb93a386Sopenharmony_ci    x /= 2;
38cb93a386Sopenharmony_ci    ok = ok && x == ivec4(2, 9, 18, 4);
39cb93a386Sopenharmony_ci    x = x + 2;
40cb93a386Sopenharmony_ci    x = x * 2;
41cb93a386Sopenharmony_ci    x = x - 4;
42cb93a386Sopenharmony_ci    x = x / 2;
43cb93a386Sopenharmony_ci    ok = ok && x == ivec4(2, 9, 18, 4);
44cb93a386Sopenharmony_ci    return ok;
45cb93a386Sopenharmony_ci}
46cb93a386Sopenharmony_civec4 main() {
47cb93a386Sopenharmony_ci    bool _0_ok = true;
48cb93a386Sopenharmony_ci    vec4 _1_inputRed = colorRed;
49cb93a386Sopenharmony_ci    vec4 _2_inputGreen = colorGreen;
50cb93a386Sopenharmony_ci    vec4 _3_x = _1_inputRed + 2.0;
51cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0);
52cb93a386Sopenharmony_ci    _3_x = _2_inputGreen.ywxz - 2.0;
53cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(-1.0, -1.0, -2.0, -2.0);
54cb93a386Sopenharmony_ci    _3_x = _1_inputRed + _2_inputGreen.y;
55cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(2.0, 1.0, 1.0, 2.0);
56cb93a386Sopenharmony_ci    _3_x.xyz = _2_inputGreen.wyw * 9.0;
57cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 9.0, 2.0);
58cb93a386Sopenharmony_ci    _3_x.xy = _3_x.zw / 0.5;
59cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(18.0, 4.0, 9.0, 2.0);
60cb93a386Sopenharmony_ci    _3_x = (_1_inputRed * 5.0).yxwz;
61cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(0.0, 5.0, 5.0, 0.0);
62cb93a386Sopenharmony_ci    _3_x = 2.0 + _1_inputRed;
63cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0);
64cb93a386Sopenharmony_ci    _3_x = 10.0 - _2_inputGreen.ywxz;
65cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 10.0, 10.0);
66cb93a386Sopenharmony_ci    _3_x = _1_inputRed.x + _2_inputGreen;
67cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(1.0, 2.0, 1.0, 2.0);
68cb93a386Sopenharmony_ci    _3_x.xyz = 9.0 * _2_inputGreen.wyw;
69cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 9.0, 2.0);
70cb93a386Sopenharmony_ci    _3_x.xy = 36.0 / _3_x.zw;
71cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(4.0, 18.0, 9.0, 2.0);
72cb93a386Sopenharmony_ci    _3_x = (36.0 / _3_x).yxwz;
73cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0);
74cb93a386Sopenharmony_ci    _3_x += 2.0;
75cb93a386Sopenharmony_ci    _3_x *= 2.0;
76cb93a386Sopenharmony_ci    _3_x -= 4.0;
77cb93a386Sopenharmony_ci    _3_x /= 2.0;
78cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0);
79cb93a386Sopenharmony_ci    _3_x = _3_x + 2.0;
80cb93a386Sopenharmony_ci    _3_x = _3_x * 2.0;
81cb93a386Sopenharmony_ci    _3_x = _3_x - 4.0;
82cb93a386Sopenharmony_ci    _3_x = _3_x / 2.0;
83cb93a386Sopenharmony_ci    _0_ok = _0_ok && _3_x == vec4(2.0, 9.0, 18.0, 4.0);
84cb93a386Sopenharmony_ci    return _0_ok && test_int_b() ? colorGreen : colorRed;
85cb93a386Sopenharmony_ci}
86