Abstract
Since they often embody compact but mathematically sophisticated algorithms, operations for computing the common transcendental functions in floating point arithmetic seem good targets for formal verification using a mechanical theorem prover. We discuss some of the general issues that arise in verifications of this class, and then present a machine-checked verification of an algorithm for computing the exponential function in IEEE-754 standard binary floating point arithmetic. We confirm (indeed strengthen) the main result of a previously published error analysis, though we uncover a minor error in the hand proof and are forced to confront several subtle issues that might easily be overlooked informally.
Preview
Unable to display preview. Download preview PDF.
References
Barratt, M. (1989) Formal methods applied to a floating-point system. IEEE Transactions on Software Engineering, 15, 611–621.
Benedetti, R. and Risler, J.-J. (1990) Real algebraic and semi-algebraic sets. Hermann, Paris.
Brock, B., Kaufmann, M., and Moore, J. S. (1996) ACL2 theorems about commercial microprocessors. See Srivas and Camilleri (1996), pp. 275–293.
Dutertre, B. (1996) Elements of mathematical analysis in PVS. See von Wright, Grundy, and Harrison (1996).(1996), pp. 141–156.
Goldberg, D. (1991) What every computer scientist should know about floating point arithmetic. ACM Computing Surveys, 23, 5–48.
Gordon, M. J. C. (1989) Mechanizing programming logics in higher order logic. In Birtwistle, G. and Subrahmanyam, P. A. (eds.), Current Trends in Hardware Verification and Automated Theorem Proving, pp. 387–439. Springer-Verlag.
Gordon, M. J. C. and Melham, T. F. (1993) Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press.
Harrison, J. (1996a) HOL light: A tutorial introduction. See Srivas and Camilleri (1996), pp. 265–269.
Harrison, J. (1996b) Theorem proving with the real numbers. Technical Report 408, University of Cambridge Computer Laboratory.
Harrison, J. (1997a) Floating point verification in HOL Light: The exponential function. Technical Report 428, University of Cambridge Computer Laboratory.
Harrison, J. (1997b) Verifying the accuracy of polynomial approximations in HOL. In Gunter, E. L. and Felty, A. (eds.), Theorem Proving in Higher Order Logics: 10th International Conference, TPHOLs'97, Volume 1275 of Lecture Notes in Computer Science, Murray Hill, NJ, pp. 137–152. Springer-Verlag.
Miner, P. S. (1995) Defining the IEEE-854 floating-point standard in PVS. Technical memorandum 110167, NASA Langley Research Center, Hampton, VA 23681-0001, USA.
Miner, P. S. and Leathrum, J. F. (1996) Verification of IEEE compliant subtractive division algorithms. See Srivas and Camilleri (1996), pp. 64–78.
Moore, J. S., Lynch, T., and Kaufmann, M. (1996) A mechanically checked proof of the correctness of the kernel of the AMD5K86 floating-point division algorithm. Unpublished; available on the Web as http://devil.ece.utexas.edu:80/∼lynch/divide/divide.html.
Pratt, V. R. (1995) Anatomy of the Pentium bug. In Mosses, P. D., Nielsen, M., and Schwartzbach, M. I. (eds.), Proceedings of the 5th International Joint Conference on the theory and practice of software development (TAPSOFT'95), Volume 915 of Lecture Notes in Computer Science, Aarhus, Denmark, pp. 97–107. Springer-Verlag.
Srivas, M. and Camilleri, A. (eds.) (1996) Proceedings of the First International Conference on Formal Methods in Computer-Aided Design (FMCAD'96), Volume 1166 of Lecture Notes in Computer Science. Springer-Verlag.
Tang, P. T. P. (1989) Table-driven implementation of the exponential function in IEEE floating-point arithmetic. ACM Transactions on Mathematical Software, 15, 144–157.
von Wright, J., Grundy, J., and Harrison, J. (eds.) (1996) Theorem Proving in Higher Order Logics: 9th International Conference, TPHOLs'96, Volume 1125 of Lecture Notes in Computer Science, Turku, Finland. Springer-Verlag.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Harrison, J. (1997). Floating point verification in HOL light: The exponential function. In: Johnson, M. (eds) Algebraic Methodology and Software Technology. AMAST 1997. Lecture Notes in Computer Science, vol 1349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0000475
Download citation
DOI: https://doi.org/10.1007/BFb0000475
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63888-9
Online ISBN: 978-3-540-69661-2
eBook Packages: Springer Book Archive