LINUX.ORG.RU

История изменений

Исправление soomrack, (текущая версия) :

Вывод не меняется, то я для -O3 не вижу вычислений в ассемблерном коде, видимо все заранее посчитано на этапе компиляции.

Теоретически, тут +0.0 не гарантируется, может быть и -0.0. Надо взять пример, где вычисления для -0.0 компилятор не сделает на этапе компиляции.

PS:

видимо для float оптимизации нету, и ноль прибавляется, в целом это может быть даже логично, если есть несколько нулей по стандарту…

для int прибавление нуля компилятор выкидывает:

https://godbolt.org/z/b9E1TnY16

Исходная версия soomrack, :

Вывод не меняется, то я для -O3 не вижу вычислений в ассемблерном коде, видимо все заранее посчитано на этапе компиляции.

Теоретически, тут +0.0 не гарантируется, может быть и -0.0. Надо взять пример, где вычисления для -0.0 компилятор не сделает на этапе компиляции.