Для значений с плавающей запятой гарантируется, что a + b == b + a
?
Я считаю, что это гарантировано в IEEE754, однако стандарт С++ не указывает, что IEEE754 должен использоваться. Единственный соответствующий текст, по-видимому, относится к [expr.add] # 3:
Результатом двоичного + оператора является сумма операндов.
Математическая операция "сумма" коммутативна. Однако математическая операция "сумма" также ассоциативна, а сложение с плавающей запятой определенно не ассоциативно. Итак, мне кажется, что мы не можем заключить, что коммутативность "суммы" в математике означает, что эта цитата указывает коммутативность в С++.