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.

Applies to