1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %_GLF_color 5 OpExecutionMode %main OriginUpperLeft 6 OpSource ESSL 320 7 OpName %main "main" 8 OpName %BST "BST" 9 OpMemberName %BST 0 "data" 10 OpMemberName %BST 1 "leftIndex" 11 OpMemberName %BST 2 "rightIndex" 12 OpName %tree "tree" 13 OpName %_GLF_color "_GLF_color" 14 OpDecorate %_GLF_color Location 0 15 %void = OpTypeVoid 16 %7 = OpTypeFunction %void 17 %int = OpTypeInt 32 1 18 %BST = OpTypeStruct %int %int %int 19%_ptr_Function_BST = OpTypePointer Function %BST 20%_ptr_Function_int = OpTypePointer Function %int 21 %int_0 = OpConstant %int 0 22 %int_1 = OpConstant %int 1 23 %int_n1 = OpConstant %int -1 24 %int_2 = OpConstant %int 2 25 %bool = OpTypeBool 26 %uint = OpTypeInt 32 0 27 %uint_10 = OpConstant %uint 10 28%_arr_BST_uint_10 = OpTypeArray %BST %uint_10 29 %int_9 = OpConstant %int 9 30 %int_5 = OpConstant %int 5 31 %int_12 = OpConstant %int 12 32 %int_15 = OpConstant %int 15 33 %int_7 = OpConstant %int 7 34 %int_8 = OpConstant %int 8 35 %int_6 = OpConstant %int 6 36 %int_17 = OpConstant %int 17 37 %int_13 = OpConstant %int 13 38 %int_20 = OpConstant %int 20 39 %float = OpTypeFloat 32 40 %v4float = OpTypeVector %float 4 41%_ptr_Output_v4float = OpTypePointer Output %v4float 42 %_GLF_color = OpVariable %_ptr_Output_v4float Output 43 %float_1 = OpConstant %float 1 44 %float_0 = OpConstant %float 0 45 %34 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 46 %35 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1 47 %uint_0 = OpConstant %uint 0 48 %false = OpConstantFalse %bool 49 %true = OpConstantTrue %bool 50%_ptr_Function__arr_BST_uint_10 = OpTypePointer Function %_arr_BST_uint_10 51 %40 = OpUndef %int 52 %41 = OpConstantComposite %BST %int_9 %int_n1 %int_n1 53 %42 = OpConstantComposite %BST %int_5 %int_n1 %int_n1 54 %43 = OpConstantComposite %BST %int_12 %int_n1 %int_n1 55 %int_3 = OpConstant %int 3 56 %45 = OpConstantComposite %BST %int_15 %int_n1 %int_n1 57 %int_4 = OpConstant %int 4 58 %47 = OpConstantComposite %BST %int_7 %int_n1 %int_n1 59 %48 = OpConstantComposite %BST %int_8 %int_n1 %int_n1 60 %49 = OpConstantComposite %BST %int_2 %int_n1 %int_n1 61 %50 = OpConstantComposite %BST %int_6 %int_n1 %int_n1 62 %51 = OpConstantComposite %BST %int_17 %int_n1 %int_n1 63 %52 = OpConstantComposite %BST %int_13 %int_n1 %int_n1 64 %main = OpFunction %void None %7 65 %53 = OpLabel 66 %tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function 67 %54 = OpAccessChain %_ptr_Function_BST %tree %int_0 68 OpStore %54 %41 69 OpSelectionMerge %55 None 70 OpSwitch %uint_0 %56 71 %56 = OpLabel 72 OpBranch %57 73 %57 = OpLabel 74 %58 = OpPhi %int %int_0 %56 %59 %60 75 %61 = OpSLessThanEqual %bool %58 %int_1 76 OpLoopMerge %62 %60 None 77 OpBranchConditional %61 %63 %62 78 %63 = OpLabel 79 %64 = OpAccessChain %_ptr_Function_int %tree %58 %int_0 80 %65 = OpLoad %int %64 81 %66 = OpSLessThanEqual %bool %int_5 %65 82 OpSelectionMerge %67 None 83 OpBranchConditional %66 %68 %69 84 %69 = OpLabel 85 %70 = OpAccessChain %_ptr_Function_int %tree %58 %int_2 86 %71 = OpLoad %int %70 87 %72 = OpIEqual %bool %71 %int_n1 88 OpSelectionMerge %73 None 89 OpBranchConditional %72 %74 %75 90 %75 = OpLabel 91 %76 = OpLoad %int %70 92 OpBranch %60 93 %74 = OpLabel 94 OpStore %70 %int_1 95 %77 = OpAccessChain %_ptr_Function_BST %tree %int_1 96 OpStore %77 %42 97 OpBranch %62 98 %73 = OpLabel 99 OpUnreachable 100 %68 = OpLabel 101 %78 = OpAccessChain %_ptr_Function_int %tree %58 %int_1 102 %79 = OpLoad %int %78 103 %80 = OpIEqual %bool %79 %int_n1 104 OpSelectionMerge %81 None 105 OpBranchConditional %80 %82 %83 106 %83 = OpLabel 107 %84 = OpLoad %int %78 108 OpBranch %60 109 %82 = OpLabel 110 OpStore %78 %int_1 111 %85 = OpAccessChain %_ptr_Function_BST %tree %int_1 112 OpStore %85 %42 113 OpBranch %62 114 %81 = OpLabel 115 OpUnreachable 116 %67 = OpLabel 117 OpUnreachable 118 %60 = OpLabel 119 %59 = OpPhi %int %84 %83 %76 %75 120 OpBranch %57 121 %62 = OpLabel 122 %86 = OpPhi %bool %false %57 %true %82 %true %74 123 OpSelectionMerge %87 None 124 OpBranchConditional %86 %55 %87 125 %87 = OpLabel 126 OpBranch %55 127 %55 = OpLabel 128 OpSelectionMerge %88 None 129 OpSwitch %uint_0 %89 130 %89 = OpLabel 131 OpBranch %90 132 %90 = OpLabel 133 %91 = OpPhi %int %int_0 %89 %92 %93 134 %94 = OpSLessThanEqual %bool %91 %int_2 135 OpLoopMerge %95 %93 None 136 OpBranchConditional %94 %96 %95 137 %96 = OpLabel 138 %97 = OpAccessChain %_ptr_Function_int %tree %91 %int_0 139 %98 = OpLoad %int %97 140 %99 = OpSLessThanEqual %bool %int_12 %98 141 OpSelectionMerge %100 None 142 OpBranchConditional %99 %101 %102 143 %102 = OpLabel 144 %103 = OpAccessChain %_ptr_Function_int %tree %91 %int_2 145 %104 = OpLoad %int %103 146 %105 = OpIEqual %bool %104 %int_n1 147 OpSelectionMerge %106 None 148 OpBranchConditional %105 %107 %108 149 %108 = OpLabel 150 %109 = OpLoad %int %103 151 OpBranch %93 152 %107 = OpLabel 153 OpStore %103 %int_2 154 %110 = OpAccessChain %_ptr_Function_BST %tree %int_2 155 OpStore %110 %43 156 OpBranch %95 157 %106 = OpLabel 158 OpUnreachable 159 %101 = OpLabel 160 %111 = OpAccessChain %_ptr_Function_int %tree %91 %int_1 161 %112 = OpLoad %int %111 162 %113 = OpIEqual %bool %112 %int_n1 163 OpSelectionMerge %114 None 164 OpBranchConditional %113 %115 %116 165 %116 = OpLabel 166 %117 = OpLoad %int %111 167 OpBranch %93 168 %115 = OpLabel 169 OpStore %111 %int_2 170 %118 = OpAccessChain %_ptr_Function_BST %tree %int_2 171 OpStore %118 %43 172 OpBranch %95 173 %114 = OpLabel 174 OpUnreachable 175 %100 = OpLabel 176 OpUnreachable 177 %93 = OpLabel 178 %92 = OpPhi %int %117 %116 %109 %108 179 OpBranch %90 180 %95 = OpLabel 181 %119 = OpPhi %bool %false %90 %true %115 %true %107 182 OpSelectionMerge %120 None 183 OpBranchConditional %119 %88 %120 184 %120 = OpLabel 185 OpBranch %88 186 %88 = OpLabel 187 OpSelectionMerge %121 None 188 OpSwitch %uint_0 %122 189 %122 = OpLabel 190 OpBranch %123 191 %123 = OpLabel 192 %124 = OpPhi %int %int_0 %122 %125 %126 193 %127 = OpSLessThanEqual %bool %124 %int_3 194 OpLoopMerge %128 %126 None 195 OpBranchConditional %127 %129 %128 196 %129 = OpLabel 197 %130 = OpAccessChain %_ptr_Function_int %tree %124 %int_0 198 %131 = OpLoad %int %130 199 %132 = OpSLessThanEqual %bool %int_15 %131 200 OpSelectionMerge %133 None 201 OpBranchConditional %132 %134 %135 202 %135 = OpLabel 203 %136 = OpAccessChain %_ptr_Function_int %tree %124 %int_2 204 %137 = OpLoad %int %136 205 %138 = OpIEqual %bool %137 %int_n1 206 OpSelectionMerge %139 None 207 OpBranchConditional %138 %140 %141 208 %141 = OpLabel 209 %142 = OpLoad %int %136 210 OpBranch %126 211 %140 = OpLabel 212 OpStore %136 %int_3 213 %143 = OpAccessChain %_ptr_Function_BST %tree %int_3 214 OpStore %143 %45 215 OpBranch %128 216 %139 = OpLabel 217 OpUnreachable 218 %134 = OpLabel 219 %144 = OpAccessChain %_ptr_Function_int %tree %124 %int_1 220 %145 = OpLoad %int %144 221 %146 = OpIEqual %bool %145 %int_n1 222 OpSelectionMerge %147 None 223 OpBranchConditional %146 %148 %149 224 %149 = OpLabel 225 %150 = OpLoad %int %144 226 OpBranch %126 227 %148 = OpLabel 228 OpStore %144 %int_3 229 %151 = OpAccessChain %_ptr_Function_BST %tree %int_3 230 OpStore %151 %45 231 OpBranch %128 232 %147 = OpLabel 233 OpUnreachable 234 %133 = OpLabel 235 OpUnreachable 236 %126 = OpLabel 237 %125 = OpPhi %int %150 %149 %142 %141 238 OpBranch %123 239 %128 = OpLabel 240 %152 = OpPhi %bool %false %123 %true %148 %true %140 241 OpSelectionMerge %153 None 242 OpBranchConditional %152 %121 %153 243 %153 = OpLabel 244 OpBranch %121 245 %121 = OpLabel 246 OpSelectionMerge %154 None 247 OpSwitch %uint_0 %155 248 %155 = OpLabel 249 OpBranch %156 250 %156 = OpLabel 251 %157 = OpPhi %int %int_0 %155 %158 %159 252 %160 = OpSLessThanEqual %bool %157 %int_4 253 OpLoopMerge %161 %159 None 254 OpBranchConditional %160 %162 %161 255 %162 = OpLabel 256 %163 = OpAccessChain %_ptr_Function_int %tree %157 %int_0 257 %164 = OpLoad %int %163 258 %165 = OpSLessThanEqual %bool %int_7 %164 259 OpSelectionMerge %166 None 260 OpBranchConditional %165 %167 %168 261 %168 = OpLabel 262 %169 = OpAccessChain %_ptr_Function_int %tree %157 %int_2 263 %170 = OpLoad %int %169 264 %171 = OpIEqual %bool %170 %int_n1 265 OpSelectionMerge %172 None 266 OpBranchConditional %171 %173 %174 267 %174 = OpLabel 268 %175 = OpLoad %int %169 269 OpBranch %159 270 %173 = OpLabel 271 OpStore %169 %int_4 272 %176 = OpAccessChain %_ptr_Function_BST %tree %int_4 273 OpStore %176 %47 274 OpBranch %161 275 %172 = OpLabel 276 OpUnreachable 277 %167 = OpLabel 278 %177 = OpAccessChain %_ptr_Function_int %tree %157 %int_1 279 %178 = OpLoad %int %177 280 %179 = OpIEqual %bool %178 %int_n1 281 OpSelectionMerge %180 None 282 OpBranchConditional %179 %181 %182 283 %182 = OpLabel 284 %183 = OpLoad %int %177 285 OpBranch %159 286 %181 = OpLabel 287 OpStore %177 %int_4 288 %184 = OpAccessChain %_ptr_Function_BST %tree %int_4 289 OpStore %184 %47 290 OpBranch %161 291 %180 = OpLabel 292 OpUnreachable 293 %166 = OpLabel 294 OpUnreachable 295 %159 = OpLabel 296 %158 = OpPhi %int %183 %182 %175 %174 297 OpBranch %156 298 %161 = OpLabel 299 %185 = OpPhi %bool %false %156 %true %181 %true %173 300 OpSelectionMerge %186 None 301 OpBranchConditional %185 %154 %186 302 %186 = OpLabel 303 OpBranch %154 304 %154 = OpLabel 305 OpSelectionMerge %187 None 306 OpSwitch %uint_0 %188 307 %188 = OpLabel 308 OpBranch %189 309 %189 = OpLabel 310 %190 = OpPhi %int %int_0 %188 %191 %192 311 %193 = OpSLessThanEqual %bool %190 %int_5 312 OpLoopMerge %194 %192 None 313 OpBranchConditional %193 %195 %194 314 %195 = OpLabel 315 %196 = OpAccessChain %_ptr_Function_int %tree %190 %int_0 316 %197 = OpLoad %int %196 317 %198 = OpSLessThanEqual %bool %int_8 %197 318 OpSelectionMerge %199 None 319 OpBranchConditional %198 %200 %201 320 %201 = OpLabel 321 %202 = OpAccessChain %_ptr_Function_int %tree %190 %int_2 322 %203 = OpLoad %int %202 323 %204 = OpIEqual %bool %203 %int_n1 324 OpSelectionMerge %205 None 325 OpBranchConditional %204 %206 %207 326 %207 = OpLabel 327 %208 = OpLoad %int %202 328 OpBranch %192 329 %206 = OpLabel 330 OpStore %202 %int_5 331 %209 = OpAccessChain %_ptr_Function_BST %tree %int_5 332 OpStore %209 %48 333 OpBranch %194 334 %205 = OpLabel 335 OpUnreachable 336 %200 = OpLabel 337 %210 = OpAccessChain %_ptr_Function_int %tree %190 %int_1 338 %211 = OpLoad %int %210 339 %212 = OpIEqual %bool %211 %int_n1 340 OpSelectionMerge %213 None 341 OpBranchConditional %212 %214 %215 342 %215 = OpLabel 343 %216 = OpLoad %int %210 344 OpBranch %192 345 %214 = OpLabel 346 OpStore %210 %int_5 347 %217 = OpAccessChain %_ptr_Function_BST %tree %int_5 348 OpStore %217 %48 349 OpBranch %194 350 %213 = OpLabel 351 OpUnreachable 352 %199 = OpLabel 353 OpUnreachable 354 %192 = OpLabel 355 %191 = OpPhi %int %216 %215 %208 %207 356 OpBranch %189 357 %194 = OpLabel 358 %218 = OpPhi %bool %false %189 %true %214 %true %206 359 OpSelectionMerge %219 None 360 OpBranchConditional %218 %187 %219 361 %219 = OpLabel 362 OpBranch %187 363 %187 = OpLabel 364 OpSelectionMerge %220 None 365 OpSwitch %uint_0 %221 366 %221 = OpLabel 367 OpBranch %222 368 %222 = OpLabel 369 %223 = OpPhi %int %int_0 %221 %224 %225 370 %226 = OpSLessThanEqual %bool %223 %int_6 371 OpLoopMerge %227 %225 None 372 OpBranchConditional %226 %228 %227 373 %228 = OpLabel 374 %229 = OpAccessChain %_ptr_Function_int %tree %223 %int_0 375 %230 = OpLoad %int %229 376 %231 = OpSLessThanEqual %bool %int_2 %230 377 OpSelectionMerge %232 None 378 OpBranchConditional %231 %233 %234 379 %234 = OpLabel 380 %235 = OpAccessChain %_ptr_Function_int %tree %223 %int_2 381 %236 = OpLoad %int %235 382 %237 = OpIEqual %bool %236 %int_n1 383 OpSelectionMerge %238 None 384 OpBranchConditional %237 %239 %240 385 %240 = OpLabel 386 %241 = OpLoad %int %235 387 OpBranch %225 388 %239 = OpLabel 389 OpStore %235 %int_6 390 %242 = OpAccessChain %_ptr_Function_BST %tree %int_6 391 OpStore %242 %49 392 OpBranch %227 393 %238 = OpLabel 394 OpUnreachable 395 %233 = OpLabel 396 %243 = OpAccessChain %_ptr_Function_int %tree %223 %int_1 397 %244 = OpLoad %int %243 398 %245 = OpIEqual %bool %244 %int_n1 399 OpSelectionMerge %246 None 400 OpBranchConditional %245 %247 %248 401 %248 = OpLabel 402 %249 = OpLoad %int %243 403 OpBranch %225 404 %247 = OpLabel 405 OpStore %243 %int_6 406 %250 = OpAccessChain %_ptr_Function_BST %tree %int_6 407 OpStore %250 %49 408 OpBranch %227 409 %246 = OpLabel 410 OpUnreachable 411 %232 = OpLabel 412 OpUnreachable 413 %225 = OpLabel 414 %224 = OpPhi %int %249 %248 %241 %240 415 OpBranch %222 416 %227 = OpLabel 417 %251 = OpPhi %bool %false %222 %true %247 %true %239 418 OpSelectionMerge %252 None 419 OpBranchConditional %251 %220 %252 420 %252 = OpLabel 421 OpBranch %220 422 %220 = OpLabel 423 OpSelectionMerge %253 None 424 OpSwitch %uint_0 %254 425 %254 = OpLabel 426 OpBranch %255 427 %255 = OpLabel 428 %256 = OpPhi %int %int_0 %254 %257 %258 429 %259 = OpSLessThanEqual %bool %256 %int_7 430 OpLoopMerge %260 %258 None 431 OpBranchConditional %259 %261 %260 432 %261 = OpLabel 433 %262 = OpAccessChain %_ptr_Function_int %tree %256 %int_0 434 %263 = OpLoad %int %262 435 %264 = OpSLessThanEqual %bool %int_6 %263 436 OpSelectionMerge %265 None 437 OpBranchConditional %264 %266 %267 438 %267 = OpLabel 439 %268 = OpAccessChain %_ptr_Function_int %tree %256 %int_2 440 %269 = OpLoad %int %268 441 %270 = OpIEqual %bool %269 %int_n1 442 OpSelectionMerge %271 None 443 OpBranchConditional %270 %272 %273 444 %273 = OpLabel 445 %274 = OpLoad %int %268 446 OpBranch %258 447 %272 = OpLabel 448 OpStore %268 %int_7 449 %275 = OpAccessChain %_ptr_Function_BST %tree %int_7 450 OpStore %275 %50 451 OpBranch %260 452 %271 = OpLabel 453 OpUnreachable 454 %266 = OpLabel 455 %276 = OpAccessChain %_ptr_Function_int %tree %256 %int_1 456 %277 = OpLoad %int %276 457 %278 = OpIEqual %bool %277 %int_n1 458 OpSelectionMerge %279 None 459 OpBranchConditional %278 %280 %281 460 %281 = OpLabel 461 %282 = OpLoad %int %276 462 OpBranch %258 463 %280 = OpLabel 464 OpStore %276 %int_7 465 %283 = OpAccessChain %_ptr_Function_BST %tree %int_7 466 OpStore %283 %50 467 OpBranch %260 468 %279 = OpLabel 469 OpUnreachable 470 %265 = OpLabel 471 OpUnreachable 472 %258 = OpLabel 473 %257 = OpPhi %int %282 %281 %274 %273 474 OpBranch %255 475 %260 = OpLabel 476 %284 = OpPhi %bool %false %255 %true %280 %true %272 477 OpSelectionMerge %285 None 478 OpBranchConditional %284 %253 %285 479 %285 = OpLabel 480 OpBranch %253 481 %253 = OpLabel 482 OpSelectionMerge %286 None 483 OpSwitch %uint_0 %287 484 %287 = OpLabel 485 OpBranch %288 486 %288 = OpLabel 487 %289 = OpPhi %int %int_0 %287 %290 %291 488 %292 = OpSLessThanEqual %bool %289 %int_8 489 OpLoopMerge %293 %291 None 490 OpBranchConditional %292 %294 %293 491 %294 = OpLabel 492 %295 = OpAccessChain %_ptr_Function_int %tree %289 %int_0 493 %296 = OpLoad %int %295 494 %297 = OpSLessThanEqual %bool %int_17 %296 495 OpSelectionMerge %298 None 496 OpBranchConditional %297 %299 %300 497 %300 = OpLabel 498 %301 = OpAccessChain %_ptr_Function_int %tree %289 %int_2 499 %302 = OpLoad %int %301 500 %303 = OpIEqual %bool %302 %int_n1 501 OpSelectionMerge %304 None 502 OpBranchConditional %303 %305 %306 503 %306 = OpLabel 504 %307 = OpLoad %int %301 505 OpBranch %291 506 %305 = OpLabel 507 OpStore %301 %int_8 508 %308 = OpAccessChain %_ptr_Function_BST %tree %int_8 509 OpStore %308 %51 510 OpBranch %293 511 %304 = OpLabel 512 OpUnreachable 513 %299 = OpLabel 514 %309 = OpAccessChain %_ptr_Function_int %tree %289 %int_1 515 %310 = OpLoad %int %309 516 %311 = OpIEqual %bool %310 %int_n1 517 OpSelectionMerge %312 None 518 OpBranchConditional %311 %313 %314 519 %314 = OpLabel 520 %315 = OpLoad %int %309 521 OpBranch %291 522 %313 = OpLabel 523 OpStore %309 %int_8 524 %316 = OpAccessChain %_ptr_Function_BST %tree %int_8 525 OpStore %316 %51 526 OpBranch %293 527 %312 = OpLabel 528 OpUnreachable 529 %298 = OpLabel 530 OpUnreachable 531 %291 = OpLabel 532 %290 = OpPhi %int %315 %314 %307 %306 533 OpBranch %288 534 %293 = OpLabel 535 %317 = OpPhi %bool %false %288 %true %313 %true %305 536 OpSelectionMerge %318 None 537 OpBranchConditional %317 %286 %318 538 %318 = OpLabel 539 OpBranch %286 540 %286 = OpLabel 541 OpSelectionMerge %319 None 542 OpSwitch %uint_0 %320 543 %320 = OpLabel 544 OpBranch %321 545 %321 = OpLabel 546 %322 = OpPhi %int %int_0 %320 %323 %324 547 %325 = OpSLessThanEqual %bool %322 %int_9 548 OpLoopMerge %326 %324 None 549 OpBranchConditional %325 %327 %326 550 %327 = OpLabel 551 %328 = OpAccessChain %_ptr_Function_int %tree %322 %int_0 552 %329 = OpLoad %int %328 553 %330 = OpSLessThanEqual %bool %int_13 %329 554 OpSelectionMerge %331 None 555 OpBranchConditional %330 %332 %333 556 %333 = OpLabel 557 %334 = OpAccessChain %_ptr_Function_int %tree %322 %int_2 558 %335 = OpLoad %int %334 559 %336 = OpIEqual %bool %335 %int_n1 560 OpSelectionMerge %337 None 561 OpBranchConditional %336 %338 %339 562 %339 = OpLabel 563 %340 = OpLoad %int %334 564 OpBranch %324 565 %338 = OpLabel 566 OpStore %334 %int_9 567 %341 = OpAccessChain %_ptr_Function_BST %tree %int_9 568 OpStore %341 %52 569 OpBranch %326 570 %337 = OpLabel 571 OpUnreachable 572 %332 = OpLabel 573 %342 = OpAccessChain %_ptr_Function_int %tree %322 %int_1 574 %343 = OpLoad %int %342 575 %344 = OpIEqual %bool %343 %int_n1 576 OpSelectionMerge %345 None 577 OpBranchConditional %344 %346 %347 578 %347 = OpLabel 579 %348 = OpLoad %int %342 580 OpBranch %324 581 %346 = OpLabel 582 OpStore %342 %int_9 583 %349 = OpAccessChain %_ptr_Function_BST %tree %int_9 584 OpStore %349 %52 585 OpBranch %326 586 %345 = OpLabel 587 OpUnreachable 588 %331 = OpLabel 589 OpUnreachable 590 %324 = OpLabel 591 %323 = OpPhi %int %348 %347 %340 %339 592 OpBranch %321 593 %326 = OpLabel 594 %350 = OpPhi %bool %false %321 %true %346 %true %338 595 OpSelectionMerge %351 None 596 OpBranchConditional %350 %319 %351 597 %351 = OpLabel 598 OpBranch %319 599 %319 = OpLabel 600 OpBranch %352 601 %352 = OpLabel 602 %353 = OpPhi %int %40 %319 %354 %355 603 %356 = OpPhi %int %int_0 %319 %357 %355 604 %358 = OpPhi %int %int_0 %319 %359 %355 605 %360 = OpSLessThan %bool %358 %int_20 606 OpLoopMerge %361 %355 None 607 OpBranchConditional %360 %362 %361 608 %362 = OpLabel 609 OpSelectionMerge %363 None 610 OpSwitch %uint_0 %364 611 %364 = OpLabel 612 OpBranch %365 613 %365 = OpLabel 614 %366 = OpPhi %int %int_0 %364 %367 %368 615 %369 = OpINotEqual %bool %366 %int_n1 616 OpLoopMerge %370 %368 None 617 OpBranchConditional %369 %371 %370 618 %371 = OpLabel 619 %372 = OpAccessChain %_ptr_Function_BST %tree %366 620 %373 = OpLoad %BST %372 621 %374 = OpCompositeExtract %int %373 0 622 %375 = OpCompositeExtract %int %373 1 623 %376 = OpCompositeExtract %int %373 2 624 %377 = OpIEqual %bool %374 %358 625 OpSelectionMerge %378 None 626 OpBranchConditional %377 %379 %378 627 %379 = OpLabel 628 OpBranch %370 629 %378 = OpLabel 630 %380 = OpSGreaterThan %bool %358 %374 631 %367 = OpSelect %int %380 %376 %375 632 OpBranch %368 633 %368 = OpLabel 634 OpBranch %365 635 %370 = OpLabel 636 %381 = OpPhi %int %353 %365 %358 %379 637 %382 = OpPhi %bool %false %365 %true %379 638 OpSelectionMerge %383 None 639 OpBranchConditional %382 %363 %383 640 %383 = OpLabel 641 OpBranch %363 642 %363 = OpLabel 643 %354 = OpPhi %int %381 %370 %int_n1 %383 644 OpSelectionMerge %384 None 645 OpSwitch %358 %385 9 %386 5 %386 12 %386 15 %386 7 %386 8 %386 2 %386 6 %386 17 %386 13 %386 646 %386 = OpLabel 647 %387 = OpIEqual %bool %354 %358 648 OpSelectionMerge %388 None 649 OpBranchConditional %387 %389 %388 650 %389 = OpLabel 651 %390 = OpIAdd %int %356 %int_1 652 OpBranch %388 653 %388 = OpLabel 654 %391 = OpPhi %int %356 %386 %390 %389 655 OpBranch %384 656 %385 = OpLabel 657 %392 = OpIEqual %bool %354 %int_n1 658 OpSelectionMerge %393 None 659 OpBranchConditional %392 %394 %393 660 %394 = OpLabel 661 %395 = OpIAdd %int %356 %int_1 662 OpBranch %393 663 %393 = OpLabel 664 %396 = OpPhi %int %356 %385 %395 %394 665 OpBranch %384 666 %384 = OpLabel 667 %357 = OpPhi %int %396 %393 %391 %388 668 OpBranch %355 669 %355 = OpLabel 670 %359 = OpIAdd %int %358 %int_1 671 OpBranch %352 672 %361 = OpLabel 673 %397 = OpIEqual %bool %356 %int_20 674 OpSelectionMerge %398 None 675 OpBranchConditional %397 %399 %400 676 %400 = OpLabel 677 OpStore %_GLF_color %35 678 OpBranch %398 679 %399 = OpLabel 680 OpStore %_GLF_color %34 681 OpBranch %398 682 %398 = OpLabel 683 OpReturn 684 OpFunctionEnd 685