Title :
Automatic verification of estimate functions with polynomials of bounded functions
Author_Institution :
IBM Austin Res. Lab., Austin, TX, USA
Abstract :
The correctness of some arithmetic functions can be expressed in terms of the magnitude of errors. A reciprocal estimate function that returns an approximation of 1/x is such a function that is implemented in microprocessors. This paper describes an algorithm to prove that the error of an arithmetic function is less than its requirement. It divides the input domain into tiny segments, and for each segment we evaluate a requirement formula. The evaluation is carried out by converting an arithmetic function to what we call a polynomial of bounded functions, and then its upper bound is calculated and checked if it meets the requirement. The algorithm is implemented as a set of rewriting rules and computed-hints of the ACL2 theorem prover. It has been used to verify reciprocal estimate and reciprocal square root estimate instructions of one of the IBM POWER™ processors.
Keywords :
estimation theory; floating point arithmetic; formal verification; microprocessor chips; rewriting systems; theorem proving; ACL2 theorem prover; IBM POWER processor; arithmetic function; bounded function; estimate function verification; floating-point arithmetic; microprocessor; polynomial; reciprocal estimate function; reciprocal square root estimate instruction; rewriting rule; Algorithm design and analysis; Approximation algorithms; Approximation methods; Hardware; Mathematical model; Polynomials; Upper bound;
Conference_Titel :
Formal Methods in Computer-Aided Design (FMCAD), 2010
Conference_Location :
Lugano
Print_ISBN :
978-1-4577-0734-6
Electronic_ISBN :
978-0-9835678-0-6