; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 102
; 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 %x_GLF_color "x_GLF_color"
               OpName %main_1 "main_1"
               OpName %a "a"
               OpName %i "i"
               OpName %indexable "indexable"
               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_5 ArrayStride 16
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 Binding 0
               OpDecorate %_arr_int_uint_9 ArrayStride 4
               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_5 = OpConstant %uint 5
%_arr_int_uint_5 = OpTypeArray %int %uint_5
       %buf0 = OpTypeStruct %_arr_int_uint_5
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
       %void = OpTypeVoid
         %15 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %21 = OpConstantNull %int
     %uint_9 = OpConstant %uint 9
%_arr_int_uint_9 = OpTypeArray %int %uint_9
%_ptr_Function__arr_int_uint_9 = OpTypePointer Function %_arr_int_uint_9
         %27 = OpConstantNull %_arr_int_uint_9
     %uint_0 = OpConstant %uint 0
      %int_2 = OpConstant %int 2
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_3 = OpConstant %int 3
      %int_0 = OpConstant %int 0
       %bool = OpTypeBool
      %int_4 = OpConstant %int 4
      %int_1 = OpConstant %int 1
      %int_5 = OpConstant %int 5
      %int_6 = OpConstant %int 6
      %int_7 = OpConstant %int 7
      %int_8 = OpConstant %int 8
      %int_9 = OpConstant %int 9
         %59 = OpConstantComposite %_arr_int_uint_9 %int_1 %int_2 %int_3 %int_4 %int_5 %int_6 %int_7 %int_8 %int_9
   %main_out = OpTypeStruct %v4float
         %91 = OpTypeFunction %main_out
     %main_1 = OpFunction %void None %15
         %18 = OpLabel
          %a = OpVariable %_ptr_Function_int Function %21
          %i = OpVariable %_ptr_Function_int Function %21
  %indexable = OpVariable %_ptr_Function__arr_int_uint_9 Function %27
         %31 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
         %32 = OpLoad %int %31
               OpStore %a %32
         %34 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %35 = OpLoad %int %34
               OpStore %i %35
               OpBranch %36
         %36 = OpLabel
               OpLoopMerge %37 %38 None
               OpBranch %39
         %39 = OpLabel
         %40 = OpLoad %int %i
         %42 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %43 = OpLoad %int %42
         %44 = OpSLessThan %bool %40 %43
               OpSelectionMerge %46 None
               OpBranchConditional %44 %47 %48
         %47 = OpLabel
               OpBranch %46
         %48 = OpLabel
               OpBranch %37
         %46 = OpLabel
         %49 = OpLoad %int %i
         %51 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_4
         %52 = OpLoad %int %51
               OpStore %indexable %59
         %60 = OpSMod %int %49 %52
         %61 = OpAccessChain %_ptr_Function_int %indexable %60
         %62 = OpLoad %int %61
         %63 = OpLoad %int %a
         %64 = OpIAdd %int %63 %62
               OpStore %a %64
               OpBranch %38
         %38 = OpLabel
         %65 = OpLoad %int %i
         %66 = OpIAdd %int %65 %int_1
               OpStore %i %66
               OpBranch %36
         %37 = OpLabel
         %67 = OpLoad %int %a
         %68 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %69 = OpLoad %int %68
         %70 = OpIEqual %bool %67 %69
               OpSelectionMerge %71 None
               OpBranchConditional %70 %72 %73
         %72 = OpLabel
         %74 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
         %75 = OpLoad %int %74
         %76 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %77 = OpLoad %int %76
         %78 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %79 = OpLoad %int %78
         %80 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_2
         %81 = OpLoad %int %80
         %82 = OpConvertSToF %float %75
         %83 = OpConvertSToF %float %77
         %84 = OpConvertSToF %float %79
         %85 = OpConvertSToF %float %81
         %86 = OpCompositeConstruct %v4float %82 %83 %84 %85
               OpStore %x_GLF_color %86
               OpBranch %71
         %73 = OpLabel
         %87 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_3
         %88 = OpLoad %int %87
         %89 = OpConvertSToF %float %88
         %90 = OpCompositeConstruct %v4float %89 %89 %89 %89
               OpStore %x_GLF_color %90
               OpBranch %71
         %71 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %91
         %94 = OpLabel
         %95 = OpFunctionCall %void %main_1
         %96 = OpLoad %v4float %x_GLF_color
         %97 = OpCompositeConstruct %main_out %96
               OpReturnValue %97
               OpFunctionEnd
       %main = OpFunction %void None %15
         %99 = OpLabel
        %100 = OpFunctionCall %main_out %main_inner
        %101 = OpCompositeExtract %v4float %100 0
               OpStore %x_GLF_color_1_1 %101
               OpReturn
               OpFunctionEnd
