OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
               OpExecutionMode %main OriginUpperLeft
               OpSource ESSL 310
               OpName %main "main"
               OpName %func_ "func("
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "injectionSwitch"
               OpName %_ ""
               OpName %x "x"
               OpName %i "i"
               OpName %j "j"
               OpName %data "data"
               OpName %_GLF_color "_GLF_color"
               OpDecorate %gl_FragCoord BuiltIn FragCoord
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %buf0 Block
               OpDecorate %_ DescriptorSet 0
               OpDecorate %_ Binding 0
               OpDecorate %_GLF_color Location 0
       %void = OpTypeVoid
         %13 = OpTypeFunction %void
      %float = OpTypeFloat 32
         %15 = OpTypeFunction %float
    %v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
    %float_1 = OpConstant %float 1
       %bool = OpTypeBool
    %float_5 = OpConstant %float 5
    %v2float = OpTypeVector %float 2
       %buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
          %_ = OpVariable %_ptr_Uniform_buf0 Uniform
        %int = OpTypeInt 32 1
      %int_0 = OpConstant %int 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
     %uint_1 = OpConstant %uint 1
%_ptr_Function_int = OpTypePointer Function %int
    %float_0 = OpConstant %float 0
      %int_3 = OpConstant %int 3
      %int_4 = OpConstant %int 4
    %uint_17 = OpConstant %uint 17
%_arr_v2float_uint_17 = OpTypeArray %v2float %uint_17
%_ptr_Function__arr_v2float_uint_17 = OpTypePointer Function %_arr_v2float_uint_17
%_ptr_Function_float = OpTypePointer Function %float
     %int_15 = OpConstant %int 15
%_ptr_Output_v4float = OpTypePointer Output %v4float
 %_GLF_color = OpVariable %_ptr_Output_v4float Output
         %40 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
         %41 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
      %int_1 = OpConstant %int 1
       %main = OpFunction %void None %13
         %43 = OpLabel
          %i = OpVariable %_ptr_Function_int Function
          %j = OpVariable %_ptr_Function_int Function
       %data = OpVariable %_ptr_Function__arr_v2float_uint_17 Function
               OpStore %i %int_0
               OpBranch %44
         %44 = OpLabel
               OpLoopMerge %45 %46 None
               OpBranch %47
         %47 = OpLabel
         %48 = OpLoad %int %i
         %49 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
         %50 = OpLoad %float %49
         %51 = OpConvertFToS %int %50
         %52 = OpIAdd %int %int_4 %51
         %53 = OpSLessThan %bool %48 %52
               OpBranchConditional %53 %54 %45
         %54 = OpLabel
         %55 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
         %56 = OpLoad %float %55
         %57 = OpFOrdGreaterThanEqual %bool %56 %float_0
               OpSelectionMerge %58 None
               OpBranchConditional %57 %59 %58
         %59 = OpLabel
               OpStore %j %int_0
               OpBranch %60
         %60 = OpLabel
               OpLoopMerge %61 %62 None
               OpBranch %63
         %63 = OpLabel
         %64 = OpLoad %int %j
         %65 = OpSLessThan %bool %64 %int_4
               OpBranchConditional %65 %66 %61
         %66 = OpLabel
         %67 = OpLoad %int %j
         %68 = OpIMul %int %int_4 %67
         %69 = OpLoad %int %i
         %70 = OpIAdd %int %68 %69
         %71 = OpFunctionCall %float %func_
         %72 = OpAccessChain %_ptr_Function_float %data %70 %uint_0
               OpStore %72 %71
         %73 = OpAccessChain %_ptr_Function_float %data %int_0 %uint_0
         %74 = OpLoad %float %73
         %75 = OpFOrdEqual %bool %74 %float_5
         %76 = OpLogicalNot %bool %75
               OpSelectionMerge %77 None
               OpBranchConditional %76 %78 %77
         %78 = OpLabel
         %79 = OpAccessChain %_ptr_Function_float %data %int_15 %uint_0
         %80 = OpLoad %float %79
         %81 = OpFOrdEqual %bool %80 %float_5
               OpBranch %77
         %77 = OpLabel
         %82 = OpPhi %bool %75 %66 %81 %78
               OpSelectionMerge %83 None
               OpBranchConditional %82 %84 %85
         %84 = OpLabel
               OpStore %_GLF_color %40
               OpBranch %83
         %85 = OpLabel
               OpStore %_GLF_color %41
               OpBranch %83
         %83 = OpLabel
         %86 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
         %87 = OpLoad %float %86
         %88 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_1
         %89 = OpLoad %float %88
         %90 = OpFOrdGreaterThan %bool %87 %89
               OpSelectionMerge %91 None
               OpBranchConditional %90 %92 %91
         %92 = OpLabel
               OpReturn
         %91 = OpLabel
               OpBranch %62
         %62 = OpLabel
         %93 = OpLoad %int %j
         %94 = OpIAdd %int %93 %int_1
               OpStore %j %94
               OpBranch %60
         %61 = OpLabel
               OpBranch %58
         %58 = OpLabel
               OpBranch %46
         %46 = OpLabel
         %95 = OpLoad %int %i
         %96 = OpIAdd %int %95 %int_1
               OpStore %i %96
               OpBranch %44
         %45 = OpLabel
               OpReturn
               OpFunctionEnd
      %func_ = OpFunction %float None %15
         %97 = OpLabel
          %x = OpVariable %_ptr_Function_int Function
         %98 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
         %99 = OpLoad %float %98
        %100 = OpFOrdLessThan %bool %99 %float_1
               OpSelectionMerge %101 None
               OpBranchConditional %100 %102 %101
        %102 = OpLabel
               OpReturnValue %float_5
        %101 = OpLabel
        %103 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
        %104 = OpLoad %float %103
        %105 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_1
        %106 = OpLoad %float %105
        %107 = OpFOrdGreaterThan %bool %104 %106
               OpSelectionMerge %108 None
               OpBranchConditional %107 %109 %108
        %109 = OpLabel
               OpReturnValue %float_1
        %108 = OpLabel
        %110 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
        %111 = OpLoad %float %110
        %112 = OpConvertFToS %int %111
               OpStore %x %112
        %113 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
        %114 = OpLoad %float %113
        %115 = OpExtInst %float %1 FClamp %114 %float_0 %float_1
        %116 = OpConvertFToS %int %115
        %117 = OpIMul %int %116 %int_3
        %118 = OpLoad %int %x
        %119 = OpIAdd %int %118 %117
               OpStore %x %119
        %120 = OpLoad %int %x
        %121 = OpConvertSToF %float %120
        %122 = OpFAdd %float %float_5 %121
               OpReturnValue %122
               OpFunctionEnd