Skip to main content

Formal Verification of IA-64 Division Algorithms

  • Conference paper
Theorem Proving in Higher Order Logics (TPHOLs 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1869))

Included in the following conference series:

Abstract

The IA-64 architecture defers floating point and integer division to software. To ensure correctness and maximum efficiency, Intel provides a number of recommended algorithms which can be called as subroutines or inlined by compilers and assembly language programmers. All these algorithms have been subjected to formal verification using the HOL Light theorem prover. As well as improving our level of confidence in the algorithms, the formal verification process has led to a better understanding of the underlying theory, allowing some significant efficiency improvements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Marius Cornea, Cristina Iordache, Peter Markstein, and John Harrison. Integer divide and remainder operations in the Intel IA-64 architecture. In Jean-Claude Ba-jard, Christiane Frougny, Peter Kornerup, and Jean-Michel Muller, editors, RNC4, the fourth international conference on Real Numbers and Computers, pages 161–184, 2000.

    Google Scholar 

  2. Marius Cornea-Hasegan. Proving the IEEE correctness of iterative floating-point square root, divide and remainder algorithms. Intel Technology Journal, 1998-Q2:1–11, 1998. See http://developer.intel.com/technology/itj/q21998/articles/art_3.htm.

    Google Scholar 

  3. Guy Cousineau and Michel Mauny. The Functional Approach to Programming. Cambridge University Press, 1998.

    Google Scholar 

  4. Carole Dulong. The IA-64 architecture at work. IEEE Computer, 64(7):24–32, July 1998.

    Google Scholar 

  5. Michael J. C. Gordon and Thomas F. Melham. Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press, 1993.

    Google Scholar 

  6. Michael J. C. Gordon, Robin Milner, and Christopher P. Wadsworth. Edinburgh LCF: A Mechanised Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.

    Google Scholar 

  7. John Harrison. HOL Light: A tutorial introduction. In Mandayam Srivas and Albert Camilleri, editors, FMCAD’96, volume 1166 of Lecture Notes in Computer Science, pages 265–269. Springer-Verlag, 1996.

    Google Scholar 

  8. John Harrison. Theorem Proving with the Real Numbers. Springer-Verlag, 1998. Revised version of author’s PhD thesis.

    Google Scholar 

  9. John Harrison. A machine-checked theory of floating point arithmetic. In Yves Bertot, Gilles Dowek, André Hirschowitz, Christine Paulin, and Laurent Théry, editors, TPHOLs’99, volume 1690 of Lecture Notes in Computer Science, pages 113–130, 1999. Springer-Verlag.

    Google Scholar 

  10. IEEE. Standard for binary floating point arithmetic. ANSI/IEEE Standard 754-1985, The Institute of Electrical and Electronic Engineers, Inc.

    Google Scholar 

  11. Peter Markstein. Computation of elementary functions on the IBM RISC System/6000 processor. IBM Journal of Research and Development, 34:111–119, 1990.

    Article  MathSciNet  Google Scholar 

  12. Peter Markstein. IA-64 and Elementary Functions: Speed and Precision. Prentice-Hall, 2000.

    Google Scholar 

  13. J Strother Moore, Tom Lynch, and Matt Kaufmann. A mechanically checked proof of the correctness of the kernel of the AM D5k86 floating-point division program. IEEE Transactions on Computers, 47:913–926, 1998.

    Article  MathSciNet  Google Scholar 

  14. John O’Leary, Xudong Zhao, Rob Gerth, and Carl-Johan H. Seger. Formally verifying IEEE compliance of floating-point hardware. Intel Technology Journal, 1999-Q1:1–14, 1999. http://developer.intel.com/technology/itj/ql1999/articles/art_5.htm.

    Google Scholar 

  15. David Rusinoff. A mechanically checked proof of IEEE compliance of a register-transfer-level specification of the AMD-K7 floating-point multiplication, division, and square root instructions. LMS Journal of Computation and Mathematics, 1:148–200, 1998. Available on the Web via http://www.onr.com/user/russ/david/k7-div-sqrt.html.

    MathSciNet  Google Scholar 

  16. Pierre Weis and Xavier Leroy. Le langage Caml. InterEditions, 1993. See also the CAML Web page: http://pauillac.inria.fr/caml/.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, J. (2000). Formal Verification of IA-64 Division Algorithms. In: Aagaard, M., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2000. Lecture Notes in Computer Science, vol 1869. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44659-1_15

Download citation

  • DOI: https://doi.org/10.1007/3-540-44659-1_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67863-2

  • Online ISBN: 978-3-540-44659-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics