Die beste mir bekannte Lösung besteht darin, die symbolischen Ausdrücke in Mathematica , Maple oder SymPy zu programmieren . Alle Links führen direkt zur Dokumentation der Codegenerierung. Alle oben genannten Programme können Code in C oder Fortran generieren.
Keines der obigen Programme erwähnt die Genauigkeit in der IEEE 754-Arithmetik; Im Allgemeinen ist es schwierig, alle Quellen für eine katastrophale Annullierung vorherzusehen, wie @ dmckee feststellt. Es ist schwer, die Erfahrung des Menschen in der numerischen Analyse zu ersetzen.
Um ein konkretes Beispiel zu liefern, sollten Sie erwägen, die trigonometrischen Funktionen für beliebige Eingaben in mit hoher Genauigkeit zu berechnen . Dazu gibt es viele Strategien, einige sogar hardwareabhängig, wie im Wikipedia-Artikel Trigonometrische Tabellen beschrieben . Alle Algorithmen erfordern Einfallsreichtum und numerische Analyse, auch Algorithmen, die von Nachschlagetabellen und Taylor-Reihen oder Interpolation abhängen (siehe Wikipedia-Artikel Das Dilemma des Tischmachers ). Weitere Informationen finden Sie in der verwandten Frage zum Stapelüberlauf. Wie funktionieren trigonometrische Funktionen? .[ 0 , 2 & pgr;]
Software, die Code oder Routinen generiert, um beliebige Funktionen mit hoher Genauigkeit zu berechnen, müsste nicht nur Löschfehler berücksichtigen, sondern auch Serienapproximanten (Taylor, Padé, Chebyshev, Rational usw.) zur Berechnung von Funktionen, die nicht im Sinne von definiert sind eine endliche Anzahl von Additionen, Subtraktionen, Multiplikationen, Divisionen und Bitverschiebungen. (Siehe Approximationstheorie .)