Удаление избыточных проверок
Небрежное кодирование часто приводит к появлению избыточных или даже заведомо ложных проверок, полностью или частично дублирующих друг друга, например: "if(a > 9) … if (a > 6)…". Очевидно, что вторая проверка лишняя и icl благополучно ее удаляет. Остальные рассматриваемые компиляторы такой способностью не обладают, послушно генерируя тупой код.
if (n > 10) a++; else return 0;
if (n > 5) a++; else return 0; // избыточная
проверка
if (n < 2) a++; else return 0; // заведомо ложна проверка