Bazı işlemciler bu işlemi gerçekleştiren özel komutlara sahip olduğundan bu işlev tasarlanmıştır. C derleyicisi bu işlemi bir defada yapamaz, çünkü x*y + z ifadesinde ara sonuç yuvarlanır. İşlemin bir defada ve hassasiyet kaybı olmadan yapılmasını istiyorsanız fma işlevini seçin.
Çarpıp toplama işleminin donanımda gerçeklenmediği işlemcilerde,
fma işlevi ara sonuç yuvarlamasından kaçınmak zorunda olduğundan çok yavaş çalışacaktır.
math.h dosyasında
x*y + z ifadesinden daha yavaş olmayan
fma işlevinin sonuç türüne bağlı olarak
FP_FAST_FMA,
FP_FAST_FMAF ve
FP_FAST_FMAL sembolleri tanımlanmıştır. GNU C kütüphanesinde bu, işlemin daima donanımda gerçeklendiği anlamına gelir.