arXiv · 2012.12369
Integer Division by Constants: Optimal Bounds
Abstract
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.
Explore related subjects
Keep this discovery
Daniel Lemire, Colin Bartlett, Owen Kaser. 2020-12-22. Integer Division by Constants: Optimal Bounds. https://doi.org/10.1016/j.heliyon.2021.e07442
Cite the original work for its findings. Save a collection to share your selection of sources.