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