remove one temporary register ; a little generalization