moved common subexpression optimization more to front in the optimize-runs so that common subexpression
dont get distorted by optimizing rules