This seems to be a flawed approach. Comparing the result to sub/div is not computing the error in the fused-mac. It is calculating the difference between one rounding operation and two.
To do this correctly requires:
* performing the calculation with a higher degree of accuracy (and precision).
* comparing the two approaches against the reference results.
To do this you should look into either writing a simulation of ieee with a larger mantissa or using an arbitrary precision library.