Formally verified 32- and 64-bit integer division using double-precision floating-point arithmetic - Archive ouverte HAL
Communication Dans Un Congrès Année : 2022

Formally verified 32- and 64-bit integer division using double-precision floating-point arithmetic

David Monniaux

Résumé

Some recent processors are not equipped with an integer division unit. Compilers then implement division by a call to a special function supplied by the processor designers, which implements division by a loop producing one bit of quotient per iteration. This hinders compiler optimizations and results in non-constant time computation, which is a problem in some applications. We advocate instead using the processor's floating-point unit, and propose code that the compiler can easily interleave with other computations. We fully proved the correctness of our algorithm, which mixes floating-point and fixed-bitwidth integer computations, using the Coq proof assistant and successfully integrated it into the CompCert formally verified compiler.
Fichier principal
Vignette du fichier
FP_int_division_article.pdf (165.05 Ko) Télécharger le fichier
ARITH_2022_DMonniaux.pdf (79.46 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03722203 , version 1 (13-07-2022)

Identifiants

Citer

David Monniaux, Alice Pain. Formally verified 32- and 64-bit integer division using double-precision floating-point arithmetic. 2022 IEEE 29th Symposium on Computer Arithmetic (ARITH), Sep 2022, Lyon, France. pp.128-132, ⟨10.1109/ARITH54963.2022.00032⟩. ⟨hal-03722203⟩
92 Consultations
852 Téléchargements

Altmetric

Partager

More