; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 92
; Schema: 0
               OpCapability Shader
         %33 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               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_8 "x_8"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %main_1 "main_1"
               OpName %f "f"
               OpName %x_48 "x_48"
               OpName %x_49_phi "x_49_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 %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %_arr_int_uint_2 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_1 ArrayStride 16
               OpDecorate %x_8 NonWritable
               OpDecorate %x_8 DescriptorSet 0
               OpDecorate %x_8 Binding 1
               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
       %buf0 = OpTypeStruct %_arr_int_uint_2
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
        %x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
      %float = OpTypeFloat 32
     %uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
       %buf1 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
        %x_8 = OpVariable %_ptr_Uniform_buf1 Uniform
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
         %17 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %17
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %17
       %void = OpTypeVoid
         %20 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
         %26 = OpConstantNull %float
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
         %30 = OpConstantNull %bool
%float_40_3300018 = OpConstant %float 40.3300018
    %float_1 = OpConstant %float 1
  %int_98980 = OpConstant %int 98980
     %uint_0 = OpConstant %uint 0
      %int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
      %int_1 = OpConstant %int 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
   %main_out = OpTypeStruct %v4float
         %80 = OpTypeFunction %void %main_out
     %main_1 = OpFunction %void None %20
         %23 = OpLabel
          %f = OpVariable %_ptr_Function_float Function %26
       %x_48 = OpVariable %_ptr_Function_bool Function %30
   %x_49_phi = OpVariable %_ptr_Function_bool Function %30
         %35 = OpExtInst %float %33 Ldexp %float_1 %int_98980
         %32 = OpExtInst %float %33 Pow %float_40_3300018 %35
               OpStore %f %32
         %41 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %42 = OpLoad %int %41
         %43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %44 = OpLoad %int %43
         %46 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %47 = OpLoad %int %46
         %48 = OpIAdd %int %44 %47
         %49 = OpIEqual %bool %42 %48
               OpStore %x_49_phi %49
         %50 = OpLogicalNot %bool %49
               OpSelectionMerge %51 None
               OpBranchConditional %50 %52 %51
         %52 = OpLabel
         %53 = OpLoad %float %f
         %55 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
         %56 = OpLoad %float %55
         %57 = OpFOrdGreaterThan %bool %53 %56
               OpStore %x_48 %57
         %58 = OpLoad %bool %x_48
               OpStore %x_49_phi %58
               OpBranch %51
         %51 = OpLabel
         %59 = OpLoad %bool %x_49_phi
               OpSelectionMerge %60 None
               OpBranchConditional %59 %61 %62
         %61 = OpLabel
         %63 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %64 = OpLoad %int %63
         %65 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %66 = OpLoad %int %65
         %67 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %68 = OpLoad %int %67
         %69 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
         %70 = OpLoad %int %69
         %71 = OpConvertSToF %float %64
         %72 = OpConvertSToF %float %66
         %73 = OpConvertSToF %float %68
         %74 = OpConvertSToF %float %70
         %75 = OpCompositeConstruct %v4float %71 %72 %73 %74
               OpStore %x_GLF_color %75
               OpBranch %60
         %62 = OpLabel
         %76 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
         %77 = OpLoad %int %76
         %78 = OpConvertSToF %float %77
         %79 = OpCompositeConstruct %v4float %78 %78 %78 %78
               OpStore %x_GLF_color %79
               OpBranch %60
         %60 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %80
%tint_symbol = OpFunctionParameter %main_out
         %84 = OpLabel
         %85 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %85
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %20
         %87 = OpLabel
         %88 = OpFunctionCall %void %main_1
         %90 = OpLoad %v4float %x_GLF_color
         %91 = OpCompositeConstruct %main_out %90
         %89 = OpFunctionCall %void %tint_symbol_2 %91
               OpReturn
               OpFunctionEnd
