Added commutative optimization variants.