| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 1833 |
| ; Schema: 0 |
| OpCapability Shader |
| %1694 = OpExtInstImport "GLSL.std.450" |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %gl_FragCoord_param_1 %x_GLF_color_1_1 |
| OpExecutionMode %main OriginUpperLeft |
| OpName %gl_FragCoord_param_1 "gl_FragCoord_param_1" |
| OpName %x_GLF_color_1_1 "x_GLF_color_1_1" |
| 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_1 "main_1" |
| OpName %color "color" |
| OpName %i_2 "i_2" |
| OpName %uv "uv" |
| OpName %main_out "main_out" |
| OpMemberName %main_out 0 "x_GLF_color_1" |
| OpName %main_inner "main_inner" |
| OpName %gl_FragCoord_param "gl_FragCoord_param" |
| OpName %main "main" |
| OpDecorate %gl_FragCoord_param_1 BuiltIn FragCoord |
| OpDecorate %x_GLF_color_1_1 Location 0 |
| OpMemberDecorate %QuicksortObject 0 Offset 0 |
| OpDecorate %_arr_int_uint_10 ArrayStride 4 |
| OpDecorate %buf0 Block |
| OpMemberDecorate %buf0 0 Offset 0 |
| OpDecorate %x_188 NonWritable |
| OpDecorate %x_188 DescriptorSet 0 |
| OpDecorate %x_188 Binding 0 |
| OpMemberDecorate %main_out 0 Offset 0 |
| %float = OpTypeFloat 32 |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Input_v4float = OpTypePointer Input %v4float |
| %gl_FragCoord_param_1 = OpVariable %_ptr_Input_v4float Input |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %7 = OpConstantNull %v4float |
| %x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %7 |
| %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 |
| %15 = OpConstantNull %QuicksortObject |
| %obj = OpVariable %_ptr_Private_QuicksortObject Private %15 |
| %_ptr_Private_v4float = OpTypePointer Private %v4float |
| %gl_FragCoord = OpVariable %_ptr_Private_v4float Private %7 |
| %v2float = OpTypeVector %float 2 |
| %buf0 = OpTypeStruct %v2float |
| %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 |
| %x_188 = OpVariable %_ptr_Uniform_buf0 Uniform |
| %x_GLF_color = OpVariable %_ptr_Private_v4float Private %7 |
| %void = OpTypeVoid |
| %_ptr_Function_int = OpTypePointer Function %int |
| %23 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_int |
| %31 = 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 |
| %38 = OpConstantComposite %v3float %float_1 %float_2 %float_3 |
| %uint_0 = OpConstant %uint 0 |
| %_ptr_Private_int = OpTypePointer Private %int |
| %102 = 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 |
| %103 = OpConstantComposite %QuicksortObject %102 |
| %154 = OpTypeFunction %int %_ptr_Function_int %_ptr_Function_int |
| %_ptr_Function_v2float = OpTypePointer Function %v2float |
| %168 = OpConstantNull %v2float |
| %_ptr_Function_v3float = OpTypePointer Function %v3float |
| %171 = 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 |
| %419 = OpTypeFunction %void |
| %_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10 |
| %429 = OpConstantNull %_arr_int_uint_10 |
| %int_9 = OpConstant %int 9 |
| %int_n1 = OpConstant %int -1 |
| %float_0 = OpConstant %float 0 |
| %876 = OpConstantComposite %v2float %float_0 %float_0 |
| %true = OpConstantTrue %bool |
| %888 = 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 |
| %main_out = OpTypeStruct %v4float |
| %1820 = OpTypeFunction %main_out %v4float |
| %swap_i1_i1_ = OpFunction %void None %23 |
| %i = OpFunctionParameter %_ptr_Function_int |
| %j = OpFunctionParameter %_ptr_Function_int |
| %29 = OpLabel |
| %temp = OpVariable %_ptr_Function_int Function %31 |
| %32 = OpLoad %int %temp |
| OpStore %temp %int_0 |
| OpStore %temp %32 |
| %39 = OpCompositeExtract %float %38 2 |
| %40 = OpCompositeExtract %float %38 1 |
| %41 = OpCompositeExtract %float %38 2 |
| %42 = OpCompositeConstruct %v3float %39 %40 %41 |
| %44 = OpLoad %int %i |
| OpStore %i %int_0 |
| OpStore %i %44 |
| %48 = OpLoad %int %i |
| %50 = OpLoad %int %j |
| OpStore %j %int_0 |
| OpStore %j %50 |
| %53 = OpCompositeExtract %float %42 1 |
| %54 = OpCompositeExtract %float %42 0 |
| %55 = OpCompositeExtract %float %42 1 |
| %56 = OpCompositeConstruct %v3float %53 %54 %55 |
| %57 = OpLoad %int %temp |
| OpStore %temp %int_0 |
| OpStore %temp %57 |
| %60 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| %61 = OpLoad %int %60 |
| %62 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %62 %int_0 |
| %63 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %63 %61 |
| %64 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| %65 = OpLoad %int %64 |
| %66 = OpLoad %int %temp |
| OpStore %temp %int_0 |
| OpStore %temp %66 |
| OpStore %temp %65 |
| %68 = OpLoad %int %j |
| OpStore %j %int_0 |
| OpStore %j %68 |
| %71 = OpCompositeExtract %float %42 2 |
| %72 = OpCompositeExtract %float %38 0 |
| %73 = OpCompositeExtract %float %42 1 |
| %74 = OpCompositeConstruct %v3float %71 %72 %73 |
| %76 = OpLoad %int %i |
| OpStore %i %int_0 |
| OpStore %i %76 |
| %80 = OpLoad %int %i |
| %81 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| %82 = OpLoad %int %81 |
| %83 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %83 %int_0 |
| %84 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %84 %82 |
| %86 = OpLoad %int %j |
| %88 = OpLoad %int %i |
| OpStore %i %int_0 |
| OpStore %i %88 |
| %91 = OpCompositeExtract %float %74 0 |
| %92 = OpCompositeExtract %float %74 2 |
| %93 = OpCompositeExtract %float %74 2 |
| %94 = OpCompositeConstruct %v3float %91 %92 %93 |
| %95 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| %96 = OpLoad %int %95 |
| %97 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %97 %int_0 |
| %98 = OpAccessChain %_ptr_Private_int %obj %uint_0 %48 |
| OpStore %98 %96 |
| %99 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| %100 = OpLoad %int %99 |
| %101 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %101 |
| %104 = OpCompositeExtract %float %94 0 |
| %105 = OpCompositeExtract %float %94 0 |
| %106 = OpCompositeConstruct %v2float %104 %105 |
| %107 = OpCompositeExtract %float %56 0 |
| %108 = OpCompositeExtract %float %56 2 |
| %109 = OpCompositeExtract %float %56 0 |
| %110 = OpCompositeConstruct %v3float %107 %108 %109 |
| %111 = OpAccessChain %_ptr_Private_int %obj %uint_0 %80 |
| OpStore %111 %100 |
| %112 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %112 |
| %113 = OpCompositeExtract %float %94 1 |
| %114 = OpCompositeExtract %float %94 2 |
| %115 = OpCompositeExtract %float %94 0 |
| %116 = OpCompositeConstruct %v3float %113 %114 %115 |
| %118 = OpLoad %int %i |
| OpStore %i %int_0 |
| OpStore %i %118 |
| %122 = OpLoad %int %j |
| %123 = OpLoad %int %temp |
| OpStore %temp %int_0 |
| OpStore %temp %123 |
| %124 = OpCompositeExtract %float %116 2 |
| %125 = OpCompositeExtract %float %116 1 |
| %126 = OpCompositeConstruct %v2float %124 %125 |
| %127 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| %128 = OpLoad %int %127 |
| %129 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| OpStore %129 %int_0 |
| %130 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| OpStore %130 %128 |
| %131 = OpLoad %int %temp |
| %133 = OpLoad %int %j |
| OpStore %j %int_0 |
| OpStore %j %133 |
| %136 = OpCompositeExtract %float %106 0 |
| %137 = OpCompositeExtract %float %94 1 |
| %138 = OpCompositeExtract %float %94 0 |
| %139 = OpCompositeConstruct %v3float %136 %137 %138 |
| %140 = OpAccessChain %_ptr_Private_int %obj %uint_0 %80 |
| %141 = OpLoad %int %140 |
| %142 = OpAccessChain %_ptr_Private_int %obj %uint_0 %80 |
| OpStore %142 %int_0 |
| %143 = OpAccessChain %_ptr_Private_int %obj %uint_0 %80 |
| OpStore %143 %141 |
| %144 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %144 |
| %145 = OpCompositeExtract %float %110 0 |
| %146 = OpCompositeExtract %float %110 1 |
| %147 = OpCompositeExtract %float %110 0 |
| %148 = OpCompositeConstruct %v3float %145 %146 %147 |
| %149 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| %150 = OpLoad %int %149 |
| %151 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| OpStore %151 %int_0 |
| %152 = OpAccessChain %_ptr_Private_int %obj %uint_0 %86 |
| OpStore %152 %150 |
| %153 = OpAccessChain %_ptr_Private_int %obj %uint_0 %122 |
| OpStore %153 %131 |
| OpReturn |
| OpFunctionEnd |
| %performPartition_i1_i1_ = OpFunction %int None %154 |
| %l = OpFunctionParameter %_ptr_Function_int |
| %h = OpFunctionParameter %_ptr_Function_int |
| %158 = OpLabel |
| %param_3 = OpVariable %_ptr_Function_int Function %31 |
| %i_1 = OpVariable %_ptr_Function_int Function %31 |
| %j_1 = OpVariable %_ptr_Function_int Function %31 |
| %param_2 = OpVariable %_ptr_Function_int Function %31 |
| %param_1 = OpVariable %_ptr_Function_int Function %31 |
| %param = OpVariable %_ptr_Function_int Function %31 |
| %pivot = OpVariable %_ptr_Function_int Function %31 |
| %x_537 = OpVariable %_ptr_Function_v2float Function %168 |
| %x_538 = OpVariable %_ptr_Function_v3float Function %171 |
| %173 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %173 |
| %177 = OpLoad %int %h |
| %179 = OpLoad %int %l |
| OpStore %l %int_0 |
| OpStore %l %179 |
| %182 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| %183 = OpLoad %int %182 |
| %184 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %184 %int_0 |
| %185 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %185 %183 |
| %186 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| %187 = OpLoad %int %186 |
| %188 = OpLoad %int %param_3 |
| OpStore %param_3 %int_0 |
| OpStore %param_3 %188 |
| %189 = OpCompositeExtract %float %38 2 |
| %190 = OpCompositeExtract %float %38 0 |
| %191 = OpCompositeExtract %float %38 2 |
| %192 = OpCompositeConstruct %v3float %189 %190 %191 |
| %193 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %193 |
| OpStore %pivot %187 |
| %195 = OpLoad %int %l |
| %197 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %197 |
| %200 = OpLoad %int %j_1 |
| OpStore %j_1 %int_0 |
| OpStore %j_1 %200 |
| %201 = OpCompositeExtract %float %192 1 |
| %202 = OpCompositeExtract %float %192 2 |
| %203 = OpCompositeExtract %float %192 1 |
| %204 = OpCompositeConstruct %v3float %201 %202 %203 |
| %206 = OpLoad %int %l |
| OpStore %l %int_0 |
| OpStore %l %206 |
| %209 = OpBitcast %int %uint_1 |
| %211 = OpISub %int %195 %209 |
| OpStore %i_1 %211 |
| %213 = OpLoad %int %l |
| %214 = OpCompositeExtract %float %192 0 |
| %215 = OpCompositeExtract %float %192 2 |
| %216 = OpCompositeExtract %float %204 0 |
| %217 = OpCompositeConstruct %v3float %214 %215 %216 |
| OpStore %j_1 %int_10 |
| %219 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %219 |
| OpBranch %220 |
| %220 = OpLabel |
| OpLoopMerge %221 %222 None |
| OpBranch %223 |
| %223 = OpLabel |
| %224 = OpLoad %int %pivot |
| OpStore %pivot %int_0 |
| OpStore %pivot %224 |
| %225 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %225 |
| %226 = OpLoad %int %j_1 |
| %227 = OpLoad %int %pivot |
| OpStore %pivot %int_0 |
| OpStore %pivot %227 |
| %228 = OpCompositeExtract %float %38 1 |
| %229 = OpCompositeExtract %float %38 2 |
| %230 = OpCompositeConstruct %v2float %228 %229 |
| OpStore %x_537 %230 |
| %231 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %231 |
| %233 = OpLoad %int %h |
| %235 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %235 |
| %238 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %238 |
| %239 = OpLoad %int %j_1 |
| OpStore %j_1 %int_0 |
| OpStore %j_1 %239 |
| %240 = OpCompositeExtract %float %192 0 |
| %242 = OpAccessChain %_ptr_Function_float %x_537 %uint_1 |
| %243 = OpLoad %float %242 |
| %244 = OpCompositeExtract %float %192 2 |
| %245 = OpCompositeConstruct %v3float %240 %243 %244 |
| OpStore %x_538 %245 |
| %246 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %246 |
| %247 = OpBitcast %int %uint_1 |
| %248 = OpISub %int %233 %247 |
| %249 = OpSLessThanEqual %bool %226 %248 |
| OpSelectionMerge %251 None |
| OpBranchConditional %249 %252 %253 |
| %252 = OpLabel |
| OpBranch %251 |
| %253 = OpLabel |
| OpBranch %221 |
| %251 = OpLabel |
| %254 = OpLoad %int %j_1 |
| %255 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| %256 = OpLoad %int %255 |
| %257 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %257 %int_0 |
| %258 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %258 %256 |
| %260 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %260 |
| %263 = OpAccessChain %_ptr_Function_float %x_537 %uint_0 |
| %264 = OpLoad %float %263 |
| %265 = OpCompositeExtract %float %204 2 |
| %266 = OpAccessChain %_ptr_Function_float %x_537 %uint_0 |
| %267 = OpLoad %float %266 |
| %268 = OpCompositeConstruct %v3float %264 %265 %267 |
| %269 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %269 |
| %270 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| %271 = OpLoad %int %270 |
| %272 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %272 |
| %273 = OpLoad %int %pivot |
| %274 = OpCompositeExtract %float %38 1 |
| %275 = OpCompositeExtract %float %192 2 |
| %276 = OpCompositeConstruct %v2float %274 %275 |
| %277 = OpLoad %int %i_1 |
| OpStore %i_1 %int_0 |
| OpStore %i_1 %277 |
| %279 = OpLoad %int %l |
| OpStore %l %int_0 |
| OpStore %l %279 |
| %282 = OpCompositeExtract %float %192 1 |
| %283 = OpCompositeExtract %float %192 0 |
| %284 = OpCompositeExtract %float %192 1 |
| %285 = OpCompositeConstruct %v3float %282 %283 %284 |
| %286 = OpLoad %int %pivot |
| OpStore %pivot %int_0 |
| OpStore %pivot %286 |
| %287 = OpSLessThanEqual %bool %271 %273 |
| OpSelectionMerge %288 None |
| OpBranchConditional %287 %289 %288 |
| %289 = OpLabel |
| %290 = OpCompositeExtract %float %285 2 |
| %291 = OpCompositeExtract %float %285 0 |
| %292 = OpCompositeExtract %float %285 0 |
| %293 = OpCompositeConstruct %v3float %290 %291 %292 |
| %294 = OpLoad %int %param_3 |
| OpStore %param_3 %int_0 |
| OpStore %param_3 %294 |
| %295 = OpLoad %int %i_1 |
| %296 = OpLoad %int %pivot |
| OpStore %pivot %int_0 |
| OpStore %pivot %296 |
| %297 = OpCompositeExtract %float %268 0 |
| %298 = OpCompositeExtract %float %285 1 |
| %299 = OpCompositeConstruct %v2float %297 %298 |
| %300 = OpLoad %int %i_1 |
| OpStore %i_1 %int_0 |
| OpStore %i_1 %300 |
| %301 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %301 |
| %302 = OpBitcast %int %uint_1 |
| %303 = OpIAdd %int %295 %302 |
| OpStore %i_1 %303 |
| %305 = OpLoad %int %l |
| OpStore %l %int_0 |
| OpStore %l %305 |
| %308 = OpCompositeExtract %float %38 2 |
| %309 = OpCompositeExtract %float %38 1 |
| %310 = OpCompositeExtract %float %276 0 |
| %311 = OpCompositeConstruct %v3float %308 %309 %310 |
| %312 = OpLoad %int %i_1 |
| %313 = OpAccessChain %_ptr_Function_float %x_537 %uint_1 |
| %314 = OpLoad %float %313 |
| %315 = OpAccessChain %_ptr_Function_float %x_538 %uint_0 |
| %316 = OpLoad %float %315 |
| %317 = OpCompositeConstruct %v2float %314 %316 |
| %318 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %318 |
| OpStore %param %312 |
| %319 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %319 |
| %320 = OpCompositeExtract %float %317 0 |
| %321 = OpCompositeExtract %float %317 0 |
| %322 = OpCompositeConstruct %v2float %320 %321 |
| %323 = OpLoad %int %i_1 |
| OpStore %i_1 %int_0 |
| OpStore %i_1 %323 |
| %324 = OpLoad %int %j_1 |
| OpStore %param_1 %324 |
| %325 = OpLoad %int %param_3 |
| OpStore %param_3 %int_0 |
| OpStore %param_3 %325 |
| %326 = OpFunctionCall %void %swap_i1_i1_ %param %param_1 |
| %329 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %329 |
| OpBranch %288 |
| %288 = OpLabel |
| %330 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %330 |
| OpBranch %222 |
| %222 = OpLabel |
| %332 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %332 |
| %335 = OpLoad %int %j_1 |
| %337 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %337 |
| %340 = OpCompositeExtract %float %268 0 |
| %341 = OpCompositeExtract %float %285 2 |
| %342 = OpCompositeExtract %float %285 2 |
| %343 = OpCompositeConstruct %v3float %340 %341 %342 |
| %344 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| %345 = OpLoad %int %344 |
| %346 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| OpStore %346 %int_0 |
| %347 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| OpStore %347 %345 |
| %348 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %348 |
| %350 = OpIAdd %int %int_1 %335 |
| OpStore %j_1 %350 |
| %351 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %351 |
| %352 = OpCompositeExtract %float %285 1 |
| %353 = OpCompositeExtract %float %285 2 |
| %354 = OpCompositeExtract %float %285 0 |
| %355 = OpCompositeConstruct %v3float %352 %353 %354 |
| %356 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| %357 = OpLoad %int %356 |
| %358 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| OpStore %358 %int_0 |
| %359 = OpAccessChain %_ptr_Private_int %obj %uint_0 %254 |
| OpStore %359 %357 |
| OpBranch %220 |
| %221 = OpLabel |
| %360 = OpLoad %int %i_1 |
| %361 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| %362 = OpLoad %int %361 |
| %363 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %363 %int_0 |
| %364 = OpAccessChain %_ptr_Private_int %obj %uint_0 %177 |
| OpStore %364 %362 |
| %365 = OpCompositeExtract %float %192 0 |
| %366 = OpCompositeExtract %float %192 1 |
| %367 = OpCompositeConstruct %v2float %365 %366 |
| %368 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %368 |
| %370 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %370 |
| %373 = OpIAdd %int %int_1 %360 |
| OpStore %i_1 %373 |
| %374 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %374 |
| %375 = OpLoad %int %i_1 |
| %376 = OpLoad %int %j_1 |
| OpStore %j_1 %int_0 |
| OpStore %j_1 %376 |
| %377 = OpCompositeExtract %float %192 0 |
| %378 = OpCompositeExtract %float %192 0 |
| %379 = OpCompositeConstruct %v2float %377 %378 |
| %380 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %380 |
| OpStore %param_2 %375 |
| %381 = OpCompositeExtract %float %192 1 |
| %382 = OpCompositeExtract %float %217 0 |
| %383 = OpCompositeConstruct %v2float %381 %382 |
| %384 = OpLoad %int %pivot |
| OpStore %pivot %int_0 |
| OpStore %pivot %384 |
| %386 = OpLoad %int %h |
| %387 = OpCompositeExtract %float %379 0 |
| %388 = OpCompositeExtract %float %367 1 |
| %389 = OpCompositeConstruct %v2float %387 %388 |
| %391 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %391 |
| OpStore %param_3 %386 |
| %394 = OpLoad %int %i_1 |
| OpStore %i_1 %int_0 |
| OpStore %i_1 %394 |
| %395 = OpCompositeExtract %float %367 1 |
| %396 = OpCompositeExtract %float %389 0 |
| %397 = OpCompositeConstruct %v2float %395 %396 |
| %399 = OpLoad %int %h |
| OpStore %h %int_0 |
| OpStore %h %399 |
| %402 = OpFunctionCall %void %swap_i1_i1_ %param_2 %param_3 |
| %406 = OpLoad %int %l |
| OpStore %l %int_0 |
| OpStore %l %406 |
| %409 = OpCompositeExtract %float %217 2 |
| %410 = OpCompositeExtract %float %38 1 |
| %411 = OpCompositeConstruct %v2float %409 %410 |
| %412 = OpLoad %int %param_1 |
| OpStore %param_1 %int_0 |
| OpStore %param_1 %412 |
| %413 = OpLoad %int %i_1 |
| %414 = OpLoad %int %param |
| OpStore %param %int_0 |
| OpStore %param %414 |
| %415 = OpCompositeExtract %float %192 1 |
| %416 = OpCompositeExtract %float %192 0 |
| %417 = OpCompositeConstruct %v2float %415 %416 |
| %418 = OpLoad %int %j_1 |
| OpStore %j_1 %int_0 |
| OpStore %j_1 %418 |
| OpReturnValue %413 |
| OpFunctionEnd |
| %quicksort_ = OpFunction %void None %419 |
| %421 = OpLabel |
| %param_4 = OpVariable %_ptr_Function_int Function %31 |
| %h_1 = OpVariable %_ptr_Function_int Function %31 |
| %p = OpVariable %_ptr_Function_int Function %31 |
| %l_1 = OpVariable %_ptr_Function_int Function %31 |
| %top = OpVariable %_ptr_Function_int Function %31 |
| %stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %429 |
| %param_5 = OpVariable %_ptr_Function_int Function %31 |
| OpStore %l_1 %int_0 |
| %431 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %431 |
| OpStore %h_1 %int_9 |
| %433 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %433 |
| %434 = OpCompositeExtract %float %38 1 |
| %435 = OpCompositeExtract %float %38 1 |
| %436 = OpCompositeConstruct %v2float %434 %435 |
| %437 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %437 |
| OpStore %top %int_n1 |
| %439 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %439 |
| %440 = OpLoad %int %top |
| %441 = OpCompositeExtract %float %38 0 |
| %442 = OpCompositeExtract %float %38 0 |
| %443 = OpCompositeConstruct %v2float %441 %442 |
| %444 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %444 |
| %445 = OpBitcast %int %uint_1 |
| %446 = OpIAdd %int %440 %445 |
| %447 = OpLoad %int %top |
| OpStore %top %int_0 |
| OpStore %top %447 |
| %448 = OpCompositeExtract %float %436 1 |
| %449 = OpCompositeExtract %float %443 1 |
| %450 = OpCompositeConstruct %v2float %448 %449 |
| %451 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %451 |
| OpStore %top %446 |
| %452 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %452 |
| %453 = OpCompositeExtract %float %443 1 |
| %454 = OpCompositeExtract %float %443 0 |
| %455 = OpCompositeExtract %float %443 0 |
| %456 = OpCompositeConstruct %v3float %453 %454 %455 |
| %457 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %457 |
| %458 = OpLoad %int %l_1 |
| %459 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %459 |
| %460 = OpCompositeExtract %float %456 1 |
| %461 = OpCompositeExtract %float %456 0 |
| %462 = OpCompositeExtract %float %443 0 |
| %463 = OpCompositeConstruct %v3float %460 %461 %462 |
| %464 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %464 |
| %465 = OpCompositeExtract %float %436 1 |
| %466 = OpCompositeExtract %float %436 1 |
| %467 = OpCompositeExtract %float %436 1 |
| %468 = OpCompositeConstruct %v3float %465 %466 %467 |
| %469 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %int_0 |
| %470 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %470 %458 |
| %471 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %471 |
| %472 = OpLoad %int %top |
| %473 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %473 |
| %474 = OpCompositeExtract %float %38 2 |
| %475 = OpCompositeExtract %float %450 1 |
| %476 = OpCompositeExtract %float %38 1 |
| %477 = OpCompositeConstruct %v3float %474 %475 %476 |
| %478 = OpAccessChain %_ptr_Function_int %stack %446 |
| %479 = OpLoad %int %478 |
| %480 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %480 %int_0 |
| %481 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %481 %479 |
| %482 = OpIAdd %int %472 %int_1 |
| %483 = OpAccessChain %_ptr_Function_int %stack %446 |
| %484 = OpLoad %int %483 |
| %485 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %485 %int_0 |
| %486 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %486 %484 |
| %487 = OpCompositeExtract %float %456 0 |
| %488 = OpCompositeExtract %float %456 2 |
| %489 = OpCompositeExtract %float %436 1 |
| %490 = OpCompositeConstruct %v3float %487 %488 %489 |
| OpStore %top %482 |
| %491 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %491 |
| %492 = OpLoad %int %h_1 |
| %493 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %493 |
| %494 = OpCompositeExtract %float %450 0 |
| %495 = OpCompositeExtract %float %468 0 |
| %496 = OpCompositeExtract %float %450 1 |
| %497 = OpCompositeConstruct %v3float %494 %495 %496 |
| %498 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %498 |
| %499 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %499 |
| %500 = OpCompositeExtract %float %497 2 |
| %501 = OpCompositeExtract %float %497 2 |
| %502 = OpCompositeConstruct %v2float %500 %501 |
| %503 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %503 |
| %504 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %504 %492 |
| OpBranch %505 |
| %505 = OpLabel |
| OpLoopMerge %506 %507 None |
| OpBranch %508 |
| %508 = OpLabel |
| %509 = OpCompositeExtract %float %490 0 |
| %510 = OpCompositeExtract %float %490 0 |
| %511 = OpCompositeExtract %float %490 0 |
| %512 = OpCompositeConstruct %v3float %509 %510 %511 |
| %513 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %513 |
| %514 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %514 |
| %515 = OpLoad %int %top |
| %516 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %516 |
| %517 = OpCompositeExtract %float %450 0 |
| %518 = OpCompositeExtract %float %497 2 |
| %519 = OpCompositeConstruct %v2float %517 %518 |
| %520 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %520 |
| %521 = OpBitcast %int %uint_0 |
| %522 = OpSGreaterThanEqual %bool %515 %521 |
| OpSelectionMerge %523 None |
| OpBranchConditional %522 %524 %525 |
| %524 = OpLabel |
| OpBranch %523 |
| %525 = OpLabel |
| OpBranch %506 |
| %523 = OpLabel |
| %526 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %526 |
| %527 = OpCompositeExtract %float %456 1 |
| %528 = OpCompositeExtract %float %456 0 |
| %529 = OpCompositeExtract %float %490 1 |
| %530 = OpCompositeConstruct %v3float %527 %528 %529 |
| %531 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %531 |
| %532 = OpLoad %int %top |
| %533 = OpCompositeExtract %float %502 0 |
| %534 = OpCompositeExtract %float %519 1 |
| %535 = OpCompositeExtract %float %502 0 |
| %536 = OpCompositeConstruct %v3float %533 %534 %535 |
| %537 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %537 |
| %538 = OpCompositeExtract %float %436 0 |
| %539 = OpCompositeExtract %float %436 0 |
| %540 = OpCompositeConstruct %v2float %538 %539 |
| %541 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %541 |
| %542 = OpBitcast %int %uint_1 |
| %543 = OpISub %int %532 %542 |
| OpStore %top %543 |
| %544 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %544 |
| %545 = OpAccessChain %_ptr_Function_int %stack %446 |
| %546 = OpLoad %int %545 |
| %547 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %547 %int_0 |
| %548 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %548 %546 |
| %549 = OpAccessChain %_ptr_Function_int %stack %532 |
| %550 = OpLoad %int %549 |
| %551 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %551 |
| %552 = OpCompositeExtract %float %456 1 |
| %553 = OpCompositeExtract %float %456 0 |
| %554 = OpCompositeExtract %float %497 1 |
| %555 = OpCompositeConstruct %v3float %552 %553 %554 |
| %556 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %556 |
| OpStore %h_1 %550 |
| %557 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %557 |
| %558 = OpCompositeExtract %float %477 1 |
| %559 = OpCompositeExtract %float %468 1 |
| %560 = OpCompositeConstruct %v2float %558 %559 |
| %561 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %561 |
| %562 = OpLoad %int %top |
| %563 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %563 |
| %564 = OpAccessChain %_ptr_Function_int %stack %482 |
| %565 = OpLoad %int %564 |
| %566 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %566 %int_0 |
| %567 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %567 %565 |
| %568 = OpCompositeExtract %float %38 1 |
| %569 = OpCompositeExtract %float %38 2 |
| %570 = OpCompositeConstruct %v2float %568 %569 |
| %571 = OpISub %int %562 %int_1 |
| OpStore %top %571 |
| %572 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %572 |
| %573 = OpCompositeExtract %float %540 1 |
| %574 = OpCompositeExtract %float %502 0 |
| %575 = OpCompositeExtract %float %540 1 |
| %576 = OpCompositeConstruct %v3float %573 %574 %575 |
| %577 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %577 |
| %578 = OpCompositeExtract %float %497 1 |
| %579 = OpCompositeExtract %float %497 2 |
| %580 = OpCompositeConstruct %v2float %578 %579 |
| %581 = OpAccessChain %_ptr_Function_int %stack %482 |
| %582 = OpLoad %int %581 |
| %583 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %583 %int_0 |
| %584 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %584 %582 |
| %585 = OpAccessChain %_ptr_Function_int %stack %562 |
| %586 = OpLoad %int %585 |
| %587 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %587 |
| %588 = OpCompositeExtract %float %570 1 |
| %589 = OpCompositeExtract %float %570 1 |
| %590 = OpCompositeExtract %float %502 0 |
| %591 = OpCompositeConstruct %v3float %588 %589 %590 |
| %592 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %592 |
| OpStore %l_1 %586 |
| %593 = OpLoad %int %top |
| OpStore %top %int_0 |
| OpStore %top %593 |
| %594 = OpLoad %int %l_1 |
| OpStore %param_4 %594 |
| %595 = OpAccessChain %_ptr_Function_int %stack %532 |
| %596 = OpLoad %int %595 |
| %597 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %597 %int_0 |
| %598 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %598 %596 |
| %599 = OpCompositeExtract %float %536 1 |
| %600 = OpCompositeExtract %float %536 2 |
| %601 = OpCompositeConstruct %v2float %599 %600 |
| %602 = OpLoad %int %h_1 |
| %603 = OpCompositeExtract %float %450 0 |
| %604 = OpCompositeExtract %float %38 1 |
| %605 = OpCompositeConstruct %v2float %603 %604 |
| OpStore %param_5 %602 |
| %606 = OpAccessChain %_ptr_Function_int %stack %482 |
| %607 = OpLoad %int %606 |
| %608 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %608 %int_0 |
| %609 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %609 %607 |
| %610 = OpFunctionCall %int %performPartition_i1_i1_ %param_4 %param_5 |
| %613 = OpCompositeExtract %float %519 0 |
| %614 = OpCompositeExtract %float %530 0 |
| %615 = OpCompositeConstruct %v2float %613 %614 |
| %616 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %616 |
| OpStore %p %610 |
| %617 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %617 |
| %618 = OpLoad %int %p |
| %619 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %619 |
| %620 = OpCompositeExtract %float %530 1 |
| %621 = OpCompositeExtract %float %530 1 |
| %622 = OpCompositeConstruct %v2float %620 %621 |
| %623 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %623 |
| %624 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %624 |
| %625 = OpLoad %int %l_1 |
| %626 = OpAccessChain %_ptr_Function_int %stack %532 |
| %627 = OpLoad %int %626 |
| %628 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %628 %int_0 |
| %629 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %629 %627 |
| %630 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %630 |
| %631 = OpCompositeExtract %float %519 1 |
| %632 = OpCompositeExtract %float %570 0 |
| %633 = OpCompositeConstruct %v2float %631 %632 |
| %634 = OpAccessChain %_ptr_Function_int %stack %482 |
| %635 = OpLoad %int %634 |
| %636 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %636 %int_0 |
| %637 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %637 %635 |
| %638 = OpBitcast %int %uint_1 |
| %639 = OpISub %int %618 %638 |
| %640 = OpSGreaterThan %bool %639 %625 |
| OpSelectionMerge %641 None |
| OpBranchConditional %640 %642 %641 |
| %642 = OpLabel |
| %643 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %643 |
| %644 = OpLoad %int %top |
| %645 = OpCompositeExtract %float %555 1 |
| %646 = OpCompositeExtract %float %436 1 |
| %647 = OpCompositeConstruct %v2float %645 %646 |
| %648 = OpAccessChain %_ptr_Function_int %stack %482 |
| %649 = OpLoad %int %648 |
| %650 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %650 %int_0 |
| %651 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %651 %649 |
| %652 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %652 |
| %653 = OpCompositeExtract %float %536 2 |
| %654 = OpCompositeExtract %float %536 1 |
| %655 = OpCompositeConstruct %v2float %653 %654 |
| %656 = OpCompositeExtract %float %622 1 |
| %657 = OpCompositeExtract %float %601 0 |
| %658 = OpCompositeExtract %float %601 0 |
| %659 = OpCompositeConstruct %v3float %656 %657 %658 |
| %660 = OpLoad %int %l_1 |
| %661 = OpAccessChain %_ptr_Function_int %stack %562 |
| %662 = OpLoad %int %661 |
| %663 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %663 %int_0 |
| %664 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %664 %662 |
| %665 = OpCompositeExtract %float %497 0 |
| %666 = OpCompositeExtract %float %659 0 |
| %667 = OpCompositeConstruct %v2float %665 %666 |
| %668 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %668 |
| %669 = OpIAdd %int %int_1 %644 |
| %670 = OpAccessChain %_ptr_Function_int %stack %532 |
| %671 = OpLoad %int %670 |
| %672 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %672 %int_0 |
| %673 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %673 %671 |
| %674 = OpCompositeExtract %float %512 1 |
| %675 = OpCompositeExtract %float %512 1 |
| %676 = OpCompositeExtract %float %490 0 |
| %677 = OpCompositeConstruct %v3float %674 %675 %676 |
| %678 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %678 |
| %679 = OpAccessChain %_ptr_Function_int %stack %669 |
| OpStore %679 %660 |
| %680 = OpLoad %int %top |
| %681 = OpAccessChain %_ptr_Function_int %stack %482 |
| %682 = OpLoad %int %681 |
| %683 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %683 %int_0 |
| %684 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %684 %682 |
| %685 = OpCompositeExtract %float %580 1 |
| %686 = OpCompositeExtract %float %580 0 |
| %687 = OpCompositeConstruct %v2float %685 %686 |
| %688 = OpAccessChain %_ptr_Function_int %stack %669 |
| %689 = OpLoad %int %688 |
| %690 = OpAccessChain %_ptr_Function_int %stack %669 |
| OpStore %690 %int_0 |
| %691 = OpAccessChain %_ptr_Function_int %stack %669 |
| OpStore %691 %689 |
| %693 = OpBitcast %uint %680 |
| %694 = OpIAdd %uint %uint_1 %693 |
| %692 = OpBitcast %int %694 |
| %695 = OpAccessChain %_ptr_Function_int %stack %482 |
| %696 = OpLoad %int %695 |
| %697 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %697 %int_0 |
| %698 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %698 %696 |
| %699 = OpCompositeExtract %float %591 2 |
| %700 = OpCompositeExtract %float %687 1 |
| %701 = OpCompositeExtract %float %591 2 |
| %702 = OpCompositeConstruct %v3float %699 %700 %701 |
| %703 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %703 |
| OpStore %top %692 |
| %704 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %704 |
| %705 = OpLoad %int %p |
| %706 = OpCompositeExtract %float %591 0 |
| %707 = OpCompositeExtract %float %570 1 |
| %708 = OpCompositeConstruct %v2float %706 %707 |
| %709 = OpAccessChain %_ptr_Function_int %stack %562 |
| %710 = OpLoad %int %709 |
| %711 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %711 %int_0 |
| %712 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %712 %710 |
| %713 = OpAccessChain %_ptr_Function_int %stack %562 |
| %714 = OpLoad %int %713 |
| %715 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %715 %int_0 |
| %716 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %716 %714 |
| %717 = OpAccessChain %_ptr_Function_int %stack %692 |
| %718 = OpBitcast %int %uint_1 |
| %719 = OpISub %int %705 %718 |
| OpStore %717 %719 |
| %720 = OpAccessChain %_ptr_Function_int %stack %446 |
| %721 = OpLoad %int %720 |
| %722 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %722 %int_0 |
| %723 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %723 %721 |
| %724 = OpCompositeExtract %float %536 2 |
| %725 = OpCompositeExtract %float %536 1 |
| %726 = OpCompositeConstruct %v2float %724 %725 |
| %727 = OpAccessChain %_ptr_Function_int %stack %692 |
| %728 = OpLoad %int %727 |
| %729 = OpAccessChain %_ptr_Function_int %stack %692 |
| OpStore %729 %int_0 |
| %730 = OpAccessChain %_ptr_Function_int %stack %692 |
| OpStore %730 %728 |
| OpBranch %641 |
| %641 = OpLabel |
| %731 = OpAccessChain %_ptr_Function_int %stack %446 |
| %732 = OpLoad %int %731 |
| %733 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %733 %int_0 |
| %734 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %734 %732 |
| %735 = OpCompositeExtract %float %38 0 |
| %736 = OpCompositeExtract %float %38 1 |
| %737 = OpCompositeConstruct %v2float %735 %736 |
| %738 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %738 |
| %739 = OpLoad %int %p |
| %740 = OpAccessChain %_ptr_Function_int %stack %562 |
| %741 = OpLoad %int %740 |
| %742 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %742 %int_0 |
| %743 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %743 %741 |
| %744 = OpCompositeExtract %float %555 2 |
| %745 = OpCompositeExtract %float %436 0 |
| %746 = OpCompositeExtract %float %436 1 |
| %747 = OpCompositeConstruct %v3float %744 %745 %746 |
| %748 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %748 |
| %749 = OpCompositeExtract %float %490 2 |
| %750 = OpCompositeExtract %float %490 0 |
| %751 = OpCompositeExtract %float %580 0 |
| %752 = OpCompositeConstruct %v3float %749 %750 %751 |
| %753 = OpAccessChain %_ptr_Function_int %stack %562 |
| %754 = OpLoad %int %753 |
| %755 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %755 %int_0 |
| %756 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %756 %754 |
| %757 = OpLoad %int %h_1 |
| %758 = OpLoad %int %top |
| OpStore %top %int_0 |
| OpStore %top %758 |
| %759 = OpCompositeExtract %float %463 2 |
| %760 = OpCompositeExtract %float %530 0 |
| %761 = OpCompositeExtract %float %463 0 |
| %762 = OpCompositeConstruct %v3float %759 %760 %761 |
| %763 = OpAccessChain %_ptr_Function_int %stack %482 |
| %764 = OpLoad %int %763 |
| %765 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %765 %int_0 |
| %766 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %766 %764 |
| %767 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %767 |
| %769 = OpBitcast %uint %739 |
| %770 = OpIAdd %uint %uint_1 %769 |
| %768 = OpBitcast %int %770 |
| %771 = OpSLessThan %bool %768 %757 |
| OpSelectionMerge %772 None |
| OpBranchConditional %771 %773 %772 |
| %773 = OpLabel |
| %774 = OpAccessChain %_ptr_Function_int %stack %562 |
| %775 = OpLoad %int %774 |
| %776 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %776 %int_0 |
| %777 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %777 %775 |
| %778 = OpCompositeExtract %float %737 1 |
| %779 = OpCompositeExtract %float %633 0 |
| %780 = OpCompositeConstruct %v2float %778 %779 |
| %781 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %781 |
| %782 = OpLoad %int %top |
| %783 = OpAccessChain %_ptr_Function_int %stack %562 |
| %784 = OpLoad %int %783 |
| %785 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %785 %int_0 |
| %786 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %786 %784 |
| %787 = OpCompositeExtract %float %477 1 |
| %788 = OpCompositeExtract %float %463 1 |
| %789 = OpCompositeExtract %float %463 1 |
| %790 = OpCompositeConstruct %v3float %787 %788 %789 |
| %791 = OpIAdd %int %782 %int_1 |
| %792 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %792 |
| OpStore %top %791 |
| %793 = OpAccessChain %_ptr_Function_int %stack %562 |
| %794 = OpLoad %int %793 |
| %795 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %795 %int_0 |
| %796 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %796 %794 |
| %797 = OpLoad %int %p |
| %798 = OpLoad %int %param_5 |
| OpStore %param_5 %int_0 |
| OpStore %param_5 %798 |
| %799 = OpCompositeExtract %float %463 2 |
| %800 = OpCompositeExtract %float %463 0 |
| %801 = OpCompositeExtract %float %530 0 |
| %802 = OpCompositeConstruct %v3float %799 %800 %801 |
| %803 = OpLoad %int %p |
| OpStore %p %int_0 |
| OpStore %p %803 |
| %804 = OpCompositeExtract %float %436 0 |
| %805 = OpCompositeExtract %float %622 0 |
| %806 = OpCompositeExtract %float %622 0 |
| %807 = OpCompositeConstruct %v3float %804 %805 %806 |
| %808 = OpAccessChain %_ptr_Function_int %stack %482 |
| %809 = OpLoad %int %808 |
| %810 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %810 %int_0 |
| %811 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %811 %809 |
| %812 = OpAccessChain %_ptr_Function_int %stack %532 |
| %813 = OpLoad %int %812 |
| %814 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %814 %int_0 |
| %815 = OpAccessChain %_ptr_Function_int %stack %532 |
| OpStore %815 %813 |
| %816 = OpCompositeExtract %float %490 0 |
| %817 = OpCompositeExtract %float %490 1 |
| %818 = OpCompositeConstruct %v2float %816 %817 |
| %819 = OpAccessChain %_ptr_Function_int %stack %791 |
| %821 = OpBitcast %uint %797 |
| %822 = OpIAdd %uint %uint_1 %821 |
| %820 = OpBitcast %int %822 |
| OpStore %819 %820 |
| %823 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %823 |
| %824 = OpLoad %int %top |
| %825 = OpAccessChain %_ptr_Function_int %stack %562 |
| %826 = OpLoad %int %825 |
| %827 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %827 %int_0 |
| %828 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %828 %826 |
| %829 = OpCompositeExtract %float %502 1 |
| %830 = OpCompositeExtract %float %802 1 |
| %831 = OpCompositeConstruct %v2float %829 %830 |
| %832 = OpLoad %_arr_int_uint_10 %stack |
| OpStore %stack %102 |
| OpStore %stack %832 |
| %833 = OpBitcast %int %uint_1 |
| %834 = OpIAdd %int %824 %833 |
| %835 = OpAccessChain %_ptr_Function_int %stack %791 |
| %836 = OpLoad %int %835 |
| %837 = OpAccessChain %_ptr_Function_int %stack %791 |
| OpStore %837 %int_0 |
| %838 = OpAccessChain %_ptr_Function_int %stack %791 |
| OpStore %838 %836 |
| OpStore %top %834 |
| %839 = OpLoad %int %param_4 |
| OpStore %param_4 %int_0 |
| OpStore %param_4 %839 |
| %840 = OpLoad %int %h_1 |
| %841 = OpAccessChain %_ptr_Function_int %stack %482 |
| %842 = OpLoad %int %841 |
| %843 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %843 %int_0 |
| %844 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %844 %842 |
| %845 = OpAccessChain %_ptr_Function_int %stack %446 |
| %846 = OpLoad %int %845 |
| %847 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %847 %int_0 |
| %848 = OpAccessChain %_ptr_Function_int %stack %446 |
| OpStore %848 %846 |
| %849 = OpAccessChain %_ptr_Function_int %stack %834 |
| OpStore %849 %840 |
| %850 = OpAccessChain %_ptr_Function_int %stack %562 |
| %851 = OpLoad %int %850 |
| %852 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %852 %int_0 |
| %853 = OpAccessChain %_ptr_Function_int %stack %562 |
| OpStore %853 %851 |
| %854 = OpCompositeExtract %float %530 1 |
| %855 = OpCompositeExtract %float %497 0 |
| %856 = OpCompositeExtract %float %497 0 |
| %857 = OpCompositeConstruct %v3float %854 %855 %856 |
| %858 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %858 |
| OpBranch %772 |
| %772 = OpLabel |
| %859 = OpAccessChain %_ptr_Function_int %stack %482 |
| %860 = OpLoad %int %859 |
| %861 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %861 %int_0 |
| %862 = OpAccessChain %_ptr_Function_int %stack %482 |
| OpStore %862 %860 |
| OpBranch %507 |
| %507 = OpLabel |
| %863 = OpLoad %int %l_1 |
| OpStore %l_1 %int_0 |
| OpStore %l_1 %863 |
| %864 = OpCompositeExtract %float %490 2 |
| %865 = OpCompositeExtract %float %497 0 |
| %866 = OpCompositeConstruct %v2float %864 %865 |
| %867 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %867 |
| OpBranch %505 |
| %506 = OpLabel |
| %868 = OpLoad %int %h_1 |
| OpStore %h_1 %int_0 |
| OpStore %h_1 %868 |
| OpReturn |
| OpFunctionEnd |
| %main_1 = OpFunction %void None %419 |
| %870 = OpLabel |
| %color = OpVariable %_ptr_Function_v3float Function %171 |
| %i_2 = OpVariable %_ptr_Function_int Function %31 |
| %uv = OpVariable %_ptr_Function_v2float Function %168 |
| %874 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %874 |
| OpStore %i_2 %int_0 |
| %877 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %877 |
| OpSelectionMerge %879 None |
| OpBranchConditional %true %880 %879 |
| %880 = OpLabel |
| %881 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %881 |
| %882 = OpCompositeExtract %float %38 0 |
| %883 = OpCompositeExtract %float %38 0 |
| %884 = OpCompositeConstruct %v2float %882 %883 |
| %885 = OpLoad %int %i_2 |
| %886 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %886 |
| %887 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %887 |
| %889 = OpCompositeExtract %float %884 1 |
| %890 = OpCompositeExtract %float %884 1 |
| %891 = OpCompositeConstruct %v2float %889 %890 |
| %892 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %892 |
| OpBranch %879 |
| %879 = OpLabel |
| %893 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %893 |
| %894 = OpCompositeExtract %float %168 0 |
| %895 = OpCompositeExtract %float %168 0 |
| %896 = OpCompositeConstruct %v2float %894 %895 |
| %897 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %897 |
| %898 = OpFunctionCall %void %quicksort_ |
| %899 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %899 |
| %900 = OpLoad %v4float %gl_FragCoord |
| %901 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %901 |
| %902 = OpCompositeExtract %float %168 1 |
| %903 = OpCompositeExtract %float %168 1 |
| %904 = OpCompositeConstruct %v2float %902 %903 |
| %905 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %905 |
| %906 = OpCompositeExtract %float %900 0 |
| %907 = OpCompositeExtract %float %900 1 |
| %908 = OpCompositeConstruct %v2float %906 %907 |
| %909 = OpCompositeExtract %float %908 1 |
| %910 = OpCompositeExtract %float %896 1 |
| %911 = OpCompositeExtract %float %896 1 |
| %912 = OpCompositeConstruct %v3float %909 %910 %911 |
| %913 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %913 |
| %914 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %914 |
| %916 = OpAccessChain %_ptr_Uniform_v2float %x_188 %uint_0 |
| %917 = OpLoad %v2float %916 |
| %918 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %918 |
| %919 = OpCompositeExtract %float %900 1 |
| %920 = OpCompositeExtract %float %38 2 |
| %921 = OpCompositeExtract %float %900 3 |
| %922 = OpCompositeConstruct %v3float %919 %920 %921 |
| %923 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %923 |
| %924 = OpFDiv %v2float %908 %917 |
| %925 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %925 |
| %926 = OpCompositeExtract %float %904 0 |
| %927 = OpCompositeExtract %float %908 1 |
| %928 = OpCompositeConstruct %v2float %926 %927 |
| %929 = OpLoad %v3float %color |
| OpStore %color %888 |
| %930 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %930 |
| OpStore %color %929 |
| OpStore %uv %924 |
| OpStore %color %38 |
| %931 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %931 |
| %932 = OpCompositeExtract %float %908 0 |
| %933 = OpCompositeExtract %float %908 1 |
| %934 = OpCompositeExtract %float %896 1 |
| %935 = OpCompositeConstruct %v3float %932 %933 %934 |
| %936 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %936 |
| %937 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %938 = OpLoad %int %937 |
| %939 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %939 %int_0 |
| %940 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %940 %938 |
| %941 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %942 = OpLoad %int %941 |
| %943 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %943 |
| %944 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %945 = OpLoad %int %944 |
| %946 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %946 %int_0 |
| %947 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %947 %945 |
| %948 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %949 = OpLoad %float %948 |
| %950 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %951 = OpLoad %float %950 |
| %952 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %952 %float_0 |
| %953 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %953 %951 |
| %954 = OpCompositeExtract %float %38 2 |
| %955 = OpCompositeExtract %float %38 1 |
| %956 = OpCompositeConstruct %v2float %954 %955 |
| %957 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %957 |
| %958 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %958 |
| %959 = OpCompositeExtract %float %935 0 |
| %960 = OpCompositeExtract %float %928 0 |
| %961 = OpCompositeExtract %float %928 1 |
| %962 = OpCompositeConstruct %v3float %959 %960 %961 |
| %963 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %964 = OpConvertSToF %float %942 |
| %965 = OpFAdd %float %949 %964 |
| OpStore %963 %965 |
| %966 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %966 |
| %967 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %967 |
| %968 = OpCompositeExtract %float %900 1 |
| %969 = OpCompositeExtract %float %900 1 |
| %970 = OpCompositeConstruct %v2float %968 %969 |
| %971 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %972 = OpLoad %float %971 |
| %973 = OpCompositeExtract %float %924 1 |
| %974 = OpCompositeExtract %float %924 0 |
| %975 = OpCompositeConstruct %v2float %973 %974 |
| %976 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %977 = OpLoad %float %976 |
| %978 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %978 %float_0 |
| %979 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %979 %977 |
| %980 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %980 |
| %982 = OpFOrdGreaterThan %bool %972 %float_0_25 |
| OpSelectionMerge %983 None |
| OpBranchConditional %982 %984 %983 |
| %984 = OpLabel |
| %985 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %985 |
| %986 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %987 = OpLoad %int %986 |
| %988 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %988 %int_0 |
| %989 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %989 %987 |
| %990 = OpCompositeExtract %float %168 1 |
| %991 = OpCompositeExtract %float %912 1 |
| %992 = OpCompositeExtract %float %912 1 |
| %993 = OpCompositeConstruct %v3float %990 %991 %992 |
| %994 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %995 = OpLoad %float %994 |
| %996 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %996 %float_0 |
| %997 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %997 %995 |
| %998 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_1 |
| %999 = OpLoad %int %998 |
| %1000 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %1000 |
| %1001 = OpCompositeExtract %float %970 0 |
| %1002 = OpCompositeExtract %float %970 0 |
| %1003 = OpCompositeConstruct %v2float %1001 %1002 |
| %1004 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %1004 |
| %1005 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %1005 |
| %1006 = OpCompositeExtract %float %38 2 |
| %1007 = OpCompositeExtract %float %168 1 |
| %1008 = OpCompositeConstruct %v2float %1006 %1007 |
| %1009 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1009 |
| %1010 = OpAccessChain %_ptr_Function_float %color %int_0 |
| %1011 = OpLoad %float %1010 |
| %1012 = OpAccessChain %_ptr_Function_float %color %int_0 |
| %1013 = OpLoad %float %1012 |
| %1014 = OpAccessChain %_ptr_Function_float %color %int_0 |
| OpStore %1014 %float_0 |
| %1015 = OpAccessChain %_ptr_Function_float %color %int_0 |
| OpStore %1015 %1013 |
| %1016 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1016 |
| %1017 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1017 |
| %1018 = OpCompositeExtract %float %970 1 |
| %1019 = OpCompositeExtract %float %970 1 |
| %1020 = OpCompositeExtract %float %904 1 |
| %1021 = OpCompositeConstruct %v3float %1018 %1019 %1020 |
| %1022 = OpAccessChain %_ptr_Function_float %color %int_0 |
| %1023 = OpLoad %float %1022 |
| %1024 = OpAccessChain %_ptr_Function_float %color %int_0 |
| OpStore %1024 %float_0 |
| %1025 = OpAccessChain %_ptr_Function_float %color %int_0 |
| OpStore %1025 %1023 |
| %1026 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1027 = OpConvertSToF %float %999 |
| %1028 = OpFAdd %float %1027 %1011 |
| OpStore %1026 %1028 |
| %1029 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %1030 = OpLoad %int %1029 |
| %1031 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1031 %int_0 |
| %1032 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1032 %1030 |
| OpBranch %983 |
| %983 = OpLabel |
| %1033 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1034 = OpLoad %float %1033 |
| %1035 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1035 %float_0 |
| %1036 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1036 %1034 |
| %1037 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1038 = OpLoad %float %1037 |
| %1039 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1039 %float_0 |
| %1040 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1040 %1038 |
| %1041 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1042 = OpLoad %float %1041 |
| %1043 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1044 = OpLoad %float %1043 |
| %1045 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1045 %float_0 |
| %1046 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1046 %1044 |
| %1047 = OpCompositeExtract %float %962 2 |
| %1048 = OpCompositeExtract %float %962 1 |
| %1049 = OpCompositeExtract %float %962 1 |
| %1050 = OpCompositeConstruct %v3float %1047 %1048 %1049 |
| %1051 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %1051 |
| %1052 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1053 = OpLoad %float %1052 |
| %1054 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1054 %float_0 |
| %1055 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1055 %1053 |
| %1056 = OpCompositeExtract %float %168 1 |
| %1057 = OpCompositeExtract %float %168 1 |
| %1058 = OpCompositeConstruct %v2float %1056 %1057 |
| %1059 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1060 = OpLoad %float %1059 |
| %1061 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1061 %float_0 |
| %1062 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1062 %1060 |
| %1064 = OpFOrdGreaterThan %bool %1042 %float_0_5 |
| OpSelectionMerge %1065 None |
| OpBranchConditional %1064 %1066 %1065 |
| %1066 = OpLabel |
| %1067 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1068 = OpLoad %float %1067 |
| %1069 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1069 %float_0 |
| %1070 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1070 %1068 |
| %1071 = OpCompositeExtract %float %896 0 |
| %1072 = OpCompositeExtract %float %896 0 |
| %1073 = OpCompositeConstruct %v2float %1071 %1072 |
| %1074 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1075 = OpLoad %float %1074 |
| %1076 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1076 %float_0 |
| %1077 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1077 %1075 |
| %1078 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1079 = OpLoad %float %1078 |
| %1080 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1080 %float_0 |
| %1081 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1081 %1079 |
| %1082 = OpCompositeExtract %float %962 0 |
| %1083 = OpCompositeExtract %float %962 2 |
| %1084 = OpCompositeExtract %float %1058 1 |
| %1085 = OpCompositeConstruct %v3float %1082 %1083 %1084 |
| %1086 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1087 = OpLoad %float %1086 |
| %1088 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1088 %float_0 |
| %1089 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1089 %1087 |
| %1091 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| %1092 = OpLoad %int %1091 |
| %1093 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1094 = OpLoad %float %1093 |
| %1095 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1095 %float_0 |
| %1096 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1096 %1094 |
| %1097 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1098 = OpLoad %float %1097 |
| %1099 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1099 %float_0 |
| %1100 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1100 %1098 |
| %1101 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| %1102 = OpLoad %int %1101 |
| %1103 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| OpStore %1103 %int_0 |
| %1104 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| OpStore %1104 %1102 |
| %1105 = OpCompositeExtract %float %928 1 |
| %1106 = OpCompositeExtract %float %917 0 |
| %1107 = OpCompositeConstruct %v2float %1105 %1106 |
| %1108 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1109 = OpLoad %float %1108 |
| %1110 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1110 %float_0 |
| %1111 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1111 %1109 |
| %1112 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1113 = OpLoad %float %1112 |
| %1114 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| %1115 = OpLoad %int %1114 |
| %1116 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| OpStore %1116 %int_0 |
| %1117 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_2 |
| OpStore %1117 %1115 |
| %1118 = OpCompositeExtract %float %1085 0 |
| %1119 = OpCompositeExtract %float %908 0 |
| %1120 = OpCompositeConstruct %v2float %1118 %1119 |
| %1121 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1122 = OpLoad %float %1121 |
| %1123 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1123 %float_0 |
| %1124 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1124 %1122 |
| %1125 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1125 |
| %1126 = OpCompositeExtract %float %975 1 |
| %1127 = OpCompositeExtract %float %168 1 |
| %1128 = OpCompositeConstruct %v2float %1126 %1127 |
| %1129 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1129 |
| %1130 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1131 = OpConvertSToF %float %1092 |
| %1132 = OpFAdd %float %1131 %1113 |
| OpStore %1130 %1132 |
| %1133 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1134 = OpLoad %float %1133 |
| %1135 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1135 %float_0 |
| %1136 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1136 %1134 |
| OpBranch %1065 |
| %1065 = OpLabel |
| %1137 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1137 |
| %1138 = OpCompositeExtract %float %917 0 |
| %1139 = OpCompositeExtract %float %917 0 |
| %1140 = OpCompositeConstruct %v2float %1138 %1139 |
| %1141 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1142 = OpLoad %float %1141 |
| %1143 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1143 %float_0 |
| %1144 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1144 %1142 |
| %1145 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| %1146 = OpLoad %float %1145 |
| %1147 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1147 |
| %1148 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1149 = OpLoad %float %1148 |
| %1150 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1150 %float_0 |
| %1151 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1151 %1149 |
| %1153 = OpFOrdGreaterThan %bool %1146 %float_0_75 |
| OpSelectionMerge %1154 None |
| OpBranchConditional %1153 %1155 %1154 |
| %1155 = OpLabel |
| %1156 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1157 = OpLoad %float %1156 |
| %1158 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1158 %float_0 |
| %1159 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1159 %1157 |
| %1161 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_3 |
| %1162 = OpLoad %int %1161 |
| %1163 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1164 = OpLoad %float %1163 |
| %1165 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1165 %float_0 |
| %1166 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1166 %1164 |
| %1167 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %1167 |
| %1168 = OpCompositeExtract %float %1140 0 |
| %1169 = OpCompositeExtract %float %1140 0 |
| %1170 = OpCompositeExtract %float %1140 0 |
| %1171 = OpCompositeConstruct %v3float %1168 %1169 %1170 |
| %1172 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| %1173 = OpLoad %float %1172 |
| %1174 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1174 %float_0 |
| %1175 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1175 %1173 |
| %1176 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1177 = OpLoad %float %1176 |
| %1178 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1178 %float_0 |
| %1179 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1179 %1177 |
| %1180 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| %1181 = OpLoad %float %1180 |
| %1182 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1182 |
| %1183 = OpCompositeExtract %float %1140 0 |
| %1184 = OpCompositeExtract %float %917 1 |
| %1185 = OpCompositeExtract %float %1140 1 |
| %1186 = OpCompositeConstruct %v3float %1183 %1184 %1185 |
| %1187 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| %1188 = OpLoad %float %1187 |
| %1189 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| OpStore %1189 %float_0 |
| %1190 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| OpStore %1190 %1188 |
| %1191 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %1192 = OpLoad %int %1191 |
| %1193 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1193 %int_0 |
| %1194 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1194 %1192 |
| %1195 = OpCompositeExtract %float %168 0 |
| %1196 = OpCompositeExtract %float %168 1 |
| %1197 = OpCompositeConstruct %v2float %1195 %1196 |
| %1198 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| %1199 = OpLoad %float %1198 |
| %1200 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| OpStore %1200 %float_0 |
| %1201 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| OpStore %1201 %1199 |
| %1202 = OpAccessChain %_ptr_Function_float %color %uint_2 |
| %1203 = OpConvertSToF %float %1162 |
| %1204 = OpFAdd %float %1181 %1203 |
| OpStore %1202 %1204 |
| %1205 = OpLoad %v2float %uv |
| OpStore %uv %876 |
| OpStore %uv %1205 |
| %1206 = OpCompositeExtract %float %1197 1 |
| %1207 = OpCompositeExtract %float %1197 1 |
| %1208 = OpCompositeConstruct %v2float %1206 %1207 |
| OpBranch %1154 |
| %1154 = OpLabel |
| %1209 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| %1210 = OpLoad %float %1209 |
| %1211 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1211 %float_0 |
| %1212 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1212 %1210 |
| %1213 = OpCompositeExtract %float %970 0 |
| %1214 = OpCompositeExtract %float %970 1 |
| %1215 = OpCompositeExtract %float %970 1 |
| %1216 = OpCompositeConstruct %v3float %1213 %1214 %1215 |
| %1218 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| %1219 = OpLoad %int %1218 |
| %1220 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| %1221 = OpLoad %float %1220 |
| %1222 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1222 %float_0 |
| %1223 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1223 %1221 |
| %1224 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1224 |
| %1225 = OpCompositeExtract %float %896 1 |
| %1226 = OpCompositeExtract %float %962 0 |
| %1227 = OpCompositeExtract %float %962 0 |
| %1228 = OpCompositeConstruct %v3float %1225 %1226 %1227 |
| %1229 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| %1230 = OpLoad %int %1229 |
| %1231 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| OpStore %1231 %int_0 |
| %1232 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| OpStore %1232 %1230 |
| %1233 = OpCompositeExtract %float %917 0 |
| %1234 = OpCompositeExtract %float %900 2 |
| %1235 = OpCompositeConstruct %v2float %1233 %1234 |
| %1236 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1237 = OpLoad %float %1236 |
| %1238 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1238 %float_0 |
| %1239 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1239 %1237 |
| %1240 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1241 = OpLoad %float %1240 |
| %1242 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1243 = OpLoad %float %1242 |
| %1244 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1244 %float_0 |
| %1245 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1245 %1243 |
| %1246 = OpCompositeExtract %float %1140 0 |
| %1247 = OpCompositeExtract %float %928 0 |
| %1248 = OpCompositeConstruct %v2float %1246 %1247 |
| %1249 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1250 = OpLoad %float %1249 |
| %1251 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1251 %float_0 |
| %1252 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1252 %1250 |
| %1253 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1254 = OpLoad %float %1253 |
| %1255 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1255 %float_0 |
| %1256 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1256 %1254 |
| %1257 = OpCompositeExtract %float %935 2 |
| %1258 = OpCompositeExtract %float %1050 1 |
| %1259 = OpCompositeConstruct %v2float %1257 %1258 |
| %1260 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1261 = OpConvertSToF %float %1219 |
| %1262 = OpFAdd %float %1241 %1261 |
| OpStore %1260 %1262 |
| %1263 = OpCompositeExtract %float %168 0 |
| %1264 = OpCompositeExtract %float %1216 0 |
| %1265 = OpCompositeExtract %float %168 1 |
| %1266 = OpCompositeConstruct %v3float %1263 %1264 %1265 |
| %1267 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1268 = OpLoad %float %1267 |
| %1269 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1269 %float_0 |
| %1270 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1270 %1268 |
| %1271 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1272 = OpLoad %float %1271 |
| %1273 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1273 %float_0 |
| %1274 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1274 %1272 |
| %1275 = OpCompositeExtract %float %1216 0 |
| %1276 = OpCompositeExtract %float %1216 1 |
| %1277 = OpCompositeConstruct %v2float %1275 %1276 |
| %1278 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| %1279 = OpLoad %float %1278 |
| %1280 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1280 %float_0 |
| %1281 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1281 %1279 |
| %1282 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| %1283 = OpLoad %float %1282 |
| %1284 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1284 |
| %1285 = OpCompositeExtract %float %168 1 |
| %1286 = OpCompositeExtract %float %970 1 |
| %1287 = OpCompositeExtract %float %168 0 |
| %1288 = OpCompositeConstruct %v3float %1285 %1286 %1287 |
| %1289 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| %1290 = OpLoad %int %1289 |
| %1291 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1291 %int_0 |
| %1292 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_0 |
| OpStore %1292 %1290 |
| %1293 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| %1294 = OpLoad %float %1293 |
| %1295 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1295 %float_0 |
| %1296 = OpAccessChain %_ptr_Function_float %color %uint_1 |
| OpStore %1296 %1294 |
| %1297 = OpCompositeExtract %float %896 0 |
| %1298 = OpCompositeExtract %float %896 0 |
| %1299 = OpCompositeExtract %float %168 1 |
| %1300 = OpCompositeConstruct %v3float %1297 %1298 %1299 |
| %1301 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1302 = OpLoad %float %1301 |
| %1303 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1303 %float_0 |
| %1304 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1304 %1302 |
| %1305 = OpFOrdGreaterThan %bool %1283 %float_0_25 |
| OpSelectionMerge %1306 None |
| OpBranchConditional %1305 %1307 %1306 |
| %1307 = OpLabel |
| %1308 = OpCompositeExtract %float %904 0 |
| %1309 = OpCompositeExtract %float %1300 2 |
| %1310 = OpCompositeConstruct %v2float %1308 %1309 |
| %1311 = OpLoad %v3float %color |
| OpStore %color %888 |
| OpStore %color %1311 |
| %1313 = OpAccessChain %_ptr_Private_int %obj %uint_0 %uint_5 |
| %1314 = OpLoad %int %1313 |
| %1315 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1316 = OpLoad %float %1315 |
| %1317 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1317 %float_0 |
| %1318 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1318 %1316 |
| %1319 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1319 |
| %1320 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1320 |
| %1321 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1322 = OpLoad %float %1321 |
| %1323 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| %1324 = OpLoad %float %1323 |
| %1325 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1325 %float_0 |
| %1326 = OpAccessChain %_ptr_Function_float %uv %int_0 |
| OpStore %1326 %1324 |
| %1327 = OpCompositeExtract %float %975 0 |
| %1328 = OpCompositeExtract %float %1248 1 |
| %1329 = OpCompositeExtract %float %975 1 |
| %1330 = OpCompositeConstruct %v3float %1327 %1328 %1329 |
| %1331 = OpLoad %QuicksortObject %obj |
| OpStore %obj %103 |
| OpStore %obj %1331 |
| %1332 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| %1333 = OpLoad %float %1332 |
| %1334 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1334 %float_0 |
| %1335 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1335 %1333 |
| %1336 = OpLoad %int %i_2 |
| OpStore %i_2 %int_0 |
| OpStore %i_2 %1336 |
| %1337 = OpCompositeExtract %float %900 3 |
| %1338 = OpCompositeExtract %float %900 3 |
| %1339 = OpCompositeExtract %float %924 0 |
| %1340 = OpCompositeConstruct %v3float %1337 %1338 %1339 |
| %1341 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1342 = OpLoad %float %1341 |
| %1343 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1343 %float_0 |
| %1344 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1344 %1342 |
| %1345 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1346 = OpConvertSToF %float %1314 |
| %1347 = OpFAdd %float %1346 %1322 |
| OpStore %1345 %1347 |
| %1348 = OpCompositeExtract %float %970 1 |
| %1349 = OpCompositeExtract %float %928 0 |
| %1350 = OpCompositeExtract %float %970 1 |
| %1351 = OpCompositeConstruct %v3float %1348 %1349 %1350 |
| %1352 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| %1353 = OpLoad %float %1352 |
| %1354 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1354 %float_0 |
| %1355 = OpAccessChain %_ptr_Function_float %uv %uint_0 |
| OpStore %1355 %1353 |
| OpBranch %1306 |
| %1306 = OpLabel |
| %1356 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| %1357 = OpLoad %float %1356 |
| %1358 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1358 %float_0 |
| %1359 = OpAccessChain %_ptr_Function_float %color %uint_0 |
| OpStore %1359 %1357 |
| %1360 = OpCompositeExtract %float %1140 0 |
| %1361 = OpCompositeExtract %float %928 1 |
| %1362 = OpCompositeExtract %float %928 0 |
| %1363 = OpCompositeConstruct %v3float %1360 %1361 %1362 |
| %1364 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| %1365 = OpLoad %float %1364 |
| %1366 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1366 %float_0 |
| %1367 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| OpStore %1367 %1365 |
| %1368 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| %1369 = OpLoad %int %1368 |
| %1370 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| OpStore %1370 %int_0 |
| %1371 = OpAccessChain %_ptr_Private_int %obj %uint_0 %int_4 |
| OpStore %1371 %1369 |
| %1372 = OpAccessChain %_ptr_Function_float %uv %uint_1 |
| %1373 |