Math.FusedMultiplyAdd(Double, Double, Double) Method
Definition
Returns (x * y) + z, rounded as one ternary operation.
public:
static double FusedMultiplyAdd(double x, double y, double z);
public static double FusedMultiplyAdd (double x, double y, double z);
static member FusedMultiplyAdd : double * double * double -> double
Public Shared Function FusedMultiplyAdd (x As Double, y As Double, z As Double) As Double
Parameters
- x
- Double
The number to be multiplied with y
.
- y
- Double
The number to be multiplied with x
.
- z
- Double
The number to be added to the result of x
multiplied by y
.
Returns
(x * y) + z, rounded as one ternary operation.
Remarks
This computes (x * y)
as if to infinite precision, adds z
to that result as if to infinite precision, and finally rounds to the nearest representable value.
This differs from the non-fused sequence which would compute (x * y)
as if to infinite precision, round the result to the nearest representable value, add z
to the rounded result as if to infinite precision, and finally round to the nearest representable value.