; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 619 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol_1 OpExecutionMode %main OriginUpperLeft OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol_1 "tint_symbol_1" 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_356 "x_356" OpName %x_58_phi "x_58_phi" OpName %x_86_phi "x_86_phi" OpName %x_353_phi "x_353_phi" OpName %x_356_phi "x_356_phi" OpName %x_358_phi "x_358_phi" OpName %x_84 "x_84" OpName %x_76 "x_76" OpName %x_59 "x_59" OpName %x_59_phi "x_59_phi" OpName %x_91_phi "x_91_phi" OpName %x_119_phi "x_119_phi" OpName %x_117 "x_117" OpName %x_109 "x_109" OpName %x_92 "x_92" OpName %x_92_phi "x_92_phi" OpName %x_124_phi "x_124_phi" OpName %x_152_phi "x_152_phi" OpName %x_150 "x_150" OpName %x_142 "x_142" OpName %x_125 "x_125" OpName %x_125_phi "x_125_phi" OpName %x_157_phi "x_157_phi" OpName %x_185_phi "x_185_phi" OpName %x_183 "x_183" OpName %x_175 "x_175" OpName %x_158 "x_158" OpName %x_158_phi "x_158_phi" OpName %x_190_phi "x_190_phi" OpName %x_218_phi "x_218_phi" OpName %x_216 "x_216" OpName %x_208 "x_208" OpName %x_191 "x_191" OpName %x_191_phi "x_191_phi" OpName %x_223_phi "x_223_phi" OpName %x_251_phi "x_251_phi" OpName %x_249 "x_249" OpName %x_241 "x_241" OpName %x_224 "x_224" OpName %x_224_phi "x_224_phi" OpName %x_256_phi "x_256_phi" OpName %x_284_phi "x_284_phi" OpName %x_282 "x_282" OpName %x_274 "x_274" OpName %x_257 "x_257" OpName %x_257_phi "x_257_phi" OpName %x_289_phi "x_289_phi" OpName %x_317_phi "x_317_phi" OpName %x_315 "x_315" OpName %x_307 "x_307" OpName %x_290 "x_290" OpName %x_290_phi "x_290_phi" OpName %x_322_phi "x_322_phi" OpName %x_350_phi "x_350_phi" OpName %x_348 "x_348" OpName %x_340 "x_340" OpName %x_323 "x_323" OpName %x_323_phi "x_323_phi" OpName %x_381 "x_381" OpName %x_391 "x_391" OpName %x_396 "x_396" OpName %x_359 "x_359" OpName %x_354_phi "x_354_phi" OpName %x_357_phi "x_357_phi" OpName %x_366_phi "x_366_phi" OpName %x_381_phi "x_381_phi" OpName %x_382_phi "x_382_phi" OpName %x_354 "x_354" OpName %x_390 "x_390" OpName %x_395 "x_395" OpName %x_391_phi "x_391_phi" OpName %x_396_phi "x_396_phi" OpName %main_out "main_out" OpMemberName %main_out 0 "x_GLF_color_1" OpName %tint_symbol_2 "tint_symbol_2" OpName %tint_symbol "tint_symbol" OpName %main "main" OpDecorate %tint_symbol_1 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 %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %5 = OpConstantNull %v4float %x_GLF_color = OpVariable %_ptr_Private_v4float Private %5 %_ptr_Output_v4float = OpTypePointer Output %v4float %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5 %void = OpTypeVoid %8 = 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 %19 = OpConstantNull %_arr_BST_uint_10 %_ptr_Function_int = OpTypePointer Function %int %22 = OpConstantNull %int %bool = OpTypeBool %_ptr_Function_bool = OpTypePointer Function %bool %27 = OpConstantNull %bool %int_0 = OpConstant %int 0 %_ptr_Function_BST = OpTypePointer Function %BST %int_9 = OpConstant %int 9 %int_n1 = OpConstant %int -1 %36 = 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 %71 = OpConstantComposite %BST %int_5 %int_n1 %int_n1 %true = OpConstantTrue %bool %uint_2 = OpConstant %uint 2 %int_2 = OpConstant %int 2 %int_12 = OpConstant %int 12 %126 = OpConstantComposite %BST %int_12 %int_n1 %int_n1 %int_3 = OpConstant %int 3 %int_15 = OpConstant %int 15 %179 = OpConstantComposite %BST %int_15 %int_n1 %int_n1 %int_4 = OpConstant %int 4 %int_7 = OpConstant %int 7 %232 = OpConstantComposite %BST %int_7 %int_n1 %int_n1 %int_8 = OpConstant %int 8 %284 = OpConstantComposite %BST %int_8 %int_n1 %int_n1 %int_6 = OpConstant %int 6 %336 = OpConstantComposite %BST %int_2 %int_n1 %int_n1 %387 = OpConstantComposite %BST %int_6 %int_n1 %int_n1 %int_17 = OpConstant %int 17 %439 = OpConstantComposite %BST %int_17 %int_n1 %int_n1 %int_13 = OpConstant %int 13 %491 = OpConstantComposite %BST %int_13 %int_n1 %int_n1 %int_20 = OpConstant %int 20 %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %605 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %606 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1 %main_out = OpTypeStruct %v4float %607 = OpTypeFunction %void %main_out %main_1 = OpFunction %void None %8 %11 = OpLabel %tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function %19 %x_356 = OpVariable %_ptr_Function_int Function %22 %x_58_phi = OpVariable %_ptr_Function_int Function %22 %x_86_phi = OpVariable %_ptr_Function_bool Function %27 %x_353_phi = OpVariable %_ptr_Function_int Function %22 %x_356_phi = OpVariable %_ptr_Function_int Function %22 %x_358_phi = OpVariable %_ptr_Function_int Function %22 %x_84 = OpVariable %_ptr_Function_int Function %22 %x_76 = OpVariable %_ptr_Function_int Function %22 %x_59 = OpVariable %_ptr_Function_int Function %22 %x_59_phi = OpVariable %_ptr_Function_int Function %22 %x_91_phi = OpVariable %_ptr_Function_int Function %22 %x_119_phi = OpVariable %_ptr_Function_bool Function %27 %x_117 = OpVariable %_ptr_Function_int Function %22 %x_109 = OpVariable %_ptr_Function_int Function %22 %x_92 = OpVariable %_ptr_Function_int Function %22 %x_92_phi = OpVariable %_ptr_Function_int Function %22 %x_124_phi = OpVariable %_ptr_Function_int Function %22 %x_152_phi = OpVariable %_ptr_Function_bool Function %27 %x_150 = OpVariable %_ptr_Function_int Function %22 %x_142 = OpVariable %_ptr_Function_int Function %22 %x_125 = OpVariable %_ptr_Function_int Function %22 %x_125_phi = OpVariable %_ptr_Function_int Function %22 %x_157_phi = OpVariable %_ptr_Function_int Function %22 %x_185_phi = OpVariable %_ptr_Function_bool Function %27 %x_183 = OpVariable %_ptr_Function_int Function %22 %x_175 = OpVariable %_ptr_Function_int Function %22 %x_158 = OpVariable %_ptr_Function_int Function %22 %x_158_phi = OpVariable %_ptr_Function_int Function %22 %x_190_phi = OpVariable %_ptr_Function_int Function %22 %x_218_phi = OpVariable %_ptr_Function_bool Function %27 %x_216 = OpVariable %_ptr_Function_int Function %22 %x_208 = OpVariable %_ptr_Function_int Function %22 %x_191 = OpVariable %_ptr_Function_int Function %22 %x_191_phi = OpVariable %_ptr_Function_int Function %22 %x_223_phi = OpVariable %_ptr_Function_int Function %22 %x_251_phi = OpVariable %_ptr_Function_bool Function %27 %x_249 = OpVariable %_ptr_Function_int Function %22 %x_241 = OpVariable %_ptr_Function_int Function %22 %x_224 = OpVariable %_ptr_Function_int Function %22 %x_224_phi = OpVariable %_ptr_Function_int Function %22 %x_256_phi = OpVariable %_ptr_Function_int Function %22 %x_284_phi = OpVariable %_ptr_Function_bool Function %27 %x_282 = OpVariable %_ptr_Function_int Function %22 %x_274 = OpVariable %_ptr_Function_int Function %22 %x_257 = OpVariable %_ptr_Function_int Function %22 %x_257_phi = OpVariable %_ptr_Function_int Function %22 %x_289_phi = OpVariable %_ptr_Function_int Function %22 %x_317_phi = OpVariable %_ptr_Function_bool Function %27 %x_315 = OpVariable %_ptr_Function_int Function %22 %x_307 = OpVariable %_ptr_Function_int Function %22 %x_290 = OpVariable %_ptr_Function_int Function %22 %x_290_phi = OpVariable %_ptr_Function_int Function %22 %x_322_phi = OpVariable %_ptr_Function_int Function %22 %x_350_phi = OpVariable %_ptr_Function_bool Function %27 %x_348 = OpVariable %_ptr_Function_int Function %22 %x_340 = OpVariable %_ptr_Function_int Function %22 %x_323 = OpVariable %_ptr_Function_int Function %22 %x_323_phi = OpVariable %_ptr_Function_int Function %22 %x_381 = OpVariable %_ptr_Function_int Function %22 %x_391 = OpVariable %_ptr_Function_int Function %22 %x_396 = OpVariable %_ptr_Function_int Function %22 %x_359 = OpVariable %_ptr_Function_int Function %22 %x_354_phi = OpVariable %_ptr_Function_int Function %22 %x_357_phi = OpVariable %_ptr_Function_int Function %22 %x_366_phi = OpVariable %_ptr_Function_int Function %22 %x_381_phi = OpVariable %_ptr_Function_int Function %22 %x_382_phi = OpVariable %_ptr_Function_bool Function %27 %x_354 = OpVariable %_ptr_Function_int Function %22 %x_390 = OpVariable %_ptr_Function_int Function %22 %x_395 = OpVariable %_ptr_Function_int Function %22 %x_391_phi = OpVariable %_ptr_Function_int Function %22 %x_396_phi = OpVariable %_ptr_Function_int Function %22 %33 = OpAccessChain %_ptr_Function_BST %tree %int_0 OpStore %33 %36 OpSelectionMerge %37 None OpSwitch %uint_0 %39 %39 = OpLabel OpStore %x_58_phi %int_0 OpBranch %40 %40 = OpLabel OpLoopMerge %41 %42 None OpBranch %43 %43 = OpLabel %48 = OpLoad %int %x_58_phi OpStore %x_86_phi %false %51 = OpSLessThanEqual %bool %48 %int_1 OpSelectionMerge %52 None OpBranchConditional %51 %53 %54 %53 = OpLabel OpBranch %52 %54 = OpLabel OpBranch %41 %52 = OpLabel %55 = OpAccessChain %_ptr_Function_int %tree %48 %uint_0 %56 = OpLoad %int %55 %58 = OpSLessThanEqual %bool %int_5 %56 OpSelectionMerge %59 None OpBranchConditional %58 %60 %61 %60 = OpLabel %63 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1 %64 = OpLoad %int %63 %65 = OpIEqual %bool %64 %int_n1 OpSelectionMerge %66 None OpBranchConditional %65 %67 %68 %67 = OpLabel %69 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1 OpStore %69 %int_1 %70 = OpAccessChain %_ptr_Function_BST %tree %int_1 OpStore %70 %71 OpStore %x_86_phi %true OpBranch %41 %68 = OpLabel %73 = OpAccessChain %_ptr_Function_int %tree %48 %uint_1 %74 = OpLoad %int %73 OpStore %x_84 %74 %75 = OpLoad %int %x_84 OpStore %x_59_phi %75 OpBranch %42 %66 = OpLabel OpReturn %61 = OpLabel %77 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2 %78 = OpLoad %int %77 %79 = OpIEqual %bool %78 %int_n1 OpSelectionMerge %80 None OpBranchConditional %79 %81 %82 %81 = OpLabel %83 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2 OpStore %83 %int_1 %84 = OpAccessChain %_ptr_Function_BST %tree %int_1 OpStore %84 %71 OpStore %x_86_phi %true OpBranch %41 %82 = OpLabel %85 = OpAccessChain %_ptr_Function_int %tree %48 %uint_2 %86 = OpLoad %int %85 OpStore %x_76 %86 %87 = OpLoad %int %x_76 OpStore %x_59_phi %87 OpBranch %42 %80 = OpLabel OpReturn %59 = OpLabel OpReturn %42 = OpLabel %88 = OpLoad %int %x_59_phi OpStore %x_59 %88 %89 = OpLoad %int %x_59 OpStore %x_58_phi %89 OpBranch %40 %41 = OpLabel %90 = OpLoad %bool %x_86_phi OpSelectionMerge %91 None OpBranchConditional %90 %92 %91 %92 = OpLabel OpBranch %37 %91 = OpLabel OpBranch %37 %37 = OpLabel OpSelectionMerge %95 None OpSwitch %uint_0 %96 %96 = OpLabel OpStore %x_91_phi %int_0 OpBranch %97 %97 = OpLabel OpLoopMerge %98 %99 None OpBranch %100 %100 = OpLabel %105 = OpLoad %int %x_91_phi OpStore %x_119_phi %false %107 = OpSLessThanEqual %bool %105 %int_2 OpSelectionMerge %108 None OpBranchConditional %107 %109 %110 %109 = OpLabel OpBranch %108 %110 = OpLabel OpBranch %98 %108 = OpLabel %111 = OpAccessChain %_ptr_Function_int %tree %105 %uint_0 %112 = OpLoad %int %111 %114 = OpSLessThanEqual %bool %int_12 %112 OpSelectionMerge %115 None OpBranchConditional %114 %116 %117 %116 = OpLabel %118 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1 %119 = OpLoad %int %118 %120 = OpIEqual %bool %119 %int_n1 OpSelectionMerge %121 None OpBranchConditional %120 %122 %123 %122 = OpLabel %124 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1 OpStore %124 %int_2 %125 = OpAccessChain %_ptr_Function_BST %tree %int_2 OpStore %125 %126 OpStore %x_119_phi %true OpBranch %98 %123 = OpLabel %127 = OpAccessChain %_ptr_Function_int %tree %105 %uint_1 %128 = OpLoad %int %127 OpStore %x_117 %128 %129 = OpLoad %int %x_117 OpStore %x_92_phi %129 OpBranch %99 %121 = OpLabel OpReturn %117 = OpLabel %130 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2 %131 = OpLoad %int %130 %132 = OpIEqual %bool %131 %int_n1 OpSelectionMerge %133 None OpBranchConditional %132 %134 %135 %134 = OpLabel %136 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2 OpStore %136 %int_2 %137 = OpAccessChain %_ptr_Function_BST %tree %int_2 OpStore %137 %126 OpStore %x_119_phi %true OpBranch %98 %135 = OpLabel %138 = OpAccessChain %_ptr_Function_int %tree %105 %uint_2 %139 = OpLoad %int %138 OpStore %x_109 %139 %140 = OpLoad %int %x_109 OpStore %x_92_phi %140 OpBranch %99 %133 = OpLabel OpReturn %115 = OpLabel OpReturn %99 = OpLabel %141 = OpLoad %int %x_92_phi OpStore %x_92 %141 %142 = OpLoad %int %x_92 OpStore %x_91_phi %142 OpBranch %97 %98 = OpLabel %143 = OpLoad %bool %x_119_phi OpSelectionMerge %144 None OpBranchConditional %143 %145 %144 %145 = OpLabel OpBranch %95 %144 = OpLabel OpBranch %95 %95 = OpLabel OpSelectionMerge %148 None OpSwitch %uint_0 %149 %149 = OpLabel OpStore %x_124_phi %int_0 OpBranch %150 %150 = OpLabel OpLoopMerge %151 %152 None OpBranch %153 %153 = OpLabel %158 = OpLoad %int %x_124_phi OpStore %x_152_phi %false %160 = OpSLessThanEqual %bool %158 %int_3 OpSelectionMerge %161 None OpBranchConditional %160 %162 %163 %162 = OpLabel OpBranch %161 %163 = OpLabel OpBranch %151 %161 = OpLabel %164 = OpAccessChain %_ptr_Function_int %tree %158 %uint_0 %165 = OpLoad %int %164 %167 = OpSLessThanEqual %bool %int_15 %165 OpSelectionMerge %168 None OpBranchConditional %167 %169 %170 %169 = OpLabel %171 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1 %172 = OpLoad %int %171 %173 = OpIEqual %bool %172 %int_n1 OpSelectionMerge %174 None OpBranchConditional %173 %175 %176 %175 = OpLabel %177 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1 OpStore %177 %int_3 %178 = OpAccessChain %_ptr_Function_BST %tree %int_3 OpStore %178 %179 OpStore %x_152_phi %true OpBranch %151 %176 = OpLabel %180 = OpAccessChain %_ptr_Function_int %tree %158 %uint_1 %181 = OpLoad %int %180 OpStore %x_150 %181 %182 = OpLoad %int %x_150 OpStore %x_125_phi %182 OpBranch %152 %174 = OpLabel OpReturn %170 = OpLabel %183 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2 %184 = OpLoad %int %183 %185 = OpIEqual %bool %184 %int_n1 OpSelectionMerge %186 None OpBranchConditional %185 %187 %188 %187 = OpLabel %189 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2 OpStore %189 %int_3 %190 = OpAccessChain %_ptr_Function_BST %tree %int_3 OpStore %190 %179 OpStore %x_152_phi %true OpBranch %151 %188 = OpLabel %191 = OpAccessChain %_ptr_Function_int %tree %158 %uint_2 %192 = OpLoad %int %191 OpStore %x_142 %192 %193 = OpLoad %int %x_142 OpStore %x_125_phi %193 OpBranch %152 %186 = OpLabel OpReturn %168 = OpLabel OpReturn %152 = OpLabel %194 = OpLoad %int %x_125_phi OpStore %x_125 %194 %195 = OpLoad %int %x_125 OpStore %x_124_phi %195 OpBranch %150 %151 = OpLabel %196 = OpLoad %bool %x_152_phi OpSelectionMerge %197 None OpBranchConditional %196 %198 %197 %198 = OpLabel OpBranch %148 %197 = OpLabel OpBranch %148 %148 = OpLabel OpSelectionMerge %201 None OpSwitch %uint_0 %202 %202 = OpLabel OpStore %x_157_phi %int_0 OpBranch %203 %203 = OpLabel OpLoopMerge %204 %205 None OpBranch %206 %206 = OpLabel %211 = OpLoad %int %x_157_phi OpStore %x_185_phi %false %213 = OpSLessThanEqual %bool %211 %int_4 OpSelectionMerge %214 None OpBranchConditional %213 %215 %216 %215 = OpLabel OpBranch %214 %216 = OpLabel OpBranch %204 %214 = OpLabel %217 = OpAccessChain %_ptr_Function_int %tree %211 %uint_0 %218 = OpLoad %int %217 %220 = OpSLessThanEqual %bool %int_7 %218 OpSelectionMerge %221 None OpBranchConditional %220 %222 %223 %222 = OpLabel %224 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1 %225 = OpLoad %int %224 %226 = OpIEqual %bool %225 %int_n1 OpSelectionMerge %227 None OpBranchConditional %226 %228 %229 %228 = OpLabel %230 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1 OpStore %230 %int_4 %231 = OpAccessChain %_ptr_Function_BST %tree %int_4 OpStore %231 %232 OpStore %x_185_phi %true OpBranch %204 %229 = OpLabel %233 = OpAccessChain %_ptr_Function_int %tree %211 %uint_1 %234 = OpLoad %int %233 OpStore %x_183 %234 %235 = OpLoad %int %x_183 OpStore %x_158_phi %235 OpBranch %205 %227 = OpLabel OpReturn %223 = OpLabel %236 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2 %237 = OpLoad %int %236 %238 = OpIEqual %bool %237 %int_n1 OpSelectionMerge %239 None OpBranchConditional %238 %240 %241 %240 = OpLabel %242 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2 OpStore %242 %int_4 %243 = OpAccessChain %_ptr_Function_BST %tree %int_4 OpStore %243 %232 OpStore %x_185_phi %true OpBranch %204 %241 = OpLabel %244 = OpAccessChain %_ptr_Function_int %tree %211 %uint_2 %245 = OpLoad %int %244 OpStore %x_175 %245 %246 = OpLoad %int %x_175 OpStore %x_158_phi %246 OpBranch %205 %239 = OpLabel OpReturn %221 = OpLabel OpReturn %205 = OpLabel %247 = OpLoad %int %x_158_phi OpStore %x_158 %247 %248 = OpLoad %int %x_158 OpStore %x_157_phi %248 OpBranch %203 %204 = OpLabel %249 = OpLoad %bool %x_185_phi OpSelectionMerge %250 None OpBranchConditional %249 %251 %250 %251 = OpLabel OpBranch %201 %250 = OpLabel OpBranch %201 %201 = OpLabel OpSelectionMerge %254 None OpSwitch %uint_0 %255 %255 = OpLabel OpStore %x_190_phi %int_0 OpBranch %256 %256 = OpLabel OpLoopMerge %257 %258 None OpBranch %259 %259 = OpLabel %264 = OpLoad %int %x_190_phi OpStore %x_218_phi %false %265 = OpSLessThanEqual %bool %264 %int_5 OpSelectionMerge %266 None OpBranchConditional %265 %267 %268 %267 = OpLabel OpBranch %266 %268 = OpLabel OpBranch %257 %266 = OpLabel %269 = OpAccessChain %_ptr_Function_int %tree %264 %uint_0 %270 = OpLoad %int %269 %272 = OpSLessThanEqual %bool %int_8 %270 OpSelectionMerge %273 None OpBranchConditional %272 %274 %275 %274 = OpLabel %276 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1 %277 = OpLoad %int %276 %278 = OpIEqual %bool %277 %int_n1 OpSelectionMerge %279 None OpBranchConditional %278 %280 %281 %280 = OpLabel %282 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1 OpStore %282 %int_5 %283 = OpAccessChain %_ptr_Function_BST %tree %int_5 OpStore %283 %284 OpStore %x_218_phi %true OpBranch %257 %281 = OpLabel %285 = OpAccessChain %_ptr_Function_int %tree %264 %uint_1 %286 = OpLoad %int %285 OpStore %x_216 %286 %287 = OpLoad %int %x_216 OpStore %x_191_phi %287 OpBranch %258 %279 = OpLabel OpReturn %275 = OpLabel %288 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2 %289 = OpLoad %int %288 %290 = OpIEqual %bool %289 %int_n1 OpSelectionMerge %291 None OpBranchConditional %290 %292 %293 %292 = OpLabel %294 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2 OpStore %294 %int_5 %295 = OpAccessChain %_ptr_Function_BST %tree %int_5 OpStore %295 %284 OpStore %x_218_phi %true OpBranch %257 %293 = OpLabel %296 = OpAccessChain %_ptr_Function_int %tree %264 %uint_2 %297 = OpLoad %int %296 OpStore %x_208 %297 %298 = OpLoad %int %x_208 OpStore %x_191_phi %298 OpBranch %258 %291 = OpLabel OpReturn %273 = OpLabel OpReturn %258 = OpLabel %299 = OpLoad %int %x_191_phi OpStore %x_191 %299 %300 = OpLoad %int %x_191 OpStore %x_190_phi %300 OpBranch %256 %257 = OpLabel %301 = OpLoad %bool %x_218_phi OpSelectionMerge %302 None OpBranchConditional %301 %303 %302 %303 = OpLabel OpBranch %254 %302 = OpLabel OpBranch %254 %254 = OpLabel OpSelectionMerge %306 None OpSwitch %uint_0 %307 %307 = OpLabel OpStore %x_223_phi %int_0 OpBranch %308 %308 = OpLabel OpLoopMerge %309 %310 None OpBranch %311 %311 = OpLabel %316 = OpLoad %int %x_223_phi OpStore %x_251_phi %false %318 = OpSLessThanEqual %bool %316 %int_6 OpSelectionMerge %319 None OpBranchConditional %318 %320 %321 %320 = OpLabel OpBranch %319 %321 = OpLabel OpBranch %309 %319 = OpLabel %322 = OpAccessChain %_ptr_Function_int %tree %316 %uint_0 %323 = OpLoad %int %322 %324 = OpSLessThanEqual %bool %int_2 %323 OpSelectionMerge %325 None OpBranchConditional %324 %326 %327 %326 = OpLabel %328 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1 %329 = OpLoad %int %328 %330 = OpIEqual %bool %329 %int_n1 OpSelectionMerge %331 None OpBranchConditional %330 %332 %333 %332 = OpLabel %334 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1 OpStore %334 %int_6 %335 = OpAccessChain %_ptr_Function_BST %tree %int_6 OpStore %335 %336 OpStore %x_251_phi %true OpBranch %309 %333 = OpLabel %337 = OpAccessChain %_ptr_Function_int %tree %316 %uint_1 %338 = OpLoad %int %337 OpStore %x_249 %338 %339 = OpLoad %int %x_249 OpStore %x_224_phi %339 OpBranch %310 %331 = OpLabel OpReturn %327 = OpLabel %340 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2 %341 = OpLoad %int %340 %342 = OpIEqual %bool %341 %int_n1 OpSelectionMerge %343 None OpBranchConditional %342 %344 %345 %344 = OpLabel %346 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2 OpStore %346 %int_6 %347 = OpAccessChain %_ptr_Function_BST %tree %int_6 OpStore %347 %336 OpStore %x_251_phi %true OpBranch %309 %345 = OpLabel %348 = OpAccessChain %_ptr_Function_int %tree %316 %uint_2 %349 = OpLoad %int %348 OpStore %x_241 %349 %350 = OpLoad %int %x_241 OpStore %x_224_phi %350 OpBranch %310 %343 = OpLabel OpReturn %325 = OpLabel OpReturn %310 = OpLabel %351 = OpLoad %int %x_224_phi OpStore %x_224 %351 %352 = OpLoad %int %x_224 OpStore %x_223_phi %352 OpBranch %308 %309 = OpLabel %353 = OpLoad %bool %x_251_phi OpSelectionMerge %354 None OpBranchConditional %353 %355 %354 %355 = OpLabel OpBranch %306 %354 = OpLabel OpBranch %306 %306 = OpLabel OpSelectionMerge %358 None OpSwitch %uint_0 %359 %359 = OpLabel OpStore %x_256_phi %int_0 OpBranch %360 %360 = OpLabel OpLoopMerge %361 %362 None OpBranch %363 %363 = OpLabel %368 = OpLoad %int %x_256_phi OpStore %x_284_phi %false %369 = OpSLessThanEqual %bool %368 %int_7 OpSelectionMerge %370 None OpBranchConditional %369 %371 %372 %371 = OpLabel OpBranch %370 %372 = OpLabel OpBranch %361 %370 = OpLabel %373 = OpAccessChain %_ptr_Function_int %tree %368 %uint_0 %374 = OpLoad %int %373 %375 = OpSLessThanEqual %bool %int_6 %374 OpSelectionMerge %376 None OpBranchConditional %375 %377 %378 %377 = OpLabel %379 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1 %380 = OpLoad %int %379 %381 = OpIEqual %bool %380 %int_n1 OpSelectionMerge %382 None OpBranchConditional %381 %383 %384 %383 = OpLabel %385 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1 OpStore %385 %int_7 %386 = OpAccessChain %_ptr_Function_BST %tree %int_7 OpStore %386 %387 OpStore %x_284_phi %true OpBranch %361 %384 = OpLabel %388 = OpAccessChain %_ptr_Function_int %tree %368 %uint_1 %389 = OpLoad %int %388 OpStore %x_282 %389 %390 = OpLoad %int %x_282 OpStore %x_257_phi %390 OpBranch %362 %382 = OpLabel OpReturn %378 = OpLabel %391 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2 %392 = OpLoad %int %391 %393 = OpIEqual %bool %392 %int_n1 OpSelectionMerge %394 None OpBranchConditional %393 %395 %396 %395 = OpLabel %397 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2 OpStore %397 %int_7 %398 = OpAccessChain %_ptr_Function_BST %tree %int_7 OpStore %398 %387 OpStore %x_284_phi %true OpBranch %361 %396 = OpLabel %399 = OpAccessChain %_ptr_Function_int %tree %368 %uint_2 %400 = OpLoad %int %399 OpStore %x_274 %400 %401 = OpLoad %int %x_274 OpStore %x_257_phi %401 OpBranch %362 %394 = OpLabel OpReturn %376 = OpLabel OpReturn %362 = OpLabel %402 = OpLoad %int %x_257_phi OpStore %x_257 %402 %403 = OpLoad %int %x_257 OpStore %x_256_phi %403 OpBranch %360 %361 = OpLabel %404 = OpLoad %bool %x_284_phi OpSelectionMerge %405 None OpBranchConditional %404 %406 %405 %406 = OpLabel OpBranch %358 %405 = OpLabel OpBranch %358 %358 = OpLabel OpSelectionMerge %409 None OpSwitch %uint_0 %410 %410 = OpLabel OpStore %x_289_phi %int_0 OpBranch %411 %411 = OpLabel OpLoopMerge %412 %413 None OpBranch %414 %414 = OpLabel %419 = OpLoad %int %x_289_phi OpStore %x_317_phi %false %420 = OpSLessThanEqual %bool %419 %int_8 OpSelectionMerge %421 None OpBranchConditional %420 %422 %423 %422 = OpLabel OpBranch %421 %423 = OpLabel OpBranch %412 %421 = OpLabel %424 = OpAccessChain %_ptr_Function_int %tree %419 %uint_0 %425 = OpLoad %int %424 %427 = OpSLessThanEqual %bool %int_17 %425 OpSelectionMerge %428 None OpBranchConditional %427 %429 %430 %429 = OpLabel %431 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1 %432 = OpLoad %int %431 %433 = OpIEqual %bool %432 %int_n1 OpSelectionMerge %434 None OpBranchConditional %433 %435 %436 %435 = OpLabel %437 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1 OpStore %437 %int_8 %438 = OpAccessChain %_ptr_Function_BST %tree %int_8 OpStore %438 %439 OpStore %x_317_phi %true OpBranch %412 %436 = OpLabel %440 = OpAccessChain %_ptr_Function_int %tree %419 %uint_1 %441 = OpLoad %int %440 OpStore %x_315 %441 %442 = OpLoad %int %x_315 OpStore %x_290_phi %442 OpBranch %413 %434 = OpLabel OpReturn %430 = OpLabel %443 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2 %444 = OpLoad %int %443 %445 = OpIEqual %bool %444 %int_n1 OpSelectionMerge %446 None OpBranchConditional %445 %447 %448 %447 = OpLabel %449 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2 OpStore %449 %int_8 %450 = OpAccessChain %_ptr_Function_BST %tree %int_8 OpStore %450 %439 OpStore %x_317_phi %true OpBranch %412 %448 = OpLabel %451 = OpAccessChain %_ptr_Function_int %tree %419 %uint_2 %452 = OpLoad %int %451 OpStore %x_307 %452 %453 = OpLoad %int %x_307 OpStore %x_290_phi %453 OpBranch %413 %446 = OpLabel OpReturn %428 = OpLabel OpReturn %413 = OpLabel %454 = OpLoad %int %x_290_phi OpStore %x_290 %454 %455 = OpLoad %int %x_290 OpStore %x_289_phi %455 OpBranch %411 %412 = OpLabel %456 = OpLoad %bool %x_317_phi OpSelectionMerge %457 None OpBranchConditional %456 %458 %457 %458 = OpLabel OpBranch %409 %457 = OpLabel OpBranch %409 %409 = OpLabel OpSelectionMerge %461 None OpSwitch %uint_0 %462 %462 = OpLabel OpStore %x_322_phi %int_0 OpBranch %463 %463 = OpLabel OpLoopMerge %464 %465 None OpBranch %466 %466 = OpLabel %471 = OpLoad %int %x_322_phi OpStore %x_350_phi %false %472 = OpSLessThanEqual %bool %471 %int_9 OpSelectionMerge %473 None OpBranchConditional %472 %474 %475 %474 = OpLabel OpBranch %473 %475 = OpLabel OpBranch %464 %473 = OpLabel %476 = OpAccessChain %_ptr_Function_int %tree %471 %uint_0 %477 = OpLoad %int %476 %479 = OpSLessThanEqual %bool %int_13 %477 OpSelectionMerge %480 None OpBranchConditional %479 %481 %482 %481 = OpLabel %483 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1 %484 = OpLoad %int %483 %485 = OpIEqual %bool %484 %int_n1 OpSelectionMerge %486 None OpBranchConditional %485 %487 %488 %487 = OpLabel %489 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1 OpStore %489 %int_9 %490 = OpAccessChain %_ptr_Function_BST %tree %int_9 OpStore %490 %491 OpStore %x_350_phi %true OpBranch %464 %488 = OpLabel %492 = OpAccessChain %_ptr_Function_int %tree %471 %uint_1 %493 = OpLoad %int %492 OpStore %x_348 %493 %494 = OpLoad %int %x_348 OpStore %x_323_phi %494 OpBranch %465 %486 = OpLabel OpReturn %482 = OpLabel %495 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2 %496 = OpLoad %int %495 %497 = OpIEqual %bool %496 %int_n1 OpSelectionMerge %498 None OpBranchConditional %497 %499 %500 %499 = OpLabel %501 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2 OpStore %501 %int_9 %502 = OpAccessChain %_ptr_Function_BST %tree %int_9 OpStore %502 %491 OpStore %x_350_phi %true OpBranch %464 %500 = OpLabel %503 = OpAccessChain %_ptr_Function_int %tree %471 %uint_2 %504 = OpLoad %int %503 OpStore %x_340 %504 %505 = OpLoad %int %x_340 OpStore %x_323_phi %505 OpBranch %465 %498 = OpLabel OpReturn %480 = OpLabel OpReturn %465 = OpLabel %506 = OpLoad %int %x_323_phi OpStore %x_323 %506 %507 = OpLoad %int %x_323 OpStore %x_322_phi %507 OpBranch %463 %464 = OpLabel %508 = OpLoad %bool %x_350_phi OpSelectionMerge %509 None OpBranchConditional %508 %510 %509 %510 = OpLabel OpBranch %461 %509 = OpLabel OpBranch %461 %461 = OpLabel OpStore %x_353_phi %int_0 OpStore %x_356_phi %int_0 OpStore %x_358_phi %int_0 OpBranch %511 %511 = OpLabel OpLoopMerge %512 %513 None OpBranch %514 %514 = OpLabel %521 = OpLoad %int %x_353_phi %522 = OpLoad %int %x_356_phi OpStore %x_356 %522 %523 = OpLoad %int %x_358_phi %525 = OpSLessThan %bool %523 %int_20 OpSelectionMerge %526 None OpBranchConditional %525 %527 %528 %527 = OpLabel OpBranch %526 %528 = OpLabel OpBranch %512 %526 = OpLabel OpSelectionMerge %532 None OpSwitch %uint_0 %533 %533 = OpLabel OpStore %x_366_phi %int_0 OpBranch %534 %534 = OpLabel OpLoopMerge %535 %536 None OpBranch %537 %537 = OpLabel %538 = OpLoad %int %x_366_phi OpStore %x_381_phi %521 OpStore %x_382_phi %false %539 = OpINotEqual %bool %538 %int_n1 OpSelectionMerge %540 None OpBranchConditional %539 %541 %542 %541 = OpLabel OpBranch %540 %542 = OpLabel OpBranch %535 %540 = OpLabel %543 = OpAccessChain %_ptr_Function_BST %tree %538 %544 = OpLoad %BST %543 %545 = OpCompositeExtract %int %544 0 %546 = OpCompositeExtract %int %544 1 %547 = OpCompositeExtract %int %544 2 %548 = OpIEqual %bool %545 %523 OpSelectionMerge %549 None OpBranchConditional %548 %550 %549 %550 = OpLabel OpStore %x_381_phi %523 OpStore %x_382_phi %true OpBranch %535 %549 = OpLabel OpBranch %536 %536 = OpLabel %552 = OpSGreaterThan %bool %523 %545 %551 = OpSelect %int %552 %547 %546 OpStore %x_366_phi %551 OpBranch %534 %535 = OpLabel %553 = OpLoad %int %x_381_phi OpStore %x_381 %553 %554 = OpLoad %bool %x_382_phi %555 = OpLoad %int %x_381 OpStore %x_354_phi %555 OpSelectionMerge %556 None OpBranchConditional %554 %557 %556 %557 = OpLabel OpBranch %532 %556 = OpLabel OpStore %x_354_phi %int_n1 OpBranch %532 %532 = OpLabel %563 = OpLoad %int %x_354_phi OpStore %x_354 %563 OpSelectionMerge %564 None OpSwitch %523 %565 2 %566 5 %566 6 %566 7 %566 8 %566 9 %566 12 %566 13 %566 15 %566 17 %566 %566 = OpLabel %567 = OpLoad %int %x_356 OpStore %x_391_phi %567 %568 = OpLoad %int %x_354 %569 = OpCopyObject %int %523 %570 = OpIEqual %bool %568 %569 OpSelectionMerge %571 None OpBranchConditional %570 %572 %571 %572 = OpLabel %574 = OpLoad %int %x_356 %575 = OpCopyObject %int %int_1 %576 = OpIAdd %int %574 %575 %573 = OpCopyObject %int %576 OpStore %x_390 %573 %577 = OpLoad %int %x_390 OpStore %x_391_phi %577 OpBranch %571 %571 = OpLabel %578 = OpLoad %int %x_391_phi OpStore %x_391 %578 %579 = OpLoad %int %x_391 OpStore %x_357_phi %579 OpBranch %564 %565 = OpLabel %580 = OpLoad %int %x_356 OpStore %x_396_phi %580 %581 = OpLoad %int %x_354 %582 = OpCopyObject %int %int_n1 %583 = OpIEqual %bool %581 %582 OpSelectionMerge %584 None OpBranchConditional %583 %585 %584 %585 = OpLabel %587 = OpLoad %int %x_356 %588 = OpCopyObject %int %int_1 %589 = OpIAdd %int %587 %588 %586 = OpCopyObject %int %589 OpStore %x_395 %586 %590 = OpLoad %int %x_395 OpStore %x_396_phi %590 OpBranch %584 %584 = OpLabel %591 = OpLoad %int %x_396_phi OpStore %x_396 %591 %592 = OpLoad %int %x_396 OpStore %x_357_phi %592 OpBranch %564 %564 = OpLabel %593 = OpLoad %int %x_357_phi OpBranch %513 %513 = OpLabel %594 = OpIAdd %int %523 %int_1 OpStore %x_359 %594 %595 = OpLoad %int %x_354 OpStore %x_353_phi %595 OpStore %x_356_phi %593 %596 = OpLoad %int %x_359 OpStore %x_358_phi %596 OpBranch %511 %512 = OpLabel %597 = OpLoad %int %x_356 %598 = OpCopyObject %int %int_20 %599 = OpIEqual %bool %597 %598 OpSelectionMerge %600 None OpBranchConditional %599 %601 %602 %601 = OpLabel OpStore %x_GLF_color %605 OpBranch %600 %602 = OpLabel OpStore %x_GLF_color %606 OpBranch %600 %600 = OpLabel OpReturn OpFunctionEnd %tint_symbol_2 = OpFunction %void None %607 %tint_symbol = OpFunctionParameter %main_out %611 = OpLabel %612 = OpCompositeExtract %v4float %tint_symbol 0 OpStore %tint_symbol_1 %612 OpReturn OpFunctionEnd %main = OpFunction %void None %8 %614 = OpLabel %615 = OpFunctionCall %void %main_1 %617 = OpLoad %v4float %x_GLF_color %618 = OpCompositeConstruct %main_out %617 %616 = OpFunctionCall %void %tint_symbol_2 %618 OpReturn OpFunctionEnd