optimizing out redundant terms, esp. multiplications