[20/15/20/15/20/15]Iterative square root.
a. [20]Use Newton’s method to derive an iterative algorithm for square
root. The formula will involve a division.
b. [15]What is the fastest way you can think of to divide a floating-point
number by 2?
c. [20]If division is slow, then the iterative square root routine will also be
slow. Use Newton’s method on f(x)¼1/x2_a to derive a method that doesn’t
use any divisions.
d. [15]Assume that the ratio division by 2 : floating-point add : floatingpoint
multiply is 1:2:4. What ratios of multiplication time to divide time makes
each iteration step in the method of part (c) faster than each iteration in the
method of part (a)?
e. [20]When using the method of part (a), how many bits need to be in the
initial guess in order to get double-precision accuracy after three iterations?
(You may ignore rounding error.)
f. [15]Suppose that when spice runs on the TI 8847, it spends 16.7% of its
time in the square root routine (this percentage has been measured on other
machines). Using the values in Figure J.36 and assuming three iterations,
how much slower would spice run if square root were implemented in software using the method of part(a)?