Before revision:  Solving this task often requires complex program and memory layout transformations .
After revision:  Solving this task often requires joint program and data layouttransformations .