Удаление лишних условий
Упрощение логических условий чем-то сродни алгебраическим упрощения. Рассмотрим следующий пример:
if (a>0 && a<0x666 && a!=0) …
Очевидно, что проверка (a!=0) лишняя – т.к. если 'a' больше нуля, оно заведомо не равно нулю! Компилятор Microsoft Visual C++ умеет распознавать такие ситуации, избавляясь от избыточных проверок, а вот Borland C++ и WATCOM на это не способны.