; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 57
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability StorageInputOutput16
         %26 = 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 %tint_acosh "tint_acosh"
               OpName %x "x"
               OpName %acosh_de60d8 "acosh_de60d8"
               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
               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
     %v4half = OpTypeVector %half 4
%prevent_dce_block = OpTypeStruct %v4half
%_ptr_StorageBuffer_prevent_dce_block = OpTypePointer StorageBuffer %prevent_dce_block
%prevent_dce = OpVariable %_ptr_StorageBuffer_prevent_dce_block StorageBuffer
         %14 = OpTypeFunction %v4half %v4half
%half_0x1p_0 = OpConstant %half 0x1p+0
         %20 = OpConstantComposite %v4half %half_0x1p_0 %half_0x1p_0 %half_0x1p_0 %half_0x1p_0
       %bool = OpTypeBool
     %v4bool = OpTypeVector %bool 4
         %24 = OpConstantNull %v4half
       %void = OpTypeVoid
         %27 = OpTypeFunction %void
%half_0x1_8bp_0 = OpConstant %half 0x1.8bp+0
         %32 = OpConstantComposite %v4half %half_0x1_8bp_0 %half_0x1_8bp_0 %half_0x1_8bp_0 %half_0x1_8bp_0
%_ptr_Function_v4half = OpTypePointer Function %v4half
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_v4half = OpTypePointer StorageBuffer %v4half
         %43 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
 %tint_acosh = OpFunction %v4half None %14
          %x = OpFunctionParameter %v4half
         %17 = OpLabel
         %21 = OpFOrdLessThan %v4bool %x %20
         %25 = OpExtInst %v4half %26 Acosh %x
         %18 = OpSelect %v4half %21 %24 %25
               OpReturnValue %18
               OpFunctionEnd
%acosh_de60d8 = OpFunction %void None %27
         %30 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v4half Function %24
        %res = OpVariable %_ptr_Function_v4half Function %24
               OpStore %arg_0 %32
         %36 = OpLoad %v4half %arg_0
         %35 = OpFunctionCall %v4half %tint_acosh %36
               OpStore %res %35
         %41 = OpAccessChain %_ptr_StorageBuffer_v4half %prevent_dce %uint_0
         %42 = OpLoad %v4half %res
               OpStore %41 %42
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %43
         %45 = OpLabel
         %46 = OpFunctionCall %void %acosh_de60d8
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %27
         %48 = OpLabel
         %49 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %49
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %27
         %52 = OpLabel
         %53 = OpFunctionCall %void %acosh_de60d8
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %27
         %55 = OpLabel
         %56 = OpFunctionCall %void %acosh_de60d8
               OpReturn
               OpFunctionEnd
