optimize() function



Hi,

I use maxima to find formulas I want to use in software development.
It is pretty common, that I can bring my formulas to sums of products
of serveral variables. To keep calculation time at a minimum I want to
minimize the actual count of operations. I found that the optimize()
function attempts to do what I want. But it is not very successful
i.e. an expression like a*b*c+b*c*d, that contains the product b*c
twice can not be optimized. Is there a way to do this with maxima? If
not (sorry for being off-topic), does somebody know of a (free) CAS
that can do this?

Bastian Pranzas