Предполагая, что строгий IEEE 754 (без избыточной точности) и от округленного до ближайшего четного режима, 3*x+x
всегда == 4*x
(и, следовательно, точный при отсутствии переполнения) и почему?
Я не смог продемонстрировать встречный пример, поэтому я подробно рассказал о каждом возможном шаблоне хвоста abc
и закруглении, но я чувствую, что мог пропустить случай, а также пропустил более простую демонстрацию...
У меня также есть интуиция, что это можно было бы расширить до (2^n-1) x + x == 2^n x
, и тестирование каждой комбинации конечных битов в этом случае не является опцией.
Мы должны иметь (2^n - 1) x == 2^n x - x
по свойству IEEE 754, если n <= 54, но y-x+x == y
обычно не истинно...