               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 "data"
               OpName %func_struct_S_i11_i1_ "func(struct-S-i11;i1;"
               OpName %s "s"
               OpName %x "x"
               OpName %a "a"
               OpName %arr "arr"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "one"
               OpName %_ ""
               OpName %i "i"
               OpName %param "param"
               OpName %param_0 "param"
               OpName %param_1 "param"
               OpName %param_2 "param"
               OpName %_GLF_color "_GLF_color"
               OpMemberDecorate %S 0 RelaxedPrecision
               OpDecorate %func_struct_S_i11_i1_ RelaxedPrecision
               OpDecorate %x RelaxedPrecision
               OpDecorate %17 RelaxedPrecision
               OpDecorate %18 RelaxedPrecision
               OpDecorate %19 RelaxedPrecision
               OpDecorate %20 RelaxedPrecision
               OpDecorate %21 RelaxedPrecision
               OpDecorate %a RelaxedPrecision
               OpMemberDecorate %buf0 0 RelaxedPrecision
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %buf0 Block
               OpDecorate %_ DescriptorSet 0
               OpDecorate %_ Binding 0
               OpDecorate %22 RelaxedPrecision
               OpDecorate %i RelaxedPrecision
               OpDecorate %23 RelaxedPrecision
               OpDecorate %24 RelaxedPrecision
               OpDecorate %25 RelaxedPrecision
               OpDecorate %26 RelaxedPrecision
               OpDecorate %27 RelaxedPrecision
               OpDecorate %28 RelaxedPrecision
               OpDecorate %29 RelaxedPrecision
               OpDecorate %30 RelaxedPrecision
               OpDecorate %31 RelaxedPrecision
               OpDecorate %32 RelaxedPrecision
               OpDecorate %33 RelaxedPrecision
               OpDecorate %_GLF_color Location 0
       %void = OpTypeVoid
         %35 = OpTypeFunction %void
        %int = OpTypeInt 32 1
          %S = OpTypeStruct %int
%_ptr_Function_S = OpTypePointer Function %S
%_ptr_Function_int = OpTypePointer Function %int
         %39 = OpTypeFunction %int %_ptr_Function_S %_ptr_Function_int
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
       %bool = OpTypeBool
       %uint = OpTypeInt 32 0
     %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
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_5 = OpConstant %int 5
      %int_2 = OpConstant %int 2
      %int_6 = OpConstant %int 6
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
 %_GLF_color = OpVariable %_ptr_Output_v4float Output
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
         %58 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
       %main = OpFunction %void None %35
         %59 = OpLabel
          %a = OpVariable %_ptr_Function_int Function
        %arr = OpVariable %_ptr_Function__arr_S_uint_1 Function
          %i = OpVariable %_ptr_Function_int Function
      %param = OpVariable %_ptr_Function_S Function
    %param_0 = OpVariable %_ptr_Function_int Function
    %param_1 = OpVariable %_ptr_Function_S Function
    %param_2 = OpVariable %_ptr_Function_int Function
               OpStore %a %int_0
         %60 = OpAccessChain %_ptr_Uniform_int %_ %int_0
         %22 = OpLoad %int %60
         %61 = OpAccessChain %_ptr_Function_int %arr %int_0 %int_0
               OpStore %61 %22
               OpStore %i %int_0
               OpBranch %62
         %62 = OpLabel
               OpLoopMerge %63 %64 None
               OpBranch %65
         %65 = OpLabel
         %23 = OpLoad %int %i
         %66 = OpAccessChain %_ptr_Uniform_int %_ %int_0
         %24 = OpLoad %int %66
         %25 = OpIAdd %int %int_5 %24
         %67 = OpSLessThan %bool %23 %25
               OpBranchConditional %67 %68 %63
         %68 = OpLabel
         %26 = OpLoad %int %i
         %27 = OpSMod %int %26 %int_2
         %69 = OpINotEqual %bool %27 %int_0
               OpSelectionMerge %70 None
               OpBranchConditional %69 %71 %72
         %71 = OpLabel
         %73 = OpAccessChain %_ptr_Function_S %arr %int_0
         %74 = OpLoad %S %73
               OpStore %param %74
         %28 = OpLoad %int %i
               OpStore %param_0 %28
         %29 = OpFunctionCall %int %func_struct_S_i11_i1_ %param %param_0
         %75 = OpLoad %S %param
         %76 = OpAccessChain %_ptr_Function_S %arr %int_0
               OpStore %76 %75
               OpStore %a %29
               OpBranch %70
         %72 = OpLabel
         %77 = OpAccessChain %_ptr_Function_S %arr %int_0
         %78 = OpLoad %S %77
               OpStore %param_1 %78
               OpStore %param_2 %int_1
         %30 = OpFunctionCall %int %func_struct_S_i11_i1_ %param_1 %param_2
         %79 = OpLoad %S %param_1
         %80 = OpAccessChain %_ptr_Function_S %arr %int_0
               OpStore %80 %79
               OpStore %a %30
               OpBranch %70
         %70 = OpLabel
               OpBranch %64
         %64 = OpLabel
         %31 = OpLoad %int %i
         %32 = OpIAdd %int %31 %int_1
               OpStore %i %32
               OpBranch %62
         %63 = OpLabel
         %33 = OpLoad %int %a
         %81 = OpIEqual %bool %33 %int_6
               OpSelectionMerge %82 None
               OpBranchConditional %81 %83 %84
         %83 = OpLabel
               OpStore %_GLF_color %57
               OpBranch %82
         %84 = OpLabel
               OpStore %_GLF_color %58
               OpBranch %82
         %82 = OpLabel
               OpReturn
               OpFunctionEnd
%func_struct_S_i11_i1_ = OpFunction %int None %39
          %s = OpFunctionParameter %_ptr_Function_S
          %x = OpFunctionParameter %_ptr_Function_int
         %85 = OpLabel
         %86 = OpAccessChain %_ptr_Function_int %s %int_0
         %17 = OpLoad %int %86
         %87 = OpIEqual %bool %17 %int_1
               OpSelectionMerge %88 None
               OpBranchConditional %87 %89 %90
         %89 = OpLabel
         %18 = OpLoad %int %x
         %91 = OpAccessChain %_ptr_Function_int %s %int_0
         %19 = OpLoad %int %91
         %20 = OpIAdd %int %18 %19
               OpReturnValue %20
         %90 = OpLabel
         %21 = OpLoad %int %x
               OpReturnValue %21
         %88 = OpLabel
               OpUnreachable
               OpFunctionEnd
