Сокращение количества сравнений
Процессоры семейства x86 (как и многие другие) обладают одну очень интересной концепцией, которой нет ни в одном языке высокого уровня. Операции вида if(a>b) выполняются в два этапа. Сначала из числа a вычитается число b и состояние вычислительного устройства сохраняется в регистре флагов. Различные комбинации флагов соответствуют различным отношениям чисел и за каждый из них отвечает "свой" условный переход. Например:
cmp eax,ebx // сравниваем eax с ebx, запоминая результат во флагах
jl lab_1 // переход, если eax < ebx
jg lab_2 // переход, если eax > ebx
lab_3: // раз мы здесь, eax
== ebx