; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 100
; Schema: 0
               OpCapability Shader
         %49 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf1 "buf1"
               OpMemberName %buf1 0 "x_GLF_uniform_int_values"
               OpName %x_6 "x_6"
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "x_GLF_uniform_float_values"
               OpName %x_9 "x_9"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %v "v"
               OpName %f "f"
               OpName %x_56 "x_56"
               OpName %x_57_phi "x_57_phi"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %buf1 Block
               OpMemberDecorate %buf1 0 Offset 0
               OpDecorate %_arr_int_uint_2 ArrayStride 16
               OpDecorate %x_6 NonWritable
               OpDecorate %x_6 DescriptorSet 0
               OpDecorate %x_6 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_1 Location 0
               OpMemberDecorate %main_out 0 Offset 0
        %int = OpTypeInt 32 1
       %uint = OpTypeInt 32 0
     %uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
       %buf1 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_6 = OpVariable %_ptr_Uniform_buf1 Uniform
      %float = OpTypeFloat 32
%_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
         %16 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %16
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %16
       %void = OpTypeVoid
         %19 = OpTypeFunction %void
%_ptr_Function_v4float = OpTypePointer Function %v4float
%_ptr_Function_float = OpTypePointer Function %float
         %27 = OpConstantNull %float
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
         %31 = OpConstantNull %bool
     %uint_0 = OpConstant %uint 0
      %int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%float_n621_596008 = OpConstant %float -621.596008
%_ptr_Uniform_float = OpTypePointer Uniform %float
      %int_1 = OpConstant %int 1
   %main_out = OpTypeStruct %v4float
         %88 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %19
         %22 = OpLabel
          %v = OpVariable %_ptr_Function_v4float Function %16
          %f = OpVariable %_ptr_Function_float Function %27
       %x_56 = OpVariable %_ptr_Function_bool Function %31
   %x_57_phi = OpVariable %_ptr_Function_bool Function %31
         %36 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %37 = OpLoad %int %36
         %38 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %39 = OpLoad %int %38
         %40 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %41 = OpLoad %int %40
         %42 = OpConvertSToF %float %37
         %43 = OpConvertSToF %float %39
         %45 = OpConvertSToF %float %41
         %46 = OpCompositeConstruct %v4float %42 %43 %float_n621_596008 %45
               OpStore %v %46
         %47 = OpLoad %v4float %v
         %50 = OpExtInst %v4float %49 Trunc %47
         %48 = OpExtInst %v4float %49 Atan %50
         %51 = OpCompositeExtract %float %48 2
               OpStore %f %51
         %52 = OpLoad %float %f
         %54 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_0
         %55 = OpLoad %float %54
         %56 = OpFNegate %float %55
         %57 = OpFOrdGreaterThan %bool %52 %56
               OpStore %x_57_phi %57
               OpSelectionMerge %58 None
               OpBranchConditional %57 %59 %58
         %59 = OpLabel
         %60 = OpLoad %float %f
         %62 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %int_1
         %63 = OpLoad %float %62
         %64 = OpFNegate %float %63
         %65 = OpFOrdLessThan %bool %60 %64
               OpStore %x_56 %65
         %66 = OpLoad %bool %x_56
               OpStore %x_57_phi %66
               OpBranch %58
         %58 = OpLabel
         %67 = OpLoad %bool %x_57_phi
               OpSelectionMerge %68 None
               OpBranchConditional %67 %69 %70
         %69 = OpLabel
         %71 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %72 = OpLoad %int %71
         %73 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %74 = OpLoad %int %73
         %75 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %76 = OpLoad %int %75
         %77 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %78 = OpLoad %int %77
         %79 = OpConvertSToF %float %72
         %80 = OpConvertSToF %float %74
         %81 = OpConvertSToF %float %76
         %82 = OpConvertSToF %float %78
         %83 = OpCompositeConstruct %v4float %79 %80 %81 %82
               OpStore %x_GLF_color %83
               OpBranch %68
         %70 = OpLabel
         %84 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %85 = OpLoad %int %84
         %86 = OpConvertSToF %float %85
         %87 = OpCompositeConstruct %v4float %86 %86 %86 %86
               OpStore %x_GLF_color %87
               OpBranch %68
         %68 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %88
%tint_symbol = OpFunctionParameter %main_out
         %92 = OpLabel
         %93 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %93
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %19
         %95 = OpLabel
         %96 = OpFunctionCall %void %main_1
         %98 = OpLoad %v4float %x_GLF_color
         %99 = OpCompositeConstruct %main_out %98
         %97 = OpFunctionCall %void %tint_symbol_2 %99
               OpReturn
               OpFunctionEnd
