OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %_GLF_color
               OpExecutionMode %main OriginUpperLeft
               OpSource ESSL 310
               OpName %main "main"
               OpName %S "S"
               OpMemberName %S 0 "a"
               OpMemberName %S 1 "b"
               OpMemberName %S 2 "c"
               OpName %func_struct_S_i1_i1_i11_i1_ "func(struct-S-i1-i1-i11;i1;"
               OpName %s "s"
               OpName %x "x"
               OpName %arr "arr"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "one"
               OpName %_ ""
               OpName %_GLF_color "_GLF_color"
               OpName %param "param"
               OpName %param_0 "param"
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %buf0 Block
               OpDecorate %_ DescriptorSet 0
               OpDecorate %_ Binding 0
               OpDecorate %_GLF_color Location 0
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
        %int = OpTypeInt 32 1
          %S = OpTypeStruct %int %int %int
%_ptr_Function_S = OpTypePointer Function %S
%_ptr_Function_int = OpTypePointer Function %int
         %18 = OpTypeFunction %int %_ptr_Function_S %_ptr_Function_int
      %int_0 = OpConstant %int 0
      %int_2 = OpConstant %int 2
       %bool = OpTypeBool
      %int_9 = OpConstant %int 9
      %int_1 = OpConstant %int 1
      %int_7 = OpConstant %int 7
       %uint = OpTypeInt 32 0
     %uint_2 = OpConstant %uint 2
%_arr_S_uint_2 = OpTypeArray %S %uint_2
%_ptr_Function__arr_S_uint_2 = OpTypePointer Function %_arr_S_uint_2
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
 %_GLF_color = OpVariable %_ptr_Output_v4float Output
    %float_0 = OpConstant %float 0
         %35 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
     %int_12 = OpConstant %int 12
    %float_1 = OpConstant %float 1
         %38 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
      %false = OpConstantFalse %bool
%_ptr_Function_bool = OpTypePointer Function %bool
       %true = OpConstantTrue %bool
       %main = OpFunction %void None %14
         %42 = OpLabel
         %43 = OpVariable %_ptr_Function_int Function
         %44 = OpVariable %_ptr_Function_bool Function %false
        %arr = OpVariable %_ptr_Function__arr_S_uint_2 Function
      %param = OpVariable %_ptr_Function_S Function
    %param_0 = OpVariable %_ptr_Function_int Function
               OpBranch %45
         %45 = OpLabel
               OpLoopMerge %46 %47 None
               OpBranch %48
         %48 = OpLabel
         %49 = OpAccessChain %_ptr_Uniform_int %_ %int_0
         %50 = OpLoad %int %49
         %51 = OpAccessChain %_ptr_Function_int %arr %50 %int_0
               OpStore %51 %int_2
         %52 = OpAccessChain %_ptr_Function_int %arr %int_1 %int_0
         %53 = OpLoad %int %52
         %54 = OpSLessThan %bool %53 %int_1
               OpSelectionMerge %55 None
               OpBranchConditional %54 %56 %57
         %56 = OpLabel
               OpStore %_GLF_color %35
               OpStore %44 %true
               OpBranch %46
         %57 = OpLabel
         %58 = OpIAdd %int %int_2 %50
         %59 = OpAccessChain %_ptr_Function_S %arr %int_1
         %60 = OpLoad %S %59
               OpStore %param %60
               OpStore %param_0 %58
         %61 = OpLoad %int %param_0
         %62 = OpAccessChain %_ptr_Function_int %param %int_0
         %63 = OpLoad %S %param
         %64 = OpCompositeInsert %S %61 %63 0
               OpStore %param %64
         %65 = OpLoad %S %param
         %66 = OpCompositeExtract %int %65 0
         %67 = OpIEqual %bool %66 %int_2
               OpSelectionMerge %68 None
               OpBranchConditional %67 %69 %68
         %69 = OpLabel
         %70 = OpLoad %S %param
         %71 = OpCompositeInsert %S %int_9 %70 0
               OpStore %param %71
               OpBranch %68
         %68 = OpLabel
         %72 = OpLoad %int %param_0
         %73 = OpIAdd %int %72 %int_1
         %74 = OpAccessChain %_ptr_Function_int %param %int_1
         %75 = OpLoad %S %param
         %76 = OpCompositeInsert %S %73 %75 1
               OpStore %param %76
         %77 = OpLoad %int %param_0
         %78 = OpIAdd %int %77 %int_2
         %79 = OpAccessChain %_ptr_Function_int %param %int_2
         %80 = OpLoad %S %param
         %81 = OpCompositeInsert %S %78 %80 2
               OpStore %param %81
         %82 = OpLoad %S %param
         %83 = OpCompositeExtract %int %82 1
         %84 = OpIEqual %bool %83 %int_2
               OpSelectionMerge %85 None
               OpBranchConditional %84 %86 %85
         %86 = OpLabel
         %87 = OpLoad %S %param
         %88 = OpCompositeInsert %S %int_7 %87 1
               OpStore %param %88
               OpBranch %85
         %85 = OpLabel
         %89 = OpLoad %S %param
         %90 = OpCompositeExtract %int %89 0
         %91 = OpLoad %S %param
         %92 = OpCompositeExtract %int %91 1
         %93 = OpIAdd %int %90 %92
         %94 = OpLoad %S %param
         %95 = OpCompositeExtract %int %94 2
         %96 = OpIAdd %int %93 %95
               OpStore %43 %96
         %97 = OpLoad %int %43
         %98 = OpIEqual %bool %97 %int_12
               OpSelectionMerge %99 None
               OpBranchConditional %98 %100 %101
        %100 = OpLabel
               OpStore %_GLF_color %38
               OpBranch %99
        %101 = OpLabel
               OpStore %_GLF_color %35
               OpBranch %99
         %99 = OpLabel
               OpBranch %55
         %55 = OpLabel
               OpStore %44 %true
               OpBranch %46
         %47 = OpLabel
               OpBranch %45
         %46 = OpLabel
               OpReturn
               OpFunctionEnd
%func_struct_S_i1_i1_i11_i1_ = OpFunction %int None %18
          %s = OpFunctionParameter %_ptr_Function_S
          %x = OpFunctionParameter %_ptr_Function_int
        %102 = OpLabel
        %103 = OpLoad %int %x
        %104 = OpAccessChain %_ptr_Function_int %s %int_0
               OpStore %104 %103
        %105 = OpLoad %int %104
        %106 = OpIEqual %bool %105 %int_2
               OpSelectionMerge %107 None
               OpBranchConditional %106 %108 %107
        %108 = OpLabel
               OpStore %104 %int_9
               OpBranch %107
        %107 = OpLabel
        %109 = OpLoad %int %x
        %110 = OpIAdd %int %109 %int_1
        %111 = OpAccessChain %_ptr_Function_int %s %int_1
               OpStore %111 %110
        %112 = OpLoad %int %x
        %113 = OpIAdd %int %112 %int_2
        %114 = OpAccessChain %_ptr_Function_int %s %int_2
               OpStore %114 %113
        %115 = OpLoad %int %111
        %116 = OpIEqual %bool %115 %int_2
               OpSelectionMerge %117 None
               OpBranchConditional %116 %118 %117
        %118 = OpLabel
               OpStore %111 %int_7
               OpBranch %117
        %117 = OpLabel
        %119 = OpLoad %int %104
        %120 = OpLoad %int %111
        %121 = OpIAdd %int %119 %120
        %122 = OpLoad %int %114
        %123 = OpIAdd %int %121 %122
               OpReturnValue %123
               OpFunctionEnd