extended, if the difference between the infinitely precise intermediate result and the round-
to-nearest result is calculated, the relative difference is 2-" (the value of the guard bit). This
error is equal to one-half of the value of the least significant bit and is the worst-case error
that can be introduced when using the round-to-nearest mode. Thus, the term one-half
unit in the last place correctly identifies the error bound for this operation. This error
specification is the relative error present in the result; the absolute error bound is equal
to
2 exp°nent X
2- ~. An example of the error bound for the other rounding modes is as
follows:
Mantissa 1 g r s
Intermediate Result:x.x ...... x00
Round-to-Zero Result:x.x ...... x00
1 1 1
In this case, the difference between the infinitely precise result and the rounded result is
the error bound for this operation is not more than one unit in the last place. For all of the
the error bound for this operation is not more than one unit in the last place. For all of the
arithmetic operations, these error bounds are met by the FPCP, thus providing accurate
and repeatable results.
4.3.2 Transcendental Instructions
The IEEE specification does not define the error bound to which transcendental (except
square root) functions are to be performed. In this context, the transcendental functions
are all of those operations not mentioned in the previous paragraphs (i.e., the trigonometric,
hyperbolic, Iogarithmic~ and exponential instructions). Due to the highly recursive nature
of the algorithms used to calculate these functions, the round-off error in the input operands
to a function, combined with the limited precision of the FPCP ALU, do not allow the
calculation of a result with the same error limit as the arithmetic functions. However, these
operations are quite accurate given the constraint of using an ALU with a finite precision
of 67 bits. In general, the worst-case accuracy of any transcendental function is one unit
in the last place of double precision (which is equal to 4096 units in the last place of
extended precision). The typical error bound for these instructions is approximately 64
units in the last place of extended precision. The following example illustrates the signif-
icance of this error bound:
Correct Result:
FPCP Calculated Result:
Mantissa
x.x ...... xO0000000
x.x ...... x01000000
In this case, the relative difference between the correct result and the result calculated by
the FPCP is 2-" (assuming an extended precision result), which is 26 times the value of the
least significant bit. This difference corresponds to an error of 64 units in the last place.
Note that the transcendental functions perform limited checking for special case input
values such as boundary conditions. For example, the exponential functions check for a
zero input value, but do not check for exact integer values. Thus, raising a number to an
exact integer value may not produce an exact result (e.g., the instruction FTENTOX #1,FP0
does not produce an extended precision value of exactly 10.0), and the INEX2 bit in the
FPSR may be set even if an exact result is produced.
MC68881/MC68882 USER'S MANUAL
FREESCALE
4-7