Repository logo
 

Formal Verification of Transcendental Fixed- and Floating-point Algorithms using an Automatic Theorem Prover

Accepted version
Peer-reviewed

Type

Article

Change log

Abstract

jats:pWe present a method for formal verification of transcendental hardware and software algorithms that scales to higher precision without suffering an exponential growth in runtimes. A class of implementations using piecewise polynomial approximation to compute the result is verified using MetiTarski, an automated theorem prover, which verifies a range of inputs for each call. The method was applied to commercial implementations from Cadence Design Systems with significant runtime gains over exhaustive testing methods and was successful in proving that the expected accuracy of one implementation was overly optimistic. Reproducing the verification of a sine implementation in software, previously done using an alternative theorem-proving technique, demonstrates that the MetiTarski approach is a viable competitor. Verification of a 52-bit implementation of the square root function highlights the method’s high-precision capabilities.</jats:p>

Description

Keywords

Theorem prover, transcendental functions, floating-point algorithms

Journal Title

Formal Aspects of Computing

Conference Name

Journal ISSN

0934-5043
1433-299X

Volume Title

Publisher

Association for Computing Machinery (ACM)
Sponsorship
Engineering and Physical Sciences Research Council (EP/I011005/1)
EPSRC (EP/C013409/1)