Title :
Computation and Formal Verification of SRT Quotient and Square Root Digit Selection Tables
Author_Institution :
Intel Corp., Austin, TX, USA
Abstract :
We present a comprehensive, self-contained, and mechanically verified proof of correctness of a maximally redundant SRT design for floating-point division and square root extraction, supported by verified procedures that 1) test the admissibility of a proposed digit selection table, 2) determine the minimal dimensions of an admissible table for a given arbitrary radix, and 3) generate these tables. For square root extraction, we also provide a verified procedure for generating an initial approximation that meets the accuracy requirement of the algorithm and ensures that the digit selection index derived from successive partial roots remains static throughout the computation. A radix-8 instantiation of these algorithms has been implemented in the floating-point unit of the AMD processor code-named Steamroller. To ensure their correctness, all of our results and procedures have been formalized and mechanically checked by the ACL2 prover. We present evidence of the value of this approach by comparing it to that of a more conventional published paper that reports similar results, which are shown to be fatally flawed.
Keywords :
floating point arithmetic; formal verification; microprocessor chips; ACL2 prover; AMD processor code; SRT quotient; Steamroller; arbitrary radix; digit selection index; floating-point division; floating-point unit; formal verification; maximally redundant SRT design; partial roots; radix-8 instantiation; square root digit selection tables; square root extraction; Algorithm design and analysis; Approximation algorithms; Approximation methods; Indexes; Redundancy; Reliability engineering; Algorithm design and analysis; Approximation algorithms; Approximation methods; Indexes; Interactive theorem proving; Redundancy; Reliability engineering; SRT division; formal verification;
Journal_Title :
Computers, IEEE Transactions on