(a - b) + b 的最坏情况错误是什么?

What is the worst case error for (a - b) + b?

在使用 IEEE 754 浮点数 a 和 b 进行评估时,就 (a - b) + b 之和的 a 和 b 的大小而言,最坏情况下的误差是多少?我期望它有多接近 a?

100%。 b 可能太大以至于 a-b 产生 -b,然后 (a-b)+b 产生零。

例如,对于 IEEE-754 基本 64 位二进制,(1−254)+254 产生 0,与四舍五入到最近的联系。我们也可以在另一个方向上有 100%。如果 a 为 1 且 b 为 253+2,则 (a-b)+b 产生 2.

另外,如果 b 是无穷大,(a-b)+b 产生一个 NaN。