Это, просто, проблема «многие к одному». Например, в C:
b++;
и
b+=1;
и
b = b + 1;
все могут быть скомпилированы с одним и тем же набором операций после завершения работы компилятора и оптимизатора Он переупорядочивает вещи, сбрасывает неэффективные операции и переписывает целые разделы кода. К тому времени, когда это будет сделано, он уже не знает, что вы написали, просто довольно хорошо представляет, что вы намеревались сделать на уровне необработанного ЦП (или vCPU).
Он даже достаточно умен, чтобы удалить ненужные переменные:
{
a=5;
b=func();
c=a+b;
d=func2(c);
}
## gets rewritten as:
REGISTERA=func()
REGISTERA+=5
return(func2(REGISTERA))