took out common subexpression elimination