Formally verified 32- and 64-bit integer division using double-precision floating-point arithmetic

07/18/2022
by   David Monniaux, et al.
0

Some recent processors are not equipped with an integer division unit. Compilers then implement division by a call to a special function supplied by the processor designers, which implements division by a loop producing one bit of quotient per iteration. This hinders compiler optimizations and results in non-constant time computation, which is a problem in some applications. We advocate instead using the processor's floating-point unit, and propose code that the compiler can easily interleave with other computations. We fully proved the correctness of our algorithm, which mixes floating-point and fixed-bitwidth integer computations, using the Coq proof assistant and successfully integrated it into the CompCert formally verified compiler.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/29/2017

A floating point division unit based on Taylor-Series expansion algorithm and Iterative Logarithmic Multiplier

Floating point division, even though being an infrequent operation in th...
research
02/06/2022

Alpha Blending with No Division Operations

Highly accurate alpha blending can be performed entirely with integer op...
research
11/14/2018

Multi-level analysis of compiler induced variability and performance tradeoffs

Floating-point arithmetic is the computational foundation of numerical s...
research
04/14/2023

A Numerical-based Parametric Error Analysis Method for Goldschmidt Floating Point Division

This paper proposes a parametric error analysis method for Goldschmidt f...
research
02/17/2018

High Speed SRT Divider for Intelligent Embedded System

Increasing development in embedded systems, VLSI and processor design ha...
research
12/22/2020

Integer Division by Constants: Optimal Bounds

The integer division of a numerator n by a divisor d gives a quotient q ...
research
09/23/2019

Implementation of Goldschmidt's Algorithm with hardware reduction

Division algorithms have been developed to reduce latency and to improve...

Please sign up or login with your details

Forgot password? Click here to reset