Optimal Interprocedural Code Motion: The Transformations