; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 112
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
               OpExecutionMode %main OriginUpperLeft
               OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %x_6 "x_6"
               OpName %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %k "k"
               OpName %GLF_dead0j "GLF_dead0j"
               OpName %donor_replacementGLF_dead0stack "donor_replacementGLF_dead0stack"
               OpName %donor_replacementGLF_dead0top "donor_replacementGLF_dead0top"
               OpName %x_54 "x_54"
               OpName %matrix_b "matrix_b"
               OpName %b "b"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %main_inner "main_inner"
               OpName %main "main"
               OpDecorate %x_GLF_color_1_1 Location 0
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 0
               OpDecorate %_arr_int_uint_10 ArrayStride 4
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %void = OpTypeVoid
         %12 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %19 = OpConstantNull %int
       %uint = OpTypeInt 32 0
    %uint_10 = OpConstant %uint 10
%_arr_int_uint_10 = OpTypeArray %int %uint_10
%_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10
         %26 = OpConstantNull %_arr_int_uint_10
%_ptr_Function_v4float = OpTypePointer Function %v4float
      %int_0 = OpConstant %int 0
      %int_4 = OpConstant %int 4
       %bool = OpTypeBool
     %uint_0 = OpConstant %uint 0
     %uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
    %float_0 = OpConstant %float 0
      %int_1 = OpConstant %int 1
      %int_9 = OpConstant %int 9
         %77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
      %int_3 = OpConstant %int 3
%_ptr_Function_float = OpTypePointer Function %float
    %float_1 = OpConstant %float 1
        %100 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
   %main_out = OpTypeStruct %v4float
        %101 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %12
         %15 = OpLabel
          %k = OpVariable %_ptr_Function_int Function %19
 %GLF_dead0j = OpVariable %_ptr_Function_int Function %19
%donor_replacementGLF_dead0stack = OpVariable %_ptr_Function__arr_int_uint_10 Function %26
%donor_replacementGLF_dead0top = OpVariable %_ptr_Function_int Function %19
       %x_54 = OpVariable %_ptr_Function_int Function %19
   %matrix_b = OpVariable %_ptr_Function_v4float Function %5
          %b = OpVariable %_ptr_Function_int Function %19
               OpStore %k %int_0
               OpBranch %33
         %33 = OpLabel
               OpLoopMerge %34 %35 None
               OpBranch %36
         %36 = OpLabel
         %37 = OpLoad %int %k
         %39 = OpSLessThan %bool %37 %int_4
               OpSelectionMerge %41 None
               OpBranchConditional %39 %42 %43
         %42 = OpLabel
               OpBranch %41
         %43 = OpLabel
               OpBranch %34
         %41 = OpLabel
         %47 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
         %48 = OpLoad %float %47
         %50 = OpFOrdGreaterThan %bool %float_0 %48
               OpSelectionMerge %51 None
               OpBranchConditional %50 %52 %51
         %52 = OpLabel
               OpStore %GLF_dead0j %int_1
               OpBranch %54
         %54 = OpLabel
               OpLoopMerge %55 %56 None
               OpBranch %57
         %57 = OpLabel
         %58 = OpAccessChain %_ptr_Function_int %donor_replacementGLF_dead0stack %int_0
         %59 = OpLoad %int %58
         %60 = OpSLessThanEqual %bool %int_1 %59
               OpSelectionMerge %61 None
               OpBranchConditional %60 %62 %63
         %62 = OpLabel
               OpBranch %61
         %63 = OpLabel
               OpBranch %55
         %61 = OpLabel
               OpBranch %56
         %56 = OpLabel
               OpBranch %54
         %55 = OpLabel
         %64 = OpLoad %int %donor_replacementGLF_dead0top
         %65 = OpLoad %int %donor_replacementGLF_dead0top
         %66 = OpSGreaterThanEqual %bool %64 %int_0
         %68 = OpSLessThan %bool %65 %int_9
         %69 = OpLogicalAnd %bool %66 %68
               OpSelectionMerge %70 None
               OpBranchConditional %69 %71 %72
         %71 = OpLabel
         %73 = OpLoad %int %donor_replacementGLF_dead0top
         %74 = OpIAdd %int %73 %int_1
               OpStore %donor_replacementGLF_dead0top %74
               OpStore %x_54 %74
               OpBranch %70
         %72 = OpLabel
               OpStore %x_54 %int_0
               OpBranch %70
         %70 = OpLabel
         %75 = OpLoad %int %x_54
         %76 = OpAccessChain %_ptr_Function_int %donor_replacementGLF_dead0stack %75
               OpStore %76 %int_1
               OpBranch %51
         %51 = OpLabel
               OpStore %matrix_b %77
               OpStore %b %int_3
               OpBranch %79
         %79 = OpLabel
               OpLoopMerge %80 %81 None
               OpBranch %82
         %82 = OpLabel
         %83 = OpLoad %int %b
         %84 = OpSGreaterThanEqual %bool %83 %int_0
               OpSelectionMerge %85 None
               OpBranchConditional %84 %86 %87
         %86 = OpLabel
               OpBranch %85
         %87 = OpLabel
               OpBranch %80
         %85 = OpLabel
         %88 = OpLoad %int %b
         %89 = OpLoad %int %b
         %91 = OpAccessChain %_ptr_Function_float %matrix_b %89
         %92 = OpLoad %float %91
         %93 = OpAccessChain %_ptr_Function_float %matrix_b %88
         %95 = OpFSub %float %92 %float_1
               OpStore %93 %95
               OpBranch %81
         %81 = OpLabel
         %96 = OpLoad %int %b
         %97 = OpISub %int %96 %int_1
               OpStore %b %97
               OpBranch %79
         %80 = OpLabel
               OpBranch %35
         %35 = OpLabel
         %98 = OpLoad %int %k
         %99 = OpIAdd %int %98 %int_1
               OpStore %k %99
               OpBranch %33
         %34 = OpLabel
               OpStore %x_GLF_color %100
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %101
        %104 = OpLabel
        %105 = OpFunctionCall %void %main_1
        %106 = OpLoad %v4float %x_GLF_color
        %107 = OpCompositeConstruct %main_out %106
               OpReturnValue %107
               OpFunctionEnd
       %main = OpFunction %void None %12
        %109 = OpLabel
        %110 = OpFunctionCall %main_out %main_inner
        %111 = OpCompositeExtract %v4float %110 0
               OpStore %x_GLF_color_1_1 %111
               OpReturn
               OpFunctionEnd
