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

被引:0
|
作者
Coward, Samuel [1 ]
Paulson, Lawrence [2 ]
Drane, Theo [3 ]
Morini, Emiliano [3 ]
机构
[1] Univ Cambridge, Fac Math, Cambridge, England
[2] Univ Cambridge, Comp Lab, Cambridge, England
[3] Cadence Design Syst, Bracknell, Berks, England
关键词
Theorem prover; transcendental functions; floating-point algorithms; ELEMENTARY-FUNCTIONS; IMPLEMENTATION; LOGARITHM; LIBRARY; UNIT;
D O I
10.1145/3543670
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We 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.
引用
下载
收藏
页数:22
相关论文
共 34 条
  • [1] Floating-point verification using theorem proving
    Harrison, John
    FORMAL METHODS FOR HARDWARE VERIFICATION, 2006, 3965 : 211 - 242
  • [2] Multi-Prover Verification of Floating-Point Programs
    Ayad, Ali
    Marche, Claude
    AUTOMATED REASONING, 2010, 6173 : 127 - +
  • [3] Formal Verification of Floating-Point Division
    Kapoor, Ashish
    Ferguson, Warren
    Jain, Himanshu
    Kundu, Sudipta
    2023 IEEE 30TH SYMPOSIUM ON COMPUTER ARITHMETIC, ARITH 2023, 2023, : 93 - 96
  • [4] Formal verification of floating-point programs
    Boldo, Sylvie
    Filliatre, Jean-Christophe
    18TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2007, : 187 - +
  • [5] Application dictates choice: fixed- or floating-point DSP?
    Lerner, Boris
    EDN, 2006, 51 (22) : 99 - +
  • [6] Automatic floating-point to fixed-point transformations
    Han, Kyungtae
    Olson, Alex G.
    Evans, Brian L.
    2006 FORTIETH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, VOLS 1-5, 2006, : 79 - +
  • [7] Formal Verification of a Floating-Point Expansion Renormalization Algorithm
    Boldo, Sylvie
    Joldes, Mioara
    Muller, Jean-Michel
    Popescu, Valentina
    INTERACTIVE THEOREM PROVING (ITP 2017), 2017, 10499 : 98 - 113
  • [8] Formal verification of the Pentium®4 floating-point multiplier
    Kaivola, R
    Narasimhan, N
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2002 PROCEEDINGS, 2002, : 20 - 27
  • [9] Fixed- and Floating-Point Processor Comparison for MIMO-OFDM Detector
    Janhunen, Janne
    Pitkanen, Teemu
    Silven, Olli
    Juntti, Markku
    IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, 2011, 5 (08) : 1588 - 1598
  • [10] VFloat: A Variable Precision Fixed- and Floating-Point Library for Reconfigurable Hardware
    Wang, Xiaojun
    Leeser, Miriam
    ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2010, 3 (03)