Les calculs en nombres flottants sont intensivement utilisés dans divers domaines, notamment les systèmes embarqués critiques. En général, les résultats de ces calculs sont perturbés par les erreurs d’arrondi. Dans un scenario critique, ces erreurs peuvent être accumulées et propagées, générant ainsi des dommages plus ou moins graves sur le plan humain, matériel, financier, etc. Il est donc souhaitable d’obtenir les résultats les plus précis possible lorsque nous utilisons l’arithmétique flottante. Pour ce faire, nous avons développé un outil qui corrige partiellement ces erreurs d’arrondi, par une transformation automatique et source à source des programmes. Notre transformation repose sur une analyse statique par interprétation abstraite qui fournit des intervalles pour les variables présentées dans les codes sources. Nous transformons non seulement des expressions arithmétiques mais aussi des morceaux de code avec des affectations, des boucles, des conditionnelles, des fonctions, etc. Les résultats obtenus par notre outils sont très prometteurs. Nous avons montré que nous améliorions de manière significative la précision numérique des calculs en minimisant l’erreur par rapport à l’arithmétique exacte des réels. Un autre critère très intéressant est que notre technique permet d’accélérer la vitesse de convergence de méthodes numériques itératives par amélioration de leur précision comme les méthodes de Newton, Jacobi, Gram-Schmidt, etc. Nous avons réussi à réduire le nombre d’itérations nécessaire pour converger de plusieurs dizaines de pourcents. Nous avons aussi étudié l’impact de l’optimisation de la précision sur le format des variables (en simple ou double précision). Pour ce faire, nous avons comparé deux programmes sources écrits en simple et en double précision avec celui transformé en simple précision. Les résultats obtenus montrent que le programme transformé (32 Bits) est très proche du résultat exact de celui de départ (64 Bits). Cela permet à l’utilisateur de dégrader la précision sans perdre beaucoup d’informations. D’un point de vue théorique, nous avons prouvé que les programmes générés n’ont pas forcément la même sémantique que les programmes d’origine, mais que mathématiquement, ils sont équivalents.