Emulation der FMAdd-Instruktion: Ein tiefer Einblick in 32-Bit-Gleitkommazahlen

2025-01-02

Dieser Beitrag befasst sich mit der Emulation der FMAdd-Instruktion (fused multiply-add) auf Hardware ohne native Unterstützung, insbesondere mit einer SIMD-Implementierung für 32-Bit-Gleitkommazahlen. Er erklärt die Funktionsweise von FMAdd und wie man die doppelten Rundungsfehler vermeidet, die bei Zwischenberechnungen mit Gleitkommazahlen auftreten. Der Autor beschreibt eine clevere Technik, die „Runden auf ungerade“ und die zusätzliche Genauigkeit von Gleitkommazahlen mit doppelter Genauigkeit nutzt, um Rundungsfehler zu eliminieren und genaue FMAdd-Ergebnisse zu erzielen. Der Beitrag behandelt auch kurz die Berechnung genauer Additionsergebnisse und Fehlerterme und kündigt einen Folgeartikel zur Behandlung von 64-Bit-Gleitkommazahlen an.