; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 121
; Schema: 0
               OpCapability Shader
         %58 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_float_values"
               OpName %x_6 "x_6"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_int_values"
               OpName %x_9 "x_9"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %A1 "A1"
               OpName %a "a"
               OpName %b "b"
               OpName %c "c"
               OpName %x_36 "x_36"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_float_uint_3 ArrayStride 16
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 1
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_3 ArrayStride 16
               OpDecorate %x_9 NonWritable
               OpDecorate %x_9 DescriptorSet 0
               OpDecorate %x_9 Binding 0
               OpDecorate %tint_symbol_1 Location 0
               OpDecorate %_arr_float_uint_3_0 ArrayStride 4
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
       %uint = OpTypeInt 32 0
     %uint_3 = OpConstant %uint 3
%_arr_float_uint_3 = OpTypeArray %float %uint_3
       %buf1 = OpTypeStruct %_arr_float_uint_3
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_6 = OpVariable %_ptr_Uniform_buf1 Uniform
        %int = OpTypeInt 32 1
%_arr_int_uint_3 = OpTypeArray %int %uint_3
       %buf0 = OpTypeStruct %_arr_int_uint_3
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
         %16 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %16
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %16
       %void = OpTypeVoid
         %19 = OpTypeFunction %void
%_arr_float_uint_3_0 = OpTypeArray %float %uint_3
%_ptr_Function__arr_float_uint_3_0 = OpTypePointer Function %_arr_float_uint_3_0
         %26 = OpConstantNull %_arr_float_uint_3_0
%_ptr_Function_int = OpTypePointer Function %int
         %29 = OpConstantNull %int
%_ptr_Function_float = OpTypePointer Function %float
         %32 = OpConstantNull %float
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
         %36 = OpConstantNull %bool
     %uint_0 = OpConstant %uint 0
      %int_2 = OpConstant %int 2
%_ptr_Uniform_float = OpTypePointer Uniform %float
      %int_0 = OpConstant %int 0
      %int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
   %main_out = OpTypeStruct %v4float
        %109 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %19
         %22 = OpLabel
         %A1 = OpVariable %_ptr_Function__arr_float_uint_3_0 Function %26
          %a = OpVariable %_ptr_Function_int Function %29
          %b = OpVariable %_ptr_Function_float Function %32
          %c = OpVariable %_ptr_Function_bool Function %36
       %x_36 = OpVariable %_ptr_Function_bool Function %36
         %41 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_2
         %42 = OpLoad %float %41
         %44 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
         %45 = OpLoad %float %44
         %47 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
         %48 = OpLoad %float %47
         %49 = OpCompositeConstruct %_arr_float_uint_3_0 %42 %45 %48
               OpStore %A1 %49
         %51 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_0
         %52 = OpLoad %int %51
         %53 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_0
         %54 = OpLoad %int %53
         %55 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_1
         %56 = OpLoad %int %55
         %57 = OpExtInst %int %58 SClamp %52 %54 %56
               OpStore %a %57
         %59 = OpLoad %int %a
         %60 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_1
         %61 = OpLoad %int %60
         %62 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_0
         %63 = OpLoad %int %62
         %64 = OpExtInst %int %58 SClamp %59 %61 %63
         %65 = OpAccessChain %_ptr_Function_float %A1 %64
         %66 = OpLoad %float %65
               OpStore %b %66
         %67 = OpLoad %float %b
         %68 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_1
         %69 = OpLoad %int %68
         %70 = OpAccessChain %_ptr_Function_float %A1 %69
         %71 = OpLoad %float %70
         %72 = OpFOrdLessThan %bool %67 %71
               OpSelectionMerge %73 None
               OpBranchConditional %72 %74 %75
         %74 = OpLabel
         %76 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
         %77 = OpLoad %float %76
         %78 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_2
         %79 = OpLoad %float %78
         %80 = OpFOrdGreaterThan %bool %77 %79
               OpStore %x_36 %80
               OpBranch %73
         %75 = OpLabel
         %81 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
         %82 = OpLoad %float %81
         %83 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_2
         %84 = OpLoad %int %83
         %85 = OpAccessChain %_ptr_Function_float %A1 %84
         %86 = OpLoad %float %85
         %87 = OpFOrdLessThan %bool %82 %86
               OpStore %x_36 %87
               OpBranch %73
         %73 = OpLabel
         %88 = OpLoad %bool %x_36
               OpStore %c %88
         %89 = OpLoad %bool %c
               OpSelectionMerge %90 None
               OpBranchConditional %89 %91 %92
         %91 = OpLabel
         %93 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_0
         %94 = OpLoad %int %93
         %95 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_1
         %96 = OpLoad %int %95
         %97 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_1
         %98 = OpLoad %int %97
         %99 = OpAccessChain %_ptr_Uniform_int %x_9 %uint_0 %int_0
        %100 = OpLoad %int %99
        %101 = OpConvertSToF %float %94
        %102 = OpConvertSToF %float %96
        %103 = OpConvertSToF %float %98
        %104 = OpConvertSToF %float %100
        %105 = OpCompositeConstruct %v4float %101 %102 %103 %104
               OpStore %x_GLF_color %105
               OpBranch %90
         %92 = OpLabel
        %106 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
        %107 = OpLoad %float %106
        %108 = OpCompositeConstruct %v4float %107 %107 %107 %107
               OpStore %x_GLF_color %108
               OpBranch %90
         %90 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %109
%tint_symbol = OpFunctionParameter %main_out
        %113 = OpLabel
        %114 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %114
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %19
        %116 = OpLabel
        %117 = OpFunctionCall %void %main_1
        %119 = OpLoad %v4float %x_GLF_color
        %120 = OpCompositeConstruct %main_out %119
        %118 = OpFunctionCall %void %tint_symbol_2 %120
               OpReturn
               OpFunctionEnd
