Fusion multiplication and addition is to complete the operation of a+b×c first, then get the final complete result, and then trim it to n bits. This operation can improve the accuracy of the operation result and improve the efficiency and speed of the operation because it reduces the number of numerical rounding.
In floating-point operations:
When using integers, the operation is usually accurate (calculated by the power of 2). But floating-point numbers have only a certain mathematical precision. That is, digital floating-point operations are usually not associative or distributed.
(See floating point # precision problem. Therefore, whether you use two rounds for multiplication and addition, or use a single round (combining multiplication and addition) for one operation, the results will be different. IEEE 754-2008 stipulates that rounding must be done once to obtain more accurate results.
Product and addition operation: the operation of merging multiplication and addition operation is basically the same as that of accumulation and addition, and the operation of floating point number is also completed by one instruction. But the difference is that when dealing with floating-point numbers, the product of b×c will be completed first, and the result will be rounded to n bits, then the rounded result will be added to the value of register A, and then the result will be rounded to n bits.