You copied the Doc URL to your clipboard.

Fused Multiply Add (FMA) intrinsics

These intrinsics perform the following calculation, incurring only a single rounding step:

result = a × b + c

Performing the calculation with a single rounding step, rather than multiplying and then adding with two roundings, can result in a better degree of accuracy.

Declared in math.h, the FMA intrinsics are:

double fma(double a, double b, double c);
float fmaf(float a, float b, float c);
long double fmal(long double a, long double b, long double c);


  • These intrinsics are only available in C99 mode.

  • They are only supported for the Cortex-A5 and Cortex-M4 processors.

  • If compiling for the Cortex-M4 processor, only fmaf() is available.