add more algebraic optimizations