Heliyon (Jun 2021)

Integer division by constants: optimal bounds

  • Daniel Lemire,
  • Colin Bartlett,
  • Owen Kaser

Journal volume & issue
Vol. 7, no. 6
p. e07442

Abstract

Read online

The integer division of a numerator n by a divisor d gives a quotient q and a remainder r. Optimizing compilers accelerate software by replacing the division of n by d with the division of c⁎n (or c⁎n+c) by m for convenient integers c and m chosen so that they approximate the reciprocal: c/m≈1/d. Such techniques are especially advantageous when m is chosen to be a power of two and when d is a constant so that c and m can be precomputed. The literature contains many bounds on the distance between c/m and the divisor d. Some of these bounds are optimally tight, while others are not. We present optimally tight bounds for quotient and remainder computations.

Keywords