The reciprocal, square root, inverse square root, logarithm, and exponential functions are used often in digital signal processing and many other applications. There are many known methods for computing these functions, examples of which include Newton-Raphson and argument reduction with Taylor Series expansion. The Newton-Raphson method entails obtaining an initial approximation of the function, such as with a look-up table, and performing a number of recurrence iterations. For example, the Newton-Raphson recurrence iteration for the reciprocal of x is:z(n+1)=z(n)*(2−x*z(n))where z(n) is the computed reciprocal of x in the nth iteration.
Computing the reciprocal function using the Newton-Raphson method generally requires two multipliers and one adder per iteration. The rate of convergence is quadratic, which means the precision of the result of each iteration is twice as many bits as the precision of the starting point. The size of the multipliers and adders needed for each iteration increases proportionally with each iteration. The Newton-Raphson method also requires an initial approximation of the reciprocal function. The accuracy of the initial approximation is important for rapid convergence in the minimum number of iterations. One approach for obtaining an initial approximation is described by Ito et al. in “Efficient Initial Approximation for Multiplicative Division and Square Root by a Multiplication with Operand Modification” (IEEE Transactions on Computers, vol. 46, No. 4, April 1997).
Ercegovac et al., in “Reciprocation, Square Root, Inverse Square Root, and Some Elementary Functions Using Small Multipliers (IEEE Transactions on Computers, vol. 49, No. 7, July 2000), describe a method based on argument reduction and series expansion. The method allows fast evaluation of various functions at single and double precision.