; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 119
; 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 "one"
               OpName %x_11 "x_11"
               OpName %x_GLF_color "x_GLF_color"
               OpName %S "S"
               OpMemberName %S 0 "data"
               OpName %func_struct_S_i11_i1_ "func_struct_S_i11_i1_"
               OpName %s "s"
               OpName %x "x"
               OpName %main_1 "main_1"
               OpName %a "a"
               OpName %arr "arr"
               OpName %i "i"
               OpName %param "param"
               OpName %param_1 "param_1"
               OpName %param_2 "param_2"
               OpName %param_3 "param_3"
               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_11 NonWritable
               OpDecorate %x_11 DescriptorSet 0
               OpDecorate %x_11 Binding 0
               OpMemberDecorate %S 0 Offset 0
               OpDecorate %_arr_S_uint_1 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
        %int = OpTypeInt 32 1
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
       %x_11 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
          %S = OpTypeStruct %int
%_ptr_Function_S = OpTypePointer Function %S
%_ptr_Function_int = OpTypePointer Function %int
         %12 = OpTypeFunction %int %_ptr_Function_S %_ptr_Function_int
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
      %int_1 = OpConstant %int 1
       %bool = OpTypeBool
      %int_0 = OpConstant %int 0
       %void = OpTypeVoid
         %40 = OpTypeFunction %void
         %45 = OpConstantNull %int
     %uint_1 = OpConstant %uint 1
%_arr_S_uint_1 = OpTypeArray %S %uint_1
%_ptr_Function__arr_S_uint_1 = OpTypePointer Function %_arr_S_uint_1
         %50 = OpConstantNull %_arr_S_uint_1
         %53 = OpConstantNull %S
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_5 = OpConstant %int 5
      %int_2 = OpConstant %int 2
      %int_6 = OpConstant %int 6
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
        %106 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
        %107 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
   %main_out = OpTypeStruct %v4float
        %108 = OpTypeFunction %main_out
%func_struct_S_i11_i1_ = OpFunction %int None %12
          %s = OpFunctionParameter %_ptr_Function_S
          %x = OpFunctionParameter %_ptr_Function_int
         %19 = OpLabel
         %23 = OpAccessChain %_ptr_Function_int %s %uint_0
         %24 = OpLoad %int %23
         %26 = OpIEqual %bool %24 %int_1
               OpSelectionMerge %28 None
               OpBranchConditional %26 %29 %30
         %29 = OpLabel
         %32 = OpLoad %int %x
         %34 = OpAccessChain %_ptr_Function_int %s %uint_0
         %35 = OpLoad %int %34
         %36 = OpIAdd %int %32 %35
               OpReturnValue %36
         %30 = OpLabel
         %38 = OpLoad %int %x
               OpReturnValue %38
         %28 = OpLabel
               OpReturnValue %int_0
               OpFunctionEnd
     %main_1 = OpFunction %void None %40
         %43 = OpLabel
          %a = OpVariable %_ptr_Function_int Function %45
        %arr = OpVariable %_ptr_Function__arr_S_uint_1 Function %50
          %i = OpVariable %_ptr_Function_int Function %45
      %param = OpVariable %_ptr_Function_S Function %53
    %param_1 = OpVariable %_ptr_Function_int Function %45
    %param_2 = OpVariable %_ptr_Function_S Function %53
    %param_3 = OpVariable %_ptr_Function_int Function %45
               OpStore %a %int_0
         %58 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0
         %59 = OpLoad %int %58
         %60 = OpAccessChain %_ptr_Function_int %arr %int_0 %uint_0
               OpStore %60 %59
               OpStore %i %int_0
               OpBranch %61
         %61 = OpLabel
               OpLoopMerge %62 %63 None
               OpBranch %64
         %64 = OpLabel
         %65 = OpLoad %int %i
         %66 = OpAccessChain %_ptr_Uniform_int %x_11 %uint_0
         %67 = OpLoad %int %66
         %69 = OpIAdd %int %int_5 %67
         %70 = OpSLessThan %bool %65 %69
               OpSelectionMerge %71 None
               OpBranchConditional %70 %72 %73
         %72 = OpLabel
               OpBranch %71
         %73 = OpLabel
               OpBranch %62
         %71 = OpLabel
         %74 = OpLoad %int %i
         %76 = OpSMod %int %74 %int_2
         %77 = OpINotEqual %bool %76 %int_0
               OpSelectionMerge %78 None
               OpBranchConditional %77 %79 %80
         %79 = OpLabel
         %81 = OpAccessChain %_ptr_Function_S %arr %int_0
         %82 = OpLoad %S %81
               OpStore %param %82
         %83 = OpLoad %int %i
               OpStore %param_1 %83
         %84 = OpFunctionCall %int %func_struct_S_i11_i1_ %param %param_1
         %87 = OpLoad %S %param
         %88 = OpAccessChain %_ptr_Function_S %arr %int_0
               OpStore %88 %87
               OpStore %a %84
               OpBranch %78
         %80 = OpLabel
         %89 = OpAccessChain %_ptr_Function_S %arr %int_0
         %90 = OpLoad %S %89
               OpStore %param_2 %90
               OpStore %param_3 %int_1
         %91 = OpFunctionCall %int %func_struct_S_i11_i1_ %param_2 %param_3
         %94 = OpLoad %S %param_2
         %95 = OpAccessChain %_ptr_Function_S %arr %int_0
               OpStore %95 %94
               OpStore %a %91
               OpBranch %78
         %78 = OpLabel
               OpBranch %63
         %63 = OpLabel
         %96 = OpLoad %int %i
         %97 = OpIAdd %int %96 %int_1
               OpStore %i %97
               OpBranch %61
         %62 = OpLabel
         %98 = OpLoad %int %a
        %100 = OpIEqual %bool %98 %int_6
               OpSelectionMerge %101 None
               OpBranchConditional %100 %102 %103
        %102 = OpLabel
               OpStore %x_GLF_color %106
               OpBranch %101
        %103 = OpLabel
               OpStore %x_GLF_color %107
               OpBranch %101
        %101 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %108
        %111 = OpLabel
        %112 = OpFunctionCall %void %main_1
        %113 = OpLoad %v4float %x_GLF_color
        %114 = OpCompositeConstruct %main_out %113
               OpReturnValue %114
               OpFunctionEnd
       %main = OpFunction %void None %40
        %116 = OpLabel
        %117 = OpFunctionCall %main_out %main_inner
        %118 = OpCompositeExtract %v4float %117 0
               OpStore %x_GLF_color_1_1 %118
               OpReturn
               OpFunctionEnd
