Added left recurse elimination