• DocumentCode
    1523238
  • Title

    Computing Floating-Point Square Roots via Bivariate Polynomial Evaluation

  • Author

    Jeannerod, Claude-Pierre ; Knochel, Hervé ; Monat, Christophe ; Revy, Guillaume

  • Author_Institution
    LIP-ENS Lyon, INRIA Grenoble-Rhone-Alpes, Lyon, France
  • Volume
    60
  • Issue
    2
  • fYear
    2011
  • Firstpage
    214
  • Lastpage
    227
  • Abstract
    In this paper, we show how to reduce the computation of correctly rounded square roots of binary floating-point data to the fixed-point evaluation of some particular integer polynomials in two variables. By designing parallel and accurate evaluation schemes for such bivariate polynomials, we show further that this approach allows for high instruction-level parallelism (ILP) exposure, and thus, potentially low-latency implementations. Then, as an illustration, we detail a C implementation of our method in the case of IEEE 754-2008 binary32 floating-point data (formerly called single precision in the 1985 version of the IEEE 754 standard). This software implementation, which assumes 32-bit unsigned integer arithmetic only, is almost complete in the sense that it supports special operands, subnormal numbers, and all rounding-direction attributes, but not exception handling (that is, status flags are not set). Finally, we have carried out experiments with this implementation on the ST231, an integer processor from the STMicroelectronics´ ST200 family, using the ST200 family VLIW compiler. The results obtained demonstrate the practical interest of our approach in that context: for all rounding-direction attributes, the generated assembly code is optimally scheduled and has indeed low latency (23 cycles).
  • Keywords
    floating point arithmetic; polynomial approximation; program processors; ST microelectronics; ST200 family; VLIW compiler; bivariate polynomial evaluation; fixed point evaluation; floating point square root; instruction level parallelism; integer polynomial; integer processor; rounding direction attribute; unsigned integer arithmetic; Assembly; Delay; Error analysis; Floating-point arithmetic; Parallel processing; Polynomials; Processor scheduling; Roundoff errors; Software design; VLIW; Binary floating-point arithmetic; C software implementation; IEEE 754; VLIW integer processor.; correct rounding; instruction-level parallelism; polynomial evaluation; rounding error analysis; square root;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2010.152
  • Filename
    5492674