xref: /aosp_15_r20/external/skia/tests/sksl/shared/MatrixOpEqualsES2.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer _UniformBuffer : register(b0, space0)
2{
3    float4 _8_colorRed : packoffset(c0);
4    float4 _8_colorGreen : packoffset(c1);
5};
6
7
8static float4 sk_FragColor;
9
10struct SPIRV_Cross_Output
11{
12    float4 sk_FragColor : SV_Target0;
13};
14
15bool test_matrix_op_matrix_half_b()
16{
17    bool ok = true;
18    float3x3 splat_4 = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
19    float3x3 splat_2 = float3x3(2.0f.xxx, 2.0f.xxx, 2.0f.xxx);
20    float3x3 m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
21    float3 _43 = float3(2.0f, 0.0f, 0.0f) + 4.0f.xxx;
22    float3 _44 = float3(0.0f, 2.0f, 0.0f) + 4.0f.xxx;
23    float3 _45 = float3(0.0f, 0.0f, 2.0f) + 4.0f.xxx;
24    m = float3x3(_43, _44, _45);
25    bool _64 = false;
26    if (true)
27    {
28        _64 = (all(bool3(_43.x == float3(6.0f, 4.0f, 4.0f).x, _43.y == float3(6.0f, 4.0f, 4.0f).y, _43.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_44.x == float3(4.0f, 6.0f, 4.0f).x, _44.y == float3(4.0f, 6.0f, 4.0f).y, _44.z == float3(4.0f, 6.0f, 4.0f).z))) && all(bool3(_45.x == float3(4.0f, 4.0f, 6.0f).x, _45.y == float3(4.0f, 4.0f, 6.0f).y, _45.z == float3(4.0f, 4.0f, 6.0f).z));
29    }
30    else
31    {
32        _64 = false;
33    }
34    ok = _64;
35    m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
36    float3 _65 = float3(2.0f, 0.0f, 0.0f) - 4.0f.xxx;
37    float3 _66 = float3(0.0f, 2.0f, 0.0f) - 4.0f.xxx;
38    float3 _67 = float3(0.0f, 0.0f, 2.0f) - 4.0f.xxx;
39    m = float3x3(_65, _66, _67);
40    bool _85 = false;
41    if (_64)
42    {
43        _85 = (all(bool3(_65.x == float3(-2.0f, -4.0f, -4.0f).x, _65.y == float3(-2.0f, -4.0f, -4.0f).y, _65.z == float3(-2.0f, -4.0f, -4.0f).z)) && all(bool3(_66.x == float3(-4.0f, -2.0f, -4.0f).x, _66.y == float3(-4.0f, -2.0f, -4.0f).y, _66.z == float3(-4.0f, -2.0f, -4.0f).z))) && all(bool3(_67.x == float3(-4.0f, -4.0f, -2.0f).x, _67.y == float3(-4.0f, -4.0f, -2.0f).y, _67.z == float3(-4.0f, -4.0f, -2.0f).z));
44    }
45    else
46    {
47        _85 = false;
48    }
49    ok = _85;
50    m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
51    float3 _86 = float3(2.0f, 0.0f, 0.0f) / 4.0f.xxx;
52    float3 _87 = float3(0.0f, 2.0f, 0.0f) / 4.0f.xxx;
53    float3 _88 = float3(0.0f, 0.0f, 2.0f) / 4.0f.xxx;
54    m = float3x3(_86, _87, _88);
55    bool _105 = false;
56    if (_85)
57    {
58        _105 = (all(bool3(_86.x == float3(0.5f, 0.0f, 0.0f).x, _86.y == float3(0.5f, 0.0f, 0.0f).y, _86.z == float3(0.5f, 0.0f, 0.0f).z)) && all(bool3(_87.x == float3(0.0f, 0.5f, 0.0f).x, _87.y == float3(0.0f, 0.5f, 0.0f).y, _87.z == float3(0.0f, 0.5f, 0.0f).z))) && all(bool3(_88.x == float3(0.0f, 0.0f, 0.5f).x, _88.y == float3(0.0f, 0.0f, 0.5f).y, _88.z == float3(0.0f, 0.0f, 0.5f).z));
59    }
60    else
61    {
62        _105 = false;
63    }
64    ok = _105;
65    m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
66    float3 _106 = 4.0f.xxx + float3(2.0f, 0.0f, 0.0f);
67    float3 _107 = 4.0f.xxx + float3(0.0f, 2.0f, 0.0f);
68    float3 _108 = 4.0f.xxx + float3(0.0f, 0.0f, 2.0f);
69    m = float3x3(_106, _107, _108);
70    bool _120 = false;
71    if (_105)
72    {
73        _120 = (all(bool3(_106.x == float3(6.0f, 4.0f, 4.0f).x, _106.y == float3(6.0f, 4.0f, 4.0f).y, _106.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_107.x == float3(4.0f, 6.0f, 4.0f).x, _107.y == float3(4.0f, 6.0f, 4.0f).y, _107.z == float3(4.0f, 6.0f, 4.0f).z))) && all(bool3(_108.x == float3(4.0f, 4.0f, 6.0f).x, _108.y == float3(4.0f, 4.0f, 6.0f).y, _108.z == float3(4.0f, 4.0f, 6.0f).z));
74    }
75    else
76    {
77        _120 = false;
78    }
79    ok = _120;
80    m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
81    float3 _121 = 4.0f.xxx - float3(2.0f, 0.0f, 0.0f);
82    float3 _122 = 4.0f.xxx - float3(0.0f, 2.0f, 0.0f);
83    float3 _123 = 4.0f.xxx - float3(0.0f, 0.0f, 2.0f);
84    m = float3x3(_121, _122, _123);
85    bool _139 = false;
86    if (_120)
87    {
88        _139 = (all(bool3(_121.x == float3(2.0f, 4.0f, 4.0f).x, _121.y == float3(2.0f, 4.0f, 4.0f).y, _121.z == float3(2.0f, 4.0f, 4.0f).z)) && all(bool3(_122.x == float3(4.0f, 2.0f, 4.0f).x, _122.y == float3(4.0f, 2.0f, 4.0f).y, _122.z == float3(4.0f, 2.0f, 4.0f).z))) && all(bool3(_123.x == float3(4.0f, 4.0f, 2.0f).x, _123.y == float3(4.0f, 4.0f, 2.0f).y, _123.z == float3(4.0f, 4.0f, 2.0f).z));
89    }
90    else
91    {
92        _139 = false;
93    }
94    ok = _139;
95    m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
96    float3 _140 = 4.0f.xxx / 2.0f.xxx;
97    float3 _141 = 4.0f.xxx / 2.0f.xxx;
98    float3 _142 = 4.0f.xxx / 2.0f.xxx;
99    m = float3x3(_140, _141, _142);
100    bool _154 = false;
101    if (_139)
102    {
103        _154 = (all(bool3(_140.x == 2.0f.xxx.x, _140.y == 2.0f.xxx.y, _140.z == 2.0f.xxx.z)) && all(bool3(_141.x == 2.0f.xxx.x, _141.y == 2.0f.xxx.y, _141.z == 2.0f.xxx.z))) && all(bool3(_142.x == 2.0f.xxx.x, _142.y == 2.0f.xxx.y, _142.z == 2.0f.xxx.z));
104    }
105    else
106    {
107        _154 = false;
108    }
109    ok = _154;
110    float4x4 m_1 = float4x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f), float4(9.0f, 10.0f, 11.0f, 12.0f), float4(13.0f, 14.0f, 15.0f, 16.0f));
111    float4 _181 = float4(1.0f, 2.0f, 3.0f, 4.0f) + float4(16.0f, 15.0f, 14.0f, 13.0f);
112    float4 _182 = float4(5.0f, 6.0f, 7.0f, 8.0f) + float4(12.0f, 11.0f, 10.0f, 9.0f);
113    float4 _183 = float4(9.0f, 10.0f, 11.0f, 12.0f) + float4(8.0f, 7.0f, 6.0f, 5.0f);
114    float4 _184 = float4(13.0f, 14.0f, 15.0f, 16.0f) + float4(4.0f, 3.0f, 2.0f, 1.0f);
115    m_1 = float4x4(_181, _182, _183, _184);
116    bool _203 = false;
117    if (_154)
118    {
119        _203 = ((all(bool4(_181.x == 17.0f.xxxx.x, _181.y == 17.0f.xxxx.y, _181.z == 17.0f.xxxx.z, _181.w == 17.0f.xxxx.w)) && all(bool4(_182.x == 17.0f.xxxx.x, _182.y == 17.0f.xxxx.y, _182.z == 17.0f.xxxx.z, _182.w == 17.0f.xxxx.w))) && all(bool4(_183.x == 17.0f.xxxx.x, _183.y == 17.0f.xxxx.y, _183.z == 17.0f.xxxx.z, _183.w == 17.0f.xxxx.w))) && all(bool4(_184.x == 17.0f.xxxx.x, _184.y == 17.0f.xxxx.y, _184.z == 17.0f.xxxx.z, _184.w == 17.0f.xxxx.w));
120    }
121    else
122    {
123        _203 = false;
124    }
125    ok = _203;
126    float2x2 m_2 = float2x2(float2(10.0f, 20.0f), float2(30.0f, 40.0f));
127    float2 _216 = float2(10.0f, 20.0f) - float2(1.0f, 2.0f);
128    float2 _217 = float2(30.0f, 40.0f) - float2(3.0f, 4.0f);
129    m_2 = float2x2(_216, _217);
130    bool _233 = false;
131    if (_203)
132    {
133        _233 = all(bool2(_216.x == float2(9.0f, 18.0f).x, _216.y == float2(9.0f, 18.0f).y)) && all(bool2(_217.x == float2(27.0f, 36.0f).x, _217.y == float2(27.0f, 36.0f).y));
134    }
135    else
136    {
137        _233 = false;
138    }
139    ok = _233;
140    float2x2 m_3 = float2x2(float2(2.0f, 4.0f), float2(6.0f, 8.0f));
141    float2 _240 = float2(2.0f, 4.0f) / 2.0f.xx;
142    float2 _241 = float2(6.0f, 8.0f) / float2(2.0f, 4.0f);
143    m_3 = float2x2(_240, _241);
144    bool _252 = false;
145    if (_233)
146    {
147        _252 = all(bool2(_240.x == float2(1.0f, 2.0f).x, _240.y == float2(1.0f, 2.0f).y)) && all(bool2(_241.x == float2(3.0f, 2.0f).x, _241.y == float2(3.0f, 2.0f).y));
148    }
149    else
150    {
151        _252 = false;
152    }
153    ok = _252;
154    float2x2 m_4 = float2x2(float2(1.0f, 2.0f), float2(7.0f, 4.0f));
155    float2x2 _258 = mul(float2x2(float2(3.0f, 5.0f), float2(3.0f, 2.0f)), float2x2(float2(1.0f, 2.0f), float2(7.0f, 4.0f)));
156    m_4 = _258;
157    bool _273 = false;
158    if (_252)
159    {
160        float2 _266 = _258[0];
161        float2 _269 = _258[1];
162        _273 = all(bool2(_266.x == float2(38.0f, 26.0f).x, _266.y == float2(38.0f, 26.0f).y)) && all(bool2(_269.x == float2(17.0f, 14.0f).x, _269.y == float2(17.0f, 14.0f).y));
163    }
164    else
165    {
166        _273 = false;
167    }
168    ok = _273;
169    float3x3 m_5 = float3x3(float3(10.0f, 4.0f, 2.0f), float3(20.0f, 5.0f, 3.0f), float3(10.0f, 6.0f, 5.0f));
170    float3x3 _283 = mul(float3x3(float3(3.0f, 3.0f, 4.0f), float3(2.0f, 3.0f, 4.0f), float3(4.0f, 9.0f, 2.0f)), float3x3(float3(10.0f, 4.0f, 2.0f), float3(20.0f, 5.0f, 3.0f), float3(10.0f, 6.0f, 5.0f)));
171    m_5 = _283;
172    bool _310 = false;
173    if (_273)
174    {
175        float3 _299 = _283[0];
176        float3 _302 = _283[1];
177        float3 _306 = _283[2];
178        _310 = (all(bool3(_299.x == float3(130.0f, 51.0f, 35.0f).x, _299.y == float3(130.0f, 51.0f, 35.0f).y, _299.z == float3(130.0f, 51.0f, 35.0f).z)) && all(bool3(_302.x == float3(120.0f, 47.0f, 33.0f).x, _302.y == float3(120.0f, 47.0f, 33.0f).y, _302.z == float3(120.0f, 47.0f, 33.0f).z))) && all(bool3(_306.x == float3(240.0f, 73.0f, 45.0f).x, _306.y == float3(240.0f, 73.0f, 45.0f).y, _306.z == float3(240.0f, 73.0f, 45.0f).z));
179    }
180    else
181    {
182        _310 = false;
183    }
184    ok = _310;
185    return _310;
186}
187
188float4 main(float2 _312)
189{
190    bool _RESERVED_IDENTIFIER_FIXUP_0_ok = true;
191    float3x3 _RESERVED_IDENTIFIER_FIXUP_1_splat_4 = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
192    float3x3 _RESERVED_IDENTIFIER_FIXUP_2_splat_2 = float3x3(2.0f.xxx, 2.0f.xxx, 2.0f.xxx);
193    float3x3 _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
194    float3 _318 = float3(2.0f, 0.0f, 0.0f) + 4.0f.xxx;
195    float3 _319 = float3(0.0f, 2.0f, 0.0f) + 4.0f.xxx;
196    float3 _320 = float3(0.0f, 0.0f, 2.0f) + 4.0f.xxx;
197    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_318, _319, _320);
198    bool _332 = false;
199    if (true)
200    {
201        _332 = (all(bool3(_318.x == float3(6.0f, 4.0f, 4.0f).x, _318.y == float3(6.0f, 4.0f, 4.0f).y, _318.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_319.x == float3(4.0f, 6.0f, 4.0f).x, _319.y == float3(4.0f, 6.0f, 4.0f).y, _319.z == float3(4.0f, 6.0f, 4.0f).z))) && all(bool3(_320.x == float3(4.0f, 4.0f, 6.0f).x, _320.y == float3(4.0f, 4.0f, 6.0f).y, _320.z == float3(4.0f, 4.0f, 6.0f).z));
202    }
203    else
204    {
205        _332 = false;
206    }
207    _RESERVED_IDENTIFIER_FIXUP_0_ok = _332;
208    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
209    float3 _333 = float3(2.0f, 0.0f, 0.0f) - 4.0f.xxx;
210    float3 _334 = float3(0.0f, 2.0f, 0.0f) - 4.0f.xxx;
211    float3 _335 = float3(0.0f, 0.0f, 2.0f) - 4.0f.xxx;
212    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_333, _334, _335);
213    bool _347 = false;
214    if (_332)
215    {
216        _347 = (all(bool3(_333.x == float3(-2.0f, -4.0f, -4.0f).x, _333.y == float3(-2.0f, -4.0f, -4.0f).y, _333.z == float3(-2.0f, -4.0f, -4.0f).z)) && all(bool3(_334.x == float3(-4.0f, -2.0f, -4.0f).x, _334.y == float3(-4.0f, -2.0f, -4.0f).y, _334.z == float3(-4.0f, -2.0f, -4.0f).z))) && all(bool3(_335.x == float3(-4.0f, -4.0f, -2.0f).x, _335.y == float3(-4.0f, -4.0f, -2.0f).y, _335.z == float3(-4.0f, -4.0f, -2.0f).z));
217    }
218    else
219    {
220        _347 = false;
221    }
222    _RESERVED_IDENTIFIER_FIXUP_0_ok = _347;
223    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(float3(2.0f, 0.0f, 0.0f), float3(0.0f, 2.0f, 0.0f), float3(0.0f, 0.0f, 2.0f));
224    float3 _348 = float3(2.0f, 0.0f, 0.0f) / 4.0f.xxx;
225    float3 _349 = float3(0.0f, 2.0f, 0.0f) / 4.0f.xxx;
226    float3 _350 = float3(0.0f, 0.0f, 2.0f) / 4.0f.xxx;
227    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_348, _349, _350);
228    bool _362 = false;
229    if (_347)
230    {
231        _362 = (all(bool3(_348.x == float3(0.5f, 0.0f, 0.0f).x, _348.y == float3(0.5f, 0.0f, 0.0f).y, _348.z == float3(0.5f, 0.0f, 0.0f).z)) && all(bool3(_349.x == float3(0.0f, 0.5f, 0.0f).x, _349.y == float3(0.0f, 0.5f, 0.0f).y, _349.z == float3(0.0f, 0.5f, 0.0f).z))) && all(bool3(_350.x == float3(0.0f, 0.0f, 0.5f).x, _350.y == float3(0.0f, 0.0f, 0.5f).y, _350.z == float3(0.0f, 0.0f, 0.5f).z));
232    }
233    else
234    {
235        _362 = false;
236    }
237    _RESERVED_IDENTIFIER_FIXUP_0_ok = _362;
238    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
239    float3 _363 = 4.0f.xxx + float3(2.0f, 0.0f, 0.0f);
240    float3 _364 = 4.0f.xxx + float3(0.0f, 2.0f, 0.0f);
241    float3 _365 = 4.0f.xxx + float3(0.0f, 0.0f, 2.0f);
242    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_363, _364, _365);
243    bool _377 = false;
244    if (_362)
245    {
246        _377 = (all(bool3(_363.x == float3(6.0f, 4.0f, 4.0f).x, _363.y == float3(6.0f, 4.0f, 4.0f).y, _363.z == float3(6.0f, 4.0f, 4.0f).z)) && all(bool3(_364.x == float3(4.0f, 6.0f, 4.0f).x, _364.y == float3(4.0f, 6.0f, 4.0f).y, _364.z == float3(4.0f, 6.0f, 4.0f).z))) && all(bool3(_365.x == float3(4.0f, 4.0f, 6.0f).x, _365.y == float3(4.0f, 4.0f, 6.0f).y, _365.z == float3(4.0f, 4.0f, 6.0f).z));
247    }
248    else
249    {
250        _377 = false;
251    }
252    _RESERVED_IDENTIFIER_FIXUP_0_ok = _377;
253    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
254    float3 _378 = 4.0f.xxx - float3(2.0f, 0.0f, 0.0f);
255    float3 _379 = 4.0f.xxx - float3(0.0f, 2.0f, 0.0f);
256    float3 _380 = 4.0f.xxx - float3(0.0f, 0.0f, 2.0f);
257    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_378, _379, _380);
258    bool _392 = false;
259    if (_377)
260    {
261        _392 = (all(bool3(_378.x == float3(2.0f, 4.0f, 4.0f).x, _378.y == float3(2.0f, 4.0f, 4.0f).y, _378.z == float3(2.0f, 4.0f, 4.0f).z)) && all(bool3(_379.x == float3(4.0f, 2.0f, 4.0f).x, _379.y == float3(4.0f, 2.0f, 4.0f).y, _379.z == float3(4.0f, 2.0f, 4.0f).z))) && all(bool3(_380.x == float3(4.0f, 4.0f, 2.0f).x, _380.y == float3(4.0f, 4.0f, 2.0f).y, _380.z == float3(4.0f, 4.0f, 2.0f).z));
262    }
263    else
264    {
265        _392 = false;
266    }
267    _RESERVED_IDENTIFIER_FIXUP_0_ok = _392;
268    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(4.0f.xxx, 4.0f.xxx, 4.0f.xxx);
269    float3 _393 = 4.0f.xxx / 2.0f.xxx;
270    float3 _394 = 4.0f.xxx / 2.0f.xxx;
271    float3 _395 = 4.0f.xxx / 2.0f.xxx;
272    _RESERVED_IDENTIFIER_FIXUP_3_m = float3x3(_393, _394, _395);
273    bool _407 = false;
274    if (_392)
275    {
276        _407 = (all(bool3(_393.x == 2.0f.xxx.x, _393.y == 2.0f.xxx.y, _393.z == 2.0f.xxx.z)) && all(bool3(_394.x == 2.0f.xxx.x, _394.y == 2.0f.xxx.y, _394.z == 2.0f.xxx.z))) && all(bool3(_395.x == 2.0f.xxx.x, _395.y == 2.0f.xxx.y, _395.z == 2.0f.xxx.z));
277    }
278    else
279    {
280        _407 = false;
281    }
282    _RESERVED_IDENTIFIER_FIXUP_0_ok = _407;
283    float4x4 _RESERVED_IDENTIFIER_FIXUP_4_m = float4x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f), float4(9.0f, 10.0f, 11.0f, 12.0f), float4(13.0f, 14.0f, 15.0f, 16.0f));
284    float4 _409 = float4(1.0f, 2.0f, 3.0f, 4.0f) + float4(16.0f, 15.0f, 14.0f, 13.0f);
285    float4 _410 = float4(5.0f, 6.0f, 7.0f, 8.0f) + float4(12.0f, 11.0f, 10.0f, 9.0f);
286    float4 _411 = float4(9.0f, 10.0f, 11.0f, 12.0f) + float4(8.0f, 7.0f, 6.0f, 5.0f);
287    float4 _412 = float4(13.0f, 14.0f, 15.0f, 16.0f) + float4(4.0f, 3.0f, 2.0f, 1.0f);
288    _RESERVED_IDENTIFIER_FIXUP_4_m = float4x4(_409, _410, _411, _412);
289    bool _427 = false;
290    if (_407)
291    {
292        _427 = ((all(bool4(_409.x == 17.0f.xxxx.x, _409.y == 17.0f.xxxx.y, _409.z == 17.0f.xxxx.z, _409.w == 17.0f.xxxx.w)) && all(bool4(_410.x == 17.0f.xxxx.x, _410.y == 17.0f.xxxx.y, _410.z == 17.0f.xxxx.z, _410.w == 17.0f.xxxx.w))) && all(bool4(_411.x == 17.0f.xxxx.x, _411.y == 17.0f.xxxx.y, _411.z == 17.0f.xxxx.z, _411.w == 17.0f.xxxx.w))) && all(bool4(_412.x == 17.0f.xxxx.x, _412.y == 17.0f.xxxx.y, _412.z == 17.0f.xxxx.z, _412.w == 17.0f.xxxx.w));
293    }
294    else
295    {
296        _427 = false;
297    }
298    _RESERVED_IDENTIFIER_FIXUP_0_ok = _427;
299    float2x2 _RESERVED_IDENTIFIER_FIXUP_5_m = float2x2(float2(10.0f, 20.0f), float2(30.0f, 40.0f));
300    float2 _429 = float2(10.0f, 20.0f) - float2(1.0f, 2.0f);
301    float2 _430 = float2(30.0f, 40.0f) - float2(3.0f, 4.0f);
302    _RESERVED_IDENTIFIER_FIXUP_5_m = float2x2(_429, _430);
303    bool _439 = false;
304    if (_427)
305    {
306        _439 = all(bool2(_429.x == float2(9.0f, 18.0f).x, _429.y == float2(9.0f, 18.0f).y)) && all(bool2(_430.x == float2(27.0f, 36.0f).x, _430.y == float2(27.0f, 36.0f).y));
307    }
308    else
309    {
310        _439 = false;
311    }
312    _RESERVED_IDENTIFIER_FIXUP_0_ok = _439;
313    float2x2 _RESERVED_IDENTIFIER_FIXUP_6_m = float2x2(float2(2.0f, 4.0f), float2(6.0f, 8.0f));
314    float2 _441 = float2(2.0f, 4.0f) / 2.0f.xx;
315    float2 _442 = float2(6.0f, 8.0f) / float2(2.0f, 4.0f);
316    _RESERVED_IDENTIFIER_FIXUP_6_m = float2x2(_441, _442);
317    bool _451 = false;
318    if (_439)
319    {
320        _451 = all(bool2(_441.x == float2(1.0f, 2.0f).x, _441.y == float2(1.0f, 2.0f).y)) && all(bool2(_442.x == float2(3.0f, 2.0f).x, _442.y == float2(3.0f, 2.0f).y));
321    }
322    else
323    {
324        _451 = false;
325    }
326    _RESERVED_IDENTIFIER_FIXUP_0_ok = _451;
327    float2x2 _RESERVED_IDENTIFIER_FIXUP_7_m = float2x2(float2(1.0f, 2.0f), float2(7.0f, 4.0f));
328    float2x2 _453 = mul(float2x2(float2(3.0f, 5.0f), float2(3.0f, 2.0f)), float2x2(float2(1.0f, 2.0f), float2(7.0f, 4.0f)));
329    _RESERVED_IDENTIFIER_FIXUP_7_m = _453;
330    bool _463 = false;
331    if (_451)
332    {
333        float2 _456 = _453[0];
334        float2 _459 = _453[1];
335        _463 = all(bool2(_456.x == float2(38.0f, 26.0f).x, _456.y == float2(38.0f, 26.0f).y)) && all(bool2(_459.x == float2(17.0f, 14.0f).x, _459.y == float2(17.0f, 14.0f).y));
336    }
337    else
338    {
339        _463 = false;
340    }
341    _RESERVED_IDENTIFIER_FIXUP_0_ok = _463;
342    float3x3 _RESERVED_IDENTIFIER_FIXUP_8_m = float3x3(float3(10.0f, 4.0f, 2.0f), float3(20.0f, 5.0f, 3.0f), float3(10.0f, 6.0f, 5.0f));
343    float3x3 _465 = mul(float3x3(float3(3.0f, 3.0f, 4.0f), float3(2.0f, 3.0f, 4.0f), float3(4.0f, 9.0f, 2.0f)), float3x3(float3(10.0f, 4.0f, 2.0f), float3(20.0f, 5.0f, 3.0f), float3(10.0f, 6.0f, 5.0f)));
344    _RESERVED_IDENTIFIER_FIXUP_8_m = _465;
345    bool _479 = false;
346    if (_463)
347    {
348        float3 _468 = _465[0];
349        float3 _471 = _465[1];
350        float3 _475 = _465[2];
351        _479 = (all(bool3(_468.x == float3(130.0f, 51.0f, 35.0f).x, _468.y == float3(130.0f, 51.0f, 35.0f).y, _468.z == float3(130.0f, 51.0f, 35.0f).z)) && all(bool3(_471.x == float3(120.0f, 47.0f, 33.0f).x, _471.y == float3(120.0f, 47.0f, 33.0f).y, _471.z == float3(120.0f, 47.0f, 33.0f).z))) && all(bool3(_475.x == float3(240.0f, 73.0f, 45.0f).x, _475.y == float3(240.0f, 73.0f, 45.0f).y, _475.z == float3(240.0f, 73.0f, 45.0f).z));
352    }
353    else
354    {
355        _479 = false;
356    }
357    _RESERVED_IDENTIFIER_FIXUP_0_ok = _479;
358    bool _483 = false;
359    if (_479)
360    {
361        _483 = test_matrix_op_matrix_half_b();
362    }
363    else
364    {
365        _483 = false;
366    }
367    float4 _484 = 0.0f.xxxx;
368    if (_483)
369    {
370        _484 = _8_colorGreen;
371    }
372    else
373    {
374        _484 = _8_colorRed;
375    }
376    return _484;
377}
378
379void frag_main()
380{
381    float2 _18 = 0.0f.xx;
382    sk_FragColor = main(_18);
383}
384
385SPIRV_Cross_Output main()
386{
387    frag_main();
388    SPIRV_Cross_Output stage_output;
389    stage_output.sk_FragColor = sk_FragColor;
390    return stage_output;
391}
392