Proving Correctness of Compilers Using Structured Graphs ( Extended Version )