Please consider adding fused multiply–add (FMA) to the standard library.
FMA computes a*b + c but only with one floating-point rounding, instead of two. If a CPU instruction is available it might even be faster than a separate multiplication and addition but the main reason for using it is the increased precision.
The use cases include calculating dot product, evaluating polynomials, matrix multiplication and many more.
I think the largest difficulty would be to provide a correct fallback in case that the CPU does not support it directly.
Please consider adding fused multiply–add (FMA) to the standard library.
FMA computes a*b + c but only with one floating-point rounding, instead of two. If a CPU instruction is available it might even be faster than a separate multiplication and addition but the main reason for using it is the increased precision.
The use cases include calculating dot product, evaluating polynomials, matrix multiplication and many more.
I think the largest difficulty would be to provide a correct fallback in case that the CPU does not support it directly.