bool, будучи созданным для ветвления, генерирует как раз таки больше ASM инструкций в if'ах, что вместе с циклом немножко портит производительность. Если бы мы писали олимпиадную задачу, где в апреле не 30 дней, а 1e6, например, то разница была бы уже более ощутима.Ещё есть вариант ставить в параметры -O3, что, похоже, Вы и делаете, раз так любите bool'ы в циклы пихать.