Fused multiply-add

CommonPoint platforms based on the PowerPC support operations of the form a*x + b with just one rounding. Conceptually, this is no different from the other examples of this chapter, though the implementation may be complicated. As in the case of dividing 1 by 3, computing a*x + b with just one rounding entails computing enough significant bits of the mathematical value to guarantee correct rounding. The fused multiply-add is invisible in C++, though it is used to advantage in certain finely tuned library functions.

NOTE The availability of fused multiply-add complicates the analysis of some computations. An expression like a*x + b*y with double values can yield three different results depending on whether fused multiply-add is used for the first product, the second, or neither. Which of the three results is most accurate depends on the four values; it's easy to find ordinary arguments making any one of the three possibilities the most accurate.


[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker