> of about 25 bits [...]
> Why? Because the multiplier insists on rounding
> its low output bits rather than giving them back to the programmer.
> Why? Because the multiplier is buried inside the floating-point unit.
The reference to the 25-bit success makes it seem like the author is thinking of bits 53-105 of the 106-bit result of multiplying two 53-bit inputs.
The multiplier is not going to “give them back” to the programmer because it never computed them in the first place. Floating-point 53x53->53 multiplication is implemented with a couple of guard bits, the last of which is “sticky”. The multiplier the author is asking for is not “buried”, it does not exist in the processor.
I am not sure why integer multiplication is not preferred. It goes up to 64x64->128, if the author wants all the bits of the product.
> A 53-bit multiplier producing a full 106-bit product won't be much larger than a 53-bit multiplier producing a correctly rounded 53-bit floating-point result.
Yes, it will. It will have to be 106-bit wide instead of 56-bit wide.