Formally Verified Bounds on Rounding Errors in Concrete Implementations of Logarithm-Sum-Exponential Functions - Laboratoire Méthodes Formelles
Rapport Année : 2023

Formally Verified Bounds on Rounding Errors in Concrete Implementations of Logarithm-Sum-Exponential Functions

Bornes formellement vérifiées sur les erreurs d’arrondi dans les implémentations concrètes de fonctions logarithme-somme-exponentielles

Résumé

We study the numerical accuracy of some specific computer programs performing numerical computations. Such a numerical accuracy is expressed in terms of bounds on the difference between the floating-point computations and the corresponding rounding-free computation using mathematical real numbers. We do not only seek to discover such bounds ``on paper'' but we aim at obtaining computer-assisted formal proofs that these bounds are correct for any possible inputs. The functions we study come from the domain of machine learning: first the function computing the logarithm of the sum of exponentials of a sequence, second an algorithm on which is based the so-called mutual information function from probability theory. The final bounds obtained are parameterised by the error bounds of the underlying implementations of the logarithm and exponential functions. We propose an original methodology to conduct our formal proofs, using a combination of the Why3 environment for deductive verification, a original modelling of floating-point computations using unbounded numbers, and finally the recently available J3 prototype for proving properties directly on C source code.
Nous étudions la précision numérique de certains programmes effectuant des calculs numériques. Une telle précision numérique s’exprime en termes de bornes sur la différence entre les calculs à virgule flottante et le calcul sans arrondi similaire utilisant les nombres réels mathématiques. Nous ne cherchons pas seulement à découvrir de telles bornes « sur le papier », mais nous visons à obtenir des preuves formelles, c’est-à-dire assistées par ordinateur, que ces bornes sont correctes pour toutes les entrées possibles des programmes. Les fonctions que nous étudions proviennent du domaine de l’apprentissage automatique : en premier lieu la fonction calculant le logarithme de la somme des exponentielles d’une séquence, en second lieu un algorithme sur lequel se base ce qu’on appelle la fonction d’information mutuelle issue de la théorie des probabilités. Les bornes que l’on propose sont paramétriques en fonction des bornes d’erreur des implémentations sous-jacentes du logarithme et de l’exponentielle. Nous proposons une méthodologie originale pour conduire nos preuves formelles, en utilisant un combinaison de l’environnement Why3 pour la vérification déductive, une modélisation orig- inale des calculs à virgule flottante utilisant des nombres non bornés, et enfin le prototype J3 récent pour prouver les propriétés directement sur le code source C.
Fichier principal
Vignette du fichier
RR-9531v2.pdf (717.25 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04343157 , version 1 (13-12-2023)
hal-04343157 , version 2 (28-03-2024)

Licence

Identifiants

  • HAL Id : hal-04343157 , version 2

Citer

Paul Bonnot, Benoît Boyer, Florian Faissole, Claude Marché, Raphaël Rieu-Helft. Formally Verified Bounds on Rounding Errors in Concrete Implementations of Logarithm-Sum-Exponential Functions. RR-9531, Inria. 2023. ⟨hal-04343157v2⟩
273 Consultations
83 Téléchargements

Partager

More