---
layout: stdlib-reference
---
# dot2add
## Description
Computes dot(x, y)+acc.
May not produce infinities or NaNs for intermediate results that overflow the range of half
## Signature
float dot2add(
vector<half, 2> x,
vector<half, 2> y,
float acc);
## Parameters
#### x : [vector](../types/vector/index.html)\
#### y : [vector](../types/vector/index.html)\
#### acc : float
## Availability and Requirements
Defined for the following targets:
#### hlsl
Available in all stages.
#### glsl
Available in all stages.
#### cpp
Available in all stages.
#### cuda
Available in all stages.
#### metal
Available in all stages.
#### wgsl
Available in all stages.
#### spirv
Available in all stages.
Requires capabilities: `SPV_KHR_non_semantic_info`, `SPV_GOOGLE_user_type`, `spvDerivativeControl`, `spvImageQuery`, `spvImageGatherExtended`, `spvSparseResidency`, `spvMinLod`, `spvFragmentBarycentricKHR`, `spvFragmentFullyCoveredEXT`, `spvGroupNonUniformBallot`, `spvGroupNonUniformShuffle`, `spvGroupNonUniformArithmetic`, `spvGroupNonUniformQuad`, `spvGroupNonUniformVote`, `spvRayTracingPositionFetchKHR`, `spvShaderNonUniformEXT`.
#### llvm
Available in all stages.