Numerical Computing with IEEE Floating Point Arithmetic

Suppose we wish to solve some problem using numerical computing. Roughly speaking, the conditioning of the problem measures how accurately one can expect to be able to solve it using a given floating point precision, independently of the algorithm used. We confine our discussion to the problem of evaluating a real function of a real variable,
assuming that f is twice continuously differentiable and that x and f( x) are in the normalized range of the floating point precision. Define
Evaluating the function f on the computer using floating point arithmetic, the best we can hope for is to compute the value
In fact, even this is an unreasonable hope because we will not be able to evaluate f exactly, but for simplicity, let us suppose for now that we can. Now, we know from (5.10) in Chapter 5 that the relative rounding error satisfies the bound
where ? is machine epsilon (with an additional factor of 1/2 if the rounding mode is round to nearest). It follows that
As noted in Chapter 5, the left-hand side of this inequality estimates the number of decimal digits to which
agrees with x at least about seven digits in the case of IEEE single precision. The question we now ask is: To how many digits can we expect ?y to agree with y? To find out, we must look at the quantity
We have
The first factor,
approximates