; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 121
; Schema: 0
               OpCapability Shader
               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 %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_int_values"
               OpName %x_6 "x_6"
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_float_values"
               OpName %x_9 "x_9"
               OpName %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %m "m"
               OpName %a "a"
               OpName %arr "arr"
               OpName %v "v"
               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 %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_4 ArrayStride 16
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 0
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_float_uint_2 ArrayStride 16
               OpDecorate %x_9 NonWritable
               OpDecorate %x_9 DescriptorSet 0
               OpDecorate %x_9 Binding 1
               OpDecorate %_arr_v3float_uint_2 ArrayStride 16
               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_4 = OpConstant %uint 4
%_arr_int_uint_4 = OpTypeArray %int %uint_4
       %buf0 = OpTypeStruct %_arr_int_uint_4
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
     %uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
       %buf1 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_9 = OpVariable %_ptr_Uniform_buf1 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %void = OpTypeVoid
         %20 = OpTypeFunction %void
    %v3float = OpTypeVector %float 3
%mat3v3float = OpTypeMatrix %v3float 3
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
         %28 = OpConstantNull %mat3v3float
%_ptr_Function_int = OpTypePointer Function %int
         %31 = OpConstantNull %int
%_arr_v3float_uint_2 = OpTypeArray %v3float %uint_2
%_ptr_Function__arr_v3float_uint_2 = OpTypePointer Function %_arr_v3float_uint_2
         %35 = OpConstantNull %_arr_v3float_uint_2
%_ptr_Function_v3float = OpTypePointer Function %v3float
         %38 = OpConstantNull %v3float
     %uint_0 = OpConstant %uint 0
      %int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
    %float_0 = OpConstant %float 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Function_float = OpTypePointer Function %float
      %int_1 = OpConstant %int 1
      %int_2 = OpConstant %int 2
       %bool = OpTypeBool
     %v3bool = OpTypeVector %bool 3
      %int_3 = OpConstant %int 3
   %main_out = OpTypeStruct %v4float
        %110 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %20
         %23 = OpLabel
          %m = OpVariable %_ptr_Function_mat3v3float Function %28
          %a = OpVariable %_ptr_Function_int Function %31
        %arr = OpVariable %_ptr_Function__arr_v3float_uint_2 Function %35
          %v = OpVariable %_ptr_Function_v3float Function %38
         %42 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %43 = OpLoad %int %42
         %44 = OpConvertSToF %float %43
         %46 = OpCompositeConstruct %v3float %44 %float_0 %float_0
         %47 = OpCompositeConstruct %v3float %float_0 %44 %float_0
         %48 = OpCompositeConstruct %v3float %float_0 %float_0 %44
         %49 = OpCompositeConstruct %mat3v3float %46 %47 %48
               OpStore %m %49
         %50 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %51 = OpLoad %int %50
               OpStore %a %51
         %52 = OpLoad %int %a
         %53 = OpLoad %int %a
         %55 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_0
         %56 = OpLoad %float %55
         %58 = OpAccessChain %_ptr_Function_float %m %52 %53
               OpStore %58 %56
         %60 = OpAccessChain %_ptr_Function_v3float %m %int_1
         %61 = OpLoad %v3float %60
         %62 = OpAccessChain %_ptr_Function_v3float %m %int_1
         %63 = OpLoad %v3float %62
         %64 = OpCompositeConstruct %_arr_v3float_uint_2 %61 %63
               OpStore %arr %64
         %65 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_1
         %66 = OpLoad %float %65
         %67 = OpCompositeConstruct %v3float %66 %66 %66
               OpStore %v %67
         %68 = OpLoad %int %a
         %69 = OpAccessChain %_ptr_Function_v3float %arr %68
         %70 = OpLoad %v3float %69
         %71 = OpLoad %v3float %v
         %72 = OpFAdd %v3float %71 %70
               OpStore %v %72
         %73 = OpLoad %v3float %v
         %74 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %75 = OpLoad %int %74
         %77 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
         %78 = OpLoad %int %77
         %79 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %80 = OpLoad %int %79
         %83 = OpConvertSToF %float %75
         %84 = OpConvertSToF %float %78
         %85 = OpConvertSToF %float %80
         %86 = OpCompositeConstruct %v3float %83 %84 %85
         %87 = OpFOrdEqual %v3bool %73 %86
         %81 = OpAll %bool %87
               OpSelectionMerge %89 None
               OpBranchConditional %81 %90 %91
         %90 = OpLabel
         %92 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %93 = OpLoad %int %92
         %95 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %96 = OpLoad %int %95
         %97 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %98 = OpLoad %int %97
         %99 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
        %100 = OpLoad %int %99
        %101 = OpConvertSToF %float %93
        %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 %89
         %91 = OpLabel
        %106 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
        %107 = OpLoad %int %106
        %108 = OpConvertSToF %float %107
        %109 = OpCompositeConstruct %v4float %108 %108 %108 %108
               OpStore %x_GLF_color %109
               OpBranch %89
         %89 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %110
        %113 = OpLabel
        %114 = OpFunctionCall %void %main_1
        %115 = OpLoad %v4float %x_GLF_color
        %116 = OpCompositeConstruct %main_out %115
               OpReturnValue %116
               OpFunctionEnd
       %main = OpFunction %void None %20
        %118 = OpLabel
        %119 = OpFunctionCall %main_out %main_inner
        %120 = OpCompositeExtract %v4float %119 0
               OpStore %x_GLF_color_1_1 %120
               OpReturn
               OpFunctionEnd
