4 (x + a) + b where (kind(a) == opIntConst) && (kind(b) == opIntConst) becomes x + (a + b)
5 (x - a) + b where (kind(a) == opIntConst) && (kind(b) == opIntConst) becomes x + ((-a) + b)
6 (x * k) - x becomes x * (k-1)
7 x + (x * k) becomes x * (k+1)
8 a + (a*n) where kind(n) == opIntConst becomes a*(n+1)
9 (a*n)*m where (kind(n) == opIntConst) && (kind(m) == opIntConst) becomes a*(n*m)