Размножение переменных
На процессорах с конвейерной архитектурой удаление "лишних" копий порождает ложную зависимость по данным, приводящую к падению производительности и переменные приходится не только "сворачивать", но и размножать!
Вот например:
a = x + y;
b
= a + 1; // b
зависит от a
a = i - j;
c
= a – 1; // с зависит от a… точнее от ее второй "копии"