; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 109
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2
               OpExecutionMode %main OriginUpperLeft
               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 %gl_FragCoord "gl_FragCoord"
               OpName %x_GLF_v1 "x_GLF_v1"
               OpName %tint_symbol "tint_symbol"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %main_1 "main_1"
               OpName %i "i"
               OpName %j "j"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_v1_1"
               OpName %tint_symbol_3 "tint_symbol_3"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main "main"
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_int_uint_3 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_2 ArrayStride 16
               OpDecorate %x_9 NonWritable
               OpDecorate %x_9 DescriptorSet 0
               OpDecorate %x_9 Binding 0
               OpDecorate %tint_symbol BuiltIn FragCoord
               OpDecorate %tint_symbol_2 Location 0
               OpMemberDecorate %main_out 0 Offset 0
        %int = OpTypeInt 32 1
       %uint = OpTypeInt 32 0
     %uint_3 = OpConstant %uint 3
%_arr_int_uint_3 = OpTypeArray %int %uint_3
       %buf1 = OpTypeStruct %_arr_int_uint_3
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_7 = OpVariable %_ptr_Uniform_buf1 Uniform
      %float = OpTypeFloat 32
     %uint_2 = OpConstant %uint 2
%_arr_float_uint_2 = OpTypeArray %float %uint_2
       %buf0 = OpTypeStruct %_arr_float_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
         %17 = OpConstantNull %v4float
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %17
   %x_GLF_v1 = OpVariable %_ptr_Private_v4float Private %17
%_ptr_Input_v4float = OpTypePointer Input %v4float
%tint_symbol = OpVariable %_ptr_Input_v4float Input
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %17
       %void = OpTypeVoid
         %23 = OpTypeFunction %void
%_ptr_Function_int = OpTypePointer Function %int
         %29 = OpConstantNull %int
     %uint_0 = OpConstant %uint 0
      %int_1 = OpConstant %int 1
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_0 = OpConstant %int 0
       %bool = OpTypeBool
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Private_float = OpTypePointer Private %float
      %int_2 = OpConstant %int 2
   %main_out = OpTypeStruct %v4float
         %96 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %23
         %26 = OpLabel
          %i = OpVariable %_ptr_Function_int Function %29
          %j = OpVariable %_ptr_Function_int Function %29
         %34 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
         %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_7 %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
         %50 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_0
         %51 = OpLoad %float %50
         %52 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_1
         %53 = OpLoad %float %52
         %54 = OpFOrdGreaterThan %bool %51 %53
               OpSelectionMerge %55 None
               OpBranchConditional %54 %56 %55
         %56 = OpLabel
               OpKill
         %55 = OpLabel
         %57 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
         %58 = OpLoad %int %57
               OpStore %j %58
               OpBranch %59
         %59 = OpLabel
               OpLoopMerge %60 %61 None
               OpBranch %62
         %62 = OpLabel
         %63 = OpLoad %int %j
         %64 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_0
         %65 = OpLoad %int %64
         %66 = OpSLessThan %bool %63 %65
               OpSelectionMerge %67 None
               OpBranchConditional %66 %68 %69
         %68 = OpLabel
               OpBranch %67
         %69 = OpLabel
               OpBranch %60
         %67 = OpLabel
         %71 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %72 = OpLoad %float %71
         %73 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_0
         %74 = OpLoad %float %73
         %75 = OpFOrdLessThan %bool %72 %74
               OpSelectionMerge %76 None
               OpBranchConditional %75 %77 %76
         %77 = OpLabel
               OpKill
         %76 = OpLabel
         %79 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
         %80 = OpLoad %int %79
         %81 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
         %82 = OpLoad %int %81
         %83 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_1
         %84 = OpLoad %int %83
         %85 = OpAccessChain %_ptr_Uniform_int %x_7 %uint_0 %int_2
         %86 = OpLoad %int %85
         %87 = OpConvertSToF %float %80
         %88 = OpConvertSToF %float %82
         %89 = OpConvertSToF %float %84
         %90 = OpConvertSToF %float %86
         %91 = OpCompositeConstruct %v4float %87 %88 %89 %90
               OpStore %x_GLF_v1 %91
               OpBranch %61
         %61 = OpLabel
         %92 = OpLoad %int %j
         %93 = OpIAdd %int %92 %int_1
               OpStore %j %93
               OpBranch %59
         %60 = OpLabel
               OpBranch %38
         %38 = OpLabel
         %94 = OpLoad %int %i
         %95 = OpIAdd %int %94 %int_1
               OpStore %i %95
               OpBranch %36
         %37 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_3 = OpFunction %void None %96
%tint_symbol_1 = OpFunctionParameter %main_out
        %100 = OpLabel
        %101 = OpCompositeExtract %v4float %tint_symbol_1 0
               OpStore %tint_symbol_2 %101
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %23
        %103 = OpLabel
        %104 = OpLoad %v4float %tint_symbol
               OpStore %gl_FragCoord %104
        %105 = OpFunctionCall %void %main_1
        %107 = OpLoad %v4float %x_GLF_v1
        %108 = OpCompositeConstruct %main_out %107
        %106 = OpFunctionCall %void %tint_symbol_3 %108
               OpReturn
               OpFunctionEnd
