




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
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.
 Click the icon to mail questions or corrections about this material to Taligent personnel.
Click the icon to mail questions or corrections about this material to Taligent personnel.