Three multiplicative algorithms for the floating- point divideoperation are compared: the Newton-Raphson method, Goldschmidt'salgorithm, and a naive method that sim- ply calculates a form of theTaylor series expansion of a reciprocal. The series also provides atheoretical basis for Goldschmidt's al- gorithm. It is well knownthat, of the Newton-Raphson method and Goldschmidt's algorithm, theformer is the more accurate while the latter is the faster on apipelined unit. However, little is reported about the naive method.In this report, we analyze the speed and accuracy of each method andpresent the results of numerical tests, which we conducted to confirmthe validity of the accuracy analysis. Basically, the comparison aremade in the context of software implementation (e.g., a macrolibrary) and compliance with the IEEE Standard 754 rounding is notconsid- ered. It is shown that the naive method is useful in arealistic setting where the number of iterations is small and themethod is implemented on a pipelined floating-point unit with amultiply- accumulate configuration. In such a situation, the naivemethod gives a more accurate result with a slightly lower latency, ascom- pared with Goldschmidt's algorithm, and is much faster than butslightly inferior in accuracy to the Newton-Raphson method.
展开▼