Elementary functions : algorithms and efficient implementation for correct rounding for the double precision
Fonctions élémentaires : algorithmes et implémentations efficaces pour l'arrondi correct en double précision
Abstract
The representation formats and behaviors of floating point arithmetics available in computers are defined by the IEEE-754 standard. This standard imposes the system to return as a result of one of the four basic operations (+, *, /, sqrt), the rounding of the exact result. This property is called <>,this warranties the quality of the result. It enables construction of proof that this particular algorithms can be manipulated independently of the machine. However, due to the <>, elementary functions (sine, cosine, exponential...) are
absent in the IEEE-754 standard. Contrary to basic operations, it is difficult to discover the necessary accuracy required to guarantee correct rounding for elementary functions. However if the
representation format is set, it is possible that an exhaustive
search will help determine this bound: it was Lefevre's work for the double precision.
The objectives of this thesis is to exploit these bounds for each
functions and rounding modes, to certify correct rounding in double
precision. Thanks to this bound we have defined an evaluation within 2 steps: a quick phase which is based on the property of the IEEE standard that often proves satisfactory and an accurate step based on multiprecision operations which is precise all the time. For the second step we have designed a multiprecision library which was optimized in order to acquire precision corresponding to the bound, and the caracteristics of processors in 2003.
absent in the IEEE-754 standard. Contrary to basic operations, it is difficult to discover the necessary accuracy required to guarantee correct rounding for elementary functions. However if the
representation format is set, it is possible that an exhaustive
search will help determine this bound: it was Lefevre's work for the double precision.
The objectives of this thesis is to exploit these bounds for each
functions and rounding modes, to certify correct rounding in double
precision. Thanks to this bound we have defined an evaluation within 2 steps: a quick phase which is based on the property of the IEEE standard that often proves satisfactory and an accurate step based on multiprecision operations which is precise all the time. For the second step we have designed a multiprecision library which was optimized in order to acquire precision corresponding to the bound, and the caracteristics of processors in 2003.
Le codage et le comportement de l'arithmétique à virgule flottante disponible dans les ordinateurs sont spécifiés par la norme IEEE-754. Cette norme impose au système de rendre comme résultat de l'une des quatre opérations (+, *, /, sqrt), l'arrondi du résultat exact. Cette propriété que l'on appelle <>, permet de garantir la qualité du résultat. Elle permet également la construction de preuves d'algorithmes, quelles que soient les machines sur lesquelles l'opération est executée. Toutefois cette norme présente des limites, puisque les fonctions élémentaires (sinus, cosinus, exponentielle...) en sont absentes. Cette abscence est liée au <> : il est, contrairement aux opérations de base, difficile de connaître la précision nécessaire pour garantir l'arrondi correct des fonctions élémentaires. Cependant, si l'on fixe le format de représentation, il est alors possible par une recherche exhaustive de déterminer cette borne; ce fut le travail de thèse de Lefèvre pour la double précision.
L'objectif de ce mémoire est d'exploiter les bornes associées à chaque fonction, pour certifier l'arrondi correct des fonctions élémentaires en double précision pour les quatre modes d'arrondi. À cet effet, nous avons implémenté les évaluations en deux étapes : l'une rapide et juste la plupart du temps, basée sur les propriétés de l'arithmétique IEEE double précision, et l'autre juste tout le temps, composé d'opérateurs multiprécision. Pour cette deuxième phase, nous avons développé une bibliothèque d'opérateurs multiprécision optimisés pour les précisions données par ces bornes et les caractéristiques des processeurs en 2003.
L'objectif de ce mémoire est d'exploiter les bornes associées à chaque fonction, pour certifier l'arrondi correct des fonctions élémentaires en double précision pour les quatre modes d'arrondi. À cet effet, nous avons implémenté les évaluations en deux étapes : l'une rapide et juste la plupart du temps, basée sur les propriétés de l'arithmétique IEEE double précision, et l'autre juste tout le temps, composé d'opérateurs multiprécision. Pour cette deuxième phase, nous avons développé une bibliothèque d'opérateurs multiprécision optimisés pour les précisions données par ces bornes et les caractéristiques des processeurs en 2003.
Loading...