1cb93a386Sopenharmony_ciuniform half4 colorRed, colorGreen;
2cb93a386Sopenharmony_ciuniform half  unknownInput;
3cb93a386Sopenharmony_ci
4cb93a386Sopenharmony_cibool test() {
5cb93a386Sopenharmony_ci    int unknown = int(unknownInput);
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ci    bool ok = true;
8cb93a386Sopenharmony_ci    int x = 32 + 2;
9cb93a386Sopenharmony_ci    ok = ok && (x == 34);
10cb93a386Sopenharmony_ci    x = 32 - 2;
11cb93a386Sopenharmony_ci    ok = ok && (x == 30);
12cb93a386Sopenharmony_ci    x = 32 * 2;
13cb93a386Sopenharmony_ci    ok = ok && (x == 64);
14cb93a386Sopenharmony_ci    x = 32 / 2;
15cb93a386Sopenharmony_ci    ok = ok && (x == 16);
16cb93a386Sopenharmony_ci    x = -1 == -1 ? 1 : -1;
17cb93a386Sopenharmony_ci    ok = ok && (x == 1);
18cb93a386Sopenharmony_ci    x = -1 == -2 ? 2 : -2;
19cb93a386Sopenharmony_ci    ok = ok && (x == -2);
20cb93a386Sopenharmony_ci    x = 0 != 1 ? 3 : -3;
21cb93a386Sopenharmony_ci    ok = ok && (x == 3);
22cb93a386Sopenharmony_ci    x = 0 != 0 ? 4 : -4;
23cb93a386Sopenharmony_ci    ok = ok && (x == -4);
24cb93a386Sopenharmony_ci    x = 6 > 5 ? 5 : -5;
25cb93a386Sopenharmony_ci    ok = ok && (x == 5);
26cb93a386Sopenharmony_ci    x = 6 > 6 ? 6 : -6;
27cb93a386Sopenharmony_ci    ok = ok && (x == -6);
28cb93a386Sopenharmony_ci    x = -1 < 0 ? 7 : -7;
29cb93a386Sopenharmony_ci    ok = ok && (x == 7);
30cb93a386Sopenharmony_ci    x = 1 < 0 ? 8 : -8;
31cb93a386Sopenharmony_ci    ok = ok && (x == -8);
32cb93a386Sopenharmony_ci    x = 6 >= 6 ? 9 : -9;
33cb93a386Sopenharmony_ci    ok = ok && (x == 9);
34cb93a386Sopenharmony_ci    x = 6 >= 7 ? 10 : -10;
35cb93a386Sopenharmony_ci    ok = ok && (x == -10);
36cb93a386Sopenharmony_ci    x = 6 <= 6 ? 11 : -11;
37cb93a386Sopenharmony_ci    ok = ok && (x == 11);
38cb93a386Sopenharmony_ci    x = 6 <= 5 ? 12 : -12;
39cb93a386Sopenharmony_ci    ok = ok && (x == -12);
40cb93a386Sopenharmony_ci
41cb93a386Sopenharmony_ci    x = unknown + 0;
42cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
43cb93a386Sopenharmony_ci    x = 0 + unknown;
44cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
45cb93a386Sopenharmony_ci    x = unknown - 0;
46cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
47cb93a386Sopenharmony_ci    x = unknown * 0;
48cb93a386Sopenharmony_ci    ok = ok && (x == 0);
49cb93a386Sopenharmony_ci    x = unknown * 1;
50cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
51cb93a386Sopenharmony_ci    x = 1 * unknown;
52cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
53cb93a386Sopenharmony_ci    x = 0 * unknown;
54cb93a386Sopenharmony_ci    ok = ok && (x == 0);
55cb93a386Sopenharmony_ci    x = unknown / 1;
56cb93a386Sopenharmony_ci    ok = ok && (x == unknown);
57cb93a386Sopenharmony_ci    x = 0 / unknown;
58cb93a386Sopenharmony_ci    ok = ok && (x == 0);
59cb93a386Sopenharmony_ci    x += 1;
60cb93a386Sopenharmony_ci    ok = ok && (x == 1);
61cb93a386Sopenharmony_ci    x += 0;
62cb93a386Sopenharmony_ci    ok = ok && (x == 1);
63cb93a386Sopenharmony_ci    x -= 2;
64cb93a386Sopenharmony_ci    ok = ok && (x == -1);
65cb93a386Sopenharmony_ci    x -= 0;
66cb93a386Sopenharmony_ci    ok = ok && (x == -1);
67cb93a386Sopenharmony_ci    x *= 1;
68cb93a386Sopenharmony_ci    ok = ok && (x == -1);
69cb93a386Sopenharmony_ci    x *= 2;
70cb93a386Sopenharmony_ci    ok = ok && (x == -2);
71cb93a386Sopenharmony_ci    x /= 1;
72cb93a386Sopenharmony_ci    ok = ok && (x == -2);
73cb93a386Sopenharmony_ci    x /= 2;
74cb93a386Sopenharmony_ci    ok = ok && (x == -1);
75cb93a386Sopenharmony_ci    return ok;
76cb93a386Sopenharmony_ci}
77cb93a386Sopenharmony_ci
78cb93a386Sopenharmony_cihalf4 main(float2 coords) {
79cb93a386Sopenharmony_ci    return test() ? colorGreen : colorRed;
80cb93a386Sopenharmony_ci}
81