Попробуйте в симуляторе как компилятор обрабатывает if. А также посмотрите сравнения в if, например у меня gcc по разному компилит условия (a==b) и (a-b==0)... и то подобное...
Мне это позволило впихнуть свой проект, когда он "торчал" на 5% обьема флеши....