; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 131
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %main "main"
               OpExecutionMode %main LocalSize 1 1 1
               OpName %theSSBO "theSSBO"
               OpMemberName %theSSBO 0 "out_data"
               OpName %x_4 "x_4"
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "injectionSwitch"
               OpName %x_6 "x_6"
               OpName %main_1 "main_1"
               OpName %i "i"
               OpName %GLF_live3s "GLF_live3s"
               OpName %i_1 "i_1"
               OpName %z "z"
               OpName %main "main"
               OpDecorate %theSSBO Block
               OpMemberDecorate %theSSBO 0 Offset 0
               OpDecorate %x_4 DescriptorSet 0
               OpDecorate %x_4 Binding 0
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 1
        %int = OpTypeInt 32 1
    %theSSBO = OpTypeStruct %int
%_ptr_StorageBuffer_theSSBO = OpTypePointer StorageBuffer %theSSBO
        %x_4 = OpVariable %_ptr_StorageBuffer_theSSBO StorageBuffer
      %float = OpTypeFloat 32
    %v2float = OpTypeVector %float 2
       %buf1 = OpTypeStruct %v2float
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_6 = OpVariable %_ptr_Uniform_buf1 Uniform
       %void = OpTypeVoid
         %10 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %16 = OpConstantNull %int
%_ptr_Function_float = OpTypePointer Function %float
         %19 = OpConstantNull %float
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
     %int_42 = OpConstant %int 42
%_ptr_Uniform_float = OpTypePointer Uniform %float
     %uint_1 = OpConstant %uint 1
       %bool = OpTypeBool
     %uint_2 = OpConstant %uint 2
   %uint_264 = OpConstant %uint 264
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
    %float_0 = OpConstant %float 0
      %int_2 = OpConstant %int 2
    %float_1 = OpConstant %float 1
     %main_1 = OpFunction %void None %10
         %13 = OpLabel
          %i = OpVariable %_ptr_Function_int Function %16
 %GLF_live3s = OpVariable %_ptr_Function_float Function %19
        %i_1 = OpVariable %_ptr_Function_int Function %16
          %z = OpVariable %_ptr_Function_int Function %16
         %25 = OpAccessChain %_ptr_StorageBuffer_int %x_4 %uint_0
               OpStore %25 %int_42
         %28 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %29 = OpLoad %float %28
         %31 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %32 = OpLoad %float %31
         %33 = OpFOrdGreaterThan %bool %29 %32
               OpSelectionMerge %35 None
               OpBranchConditional %33 %36 %35
         %36 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %35
         %35 = OpLabel
         %40 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %41 = OpLoad %float %40
         %42 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %43 = OpLoad %float %42
         %44 = OpFOrdGreaterThan %bool %41 %43
               OpSelectionMerge %45 None
               OpBranchConditional %44 %46 %45
         %46 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %45
         %45 = OpLabel
         %48 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %49 = OpLoad %float %48
         %50 = OpConvertFToS %int %49
               OpStore %i %50
               OpBranch %51
         %51 = OpLabel
               OpLoopMerge %52 %53 None
               OpBranch %54
         %54 = OpLabel
         %55 = OpLoad %int %i
         %57 = OpSGreaterThan %bool %55 %int_0
               OpSelectionMerge %58 None
               OpBranchConditional %57 %59 %60
         %59 = OpLabel
               OpBranch %58
         %60 = OpLabel
               OpBranch %52
         %58 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %53
         %53 = OpLabel
         %62 = OpLoad %int %i
         %64 = OpISub %int %62 %int_1
               OpStore %i %64
               OpBranch %51
         %52 = OpLabel
               OpStore %GLF_live3s %float_0
               OpBranch %66
         %66 = OpLabel
               OpLoopMerge %67 %68 None
               OpBranch %69
         %69 = OpLabel
               OpStore %i_1 %int_1
               OpBranch %70
         %70 = OpLabel
               OpLoopMerge %71 %72 None
               OpBranch %73
         %73 = OpLabel
         %74 = OpLoad %int %i_1
         %76 = OpSLessThan %bool %74 %int_2
               OpSelectionMerge %77 None
               OpBranchConditional %76 %78 %79
         %78 = OpLabel
               OpBranch %77
         %79 = OpLabel
               OpBranch %71
         %77 = OpLabel
         %80 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %81 = OpLoad %float %80
         %83 = OpFOrdGreaterThan %bool %81 %float_1
               OpSelectionMerge %84 None
               OpBranchConditional %83 %85 %84
         %85 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %84
         %84 = OpLabel
         %87 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
         %88 = OpLoad %float %87
         %89 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %90 = OpLoad %float %89
         %91 = OpFOrdGreaterThan %bool %88 %90
               OpSelectionMerge %92 None
               OpBranchConditional %91 %93 %92
         %93 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %92
         %92 = OpLabel
         %95 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %96 = OpLoad %float %95
         %97 = OpConvertFToS %int %96
               OpStore %z %97
               OpBranch %98
         %98 = OpLabel
               OpLoopMerge %99 %100 None
               OpBranch %101
        %101 = OpLabel
        %102 = OpLoad %int %z
        %103 = OpSGreaterThan %bool %102 %int_0
               OpSelectionMerge %104 None
               OpBranchConditional %103 %105 %106
        %105 = OpLabel
               OpBranch %104
        %106 = OpLabel
               OpBranch %99
        %104 = OpLabel
        %107 = OpLoad %float %GLF_live3s
        %108 = OpFAdd %float %107 %float_1
               OpStore %GLF_live3s %108
               OpBranch %100
        %100 = OpLabel
        %109 = OpLoad %int %z
        %110 = OpISub %int %109 %int_1
               OpStore %z %110
               OpBranch %98
         %99 = OpLabel
        %111 = OpLoad %int %i_1
        %112 = OpSGreaterThanEqual %bool %111 %int_1
               OpSelectionMerge %113 None
               OpBranchConditional %112 %114 %113
        %114 = OpLabel
        %115 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
        %116 = OpLoad %float %115
        %117 = OpFOrdGreaterThan %bool %116 %float_1
               OpSelectionMerge %118 None
               OpBranchConditional %117 %119 %118
        %119 = OpLabel
               OpControlBarrier %uint_2 %uint_2 %uint_264
               OpBranch %118
        %118 = OpLabel
               OpBranch %113
        %113 = OpLabel
               OpBranch %72
         %72 = OpLabel
        %121 = OpLoad %int %i_1
        %122 = OpIAdd %int %121 %int_1
               OpStore %i_1 %122
               OpBranch %70
         %71 = OpLabel
               OpBranch %68
         %68 = OpLabel
        %123 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
        %124 = OpLoad %float %123
        %125 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
        %126 = OpLoad %float %125
        %127 = OpFOrdGreaterThan %bool %124 %126
               OpBranchConditional %127 %66 %67
         %67 = OpLabel
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %10
        %129 = OpLabel
        %130 = OpFunctionCall %void %main_1
               OpReturn
               OpFunctionEnd
