; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 125
; Schema: 0
               OpCapability Shader
         %64 = OpExtInstImport "GLSL.std.450"
               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 %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_int_values"
               OpName %x_7 "x_7"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_float_values"
               OpName %x_9 "x_9"
               OpName %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %nan "nan"
               OpName %undefined "undefined"
               OpName %x_83 "x_83"
               OpName %x_84_phi "x_84_phi"
               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 %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_int_uint_10 ArrayStride 16
               OpDecorate %x_7 NonWritable
               OpDecorate %x_7 DescriptorSet 0
               OpDecorate %x_7 Binding 1
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_float_uint_1 ArrayStride 16
               OpDecorate %x_9 NonWritable
               OpDecorate %x_9 DescriptorSet 0
               OpDecorate %x_9 Binding 0
               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
       %uint = OpTypeInt 32 0
    %uint_10 = OpConstant %uint 10
%_arr_int_uint_10 = OpTypeArray %int %uint_10
       %buf1 = OpTypeStruct %_arr_int_uint_10
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_7 = OpVariable %_ptr_Uniform_buf1 Uniform
     %uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
       %buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %void = OpTypeVoid
         %20 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
         %26 = OpConstantNull %float
%_ptr_Function_v4float = OpTypePointer Function %v4float
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
         %32 = OpConstantNull %bool
     %int_n1 = OpConstant %int -1
     %uint_0 = OpConstant %uint 0
      %int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_1 = OpConstant %int 1
      %int_2 = OpConstant %int 2
      %int_3 = OpConstant %int 3
      %int_4 = OpConstant %int 4
      %int_5 = OpConstant %int 5
      %int_6 = OpConstant %int 6
      %int_7 = OpConstant %int 7
      %int_9 = OpConstant %int 9
%_ptr_Uniform_float = OpTypePointer Uniform %float
      %int_8 = OpConstant %int 8
   %main_out = OpTypeStruct %v4float
        %114 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %20
         %23 = OpLabel
        %nan = OpVariable %_ptr_Function_float Function %26
  %undefined = OpVariable %_ptr_Function_v4float Function %5
       %x_83 = OpVariable %_ptr_Function_bool Function %32
   %x_84_phi = OpVariable %_ptr_Function_bool Function %32
         %34 = OpBitcast %float %int_n1
               OpStore %nan %34
         %39 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
         %40 = OpLoad %int %39
         %42 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
         %43 = OpLoad %int %42
         %45 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
         %46 = OpLoad %int %45
         %48 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_3
         %49 = OpLoad %int %48
         %51 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_4
         %52 = OpLoad %int %51
         %54 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_5
         %55 = OpLoad %int %54
         %57 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_6
         %58 = OpLoad %int %57
         %60 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_7
         %61 = OpLoad %int %60
         %62 = OpLoad %float %nan
         %65 = OpConvertSToF %float %40
         %66 = OpConvertSToF %float %43
         %67 = OpConvertSToF %float %46
         %68 = OpConvertSToF %float %49
         %69 = OpCompositeConstruct %v4float %65 %66 %67 %68
         %70 = OpConvertSToF %float %52
         %71 = OpConvertSToF %float %55
         %72 = OpConvertSToF %float %58
         %73 = OpConvertSToF %float %61
         %74 = OpCompositeConstruct %v4float %70 %71 %72 %73
         %75 = OpCompositeConstruct %v4float %62 %62 %62 %62
         %63 = OpExtInst %v4float %64 FMix %69 %74 %75
               OpStore %undefined %63
         %76 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
         %77 = OpLoad %int %76
         %79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_9
         %80 = OpLoad %int %79
         %81 = OpIEqual %bool %77 %80
               OpStore %x_84_phi %81
         %82 = OpLogicalNot %bool %81
               OpSelectionMerge %83 None
               OpBranchConditional %82 %84 %83
         %84 = OpLabel
         %85 = OpAccessChain %_ptr_Function_float %undefined %uint_0
         %86 = OpLoad %float %85
         %88 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_0
         %89 = OpLoad %float %88
         %90 = OpFOrdGreaterThan %bool %86 %89
               OpStore %x_83 %90
         %91 = OpLoad %bool %x_83
               OpStore %x_84_phi %91
               OpBranch %83
         %83 = OpLabel
         %92 = OpLoad %bool %x_84_phi
               OpSelectionMerge %93 None
               OpBranchConditional %92 %94 %95
         %94 = OpLabel
         %96 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
         %97 = OpLoad %int %96
         %99 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_8
        %100 = OpLoad %int %99
        %101 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_8
        %102 = OpLoad %int %101
        %103 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
        %104 = OpLoad %int %103
        %105 = OpConvertSToF %float %97
        %106 = OpConvertSToF %float %100
        %107 = OpConvertSToF %float %102
        %108 = OpConvertSToF %float %104
        %109 = OpCompositeConstruct %v4float %105 %106 %107 %108
               OpStore %x_GLF_color %109
               OpBranch %93
         %95 = OpLabel
        %110 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_8
        %111 = OpLoad %int %110
        %112 = OpConvertSToF %float %111
        %113 = OpCompositeConstruct %v4float %112 %112 %112 %112
               OpStore %x_GLF_color %113
               OpBranch %93
         %93 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %114
        %117 = OpLabel
        %118 = OpFunctionCall %void %main_1
        %119 = OpLoad %v4float %x_GLF_color
        %120 = OpCompositeConstruct %main_out %119
               OpReturnValue %120
               OpFunctionEnd
       %main = OpFunction %void None %20
        %122 = OpLabel
        %123 = OpFunctionCall %main_out %main_inner
        %124 = OpCompositeExtract %v4float %123 0
               OpStore %x_GLF_color_1_1 %124
               OpReturn
               OpFunctionEnd
