Versteckter Rundungsfehler in floating-point Bibliotheken

Hauptkategorie: Externes Kategorie: Humor Erstellt: Sonntag, 11. November 2012 Zuletzt aktualisiert: Freitag, 16. November 2012 Veröffentlicht: Sonntag, 11. November 2012 Geschrieben von Jörg Hoppe

Anscheinend leiden die gängigen IEEE floating-point Algorithmen seit Jahrzehnten an einem unentdeckten bug:
Beim Berechnen von transzendenten Funktionen durch Reihenentwicklung können sich Rundungsfehler in den letzten Bits unter gewissen Umständen unkontrolliert in höherwertige Ziffern der Mantisse fortpflanzen.

Über die praktischen Auswirkungen und die Verbreitung dieses Fehlers herrscht noch Unklarheit. Fest steht:

- Der Fehler entsteht rein software-seitig - und hat nichts mit einer Neuauflage des bekannten "Pentium-FDIV-Bugs" zu tun.

- Betroffen sind zumindest die Unix C-Bibliothek "glibc" sowie diverse Halbleiterimplementierungen in Taschenrechner-Chipsätzen.

- Der Fehler tritt nur sehr selten auf. Die höchste bisher bekannte Abweichung entsteht, wenn man die bekannte Identität

eπ - π = 20 (lies: "e hoch pi minus pi ist gleich zwanzig")

numerisch überprüft. Der Rechenfehler beträgt dann immerhin 0.0045 %.

Zugriffe: 8830