| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 1006 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 |
| OpExecutionMode %main OriginUpperLeft |
| OpName %buf0 "buf0" |
| OpMemberName %buf0 0 "injectionSwitch" |
| OpName %x_8 "x_8" |
| OpName %gl_FragCoord "gl_FragCoord" |
| OpName %x_GLF_color "x_GLF_color" |
| OpName %tint_symbol "tint_symbol" |
| OpName %tint_symbol_2 "tint_symbol_2" |
| OpName %main_1 "main_1" |
| OpName %BST "BST" |
| OpMemberName %BST 0 "data" |
| OpMemberName %BST 1 "leftIndex" |
| OpMemberName %BST 2 "rightIndex" |
| OpName %tree "tree" |
| OpName %x_67 "x_67" |
| OpName %x_114 "x_114" |
| OpName %x_572 "x_572" |
| OpName %x_67_phi "x_67_phi" |
| OpName %x_70_phi "x_70_phi" |
| OpName %x_116_phi "x_116_phi" |
| OpName %x_119_phi "x_119_phi" |
| OpName %x_569_phi "x_569_phi" |
| OpName %x_572_phi "x_572_phi" |
| OpName %x_574_phi "x_574_phi" |
| OpName %x_95 "x_95" |
| OpName %x_87 "x_87" |
| OpName %x_68 "x_68" |
| OpName %x_71 "x_71" |
| OpName %x_68_phi "x_68_phi" |
| OpName %x_71_phi "x_71_phi" |
| OpName %x_114_phi "x_114_phi" |
| OpName %x_133 "x_133" |
| OpName %x_120 "x_120" |
| OpName %x_134_phi "x_134_phi" |
| OpName %x_139 "x_139" |
| OpName %x_186 "x_186" |
| OpName %x_139_phi "x_139_phi" |
| OpName %x_142_phi "x_142_phi" |
| OpName %x_188_phi "x_188_phi" |
| OpName %x_167 "x_167" |
| OpName %x_159 "x_159" |
| OpName %x_140 "x_140" |
| OpName %x_143 "x_143" |
| OpName %x_140_phi "x_140_phi" |
| OpName %x_143_phi "x_143_phi" |
| OpName %x_186_phi "x_186_phi" |
| OpName %x_193 "x_193" |
| OpName %x_240 "x_240" |
| OpName %x_193_phi "x_193_phi" |
| OpName %x_196_phi "x_196_phi" |
| OpName %x_242_phi "x_242_phi" |
| OpName %x_221 "x_221" |
| OpName %x_213 "x_213" |
| OpName %x_194 "x_194" |
| OpName %x_197 "x_197" |
| OpName %x_194_phi "x_194_phi" |
| OpName %x_197_phi "x_197_phi" |
| OpName %x_240_phi "x_240_phi" |
| OpName %x_247 "x_247" |
| OpName %x_294 "x_294" |
| OpName %x_247_phi "x_247_phi" |
| OpName %x_250_phi "x_250_phi" |
| OpName %x_296_phi "x_296_phi" |
| OpName %x_275 "x_275" |
| OpName %x_267 "x_267" |
| OpName %x_248 "x_248" |
| OpName %x_251 "x_251" |
| OpName %x_248_phi "x_248_phi" |
| OpName %x_251_phi "x_251_phi" |
| OpName %x_294_phi "x_294_phi" |
| OpName %x_301 "x_301" |
| OpName %x_348 "x_348" |
| OpName %x_301_phi "x_301_phi" |
| OpName %x_304_phi "x_304_phi" |
| OpName %x_350_phi "x_350_phi" |
| OpName %x_329 "x_329" |
| OpName %x_321 "x_321" |
| OpName %x_302 "x_302" |
| OpName %x_305 "x_305" |
| OpName %x_302_phi "x_302_phi" |
| OpName %x_305_phi "x_305_phi" |
| OpName %x_348_phi "x_348_phi" |
| OpName %x_355 "x_355" |
| OpName %x_402 "x_402" |
| OpName %x_355_phi "x_355_phi" |
| OpName %x_358_phi "x_358_phi" |
| OpName %x_404_phi "x_404_phi" |
| OpName %x_383 "x_383" |
| OpName %x_375 "x_375" |
| OpName %x_356 "x_356" |
| OpName %x_359 "x_359" |
| OpName %x_356_phi "x_356_phi" |
| OpName %x_359_phi "x_359_phi" |
| OpName %x_402_phi "x_402_phi" |
| OpName %x_409 "x_409" |
| OpName %x_456 "x_456" |
| OpName %x_409_phi "x_409_phi" |
| OpName %x_412_phi "x_412_phi" |
| OpName %x_458_phi "x_458_phi" |
| OpName %x_437 "x_437" |
| OpName %x_429 "x_429" |
| OpName %x_410 "x_410" |
| OpName %x_413 "x_413" |
| OpName %x_410_phi "x_410_phi" |
| OpName %x_413_phi "x_413_phi" |
| OpName %x_456_phi "x_456_phi" |
| OpName %x_463 "x_463" |
| OpName %x_510 "x_510" |
| OpName %x_463_phi "x_463_phi" |
| OpName %x_466_phi "x_466_phi" |
| OpName %x_512_phi "x_512_phi" |
| OpName %x_491 "x_491" |
| OpName %x_483 "x_483" |
| OpName %x_464 "x_464" |
| OpName %x_467 "x_467" |
| OpName %x_464_phi "x_464_phi" |
| OpName %x_467_phi "x_467_phi" |
| OpName %x_510_phi "x_510_phi" |
| OpName %x_517 "x_517" |
| OpName %x_564 "x_564" |
| OpName %x_517_phi "x_517_phi" |
| OpName %x_520_phi "x_520_phi" |
| OpName %x_566_phi "x_566_phi" |
| OpName %x_545 "x_545" |
| OpName %x_537 "x_537" |
| OpName %x_518 "x_518" |
| OpName %x_521 "x_521" |
| OpName %x_518_phi "x_518_phi" |
| OpName %x_521_phi "x_521_phi" |
| OpName %x_564_phi "x_564_phi" |
| OpName %x_597 "x_597" |
| OpName %x_607 "x_607" |
| OpName %x_612 "x_612" |
| OpName %x_575 "x_575" |
| OpName %x_570_phi "x_570_phi" |
| OpName %x_573_phi "x_573_phi" |
| OpName %x_582_phi "x_582_phi" |
| OpName %x_597_phi "x_597_phi" |
| OpName %x_598_phi "x_598_phi" |
| OpName %x_570 "x_570" |
| OpName %x_606 "x_606" |
| OpName %x_611 "x_611" |
| OpName %x_607_phi "x_607_phi" |
| OpName %x_612_phi "x_612_phi" |
| OpName %main_out "main_out" |
| OpMemberName %main_out 0 "x_GLF_color_1" |
| OpName %tint_symbol_3 "tint_symbol_3" |
| OpName %tint_symbol_1 "tint_symbol_1" |
| OpName %main "main" |
| OpDecorate %buf0 Block |
| OpMemberDecorate %buf0 0 Offset 0 |
| OpDecorate %x_8 NonWritable |
| OpDecorate %x_8 DescriptorSet 0 |
| OpDecorate %x_8 Binding 0 |
| OpDecorate %tint_symbol BuiltIn FragCoord |
| OpDecorate %tint_symbol_2 Location 0 |
| OpMemberDecorate %BST 0 Offset 0 |
| OpMemberDecorate %BST 1 Offset 4 |
| OpMemberDecorate %BST 2 Offset 8 |
| OpDecorate %_arr_BST_uint_10 ArrayStride 12 |
| OpMemberDecorate %main_out 0 Offset 0 |
| %float = OpTypeFloat 32 |
| %v2float = OpTypeVector %float 2 |
| %buf0 = OpTypeStruct %v2float |
| %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 |
| %x_8 = OpVariable %_ptr_Uniform_buf0 Uniform |
| %v4float = OpTypeVector %float 4 |
| %_ptr_Private_v4float = OpTypePointer Private %v4float |
| %9 = OpConstantNull %v4float |
| %gl_FragCoord = OpVariable %_ptr_Private_v4float Private %9 |
| %x_GLF_color = OpVariable %_ptr_Private_v4float Private %9 |
| %_ptr_Input_v4float = OpTypePointer Input %v4float |
| %tint_symbol = OpVariable %_ptr_Input_v4float Input |
| %_ptr_Output_v4float = OpTypePointer Output %v4float |
| %tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %9 |
| %void = OpTypeVoid |
| %15 = OpTypeFunction %void |
| %int = OpTypeInt 32 1 |
| %BST = OpTypeStruct %int %int %int |
| %uint = OpTypeInt 32 0 |
| %uint_10 = OpConstant %uint 10 |
| %_arr_BST_uint_10 = OpTypeArray %BST %uint_10 |
| %_ptr_Function__arr_BST_uint_10 = OpTypePointer Function %_arr_BST_uint_10 |
| %26 = OpConstantNull %_arr_BST_uint_10 |
| %bool = OpTypeBool |
| %_ptr_Function_bool = OpTypePointer Function %bool |
| %30 = OpConstantNull %bool |
| %_ptr_Function_int = OpTypePointer Function %int |
| %34 = OpConstantNull %int |
| %int_0 = OpConstant %int 0 |
| %_ptr_Function_BST = OpTypePointer Function %BST |
| %int_9 = OpConstant %int 9 |
| %int_n1 = OpConstant %int -1 |
| %47 = OpConstantComposite %BST %int_9 %int_n1 %int_n1 |
| %uint_0 = OpConstant %uint 0 |
| %false = OpConstantFalse %bool |
| %int_1 = OpConstant %int 1 |
| %int_5 = OpConstant %int 5 |
| %uint_1 = OpConstant %uint 1 |
| %_ptr_Uniform_float = OpTypePointer Uniform %float |
| %99 = OpConstantComposite %BST %int_5 %int_n1 %int_n1 |
| %true = OpConstantTrue %bool |
| %uint_2 = OpConstant %uint 2 |
| %_ptr_Private_float = OpTypePointer Private %float |
| %float_0 = OpConstant %float 0 |
| %int_2 = OpConstant %int 2 |
| %int_12 = OpConstant %int 12 |
| %218 = OpConstantComposite %BST %int_12 %int_n1 %int_n1 |
| %int_3 = OpConstant %int 3 |
| %int_15 = OpConstant %int 15 |
| %312 = OpConstantComposite %BST %int_15 %int_n1 %int_n1 |
| %int_4 = OpConstant %int 4 |
| %int_7 = OpConstant %int 7 |
| %404 = OpConstantComposite %BST %int_7 %int_n1 %int_n1 |
| %int_8 = OpConstant %int 8 |
| %495 = OpConstantComposite %BST %int_8 %int_n1 %int_n1 |
| %int_6 = OpConstant %int 6 |
| %586 = OpConstantComposite %BST %int_2 %int_n1 %int_n1 |
| %676 = OpConstantComposite %BST %int_6 %int_n1 %int_n1 |
| %int_17 = OpConstant %int 17 |
| %767 = OpConstantComposite %BST %int_17 %int_n1 %int_n1 |
| %int_13 = OpConstant %int 13 |
| %858 = OpConstantComposite %BST %int_13 %int_n1 %int_n1 |
| %int_20 = OpConstant %int 20 |
| %float_1 = OpConstant %float 1 |
| %991 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 |
| %992 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1 |
| %main_out = OpTypeStruct %v4float |
| %993 = OpTypeFunction %void %main_out |
| %main_1 = OpFunction %void None %15 |
| %18 = OpLabel |
| %tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function %26 |
| %x_67 = OpVariable %_ptr_Function_bool Function %30 |
| %x_114 = OpVariable %_ptr_Function_bool Function %30 |
| %x_572 = OpVariable %_ptr_Function_int Function %34 |
| %x_67_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_70_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_116_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_119_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_569_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_572_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_574_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_95 = OpVariable %_ptr_Function_int Function %34 |
| %x_87 = OpVariable %_ptr_Function_int Function %34 |
| %x_68 = OpVariable %_ptr_Function_bool Function %30 |
| %x_71 = OpVariable %_ptr_Function_int Function %34 |
| %x_68_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_71_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_114_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_133 = OpVariable %_ptr_Function_bool Function %30 |
| %x_120 = OpVariable %_ptr_Function_int Function %34 |
| %x_134_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_139 = OpVariable %_ptr_Function_bool Function %30 |
| %x_186 = OpVariable %_ptr_Function_bool Function %30 |
| %x_139_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_142_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_188_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_167 = OpVariable %_ptr_Function_int Function %34 |
| %x_159 = OpVariable %_ptr_Function_int Function %34 |
| %x_140 = OpVariable %_ptr_Function_bool Function %30 |
| %x_143 = OpVariable %_ptr_Function_int Function %34 |
| %x_140_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_143_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_186_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_193 = OpVariable %_ptr_Function_bool Function %30 |
| %x_240 = OpVariable %_ptr_Function_bool Function %30 |
| %x_193_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_196_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_242_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_221 = OpVariable %_ptr_Function_int Function %34 |
| %x_213 = OpVariable %_ptr_Function_int Function %34 |
| %x_194 = OpVariable %_ptr_Function_bool Function %30 |
| %x_197 = OpVariable %_ptr_Function_int Function %34 |
| %x_194_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_197_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_240_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_247 = OpVariable %_ptr_Function_bool Function %30 |
| %x_294 = OpVariable %_ptr_Function_bool Function %30 |
| %x_247_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_250_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_296_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_275 = OpVariable %_ptr_Function_int Function %34 |
| %x_267 = OpVariable %_ptr_Function_int Function %34 |
| %x_248 = OpVariable %_ptr_Function_bool Function %30 |
| %x_251 = OpVariable %_ptr_Function_int Function %34 |
| %x_248_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_251_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_294_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_301 = OpVariable %_ptr_Function_bool Function %30 |
| %x_348 = OpVariable %_ptr_Function_bool Function %30 |
| %x_301_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_304_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_350_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_329 = OpVariable %_ptr_Function_int Function %34 |
| %x_321 = OpVariable %_ptr_Function_int Function %34 |
| %x_302 = OpVariable %_ptr_Function_bool Function %30 |
| %x_305 = OpVariable %_ptr_Function_int Function %34 |
| %x_302_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_305_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_348_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_355 = OpVariable %_ptr_Function_bool Function %30 |
| %x_402 = OpVariable %_ptr_Function_bool Function %30 |
| %x_355_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_358_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_404_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_383 = OpVariable %_ptr_Function_int Function %34 |
| %x_375 = OpVariable %_ptr_Function_int Function %34 |
| %x_356 = OpVariable %_ptr_Function_bool Function %30 |
| %x_359 = OpVariable %_ptr_Function_int Function %34 |
| %x_356_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_359_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_402_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_409 = OpVariable %_ptr_Function_bool Function %30 |
| %x_456 = OpVariable %_ptr_Function_bool Function %30 |
| %x_409_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_412_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_458_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_437 = OpVariable %_ptr_Function_int Function %34 |
| %x_429 = OpVariable %_ptr_Function_int Function %34 |
| %x_410 = OpVariable %_ptr_Function_bool Function %30 |
| %x_413 = OpVariable %_ptr_Function_int Function %34 |
| %x_410_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_413_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_456_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_463 = OpVariable %_ptr_Function_bool Function %30 |
| %x_510 = OpVariable %_ptr_Function_bool Function %30 |
| %x_463_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_466_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_512_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_491 = OpVariable %_ptr_Function_int Function %34 |
| %x_483 = OpVariable %_ptr_Function_int Function %34 |
| %x_464 = OpVariable %_ptr_Function_bool Function %30 |
| %x_467 = OpVariable %_ptr_Function_int Function %34 |
| %x_464_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_467_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_510_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_517 = OpVariable %_ptr_Function_bool Function %30 |
| %x_564 = OpVariable %_ptr_Function_bool Function %30 |
| %x_517_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_520_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_566_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_545 = OpVariable %_ptr_Function_int Function %34 |
| %x_537 = OpVariable %_ptr_Function_int Function %34 |
| %x_518 = OpVariable %_ptr_Function_bool Function %30 |
| %x_521 = OpVariable %_ptr_Function_int Function %34 |
| %x_518_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_521_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_564_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_597 = OpVariable %_ptr_Function_int Function %34 |
| %x_607 = OpVariable %_ptr_Function_int Function %34 |
| %x_612 = OpVariable %_ptr_Function_int Function %34 |
| %x_575 = OpVariable %_ptr_Function_int Function %34 |
| %x_570_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_573_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_582_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_597_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_598_phi = OpVariable %_ptr_Function_bool Function %30 |
| %x_570 = OpVariable %_ptr_Function_int Function %34 |
| %x_606 = OpVariable %_ptr_Function_int Function %34 |
| %x_611 = OpVariable %_ptr_Function_int Function %34 |
| %x_607_phi = OpVariable %_ptr_Function_int Function %34 |
| %x_612_phi = OpVariable %_ptr_Function_int Function %34 |
| %44 = OpAccessChain %_ptr_Function_BST %tree %int_0 |
| OpStore %44 %47 |
| OpSelectionMerge %48 None |
| OpSwitch %uint_0 %50 |
| %50 = OpLabel |
| OpStore %x_67_phi %false |
| OpStore %x_70_phi %int_0 |
| OpBranch %52 |
| %52 = OpLabel |
| OpLoopMerge %53 %54 None |
| OpBranch %55 |
| %55 = OpLabel |
| %62 = OpLoad %bool %x_67_phi |
| OpStore %x_67 %62 |
| %63 = OpLoad %int %x_70_phi |
| %64 = OpLoad %bool %x_67 |
| OpStore %x_116_phi %64 |
| %66 = OpSLessThanEqual %bool %63 %int_1 |
| OpSelectionMerge %67 None |
| OpBranchConditional %66 %68 %69 |
| %68 = OpLabel |
| OpBranch %67 |
| %69 = OpLabel |
| OpBranch %53 |
| %67 = OpLabel |
| %70 = OpAccessChain %_ptr_Function_int %tree %63 %uint_0 |
| %71 = OpLoad %int %70 |
| %73 = OpSLessThanEqual %bool %int_5 %71 |
| OpSelectionMerge %74 None |
| OpBranchConditional %73 %75 %76 |
| %75 = OpLabel |
| %79 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1 |
| %80 = OpLoad %int %79 |
| %81 = OpIEqual %bool %80 %int_n1 |
| OpSelectionMerge %82 None |
| OpBranchConditional %81 %83 %84 |
| %83 = OpLabel |
| %86 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %87 = OpLoad %float %86 |
| %88 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %89 = OpLoad %float %88 |
| %90 = OpFOrdLessThan %bool %87 %89 |
| OpSelectionMerge %91 None |
| OpBranchConditional %90 %92 %91 |
| %92 = OpLabel |
| OpBranch %93 |
| %93 = OpLabel |
| OpLoopMerge %94 %95 None |
| OpBranch %96 |
| %96 = OpLabel |
| OpKill |
| %95 = OpLabel |
| OpBranch %93 |
| %94 = OpLabel |
| OpReturn |
| %91 = OpLabel |
| %97 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1 |
| OpStore %97 %int_1 |
| %98 = OpAccessChain %_ptr_Function_BST %tree %int_1 |
| OpStore %98 %99 |
| OpBranch %100 |
| %100 = OpLabel |
| OpLoopMerge %101 %102 None |
| OpBranch %103 |
| %103 = OpLabel |
| %104 = OpLoad %bool %x_67 |
| OpStore %x_114_phi %104 |
| %105 = OpConvertFToS %int %87 |
| %106 = OpSLessThan %bool %int_0 %105 |
| OpSelectionMerge %107 None |
| OpBranchConditional %106 %108 %109 |
| %108 = OpLabel |
| OpBranch %107 |
| %109 = OpLabel |
| OpBranch %101 |
| %107 = OpLabel |
| OpStore %x_114_phi %true |
| OpBranch %101 |
| %102 = OpLabel |
| OpBranch %100 |
| %101 = OpLabel |
| %111 = OpLoad %bool %x_114_phi |
| OpStore %x_114 %111 |
| %112 = OpLoad %bool %x_114 |
| OpStore %x_116_phi %112 |
| %113 = OpLoad %bool %x_114 |
| OpSelectionMerge %114 None |
| OpBranchConditional %113 %115 %114 |
| %115 = OpLabel |
| OpBranch %53 |
| %114 = OpLabel |
| OpBranch %82 |
| %84 = OpLabel |
| %116 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1 |
| %117 = OpLoad %int %116 |
| OpStore %x_95 %117 |
| %118 = OpLoad %bool %x_67 |
| OpStore %x_68_phi %118 |
| %119 = OpLoad %int %x_95 |
| OpStore %x_71_phi %119 |
| OpBranch %54 |
| %82 = OpLabel |
| OpBranch %74 |
| %76 = OpLabel |
| %121 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2 |
| %122 = OpLoad %int %121 |
| %123 = OpIEqual %bool %122 %int_n1 |
| OpSelectionMerge %124 None |
| OpBranchConditional %123 %125 %126 |
| %125 = OpLabel |
| %127 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2 |
| OpStore %127 %int_1 |
| %128 = OpAccessChain %_ptr_Function_BST %tree %int_1 |
| OpStore %128 %99 |
| OpStore %x_116_phi %true |
| OpBranch %53 |
| %126 = OpLabel |
| %129 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2 |
| %130 = OpLoad %int %129 |
| OpStore %x_87 %130 |
| %131 = OpLoad %bool %x_67 |
| OpStore %x_68_phi %131 |
| %132 = OpLoad %int %x_87 |
| OpStore %x_71_phi %132 |
| OpBranch %54 |
| %124 = OpLabel |
| OpReturn |
| %74 = OpLabel |
| %133 = OpLoad %bool %x_114 |
| OpStore %x_68_phi %133 |
| OpStore %x_71_phi %63 |
| OpBranch %54 |
| %54 = OpLabel |
| %134 = OpLoad %bool %x_68_phi |
| OpStore %x_68 %134 |
| %135 = OpLoad %int %x_71_phi |
| OpStore %x_71 %135 |
| %136 = OpLoad %bool %x_68 |
| OpStore %x_67_phi %136 |
| %137 = OpLoad %int %x_71 |
| OpStore %x_70_phi %137 |
| OpBranch %52 |
| %53 = OpLabel |
| %138 = OpLoad %bool %x_116_phi |
| OpSelectionMerge %139 None |
| OpBranchConditional %138 %140 %139 |
| %140 = OpLabel |
| OpBranch %48 |
| %139 = OpLabel |
| OpBranch %48 |
| %48 = OpLabel |
| OpStore %x_119_phi %int_0 |
| OpBranch %141 |
| %141 = OpLabel |
| OpLoopMerge %142 %143 None |
| OpBranch %144 |
| %144 = OpLabel |
| %148 = OpLoad %int %x_119_phi |
| %150 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 |
| %151 = OpLoad %float %150 |
| %153 = OpFOrdLessThan %bool %151 %float_0 |
| OpStore %x_134_phi %153 |
| %154 = OpLogicalNot %bool %153 |
| OpSelectionMerge %155 None |
| OpBranchConditional %154 %156 %155 |
| %156 = OpLabel |
| %157 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %158 = OpLoad %float %157 |
| %159 = OpConvertFToS %int %158 |
| %160 = OpINotEqual %bool %148 %159 |
| OpStore %x_133 %160 |
| %161 = OpLoad %bool %x_133 |
| OpStore %x_134_phi %161 |
| OpBranch %155 |
| %155 = OpLabel |
| %162 = OpLoad %bool %x_134_phi |
| OpSelectionMerge %163 None |
| OpBranchConditional %162 %164 %165 |
| %164 = OpLabel |
| OpBranch %163 |
| %165 = OpLabel |
| OpBranch %142 |
| %163 = OpLabel |
| OpSelectionMerge %171 None |
| OpSwitch %uint_0 %172 |
| %172 = OpLabel |
| OpStore %x_139_phi %false |
| OpStore %x_142_phi %int_0 |
| OpBranch %173 |
| %173 = OpLabel |
| OpLoopMerge %174 %175 None |
| OpBranch %176 |
| %176 = OpLabel |
| %183 = OpLoad %bool %x_139_phi |
| OpStore %x_139 %183 |
| %184 = OpLoad %int %x_142_phi |
| %185 = OpLoad %bool %x_139 |
| OpStore %x_188_phi %185 |
| %187 = OpSLessThanEqual %bool %184 %int_2 |
| OpSelectionMerge %188 None |
| OpBranchConditional %187 %189 %190 |
| %189 = OpLabel |
| OpBranch %188 |
| %190 = OpLabel |
| OpBranch %174 |
| %188 = OpLabel |
| %191 = OpAccessChain %_ptr_Function_int %tree %184 %uint_0 |
| %192 = OpLoad %int %191 |
| %194 = OpSLessThanEqual %bool %int_12 %192 |
| OpSelectionMerge %195 None |
| OpBranchConditional %194 %196 %197 |
| %196 = OpLabel |
| %199 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1 |
| %200 = OpLoad %int %199 |
| %201 = OpIEqual %bool %200 %int_n1 |
| OpSelectionMerge %202 None |
| OpBranchConditional %201 %203 %204 |
| %203 = OpLabel |
| %205 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %206 = OpLoad %float %205 |
| %207 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %208 = OpLoad %float %207 |
| %209 = OpFOrdLessThan %bool %206 %208 |
| OpSelectionMerge %210 None |
| OpBranchConditional %209 %211 %210 |
| %211 = OpLabel |
| OpBranch %212 |
| %212 = OpLabel |
| OpLoopMerge %213 %214 None |
| OpBranch %215 |
| %215 = OpLabel |
| OpKill |
| %214 = OpLabel |
| OpBranch %212 |
| %213 = OpLabel |
| OpReturn |
| %210 = OpLabel |
| %216 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1 |
| OpStore %216 %int_2 |
| %217 = OpAccessChain %_ptr_Function_BST %tree %int_2 |
| OpStore %217 %218 |
| OpBranch %219 |
| %219 = OpLabel |
| OpLoopMerge %220 %221 None |
| OpBranch %222 |
| %222 = OpLabel |
| %223 = OpLoad %bool %x_139 |
| OpStore %x_186_phi %223 |
| %224 = OpConvertFToS %int %206 |
| %225 = OpSLessThan %bool %int_0 %224 |
| OpSelectionMerge %226 None |
| OpBranchConditional %225 %227 %228 |
| %227 = OpLabel |
| OpBranch %226 |
| %228 = OpLabel |
| OpBranch %220 |
| %226 = OpLabel |
| OpStore %x_186_phi %true |
| OpBranch %220 |
| %221 = OpLabel |
| OpBranch %219 |
| %220 = OpLabel |
| %229 = OpLoad %bool %x_186_phi |
| OpStore %x_186 %229 |
| %230 = OpLoad %bool %x_186 |
| OpStore %x_188_phi %230 |
| %231 = OpLoad %bool %x_186 |
| OpSelectionMerge %232 None |
| OpBranchConditional %231 %233 %232 |
| %233 = OpLabel |
| OpBranch %174 |
| %232 = OpLabel |
| OpBranch %202 |
| %204 = OpLabel |
| %234 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1 |
| %235 = OpLoad %int %234 |
| OpStore %x_167 %235 |
| %236 = OpLoad %bool %x_139 |
| OpStore %x_140_phi %236 |
| %237 = OpLoad %int %x_167 |
| OpStore %x_143_phi %237 |
| OpBranch %175 |
| %202 = OpLabel |
| OpBranch %195 |
| %197 = OpLabel |
| %238 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2 |
| %239 = OpLoad %int %238 |
| %240 = OpIEqual %bool %239 %int_n1 |
| OpSelectionMerge %241 None |
| OpBranchConditional %240 %242 %243 |
| %242 = OpLabel |
| %244 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2 |
| OpStore %244 %int_2 |
| %245 = OpAccessChain %_ptr_Function_BST %tree %int_2 |
| OpStore %245 %218 |
| OpStore %x_188_phi %true |
| OpBranch %174 |
| %243 = OpLabel |
| %246 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2 |
| %247 = OpLoad %int %246 |
| OpStore %x_159 %247 |
| %248 = OpLoad %bool %x_139 |
| OpStore %x_140_phi %248 |
| %249 = OpLoad %int %x_159 |
| OpStore %x_143_phi %249 |
| OpBranch %175 |
| %241 = OpLabel |
| OpReturn |
| %195 = OpLabel |
| %250 = OpLoad %bool %x_186 |
| OpStore %x_140_phi %250 |
| OpStore %x_143_phi %184 |
| OpBranch %175 |
| %175 = OpLabel |
| %251 = OpLoad %bool %x_140_phi |
| OpStore %x_140 %251 |
| %252 = OpLoad %int %x_143_phi |
| OpStore %x_143 %252 |
| %253 = OpLoad %bool %x_140 |
| OpStore %x_139_phi %253 |
| %254 = OpLoad %int %x_143 |
| OpStore %x_142_phi %254 |
| OpBranch %173 |
| %174 = OpLabel |
| %255 = OpLoad %bool %x_188_phi |
| OpSelectionMerge %256 None |
| OpBranchConditional %255 %257 %256 |
| %257 = OpLabel |
| OpBranch %171 |
| %256 = OpLabel |
| OpBranch %171 |
| %171 = OpLabel |
| OpBranch %143 |
| %143 = OpLabel |
| %258 = OpIAdd %int %148 %int_1 |
| OpStore %x_120 %258 |
| %259 = OpLoad %int %x_120 |
| OpStore %x_119_phi %259 |
| OpBranch %141 |
| %142 = OpLabel |
| OpSelectionMerge %265 None |
| OpSwitch %uint_0 %266 |
| %266 = OpLabel |
| OpStore %x_193_phi %false |
| OpStore %x_196_phi %int_0 |
| OpBranch %267 |
| %267 = OpLabel |
| OpLoopMerge %268 %269 None |
| OpBranch %270 |
| %270 = OpLabel |
| %277 = OpLoad %bool %x_193_phi |
| OpStore %x_193 %277 |
| %278 = OpLoad %int %x_196_phi |
| %279 = OpLoad %bool %x_193 |
| OpStore %x_242_phi %279 |
| %281 = OpSLessThanEqual %bool %278 %int_3 |
| OpSelectionMerge %282 None |
| OpBranchConditional %281 %283 %284 |
| %283 = OpLabel |
| OpBranch %282 |
| %284 = OpLabel |
| OpBranch %268 |
| %282 = OpLabel |
| %285 = OpAccessChain %_ptr_Function_int %tree %278 %uint_0 |
| %286 = OpLoad %int %285 |
| %288 = OpSLessThanEqual %bool %int_15 %286 |
| OpSelectionMerge %289 None |
| OpBranchConditional %288 %290 %291 |
| %290 = OpLabel |
| %293 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1 |
| %294 = OpLoad %int %293 |
| %295 = OpIEqual %bool %294 %int_n1 |
| OpSelectionMerge %296 None |
| OpBranchConditional %295 %297 %298 |
| %297 = OpLabel |
| %299 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %300 = OpLoad %float %299 |
| %301 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %302 = OpLoad %float %301 |
| %303 = OpFOrdLessThan %bool %300 %302 |
| OpSelectionMerge %304 None |
| OpBranchConditional %303 %305 %304 |
| %305 = OpLabel |
| OpBranch %306 |
| %306 = OpLabel |
| OpLoopMerge %307 %308 None |
| OpBranch %309 |
| %309 = OpLabel |
| OpKill |
| %308 = OpLabel |
| OpBranch %306 |
| %307 = OpLabel |
| OpReturn |
| %304 = OpLabel |
| %310 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1 |
| OpStore %310 %int_3 |
| %311 = OpAccessChain %_ptr_Function_BST %tree %int_3 |
| OpStore %311 %312 |
| OpBranch %313 |
| %313 = OpLabel |
| OpLoopMerge %314 %315 None |
| OpBranch %316 |
| %316 = OpLabel |
| %317 = OpLoad %bool %x_193 |
| OpStore %x_240_phi %317 |
| %318 = OpConvertFToS %int %300 |
| %319 = OpSLessThan %bool %int_0 %318 |
| OpSelectionMerge %320 None |
| OpBranchConditional %319 %321 %322 |
| %321 = OpLabel |
| OpBranch %320 |
| %322 = OpLabel |
| OpBranch %314 |
| %320 = OpLabel |
| OpStore %x_240_phi %true |
| OpBranch %314 |
| %315 = OpLabel |
| OpBranch %313 |
| %314 = OpLabel |
| %323 = OpLoad %bool %x_240_phi |
| OpStore %x_240 %323 |
| %324 = OpLoad %bool %x_240 |
| OpStore %x_242_phi %324 |
| %325 = OpLoad %bool %x_240 |
| OpSelectionMerge %326 None |
| OpBranchConditional %325 %327 %326 |
| %327 = OpLabel |
| OpBranch %268 |
| %326 = OpLabel |
| OpBranch %296 |
| %298 = OpLabel |
| %328 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1 |
| %329 = OpLoad %int %328 |
| OpStore %x_221 %329 |
| %330 = OpLoad %bool %x_193 |
| OpStore %x_194_phi %330 |
| %331 = OpLoad %int %x_221 |
| OpStore %x_197_phi %331 |
| OpBranch %269 |
| %296 = OpLabel |
| OpBranch %289 |
| %291 = OpLabel |
| %332 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2 |
| %333 = OpLoad %int %332 |
| %334 = OpIEqual %bool %333 %int_n1 |
| OpSelectionMerge %335 None |
| OpBranchConditional %334 %336 %337 |
| %336 = OpLabel |
| %338 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2 |
| OpStore %338 %int_3 |
| %339 = OpAccessChain %_ptr_Function_BST %tree %int_3 |
| OpStore %339 %312 |
| OpStore %x_242_phi %true |
| OpBranch %268 |
| %337 = OpLabel |
| %340 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2 |
| %341 = OpLoad %int %340 |
| OpStore %x_213 %341 |
| %342 = OpLoad %bool %x_193 |
| OpStore %x_194_phi %342 |
| %343 = OpLoad %int %x_213 |
| OpStore %x_197_phi %343 |
| OpBranch %269 |
| %335 = OpLabel |
| OpReturn |
| %289 = OpLabel |
| %344 = OpLoad %bool %x_240 |
| OpStore %x_194_phi %344 |
| OpStore %x_197_phi %278 |
| OpBranch %269 |
| %269 = OpLabel |
| %345 = OpLoad %bool %x_194_phi |
| OpStore %x_194 %345 |
| %346 = OpLoad %int %x_197_phi |
| OpStore %x_197 %346 |
| %347 = OpLoad %bool %x_194 |
| OpStore %x_193_phi %347 |
| %348 = OpLoad %int %x_197 |
| OpStore %x_196_phi %348 |
| OpBranch %267 |
| %268 = OpLabel |
| %349 = OpLoad %bool %x_242_phi |
| OpSelectionMerge %350 None |
| OpBranchConditional %349 %351 %350 |
| %351 = OpLabel |
| OpBranch %265 |
| %350 = OpLabel |
| OpBranch %265 |
| %265 = OpLabel |
| OpSelectionMerge %357 None |
| OpSwitch %uint_0 %358 |
| %358 = OpLabel |
| OpStore %x_247_phi %false |
| OpStore %x_250_phi %int_0 |
| OpBranch %359 |
| %359 = OpLabel |
| OpLoopMerge %360 %361 None |
| OpBranch %362 |
| %362 = OpLabel |
| %369 = OpLoad %bool %x_247_phi |
| OpStore %x_247 %369 |
| %370 = OpLoad %int %x_250_phi |
| %371 = OpLoad %bool %x_247 |
| OpStore %x_296_phi %371 |
| %373 = OpSLessThanEqual %bool %370 %int_4 |
| OpSelectionMerge %374 None |
| OpBranchConditional %373 %375 %376 |
| %375 = OpLabel |
| OpBranch %374 |
| %376 = OpLabel |
| OpBranch %360 |
| %374 = OpLabel |
| %377 = OpAccessChain %_ptr_Function_int %tree %370 %uint_0 |
| %378 = OpLoad %int %377 |
| %380 = OpSLessThanEqual %bool %int_7 %378 |
| OpSelectionMerge %381 None |
| OpBranchConditional %380 %382 %383 |
| %382 = OpLabel |
| %385 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1 |
| %386 = OpLoad %int %385 |
| %387 = OpIEqual %bool %386 %int_n1 |
| OpSelectionMerge %388 None |
| OpBranchConditional %387 %389 %390 |
| %389 = OpLabel |
| %391 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %392 = OpLoad %float %391 |
| %393 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %394 = OpLoad %float %393 |
| %395 = OpFOrdLessThan %bool %392 %394 |
| OpSelectionMerge %396 None |
| OpBranchConditional %395 %397 %396 |
| %397 = OpLabel |
| OpBranch %398 |
| %398 = OpLabel |
| OpLoopMerge %399 %400 None |
| OpBranch %401 |
| %401 = OpLabel |
| OpKill |
| %400 = OpLabel |
| OpBranch %398 |
| %399 = OpLabel |
| OpReturn |
| %396 = OpLabel |
| %402 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1 |
| OpStore %402 %int_4 |
| %403 = OpAccessChain %_ptr_Function_BST %tree %int_4 |
| OpStore %403 %404 |
| OpBranch %405 |
| %405 = OpLabel |
| OpLoopMerge %406 %407 None |
| OpBranch %408 |
| %408 = OpLabel |
| %409 = OpLoad %bool %x_247 |
| OpStore %x_294_phi %409 |
| %410 = OpConvertFToS %int %392 |
| %411 = OpSLessThan %bool %int_0 %410 |
| OpSelectionMerge %412 None |
| OpBranchConditional %411 %413 %414 |
| %413 = OpLabel |
| OpBranch %412 |
| %414 = OpLabel |
| OpBranch %406 |
| %412 = OpLabel |
| OpStore %x_294_phi %true |
| OpBranch %406 |
| %407 = OpLabel |
| OpBranch %405 |
| %406 = OpLabel |
| %415 = OpLoad %bool %x_294_phi |
| OpStore %x_294 %415 |
| %416 = OpLoad %bool %x_294 |
| OpStore %x_296_phi %416 |
| %417 = OpLoad %bool %x_294 |
| OpSelectionMerge %418 None |
| OpBranchConditional %417 %419 %418 |
| %419 = OpLabel |
| OpBranch %360 |
| %418 = OpLabel |
| OpBranch %388 |
| %390 = OpLabel |
| %420 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1 |
| %421 = OpLoad %int %420 |
| OpStore %x_275 %421 |
| %422 = OpLoad %bool %x_247 |
| OpStore %x_248_phi %422 |
| %423 = OpLoad %int %x_275 |
| OpStore %x_251_phi %423 |
| OpBranch %361 |
| %388 = OpLabel |
| OpBranch %381 |
| %383 = OpLabel |
| %424 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2 |
| %425 = OpLoad %int %424 |
| %426 = OpIEqual %bool %425 %int_n1 |
| OpSelectionMerge %427 None |
| OpBranchConditional %426 %428 %429 |
| %428 = OpLabel |
| %430 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2 |
| OpStore %430 %int_4 |
| %431 = OpAccessChain %_ptr_Function_BST %tree %int_4 |
| OpStore %431 %404 |
| OpStore %x_296_phi %true |
| OpBranch %360 |
| %429 = OpLabel |
| %432 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2 |
| %433 = OpLoad %int %432 |
| OpStore %x_267 %433 |
| %434 = OpLoad %bool %x_247 |
| OpStore %x_248_phi %434 |
| %435 = OpLoad %int %x_267 |
| OpStore %x_251_phi %435 |
| OpBranch %361 |
| %427 = OpLabel |
| OpReturn |
| %381 = OpLabel |
| %436 = OpLoad %bool %x_294 |
| OpStore %x_248_phi %436 |
| OpStore %x_251_phi %370 |
| OpBranch %361 |
| %361 = OpLabel |
| %437 = OpLoad %bool %x_248_phi |
| OpStore %x_248 %437 |
| %438 = OpLoad %int %x_251_phi |
| OpStore %x_251 %438 |
| %439 = OpLoad %bool %x_248 |
| OpStore %x_247_phi %439 |
| %440 = OpLoad %int %x_251 |
| OpStore %x_250_phi %440 |
| OpBranch %359 |
| %360 = OpLabel |
| %441 = OpLoad %bool %x_296_phi |
| OpSelectionMerge %442 None |
| OpBranchConditional %441 %443 %442 |
| %443 = OpLabel |
| OpBranch %357 |
| %442 = OpLabel |
| OpBranch %357 |
| %357 = OpLabel |
| OpSelectionMerge %449 None |
| OpSwitch %uint_0 %450 |
| %450 = OpLabel |
| OpStore %x_301_phi %false |
| OpStore %x_304_phi %int_0 |
| OpBranch %451 |
| %451 = OpLabel |
| OpLoopMerge %452 %453 None |
| OpBranch %454 |
| %454 = OpLabel |
| %461 = OpLoad %bool %x_301_phi |
| OpStore %x_301 %461 |
| %462 = OpLoad %int %x_304_phi |
| %463 = OpLoad %bool %x_301 |
| OpStore %x_350_phi %463 |
| %464 = OpSLessThanEqual %bool %462 %int_5 |
| OpSelectionMerge %465 None |
| OpBranchConditional %464 %466 %467 |
| %466 = OpLabel |
| OpBranch %465 |
| %467 = OpLabel |
| OpBranch %452 |
| %465 = OpLabel |
| %468 = OpAccessChain %_ptr_Function_int %tree %462 %uint_0 |
| %469 = OpLoad %int %468 |
| %471 = OpSLessThanEqual %bool %int_8 %469 |
| OpSelectionMerge %472 None |
| OpBranchConditional %471 %473 %474 |
| %473 = OpLabel |
| %476 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1 |
| %477 = OpLoad %int %476 |
| %478 = OpIEqual %bool %477 %int_n1 |
| OpSelectionMerge %479 None |
| OpBranchConditional %478 %480 %481 |
| %480 = OpLabel |
| %482 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %483 = OpLoad %float %482 |
| %484 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %485 = OpLoad %float %484 |
| %486 = OpFOrdLessThan %bool %483 %485 |
| OpSelectionMerge %487 None |
| OpBranchConditional %486 %488 %487 |
| %488 = OpLabel |
| OpBranch %489 |
| %489 = OpLabel |
| OpLoopMerge %490 %491 None |
| OpBranch %492 |
| %492 = OpLabel |
| OpKill |
| %491 = OpLabel |
| OpBranch %489 |
| %490 = OpLabel |
| OpReturn |
| %487 = OpLabel |
| %493 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1 |
| OpStore %493 %int_5 |
| %494 = OpAccessChain %_ptr_Function_BST %tree %int_5 |
| OpStore %494 %495 |
| OpBranch %496 |
| %496 = OpLabel |
| OpLoopMerge %497 %498 None |
| OpBranch %499 |
| %499 = OpLabel |
| %500 = OpLoad %bool %x_301 |
| OpStore %x_348_phi %500 |
| %501 = OpConvertFToS %int %483 |
| %502 = OpSLessThan %bool %int_0 %501 |
| OpSelectionMerge %503 None |
| OpBranchConditional %502 %504 %505 |
| %504 = OpLabel |
| OpBranch %503 |
| %505 = OpLabel |
| OpBranch %497 |
| %503 = OpLabel |
| OpStore %x_348_phi %true |
| OpBranch %497 |
| %498 = OpLabel |
| OpBranch %496 |
| %497 = OpLabel |
| %506 = OpLoad %bool %x_348_phi |
| OpStore %x_348 %506 |
| %507 = OpLoad %bool %x_348 |
| OpStore %x_350_phi %507 |
| %508 = OpLoad %bool %x_348 |
| OpSelectionMerge %509 None |
| OpBranchConditional %508 %510 %509 |
| %510 = OpLabel |
| OpBranch %452 |
| %509 = OpLabel |
| OpBranch %479 |
| %481 = OpLabel |
| %511 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1 |
| %512 = OpLoad %int %511 |
| OpStore %x_329 %512 |
| %513 = OpLoad %bool %x_301 |
| OpStore %x_302_phi %513 |
| %514 = OpLoad %int %x_329 |
| OpStore %x_305_phi %514 |
| OpBranch %453 |
| %479 = OpLabel |
| OpBranch %472 |
| %474 = OpLabel |
| %515 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2 |
| %516 = OpLoad %int %515 |
| %517 = OpIEqual %bool %516 %int_n1 |
| OpSelectionMerge %518 None |
| OpBranchConditional %517 %519 %520 |
| %519 = OpLabel |
| %521 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2 |
| OpStore %521 %int_5 |
| %522 = OpAccessChain %_ptr_Function_BST %tree %int_5 |
| OpStore %522 %495 |
| OpStore %x_350_phi %true |
| OpBranch %452 |
| %520 = OpLabel |
| %523 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2 |
| %524 = OpLoad %int %523 |
| OpStore %x_321 %524 |
| %525 = OpLoad %bool %x_301 |
| OpStore %x_302_phi %525 |
| %526 = OpLoad %int %x_321 |
| OpStore %x_305_phi %526 |
| OpBranch %453 |
| %518 = OpLabel |
| OpReturn |
| %472 = OpLabel |
| %527 = OpLoad %bool %x_348 |
| OpStore %x_302_phi %527 |
| OpStore %x_305_phi %462 |
| OpBranch %453 |
| %453 = OpLabel |
| %528 = OpLoad %bool %x_302_phi |
| OpStore %x_302 %528 |
| %529 = OpLoad %int %x_305_phi |
| OpStore %x_305 %529 |
| %530 = OpLoad %bool %x_302 |
| OpStore %x_301_phi %530 |
| %531 = OpLoad %int %x_305 |
| OpStore %x_304_phi %531 |
| OpBranch %451 |
| %452 = OpLabel |
| %532 = OpLoad %bool %x_350_phi |
| OpSelectionMerge %533 None |
| OpBranchConditional %532 %534 %533 |
| %534 = OpLabel |
| OpBranch %449 |
| %533 = OpLabel |
| OpBranch %449 |
| %449 = OpLabel |
| OpSelectionMerge %540 None |
| OpSwitch %uint_0 %541 |
| %541 = OpLabel |
| OpStore %x_355_phi %false |
| OpStore %x_358_phi %int_0 |
| OpBranch %542 |
| %542 = OpLabel |
| OpLoopMerge %543 %544 None |
| OpBranch %545 |
| %545 = OpLabel |
| %552 = OpLoad %bool %x_355_phi |
| OpStore %x_355 %552 |
| %553 = OpLoad %int %x_358_phi |
| %554 = OpLoad %bool %x_355 |
| OpStore %x_404_phi %554 |
| %556 = OpSLessThanEqual %bool %553 %int_6 |
| OpSelectionMerge %557 None |
| OpBranchConditional %556 %558 %559 |
| %558 = OpLabel |
| OpBranch %557 |
| %559 = OpLabel |
| OpBranch %543 |
| %557 = OpLabel |
| %560 = OpAccessChain %_ptr_Function_int %tree %553 %uint_0 |
| %561 = OpLoad %int %560 |
| %562 = OpSLessThanEqual %bool %int_2 %561 |
| OpSelectionMerge %563 None |
| OpBranchConditional %562 %564 %565 |
| %564 = OpLabel |
| %567 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1 |
| %568 = OpLoad %int %567 |
| %569 = OpIEqual %bool %568 %int_n1 |
| OpSelectionMerge %570 None |
| OpBranchConditional %569 %571 %572 |
| %571 = OpLabel |
| %573 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %574 = OpLoad %float %573 |
| %575 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %576 = OpLoad %float %575 |
| %577 = OpFOrdLessThan %bool %574 %576 |
| OpSelectionMerge %578 None |
| OpBranchConditional %577 %579 %578 |
| %579 = OpLabel |
| OpBranch %580 |
| %580 = OpLabel |
| OpLoopMerge %581 %582 None |
| OpBranch %583 |
| %583 = OpLabel |
| OpKill |
| %582 = OpLabel |
| OpBranch %580 |
| %581 = OpLabel |
| OpReturn |
| %578 = OpLabel |
| %584 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1 |
| OpStore %584 %int_6 |
| %585 = OpAccessChain %_ptr_Function_BST %tree %int_6 |
| OpStore %585 %586 |
| OpBranch %587 |
| %587 = OpLabel |
| OpLoopMerge %588 %589 None |
| OpBranch %590 |
| %590 = OpLabel |
| %591 = OpLoad %bool %x_355 |
| OpStore %x_402_phi %591 |
| %592 = OpConvertFToS %int %574 |
| %593 = OpSLessThan %bool %int_0 %592 |
| OpSelectionMerge %594 None |
| OpBranchConditional %593 %595 %596 |
| %595 = OpLabel |
| OpBranch %594 |
| %596 = OpLabel |
| OpBranch %588 |
| %594 = OpLabel |
| OpStore %x_402_phi %true |
| OpBranch %588 |
| %589 = OpLabel |
| OpBranch %587 |
| %588 = OpLabel |
| %597 = OpLoad %bool %x_402_phi |
| OpStore %x_402 %597 |
| %598 = OpLoad %bool %x_402 |
| OpStore %x_404_phi %598 |
| %599 = OpLoad %bool %x_402 |
| OpSelectionMerge %600 None |
| OpBranchConditional %599 %601 %600 |
| %601 = OpLabel |
| OpBranch %543 |
| %600 = OpLabel |
| OpBranch %570 |
| %572 = OpLabel |
| %602 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1 |
| %603 = OpLoad %int %602 |
| OpStore %x_383 %603 |
| %604 = OpLoad %bool %x_355 |
| OpStore %x_356_phi %604 |
| %605 = OpLoad %int %x_383 |
| OpStore %x_359_phi %605 |
| OpBranch %544 |
| %570 = OpLabel |
| OpBranch %563 |
| %565 = OpLabel |
| %606 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2 |
| %607 = OpLoad %int %606 |
| %608 = OpIEqual %bool %607 %int_n1 |
| OpSelectionMerge %609 None |
| OpBranchConditional %608 %610 %611 |
| %610 = OpLabel |
| %612 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2 |
| OpStore %612 %int_6 |
| %613 = OpAccessChain %_ptr_Function_BST %tree %int_6 |
| OpStore %613 %586 |
| OpStore %x_404_phi %true |
| OpBranch %543 |
| %611 = OpLabel |
| %614 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2 |
| %615 = OpLoad %int %614 |
| OpStore %x_375 %615 |
| %616 = OpLoad %bool %x_355 |
| OpStore %x_356_phi %616 |
| %617 = OpLoad %int %x_375 |
| OpStore %x_359_phi %617 |
| OpBranch %544 |
| %609 = OpLabel |
| OpReturn |
| %563 = OpLabel |
| %618 = OpLoad %bool %x_402 |
| OpStore %x_356_phi %618 |
| OpStore %x_359_phi %553 |
| OpBranch %544 |
| %544 = OpLabel |
| %619 = OpLoad %bool %x_356_phi |
| OpStore %x_356 %619 |
| %620 = OpLoad %int %x_359_phi |
| OpStore %x_359 %620 |
| %621 = OpLoad %bool %x_356 |
| OpStore %x_355_phi %621 |
| %622 = OpLoad %int %x_359 |
| OpStore %x_358_phi %622 |
| OpBranch %542 |
| %543 = OpLabel |
| %623 = OpLoad %bool %x_404_phi |
| OpSelectionMerge %624 None |
| OpBranchConditional %623 %625 %624 |
| %625 = OpLabel |
| OpBranch %540 |
| %624 = OpLabel |
| OpBranch %540 |
| %540 = OpLabel |
| OpSelectionMerge %631 None |
| OpSwitch %uint_0 %632 |
| %632 = OpLabel |
| OpStore %x_409_phi %false |
| OpStore %x_412_phi %int_0 |
| OpBranch %633 |
| %633 = OpLabel |
| OpLoopMerge %634 %635 None |
| OpBranch %636 |
| %636 = OpLabel |
| %643 = OpLoad %bool %x_409_phi |
| OpStore %x_409 %643 |
| %644 = OpLoad %int %x_412_phi |
| %645 = OpLoad %bool %x_409 |
| OpStore %x_458_phi %645 |
| %646 = OpSLessThanEqual %bool %644 %int_7 |
| OpSelectionMerge %647 None |
| OpBranchConditional %646 %648 %649 |
| %648 = OpLabel |
| OpBranch %647 |
| %649 = OpLabel |
| OpBranch %634 |
| %647 = OpLabel |
| %650 = OpAccessChain %_ptr_Function_int %tree %644 %uint_0 |
| %651 = OpLoad %int %650 |
| %652 = OpSLessThanEqual %bool %int_6 %651 |
| OpSelectionMerge %653 None |
| OpBranchConditional %652 %654 %655 |
| %654 = OpLabel |
| %657 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1 |
| %658 = OpLoad %int %657 |
| %659 = OpIEqual %bool %658 %int_n1 |
| OpSelectionMerge %660 None |
| OpBranchConditional %659 %661 %662 |
| %661 = OpLabel |
| %663 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %664 = OpLoad %float %663 |
| %665 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %666 = OpLoad %float %665 |
| %667 = OpFOrdLessThan %bool %664 %666 |
| OpSelectionMerge %668 None |
| OpBranchConditional %667 %669 %668 |
| %669 = OpLabel |
| OpBranch %670 |
| %670 = OpLabel |
| OpLoopMerge %671 %672 None |
| OpBranch %673 |
| %673 = OpLabel |
| OpKill |
| %672 = OpLabel |
| OpBranch %670 |
| %671 = OpLabel |
| OpReturn |
| %668 = OpLabel |
| %674 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1 |
| OpStore %674 %int_7 |
| %675 = OpAccessChain %_ptr_Function_BST %tree %int_7 |
| OpStore %675 %676 |
| OpBranch %677 |
| %677 = OpLabel |
| OpLoopMerge %678 %679 None |
| OpBranch %680 |
| %680 = OpLabel |
| %681 = OpLoad %bool %x_409 |
| OpStore %x_456_phi %681 |
| %682 = OpConvertFToS %int %664 |
| %683 = OpSLessThan %bool %int_0 %682 |
| OpSelectionMerge %684 None |
| OpBranchConditional %683 %685 %686 |
| %685 = OpLabel |
| OpBranch %684 |
| %686 = OpLabel |
| OpBranch %678 |
| %684 = OpLabel |
| OpStore %x_456_phi %true |
| OpBranch %678 |
| %679 = OpLabel |
| OpBranch %677 |
| %678 = OpLabel |
| %687 = OpLoad %bool %x_456_phi |
| OpStore %x_456 %687 |
| %688 = OpLoad %bool %x_456 |
| OpStore %x_458_phi %688 |
| %689 = OpLoad %bool %x_456 |
| OpSelectionMerge %690 None |
| OpBranchConditional %689 %691 %690 |
| %691 = OpLabel |
| OpBranch %634 |
| %690 = OpLabel |
| OpBranch %660 |
| %662 = OpLabel |
| %692 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1 |
| %693 = OpLoad %int %692 |
| OpStore %x_437 %693 |
| %694 = OpLoad %bool %x_409 |
| OpStore %x_410_phi %694 |
| %695 = OpLoad %int %x_437 |
| OpStore %x_413_phi %695 |
| OpBranch %635 |
| %660 = OpLabel |
| OpBranch %653 |
| %655 = OpLabel |
| %696 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2 |
| %697 = OpLoad %int %696 |
| %698 = OpIEqual %bool %697 %int_n1 |
| OpSelectionMerge %699 None |
| OpBranchConditional %698 %700 %701 |
| %700 = OpLabel |
| %702 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2 |
| OpStore %702 %int_7 |
| %703 = OpAccessChain %_ptr_Function_BST %tree %int_7 |
| OpStore %703 %676 |
| OpStore %x_458_phi %true |
| OpBranch %634 |
| %701 = OpLabel |
| %704 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2 |
| %705 = OpLoad %int %704 |
| OpStore %x_429 %705 |
| %706 = OpLoad %bool %x_409 |
| OpStore %x_410_phi %706 |
| %707 = OpLoad %int %x_429 |
| OpStore %x_413_phi %707 |
| OpBranch %635 |
| %699 = OpLabel |
| OpReturn |
| %653 = OpLabel |
| %708 = OpLoad %bool %x_456 |
| OpStore %x_410_phi %708 |
| OpStore %x_413_phi %644 |
| OpBranch %635 |
| %635 = OpLabel |
| %709 = OpLoad %bool %x_410_phi |
| OpStore %x_410 %709 |
| %710 = OpLoad %int %x_413_phi |
| OpStore %x_413 %710 |
| %711 = OpLoad %bool %x_410 |
| OpStore %x_409_phi %711 |
| %712 = OpLoad %int %x_413 |
| OpStore %x_412_phi %712 |
| OpBranch %633 |
| %634 = OpLabel |
| %713 = OpLoad %bool %x_458_phi |
| OpSelectionMerge %714 None |
| OpBranchConditional %713 %715 %714 |
| %715 = OpLabel |
| OpBranch %631 |
| %714 = OpLabel |
| OpBranch %631 |
| %631 = OpLabel |
| OpSelectionMerge %721 None |
| OpSwitch %uint_0 %722 |
| %722 = OpLabel |
| OpStore %x_463_phi %false |
| OpStore %x_466_phi %int_0 |
| OpBranch %723 |
| %723 = OpLabel |
| OpLoopMerge %724 %725 None |
| OpBranch %726 |
| %726 = OpLabel |
| %733 = OpLoad %bool %x_463_phi |
| OpStore %x_463 %733 |
| %734 = OpLoad %int %x_466_phi |
| %735 = OpLoad %bool %x_463 |
| OpStore %x_512_phi %735 |
| %736 = OpSLessThanEqual %bool %734 %int_8 |
| OpSelectionMerge %737 None |
| OpBranchConditional %736 %738 %739 |
| %738 = OpLabel |
| OpBranch %737 |
| %739 = OpLabel |
| OpBranch %724 |
| %737 = OpLabel |
| %740 = OpAccessChain %_ptr_Function_int %tree %734 %uint_0 |
| %741 = OpLoad %int %740 |
| %743 = OpSLessThanEqual %bool %int_17 %741 |
| OpSelectionMerge %744 None |
| OpBranchConditional %743 %745 %746 |
| %745 = OpLabel |
| %748 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1 |
| %749 = OpLoad %int %748 |
| %750 = OpIEqual %bool %749 %int_n1 |
| OpSelectionMerge %751 None |
| OpBranchConditional %750 %752 %753 |
| %752 = OpLabel |
| %754 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %755 = OpLoad %float %754 |
| %756 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %757 = OpLoad %float %756 |
| %758 = OpFOrdLessThan %bool %755 %757 |
| OpSelectionMerge %759 None |
| OpBranchConditional %758 %760 %759 |
| %760 = OpLabel |
| OpBranch %761 |
| %761 = OpLabel |
| OpLoopMerge %762 %763 None |
| OpBranch %764 |
| %764 = OpLabel |
| OpKill |
| %763 = OpLabel |
| OpBranch %761 |
| %762 = OpLabel |
| OpReturn |
| %759 = OpLabel |
| %765 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1 |
| OpStore %765 %int_8 |
| %766 = OpAccessChain %_ptr_Function_BST %tree %int_8 |
| OpStore %766 %767 |
| OpBranch %768 |
| %768 = OpLabel |
| OpLoopMerge %769 %770 None |
| OpBranch %771 |
| %771 = OpLabel |
| %772 = OpLoad %bool %x_463 |
| OpStore %x_510_phi %772 |
| %773 = OpConvertFToS %int %755 |
| %774 = OpSLessThan %bool %int_0 %773 |
| OpSelectionMerge %775 None |
| OpBranchConditional %774 %776 %777 |
| %776 = OpLabel |
| OpBranch %775 |
| %777 = OpLabel |
| OpBranch %769 |
| %775 = OpLabel |
| OpStore %x_510_phi %true |
| OpBranch %769 |
| %770 = OpLabel |
| OpBranch %768 |
| %769 = OpLabel |
| %778 = OpLoad %bool %x_510_phi |
| OpStore %x_510 %778 |
| %779 = OpLoad %bool %x_510 |
| OpStore %x_512_phi %779 |
| %780 = OpLoad %bool %x_510 |
| OpSelectionMerge %781 None |
| OpBranchConditional %780 %782 %781 |
| %782 = OpLabel |
| OpBranch %724 |
| %781 = OpLabel |
| OpBranch %751 |
| %753 = OpLabel |
| %783 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1 |
| %784 = OpLoad %int %783 |
| OpStore %x_491 %784 |
| %785 = OpLoad %bool %x_463 |
| OpStore %x_464_phi %785 |
| %786 = OpLoad %int %x_491 |
| OpStore %x_467_phi %786 |
| OpBranch %725 |
| %751 = OpLabel |
| OpBranch %744 |
| %746 = OpLabel |
| %787 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2 |
| %788 = OpLoad %int %787 |
| %789 = OpIEqual %bool %788 %int_n1 |
| OpSelectionMerge %790 None |
| OpBranchConditional %789 %791 %792 |
| %791 = OpLabel |
| %793 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2 |
| OpStore %793 %int_8 |
| %794 = OpAccessChain %_ptr_Function_BST %tree %int_8 |
| OpStore %794 %767 |
| OpStore %x_512_phi %true |
| OpBranch %724 |
| %792 = OpLabel |
| %795 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2 |
| %796 = OpLoad %int %795 |
| OpStore %x_483 %796 |
| %797 = OpLoad %bool %x_463 |
| OpStore %x_464_phi %797 |
| %798 = OpLoad %int %x_483 |
| OpStore %x_467_phi %798 |
| OpBranch %725 |
| %790 = OpLabel |
| OpReturn |
| %744 = OpLabel |
| %799 = OpLoad %bool %x_510 |
| OpStore %x_464_phi %799 |
| OpStore %x_467_phi %734 |
| OpBranch %725 |
| %725 = OpLabel |
| %800 = OpLoad %bool %x_464_phi |
| OpStore %x_464 %800 |
| %801 = OpLoad %int %x_467_phi |
| OpStore %x_467 %801 |
| %802 = OpLoad %bool %x_464 |
| OpStore %x_463_phi %802 |
| %803 = OpLoad %int %x_467 |
| OpStore %x_466_phi %803 |
| OpBranch %723 |
| %724 = OpLabel |
| %804 = OpLoad %bool %x_512_phi |
| OpSelectionMerge %805 None |
| OpBranchConditional %804 %806 %805 |
| %806 = OpLabel |
| OpBranch %721 |
| %805 = OpLabel |
| OpBranch %721 |
| %721 = OpLabel |
| OpSelectionMerge %812 None |
| OpSwitch %uint_0 %813 |
| %813 = OpLabel |
| OpStore %x_517_phi %false |
| OpStore %x_520_phi %int_0 |
| OpBranch %814 |
| %814 = OpLabel |
| OpLoopMerge %815 %816 None |
| OpBranch %817 |
| %817 = OpLabel |
| %824 = OpLoad %bool %x_517_phi |
| OpStore %x_517 %824 |
| %825 = OpLoad %int %x_520_phi |
| %826 = OpLoad %bool %x_517 |
| OpStore %x_566_phi %826 |
| %827 = OpSLessThanEqual %bool %825 %int_9 |
| OpSelectionMerge %828 None |
| OpBranchConditional %827 %829 %830 |
| %829 = OpLabel |
| OpBranch %828 |
| %830 = OpLabel |
| OpBranch %815 |
| %828 = OpLabel |
| %831 = OpAccessChain %_ptr_Function_int %tree %825 %uint_0 |
| %832 = OpLoad %int %831 |
| %834 = OpSLessThanEqual %bool %int_13 %832 |
| OpSelectionMerge %835 None |
| OpBranchConditional %834 %836 %837 |
| %836 = OpLabel |
| %839 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1 |
| %840 = OpLoad %int %839 |
| %841 = OpIEqual %bool %840 %int_n1 |
| OpSelectionMerge %842 None |
| OpBranchConditional %841 %843 %844 |
| %843 = OpLabel |
| %845 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1 |
| %846 = OpLoad %float %845 |
| %847 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0 |
| %848 = OpLoad %float %847 |
| %849 = OpFOrdLessThan %bool %846 %848 |
| OpSelectionMerge %850 None |
| OpBranchConditional %849 %851 %850 |
| %851 = OpLabel |
| OpBranch %852 |
| %852 = OpLabel |
| OpLoopMerge %853 %854 None |
| OpBranch %855 |
| %855 = OpLabel |
| OpKill |
| %854 = OpLabel |
| OpBranch %852 |
| %853 = OpLabel |
| OpReturn |
| %850 = OpLabel |
| %856 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1 |
| OpStore %856 %int_9 |
| %857 = OpAccessChain %_ptr_Function_BST %tree %int_9 |
| OpStore %857 %858 |
| OpBranch %859 |
| %859 = OpLabel |
| OpLoopMerge %860 %861 None |
| OpBranch %862 |
| %862 = OpLabel |
| %863 = OpLoad %bool %x_517 |
| OpStore %x_564_phi %863 |
| %864 = OpConvertFToS %int %846 |
| %865 = OpSLessThan %bool %int_0 %864 |
| OpSelectionMerge %866 None |
| OpBranchConditional %865 %867 %868 |
| %867 = OpLabel |
| OpBranch %866 |
| %868 = OpLabel |
| OpBranch %860 |
| %866 = OpLabel |
| OpStore %x_564_phi %true |
| OpBranch %860 |
| %861 = OpLabel |
| OpBranch %859 |
| %860 = OpLabel |
| %869 = OpLoad %bool %x_564_phi |
| OpStore %x_564 %869 |
| %870 = OpLoad %bool %x_564 |
| OpStore %x_566_phi %870 |
| %871 = OpLoad %bool %x_564 |
| OpSelectionMerge %872 None |
| OpBranchConditional %871 %873 %872 |
| %873 = OpLabel |
| OpBranch %815 |
| %872 = OpLabel |
| OpBranch %842 |
| %844 = OpLabel |
| %874 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1 |
| %875 = OpLoad %int %874 |
| OpStore %x_545 %875 |
| %876 = OpLoad %bool %x_517 |
| OpStore %x_518_phi %876 |
| %877 = OpLoad %int %x_545 |
| OpStore %x_521_phi %877 |
| OpBranch %816 |
| %842 = OpLabel |
| OpBranch %835 |
| %837 = OpLabel |
| %878 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2 |
| %879 = OpLoad %int %878 |
| %880 = OpIEqual %bool %879 %int_n1 |
| OpSelectionMerge %881 None |
| OpBranchConditional %880 %882 %883 |
| %882 = OpLabel |
| %884 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2 |
| OpStore %884 %int_9 |
| %885 = OpAccessChain %_ptr_Function_BST %tree %int_9 |
| OpStore %885 %858 |
| OpStore %x_566_phi %true |
| OpBranch %815 |
| %883 = OpLabel |
| %886 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2 |
| %887 = OpLoad %int %886 |
| OpStore %x_537 %887 |
| %888 = OpLoad %bool %x_517 |
| OpStore %x_518_phi %888 |
| %889 = OpLoad %int %x_537 |
| OpStore %x_521_phi %889 |
| OpBranch %816 |
| %881 = OpLabel |
| OpReturn |
| %835 = OpLabel |
| %890 = OpLoad %bool %x_564 |
| OpStore %x_518_phi %890 |
| OpStore %x_521_phi %825 |
| OpBranch %816 |
| %816 = OpLabel |
| %891 = OpLoad %bool %x_518_phi |
| OpStore %x_518 %891 |
| %892 = OpLoad %int %x_521_phi |
| OpStore %x_521 %892 |
| %893 = OpLoad %bool %x_518 |
| OpStore %x_517_phi %893 |
| %894 = OpLoad %int %x_521 |
| OpStore %x_520_phi %894 |
| OpBranch %814 |
| %815 = OpLabel |
| %895 = OpLoad %bool %x_566_phi |
| OpSelectionMerge %896 None |
| OpBranchConditional %895 %897 %896 |
| %897 = OpLabel |
| OpBranch %812 |
| %896 = OpLabel |
| OpBranch %812 |
| %812 = OpLabel |
| OpStore %x_569_phi %int_0 |
| OpStore %x_572_phi %int_0 |
| OpStore %x_574_phi %int_0 |
| OpBranch %898 |
| %898 = OpLabel |
| OpLoopMerge %899 %900 None |
| OpBranch %901 |
| %901 = OpLabel |
| %908 = OpLoad %int %x_569_phi |
| %909 = OpLoad %int %x_572_phi |
| OpStore %x_572 %909 |
| %910 = OpLoad %int %x_574_phi |
| %912 = OpSLessThan %bool %910 %int_20 |
| OpSelectionMerge %913 None |
| OpBranchConditional %912 %914 %915 |
| %914 = OpLabel |
| OpBranch %913 |
| %915 = OpLabel |
| OpBranch %899 |
| %913 = OpLabel |
| OpSelectionMerge %919 None |
| OpSwitch %uint_0 %920 |
| %920 = OpLabel |
| OpStore %x_582_phi %int_0 |
| OpBranch %921 |
| %921 = OpLabel |
| OpLoopMerge %922 %923 None |
| OpBranch %924 |
| %924 = OpLabel |
| %925 = OpLoad %int %x_582_phi |
| OpStore %x_597_phi %908 |
| OpStore %x_598_phi %false |
| %926 = OpINotEqual %bool %925 %int_n1 |
| OpSelectionMerge %927 None |
| OpBranchConditional %926 %928 %929 |
| %928 = OpLabel |
| OpBranch %927 |
| %929 = OpLabel |
| OpBranch %922 |
| %927 = OpLabel |
| %930 = OpAccessChain %_ptr_Function_BST %tree %925 |
| %931 = OpLoad %BST %930 |
| %932 = OpCompositeExtract %int %931 0 |
| %933 = OpCompositeExtract %int %931 1 |
| %934 = OpCompositeExtract %int %931 2 |
| %935 = OpIEqual %bool %932 %910 |
| OpSelectionMerge %936 None |
| OpBranchConditional %935 %937 %936 |
| %937 = OpLabel |
| OpStore %x_597_phi %910 |
| OpStore %x_598_phi %true |
| OpBranch %922 |
| %936 = OpLabel |
| OpBranch %923 |
| %923 = OpLabel |
| %939 = OpSGreaterThan %bool %910 %932 |
| %938 = OpSelect %int %939 %934 %933 |
| OpStore %x_582_phi %938 |
| OpBranch %921 |
| %922 = OpLabel |
| %940 = OpLoad %int %x_597_phi |
| OpStore %x_597 %940 |
| %941 = OpLoad %bool %x_598_phi |
| %942 = OpLoad %int %x_597 |
| OpStore %x_570_phi %942 |
| OpSelectionMerge %943 None |
| OpBranchConditional %941 %944 %943 |
| %944 = OpLabel |
| OpBranch %919 |
| %943 = OpLabel |
| OpStore %x_570_phi %int_n1 |
| OpBranch %919 |
| %919 = OpLabel |
| %950 = OpLoad %int %x_570_phi |
| OpStore %x_570 %950 |
| OpSelectionMerge %951 None |
| OpSwitch %910 %952 2 %953 5 %953 6 %953 7 %953 8 %953 9 %953 12 %953 13 %953 15 %953 17 %953 |
| %953 = OpLabel |
| %954 = OpLoad %int %x_572 |
| OpStore %x_607_phi %954 |
| %955 = OpLoad %int %x_570 |
| %956 = OpCopyObject %int %910 |
| %957 = OpIEqual %bool %955 %956 |
| OpSelectionMerge %958 None |
| OpBranchConditional %957 %959 %958 |
| %959 = OpLabel |
| %961 = OpLoad %int %x_572 |
| %962 = OpCopyObject %int %int_1 |
| %963 = OpIAdd %int %961 %962 |
| %960 = OpCopyObject %int %963 |
| OpStore %x_606 %960 |
| %964 = OpLoad %int %x_606 |
| OpStore %x_607_phi %964 |
| OpBranch %958 |
| %958 = OpLabel |
| %965 = OpLoad %int %x_607_phi |
| OpStore %x_607 %965 |
| %966 = OpLoad %int %x_607 |
| OpStore %x_573_phi %966 |
| OpBranch %951 |
| %952 = OpLabel |
| %967 = OpLoad %int %x_572 |
| OpStore %x_612_phi %967 |
| %968 = OpLoad %int %x_570 |
| %969 = OpCopyObject %int %int_n1 |
| %970 = OpIEqual %bool %968 %969 |
| OpSelectionMerge %971 None |
| OpBranchConditional %970 %972 %971 |
| %972 = OpLabel |
| %974 = OpLoad %int %x_572 |
| %975 = OpCopyObject %int %int_1 |
| %976 = OpIAdd %int %974 %975 |
| %973 = OpCopyObject %int %976 |
| OpStore %x_611 %973 |
| %977 = OpLoad %int %x_611 |
| OpStore %x_612_phi %977 |
| OpBranch %971 |
| %971 = OpLabel |
| %978 = OpLoad %int %x_612_phi |
| OpStore %x_612 %978 |
| %979 = OpLoad %int %x_612 |
| OpStore %x_573_phi %979 |
| OpBranch %951 |
| %951 = OpLabel |
| %980 = OpLoad %int %x_573_phi |
| OpBranch %900 |
| %900 = OpLabel |
| %981 = OpIAdd %int %910 %int_1 |
| OpStore %x_575 %981 |
| %982 = OpLoad %int %x_570 |
| OpStore %x_569_phi %982 |
| OpStore %x_572_phi %980 |
| %983 = OpLoad %int %x_575 |
| OpStore %x_574_phi %983 |
| OpBranch %898 |
| %899 = OpLabel |
| %984 = OpLoad %int %x_572 |
| %985 = OpCopyObject %int %int_20 |
| %986 = OpIEqual %bool %984 %985 |
| OpSelectionMerge %987 None |
| OpBranchConditional %986 %988 %989 |
| %988 = OpLabel |
| OpStore %x_GLF_color %991 |
| OpBranch %987 |
| %989 = OpLabel |
| OpStore %x_GLF_color %992 |
| OpBranch %987 |
| %987 = OpLabel |
| OpReturn |
| OpFunctionEnd |
| %tint_symbol_3 = OpFunction %void None %993 |
| %tint_symbol_1 = OpFunctionParameter %main_out |
| %997 = OpLabel |
| %998 = OpCompositeExtract %v4float %tint_symbol_1 0 |
| OpStore %tint_symbol_2 %998 |
| OpReturn |
| OpFunctionEnd |
| %main = OpFunction %void None %15 |
| %1000 = OpLabel |
| %1001 = OpLoad %v4float %tint_symbol |
| OpStore %gl_FragCoord %1001 |
| %1002 = OpFunctionCall %void %main_1 |
| %1004 = OpLoad %v4float %x_GLF_color |
| %1005 = OpCompositeConstruct %main_out %1004 |
| %1003 = OpFunctionCall %void %tint_symbol_3 %1005 |
| OpReturn |
| OpFunctionEnd |