У меня для ВСЕХ этих случаев (в последнем ошибка - break нельзя применять для этого, надо if (--i != 0) goto ) идентично соптимизировало в counter=initial_i_value; телом цикла являлся тот самый counter++;
E-mail: info@telesys.ru