Dear Alexei, Alexei Sheplyakov wrote:
[on a Pentium 4 3GHz box] $ g++ -O2 -march=pentium4 -finline-limit=1200 thepoly_another.cpp -o thepoly_another -lginac $ time ./thepoly_another >/dev/null 2>&1
real 0m7.846s user 0m7.836s sys 0m0.008s
With unpatched GiNaC it takes way to long (after several days of calculation I get bored and killed the process).
As a challenge, could you please have a look at the Lewis-Wester benchmarks M2, N, and O2 in files check/time_lw_M2.cpp, check/time_lw_N.cpp, and check/time_lw_M2.cpp, respectively? They all contain a boolean variable which is used to turn disable these tests. And they are all about GCDs. Some of them have never ever run to completion. BTW: May we assume that your little patch makes the GCD also much more memory effective? Regards -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>