Solusi terbaik yang saya tahu adalah memprogram ekspresi simbolik dalam Mathematica , Maple , atau SymPy ; semua tautan langsung menuju dokumentasi pembuatan kode. Semua program di atas dapat menghasilkan kode dalam C atau Fortran.
Tak satu pun dari program di atas menyebutkan akurasi dalam aritmetika IEEE 754; secara umum, akan sulit untuk mengantisipasi semua sumber pembatalan bencana, seperti catatan @dmckee. Sulit untuk menggantikan keahlian manusia dalam analisis numerik.
Untuk memberikan contoh konkret, pertimbangkan untuk menghitung fungsi trigonometri hingga presisi tinggi untuk input sewenang-wenang dalam . Ada banyak strategi untuk melakukannya, beberapa bahkan tergantung pada perangkat keras, seperti yang terlihat dalam artikel Wikipedia Trigonometric Tables . Semua algoritma membutuhkan kecerdikan dan analisis numerik, bahkan algoritma yang tergantung pada tabel pencarian dan seri Taylor atau interpolasi (lihat artikel Wikipedia Dilema Meja-Pembuat ). Untuk lebih detail, lihat pertanyaan Stack Overflow terkait Bagaimana Fungsi Trigonometrik bekerja? .[ 0 , 2 π]
Perangkat lunak yang menghasilkan kode atau rutinitas untuk menghitung fungsi arbitrer hingga akurasi tinggi tidak hanya perlu mewaspadai kesalahan pembatalan, tetapi juga serangkaian aproksimasi (Taylor, Padé, Chebyshev, rasional, dll.) Untuk menghitung fungsi yang tidak didefinisikan dalam istilah sejumlah tambahan, pengurangan, perkalian, pembagian, dan pergeseran bit yang terbatas. (Lihat Teori Aproksimasi .)