Cette transformation met à jour à chaque lecture de qi tous les autres qk avec la dernière valeur lue. L'effet est de recourcir les durées de vie des temporaores qi: la lecture de qi ne dépend plus de la dernière écriture de t, mais de la dernière lecture ou écriture de t.

Dans l'exemple précédent, on obtient avant allocation de registres (à droite après élimination des
move inutiles):
    1:      add  p1, $a0, 1                    add  p1, $a0, 1  
    
2:      mmv  q1 q2, p1                     mmv  q1, p1   
    
3:      jal  foo                           jal  foo         
    
4:      mmv  q2 r1, q1                     mmv  q2 r1, q1  
    
5:      add  $v0, r1, $v0                  add  $v0, r1, $v0
    
6:      mmv  q1 r2, q2                     mmv  r2, q2  
    
7:      add  $v0, r2, $v0                  add  $v0, r2, $v0
    
Ainsi, il n'y a plus besoin de placer q2 en pile car sa durée de vie ne contient plus l'appel à foo. En appliquant le coloriage sur la partie droite, on retrouve le code obtenu manuellement ci-dessus.