Я прочитал wiki-страницу о heisenbug, но не понимаю этот пример. Может ли кто-нибудь объяснить это подробно?
Одним из распространенных примеров heisenbug является ошибка, возникающая при компиляции программы с оптимизирующим компилятором, но не тогда, когда одна и та же программа скомпилирована без оптимизации (как это часто делается с целью изучения ее с помощью отладчика). Во время отладки значения, которые оптимизированная программа обычно хранит в регистрах, часто переносятся в основную память. Это может повлиять, например, на результат сравнений с плавающей точкой, поскольку значение в памяти может иметь меньший диапазон и точность, чем значение в регистре.