Floating-Point Computational Accuracy
MCF548x Reference Manual, Rev. 3

Freescale Semiconductor 6-13

Figure 6-12. Rounding Algorithm Flowchart

The 3 additional bits beyond the double-precision format, the difference between the intermediate result’s

56-bit mantissa and the storing result’s 53-bit mantissa, allow the FPU to perform all calculations as

though it were performing calculations using a compute engine with infinite bit precision. The result is

always correct for the specified destination’s data format before rounding (unless an overflow or

underflow error occurs). The specified rounding produces a number as close as possible to the infinitely

precise intermediate value and still representable in the selected precision. The tie case in Table 6-6 shows

how the 56-bit mantissa allows the FPU to meet the error bound of the IEEE specification.

INEX 1
Select Rounding Mode
Guard, Round
and Sticky Bits = 0
Exact Result
G,R, and S
are chopped
RZ
Check Intermediate Result
RPRMRN
NegPos
NegPos
Add 1 to
lsb
G and lsb = 1,
R and S = 0
or
G = 1,
R or S = 1
Shift mantissa
right 1 bit,
Add 1 to exponent
Overflow = 1
Guard 0
Round 0
Sticky 0
Exit Exit
Entry
NY
G, R,
or S = 1
Add 1 to lsb
G, R,
or S = 1
YN