; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 101
; 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_count_leading_zeros "tint_count_leading_zeros"
               OpName %v "v"
               OpName %x "x"
               OpName %countLeadingZeros_7c38a6 "countLeadingZeros_7c38a6"
               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
      %v3int = OpTypeVector %int 3
          %9 = OpTypeFunction %v3int %v3int
       %uint = OpTypeInt 32 0
     %v3uint = OpTypeVector %uint 3
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
         %20 = OpConstantNull %v3uint
 %uint_65535 = OpConstant %uint 65535
         %24 = OpConstantComposite %v3uint %uint_65535 %uint_65535 %uint_65535
       %bool = OpTypeBool
     %v3bool = OpTypeVector %bool 3
    %uint_16 = OpConstant %uint 16
         %29 = OpConstantComposite %v3uint %uint_16 %uint_16 %uint_16
%uint_16777215 = OpConstant %uint 16777215
         %35 = OpConstantComposite %v3uint %uint_16777215 %uint_16777215 %uint_16777215
     %uint_8 = OpConstant %uint 8
         %38 = OpConstantComposite %v3uint %uint_8 %uint_8 %uint_8
%uint_268435455 = OpConstant %uint 268435455
         %44 = OpConstantComposite %v3uint %uint_268435455 %uint_268435455 %uint_268435455
     %uint_4 = OpConstant %uint 4
         %47 = OpConstantComposite %v3uint %uint_4 %uint_4 %uint_4
%uint_1073741823 = OpConstant %uint 1073741823
         %53 = OpConstantComposite %v3uint %uint_1073741823 %uint_1073741823 %uint_1073741823
     %uint_2 = OpConstant %uint 2
         %56 = OpConstantComposite %v3uint %uint_2 %uint_2 %uint_2
%uint_2147483647 = OpConstant %uint 2147483647
         %62 = OpConstantComposite %v3uint %uint_2147483647 %uint_2147483647 %uint_2147483647
     %uint_1 = OpConstant %uint 1
         %65 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
       %void = OpTypeVoid
         %75 = OpTypeFunction %void
      %int_1 = OpConstant %int 1
         %80 = OpConstantComposite %v3int %int_1 %int_1 %int_1
%_ptr_Function_v3int = OpTypePointer Function %v3int
         %83 = OpConstantNull %v3int
         %87 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%tint_count_leading_zeros = OpFunction %v3int None %9
          %v = OpFunctionParameter %v3int
         %14 = OpLabel
          %x = OpVariable %_ptr_Function_v3uint Function %20
         %15 = OpBitcast %v3uint %v
               OpStore %x %15
         %22 = OpLoad %v3uint %x
         %25 = OpULessThanEqual %v3bool %22 %24
         %21 = OpSelect %v3uint %25 %29 %20
         %30 = OpLoad %v3uint %x
         %31 = OpShiftLeftLogical %v3uint %30 %21
               OpStore %x %31
         %33 = OpLoad %v3uint %x
         %36 = OpULessThanEqual %v3bool %33 %35
         %32 = OpSelect %v3uint %36 %38 %20
         %39 = OpLoad %v3uint %x
         %40 = OpShiftLeftLogical %v3uint %39 %32
               OpStore %x %40
         %42 = OpLoad %v3uint %x
         %45 = OpULessThanEqual %v3bool %42 %44
         %41 = OpSelect %v3uint %45 %47 %20
         %48 = OpLoad %v3uint %x
         %49 = OpShiftLeftLogical %v3uint %48 %41
               OpStore %x %49
         %51 = OpLoad %v3uint %x
         %54 = OpULessThanEqual %v3bool %51 %53
         %50 = OpSelect %v3uint %54 %56 %20
         %57 = OpLoad %v3uint %x
         %58 = OpShiftLeftLogical %v3uint %57 %50
               OpStore %x %58
         %60 = OpLoad %v3uint %x
         %63 = OpULessThanEqual %v3bool %60 %62
         %59 = OpSelect %v3uint %63 %65 %20
         %67 = OpLoad %v3uint %x
         %68 = OpIEqual %v3bool %67 %20
         %66 = OpSelect %v3uint %68 %65 %20
         %70 = OpBitwiseOr %v3uint %21 %32
         %71 = OpBitwiseOr %v3uint %70 %41
         %72 = OpBitwiseOr %v3uint %71 %50
         %73 = OpBitwiseOr %v3uint %72 %59
         %74 = OpIAdd %v3uint %73 %66
         %69 = OpBitcast %v3int %74
               OpReturnValue %69
               OpFunctionEnd
%countLeadingZeros_7c38a6 = OpFunction %void None %75
         %78 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v3int Function %83
        %res = OpVariable %_ptr_Function_v3int Function %83
               OpStore %arg_0 %80
         %85 = OpLoad %v3int %arg_0
         %84 = OpFunctionCall %v3int %tint_count_leading_zeros %85
               OpStore %res %84
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %87
         %89 = OpLabel
         %90 = OpFunctionCall %void %countLeadingZeros_7c38a6
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %75
         %92 = OpLabel
         %93 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %93
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %75
         %96 = OpLabel
         %97 = OpFunctionCall %void %countLeadingZeros_7c38a6
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %75
         %99 = OpLabel
        %100 = OpFunctionCall %void %countLeadingZeros_7c38a6
               OpReturn
               OpFunctionEnd
