; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 106
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %tint_first_trailing_bit "tint_first_trailing_bit"
               OpName %v "v"
               OpName %x "x"
               OpName %firstTrailingBit_50c072 "firstTrailingBit_50c072"
               OpName %arg_0 "arg_0"
               OpName %res "res"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
        %int = OpTypeInt 32 1
      %v2int = OpTypeVector %int 2
          %9 = OpTypeFunction %v2int %v2int
       %uint = OpTypeInt 32 0
     %v2uint = OpTypeVector %uint 2
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
         %20 = OpConstantNull %v2uint
       %bool = OpTypeBool
     %v2bool = OpTypeVector %bool 2
 %uint_65535 = OpConstant %uint 65535
         %27 = OpConstantComposite %v2uint %uint_65535 %uint_65535
    %uint_16 = OpConstant %uint 16
         %30 = OpConstantComposite %v2uint %uint_16 %uint_16
   %uint_255 = OpConstant %uint 255
         %37 = OpConstantComposite %v2uint %uint_255 %uint_255
     %uint_8 = OpConstant %uint 8
         %40 = OpConstantComposite %v2uint %uint_8 %uint_8
    %uint_15 = OpConstant %uint 15
         %47 = OpConstantComposite %v2uint %uint_15 %uint_15
     %uint_4 = OpConstant %uint 4
         %50 = OpConstantComposite %v2uint %uint_4 %uint_4
     %uint_3 = OpConstant %uint 3
         %57 = OpConstantComposite %v2uint %uint_3 %uint_3
     %uint_2 = OpConstant %uint 2
         %60 = OpConstantComposite %v2uint %uint_2 %uint_2
     %uint_1 = OpConstant %uint 1
         %67 = OpConstantComposite %v2uint %uint_1 %uint_1
%uint_4294967295 = OpConstant %uint 4294967295
         %73 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
       %void = OpTypeVoid
         %80 = OpTypeFunction %void
      %int_1 = OpConstant %int 1
         %85 = OpConstantComposite %v2int %int_1 %int_1
%_ptr_Function_v2int = OpTypePointer Function %v2int
         %88 = OpConstantNull %v2int
         %92 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%tint_first_trailing_bit = OpFunction %v2int None %9
          %v = OpFunctionParameter %v2int
         %14 = OpLabel
          %x = OpVariable %_ptr_Function_v2uint Function %20
         %15 = OpBitcast %v2uint %v
               OpStore %x %15
         %25 = OpLoad %v2uint %x
         %28 = OpBitwiseAnd %v2uint %25 %27
         %22 = OpINotEqual %v2bool %28 %20
         %21 = OpSelect %v2uint %22 %20 %30
         %31 = OpLoad %v2uint %x
         %32 = OpShiftRightLogical %v2uint %31 %21
               OpStore %x %32
         %35 = OpLoad %v2uint %x
         %38 = OpBitwiseAnd %v2uint %35 %37
         %34 = OpINotEqual %v2bool %38 %20
         %33 = OpSelect %v2uint %34 %20 %40
         %41 = OpLoad %v2uint %x
         %42 = OpShiftRightLogical %v2uint %41 %33
               OpStore %x %42
         %45 = OpLoad %v2uint %x
         %48 = OpBitwiseAnd %v2uint %45 %47
         %44 = OpINotEqual %v2bool %48 %20
         %43 = OpSelect %v2uint %44 %20 %50
         %51 = OpLoad %v2uint %x
         %52 = OpShiftRightLogical %v2uint %51 %43
               OpStore %x %52
         %55 = OpLoad %v2uint %x
         %58 = OpBitwiseAnd %v2uint %55 %57
         %54 = OpINotEqual %v2bool %58 %20
         %53 = OpSelect %v2uint %54 %20 %60
         %61 = OpLoad %v2uint %x
         %62 = OpShiftRightLogical %v2uint %61 %53
               OpStore %x %62
         %65 = OpLoad %v2uint %x
         %68 = OpBitwiseAnd %v2uint %65 %67
         %64 = OpINotEqual %v2bool %68 %20
         %63 = OpSelect %v2uint %64 %20 %67
         %70 = OpLoad %v2uint %x
         %71 = OpIEqual %v2bool %70 %20
         %69 = OpSelect %v2uint %71 %73 %20
         %75 = OpBitwiseOr %v2uint %21 %33
         %76 = OpBitwiseOr %v2uint %75 %43
         %77 = OpBitwiseOr %v2uint %76 %53
         %78 = OpBitwiseOr %v2uint %77 %63
         %79 = OpBitwiseOr %v2uint %78 %69
         %74 = OpBitcast %v2int %79
               OpReturnValue %74
               OpFunctionEnd
%firstTrailingBit_50c072 = OpFunction %void None %80
         %83 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v2int Function %88
        %res = OpVariable %_ptr_Function_v2int Function %88
               OpStore %arg_0 %85
         %90 = OpLoad %v2int %arg_0
         %89 = OpFunctionCall %v2int %tint_first_trailing_bit %90
               OpStore %res %89
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %92
         %94 = OpLabel
         %95 = OpFunctionCall %void %firstTrailingBit_50c072
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %80
         %97 = OpLabel
         %98 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %98
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %80
        %101 = OpLabel
        %102 = OpFunctionCall %void %firstTrailingBit_50c072
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %80
        %104 = OpLabel
        %105 = OpFunctionCall %void %firstTrailingBit_50c072
               OpReturn
               OpFunctionEnd
