L'espressione x * y è "invariante rispetto al ciclo" (loop-invariant) 
poiché né x né y cambiano valore all'interno delle iterazioni. 
L'ottimizzazione di Loop-Invariant Code Motion consiste nello spostare 
(hoisting) il calcolo di tali sottoespressioni fuori dal ciclo, eseguendolo 
una sola volta ed evitando così di ripetere inutilmente N-1 moltiplicazioni 
ridondanti.
