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