elimination of common sub expressions