1uniform half4 colorGreen, colorRed;
2
3struct S {
4    int x, y;
5};
6
7half4 main(float2 coords) {
8    float f1[4] = float[4](1, 2, 3, 4);
9    float f2[4] = float[4](1, 2, 3, 4);
10    float f3[4] = float[4](1, 2, 3, -4);
11
12    int3 v1[2] = int3[2](int3(1, 2, 3), int3(4, 5, 6));
13    int3 v2[2] = int3[2](int3(1, 2, 3), int3(4, 5, 6));
14    int3 v3[2] = int3[2](int3(1, 2, 3), int3(4, 5, -6));
15
16    half2x2 m1[3] = half2x2[3](half2x2(1), half2x2(2), half2x2(3, 4, 5, 6));
17    half2x2 m2[3] = half2x2[3](half2x2(1), half2x2(2), half2x2(3, 4, 5, 6));
18    half2x2 m3[3] = half2x2[3](half2x2(1), half2x2(2, 3, 4, 5), half2x2(6));
19
20    S s1[3] = S[3](S(1, 2), S(3, 4), S(5, 6));
21    S s2[3] = S[3](S(1, 2), S(0, 0), S(5, 6));
22    S s3[3] = S[3](S(1, 2), S(3, 4), S(5, 6));
23
24    return (f1 == f2) && (f1 != f3) &&
25           (v1 == v2) && (v1 != v3) &&
26           (m1 == m2) && (m1 != m3) &&
27           (s1 != s2) && (s3 == s1) ? colorGreen : colorRed;
28}
29