; 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