x0 * y0 + x1 * y1 + ... + xn * yn Notes: If x and y arrays are not of the same length, operation is performed for min(x.length, y.length);
| InvalidOperationException | any x is signaling NaN | 
| InvalidOperationException | any combination of elements is (±∞, ±0.0) or (±0.0, ±∞) | 
| InvalidOperationException | there are two products resulting in infinities of different sign | 
| OverflowException | result is too big to be represented | 
| UnderflowException | result is too small to be represented | 
| InexactException | result is inexact | 
Sums xi * yi using a higher precision, rounding only once at the end.