1cb93a386Sopenharmony_ciOpCapability Shader
2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450"
3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450
4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft
6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor"
7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise"
8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer"
9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "colorGreen"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorRed"
11cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v"
12cb93a386Sopenharmony_ciOpName %test_half_b "test_half_b"
13cb93a386Sopenharmony_ciOpName %ok "ok"
14cb93a386Sopenharmony_ciOpName %m1 "m1"
15cb93a386Sopenharmony_ciOpName %m3 "m3"
16cb93a386Sopenharmony_ciOpName %m4 "m4"
17cb93a386Sopenharmony_ciOpName %m5 "m5"
18cb93a386Sopenharmony_ciOpName %m7 "m7"
19cb93a386Sopenharmony_ciOpName %m9 "m9"
20cb93a386Sopenharmony_ciOpName %m10 "m10"
21cb93a386Sopenharmony_ciOpName %m11 "m11"
22cb93a386Sopenharmony_ciOpName %test_comma_b "test_comma_b"
23cb93a386Sopenharmony_ciOpName %x "x"
24cb93a386Sopenharmony_ciOpName %y "y"
25cb93a386Sopenharmony_ciOpName %main "main"
26cb93a386Sopenharmony_ciOpName %_0_ok "_0_ok"
27cb93a386Sopenharmony_ciOpName %_1_m1 "_1_m1"
28cb93a386Sopenharmony_ciOpName %_2_m3 "_2_m3"
29cb93a386Sopenharmony_ciOpName %_3_m4 "_3_m4"
30cb93a386Sopenharmony_ciOpName %_4_m5 "_4_m5"
31cb93a386Sopenharmony_ciOpName %_5_m7 "_5_m7"
32cb93a386Sopenharmony_ciOpName %_6_m9 "_6_m9"
33cb93a386Sopenharmony_ciOpName %_7_m10 "_7_m10"
34cb93a386Sopenharmony_ciOpName %_8_m11 "_8_m11"
35cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
36cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
37cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
38cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
39cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
40cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
41cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
42cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
43cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
44cb93a386Sopenharmony_ciOpDecorate %12 Binding 0
45cb93a386Sopenharmony_ciOpDecorate %12 DescriptorSet 0
46cb93a386Sopenharmony_ciOpDecorate %m1 RelaxedPrecision
47cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision
48cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision
49cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision
50cb93a386Sopenharmony_ciOpDecorate %41 RelaxedPrecision
51cb93a386Sopenharmony_ciOpDecorate %44 RelaxedPrecision
52cb93a386Sopenharmony_ciOpDecorate %45 RelaxedPrecision
53cb93a386Sopenharmony_ciOpDecorate %46 RelaxedPrecision
54cb93a386Sopenharmony_ciOpDecorate %47 RelaxedPrecision
55cb93a386Sopenharmony_ciOpDecorate %m3 RelaxedPrecision
56cb93a386Sopenharmony_ciOpDecorate %60 RelaxedPrecision
57cb93a386Sopenharmony_ciOpDecorate %61 RelaxedPrecision
58cb93a386Sopenharmony_ciOpDecorate %64 RelaxedPrecision
59cb93a386Sopenharmony_ciOpDecorate %65 RelaxedPrecision
60cb93a386Sopenharmony_ciOpDecorate %66 RelaxedPrecision
61cb93a386Sopenharmony_ciOpDecorate %67 RelaxedPrecision
62cb93a386Sopenharmony_ciOpDecorate %m4 RelaxedPrecision
63cb93a386Sopenharmony_ciOpDecorate %80 RelaxedPrecision
64cb93a386Sopenharmony_ciOpDecorate %81 RelaxedPrecision
65cb93a386Sopenharmony_ciOpDecorate %82 RelaxedPrecision
66cb93a386Sopenharmony_ciOpDecorate %83 RelaxedPrecision
67cb93a386Sopenharmony_ciOpDecorate %86 RelaxedPrecision
68cb93a386Sopenharmony_ciOpDecorate %87 RelaxedPrecision
69cb93a386Sopenharmony_ciOpDecorate %88 RelaxedPrecision
70cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision
71cb93a386Sopenharmony_ciOpDecorate %100 RelaxedPrecision
72cb93a386Sopenharmony_ciOpDecorate %101 RelaxedPrecision
73cb93a386Sopenharmony_ciOpDecorate %102 RelaxedPrecision
74cb93a386Sopenharmony_ciOpDecorate %103 RelaxedPrecision
75cb93a386Sopenharmony_ciOpDecorate %106 RelaxedPrecision
76cb93a386Sopenharmony_ciOpDecorate %110 RelaxedPrecision
77cb93a386Sopenharmony_ciOpDecorate %111 RelaxedPrecision
78cb93a386Sopenharmony_ciOpDecorate %112 RelaxedPrecision
79cb93a386Sopenharmony_ciOpDecorate %m5 RelaxedPrecision
80cb93a386Sopenharmony_ciOpDecorate %127 RelaxedPrecision
81cb93a386Sopenharmony_ciOpDecorate %128 RelaxedPrecision
82cb93a386Sopenharmony_ciOpDecorate %129 RelaxedPrecision
83cb93a386Sopenharmony_ciOpDecorate %130 RelaxedPrecision
84cb93a386Sopenharmony_ciOpDecorate %131 RelaxedPrecision
85cb93a386Sopenharmony_ciOpDecorate %132 RelaxedPrecision
86cb93a386Sopenharmony_ciOpDecorate %135 RelaxedPrecision
87cb93a386Sopenharmony_ciOpDecorate %136 RelaxedPrecision
88cb93a386Sopenharmony_ciOpDecorate %137 RelaxedPrecision
89cb93a386Sopenharmony_ciOpDecorate %138 RelaxedPrecision
90cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision
91cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision
92cb93a386Sopenharmony_ciOpDecorate %151 RelaxedPrecision
93cb93a386Sopenharmony_ciOpDecorate %152 RelaxedPrecision
94cb93a386Sopenharmony_ciOpDecorate %153 RelaxedPrecision
95cb93a386Sopenharmony_ciOpDecorate %154 RelaxedPrecision
96cb93a386Sopenharmony_ciOpDecorate %155 RelaxedPrecision
97cb93a386Sopenharmony_ciOpDecorate %156 RelaxedPrecision
98cb93a386Sopenharmony_ciOpDecorate %157 RelaxedPrecision
99cb93a386Sopenharmony_ciOpDecorate %158 RelaxedPrecision
100cb93a386Sopenharmony_ciOpDecorate %161 RelaxedPrecision
101cb93a386Sopenharmony_ciOpDecorate %164 RelaxedPrecision
102cb93a386Sopenharmony_ciOpDecorate %165 RelaxedPrecision
103cb93a386Sopenharmony_ciOpDecorate %166 RelaxedPrecision
104cb93a386Sopenharmony_ciOpDecorate %m7 RelaxedPrecision
105cb93a386Sopenharmony_ciOpDecorate %179 RelaxedPrecision
106cb93a386Sopenharmony_ciOpDecorate %180 RelaxedPrecision
107cb93a386Sopenharmony_ciOpDecorate %181 RelaxedPrecision
108cb93a386Sopenharmony_ciOpDecorate %182 RelaxedPrecision
109cb93a386Sopenharmony_ciOpDecorate %185 RelaxedPrecision
110cb93a386Sopenharmony_ciOpDecorate %186 RelaxedPrecision
111cb93a386Sopenharmony_ciOpDecorate %187 RelaxedPrecision
112cb93a386Sopenharmony_ciOpDecorate %188 RelaxedPrecision
113cb93a386Sopenharmony_ciOpDecorate %m9 RelaxedPrecision
114cb93a386Sopenharmony_ciOpDecorate %204 RelaxedPrecision
115cb93a386Sopenharmony_ciOpDecorate %205 RelaxedPrecision
116cb93a386Sopenharmony_ciOpDecorate %206 RelaxedPrecision
117cb93a386Sopenharmony_ciOpDecorate %207 RelaxedPrecision
118cb93a386Sopenharmony_ciOpDecorate %208 RelaxedPrecision
119cb93a386Sopenharmony_ciOpDecorate %211 RelaxedPrecision
120cb93a386Sopenharmony_ciOpDecorate %212 RelaxedPrecision
121cb93a386Sopenharmony_ciOpDecorate %213 RelaxedPrecision
122cb93a386Sopenharmony_ciOpDecorate %214 RelaxedPrecision
123cb93a386Sopenharmony_ciOpDecorate %215 RelaxedPrecision
124cb93a386Sopenharmony_ciOpDecorate %m10 RelaxedPrecision
125cb93a386Sopenharmony_ciOpDecorate %236 RelaxedPrecision
126cb93a386Sopenharmony_ciOpDecorate %237 RelaxedPrecision
127cb93a386Sopenharmony_ciOpDecorate %238 RelaxedPrecision
128cb93a386Sopenharmony_ciOpDecorate %239 RelaxedPrecision
129cb93a386Sopenharmony_ciOpDecorate %240 RelaxedPrecision
130cb93a386Sopenharmony_ciOpDecorate %241 RelaxedPrecision
131cb93a386Sopenharmony_ciOpDecorate %244 RelaxedPrecision
132cb93a386Sopenharmony_ciOpDecorate %245 RelaxedPrecision
133cb93a386Sopenharmony_ciOpDecorate %246 RelaxedPrecision
134cb93a386Sopenharmony_ciOpDecorate %247 RelaxedPrecision
135cb93a386Sopenharmony_ciOpDecorate %248 RelaxedPrecision
136cb93a386Sopenharmony_ciOpDecorate %249 RelaxedPrecision
137cb93a386Sopenharmony_ciOpDecorate %m11 RelaxedPrecision
138cb93a386Sopenharmony_ciOpDecorate %273 RelaxedPrecision
139cb93a386Sopenharmony_ciOpDecorate %274 RelaxedPrecision
140cb93a386Sopenharmony_ciOpDecorate %275 RelaxedPrecision
141cb93a386Sopenharmony_ciOpDecorate %276 RelaxedPrecision
142cb93a386Sopenharmony_ciOpDecorate %277 RelaxedPrecision
143cb93a386Sopenharmony_ciOpDecorate %278 RelaxedPrecision
144cb93a386Sopenharmony_ciOpDecorate %279 RelaxedPrecision
145cb93a386Sopenharmony_ciOpDecorate %280 RelaxedPrecision
146cb93a386Sopenharmony_ciOpDecorate %281 RelaxedPrecision
147cb93a386Sopenharmony_ciOpDecorate %282 RelaxedPrecision
148cb93a386Sopenharmony_ciOpDecorate %283 RelaxedPrecision
149cb93a386Sopenharmony_ciOpDecorate %284 RelaxedPrecision
150cb93a386Sopenharmony_ciOpDecorate %285 RelaxedPrecision
151cb93a386Sopenharmony_ciOpDecorate %286 RelaxedPrecision
152cb93a386Sopenharmony_ciOpDecorate %287 RelaxedPrecision
153cb93a386Sopenharmony_ciOpDecorate %288 RelaxedPrecision
154cb93a386Sopenharmony_ciOpDecorate %289 RelaxedPrecision
155cb93a386Sopenharmony_ciOpDecorate %290 RelaxedPrecision
156cb93a386Sopenharmony_ciOpDecorate %291 RelaxedPrecision
157cb93a386Sopenharmony_ciOpDecorate %292 RelaxedPrecision
158cb93a386Sopenharmony_ciOpDecorate %293 RelaxedPrecision
159cb93a386Sopenharmony_ciOpDecorate %296 RelaxedPrecision
160cb93a386Sopenharmony_ciOpDecorate %297 RelaxedPrecision
161cb93a386Sopenharmony_ciOpDecorate %298 RelaxedPrecision
162cb93a386Sopenharmony_ciOpDecorate %299 RelaxedPrecision
163cb93a386Sopenharmony_ciOpDecorate %300 RelaxedPrecision
164cb93a386Sopenharmony_ciOpDecorate %301 RelaxedPrecision
165cb93a386Sopenharmony_ciOpDecorate %322 RelaxedPrecision
166cb93a386Sopenharmony_ciOpDecorate %353 RelaxedPrecision
167cb93a386Sopenharmony_ciOpDecorate %372 RelaxedPrecision
168cb93a386Sopenharmony_ciOpDecorate %393 RelaxedPrecision
169cb93a386Sopenharmony_ciOpDecorate %413 RelaxedPrecision
170cb93a386Sopenharmony_ciOpDecorate %437 RelaxedPrecision
171cb93a386Sopenharmony_ciOpDecorate %463 RelaxedPrecision
172cb93a386Sopenharmony_ciOpDecorate %484 RelaxedPrecision
173cb93a386Sopenharmony_ciOpDecorate %506 RelaxedPrecision
174cb93a386Sopenharmony_ciOpDecorate %535 RelaxedPrecision
175cb93a386Sopenharmony_ciOpDecorate %585 RelaxedPrecision
176cb93a386Sopenharmony_ciOpDecorate %614 RelaxedPrecision
177cb93a386Sopenharmony_ciOpDecorate %631 RelaxedPrecision
178cb93a386Sopenharmony_ciOpDecorate %633 RelaxedPrecision
179cb93a386Sopenharmony_ciOpDecorate %634 RelaxedPrecision
180cb93a386Sopenharmony_ci%float = OpTypeFloat 32
181cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
182cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
183cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
184cb93a386Sopenharmony_ci%bool = OpTypeBool
185cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
186cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
187cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float
188cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
189cb93a386Sopenharmony_ci%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
190cb93a386Sopenharmony_ci%void = OpTypeVoid
191cb93a386Sopenharmony_ci%17 = OpTypeFunction %void
192cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
193cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
194cb93a386Sopenharmony_ci%21 = OpConstantComposite %v2float %float_0 %float_0
195cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
196cb93a386Sopenharmony_ci%25 = OpTypeFunction %bool
197cb93a386Sopenharmony_ci%_ptr_Function_bool = OpTypePointer Function %bool
198cb93a386Sopenharmony_ci%true = OpConstantTrue %bool
199cb93a386Sopenharmony_ci%mat2v2float = OpTypeMatrix %v2float 2
200cb93a386Sopenharmony_ci%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float
201cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
202cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2
203cb93a386Sopenharmony_ci%float_3 = OpConstant %float 3
204cb93a386Sopenharmony_ci%float_4 = OpConstant %float 4
205cb93a386Sopenharmony_ci%false = OpConstantFalse %bool
206cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2
207cb93a386Sopenharmony_ci%float_6 = OpConstant %float 6
208cb93a386Sopenharmony_ci%float_12 = OpConstant %float 12
209cb93a386Sopenharmony_ci%float_18 = OpConstant %float 18
210cb93a386Sopenharmony_ci%float_24 = OpConstant %float 24
211cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
212cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
213cb93a386Sopenharmony_ci%float_5 = OpConstant %float 5
214cb93a386Sopenharmony_ci%float_8 = OpConstant %float 8
215cb93a386Sopenharmony_ci%float_7 = OpConstant %float 7
216cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3
217cb93a386Sopenharmony_ci%mat3v3float = OpTypeMatrix %v3float 3
218cb93a386Sopenharmony_ci%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
219cb93a386Sopenharmony_ci%float_9 = OpConstant %float 9
220cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3
221cb93a386Sopenharmony_ci%mat4v4float = OpTypeMatrix %v4float 4
222cb93a386Sopenharmony_ci%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
223cb93a386Sopenharmony_ci%float_11 = OpConstant %float 11
224cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
225cb93a386Sopenharmony_ci%float_20 = OpConstant %float 20
226cb93a386Sopenharmony_ci%float_0_5 = OpConstant %float 0.5
227cb93a386Sopenharmony_ci%345 = OpTypeFunction %v4float %_ptr_Function_v2float
228cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
229cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
230cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
231cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %17
232cb93a386Sopenharmony_ci%18 = OpLabel
233cb93a386Sopenharmony_ci%22 = OpVariable %_ptr_Function_v2float Function
234cb93a386Sopenharmony_ciOpStore %22 %21
235cb93a386Sopenharmony_ci%24 = OpFunctionCall %v4float %main %22
236cb93a386Sopenharmony_ciOpStore %sk_FragColor %24
237cb93a386Sopenharmony_ciOpReturn
238cb93a386Sopenharmony_ciOpFunctionEnd
239cb93a386Sopenharmony_ci%test_half_b = OpFunction %bool None %25
240cb93a386Sopenharmony_ci%26 = OpLabel
241cb93a386Sopenharmony_ci%ok = OpVariable %_ptr_Function_bool Function
242cb93a386Sopenharmony_ci%m1 = OpVariable %_ptr_Function_mat2v2float Function
243cb93a386Sopenharmony_ci%m3 = OpVariable %_ptr_Function_mat2v2float Function
244cb93a386Sopenharmony_ci%m4 = OpVariable %_ptr_Function_mat2v2float Function
245cb93a386Sopenharmony_ci%m5 = OpVariable %_ptr_Function_mat2v2float Function
246cb93a386Sopenharmony_ci%m7 = OpVariable %_ptr_Function_mat2v2float Function
247cb93a386Sopenharmony_ci%m9 = OpVariable %_ptr_Function_mat3v3float Function
248cb93a386Sopenharmony_ci%m10 = OpVariable %_ptr_Function_mat4v4float Function
249cb93a386Sopenharmony_ci%m11 = OpVariable %_ptr_Function_mat4v4float Function
250cb93a386Sopenharmony_ciOpStore %ok %true
251cb93a386Sopenharmony_ci%37 = OpCompositeConstruct %v2float %float_1 %float_2
252cb93a386Sopenharmony_ci%38 = OpCompositeConstruct %v2float %float_3 %float_4
253cb93a386Sopenharmony_ci%39 = OpCompositeConstruct %mat2v2float %37 %38
254cb93a386Sopenharmony_ciOpStore %m1 %39
255cb93a386Sopenharmony_ci%41 = OpLoad %bool %ok
256cb93a386Sopenharmony_ciOpSelectionMerge %43 None
257cb93a386Sopenharmony_ciOpBranchConditional %41 %42 %43
258cb93a386Sopenharmony_ci%42 = OpLabel
259cb93a386Sopenharmony_ci%44 = OpLoad %mat2v2float %m1
260cb93a386Sopenharmony_ci%45 = OpCompositeConstruct %v2float %float_1 %float_2
261cb93a386Sopenharmony_ci%46 = OpCompositeConstruct %v2float %float_3 %float_4
262cb93a386Sopenharmony_ci%47 = OpCompositeConstruct %mat2v2float %45 %46
263cb93a386Sopenharmony_ci%49 = OpCompositeExtract %v2float %44 0
264cb93a386Sopenharmony_ci%50 = OpCompositeExtract %v2float %47 0
265cb93a386Sopenharmony_ci%51 = OpFOrdEqual %v2bool %49 %50
266cb93a386Sopenharmony_ci%52 = OpAll %bool %51
267cb93a386Sopenharmony_ci%53 = OpCompositeExtract %v2float %44 1
268cb93a386Sopenharmony_ci%54 = OpCompositeExtract %v2float %47 1
269cb93a386Sopenharmony_ci%55 = OpFOrdEqual %v2bool %53 %54
270cb93a386Sopenharmony_ci%56 = OpAll %bool %55
271cb93a386Sopenharmony_ci%57 = OpLogicalAnd %bool %52 %56
272cb93a386Sopenharmony_ciOpBranch %43
273cb93a386Sopenharmony_ci%43 = OpLabel
274cb93a386Sopenharmony_ci%58 = OpPhi %bool %false %26 %57 %42
275cb93a386Sopenharmony_ciOpStore %ok %58
276cb93a386Sopenharmony_ci%60 = OpLoad %mat2v2float %m1
277cb93a386Sopenharmony_ciOpStore %m3 %60
278cb93a386Sopenharmony_ci%61 = OpLoad %bool %ok
279cb93a386Sopenharmony_ciOpSelectionMerge %63 None
280cb93a386Sopenharmony_ciOpBranchConditional %61 %62 %63
281cb93a386Sopenharmony_ci%62 = OpLabel
282cb93a386Sopenharmony_ci%64 = OpLoad %mat2v2float %m3
283cb93a386Sopenharmony_ci%65 = OpCompositeConstruct %v2float %float_1 %float_2
284cb93a386Sopenharmony_ci%66 = OpCompositeConstruct %v2float %float_3 %float_4
285cb93a386Sopenharmony_ci%67 = OpCompositeConstruct %mat2v2float %65 %66
286cb93a386Sopenharmony_ci%68 = OpCompositeExtract %v2float %64 0
287cb93a386Sopenharmony_ci%69 = OpCompositeExtract %v2float %67 0
288cb93a386Sopenharmony_ci%70 = OpFOrdEqual %v2bool %68 %69
289cb93a386Sopenharmony_ci%71 = OpAll %bool %70
290cb93a386Sopenharmony_ci%72 = OpCompositeExtract %v2float %64 1
291cb93a386Sopenharmony_ci%73 = OpCompositeExtract %v2float %67 1
292cb93a386Sopenharmony_ci%74 = OpFOrdEqual %v2bool %72 %73
293cb93a386Sopenharmony_ci%75 = OpAll %bool %74
294cb93a386Sopenharmony_ci%76 = OpLogicalAnd %bool %71 %75
295cb93a386Sopenharmony_ciOpBranch %63
296cb93a386Sopenharmony_ci%63 = OpLabel
297cb93a386Sopenharmony_ci%77 = OpPhi %bool %false %43 %76 %62
298cb93a386Sopenharmony_ciOpStore %ok %77
299cb93a386Sopenharmony_ci%81 = OpCompositeConstruct %v2float %float_6 %float_0
300cb93a386Sopenharmony_ci%82 = OpCompositeConstruct %v2float %float_0 %float_6
301cb93a386Sopenharmony_ci%80 = OpCompositeConstruct %mat2v2float %81 %82
302cb93a386Sopenharmony_ciOpStore %m4 %80
303cb93a386Sopenharmony_ci%83 = OpLoad %bool %ok
304cb93a386Sopenharmony_ciOpSelectionMerge %85 None
305cb93a386Sopenharmony_ciOpBranchConditional %83 %84 %85
306cb93a386Sopenharmony_ci%84 = OpLabel
307cb93a386Sopenharmony_ci%86 = OpLoad %mat2v2float %m4
308cb93a386Sopenharmony_ci%87 = OpCompositeConstruct %v2float %float_6 %float_0
309cb93a386Sopenharmony_ci%88 = OpCompositeConstruct %v2float %float_0 %float_6
310cb93a386Sopenharmony_ci%89 = OpCompositeConstruct %mat2v2float %87 %88
311cb93a386Sopenharmony_ci%90 = OpCompositeExtract %v2float %86 0
312cb93a386Sopenharmony_ci%91 = OpCompositeExtract %v2float %89 0
313cb93a386Sopenharmony_ci%92 = OpFOrdEqual %v2bool %90 %91
314cb93a386Sopenharmony_ci%93 = OpAll %bool %92
315cb93a386Sopenharmony_ci%94 = OpCompositeExtract %v2float %86 1
316cb93a386Sopenharmony_ci%95 = OpCompositeExtract %v2float %89 1
317cb93a386Sopenharmony_ci%96 = OpFOrdEqual %v2bool %94 %95
318cb93a386Sopenharmony_ci%97 = OpAll %bool %96
319cb93a386Sopenharmony_ci%98 = OpLogicalAnd %bool %93 %97
320cb93a386Sopenharmony_ciOpBranch %85
321cb93a386Sopenharmony_ci%85 = OpLabel
322cb93a386Sopenharmony_ci%99 = OpPhi %bool %false %63 %98 %84
323cb93a386Sopenharmony_ciOpStore %ok %99
324cb93a386Sopenharmony_ci%100 = OpLoad %mat2v2float %m3
325cb93a386Sopenharmony_ci%101 = OpLoad %mat2v2float %m4
326cb93a386Sopenharmony_ci%102 = OpMatrixTimesMatrix %mat2v2float %100 %101
327cb93a386Sopenharmony_ciOpStore %m3 %102
328cb93a386Sopenharmony_ci%103 = OpLoad %bool %ok
329cb93a386Sopenharmony_ciOpSelectionMerge %105 None
330cb93a386Sopenharmony_ciOpBranchConditional %103 %104 %105
331cb93a386Sopenharmony_ci%104 = OpLabel
332cb93a386Sopenharmony_ci%106 = OpLoad %mat2v2float %m3
333cb93a386Sopenharmony_ci%110 = OpCompositeConstruct %v2float %float_6 %float_12
334cb93a386Sopenharmony_ci%111 = OpCompositeConstruct %v2float %float_18 %float_24
335cb93a386Sopenharmony_ci%112 = OpCompositeConstruct %mat2v2float %110 %111
336cb93a386Sopenharmony_ci%113 = OpCompositeExtract %v2float %106 0
337cb93a386Sopenharmony_ci%114 = OpCompositeExtract %v2float %112 0
338cb93a386Sopenharmony_ci%115 = OpFOrdEqual %v2bool %113 %114
339cb93a386Sopenharmony_ci%116 = OpAll %bool %115
340cb93a386Sopenharmony_ci%117 = OpCompositeExtract %v2float %106 1
341cb93a386Sopenharmony_ci%118 = OpCompositeExtract %v2float %112 1
342cb93a386Sopenharmony_ci%119 = OpFOrdEqual %v2bool %117 %118
343cb93a386Sopenharmony_ci%120 = OpAll %bool %119
344cb93a386Sopenharmony_ci%121 = OpLogicalAnd %bool %116 %120
345cb93a386Sopenharmony_ciOpBranch %105
346cb93a386Sopenharmony_ci%105 = OpLabel
347cb93a386Sopenharmony_ci%122 = OpPhi %bool %false %85 %121 %104
348cb93a386Sopenharmony_ciOpStore %ok %122
349cb93a386Sopenharmony_ci%126 = OpAccessChain %_ptr_Function_v2float %m1 %int_1
350cb93a386Sopenharmony_ci%127 = OpLoad %v2float %126
351cb93a386Sopenharmony_ci%128 = OpCompositeExtract %float %127 1
352cb93a386Sopenharmony_ci%130 = OpCompositeConstruct %v2float %128 %float_0
353cb93a386Sopenharmony_ci%131 = OpCompositeConstruct %v2float %float_0 %128
354cb93a386Sopenharmony_ci%129 = OpCompositeConstruct %mat2v2float %130 %131
355cb93a386Sopenharmony_ciOpStore %m5 %129
356cb93a386Sopenharmony_ci%132 = OpLoad %bool %ok
357cb93a386Sopenharmony_ciOpSelectionMerge %134 None
358cb93a386Sopenharmony_ciOpBranchConditional %132 %133 %134
359cb93a386Sopenharmony_ci%133 = OpLabel
360cb93a386Sopenharmony_ci%135 = OpLoad %mat2v2float %m5
361cb93a386Sopenharmony_ci%136 = OpCompositeConstruct %v2float %float_4 %float_0
362cb93a386Sopenharmony_ci%137 = OpCompositeConstruct %v2float %float_0 %float_4
363cb93a386Sopenharmony_ci%138 = OpCompositeConstruct %mat2v2float %136 %137
364cb93a386Sopenharmony_ci%139 = OpCompositeExtract %v2float %135 0
365cb93a386Sopenharmony_ci%140 = OpCompositeExtract %v2float %138 0
366cb93a386Sopenharmony_ci%141 = OpFOrdEqual %v2bool %139 %140
367cb93a386Sopenharmony_ci%142 = OpAll %bool %141
368cb93a386Sopenharmony_ci%143 = OpCompositeExtract %v2float %135 1
369cb93a386Sopenharmony_ci%144 = OpCompositeExtract %v2float %138 1
370cb93a386Sopenharmony_ci%145 = OpFOrdEqual %v2bool %143 %144
371cb93a386Sopenharmony_ci%146 = OpAll %bool %145
372cb93a386Sopenharmony_ci%147 = OpLogicalAnd %bool %142 %146
373cb93a386Sopenharmony_ciOpBranch %134
374cb93a386Sopenharmony_ci%134 = OpLabel
375cb93a386Sopenharmony_ci%148 = OpPhi %bool %false %105 %147 %133
376cb93a386Sopenharmony_ciOpStore %ok %148
377cb93a386Sopenharmony_ci%149 = OpLoad %mat2v2float %m1
378cb93a386Sopenharmony_ci%150 = OpLoad %mat2v2float %m5
379cb93a386Sopenharmony_ci%151 = OpCompositeExtract %v2float %149 0
380cb93a386Sopenharmony_ci%152 = OpCompositeExtract %v2float %150 0
381cb93a386Sopenharmony_ci%153 = OpFAdd %v2float %151 %152
382cb93a386Sopenharmony_ci%154 = OpCompositeExtract %v2float %149 1
383cb93a386Sopenharmony_ci%155 = OpCompositeExtract %v2float %150 1
384cb93a386Sopenharmony_ci%156 = OpFAdd %v2float %154 %155
385cb93a386Sopenharmony_ci%157 = OpCompositeConstruct %mat2v2float %153 %156
386cb93a386Sopenharmony_ciOpStore %m1 %157
387cb93a386Sopenharmony_ci%158 = OpLoad %bool %ok
388cb93a386Sopenharmony_ciOpSelectionMerge %160 None
389cb93a386Sopenharmony_ciOpBranchConditional %158 %159 %160
390cb93a386Sopenharmony_ci%159 = OpLabel
391cb93a386Sopenharmony_ci%161 = OpLoad %mat2v2float %m1
392cb93a386Sopenharmony_ci%164 = OpCompositeConstruct %v2float %float_5 %float_2
393cb93a386Sopenharmony_ci%165 = OpCompositeConstruct %v2float %float_3 %float_8
394cb93a386Sopenharmony_ci%166 = OpCompositeConstruct %mat2v2float %164 %165
395cb93a386Sopenharmony_ci%167 = OpCompositeExtract %v2float %161 0
396cb93a386Sopenharmony_ci%168 = OpCompositeExtract %v2float %166 0
397cb93a386Sopenharmony_ci%169 = OpFOrdEqual %v2bool %167 %168
398cb93a386Sopenharmony_ci%170 = OpAll %bool %169
399cb93a386Sopenharmony_ci%171 = OpCompositeExtract %v2float %161 1
400cb93a386Sopenharmony_ci%172 = OpCompositeExtract %v2float %166 1
401cb93a386Sopenharmony_ci%173 = OpFOrdEqual %v2bool %171 %172
402cb93a386Sopenharmony_ci%174 = OpAll %bool %173
403cb93a386Sopenharmony_ci%175 = OpLogicalAnd %bool %170 %174
404cb93a386Sopenharmony_ciOpBranch %160
405cb93a386Sopenharmony_ci%160 = OpLabel
406cb93a386Sopenharmony_ci%176 = OpPhi %bool %false %134 %175 %159
407cb93a386Sopenharmony_ciOpStore %ok %176
408cb93a386Sopenharmony_ci%179 = OpCompositeConstruct %v2float %float_5 %float_6
409cb93a386Sopenharmony_ci%180 = OpCompositeConstruct %v2float %float_7 %float_8
410cb93a386Sopenharmony_ci%181 = OpCompositeConstruct %mat2v2float %179 %180
411cb93a386Sopenharmony_ciOpStore %m7 %181
412cb93a386Sopenharmony_ci%182 = OpLoad %bool %ok
413cb93a386Sopenharmony_ciOpSelectionMerge %184 None
414cb93a386Sopenharmony_ciOpBranchConditional %182 %183 %184
415cb93a386Sopenharmony_ci%183 = OpLabel
416cb93a386Sopenharmony_ci%185 = OpLoad %mat2v2float %m7
417cb93a386Sopenharmony_ci%186 = OpCompositeConstruct %v2float %float_5 %float_6
418cb93a386Sopenharmony_ci%187 = OpCompositeConstruct %v2float %float_7 %float_8
419cb93a386Sopenharmony_ci%188 = OpCompositeConstruct %mat2v2float %186 %187
420cb93a386Sopenharmony_ci%189 = OpCompositeExtract %v2float %185 0
421cb93a386Sopenharmony_ci%190 = OpCompositeExtract %v2float %188 0
422cb93a386Sopenharmony_ci%191 = OpFOrdEqual %v2bool %189 %190
423cb93a386Sopenharmony_ci%192 = OpAll %bool %191
424cb93a386Sopenharmony_ci%193 = OpCompositeExtract %v2float %185 1
425cb93a386Sopenharmony_ci%194 = OpCompositeExtract %v2float %188 1
426cb93a386Sopenharmony_ci%195 = OpFOrdEqual %v2bool %193 %194
427cb93a386Sopenharmony_ci%196 = OpAll %bool %195
428cb93a386Sopenharmony_ci%197 = OpLogicalAnd %bool %192 %196
429cb93a386Sopenharmony_ciOpBranch %184
430cb93a386Sopenharmony_ci%184 = OpLabel
431cb93a386Sopenharmony_ci%198 = OpPhi %bool %false %160 %197 %183
432cb93a386Sopenharmony_ciOpStore %ok %198
433cb93a386Sopenharmony_ci%205 = OpCompositeConstruct %v3float %float_9 %float_0 %float_0
434cb93a386Sopenharmony_ci%206 = OpCompositeConstruct %v3float %float_0 %float_9 %float_0
435cb93a386Sopenharmony_ci%207 = OpCompositeConstruct %v3float %float_0 %float_0 %float_9
436cb93a386Sopenharmony_ci%204 = OpCompositeConstruct %mat3v3float %205 %206 %207
437cb93a386Sopenharmony_ciOpStore %m9 %204
438cb93a386Sopenharmony_ci%208 = OpLoad %bool %ok
439cb93a386Sopenharmony_ciOpSelectionMerge %210 None
440cb93a386Sopenharmony_ciOpBranchConditional %208 %209 %210
441cb93a386Sopenharmony_ci%209 = OpLabel
442cb93a386Sopenharmony_ci%211 = OpLoad %mat3v3float %m9
443cb93a386Sopenharmony_ci%212 = OpCompositeConstruct %v3float %float_9 %float_0 %float_0
444cb93a386Sopenharmony_ci%213 = OpCompositeConstruct %v3float %float_0 %float_9 %float_0
445cb93a386Sopenharmony_ci%214 = OpCompositeConstruct %v3float %float_0 %float_0 %float_9
446cb93a386Sopenharmony_ci%215 = OpCompositeConstruct %mat3v3float %212 %213 %214
447cb93a386Sopenharmony_ci%217 = OpCompositeExtract %v3float %211 0
448cb93a386Sopenharmony_ci%218 = OpCompositeExtract %v3float %215 0
449cb93a386Sopenharmony_ci%219 = OpFOrdEqual %v3bool %217 %218
450cb93a386Sopenharmony_ci%220 = OpAll %bool %219
451cb93a386Sopenharmony_ci%221 = OpCompositeExtract %v3float %211 1
452cb93a386Sopenharmony_ci%222 = OpCompositeExtract %v3float %215 1
453cb93a386Sopenharmony_ci%223 = OpFOrdEqual %v3bool %221 %222
454cb93a386Sopenharmony_ci%224 = OpAll %bool %223
455cb93a386Sopenharmony_ci%225 = OpLogicalAnd %bool %220 %224
456cb93a386Sopenharmony_ci%226 = OpCompositeExtract %v3float %211 2
457cb93a386Sopenharmony_ci%227 = OpCompositeExtract %v3float %215 2
458cb93a386Sopenharmony_ci%228 = OpFOrdEqual %v3bool %226 %227
459cb93a386Sopenharmony_ci%229 = OpAll %bool %228
460cb93a386Sopenharmony_ci%230 = OpLogicalAnd %bool %225 %229
461cb93a386Sopenharmony_ciOpBranch %210
462cb93a386Sopenharmony_ci%210 = OpLabel
463cb93a386Sopenharmony_ci%231 = OpPhi %bool %false %184 %230 %209
464cb93a386Sopenharmony_ciOpStore %ok %231
465cb93a386Sopenharmony_ci%237 = OpCompositeConstruct %v4float %float_11 %float_0 %float_0 %float_0
466cb93a386Sopenharmony_ci%238 = OpCompositeConstruct %v4float %float_0 %float_11 %float_0 %float_0
467cb93a386Sopenharmony_ci%239 = OpCompositeConstruct %v4float %float_0 %float_0 %float_11 %float_0
468cb93a386Sopenharmony_ci%240 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_11
469cb93a386Sopenharmony_ci%236 = OpCompositeConstruct %mat4v4float %237 %238 %239 %240
470cb93a386Sopenharmony_ciOpStore %m10 %236
471cb93a386Sopenharmony_ci%241 = OpLoad %bool %ok
472cb93a386Sopenharmony_ciOpSelectionMerge %243 None
473cb93a386Sopenharmony_ciOpBranchConditional %241 %242 %243
474cb93a386Sopenharmony_ci%242 = OpLabel
475cb93a386Sopenharmony_ci%244 = OpLoad %mat4v4float %m10
476cb93a386Sopenharmony_ci%245 = OpCompositeConstruct %v4float %float_11 %float_0 %float_0 %float_0
477cb93a386Sopenharmony_ci%246 = OpCompositeConstruct %v4float %float_0 %float_11 %float_0 %float_0
478cb93a386Sopenharmony_ci%247 = OpCompositeConstruct %v4float %float_0 %float_0 %float_11 %float_0
479cb93a386Sopenharmony_ci%248 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_11
480cb93a386Sopenharmony_ci%249 = OpCompositeConstruct %mat4v4float %245 %246 %247 %248
481cb93a386Sopenharmony_ci%251 = OpCompositeExtract %v4float %244 0
482cb93a386Sopenharmony_ci%252 = OpCompositeExtract %v4float %249 0
483cb93a386Sopenharmony_ci%253 = OpFOrdEqual %v4bool %251 %252
484cb93a386Sopenharmony_ci%254 = OpAll %bool %253
485cb93a386Sopenharmony_ci%255 = OpCompositeExtract %v4float %244 1
486cb93a386Sopenharmony_ci%256 = OpCompositeExtract %v4float %249 1
487cb93a386Sopenharmony_ci%257 = OpFOrdEqual %v4bool %255 %256
488cb93a386Sopenharmony_ci%258 = OpAll %bool %257
489cb93a386Sopenharmony_ci%259 = OpLogicalAnd %bool %254 %258
490cb93a386Sopenharmony_ci%260 = OpCompositeExtract %v4float %244 2
491cb93a386Sopenharmony_ci%261 = OpCompositeExtract %v4float %249 2
492cb93a386Sopenharmony_ci%262 = OpFOrdEqual %v4bool %260 %261
493cb93a386Sopenharmony_ci%263 = OpAll %bool %262
494cb93a386Sopenharmony_ci%264 = OpLogicalAnd %bool %259 %263
495cb93a386Sopenharmony_ci%265 = OpCompositeExtract %v4float %244 3
496cb93a386Sopenharmony_ci%266 = OpCompositeExtract %v4float %249 3
497cb93a386Sopenharmony_ci%267 = OpFOrdEqual %v4bool %265 %266
498cb93a386Sopenharmony_ci%268 = OpAll %bool %267
499cb93a386Sopenharmony_ci%269 = OpLogicalAnd %bool %264 %268
500cb93a386Sopenharmony_ciOpBranch %243
501cb93a386Sopenharmony_ci%243 = OpLabel
502cb93a386Sopenharmony_ci%270 = OpPhi %bool %false %210 %269 %242
503cb93a386Sopenharmony_ciOpStore %ok %270
504cb93a386Sopenharmony_ci%273 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
505cb93a386Sopenharmony_ci%274 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
506cb93a386Sopenharmony_ci%275 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
507cb93a386Sopenharmony_ci%276 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
508cb93a386Sopenharmony_ci%277 = OpCompositeConstruct %mat4v4float %273 %274 %275 %276
509cb93a386Sopenharmony_ciOpStore %m11 %277
510cb93a386Sopenharmony_ci%278 = OpLoad %mat4v4float %m11
511cb93a386Sopenharmony_ci%279 = OpLoad %mat4v4float %m10
512cb93a386Sopenharmony_ci%280 = OpCompositeExtract %v4float %278 0
513cb93a386Sopenharmony_ci%281 = OpCompositeExtract %v4float %279 0
514cb93a386Sopenharmony_ci%282 = OpFSub %v4float %280 %281
515cb93a386Sopenharmony_ci%283 = OpCompositeExtract %v4float %278 1
516cb93a386Sopenharmony_ci%284 = OpCompositeExtract %v4float %279 1
517cb93a386Sopenharmony_ci%285 = OpFSub %v4float %283 %284
518cb93a386Sopenharmony_ci%286 = OpCompositeExtract %v4float %278 2
519cb93a386Sopenharmony_ci%287 = OpCompositeExtract %v4float %279 2
520cb93a386Sopenharmony_ci%288 = OpFSub %v4float %286 %287
521cb93a386Sopenharmony_ci%289 = OpCompositeExtract %v4float %278 3
522cb93a386Sopenharmony_ci%290 = OpCompositeExtract %v4float %279 3
523cb93a386Sopenharmony_ci%291 = OpFSub %v4float %289 %290
524cb93a386Sopenharmony_ci%292 = OpCompositeConstruct %mat4v4float %282 %285 %288 %291
525cb93a386Sopenharmony_ciOpStore %m11 %292
526cb93a386Sopenharmony_ci%293 = OpLoad %bool %ok
527cb93a386Sopenharmony_ciOpSelectionMerge %295 None
528cb93a386Sopenharmony_ciOpBranchConditional %293 %294 %295
529cb93a386Sopenharmony_ci%294 = OpLabel
530cb93a386Sopenharmony_ci%296 = OpLoad %mat4v4float %m11
531cb93a386Sopenharmony_ci%297 = OpCompositeConstruct %v4float %float_9 %float_20 %float_20 %float_20
532cb93a386Sopenharmony_ci%298 = OpCompositeConstruct %v4float %float_20 %float_9 %float_20 %float_20
533cb93a386Sopenharmony_ci%299 = OpCompositeConstruct %v4float %float_20 %float_20 %float_9 %float_20
534cb93a386Sopenharmony_ci%300 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_9
535cb93a386Sopenharmony_ci%301 = OpCompositeConstruct %mat4v4float %297 %298 %299 %300
536cb93a386Sopenharmony_ci%302 = OpCompositeExtract %v4float %296 0
537cb93a386Sopenharmony_ci%303 = OpCompositeExtract %v4float %301 0
538cb93a386Sopenharmony_ci%304 = OpFOrdEqual %v4bool %302 %303
539cb93a386Sopenharmony_ci%305 = OpAll %bool %304
540cb93a386Sopenharmony_ci%306 = OpCompositeExtract %v4float %296 1
541cb93a386Sopenharmony_ci%307 = OpCompositeExtract %v4float %301 1
542cb93a386Sopenharmony_ci%308 = OpFOrdEqual %v4bool %306 %307
543cb93a386Sopenharmony_ci%309 = OpAll %bool %308
544cb93a386Sopenharmony_ci%310 = OpLogicalAnd %bool %305 %309
545cb93a386Sopenharmony_ci%311 = OpCompositeExtract %v4float %296 2
546cb93a386Sopenharmony_ci%312 = OpCompositeExtract %v4float %301 2
547cb93a386Sopenharmony_ci%313 = OpFOrdEqual %v4bool %311 %312
548cb93a386Sopenharmony_ci%314 = OpAll %bool %313
549cb93a386Sopenharmony_ci%315 = OpLogicalAnd %bool %310 %314
550cb93a386Sopenharmony_ci%316 = OpCompositeExtract %v4float %296 3
551cb93a386Sopenharmony_ci%317 = OpCompositeExtract %v4float %301 3
552cb93a386Sopenharmony_ci%318 = OpFOrdEqual %v4bool %316 %317
553cb93a386Sopenharmony_ci%319 = OpAll %bool %318
554cb93a386Sopenharmony_ci%320 = OpLogicalAnd %bool %315 %319
555cb93a386Sopenharmony_ciOpBranch %295
556cb93a386Sopenharmony_ci%295 = OpLabel
557cb93a386Sopenharmony_ci%321 = OpPhi %bool %false %243 %320 %294
558cb93a386Sopenharmony_ciOpStore %ok %321
559cb93a386Sopenharmony_ci%322 = OpLoad %bool %ok
560cb93a386Sopenharmony_ciOpReturnValue %322
561cb93a386Sopenharmony_ciOpFunctionEnd
562cb93a386Sopenharmony_ci%test_comma_b = OpFunction %bool None %25
563cb93a386Sopenharmony_ci%323 = OpLabel
564cb93a386Sopenharmony_ci%x = OpVariable %_ptr_Function_mat2v2float Function
565cb93a386Sopenharmony_ci%y = OpVariable %_ptr_Function_mat2v2float Function
566cb93a386Sopenharmony_ci%326 = OpCompositeConstruct %v2float %float_1 %float_2
567cb93a386Sopenharmony_ci%327 = OpCompositeConstruct %v2float %float_3 %float_4
568cb93a386Sopenharmony_ci%328 = OpCompositeConstruct %mat2v2float %326 %327
569cb93a386Sopenharmony_ciOpStore %x %328
570cb93a386Sopenharmony_ci%330 = OpCompositeConstruct %v2float %float_2 %float_4
571cb93a386Sopenharmony_ci%331 = OpCompositeConstruct %v2float %float_6 %float_8
572cb93a386Sopenharmony_ci%332 = OpCompositeConstruct %mat2v2float %330 %331
573cb93a386Sopenharmony_ci%333 = OpMatrixTimesScalar %mat2v2float %332 %float_0_5
574cb93a386Sopenharmony_ciOpStore %y %333
575cb93a386Sopenharmony_ci%334 = OpLoad %mat2v2float %x
576cb93a386Sopenharmony_ci%335 = OpLoad %mat2v2float %y
577cb93a386Sopenharmony_ci%336 = OpCompositeExtract %v2float %334 0
578cb93a386Sopenharmony_ci%337 = OpCompositeExtract %v2float %335 0
579cb93a386Sopenharmony_ci%338 = OpFOrdEqual %v2bool %336 %337
580cb93a386Sopenharmony_ci%339 = OpAll %bool %338
581cb93a386Sopenharmony_ci%340 = OpCompositeExtract %v2float %334 1
582cb93a386Sopenharmony_ci%341 = OpCompositeExtract %v2float %335 1
583cb93a386Sopenharmony_ci%342 = OpFOrdEqual %v2bool %340 %341
584cb93a386Sopenharmony_ci%343 = OpAll %bool %342
585cb93a386Sopenharmony_ci%344 = OpLogicalAnd %bool %339 %343
586cb93a386Sopenharmony_ciOpReturnValue %344
587cb93a386Sopenharmony_ciOpFunctionEnd
588cb93a386Sopenharmony_ci%main = OpFunction %v4float None %345
589cb93a386Sopenharmony_ci%346 = OpFunctionParameter %_ptr_Function_v2float
590cb93a386Sopenharmony_ci%347 = OpLabel
591cb93a386Sopenharmony_ci%_0_ok = OpVariable %_ptr_Function_bool Function
592cb93a386Sopenharmony_ci%_1_m1 = OpVariable %_ptr_Function_mat2v2float Function
593cb93a386Sopenharmony_ci%_2_m3 = OpVariable %_ptr_Function_mat2v2float Function
594cb93a386Sopenharmony_ci%_3_m4 = OpVariable %_ptr_Function_mat2v2float Function
595cb93a386Sopenharmony_ci%_4_m5 = OpVariable %_ptr_Function_mat2v2float Function
596cb93a386Sopenharmony_ci%_5_m7 = OpVariable %_ptr_Function_mat2v2float Function
597cb93a386Sopenharmony_ci%_6_m9 = OpVariable %_ptr_Function_mat3v3float Function
598cb93a386Sopenharmony_ci%_7_m10 = OpVariable %_ptr_Function_mat4v4float Function
599cb93a386Sopenharmony_ci%_8_m11 = OpVariable %_ptr_Function_mat4v4float Function
600cb93a386Sopenharmony_ci%623 = OpVariable %_ptr_Function_v4float Function
601cb93a386Sopenharmony_ciOpStore %_0_ok %true
602cb93a386Sopenharmony_ci%350 = OpCompositeConstruct %v2float %float_1 %float_2
603cb93a386Sopenharmony_ci%351 = OpCompositeConstruct %v2float %float_3 %float_4
604cb93a386Sopenharmony_ci%352 = OpCompositeConstruct %mat2v2float %350 %351
605cb93a386Sopenharmony_ciOpStore %_1_m1 %352
606cb93a386Sopenharmony_ci%353 = OpLoad %bool %_0_ok
607cb93a386Sopenharmony_ciOpSelectionMerge %355 None
608cb93a386Sopenharmony_ciOpBranchConditional %353 %354 %355
609cb93a386Sopenharmony_ci%354 = OpLabel
610cb93a386Sopenharmony_ci%356 = OpLoad %mat2v2float %_1_m1
611cb93a386Sopenharmony_ci%357 = OpCompositeConstruct %v2float %float_1 %float_2
612cb93a386Sopenharmony_ci%358 = OpCompositeConstruct %v2float %float_3 %float_4
613cb93a386Sopenharmony_ci%359 = OpCompositeConstruct %mat2v2float %357 %358
614cb93a386Sopenharmony_ci%360 = OpCompositeExtract %v2float %356 0
615cb93a386Sopenharmony_ci%361 = OpCompositeExtract %v2float %359 0
616cb93a386Sopenharmony_ci%362 = OpFOrdEqual %v2bool %360 %361
617cb93a386Sopenharmony_ci%363 = OpAll %bool %362
618cb93a386Sopenharmony_ci%364 = OpCompositeExtract %v2float %356 1
619cb93a386Sopenharmony_ci%365 = OpCompositeExtract %v2float %359 1
620cb93a386Sopenharmony_ci%366 = OpFOrdEqual %v2bool %364 %365
621cb93a386Sopenharmony_ci%367 = OpAll %bool %366
622cb93a386Sopenharmony_ci%368 = OpLogicalAnd %bool %363 %367
623cb93a386Sopenharmony_ciOpBranch %355
624cb93a386Sopenharmony_ci%355 = OpLabel
625cb93a386Sopenharmony_ci%369 = OpPhi %bool %false %347 %368 %354
626cb93a386Sopenharmony_ciOpStore %_0_ok %369
627cb93a386Sopenharmony_ci%371 = OpLoad %mat2v2float %_1_m1
628cb93a386Sopenharmony_ciOpStore %_2_m3 %371
629cb93a386Sopenharmony_ci%372 = OpLoad %bool %_0_ok
630cb93a386Sopenharmony_ciOpSelectionMerge %374 None
631cb93a386Sopenharmony_ciOpBranchConditional %372 %373 %374
632cb93a386Sopenharmony_ci%373 = OpLabel
633cb93a386Sopenharmony_ci%375 = OpLoad %mat2v2float %_2_m3
634cb93a386Sopenharmony_ci%376 = OpCompositeConstruct %v2float %float_1 %float_2
635cb93a386Sopenharmony_ci%377 = OpCompositeConstruct %v2float %float_3 %float_4
636cb93a386Sopenharmony_ci%378 = OpCompositeConstruct %mat2v2float %376 %377
637cb93a386Sopenharmony_ci%379 = OpCompositeExtract %v2float %375 0
638cb93a386Sopenharmony_ci%380 = OpCompositeExtract %v2float %378 0
639cb93a386Sopenharmony_ci%381 = OpFOrdEqual %v2bool %379 %380
640cb93a386Sopenharmony_ci%382 = OpAll %bool %381
641cb93a386Sopenharmony_ci%383 = OpCompositeExtract %v2float %375 1
642cb93a386Sopenharmony_ci%384 = OpCompositeExtract %v2float %378 1
643cb93a386Sopenharmony_ci%385 = OpFOrdEqual %v2bool %383 %384
644cb93a386Sopenharmony_ci%386 = OpAll %bool %385
645cb93a386Sopenharmony_ci%387 = OpLogicalAnd %bool %382 %386
646cb93a386Sopenharmony_ciOpBranch %374
647cb93a386Sopenharmony_ci%374 = OpLabel
648cb93a386Sopenharmony_ci%388 = OpPhi %bool %false %355 %387 %373
649cb93a386Sopenharmony_ciOpStore %_0_ok %388
650cb93a386Sopenharmony_ci%391 = OpCompositeConstruct %v2float %float_6 %float_0
651cb93a386Sopenharmony_ci%392 = OpCompositeConstruct %v2float %float_0 %float_6
652cb93a386Sopenharmony_ci%390 = OpCompositeConstruct %mat2v2float %391 %392
653cb93a386Sopenharmony_ciOpStore %_3_m4 %390
654cb93a386Sopenharmony_ci%393 = OpLoad %bool %_0_ok
655cb93a386Sopenharmony_ciOpSelectionMerge %395 None
656cb93a386Sopenharmony_ciOpBranchConditional %393 %394 %395
657cb93a386Sopenharmony_ci%394 = OpLabel
658cb93a386Sopenharmony_ci%396 = OpLoad %mat2v2float %_3_m4
659cb93a386Sopenharmony_ci%397 = OpCompositeConstruct %v2float %float_6 %float_0
660cb93a386Sopenharmony_ci%398 = OpCompositeConstruct %v2float %float_0 %float_6
661cb93a386Sopenharmony_ci%399 = OpCompositeConstruct %mat2v2float %397 %398
662cb93a386Sopenharmony_ci%400 = OpCompositeExtract %v2float %396 0
663cb93a386Sopenharmony_ci%401 = OpCompositeExtract %v2float %399 0
664cb93a386Sopenharmony_ci%402 = OpFOrdEqual %v2bool %400 %401
665cb93a386Sopenharmony_ci%403 = OpAll %bool %402
666cb93a386Sopenharmony_ci%404 = OpCompositeExtract %v2float %396 1
667cb93a386Sopenharmony_ci%405 = OpCompositeExtract %v2float %399 1
668cb93a386Sopenharmony_ci%406 = OpFOrdEqual %v2bool %404 %405
669cb93a386Sopenharmony_ci%407 = OpAll %bool %406
670cb93a386Sopenharmony_ci%408 = OpLogicalAnd %bool %403 %407
671cb93a386Sopenharmony_ciOpBranch %395
672cb93a386Sopenharmony_ci%395 = OpLabel
673cb93a386Sopenharmony_ci%409 = OpPhi %bool %false %374 %408 %394
674cb93a386Sopenharmony_ciOpStore %_0_ok %409
675cb93a386Sopenharmony_ci%410 = OpLoad %mat2v2float %_2_m3
676cb93a386Sopenharmony_ci%411 = OpLoad %mat2v2float %_3_m4
677cb93a386Sopenharmony_ci%412 = OpMatrixTimesMatrix %mat2v2float %410 %411
678cb93a386Sopenharmony_ciOpStore %_2_m3 %412
679cb93a386Sopenharmony_ci%413 = OpLoad %bool %_0_ok
680cb93a386Sopenharmony_ciOpSelectionMerge %415 None
681cb93a386Sopenharmony_ciOpBranchConditional %413 %414 %415
682cb93a386Sopenharmony_ci%414 = OpLabel
683cb93a386Sopenharmony_ci%416 = OpLoad %mat2v2float %_2_m3
684cb93a386Sopenharmony_ci%417 = OpCompositeConstruct %v2float %float_6 %float_12
685cb93a386Sopenharmony_ci%418 = OpCompositeConstruct %v2float %float_18 %float_24
686cb93a386Sopenharmony_ci%419 = OpCompositeConstruct %mat2v2float %417 %418
687cb93a386Sopenharmony_ci%420 = OpCompositeExtract %v2float %416 0
688cb93a386Sopenharmony_ci%421 = OpCompositeExtract %v2float %419 0
689cb93a386Sopenharmony_ci%422 = OpFOrdEqual %v2bool %420 %421
690cb93a386Sopenharmony_ci%423 = OpAll %bool %422
691cb93a386Sopenharmony_ci%424 = OpCompositeExtract %v2float %416 1
692cb93a386Sopenharmony_ci%425 = OpCompositeExtract %v2float %419 1
693cb93a386Sopenharmony_ci%426 = OpFOrdEqual %v2bool %424 %425
694cb93a386Sopenharmony_ci%427 = OpAll %bool %426
695cb93a386Sopenharmony_ci%428 = OpLogicalAnd %bool %423 %427
696cb93a386Sopenharmony_ciOpBranch %415
697cb93a386Sopenharmony_ci%415 = OpLabel
698cb93a386Sopenharmony_ci%429 = OpPhi %bool %false %395 %428 %414
699cb93a386Sopenharmony_ciOpStore %_0_ok %429
700cb93a386Sopenharmony_ci%431 = OpAccessChain %_ptr_Function_v2float %_1_m1 %int_1
701cb93a386Sopenharmony_ci%432 = OpLoad %v2float %431
702cb93a386Sopenharmony_ci%433 = OpCompositeExtract %float %432 1
703cb93a386Sopenharmony_ci%435 = OpCompositeConstruct %v2float %433 %float_0
704cb93a386Sopenharmony_ci%436 = OpCompositeConstruct %v2float %float_0 %433
705cb93a386Sopenharmony_ci%434 = OpCompositeConstruct %mat2v2float %435 %436
706cb93a386Sopenharmony_ciOpStore %_4_m5 %434
707cb93a386Sopenharmony_ci%437 = OpLoad %bool %_0_ok
708cb93a386Sopenharmony_ciOpSelectionMerge %439 None
709cb93a386Sopenharmony_ciOpBranchConditional %437 %438 %439
710cb93a386Sopenharmony_ci%438 = OpLabel
711cb93a386Sopenharmony_ci%440 = OpLoad %mat2v2float %_4_m5
712cb93a386Sopenharmony_ci%441 = OpCompositeConstruct %v2float %float_4 %float_0
713cb93a386Sopenharmony_ci%442 = OpCompositeConstruct %v2float %float_0 %float_4
714cb93a386Sopenharmony_ci%443 = OpCompositeConstruct %mat2v2float %441 %442
715cb93a386Sopenharmony_ci%444 = OpCompositeExtract %v2float %440 0
716cb93a386Sopenharmony_ci%445 = OpCompositeExtract %v2float %443 0
717cb93a386Sopenharmony_ci%446 = OpFOrdEqual %v2bool %444 %445
718cb93a386Sopenharmony_ci%447 = OpAll %bool %446
719cb93a386Sopenharmony_ci%448 = OpCompositeExtract %v2float %440 1
720cb93a386Sopenharmony_ci%449 = OpCompositeExtract %v2float %443 1
721cb93a386Sopenharmony_ci%450 = OpFOrdEqual %v2bool %448 %449
722cb93a386Sopenharmony_ci%451 = OpAll %bool %450
723cb93a386Sopenharmony_ci%452 = OpLogicalAnd %bool %447 %451
724cb93a386Sopenharmony_ciOpBranch %439
725cb93a386Sopenharmony_ci%439 = OpLabel
726cb93a386Sopenharmony_ci%453 = OpPhi %bool %false %415 %452 %438
727cb93a386Sopenharmony_ciOpStore %_0_ok %453
728cb93a386Sopenharmony_ci%454 = OpLoad %mat2v2float %_1_m1
729cb93a386Sopenharmony_ci%455 = OpLoad %mat2v2float %_4_m5
730cb93a386Sopenharmony_ci%456 = OpCompositeExtract %v2float %454 0
731cb93a386Sopenharmony_ci%457 = OpCompositeExtract %v2float %455 0
732cb93a386Sopenharmony_ci%458 = OpFAdd %v2float %456 %457
733cb93a386Sopenharmony_ci%459 = OpCompositeExtract %v2float %454 1
734cb93a386Sopenharmony_ci%460 = OpCompositeExtract %v2float %455 1
735cb93a386Sopenharmony_ci%461 = OpFAdd %v2float %459 %460
736cb93a386Sopenharmony_ci%462 = OpCompositeConstruct %mat2v2float %458 %461
737cb93a386Sopenharmony_ciOpStore %_1_m1 %462
738cb93a386Sopenharmony_ci%463 = OpLoad %bool %_0_ok
739cb93a386Sopenharmony_ciOpSelectionMerge %465 None
740cb93a386Sopenharmony_ciOpBranchConditional %463 %464 %465
741cb93a386Sopenharmony_ci%464 = OpLabel
742cb93a386Sopenharmony_ci%466 = OpLoad %mat2v2float %_1_m1
743cb93a386Sopenharmony_ci%467 = OpCompositeConstruct %v2float %float_5 %float_2
744cb93a386Sopenharmony_ci%468 = OpCompositeConstruct %v2float %float_3 %float_8
745cb93a386Sopenharmony_ci%469 = OpCompositeConstruct %mat2v2float %467 %468
746cb93a386Sopenharmony_ci%470 = OpCompositeExtract %v2float %466 0
747cb93a386Sopenharmony_ci%471 = OpCompositeExtract %v2float %469 0
748cb93a386Sopenharmony_ci%472 = OpFOrdEqual %v2bool %470 %471
749cb93a386Sopenharmony_ci%473 = OpAll %bool %472
750cb93a386Sopenharmony_ci%474 = OpCompositeExtract %v2float %466 1
751cb93a386Sopenharmony_ci%475 = OpCompositeExtract %v2float %469 1
752cb93a386Sopenharmony_ci%476 = OpFOrdEqual %v2bool %474 %475
753cb93a386Sopenharmony_ci%477 = OpAll %bool %476
754cb93a386Sopenharmony_ci%478 = OpLogicalAnd %bool %473 %477
755cb93a386Sopenharmony_ciOpBranch %465
756cb93a386Sopenharmony_ci%465 = OpLabel
757cb93a386Sopenharmony_ci%479 = OpPhi %bool %false %439 %478 %464
758cb93a386Sopenharmony_ciOpStore %_0_ok %479
759cb93a386Sopenharmony_ci%481 = OpCompositeConstruct %v2float %float_5 %float_6
760cb93a386Sopenharmony_ci%482 = OpCompositeConstruct %v2float %float_7 %float_8
761cb93a386Sopenharmony_ci%483 = OpCompositeConstruct %mat2v2float %481 %482
762cb93a386Sopenharmony_ciOpStore %_5_m7 %483
763cb93a386Sopenharmony_ci%484 = OpLoad %bool %_0_ok
764cb93a386Sopenharmony_ciOpSelectionMerge %486 None
765cb93a386Sopenharmony_ciOpBranchConditional %484 %485 %486
766cb93a386Sopenharmony_ci%485 = OpLabel
767cb93a386Sopenharmony_ci%487 = OpLoad %mat2v2float %_5_m7
768cb93a386Sopenharmony_ci%488 = OpCompositeConstruct %v2float %float_5 %float_6
769cb93a386Sopenharmony_ci%489 = OpCompositeConstruct %v2float %float_7 %float_8
770cb93a386Sopenharmony_ci%490 = OpCompositeConstruct %mat2v2float %488 %489
771cb93a386Sopenharmony_ci%491 = OpCompositeExtract %v2float %487 0
772cb93a386Sopenharmony_ci%492 = OpCompositeExtract %v2float %490 0
773cb93a386Sopenharmony_ci%493 = OpFOrdEqual %v2bool %491 %492
774cb93a386Sopenharmony_ci%494 = OpAll %bool %493
775cb93a386Sopenharmony_ci%495 = OpCompositeExtract %v2float %487 1
776cb93a386Sopenharmony_ci%496 = OpCompositeExtract %v2float %490 1
777cb93a386Sopenharmony_ci%497 = OpFOrdEqual %v2bool %495 %496
778cb93a386Sopenharmony_ci%498 = OpAll %bool %497
779cb93a386Sopenharmony_ci%499 = OpLogicalAnd %bool %494 %498
780cb93a386Sopenharmony_ciOpBranch %486
781cb93a386Sopenharmony_ci%486 = OpLabel
782cb93a386Sopenharmony_ci%500 = OpPhi %bool %false %465 %499 %485
783cb93a386Sopenharmony_ciOpStore %_0_ok %500
784cb93a386Sopenharmony_ci%503 = OpCompositeConstruct %v3float %float_9 %float_0 %float_0
785cb93a386Sopenharmony_ci%504 = OpCompositeConstruct %v3float %float_0 %float_9 %float_0
786cb93a386Sopenharmony_ci%505 = OpCompositeConstruct %v3float %float_0 %float_0 %float_9
787cb93a386Sopenharmony_ci%502 = OpCompositeConstruct %mat3v3float %503 %504 %505
788cb93a386Sopenharmony_ciOpStore %_6_m9 %502
789cb93a386Sopenharmony_ci%506 = OpLoad %bool %_0_ok
790cb93a386Sopenharmony_ciOpSelectionMerge %508 None
791cb93a386Sopenharmony_ciOpBranchConditional %506 %507 %508
792cb93a386Sopenharmony_ci%507 = OpLabel
793cb93a386Sopenharmony_ci%509 = OpLoad %mat3v3float %_6_m9
794cb93a386Sopenharmony_ci%510 = OpCompositeConstruct %v3float %float_9 %float_0 %float_0
795cb93a386Sopenharmony_ci%511 = OpCompositeConstruct %v3float %float_0 %float_9 %float_0
796cb93a386Sopenharmony_ci%512 = OpCompositeConstruct %v3float %float_0 %float_0 %float_9
797cb93a386Sopenharmony_ci%513 = OpCompositeConstruct %mat3v3float %510 %511 %512
798cb93a386Sopenharmony_ci%514 = OpCompositeExtract %v3float %509 0
799cb93a386Sopenharmony_ci%515 = OpCompositeExtract %v3float %513 0
800cb93a386Sopenharmony_ci%516 = OpFOrdEqual %v3bool %514 %515
801cb93a386Sopenharmony_ci%517 = OpAll %bool %516
802cb93a386Sopenharmony_ci%518 = OpCompositeExtract %v3float %509 1
803cb93a386Sopenharmony_ci%519 = OpCompositeExtract %v3float %513 1
804cb93a386Sopenharmony_ci%520 = OpFOrdEqual %v3bool %518 %519
805cb93a386Sopenharmony_ci%521 = OpAll %bool %520
806cb93a386Sopenharmony_ci%522 = OpLogicalAnd %bool %517 %521
807cb93a386Sopenharmony_ci%523 = OpCompositeExtract %v3float %509 2
808cb93a386Sopenharmony_ci%524 = OpCompositeExtract %v3float %513 2
809cb93a386Sopenharmony_ci%525 = OpFOrdEqual %v3bool %523 %524
810cb93a386Sopenharmony_ci%526 = OpAll %bool %525
811cb93a386Sopenharmony_ci%527 = OpLogicalAnd %bool %522 %526
812cb93a386Sopenharmony_ciOpBranch %508
813cb93a386Sopenharmony_ci%508 = OpLabel
814cb93a386Sopenharmony_ci%528 = OpPhi %bool %false %486 %527 %507
815cb93a386Sopenharmony_ciOpStore %_0_ok %528
816cb93a386Sopenharmony_ci%531 = OpCompositeConstruct %v4float %float_11 %float_0 %float_0 %float_0
817cb93a386Sopenharmony_ci%532 = OpCompositeConstruct %v4float %float_0 %float_11 %float_0 %float_0
818cb93a386Sopenharmony_ci%533 = OpCompositeConstruct %v4float %float_0 %float_0 %float_11 %float_0
819cb93a386Sopenharmony_ci%534 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_11
820cb93a386Sopenharmony_ci%530 = OpCompositeConstruct %mat4v4float %531 %532 %533 %534
821cb93a386Sopenharmony_ciOpStore %_7_m10 %530
822cb93a386Sopenharmony_ci%535 = OpLoad %bool %_0_ok
823cb93a386Sopenharmony_ciOpSelectionMerge %537 None
824cb93a386Sopenharmony_ciOpBranchConditional %535 %536 %537
825cb93a386Sopenharmony_ci%536 = OpLabel
826cb93a386Sopenharmony_ci%538 = OpLoad %mat4v4float %_7_m10
827cb93a386Sopenharmony_ci%539 = OpCompositeConstruct %v4float %float_11 %float_0 %float_0 %float_0
828cb93a386Sopenharmony_ci%540 = OpCompositeConstruct %v4float %float_0 %float_11 %float_0 %float_0
829cb93a386Sopenharmony_ci%541 = OpCompositeConstruct %v4float %float_0 %float_0 %float_11 %float_0
830cb93a386Sopenharmony_ci%542 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_11
831cb93a386Sopenharmony_ci%543 = OpCompositeConstruct %mat4v4float %539 %540 %541 %542
832cb93a386Sopenharmony_ci%544 = OpCompositeExtract %v4float %538 0
833cb93a386Sopenharmony_ci%545 = OpCompositeExtract %v4float %543 0
834cb93a386Sopenharmony_ci%546 = OpFOrdEqual %v4bool %544 %545
835cb93a386Sopenharmony_ci%547 = OpAll %bool %546
836cb93a386Sopenharmony_ci%548 = OpCompositeExtract %v4float %538 1
837cb93a386Sopenharmony_ci%549 = OpCompositeExtract %v4float %543 1
838cb93a386Sopenharmony_ci%550 = OpFOrdEqual %v4bool %548 %549
839cb93a386Sopenharmony_ci%551 = OpAll %bool %550
840cb93a386Sopenharmony_ci%552 = OpLogicalAnd %bool %547 %551
841cb93a386Sopenharmony_ci%553 = OpCompositeExtract %v4float %538 2
842cb93a386Sopenharmony_ci%554 = OpCompositeExtract %v4float %543 2
843cb93a386Sopenharmony_ci%555 = OpFOrdEqual %v4bool %553 %554
844cb93a386Sopenharmony_ci%556 = OpAll %bool %555
845cb93a386Sopenharmony_ci%557 = OpLogicalAnd %bool %552 %556
846cb93a386Sopenharmony_ci%558 = OpCompositeExtract %v4float %538 3
847cb93a386Sopenharmony_ci%559 = OpCompositeExtract %v4float %543 3
848cb93a386Sopenharmony_ci%560 = OpFOrdEqual %v4bool %558 %559
849cb93a386Sopenharmony_ci%561 = OpAll %bool %560
850cb93a386Sopenharmony_ci%562 = OpLogicalAnd %bool %557 %561
851cb93a386Sopenharmony_ciOpBranch %537
852cb93a386Sopenharmony_ci%537 = OpLabel
853cb93a386Sopenharmony_ci%563 = OpPhi %bool %false %508 %562 %536
854cb93a386Sopenharmony_ciOpStore %_0_ok %563
855cb93a386Sopenharmony_ci%565 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
856cb93a386Sopenharmony_ci%566 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
857cb93a386Sopenharmony_ci%567 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
858cb93a386Sopenharmony_ci%568 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_20
859cb93a386Sopenharmony_ci%569 = OpCompositeConstruct %mat4v4float %565 %566 %567 %568
860cb93a386Sopenharmony_ciOpStore %_8_m11 %569
861cb93a386Sopenharmony_ci%570 = OpLoad %mat4v4float %_8_m11
862cb93a386Sopenharmony_ci%571 = OpLoad %mat4v4float %_7_m10
863cb93a386Sopenharmony_ci%572 = OpCompositeExtract %v4float %570 0
864cb93a386Sopenharmony_ci%573 = OpCompositeExtract %v4float %571 0
865cb93a386Sopenharmony_ci%574 = OpFSub %v4float %572 %573
866cb93a386Sopenharmony_ci%575 = OpCompositeExtract %v4float %570 1
867cb93a386Sopenharmony_ci%576 = OpCompositeExtract %v4float %571 1
868cb93a386Sopenharmony_ci%577 = OpFSub %v4float %575 %576
869cb93a386Sopenharmony_ci%578 = OpCompositeExtract %v4float %570 2
870cb93a386Sopenharmony_ci%579 = OpCompositeExtract %v4float %571 2
871cb93a386Sopenharmony_ci%580 = OpFSub %v4float %578 %579
872cb93a386Sopenharmony_ci%581 = OpCompositeExtract %v4float %570 3
873cb93a386Sopenharmony_ci%582 = OpCompositeExtract %v4float %571 3
874cb93a386Sopenharmony_ci%583 = OpFSub %v4float %581 %582
875cb93a386Sopenharmony_ci%584 = OpCompositeConstruct %mat4v4float %574 %577 %580 %583
876cb93a386Sopenharmony_ciOpStore %_8_m11 %584
877cb93a386Sopenharmony_ci%585 = OpLoad %bool %_0_ok
878cb93a386Sopenharmony_ciOpSelectionMerge %587 None
879cb93a386Sopenharmony_ciOpBranchConditional %585 %586 %587
880cb93a386Sopenharmony_ci%586 = OpLabel
881cb93a386Sopenharmony_ci%588 = OpLoad %mat4v4float %_8_m11
882cb93a386Sopenharmony_ci%589 = OpCompositeConstruct %v4float %float_9 %float_20 %float_20 %float_20
883cb93a386Sopenharmony_ci%590 = OpCompositeConstruct %v4float %float_20 %float_9 %float_20 %float_20
884cb93a386Sopenharmony_ci%591 = OpCompositeConstruct %v4float %float_20 %float_20 %float_9 %float_20
885cb93a386Sopenharmony_ci%592 = OpCompositeConstruct %v4float %float_20 %float_20 %float_20 %float_9
886cb93a386Sopenharmony_ci%593 = OpCompositeConstruct %mat4v4float %589 %590 %591 %592
887cb93a386Sopenharmony_ci%594 = OpCompositeExtract %v4float %588 0
888cb93a386Sopenharmony_ci%595 = OpCompositeExtract %v4float %593 0
889cb93a386Sopenharmony_ci%596 = OpFOrdEqual %v4bool %594 %595
890cb93a386Sopenharmony_ci%597 = OpAll %bool %596
891cb93a386Sopenharmony_ci%598 = OpCompositeExtract %v4float %588 1
892cb93a386Sopenharmony_ci%599 = OpCompositeExtract %v4float %593 1
893cb93a386Sopenharmony_ci%600 = OpFOrdEqual %v4bool %598 %599
894cb93a386Sopenharmony_ci%601 = OpAll %bool %600
895cb93a386Sopenharmony_ci%602 = OpLogicalAnd %bool %597 %601
896cb93a386Sopenharmony_ci%603 = OpCompositeExtract %v4float %588 2
897cb93a386Sopenharmony_ci%604 = OpCompositeExtract %v4float %593 2
898cb93a386Sopenharmony_ci%605 = OpFOrdEqual %v4bool %603 %604
899cb93a386Sopenharmony_ci%606 = OpAll %bool %605
900cb93a386Sopenharmony_ci%607 = OpLogicalAnd %bool %602 %606
901cb93a386Sopenharmony_ci%608 = OpCompositeExtract %v4float %588 3
902cb93a386Sopenharmony_ci%609 = OpCompositeExtract %v4float %593 3
903cb93a386Sopenharmony_ci%610 = OpFOrdEqual %v4bool %608 %609
904cb93a386Sopenharmony_ci%611 = OpAll %bool %610
905cb93a386Sopenharmony_ci%612 = OpLogicalAnd %bool %607 %611
906cb93a386Sopenharmony_ciOpBranch %587
907cb93a386Sopenharmony_ci%587 = OpLabel
908cb93a386Sopenharmony_ci%613 = OpPhi %bool %false %537 %612 %586
909cb93a386Sopenharmony_ciOpStore %_0_ok %613
910cb93a386Sopenharmony_ci%614 = OpLoad %bool %_0_ok
911cb93a386Sopenharmony_ciOpSelectionMerge %616 None
912cb93a386Sopenharmony_ciOpBranchConditional %614 %615 %616
913cb93a386Sopenharmony_ci%615 = OpLabel
914cb93a386Sopenharmony_ci%617 = OpFunctionCall %bool %test_half_b
915cb93a386Sopenharmony_ciOpBranch %616
916cb93a386Sopenharmony_ci%616 = OpLabel
917cb93a386Sopenharmony_ci%618 = OpPhi %bool %false %587 %617 %615
918cb93a386Sopenharmony_ciOpSelectionMerge %620 None
919cb93a386Sopenharmony_ciOpBranchConditional %618 %619 %620
920cb93a386Sopenharmony_ci%619 = OpLabel
921cb93a386Sopenharmony_ci%621 = OpFunctionCall %bool %test_comma_b
922cb93a386Sopenharmony_ciOpBranch %620
923cb93a386Sopenharmony_ci%620 = OpLabel
924cb93a386Sopenharmony_ci%622 = OpPhi %bool %false %616 %621 %619
925cb93a386Sopenharmony_ciOpSelectionMerge %627 None
926cb93a386Sopenharmony_ciOpBranchConditional %622 %625 %626
927cb93a386Sopenharmony_ci%625 = OpLabel
928cb93a386Sopenharmony_ci%628 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0
929cb93a386Sopenharmony_ci%631 = OpLoad %v4float %628
930cb93a386Sopenharmony_ciOpStore %623 %631
931cb93a386Sopenharmony_ciOpBranch %627
932cb93a386Sopenharmony_ci%626 = OpLabel
933cb93a386Sopenharmony_ci%632 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1
934cb93a386Sopenharmony_ci%633 = OpLoad %v4float %632
935cb93a386Sopenharmony_ciOpStore %623 %633
936cb93a386Sopenharmony_ciOpBranch %627
937cb93a386Sopenharmony_ci%627 = OpLabel
938cb93a386Sopenharmony_ci%634 = OpLoad %v4float %623
939cb93a386Sopenharmony_ciOpReturnValue %634
940cb93a386Sopenharmony_ciOpFunctionEnd
941