Elementary Functions

Algorithms and Implementation

  • Jean-Michel Muller

Table of contents

  1. Front Matter
    Pages i-xxv
  2. Jean-Michel Muller
    Pages 1-6
  3. Jean-Michel Muller
    Pages 7-36
  4. Algorithms Based on Polynomial Approximation and/or Table Lookup, Multiple-Precision Evaluation of Functions

    1. Front Matter
      Pages 37-37
    2. Jean-Michel Muller
      Pages 81-100
    3. Jean-Michel Muller
      Pages 101-120
    4. Jean-Michel Muller
      Pages 121-135
  5. Shift-and-Add Algorithms

    1. Front Matter
      Pages 137-137
    2. Jean-Michel Muller
      Pages 139-163
    3. Jean-Michel Muller
      Pages 165-184
    4. Jean-Michel Muller
      Pages 185-195
  6. Range Reduction, Final Rounding and Exceptions

    1. Front Matter
      Pages 197-197
    2. Jean-Michel Muller
      Pages 199-217
    3. Jean-Michel Muller
      Pages 219-244
    4. Jean-Michel Muller
      Pages 245-251
    5. Jean-Michel Muller
      Pages 253-262
  7. Back Matter
    Pages 263-283

About this book


This textbook presents the concepts and tools necessary to understand, build, and implement algorithms for computing elementary functions (e.g., logarithms, exponentials, and the trigonometric functions).  Both hardware- and software-oriented algorithms are included, along with issues related to accurate floating-point implementation.  This third edition has been updated and expanded to incorporate the most recent advances in the field, new elementary function algorithms, and function software.

After a preliminary chapter that briefly introduces some fundamental concepts of computer arithmetic, such as floating-point arithmetic and redundant number systems, the text is divided into three main parts.  Part I considers the computation of elementary functions using algorithms based on polynomial or rational approximations and using table-based methods;  the final chapter in this section deals with basic principles of multiple-precision arithmetic.  Part II is devoted to a presentation of “shift-and-add” algorithms (hardware-oriented algorithms that use additions and shifts only).  Issues related to accuracy, including range reduction, preservation of monotonicity, and correct rounding, as well as some examples of implementation are explored in Part III.  Numerous examples of command lines and full programs are provided throughout for various software packages, including Maple, Sollya, and Gappa.  New to this edition are an in-depth overview of the IEEE-754-2008 standard for floating-point arithmetic; a section on using double- and triple-word numbers; a presentation of new tools for designing accurate function software; and a section on the Toom-Cook family of multiplication algorithms.

The techniques presented in this book will be of interest to implementers of elementary function libraries or circuits and programmers of numerical applications.  Additionally, graduate and advanced undergraduate students, professionals, and researchers in scientific computing, numerical analysis, software engineering, and computer engineering will find this a useful reference and resource.


[T]his book seems like an essential reference for the experts (which I'm not).  More importantly, this is an interesting book for the curious (which I am).  In this case, you'll probably learn many interesting things from this book.  If you teach numerical analysis or approximation theory, then this book will give you some good examples to discuss in class." — MAA Reviews (Review of Second Edition)

"The rich content of ideas sketched or presented in some detail in this book is supplemented by a list of over three hundred references, most of them of 1980 or more recent.  The book also contains some relevant typical programs." — Zentralblatt MATH (Review of Second Edition)

I think that the book will be very valuable to students both in numerical analysis and in computer science.  I found [it to be] well written and containing much interesting material, most of the time disseminated in specialized papers published in specialized journals difficult to find." — Numerical Algorithms (Review of First Edition)


Elementary Functions Computer Arithmetic Floating-Point Arithmetic Polynomial Approximation Rational Approximation Table-Based Methods shift-and-add algorithms CORDIC algorithm

Authors and affiliations

  • Jean-Michel Muller
    • 1
  1. 1.Labo. Informatique du Parallélisme (LIP)École Normale Supérieure de Lyon CNRSLyon CX 07France

Bibliographic information