## 3.140. __nv_fma

Prototype:

```double @__nv_fma(double %x, double %y, double %z)

```

Description:

Compute the value of $x×y+z$ as a single ternary operation. After computing the value to infinite precision, the value is rounded once.

Returns:

Returns the rounded value of $x×y+z$ as a single operation.
• __nv_fma( $±\infty$ , $±0$ , z) returns NaN.

• __nv_fma( $±0$ , $±\infty$ , z) returns NaN.

• __nv_fma(x, y, $-\infty$ ) returns NaN if $x×y$ is an exact $+\infty$ .

• __nv_fma(x, y, $+\infty$ ) returns NaN if $x×y$ is an exact $-\infty$ .

Note:

For accuracy information for this function see the CUDA C Programming Guide, Appendix D.1, Table 7.

Library Availability:

Compute 2.0: Yes

Compute 3.0: Yes

Compute 3.5: Yes