; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 54
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
         %30 = 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 %prevent_dce_block "prevent_dce_block"
               OpMemberName %prevent_dce_block 0 "inner"
               OpName %prevent_dce "prevent_dce"
               OpName %smoothstep_6e7a74 "smoothstep_6e7a74"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %arg_2 "arg_2"
               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
               OpDecorate %prevent_dce_block Block
               OpMemberDecorate %prevent_dce_block 0 Offset 0
               OpDecorate %prevent_dce DescriptorSet 2
               OpDecorate %prevent_dce Binding 0
      %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
       %half = OpTypeFloat 16
     %v3half = OpTypeVector %half 3
%prevent_dce_block = OpTypeStruct %v3half
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
       %void = OpTypeVoid
         %14 = OpTypeFunction %void
%half_0x1p_1 = OpConstant %half 0x1p+1
         %19 = OpConstantComposite %v3half %half_0x1p_1 %half_0x1p_1 %half_0x1p_1
%_ptr_Function_v3half = OpTypePointer Function %v3half
         %22 = OpConstantNull %v3half
%half_0x1p_2 = OpConstant %half 0x1p+2
         %24 = OpConstantComposite %v3half %half_0x1p_2 %half_0x1p_2 %half_0x1p_2
%half_0x1_8p_1 = OpConstant %half 0x1.8p+1
         %27 = OpConstantComposite %v3half %half_0x1_8p_1 %half_0x1_8p_1 %half_0x1_8p_1
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_v3half = OpTypePointer StorageBuffer %v3half
         %40 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%smoothstep_6e7a74 = OpFunction %void None %14
         %17 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v3half Function %22
      %arg_1 = OpVariable %_ptr_Function_v3half Function %22
      %arg_2 = OpVariable %_ptr_Function_v3half Function %22
        %res = OpVariable %_ptr_Function_v3half Function %22
               OpStore %arg_0 %19
               OpStore %arg_1 %24
               OpStore %arg_2 %27
         %31 = OpLoad %v3half %arg_0
         %32 = OpLoad %v3half %arg_1
         %33 = OpLoad %v3half %arg_2
         %29 = OpExtInst %v3half %30 SmoothStep %31 %32 %33
               OpStore %res %29
         %38 = OpAccessChain %_ptr_StorageBuffer_v3half %prevent_dce %uint_0
         %39 = OpLoad %v3half %res
               OpStore %38 %39
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %40
         %42 = OpLabel
         %43 = OpFunctionCall %void %smoothstep_6e7a74
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %14
         %45 = OpLabel
         %46 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %46
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %14
         %49 = OpLabel
         %50 = OpFunctionCall %void %smoothstep_6e7a74
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %14
         %52 = OpLabel
         %53 = OpFunctionCall %void %smoothstep_6e7a74
               OpReturn
               OpFunctionEnd
