Function Transformations

These transformations modify the function interface by splitting functions into multiple pieces, merging unrelated functions, inlining function calls, etc.