This short paper describes a simple scaling method that can be employed with the standard Horner algorithm for polynomial evaluation to greatly increase the range of numbers that can be used as arguments without encountering nonrepresentable intermediate results. This change is designed to prevent overflow, but it also reduces the probability of underflow. It has no effect on the accuracy of the computed result except when it prevents underflow, in which case it should improve the final accuracy. The paper contains a complete algorithm description and an example. A FORTRAN implementation is available.
This paper is aimed at specialists in numerical algorithm design. It adds to the storehouse of available robust computational algorithms. The algorithm is much more expensive than the conventional method, so it should only be used when overflow is expected to be a problem. It should be especially useful on machines with small exponent ranges.