// Reference : Richard Fateman, update on fast mult benchmark ( http://groups.google.com/group/sci.math.symbolic/browse_thread/thread/63d2a000ac527be4/ )

import jscl.math.Variable;
import jscl.math.polynomial.Polynomial;
static import jscl.math.Predef.*;

x = variable("x");
y = variable("y");
z = variable("z");

p=Polynomial.factory(new Variable[] {x.variableValue(),y.variableValue(),z.variableValue()}).valueof(integer("1").add(x).add(y).add(z)).pow(20);
t=System.currentTimeMillis();
p=p.multiply(p);
t=System.currentTimeMillis()-t;
print(t);