; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 56
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability StorageInputOutput16
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %main "main" %loc0_1 %loc1_1 %loc2_1 %loc3_1 %position_1 %loc4_1 %loc5_1 %vertex_point_size
               OpName %loc0_1 "loc0_1"
               OpName %loc1_1 "loc1_1"
               OpName %loc2_1 "loc2_1"
               OpName %loc3_1 "loc3_1"
               OpName %position_1 "position_1"
               OpName %loc4_1 "loc4_1"
               OpName %loc5_1 "loc5_1"
               OpName %vertex_point_size "vertex_point_size"
               OpName %VertexOutputs "VertexOutputs"
               OpMemberName %VertexOutputs 0 "loc0"
               OpMemberName %VertexOutputs 1 "loc1"
               OpMemberName %VertexOutputs 2 "loc2"
               OpMemberName %VertexOutputs 3 "loc3"
               OpMemberName %VertexOutputs 4 "position"
               OpMemberName %VertexOutputs 5 "loc4"
               OpMemberName %VertexOutputs 6 "loc5"
               OpName %main_inner "main_inner"
               OpName %main "main"
               OpDecorate %loc0_1 Location 0
               OpDecorate %loc0_1 Flat
               OpDecorate %loc1_1 Location 1
               OpDecorate %loc1_1 Flat
               OpDecorate %loc2_1 Location 2
               OpDecorate %loc3_1 Location 3
               OpDecorate %position_1 BuiltIn Position
               OpDecorate %loc4_1 Location 4
               OpDecorate %loc5_1 Location 5
               OpDecorate %vertex_point_size BuiltIn PointSize
               OpMemberDecorate %VertexOutputs 0 Offset 0
               OpMemberDecorate %VertexOutputs 1 Offset 4
               OpMemberDecorate %VertexOutputs 2 Offset 8
               OpMemberDecorate %VertexOutputs 3 Offset 16
               OpMemberDecorate %VertexOutputs 4 Offset 32
               OpMemberDecorate %VertexOutputs 5 Offset 48
               OpMemberDecorate %VertexOutputs 6 Offset 56
        %int = OpTypeInt 32 1
%_ptr_Output_int = OpTypePointer Output %int
          %4 = OpConstantNull %int
     %loc0_1 = OpVariable %_ptr_Output_int Output %4
       %uint = OpTypeInt 32 0
%_ptr_Output_uint = OpTypePointer Output %uint
          %8 = OpConstantNull %uint
     %loc1_1 = OpVariable %_ptr_Output_uint Output %8
      %float = OpTypeFloat 32
%_ptr_Output_float = OpTypePointer Output %float
         %12 = OpConstantNull %float
     %loc2_1 = OpVariable %_ptr_Output_float Output %12
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %16 = OpConstantNull %v4float
     %loc3_1 = OpVariable %_ptr_Output_v4float Output %16
 %position_1 = OpVariable %_ptr_Output_v4float Output %16
       %half = OpTypeFloat 16
%_ptr_Output_half = OpTypePointer Output %half
         %21 = OpConstantNull %half
     %loc4_1 = OpVariable %_ptr_Output_half Output %21
     %v3half = OpTypeVector %half 3
%_ptr_Output_v3half = OpTypePointer Output %v3half
         %25 = OpConstantNull %v3half
     %loc5_1 = OpVariable %_ptr_Output_v3half Output %25
%vertex_point_size = OpVariable %_ptr_Output_float Output %12
%VertexOutputs = OpTypeStruct %int %uint %float %v4float %v4float %half %v3half
         %27 = OpTypeFunction %VertexOutputs
      %int_1 = OpConstant %int 1
     %uint_1 = OpConstant %uint 1
    %float_1 = OpConstant %float 1
    %float_2 = OpConstant %float 2
    %float_3 = OpConstant %float 3
    %float_4 = OpConstant %float 4
         %37 = OpConstantComposite %v4float %float_1 %float_2 %float_3 %float_4
%half_0x1_2p_1 = OpConstant %half 0x1.2p+1
%half_0x1_8p_1 = OpConstant %half 0x1.8p+1
%half_0x1_4p_2 = OpConstant %half 0x1.4p+2
%half_0x1p_3 = OpConstant %half 0x1p+3
         %42 = OpConstantComposite %v3half %half_0x1_8p_1 %half_0x1_4p_2 %half_0x1p_3
         %43 = OpConstantComposite %VertexOutputs %int_1 %uint_1 %float_1 %37 %16 %half_0x1_2p_1 %42
       %void = OpTypeVoid
         %44 = OpTypeFunction %void
 %main_inner = OpFunction %VertexOutputs None %27
         %30 = OpLabel
               OpReturnValue %43
               OpFunctionEnd
       %main = OpFunction %void None %44
         %47 = OpLabel
         %48 = OpFunctionCall %VertexOutputs %main_inner
         %49 = OpCompositeExtract %int %48 0
               OpStore %loc0_1 %49
         %50 = OpCompositeExtract %uint %48 1
               OpStore %loc1_1 %50
         %51 = OpCompositeExtract %float %48 2
               OpStore %loc2_1 %51
         %52 = OpCompositeExtract %v4float %48 3
               OpStore %loc3_1 %52
         %53 = OpCompositeExtract %v4float %48 4
               OpStore %position_1 %53
         %54 = OpCompositeExtract %half %48 5
               OpStore %loc4_1 %54
         %55 = OpCompositeExtract %v3half %48 6
               OpStore %loc5_1 %55
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd