; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 1887 ; Schema: 0 OpCapability Shader %1759 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %gl_FragCoord %x_GLF_color OpExecutionMode %main OriginUpperLeft OpName %QuicksortObject "QuicksortObject" OpMemberName %QuicksortObject 0 "numbers" OpName %obj "obj" OpName %gl_FragCoord "gl_FragCoord" OpName %buf0 "buf0" OpMemberName %buf0 0 "resolution" OpName %x_188 "x_188" OpName %x_GLF_color "x_GLF_color" OpName %swap_i1_i1_ "swap_i1_i1_" OpName %i "i" OpName %j "j" OpName %temp "temp" OpName %performPartition_i1_i1_ "performPartition_i1_i1_" OpName %l "l" OpName %h "h" OpName %param_3 "param_3" OpName %i_1 "i_1" OpName %j_1 "j_1" OpName %param_2 "param_2" OpName %param_1 "param_1" OpName %param "param" OpName %pivot "pivot" OpName %x_537 "x_537" OpName %x_538 "x_538" OpName %quicksort_ "quicksort_" OpName %param_4 "param_4" OpName %h_1 "h_1" OpName %p "p" OpName %l_1 "l_1" OpName %top "top" OpName %stack "stack" OpName %param_5 "param_5" OpName %main "main" OpName %color "color" OpName %i_2 "i_2" OpName %uv "uv" OpMemberDecorate %QuicksortObject 0 Offset 0 OpDecorate %_arr_int_uint_10 ArrayStride 4 OpDecorate %gl_FragCoord BuiltIn FragCoord OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_188 NonWritable OpDecorate %x_188 DescriptorSet 0 OpDecorate %x_188 Binding 0 OpDecorate %x_GLF_color Location 0 %int = OpTypeInt 32 1 %uint = OpTypeInt 32 0 %uint_10 = OpConstant %uint 10 %_arr_int_uint_10 = OpTypeArray %int %uint_10 %QuicksortObject = OpTypeStruct %_arr_int_uint_10 %_ptr_Private_QuicksortObject = OpTypePointer Private %QuicksortObject %8 = OpConstantNull %QuicksortObject %obj = OpVariable %_ptr_Private_QuicksortObject Private %8 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Input_v4float = OpTypePointer Input %v4float %gl_FragCoord = OpVariable %_ptr_Input_v4float Input %v2float = OpTypeVector %float 2 %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_188 = OpVariable %_ptr_Uniform_buf0 Uniform %_ptr_Output_v4float = OpTypePointer Output %v4float %19 = OpConstantNull %v4float %x_GLF_color = OpVariable %_ptr_Output_v4float Output %19 %void = OpTypeVoid %_ptr_Function_int = OpTypePointer Function %int %20 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_int %28 = OpConstantNull %int %int_0 = OpConstant %int 0 %v3float = OpTypeVector %float 3 %float_1 = OpConstant %float 1 %float_2 = OpConstant %float 2 %float_3 = OpConstant %float 3 %35 = OpConstantComposite %v3float %float_1 %float_2 %float_3 %uint_0 = OpConstant %uint 0 %_ptr_Private_int = OpTypePointer Private %int %103 = OpConstantComposite %_arr_int_uint_10 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %int_0 %104 = OpConstantComposite %QuicksortObject %103 %157 = OpTypeFunction %int %_ptr_Function_int %_ptr_Function_int %_ptr_Function_v2float = OpTypePointer Function %v2float %171 = OpConstantNull %v2float %_ptr_Function_v3float = OpTypePointer Function %v3float %174 = OpConstantNull %v3float %uint_1 = OpConstant %uint 1 %int_10 = OpConstant %int 10 %_ptr_Function_float = OpTypePointer Function %float %bool = OpTypeBool %int_1 = OpConstant %int 1 %426 = OpTypeFunction %void %_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10 %436 = OpConstantNull %_arr_int_uint_10 %int_9 = OpConstant %int 9 %int_n1 = OpConstant %int -1 %float_0 = OpConstant %float 0 %897 = OpConstantComposite %v2float %float_0 %float_0 %true = OpConstantTrue %bool %909 = OpConstantComposite %v3float %float_0 %float_0 %float_0 %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float %float_0_25 = OpConstant %float 0.25 %float_0_5 = OpConstant %float 0.5 %uint_2 = OpConstant %uint 2 %float_0_75 = OpConstant %float 0.75 %int_3 = OpConstant %int 3 %int_4 = OpConstant %int 4 %uint_5 = OpConstant %uint 5 %uint_6 = OpConstant %uint 6 %int_7 = OpConstant %int 7 %int_8 = OpConstant %int 8 %uint_9 = OpConstant %uint 9 %swap_i1_i1_ = OpFunction %void None %20 %i = OpFunctionParameter %_ptr_Function_int %j = OpFunctionParameter %_ptr_Function_int %26 = OpLabel %temp = OpVariable %_ptr_Function_int Function %28 %29 = OpLoad %int %temp OpStore %temp %int_0 OpStore %temp %29 %36 = OpCompositeExtract %float %35 2 %37 = OpCompositeExtract %float %35 1 %38 = OpCompositeExtract %float %35 2 %39 = OpCompositeConstruct %v3float %36 %37 %38 %41 = OpLoad %int %i OpStore %i %int_0 OpStore %i %41 %45 = OpLoad %int %i %47 = OpLoad %int %j OpStore %j %int_0 OpStore %j %47 %50 = OpCompositeExtract %float %39 1 %51 = OpCompositeExtract %float %39 0 %52 = OpCompositeExtract %float %39 1 %53 = OpCompositeConstruct %v3float %50 %51 %52 %54 = OpLoad %int %temp OpStore %temp %int_0 OpStore %temp %54 %58 = OpAccessChain %_ptr_Private_int %obj %uint_0 %45 %60 = OpLoad %int %58 OpStore %58 %int_0 OpStore %58 %60 %64 = OpLoad %int %58 %65 = OpLoad %int %temp OpStore %temp %int_0 OpStore %temp %65 OpStore %temp %64 %67 = OpLoad %int %j OpStore %j %int_0 OpStore %j %67 %70 = OpCompositeExtract %float %39 2 %71 = OpCompositeExtract %float %35 0 %72 = OpCompositeExtract %float %39 1 %73 = OpCompositeConstruct %v3float %70 %71 %72 %75 = OpLoad %int %i OpStore %i %int_0 OpStore %i %75 %79 = OpLoad %int %i %81 = OpLoad %int %58 OpStore %58 %int_0 OpStore %58 %81 %85 = OpLoad %int %j %87 = OpLoad %int %i OpStore %i %int_0 OpStore %i %87 %90 = OpCompositeExtract %float %73 0 %91 = OpCompositeExtract %float %73 2 %92 = OpCompositeExtract %float %73 2 %93 = OpCompositeConstruct %v3float %90 %91 %92 %95 = OpLoad %int %58 OpStore %58 %int_0 OpStore %58 %95 %99 = OpAccessChain %_ptr_Private_int %obj %uint_0 %85 %101 = OpLoad %int %99 %102 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %102 %105 = OpCompositeExtract %float %93 0 %106 = OpCompositeExtract %float %93 0 %107 = OpCompositeConstruct %v2float %105 %106 %109 = OpAccessChain %_ptr_Private_int %obj %uint_0 %79 %110 = OpCompositeExtract %float %53 0 %111 = OpCompositeExtract %float %53 2 %112 = OpCompositeExtract %float %53 0 %113 = OpCompositeConstruct %v3float %110 %111 %112 OpStore %109 %101 %115 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %115 %116 = OpCompositeExtract %float %93 1 %117 = OpCompositeExtract %float %93 2 %118 = OpCompositeExtract %float %93 0 %119 = OpCompositeConstruct %v3float %116 %117 %118 %121 = OpLoad %int %i OpStore %i %int_0 OpStore %i %121 %125 = OpLoad %int %j %126 = OpLoad %int %temp OpStore %temp %int_0 OpStore %temp %126 %127 = OpCompositeExtract %float %119 2 %128 = OpCompositeExtract %float %119 1 %129 = OpCompositeConstruct %v2float %127 %128 %131 = OpLoad %int %99 OpStore %99 %int_0 OpStore %99 %131 %134 = OpLoad %int %temp %136 = OpLoad %int %j OpStore %j %int_0 OpStore %j %136 %139 = OpCompositeExtract %float %107 0 %140 = OpCompositeExtract %float %93 1 %141 = OpCompositeExtract %float %93 0 %142 = OpCompositeConstruct %v3float %139 %140 %141 %144 = OpLoad %int %109 OpStore %109 %int_0 OpStore %109 %144 %147 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %147 %148 = OpCompositeExtract %float %113 0 %149 = OpCompositeExtract %float %113 1 %150 = OpCompositeExtract %float %113 0 %151 = OpCompositeConstruct %v3float %148 %149 %150 %153 = OpLoad %int %99 OpStore %99 %int_0 OpStore %99 %153 %156 = OpAccessChain %_ptr_Private_int %obj %uint_0 %125 OpStore %156 %134 OpReturn OpFunctionEnd %performPartition_i1_i1_ = OpFunction %int None %157 %l = OpFunctionParameter %_ptr_Function_int %h = OpFunctionParameter %_ptr_Function_int %161 = OpLabel %param_3 = OpVariable %_ptr_Function_int Function %28 %i_1 = OpVariable %_ptr_Function_int Function %28 %j_1 = OpVariable %_ptr_Function_int Function %28 %param_2 = OpVariable %_ptr_Function_int Function %28 %param_1 = OpVariable %_ptr_Function_int Function %28 %param = OpVariable %_ptr_Function_int Function %28 %pivot = OpVariable %_ptr_Function_int Function %28 %x_537 = OpVariable %_ptr_Function_v2float Function %171 %x_538 = OpVariable %_ptr_Function_v3float Function %174 %176 = OpLoad %int %h OpStore %h %int_0 OpStore %h %176 %180 = OpLoad %int %h %182 = OpLoad %int %l OpStore %l %int_0 OpStore %l %182 %186 = OpAccessChain %_ptr_Private_int %obj %uint_0 %180 %188 = OpLoad %int %186 OpStore %186 %int_0 OpStore %186 %188 %192 = OpLoad %int %186 %193 = OpLoad %int %param_3 OpStore %param_3 %int_0 OpStore %param_3 %193 %194 = OpCompositeExtract %float %35 2 %195 = OpCompositeExtract %float %35 0 %196 = OpCompositeExtract %float %35 2 %197 = OpCompositeConstruct %v3float %194 %195 %196 %198 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %198 OpStore %pivot %192 %200 = OpLoad %int %l %202 = OpLoad %int %h OpStore %h %int_0 OpStore %h %202 %205 = OpLoad %int %j_1 OpStore %j_1 %int_0 OpStore %j_1 %205 %206 = OpCompositeExtract %float %197 1 %207 = OpCompositeExtract %float %197 2 %208 = OpCompositeExtract %float %197 1 %209 = OpCompositeConstruct %v3float %206 %207 %208 %211 = OpLoad %int %l OpStore %l %int_0 OpStore %l %211 %214 = OpBitcast %int %uint_1 %216 = OpISub %int %200 %214 OpStore %i_1 %216 %218 = OpLoad %int %l %219 = OpCompositeExtract %float %197 0 %220 = OpCompositeExtract %float %197 2 %221 = OpCompositeExtract %float %209 0 %222 = OpCompositeConstruct %v3float %219 %220 %221 OpStore %j_1 %int_10 %224 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %224 OpBranch %225 %225 = OpLabel OpLoopMerge %226 %227 None OpBranch %228 %228 = OpLabel %229 = OpLoad %int %pivot OpStore %pivot %int_0 OpStore %pivot %229 %230 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %230 %231 = OpLoad %int %j_1 %232 = OpLoad %int %pivot OpStore %pivot %int_0 OpStore %pivot %232 %233 = OpCompositeExtract %float %35 1 %234 = OpCompositeExtract %float %35 2 %235 = OpCompositeConstruct %v2float %233 %234 OpStore %x_537 %235 %236 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %236 %238 = OpLoad %int %h %240 = OpLoad %int %h OpStore %h %int_0 OpStore %h %240 %243 = OpLoad %int %param OpStore %param %int_0 OpStore %param %243 %244 = OpLoad %int %j_1 OpStore %j_1 %int_0 OpStore %j_1 %244 %245 = OpCompositeExtract %float %197 0 %247 = OpAccessChain %_ptr_Function_float %x_537 %uint_1 %248 = OpLoad %float %247 %249 = OpCompositeExtract %float %197 2 %250 = OpCompositeConstruct %v3float %245 %248 %249 OpStore %x_538 %250 %251 = OpLoad %int %param OpStore %param %int_0 OpStore %param %251 %252 = OpBitcast %int %uint_1 %253 = OpISub %int %238 %252 %254 = OpSLessThanEqual %bool %231 %253 OpSelectionMerge %256 None OpBranchConditional %254 %257 %258 %257 = OpLabel OpBranch %256 %258 = OpLabel OpBranch %226 %256 = OpLabel %259 = OpLoad %int %j_1 %261 = OpLoad %int %186 OpStore %186 %int_0 OpStore %186 %261 %265 = OpAccessChain %_ptr_Private_int %obj %uint_0 %259 %267 = OpLoad %int %h OpStore %h %int_0 OpStore %h %267 %270 = OpAccessChain %_ptr_Function_float %x_537 %uint_0 %271 = OpLoad %float %270 %272 = OpCompositeExtract %float %209 2 %273 = OpAccessChain %_ptr_Function_float %x_537 %uint_0 %274 = OpLoad %float %273 %275 = OpCompositeConstruct %v3float %271 %272 %274 %276 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %276 %278 = OpLoad %int %265 %279 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %279 %280 = OpLoad %int %pivot %281 = OpCompositeExtract %float %35 1 %282 = OpCompositeExtract %float %197 2 %283 = OpCompositeConstruct %v2float %281 %282 %284 = OpLoad %int %i_1 OpStore %i_1 %int_0 OpStore %i_1 %284 %286 = OpLoad %int %l OpStore %l %int_0 OpStore %l %286 %289 = OpCompositeExtract %float %197 1 %290 = OpCompositeExtract %float %197 0 %291 = OpCompositeExtract %float %197 1 %292 = OpCompositeConstruct %v3float %289 %290 %291 %293 = OpLoad %int %pivot OpStore %pivot %int_0 OpStore %pivot %293 %294 = OpSLessThanEqual %bool %278 %280 OpSelectionMerge %295 None OpBranchConditional %294 %296 %295 %296 = OpLabel %297 = OpCompositeExtract %float %292 2 %298 = OpCompositeExtract %float %292 0 %299 = OpCompositeExtract %float %292 0 %300 = OpCompositeConstruct %v3float %297 %298 %299 %301 = OpLoad %int %param_3 OpStore %param_3 %int_0 OpStore %param_3 %301 %302 = OpLoad %int %i_1 %303 = OpLoad %int %pivot OpStore %pivot %int_0 OpStore %pivot %303 %304 = OpCompositeExtract %float %275 0 %305 = OpCompositeExtract %float %292 1 %306 = OpCompositeConstruct %v2float %304 %305 %307 = OpLoad %int %i_1 OpStore %i_1 %int_0 OpStore %i_1 %307 %308 = OpLoad %int %param OpStore %param %int_0 OpStore %param %308 %309 = OpBitcast %int %uint_1 %310 = OpIAdd %int %302 %309 OpStore %i_1 %310 %312 = OpLoad %int %l OpStore %l %int_0 OpStore %l %312 %315 = OpCompositeExtract %float %35 2 %316 = OpCompositeExtract %float %35 1 %317 = OpCompositeExtract %float %283 0 %318 = OpCompositeConstruct %v3float %315 %316 %317 %319 = OpLoad %int %i_1 %320 = OpAccessChain %_ptr_Function_float %x_537 %uint_1 %321 = OpLoad %float %320 %322 = OpAccessChain %_ptr_Function_float %x_538 %uint_0 %323 = OpLoad %float %322 %324 = OpCompositeConstruct %v2float %321 %323 %325 = OpLoad %int %param OpStore %param %int_0 OpStore %param %325 OpStore %param %319 %326 = OpLoad %int %param OpStore %param %int_0 OpStore %param %326 %327 = OpCompositeExtract %float %324 0 %328 = OpCompositeExtract %float %324 0 %329 = OpCompositeConstruct %v2float %327 %328 %330 = OpLoad %int %i_1 OpStore %i_1 %int_0 OpStore %i_1 %330 %331 = OpLoad %int %j_1 OpStore %param_1 %331 %332 = OpLoad %int %param_3 OpStore %param_3 %int_0 OpStore %param_3 %332 %333 = OpFunctionCall %void %swap_i1_i1_ %param %param_1 %336 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %336 OpBranch %295 %295 = OpLabel %337 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %337 OpBranch %227 %227 = OpLabel %339 = OpLoad %int %h OpStore %h %int_0 OpStore %h %339 %342 = OpLoad %int %j_1 %344 = OpLoad %int %h OpStore %h %int_0 OpStore %h %344 %347 = OpCompositeExtract %float %275 0 %348 = OpCompositeExtract %float %292 2 %349 = OpCompositeExtract %float %292 2 %350 = OpCompositeConstruct %v3float %347 %348 %349 %352 = OpLoad %int %265 OpStore %265 %int_0 OpStore %265 %352 %355 = OpLoad %int %param OpStore %param %int_0 OpStore %param %355 %357 = OpIAdd %int %int_1 %342 OpStore %j_1 %357 %358 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %358 %359 = OpCompositeExtract %float %292 1 %360 = OpCompositeExtract %float %292 2 %361 = OpCompositeExtract %float %292 0 %362 = OpCompositeConstruct %v3float %359 %360 %361 %364 = OpLoad %int %265 OpStore %265 %int_0 OpStore %265 %364 OpBranch %225 %226 = OpLabel %367 = OpLoad %int %i_1 %369 = OpLoad %int %186 OpStore %186 %int_0 OpStore %186 %369 %372 = OpCompositeExtract %float %197 0 %373 = OpCompositeExtract %float %197 1 %374 = OpCompositeConstruct %v2float %372 %373 %375 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %375 %377 = OpLoad %int %h OpStore %h %int_0 OpStore %h %377 %380 = OpIAdd %int %int_1 %367 OpStore %i_1 %380 %381 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %381 %382 = OpLoad %int %i_1 %383 = OpLoad %int %j_1 OpStore %j_1 %int_0 OpStore %j_1 %383 %384 = OpCompositeExtract %float %197 0 %385 = OpCompositeExtract %float %197 0 %386 = OpCompositeConstruct %v2float %384 %385 %387 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %387 OpStore %param_2 %382 %388 = OpCompositeExtract %float %197 1 %389 = OpCompositeExtract %float %222 0 %390 = OpCompositeConstruct %v2float %388 %389 %391 = OpLoad %int %pivot OpStore %pivot %int_0 OpStore %pivot %391 %393 = OpLoad %int %h %394 = OpCompositeExtract %float %386 0 %395 = OpCompositeExtract %float %374 1 %396 = OpCompositeConstruct %v2float %394 %395 %398 = OpLoad %int %h OpStore %h %int_0 OpStore %h %398 OpStore %param_3 %393 %401 = OpLoad %int %i_1 OpStore %i_1 %int_0 OpStore %i_1 %401 %402 = OpCompositeExtract %float %374 1 %403 = OpCompositeExtract %float %396 0 %404 = OpCompositeConstruct %v2float %402 %403 %406 = OpLoad %int %h OpStore %h %int_0 OpStore %h %406 %409 = OpFunctionCall %void %swap_i1_i1_ %param_2 %param_3 %413 = OpLoad %int %l OpStore %l %int_0 OpStore %l %413 %416 = OpCompositeExtract %float %222 2 %417 = OpCompositeExtract %float %35 1 %418 = OpCompositeConstruct %v2float %416 %417 %419 = OpLoad %int %param_1 OpStore %param_1 %int_0 OpStore %param_1 %419 %420 = OpLoad %int %i_1 %421 = OpLoad %int %param OpStore %param %int_0 OpStore %param %421 %422 = OpCompositeExtract %float %197 1 %423 = OpCompositeExtract %float %197 0 %424 = OpCompositeConstruct %v2float %422 %423 %425 = OpLoad %int %j_1 OpStore %j_1 %int_0 OpStore %j_1 %425 OpReturnValue %420 OpFunctionEnd %quicksort_ = OpFunction %void None %426 %428 = OpLabel %param_4 = OpVariable %_ptr_Function_int Function %28 %h_1 = OpVariable %_ptr_Function_int Function %28 %p = OpVariable %_ptr_Function_int Function %28 %l_1 = OpVariable %_ptr_Function_int Function %28 %top = OpVariable %_ptr_Function_int Function %28 %stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %436 %param_5 = OpVariable %_ptr_Function_int Function %28 OpStore %l_1 %int_0 %438 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %438 OpStore %h_1 %int_9 %440 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %440 %441 = OpCompositeExtract %float %35 1 %442 = OpCompositeExtract %float %35 1 %443 = OpCompositeConstruct %v2float %441 %442 %444 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %444 OpStore %top %int_n1 %446 = OpLoad %int %p OpStore %p %int_0 OpStore %p %446 %447 = OpLoad %int %top %448 = OpCompositeExtract %float %35 0 %449 = OpCompositeExtract %float %35 0 %450 = OpCompositeConstruct %v2float %448 %449 %451 = OpLoad %int %p OpStore %p %int_0 OpStore %p %451 %452 = OpBitcast %int %uint_1 %453 = OpIAdd %int %447 %452 %454 = OpLoad %int %top OpStore %top %int_0 OpStore %top %454 %455 = OpCompositeExtract %float %443 1 %456 = OpCompositeExtract %float %450 1 %457 = OpCompositeConstruct %v2float %455 %456 %458 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %458 OpStore %top %453 %459 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %459 %460 = OpCompositeExtract %float %450 1 %461 = OpCompositeExtract %float %450 0 %462 = OpCompositeExtract %float %450 0 %463 = OpCompositeConstruct %v3float %460 %461 %462 %464 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %464 %465 = OpLoad %int %l_1 %466 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %466 %467 = OpCompositeExtract %float %463 1 %468 = OpCompositeExtract %float %463 0 %469 = OpCompositeExtract %float %450 0 %470 = OpCompositeConstruct %v3float %467 %468 %469 %472 = OpAccessChain %_ptr_Function_int %stack %453 %473 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %473 %474 = OpCompositeExtract %float %443 1 %475 = OpCompositeExtract %float %443 1 %476 = OpCompositeExtract %float %443 1 %477 = OpCompositeConstruct %v3float %474 %475 %476 %478 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %int_0 OpStore %472 %465 %480 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %480 %481 = OpLoad %int %top %482 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %482 %483 = OpCompositeExtract %float %35 2 %484 = OpCompositeExtract %float %457 1 %485 = OpCompositeExtract %float %35 1 %486 = OpCompositeConstruct %v3float %483 %484 %485 %488 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %488 %491 = OpIAdd %int %481 %int_1 %493 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %493 %496 = OpCompositeExtract %float %463 0 %497 = OpCompositeExtract %float %463 2 %498 = OpCompositeExtract %float %443 1 %499 = OpCompositeConstruct %v3float %496 %497 %498 OpStore %top %491 %500 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %500 %501 = OpLoad %int %h_1 %502 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %502 %503 = OpCompositeExtract %float %457 0 %504 = OpCompositeExtract %float %477 0 %505 = OpCompositeExtract %float %457 1 %506 = OpCompositeConstruct %v3float %503 %504 %505 %507 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %507 %509 = OpAccessChain %_ptr_Function_int %stack %491 %510 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %510 %511 = OpCompositeExtract %float %506 2 %512 = OpCompositeExtract %float %506 2 %513 = OpCompositeConstruct %v2float %511 %512 %514 = OpLoad %int %p OpStore %p %int_0 OpStore %p %514 OpStore %509 %501 OpBranch %516 %516 = OpLabel OpLoopMerge %517 %518 None OpBranch %519 %519 = OpLabel %520 = OpCompositeExtract %float %499 0 %521 = OpCompositeExtract %float %499 0 %522 = OpCompositeExtract %float %499 0 %523 = OpCompositeConstruct %v3float %520 %521 %522 %524 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %524 %525 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %525 %526 = OpLoad %int %top %527 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %527 %528 = OpCompositeExtract %float %457 0 %529 = OpCompositeExtract %float %506 2 %530 = OpCompositeConstruct %v2float %528 %529 %531 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %531 %532 = OpBitcast %int %uint_0 %533 = OpSGreaterThanEqual %bool %526 %532 OpSelectionMerge %534 None OpBranchConditional %533 %535 %536 %535 = OpLabel OpBranch %534 %536 = OpLabel OpBranch %517 %534 = OpLabel %537 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %537 %538 = OpCompositeExtract %float %463 1 %539 = OpCompositeExtract %float %463 0 %540 = OpCompositeExtract %float %499 1 %541 = OpCompositeConstruct %v3float %538 %539 %540 %542 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %542 %543 = OpLoad %int %top %544 = OpCompositeExtract %float %513 0 %545 = OpCompositeExtract %float %530 1 %546 = OpCompositeExtract %float %513 0 %547 = OpCompositeConstruct %v3float %544 %545 %546 %548 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %548 %549 = OpCompositeExtract %float %443 0 %550 = OpCompositeExtract %float %443 0 %551 = OpCompositeConstruct %v2float %549 %550 %552 = OpLoad %int %p OpStore %p %int_0 OpStore %p %552 %553 = OpBitcast %int %uint_1 %554 = OpISub %int %543 %553 OpStore %top %554 %555 = OpLoad %int %p OpStore %p %int_0 OpStore %p %555 %557 = OpAccessChain %_ptr_Function_int %stack %543 %559 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %559 %563 = OpLoad %int %557 %564 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %564 %565 = OpCompositeExtract %float %463 1 %566 = OpCompositeExtract %float %463 0 %567 = OpCompositeExtract %float %506 1 %568 = OpCompositeConstruct %v3float %565 %566 %567 %569 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %569 OpStore %h_1 %563 %570 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %570 %571 = OpCompositeExtract %float %486 1 %572 = OpCompositeExtract %float %477 1 %573 = OpCompositeConstruct %v2float %571 %572 %574 = OpLoad %int %p OpStore %p %int_0 OpStore %p %574 %575 = OpLoad %int %top %576 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %576 %578 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %578 %581 = OpCompositeExtract %float %35 1 %582 = OpCompositeExtract %float %35 2 %583 = OpCompositeConstruct %v2float %581 %582 %584 = OpISub %int %575 %int_1 OpStore %top %584 %585 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %585 %586 = OpCompositeExtract %float %551 1 %587 = OpCompositeExtract %float %513 0 %588 = OpCompositeExtract %float %551 1 %589 = OpCompositeConstruct %v3float %586 %587 %588 %590 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %590 %592 = OpAccessChain %_ptr_Function_int %stack %575 %593 = OpCompositeExtract %float %506 1 %594 = OpCompositeExtract %float %506 2 %595 = OpCompositeConstruct %v2float %593 %594 %597 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %597 %601 = OpLoad %int %592 %602 = OpLoad %int %p OpStore %p %int_0 OpStore %p %602 %603 = OpCompositeExtract %float %583 1 %604 = OpCompositeExtract %float %583 1 %605 = OpCompositeExtract %float %513 0 %606 = OpCompositeConstruct %v3float %603 %604 %605 %607 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %607 OpStore %l_1 %601 %608 = OpLoad %int %top OpStore %top %int_0 OpStore %top %608 %609 = OpLoad %int %l_1 OpStore %param_4 %609 %611 = OpLoad %int %557 OpStore %557 %int_0 OpStore %557 %611 %614 = OpCompositeExtract %float %547 1 %615 = OpCompositeExtract %float %547 2 %616 = OpCompositeConstruct %v2float %614 %615 %617 = OpLoad %int %h_1 %618 = OpCompositeExtract %float %457 0 %619 = OpCompositeExtract %float %35 1 %620 = OpCompositeConstruct %v2float %618 %619 OpStore %param_5 %617 %622 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %622 %625 = OpFunctionCall %int %performPartition_i1_i1_ %param_4 %param_5 %628 = OpCompositeExtract %float %530 0 %629 = OpCompositeExtract %float %541 0 %630 = OpCompositeConstruct %v2float %628 %629 %631 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %631 OpStore %p %625 %632 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %632 %633 = OpLoad %int %p %634 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %634 %635 = OpCompositeExtract %float %541 1 %636 = OpCompositeExtract %float %541 1 %637 = OpCompositeConstruct %v2float %635 %636 %638 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %638 %639 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %639 %640 = OpLoad %int %l_1 %642 = OpLoad %int %557 OpStore %557 %int_0 OpStore %557 %642 %645 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %645 %646 = OpCompositeExtract %float %530 1 %647 = OpCompositeExtract %float %583 0 %648 = OpCompositeConstruct %v2float %646 %647 %650 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %650 %653 = OpBitcast %int %uint_1 %654 = OpISub %int %633 %653 %655 = OpSGreaterThan %bool %654 %640 OpSelectionMerge %656 None OpBranchConditional %655 %657 %656 %657 = OpLabel %658 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %658 %659 = OpLoad %int %top %660 = OpCompositeExtract %float %568 1 %661 = OpCompositeExtract %float %443 1 %662 = OpCompositeConstruct %v2float %660 %661 %664 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %664 %667 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %667 %668 = OpCompositeExtract %float %547 2 %669 = OpCompositeExtract %float %547 1 %670 = OpCompositeConstruct %v2float %668 %669 %671 = OpCompositeExtract %float %637 1 %672 = OpCompositeExtract %float %616 0 %673 = OpCompositeExtract %float %616 0 %674 = OpCompositeConstruct %v3float %671 %672 %673 %675 = OpLoad %int %l_1 %677 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %677 %680 = OpCompositeExtract %float %506 0 %681 = OpCompositeExtract %float %674 0 %682 = OpCompositeConstruct %v2float %680 %681 %683 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %683 %685 = OpIAdd %int %int_1 %659 %686 = OpAccessChain %_ptr_Function_int %stack %685 %688 = OpLoad %int %557 OpStore %557 %int_0 OpStore %557 %688 %691 = OpCompositeExtract %float %523 1 %692 = OpCompositeExtract %float %523 1 %693 = OpCompositeExtract %float %499 0 %694 = OpCompositeConstruct %v3float %691 %692 %693 %695 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %695 OpStore %686 %675 %697 = OpLoad %int %top %699 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %699 %702 = OpCompositeExtract %float %595 1 %703 = OpCompositeExtract %float %595 0 %704 = OpCompositeConstruct %v2float %702 %703 %706 = OpLoad %int %686 OpStore %686 %int_0 OpStore %686 %706 %710 = OpBitcast %uint %697 %711 = OpIAdd %uint %uint_1 %710 %709 = OpBitcast %int %711 %713 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %713 %716 = OpCompositeExtract %float %606 2 %717 = OpCompositeExtract %float %704 1 %718 = OpCompositeExtract %float %606 2 %719 = OpCompositeConstruct %v3float %716 %717 %718 %720 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %720 OpStore %top %709 %721 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %721 %722 = OpLoad %int %p %723 = OpCompositeExtract %float %606 0 %724 = OpCompositeExtract %float %583 1 %725 = OpCompositeConstruct %v2float %723 %724 %727 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %727 %731 = OpAccessChain %_ptr_Function_int %stack %709 %733 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %733 %737 = OpBitcast %int %uint_1 %738 = OpISub %int %722 %737 OpStore %731 %738 %740 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %740 %743 = OpCompositeExtract %float %547 2 %744 = OpCompositeExtract %float %547 1 %745 = OpCompositeConstruct %v2float %743 %744 %747 = OpLoad %int %731 OpStore %731 %int_0 OpStore %731 %747 OpBranch %656 %656 = OpLabel %751 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %751 %754 = OpCompositeExtract %float %35 0 %755 = OpCompositeExtract %float %35 1 %756 = OpCompositeConstruct %v2float %754 %755 %757 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %757 %758 = OpLoad %int %p %760 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %760 %763 = OpCompositeExtract %float %568 2 %764 = OpCompositeExtract %float %443 0 %765 = OpCompositeExtract %float %443 1 %766 = OpCompositeConstruct %v3float %763 %764 %765 %767 = OpLoad %int %p OpStore %p %int_0 OpStore %p %767 %768 = OpCompositeExtract %float %499 2 %769 = OpCompositeExtract %float %499 0 %770 = OpCompositeExtract %float %595 0 %771 = OpCompositeConstruct %v3float %768 %769 %770 %773 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %773 %776 = OpLoad %int %h_1 %777 = OpLoad %int %top OpStore %top %int_0 OpStore %top %777 %778 = OpCompositeExtract %float %470 2 %779 = OpCompositeExtract %float %541 0 %780 = OpCompositeExtract %float %470 0 %781 = OpCompositeConstruct %v3float %778 %779 %780 %783 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %783 %786 = OpLoad %int %p OpStore %p %int_0 OpStore %p %786 %788 = OpBitcast %uint %758 %789 = OpIAdd %uint %uint_1 %788 %787 = OpBitcast %int %789 %790 = OpSLessThan %bool %787 %776 OpSelectionMerge %791 None OpBranchConditional %790 %792 %791 %792 = OpLabel %794 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %794 %797 = OpCompositeExtract %float %756 1 %798 = OpCompositeExtract %float %648 0 %799 = OpCompositeConstruct %v2float %797 %798 %800 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %800 %801 = OpLoad %int %top %803 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %803 %806 = OpCompositeExtract %float %486 1 %807 = OpCompositeExtract %float %470 1 %808 = OpCompositeExtract %float %470 1 %809 = OpCompositeConstruct %v3float %806 %807 %808 %810 = OpIAdd %int %801 %int_1 %811 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %811 OpStore %top %810 %813 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %813 %816 = OpLoad %int %p %817 = OpLoad %int %param_5 OpStore %param_5 %int_0 OpStore %param_5 %817 %818 = OpCompositeExtract %float %470 2 %819 = OpCompositeExtract %float %470 0 %820 = OpCompositeExtract %float %541 0 %821 = OpCompositeConstruct %v3float %818 %819 %820 %822 = OpLoad %int %p OpStore %p %int_0 OpStore %p %822 %823 = OpCompositeExtract %float %443 0 %824 = OpCompositeExtract %float %637 0 %825 = OpCompositeExtract %float %637 0 %826 = OpCompositeConstruct %v3float %823 %824 %825 %828 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %828 %832 = OpAccessChain %_ptr_Function_int %stack %810 %834 = OpLoad %int %557 OpStore %557 %int_0 OpStore %557 %834 %837 = OpCompositeExtract %float %499 0 %838 = OpCompositeExtract %float %499 1 %839 = OpCompositeConstruct %v2float %837 %838 %842 = OpBitcast %uint %816 %843 = OpIAdd %uint %uint_1 %842 %841 = OpBitcast %int %843 OpStore %832 %841 %844 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %844 %845 = OpLoad %int %top %847 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %847 %850 = OpCompositeExtract %float %513 1 %851 = OpCompositeExtract %float %821 1 %852 = OpCompositeConstruct %v2float %850 %851 %853 = OpLoad %_arr_int_uint_10 %stack OpStore %stack %103 OpStore %stack %853 %854 = OpBitcast %int %uint_1 %855 = OpIAdd %int %845 %854 %857 = OpLoad %int %832 OpStore %832 %int_0 OpStore %832 %857 OpStore %top %855 %860 = OpLoad %int %param_4 OpStore %param_4 %int_0 OpStore %param_4 %860 %861 = OpLoad %int %h_1 %863 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %863 %867 = OpLoad %int %472 OpStore %472 %int_0 OpStore %472 %867 %870 = OpAccessChain %_ptr_Function_int %stack %855 OpStore %870 %861 %872 = OpLoad %int %592 OpStore %592 %int_0 OpStore %592 %872 %875 = OpCompositeExtract %float %541 1 %876 = OpCompositeExtract %float %506 0 %877 = OpCompositeExtract %float %506 0 %878 = OpCompositeConstruct %v3float %875 %876 %877 %879 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %879 OpBranch %791 %791 = OpLabel %881 = OpLoad %int %509 OpStore %509 %int_0 OpStore %509 %881 OpBranch %518 %518 = OpLabel %884 = OpLoad %int %l_1 OpStore %l_1 %int_0 OpStore %l_1 %884 %885 = OpCompositeExtract %float %499 2 %886 = OpCompositeExtract %float %506 0 %887 = OpCompositeConstruct %v2float %885 %886 %888 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %888 OpBranch %516 %517 = OpLabel %889 = OpLoad %int %h_1 OpStore %h_1 %int_0 OpStore %h_1 %889 OpReturn OpFunctionEnd %main = OpFunction %void None %426 %891 = OpLabel %color = OpVariable %_ptr_Function_v3float Function %174 %i_2 = OpVariable %_ptr_Function_int Function %28 %uv = OpVariable %_ptr_Function_v2float Function %171 %895 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %895 OpStore %i_2 %int_0 %898 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %898 OpSelectionMerge %900 None OpBranchConditional %true %901 %900 %901 = OpLabel %902 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %902 %903 = OpCompositeExtract %float %35 0 %904 = OpCompositeExtract %float %35 0 %905 = OpCompositeConstruct %v2float %903 %904 %906 = OpLoad %int %i_2 %907 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %907 %908 = OpLoad %v3float %color OpStore %color %909 OpStore %color %908 %910 = OpCompositeExtract %float %905 1 %911 = OpCompositeExtract %float %905 1 %912 = OpCompositeConstruct %v2float %910 %911 %913 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %913 OpBranch %900 %900 = OpLabel %914 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %914 %915 = OpCompositeExtract %float %897 0 %916 = OpCompositeExtract %float %897 0 %917 = OpCompositeConstruct %v2float %915 %916 %918 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %918 %919 = OpFunctionCall %void %quicksort_ %920 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %920 %921 = OpLoad %v4float %gl_FragCoord %922 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %922 %923 = OpCompositeExtract %float %897 1 %924 = OpCompositeExtract %float %897 1 %925 = OpCompositeConstruct %v2float %923 %924 %926 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %926 %927 = OpCompositeExtract %float %921 0 %928 = OpCompositeExtract %float %921 1 %929 = OpCompositeConstruct %v2float %927 %928 %930 = OpCompositeExtract %float %929 1 %931 = OpCompositeExtract %float %917 1 %932 = OpCompositeExtract %float %917 1 %933 = OpCompositeConstruct %v3float %930 %931 %932 %934 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %934 %935 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %935 %937 = OpAccessChain %_ptr_Uniform_v2float %x_188 %uint_0 %938 = OpLoad %v2float %937 %939 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %939 %940 = OpCompositeExtract %float %921 1 %941 = OpCompositeExtract %float %35 2 %942 = OpCompositeExtract %float %921 3 %943 = OpCompositeConstruct %v3float %940 %941 %942 %944 = OpLoad %v3float %color OpStore %color %909 OpStore %color %944 %945 = OpFDiv %v2float %929 %938 %946 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %946 %947 = OpCompositeExtract %float %925 0 %948 = OpCompositeExtract %float %929 1 %949 = OpCompositeConstruct %v2float %947 %948 %950 = OpLoad %v3float %color OpStore %color %909 %951 = OpLoad %v3float %color OpStore %color %909 OpStore %color %951 OpStore %color %950 OpStore %uv %945 OpStore %color %35 %952 = OpLoad %v3float %color OpStore %color %909 OpStore %color %952 %953 = OpCompositeExtract %float %929 0 %954 = OpCompositeExtract %float %929 1 %955 = OpCompositeExtract %float %917 1 %956 = OpCompositeConstruct %v3float %953 %954 %955 %957 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %957 %959 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 %961 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %961 %965 = OpLoad %int %959 %966 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %966 %968 = OpAccessChain %_ptr_Function_float %color %uint_0 %970 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %970 %974 = OpLoad %float %968 %976 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %976 %979 = OpCompositeExtract %float %35 2 %980 = OpCompositeExtract %float %35 1 %981 = OpCompositeConstruct %v2float %979 %980 %982 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %982 %983 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %983 %985 = OpAccessChain %_ptr_Function_float %color %uint_0 %986 = OpCompositeExtract %float %956 0 %987 = OpCompositeExtract %float %949 0 %988 = OpCompositeExtract %float %949 1 %989 = OpCompositeConstruct %v3float %986 %987 %988 %991 = OpConvertSToF %float %965 %992 = OpFAdd %float %974 %991 OpStore %985 %992 %993 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %993 %995 = OpAccessChain %_ptr_Function_float %uv %uint_0 %996 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %996 %997 = OpCompositeExtract %float %921 1 %998 = OpCompositeExtract %float %921 1 %999 = OpCompositeConstruct %v2float %997 %998 %1001 = OpLoad %float %995 %1002 = OpCompositeExtract %float %945 1 %1003 = OpCompositeExtract %float %945 0 %1004 = OpCompositeConstruct %v2float %1002 %1003 %1006 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1006 %1009 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1009 %1011 = OpFOrdGreaterThan %bool %1001 %float_0_25 OpSelectionMerge %1012 None OpBranchConditional %1011 %1013 %1012 %1013 = OpLabel %1014 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1014 %1016 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1016 %1019 = OpCompositeExtract %float %897 1 %1020 = OpCompositeExtract %float %933 1 %1021 = OpCompositeExtract %float %933 1 %1022 = OpCompositeConstruct %v3float %1019 %1020 %1021 %1024 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1024 %1027 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_1 %1028 = OpLoad %int %1027 %1029 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1029 %1030 = OpCompositeExtract %float %999 0 %1031 = OpCompositeExtract %float %999 0 %1032 = OpCompositeConstruct %v2float %1030 %1031 %1033 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1033 %1035 = OpAccessChain %_ptr_Function_float %color %int_0 %1036 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1036 %1037 = OpCompositeExtract %float %35 2 %1038 = OpCompositeExtract %float %897 1 %1039 = OpCompositeConstruct %v2float %1037 %1038 %1040 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1040 %1042 = OpLoad %float %1035 %1044 = OpLoad %float %1035 OpStore %1035 %float_0 OpStore %1035 %1044 %1047 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1047 %1048 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1048 %1049 = OpCompositeExtract %float %999 1 %1050 = OpCompositeExtract %float %999 1 %1051 = OpCompositeExtract %float %925 1 %1052 = OpCompositeConstruct %v3float %1049 %1050 %1051 %1054 = OpLoad %float %1035 OpStore %1035 %float_0 OpStore %1035 %1054 %1057 = OpAccessChain %_ptr_Function_float %color %uint_0 %1058 = OpConvertSToF %float %1028 %1059 = OpFAdd %float %1058 %1042 OpStore %1057 %1059 %1061 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1061 OpBranch %1012 %1012 = OpLabel %1065 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1065 %1069 = OpAccessChain %_ptr_Function_float %uv %uint_0 %1071 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1071 %1075 = OpLoad %float %1069 %1077 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1077 %1080 = OpCompositeExtract %float %989 2 %1081 = OpCompositeExtract %float %989 1 %1082 = OpCompositeExtract %float %989 1 %1083 = OpCompositeConstruct %v3float %1080 %1081 %1082 %1084 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1084 %1086 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1086 %1089 = OpCompositeExtract %float %897 1 %1090 = OpCompositeExtract %float %897 1 %1091 = OpCompositeConstruct %v2float %1089 %1090 %1093 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1093 %1097 = OpFOrdGreaterThan %bool %1075 %float_0_5 OpSelectionMerge %1098 None OpBranchConditional %1097 %1099 %1098 %1099 = OpLabel %1101 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1101 %1104 = OpCompositeExtract %float %917 0 %1105 = OpCompositeExtract %float %917 0 %1106 = OpCompositeConstruct %v2float %1104 %1105 %1108 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1108 %1113 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 %1115 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1115 %1118 = OpCompositeExtract %float %989 0 %1119 = OpCompositeExtract %float %989 2 %1120 = OpCompositeExtract %float %1091 1 %1121 = OpCompositeConstruct %v3float %1118 %1119 %1120 %1123 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1123 %1127 = OpLoad %int %1113 %1129 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1129 %1133 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1133 %1137 = OpAccessChain %_ptr_Function_float %color %uint_1 %1139 = OpLoad %int %1113 OpStore %1113 %int_0 OpStore %1113 %1139 %1142 = OpCompositeExtract %float %949 1 %1143 = OpCompositeExtract %float %938 0 %1144 = OpCompositeConstruct %v2float %1142 %1143 %1146 = OpLoad %float %1137 OpStore %1137 %float_0 OpStore %1137 %1146 %1150 = OpLoad %float %1137 %1152 = OpLoad %int %1113 OpStore %1113 %int_0 OpStore %1113 %1152 %1155 = OpCompositeExtract %float %1121 0 %1156 = OpCompositeExtract %float %929 0 %1157 = OpCompositeConstruct %v2float %1155 %1156 %1159 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1159 %1162 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1162 %1163 = OpCompositeExtract %float %1004 1 %1164 = OpCompositeExtract %float %897 1 %1165 = OpCompositeConstruct %v2float %1163 %1164 %1166 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1166 %1167 = OpAccessChain %_ptr_Function_float %color %uint_1 %1168 = OpConvertSToF %float %1127 %1169 = OpFAdd %float %1168 %1150 OpStore %1167 %1169 %1171 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1171 OpBranch %1098 %1098 = OpLabel %1175 = OpAccessChain %_ptr_Function_float %uv %int_0 %1176 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1176 %1177 = OpCompositeExtract %float %938 0 %1178 = OpCompositeExtract %float %938 0 %1179 = OpCompositeConstruct %v2float %1177 %1178 %1181 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1181 %1185 = OpLoad %float %1175 %1186 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1186 %1188 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1188 %1192 = OpFOrdGreaterThan %bool %1185 %float_0_75 OpSelectionMerge %1193 None OpBranchConditional %1192 %1194 %1193 %1194 = OpLabel %1196 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1196 %1200 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_3 %1201 = OpLoad %int %1200 %1203 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1203 %1206 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1206 %1207 = OpCompositeExtract %float %1179 0 %1208 = OpCompositeExtract %float %1179 0 %1209 = OpCompositeExtract %float %1179 0 %1210 = OpCompositeConstruct %v3float %1207 %1208 %1209 %1212 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1212 %1216 = OpAccessChain %_ptr_Function_float %color %uint_2 %1218 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1218 %1222 = OpLoad %float %1216 %1223 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1223 %1224 = OpCompositeExtract %float %1179 0 %1225 = OpCompositeExtract %float %938 1 %1226 = OpCompositeExtract %float %1179 1 %1227 = OpCompositeConstruct %v3float %1224 %1225 %1226 %1229 = OpLoad %float %1216 OpStore %1216 %float_0 OpStore %1216 %1229 %1233 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1233 %1236 = OpCompositeExtract %float %897 0 %1237 = OpCompositeExtract %float %897 1 %1238 = OpCompositeConstruct %v2float %1236 %1237 %1240 = OpLoad %float %1216 OpStore %1216 %float_0 OpStore %1216 %1240 %1243 = OpAccessChain %_ptr_Function_float %color %uint_2 %1244 = OpConvertSToF %float %1201 %1245 = OpFAdd %float %1222 %1244 OpStore %1243 %1245 %1246 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1246 %1247 = OpCompositeExtract %float %1238 1 %1248 = OpCompositeExtract %float %1238 1 %1249 = OpCompositeConstruct %v2float %1247 %1248 OpBranch %1193 %1193 = OpLabel %1251 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1251 %1254 = OpCompositeExtract %float %999 0 %1255 = OpCompositeExtract %float %999 1 %1256 = OpCompositeExtract %float %999 1 %1257 = OpCompositeConstruct %v3float %1254 %1255 %1256 %1260 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 %1262 = OpLoad %int %1260 %1264 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1264 %1267 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1267 %1268 = OpCompositeExtract %float %917 1 %1269 = OpCompositeExtract %float %989 0 %1270 = OpCompositeExtract %float %989 0 %1271 = OpCompositeConstruct %v3float %1268 %1269 %1270 %1273 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1273 %1277 = OpAccessChain %_ptr_Function_float %color %uint_1 %1278 = OpCompositeExtract %float %938 0 %1279 = OpCompositeExtract %float %921 2 %1280 = OpCompositeConstruct %v2float %1278 %1279 %1282 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1282 %1286 = OpLoad %float %1277 %1288 = OpLoad %float %1277 OpStore %1277 %float_0 OpStore %1277 %1288 %1291 = OpCompositeExtract %float %1179 0 %1292 = OpCompositeExtract %float %949 0 %1293 = OpCompositeConstruct %v2float %1291 %1292 %1295 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1295 %1299 = OpAccessChain %_ptr_Function_float %color %uint_1 %1301 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1301 %1304 = OpCompositeExtract %float %956 2 %1305 = OpCompositeExtract %float %1083 1 %1306 = OpCompositeConstruct %v2float %1304 %1305 %1308 = OpConvertSToF %float %1262 %1309 = OpFAdd %float %1286 %1308 OpStore %1299 %1309 %1310 = OpCompositeExtract %float %897 0 %1311 = OpCompositeExtract %float %1257 0 %1312 = OpCompositeExtract %float %897 1 %1313 = OpCompositeConstruct %v3float %1310 %1311 %1312 %1315 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1315 %1319 = OpAccessChain %_ptr_Function_float %uv %uint_1 %1321 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1321 %1324 = OpCompositeExtract %float %1257 0 %1325 = OpCompositeExtract %float %1257 1 %1326 = OpCompositeConstruct %v2float %1324 %1325 %1328 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1328 %1332 = OpLoad %float %1319 %1333 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1333 %1334 = OpCompositeExtract %float %897 1 %1335 = OpCompositeExtract %float %999 1 %1336 = OpCompositeExtract %float %897 0 %1337 = OpCompositeConstruct %v3float %1334 %1335 %1336 %1339 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1339 %1343 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1343 %1346 = OpCompositeExtract %float %917 0 %1347 = OpCompositeExtract %float %917 0 %1348 = OpCompositeExtract %float %897 1 %1349 = OpCompositeConstruct %v3float %1346 %1347 %1348 %1351 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1351 %1354 = OpFOrdGreaterThan %bool %1332 %float_0_25 OpSelectionMerge %1355 None OpBranchConditional %1354 %1356 %1355 %1356 = OpLabel %1357 = OpCompositeExtract %float %925 0 %1358 = OpCompositeExtract %float %1349 2 %1359 = OpCompositeConstruct %v2float %1357 %1358 %1360 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1360 %1362 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_5 %1363 = OpLoad %int %1362 %1365 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1365 %1368 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1368 %1369 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1369 %1370 = OpAccessChain %_ptr_Function_float %color %uint_0 %1371 = OpLoad %float %1370 %1373 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1373 %1376 = OpCompositeExtract %float %1004 0 %1377 = OpCompositeExtract %float %1293 1 %1378 = OpCompositeExtract %float %1004 1 %1379 = OpCompositeConstruct %v3float %1376 %1377 %1378 %1380 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1380 %1382 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1382 %1385 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1385 %1386 = OpCompositeExtract %float %921 3 %1387 = OpCompositeExtract %float %921 3 %1388 = OpCompositeExtract %float %945 0 %1389 = OpCompositeConstruct %v3float %1386 %1387 %1388 %1391 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1391 %1394 = OpAccessChain %_ptr_Function_float %color %uint_0 %1395 = OpConvertSToF %float %1363 %1396 = OpFAdd %float %1395 %1371 OpStore %1394 %1396 %1397 = OpCompositeExtract %float %999 1 %1398 = OpCompositeExtract %float %949 0 %1399 = OpCompositeExtract %float %999 1 %1400 = OpCompositeConstruct %v3float %1397 %1398 %1399 %1402 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1402 OpBranch %1355 %1355 = OpLabel %1406 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1406 %1409 = OpCompositeExtract %float %1179 0 %1410 = OpCompositeExtract %float %949 1 %1411 = OpCompositeExtract %float %949 0 %1412 = OpCompositeConstruct %v3float %1409 %1410 %1411 %1414 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1414 %1418 = OpAccessChain %_ptr_Function_float %uv %uint_1 %1420 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1420 %1424 = OpLoad %float %1418 %1426 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1426 %1429 = OpFOrdGreaterThan %bool %1424 %float_0_5 OpSelectionMerge %1430 None OpBranchConditional %1429 %1431 %1430 %1431 = OpLabel %1433 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1433 %1436 = OpCompositeExtract %float %1349 1 %1437 = OpCompositeExtract %float %1004 1 %1438 = OpCompositeConstruct %v2float %1436 %1437 %1441 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_6 %1443 = OpLoad %float %1277 OpStore %1277 %float_0 OpStore %1277 %1443 %1446 = OpCompositeExtract %float %943 2 %1447 = OpCompositeExtract %float %943 1 %1448 = OpCompositeConstruct %v2float %1446 %1447 %1450 = OpLoad %float %1418 OpStore %1418 %float_0 OpStore %1418 %1450 %1454 = OpLoad %int %1441 %1456 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1456 %1459 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1459 %1461 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1461 %1464 = OpCompositeExtract %float %1271 2 %1465 = OpCompositeExtract %float %1271 1 %1466 = OpCompositeConstruct %v2float %1464 %1465 %1467 = OpAccessChain %_ptr_Function_float %color %uint_1 %1468 = OpLoad %float %1467 %1469 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1469 %1471 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1471 %1474 = OpCompositeExtract %float %1293 1 %1475 = OpCompositeExtract %float %1293 0 %1476 = OpCompositeConstruct %v2float %1474 %1475 %1478 = OpLoad %int %1441 OpStore %1441 %int_0 OpStore %1441 %1478 %1482 = OpLoad %int %1441 OpStore %1441 %int_0 OpStore %1441 %1482 %1485 = OpCompositeExtract %float %1349 2 %1486 = OpCompositeExtract %float %1349 2 %1487 = OpCompositeConstruct %v2float %1485 %1486 %1488 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1488 %1489 = OpAccessChain %_ptr_Function_float %color %uint_1 %1490 = OpConvertSToF %float %1454 %1491 = OpFAdd %float %1490 %1468 OpStore %1489 %1491 %1493 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1493 %1496 = OpCompositeExtract %float %35 1 %1497 = OpCompositeExtract %float %999 0 %1498 = OpCompositeConstruct %v2float %1496 %1497 %1500 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1500 OpBranch %1430 %1430 = OpLabel %1503 = OpCompositeExtract %float %1004 1 %1504 = OpCompositeExtract %float %1004 1 %1505 = OpCompositeConstruct %v2float %1503 %1504 %1507 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1507 %1511 = OpAccessChain %_ptr_Function_float %uv %uint_1 %1513 = OpLoad %float %1511 %1514 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1514 %1515 = OpCompositeExtract %float %1293 0 %1516 = OpCompositeExtract %float %1293 1 %1517 = OpCompositeConstruct %v2float %1515 %1516 %1519 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1519 %1523 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1523 %1526 = OpCompositeExtract %float %938 0 %1527 = OpCompositeExtract %float %938 1 %1528 = OpCompositeExtract %float %938 1 %1529 = OpCompositeConstruct %v3float %1526 %1527 %1528 %1531 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1531 %1534 = OpFOrdGreaterThan %bool %1513 %float_0_75 OpSelectionMerge %1535 None OpBranchConditional %1534 %1536 %1535 %1536 = OpLabel %1537 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1537 %1539 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1539 %1542 = OpCompositeExtract %float %945 1 %1543 = OpCompositeExtract %float %945 0 %1544 = OpCompositeExtract %float %945 1 %1545 = OpCompositeConstruct %v3float %1542 %1543 %1544 %1546 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1546 %1548 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_7 %1549 = OpLoad %int %1548 %1551 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1551 %1554 = OpCompositeExtract %float %1293 0 %1555 = OpCompositeExtract %float %1179 1 %1556 = OpCompositeExtract %float %1179 0 %1557 = OpCompositeConstruct %v3float %1554 %1555 %1556 %1559 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1559 %1562 = OpCompositeExtract %float %1313 0 %1563 = OpCompositeExtract %float %1091 1 %1564 = OpCompositeConstruct %v2float %1562 %1563 %1566 = OpLoad %int %959 OpStore %959 %int_0 OpStore %959 %1566 %1570 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1570 %1573 = OpCompositeExtract %float %1326 0 %1574 = OpCompositeExtract %float %1326 1 %1575 = OpCompositeExtract %float %1326 0 %1576 = OpCompositeConstruct %v3float %1573 %1574 %1575 %1578 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1578 %1581 = OpAccessChain %_ptr_Function_float %color %uint_2 %1582 = OpLoad %float %1581 %1584 = OpLoad %float %1418 OpStore %1418 %float_0 OpStore %1418 %1584 %1587 = OpCompositeExtract %float %921 0 %1588 = OpCompositeExtract %float %921 1 %1589 = OpCompositeConstruct %v2float %1587 %1588 %1591 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1591 %1595 = OpLoad %float %1511 OpStore %1511 %float_0 OpStore %1511 %1595 %1599 = OpAccessChain %_ptr_Function_float %color %uint_2 %1601 = OpLoad %float %1418 OpStore %1418 %float_0 OpStore %1418 %1601 %1604 = OpCompositeExtract %float %1589 1 %1605 = OpCompositeExtract %float %1589 1 %1606 = OpCompositeExtract %float %1529 2 %1607 = OpCompositeConstruct %v3float %1604 %1605 %1606 %1609 = OpLoad %float %1599 OpStore %1599 %float_0 OpStore %1599 %1609 %1613 = OpConvertSToF %float %1549 %1614 = OpFAdd %float %1613 %1582 OpStore %1599 %1614 %1616 = OpLoad %float %1277 OpStore %1277 %float_0 OpStore %1277 %1616 %1619 = OpCompositeExtract %float %989 0 %1620 = OpCompositeExtract %float %989 2 %1621 = OpCompositeConstruct %v2float %1619 %1620 %1623 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1623 OpBranch %1535 %1535 = OpLabel %1626 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1626 %1627 = OpCompositeExtract %float %956 1 %1628 = OpCompositeExtract %float %945 1 %1629 = OpCompositeConstruct %v2float %1627 %1628 %1630 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1630 %1633 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_8 %1635 = OpLoad %int %1633 %1636 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1636 %1637 = OpCompositeExtract %float %929 0 %1638 = OpCompositeExtract %float %956 2 %1639 = OpCompositeConstruct %v2float %1637 %1638 %1641 = OpLoad %int %1633 OpStore %1633 %int_0 OpStore %1633 %1641 %1645 = OpLoad %float %1277 OpStore %1277 %float_0 OpStore %1277 %1645 %1648 = OpCompositeExtract %float %989 1 %1649 = OpCompositeExtract %float %897 0 %1650 = OpCompositeConstruct %v2float %1648 %1649 %1652 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1652 %1656 = OpAccessChain %_ptr_Function_float %color %uint_2 %1657 = OpCompositeExtract %float %1650 0 %1658 = OpCompositeExtract %float %1650 1 %1659 = OpCompositeExtract %float %1650 0 %1660 = OpCompositeConstruct %v3float %1657 %1658 %1659 %1662 = OpLoad %float %1656 OpStore %1656 %float_0 OpStore %1656 %1662 %1666 = OpLoad %float %1656 %1668 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1668 %1671 = OpCompositeExtract %float %1517 0 %1672 = OpCompositeExtract %float %1505 0 %1673 = OpCompositeConstruct %v2float %1671 %1672 %1675 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1675 %1679 = OpLoad %float %1511 OpStore %1511 %float_0 OpStore %1511 %1679 %1682 = OpCompositeExtract %float %1091 0 %1683 = OpCompositeExtract %float %925 0 %1684 = OpCompositeConstruct %v2float %1682 %1683 %1686 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1686 %1690 = OpAccessChain %_ptr_Function_float %color %uint_2 %1692 = OpConvertSToF %float %1635 %1693 = OpFAdd %float %1666 %1692 OpStore %1690 %1693 %1694 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1694 %1696 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1696 %1699 = OpCompositeExtract %float %1091 1 %1700 = OpCompositeExtract %float %1091 0 %1701 = OpCompositeExtract %float %1673 1 %1702 = OpCompositeConstruct %v3float %1699 %1700 %1701 %1704 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1704 %1707 = OpAccessChain %_ptr_Function_float %uv %uint_0 %1708 = OpLoad %float %1707 %1710 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1710 %1714 = OpAccessChain %_ptr_Function_float %uv %uint_1 %1715 = OpCompositeExtract %float %1639 1 %1716 = OpCompositeExtract %float %1639 0 %1717 = OpCompositeExtract %float %933 2 %1718 = OpCompositeConstruct %v3float %1715 %1716 %1717 %1720 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1720 %1724 = OpLoad %float %1714 %1726 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1726 %1730 = OpLoad %float %1690 OpStore %1690 %float_0 OpStore %1690 %1730 %1733 = OpCompositeExtract %float %35 1 %1734 = OpCompositeExtract %float %1412 1 %1735 = OpCompositeExtract %float %1412 2 %1736 = OpCompositeConstruct %v3float %1733 %1734 %1735 %1738 = OpLoad %float %1690 OpStore %1690 %float_0 OpStore %1690 %1738 %1741 = OpLoad %int %i_2 OpStore %i_2 %int_0 OpStore %i_2 %1741 %1742 = OpCompositeExtract %float %1412 2 %1743 = OpCompositeExtract %float %1412 1 %1744 = OpCompositeConstruct %v2float %1742 %1743 %1745 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1745 %1747 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1747 %1750 = OpCompositeExtract %float %1004 1 %1751 = OpCompositeExtract %float %1004 1 %1752 = OpCompositeExtract %float %1004 1 %1753 = OpCompositeConstruct %v3float %1750 %1751 %1752 %1755 = OpLoad %int %1260 OpStore %1260 %int_0 OpStore %1260 %1755 %1760 = OpFSub %float %1708 %1724 %1758 = OpExtInst %float %1759 FAbs %1760 %1761 = OpFOrdLessThan %bool %1758 %float_0_25 OpSelectionMerge %1762 None OpBranchConditional %1761 %1763 %1762 %1763 = OpLabel %1765 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1765 %1768 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1768 %1769 = OpCompositeExtract %float %1660 2 %1770 = OpCompositeExtract %float %1660 0 %1771 = OpCompositeExtract %float %933 0 %1772 = OpCompositeConstruct %v3float %1769 %1770 %1771 %1774 = OpLoad %int %1633 OpStore %1633 %int_0 OpStore %1633 %1774 %1778 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_9 %1779 = OpLoad %int %1778 %1780 = OpCompositeExtract %float %1280 1 %1781 = OpCompositeExtract %float %1280 1 %1782 = OpCompositeExtract %float %1280 1 %1783 = OpCompositeConstruct %v3float %1780 %1781 %1782 %1785 = OpLoad %float %1319 OpStore %1319 %float_0 OpStore %1319 %1785 %1788 = OpAccessChain %_ptr_Function_float %color %uint_0 %1789 = OpLoad %float %1788 %1791 = OpLoad %float %1511 OpStore %1511 %float_0 OpStore %1511 %1791 %1794 = OpCompositeExtract %float %1629 0 %1795 = OpCompositeExtract %float %1629 1 %1796 = OpCompositeConstruct %v2float %1794 %1795 %1798 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1798 %1801 = OpLoad %v3float %color OpStore %color %909 OpStore %color %1801 %1802 = OpCompositeExtract %float %981 0 %1803 = OpCompositeExtract %float %981 0 %1804 = OpCompositeConstruct %v2float %1802 %1803 %1805 = OpLoad %v2float %uv OpStore %uv %897 OpStore %uv %1805 %1807 = OpAccessChain %_ptr_Function_float %color %uint_0 %1809 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1809 %1812 = OpCompositeExtract %float %897 0 %1813 = OpCompositeExtract %float %897 0 %1814 = OpCompositeExtract %float %897 1 %1815 = OpCompositeConstruct %v3float %1812 %1813 %1814 %1817 = OpConvertSToF %float %1779 %1818 = OpFAdd %float %1817 %1789 OpStore %1807 %1818 %1820 = OpLoad %float %1807 OpStore %1807 %float_0 OpStore %1807 %1820 %1823 = OpCompositeExtract %float %1349 1 %1824 = OpCompositeExtract %float %1702 0 %1825 = OpCompositeExtract %float %1349 0 %1826 = OpCompositeConstruct %v3float %1823 %1824 %1825 %1828 = OpLoad %float %968 OpStore %968 %float_0 OpStore %968 %1828 OpBranch %1762 %1762 = OpLabel %1832 = OpLoad %float %1714 OpStore %1714 %float_0 OpStore %1714 %1832 %1835 = OpLoad %v3float %color %1837 = OpLoad %float %1175 OpStore %1175 %float_0 OpStore %1175 %1837 %1840 = OpCompositeExtract %float %925 0 %1841 = OpCompositeExtract %float %917 0 %1842 = OpCompositeExtract %float %917 1 %1843 = OpCompositeConstruct %v3float %1840 %1841 %1842 %1844 = OpExtInst %v3float %1759 Normalize %1835 %1846 = OpLoad %float %995 OpStore %995 %float_0 OpStore %995 %1846 %1849 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1849 %1850 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1850 %1852 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1852 %1855 = OpCompositeExtract %float %1673 1 %1856 = OpCompositeExtract %float %1843 1 %1857 = OpCompositeConstruct %v2float %1855 %1856 %1859 = OpLoad %float %1299 OpStore %1299 %float_0 OpStore %1299 %1859 %1862 = OpCompositeExtract %float %1844 0 %1863 = OpCompositeExtract %float %1844 1 %1864 = OpCompositeExtract %float %1844 2 %1865 = OpCompositeConstruct %v4float %1862 %1863 %1864 %float_1 %1867 = OpLoad %float %1714 OpStore %1714 %float_0 OpStore %1714 %1867 %1870 = OpCompositeExtract %float %35 1 %1871 = OpCompositeExtract %float %35 1 %1872 = OpCompositeExtract %float %1857 1 %1873 = OpCompositeConstruct %v3float %1870 %1871 %1872 %1875 = OpLoad %float %1069 OpStore %1069 %float_0 OpStore %1069 %1875 OpStore %x_GLF_color %1865 %1878 = OpLoad %QuicksortObject %obj OpStore %obj %104 OpStore %obj %1878 %1879 = OpCompositeExtract %float %1865 3 %1880 = OpCompositeExtract %float %1865 1 %1881 = OpCompositeExtract %float %1517 0 %1882 = OpCompositeConstruct %v3float %1879 %1880 %1881 %1884 = OpLoad %float %985 OpStore %985 %float_0 OpStore %985 %1884 OpReturn OpFunctionEnd