> (%i1) declare(f, multiplicative); > (%i2) declare(f, additive); > (%i5) f(a*b +c); > (%o5) f(c) + f(a b) This is a bug which should be fixed in the next release. In the meantime, you can do expand( ... , 0, 0) which resimplifies the expression without expanding it.