Fast correct rounding of elementary functions in double precision using double-extended arithmetic - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2004

Fast correct rounding of elementary functions in double precision using double-extended arithmetic

Florent de Dinechin
David Defour

Résumé

This article shows that IEEE-754 double-precision correct rounding of the most common elementary functions (exp/log, trigonometric and hyperbolic) is achievable on current processors using only double-double-extended arithmetic. This allows to improve by several orders of magnitude the worst case performance of a correctly-rounded mathematical library, compared to the current state of the art. This article builds up on previous work by Lefèvre and Muller, who have shown that an intermediate accuracy of up to 158 bits is required for the evaluation of some functions. We show that the practical accuracy required can always be reduced to less than 119 bits, which is easy to obtain using well-known and well-proven techniques of double-double-extended arithmetic. As an example, a prototype implementation of the exponential function on the Itanium has a worst-case time about twice that of the standard, highly optimized libm by Intel, which doesn't offer correct rounding. Such a small performance penalty should allow correct rounding of elementary functions to become the standard.
Cet article montre que l'arrondi correct des fonctions élémentaires en double précision pet être obtenu rapidement en utilisant la précision double-étendue sur les processeurs qui la supportent. Ceci permet une accélération de plusieurs ordres de grandeur au pire cas par rapport aux bibliothèques avec arrondi correct existantes qui utilisent des techniques de multiprécision plus lourdes. Cet article s'appuie sur les travaux de Lefèvre et Muller, qui ont montré que la précision intermédiaire nécessaire ‡ l'implémentation d'une fonction élémentaire avec arrondi correct pouvait monter jusqu'à 158bits.Cet article montre que la précision pratique peut toujours être ramenée à moins de 119bits, une précision facile à atteindre en utilisant des techniques bien connues de double-double-étendue. Par exemple, une implémentation prototype de l'exponentielle avec arrondi correct sur Itanium a un temps d'exécution au pire cas dans un facteur 2 de l'implémentation standard , hautement optimisée, de la libmd'Intel sans arrondi correct. Une perte de performance si minime permet d'espérer une généralisation de l'arrondi correct des fonctions élémentaires en double précision
Fichier principal
Vignette du fichier
RR-5137.pdf (269.77 Ko) Télécharger le fichier
RR2004-10.pdf (355.28 Ko) Télécharger le fichier
Loading...

Dates et versions

inria-00071446 , version 1 (23-05-2006)

Identifiants

  • HAL Id : inria-00071446 , version 1

Citer

Florent de Dinechin, David Defour, Christoph Lauter. Fast correct rounding of elementary functions in double precision using double-extended arithmetic. [Research Report] RR-5137, LIP RR-2004-10, INRIA, LIP. 2004. ⟨inria-00071446⟩
137 Consultations
513 Téléchargements

Partager

Gmail Facebook X LinkedIn More