; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 71
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %gl_FragCoord_param_1 %x_GLF_color_1_1
               OpExecutionMode %main OriginUpperLeft
               OpName %gl_FragCoord_param_1 "gl_FragCoord_param_1"
               OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
               OpName %x_GLF_color "x_GLF_color"
               OpName %gl_FragCoord "gl_FragCoord"
               OpName %main_1 "main_1"
               OpName %ll "ll"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %main_inner "main_inner"
               OpName %gl_FragCoord_param "gl_FragCoord_param"
               OpName %main "main"
               OpDecorate %gl_FragCoord_param_1 BuiltIn FragCoord
               OpDecorate %x_GLF_color_1_1 Location 0
               OpMemberDecorate %main_out 0 Offset 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord_param_1 = OpVariable %_ptr_Input_v4float Input
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %7 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %7
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %7
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %7
       %void = OpTypeVoid
         %11 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
         %18 = OpConstantNull %int
    %float_1 = OpConstant %float 1
    %float_0 = OpConstant %float 0
         %21 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Private_float = OpTypePointer Private %float
   %int_2000 = OpConstant %int 2000
       %bool = OpTypeBool
      %int_0 = OpConstant %int 0
      %int_5 = OpConstant %int 5
      %int_1 = OpConstant %int 1
   %main_out = OpTypeStruct %v4float
         %58 = OpTypeFunction %main_out %v4float
     %main_1 = OpFunction %void None %11
         %14 = OpLabel
         %ll = OpVariable %_ptr_Function_int Function %18
               OpStore %x_GLF_color %21
         %25 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %26 = OpLoad %float %25
         %27 = OpConvertFToS %int %26
         %29 = OpSLessThan %bool %27 %int_2000
               OpSelectionMerge %31 None
               OpBranchConditional %29 %32 %33
         %32 = OpLabel
               OpBranch %31
         %33 = OpLabel
               OpStore %ll %int_0
               OpBranch %35
         %35 = OpLabel
               OpLoopMerge %36 %37 None
               OpBranch %38
         %38 = OpLabel
         %39 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %40 = OpLoad %float %39
         %41 = OpFOrdLessThan %bool %40 %float_0
               OpSelectionMerge %42 None
               OpBranchConditional %41 %43 %42
         %43 = OpLabel
               OpKill
         %42 = OpLabel
         %44 = OpLoad %int %ll
         %46 = OpSGreaterThanEqual %bool %44 %int_5
               OpSelectionMerge %47 None
               OpBranchConditional %46 %48 %47
         %48 = OpLabel
               OpBranch %36
         %47 = OpLabel
               OpBranch %37
         %37 = OpLabel
         %49 = OpLoad %int %ll
         %51 = OpIAdd %int %49 %int_1
               OpStore %ll %51
               OpBranch %35
         %36 = OpLabel
         %52 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
         %53 = OpLoad %float %52
         %54 = OpConvertFToS %int %53
         %55 = OpSGreaterThanEqual %bool %54 %int_2000
               OpSelectionMerge %56 None
               OpBranchConditional %55 %57 %56
         %57 = OpLabel
               OpKill
         %56 = OpLabel
               OpBranch %31
         %31 = OpLabel
               OpReturn
               OpFunctionEnd
 %main_inner = OpFunction %main_out None %58
%gl_FragCoord_param = OpFunctionParameter %v4float
         %62 = OpLabel
               OpStore %gl_FragCoord %gl_FragCoord_param
         %63 = OpFunctionCall %void %main_1
         %64 = OpLoad %v4float %x_GLF_color
         %65 = OpCompositeConstruct %main_out %64
               OpReturnValue %65
               OpFunctionEnd
       %main = OpFunction %void None %11
         %67 = OpLabel
         %69 = OpLoad %v4float %gl_FragCoord_param_1
         %68 = OpFunctionCall %main_out %main_inner %69
         %70 = OpCompositeExtract %v4float %68 0
               OpStore %x_GLF_color_1_1 %70
               OpReturn
               OpFunctionEnd
