16.4 GUARD DIGITS

Consider the exact result r of an operation, before normalization. According to (16.7), (16.13), (16.15), (16.19), (16.24) and (16.25),

image

The normalization operation (if necessary) is accomplished by

dividing the result by B (sum of positive numbers, multiplication),

multiplying the result by B (division, square root),

multiplying the result by Bk (difference of positive numbers).

Furthermore, if the operation is a difference of positive numbers (Algorithm 16.2), consider two cases:

  • if e1e2 ≥ 2, then r = s1s2/(Be1−e2) > 1 − B/B2 = 1 − 1/B ≥ 1/B (as B ≥ 2), so that the number k of leading zeroes is equal to 0 or 1, and the normalization operation (if necessary, i.e., k = 1) is accomplished by multiplying the result by B;
  • if e1e2 ≤ 1, then the result before normalization is either

image

or

image

A consequence of the preceding analysis is that the result after normalization can be either

image

or

image

or

or

For executing a rounding operation, the worst case is (16.28). In particular, ...

Get Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.