Émulation de l'instruction FMAdd : Plongeon en profondeur dans les flottants 32 bits
Cet article explore l’émulation de l’instruction FMAdd (fused multiply-add) sur un matériel ne la supportant pas nativement, en se concentrant plus particulièrement sur une implémentation SIMD de flottants 32 bits. Il explique le fonctionnement de FMAdd et comment éviter les erreurs de double arrondissement inhérentes aux calculs intermédiaires en virgule flottante. L’auteur détaille une technique astucieuse utilisant l’« arrondi à l’impair » et la précision supplémentaire des flottants double précision pour éliminer les erreurs d’arrondi, obtenant ainsi des résultats FMAdd précis. L’article aborde également brièvement le calcul de résultats d’addition précis et des termes d’erreur, et promet un suivi sur la gestion des flottants 64 bits.