; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability StorageInputOutput16
         %21 = OpExtInstImport "GLSL.std.450"
               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 %round_f665b5 "round_f665b5"
               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
       %void = OpTypeVoid
          %9 = OpTypeFunction %void
       %half = OpTypeFloat 16
     %v4half = OpTypeVector %half 4
%half_0x1_b3p_1 = OpConstant %half 0x1.b3p+1
         %16 = OpConstantComposite %v4half %half_0x1_b3p_1 %half_0x1_b3p_1 %half_0x1_b3p_1 %half_0x1_b3p_1
%_ptr_Function_v4half = OpTypePointer Function %v4half
         %19 = OpConstantNull %v4half
         %24 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%round_f665b5 = OpFunction %void None %9
         %12 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v4half Function %19
        %res = OpVariable %_ptr_Function_v4half Function %19
               OpStore %arg_0 %16
         %22 = OpLoad %v4half %arg_0
         %20 = OpExtInst %v4half %21 RoundEven %22
               OpStore %res %20
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
         %26 = OpLabel
         %27 = OpFunctionCall %void %round_f665b5
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %9
         %29 = OpLabel
         %30 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %30
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %9
         %33 = OpLabel
         %34 = OpFunctionCall %void %round_f665b5
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %9
         %36 = OpLabel
         %37 = OpFunctionCall %void %round_f665b5
               OpReturn
               OpFunctionEnd
