From: "Dr. Yang-Hui He" <yang-hui.he@merton.ox.ac.uk>
Date: March 25, 2008 8:07:35 AM EDT
To: Michael Stillman <mike@math.cornell.edu>
Subject: Re: ps.. reimbursements

Thanks Mike!

Sounds good!

Yes I have plenty other examples.  From the same family of physical problems here's another (from super-QCD (5,4) ).
see attached input files.

inmod.m2  (M2)
Sing (singular)




Michael Stillman wrote:
Dear Yang,

We can give you (and plan on doing so) a small per diem, at $30 per day most days (perhaps less for the day of the conference dinner).  Generally travel days are not included, although if you are paying part of your ticket, I'll try to give you more :)

Yes, I've run the example.  Interestingly, it spends approximately 50% of its time determining whether spairs are not required, and there are a couple of other inefficiencies that I might be able to improve too. I had trouble initially with Singular, as this example caused it to crash.  But that was the sage version of Singular, on a mac.  Running the fink version of Singular, I got a real answer, and sure enough, it is faster, (33 sec vs 56 sec, both over QQ, using 8 bits per exponent).

(Also,  time gb(J, Algorithm=>Homogeneous2, Strategy=>LongPolynomial);
uses 49 seconds, where J is your ideal, in char 0, 44.5 sec in char 101)

This is a good example, different than most other benchmark programs I've tried.  If you have any others, send them this way!

I'll be spending some time seeing if I can improve the algorithm and code for GB's.  Hopefully, I can!

Best,

Mike



On Mar 24, 2008, at 2:32 PM, Dr. Yang-Hui He wrote:

Dear Mike,

Did you get a chance to run the comparative times of M2/Singular?

A quick question about re-imbursements. I am thinking of
letting my grant cover the London -> US flight (which is with British Airways)
and maybe you guys can cover the US flights (Philly -> Ithaca)? What about per diems?

cheers!

Yang


LIB "sing.lib" ;
LIB "primdec.lib" ;
ring S = 0,(X_1, X_2, X_3, X_4, X_5, X_6, X_7, X_8, X_9, X_10, X_11, X_12, X_13, X_14, X_15, X_16, X_17, X_18, X_19, X_20, X_21, X_22, X_23, X_24, X_25, X_26, X_27, X_28, X_29, X_30, X_31, X_32, X_33, X_34, X_35, X_36, X_37, X_38, X_39, X_40),dp; ideal dterms = X_2*X_8*X_11*X_13 - X_2*X_7*X_12*X_13 - X_1*X_8*X_11*X_14 + X_1*X_7*X_12*X_14 - X_2*X_8*X_9*X_15 + X_1*X_8*X_10*X_15 + X_2*X_5*X_12*X_15 - X_1*X_6*X_12*X_15 + X_4*(X_7*(X_10*X_13 - X_9*X_14) + X_6*(-(X_11*X_13) + X_9*X_15) + X_5*(X_11*X_14 - X_10*X_15)) + X_2*X_7*X_9*X_16 - X_1*X_7*X_10*X_16 - X_2*X_5*X_11*X_16 + X_1*X_6*X_11*X_16 + X_3*(X_8*(-(X_10*X_13) + X_9*X_14) + X_6*(X_12*X_13 - X_9*X_16) + X_5*(-(X_12*X_14) + X_10*X_16)), X_2*X_8*X_11*X_17 - X_2*X_7*X_12*X_17 - X_1*X_8*X_11*X_18 + X_1*X_7*X_12*X_18 - X_2*X_8*X_9*X_19 + X_1*X_8*X_10*X_19 + X_2*X_5*X_12*X_19 - X_1*X_6*X_12*X_19 + X_4*(X_7*(X_10*X_17 - X_9*X_18) + X_6*(-(X_11*X_17) + X_9*X_19) + X_5*(X_11*X_18 - X_10*X_19)) + X_2*X_7*X_9*X_20 - X_1*X_7*X_10*X_20 - X_2*X_5*X_11*X_20 + X_1*X_6*X_11*X_20 + X_3*(X_8*(-(X_10*X_17) + X_9*X_18) + X_6*(X_12*X_17 - X_9*X_20) + X_5*(-(X_12*X_18) + X_10*X_20)), X_2*X_8*X_15*X_17 - X_2*X_7*X_16*X_17 - X_1*X_8*X_15*X_18 + X_1*X_7*X_16*X_18 - X_2*X_8*X_13*X_19 + X_1*X_8*X_14*X_19 + X_2*X_5*X_16*X_19 - X_1*X_6*X_16*X_19 + X_4*(X_7*(X_14*X_17 - X_13*X_18) + X_6*(-(X_15*X_17) + X_13*X_19) + X_5*(X_15*X_18 - X_14*X_19)) + X_2*X_7*X_13*X_20 - X_1*X_7*X_14*X_20 - X_2*X_5*X_15*X_20 + X_1*X_6*X_15*X_20 + X_3*(X_8*(-(X_14*X_17) + X_13*X_18) + X_6*(X_16*X_17 - X_13*X_20) + X_5*(-(X_16*X_18) + X_14*X_20)), X_2*X_12*X_15*X_17 - X_2*X_11*X_16*X_17 - X_1*X_12*X_15*X_18 + X_1*X_11*X_16*X_18 - X_2*X_12*X_13*X_19 + X_1*X_12*X_14*X_19 + X_2*X_9*X_16*X_19 - X_1*X_10*X_16*X_19 + X_4*(X_11*(X_14*X_17 - X_13*X_18) + X_10*(-(X_15*X_17) + X_13*X_19) + X_9*(X_15*X_18 - X_14*X_19)) + X_2*X_11*X_13*X_20 - X_1*X_11*X_14*X_20 - X_2*X_9*X_15*X_20 + X_1*X_10*X_15*X_20 + X_3*(X_12*(-(X_14*X_17) + X_13*X_18) + X_10*(X_16*X_17 - X_13*X_20) + X_9*(-(X_16*X_18) + X_14*X_20)), X_6*X_12*X_15*X_17 - X_6*X_11*X_16*X_17 - X_5*X_12*X_15*X_18 + X_5*X_11*X_16*X_18 - X_6*X_12*X_13*X_19 + X_5*X_12*X_14*X_19 + X_6*X_9*X_16*X_19 - X_5*X_10*X_16*X_19 + X_8*(X_11*(X_14*X_17 - X_13*X_18) + X_10*(-(X_15*X_17) + X_13*X_19) + X_9*(X_15*X_18 - X_14*X_19)) + X_6*X_11*X_13*X_20 - X_5*X_11*X_14*X_20 - X_6*X_9*X_15*X_20 + X_5*X_10*X_15*X_20 + X_7*(X_12*(-(X_14*X_17) + X_13*X_18) + X_10*(X_16*X_17 - X_13*X_20) + X_9*(-(X_16*X_18) + X_14*X_20)), X_1*X_21 + X_2*X_22 + X_3*X_23 + X_4*X_24, X_5*X_21 + X_6*X_22 + X_7*X_23 + X_8*X_24, X_9*X_21 + X_10*X_22 + X_11*X_23 + X_12*X_24, X_13*X_21 + X_14*X_22 + X_15*X_23 + X_16*X_24, X_17*X_21 + X_18*X_22 + X_19*X_23 + X_20*X_24, X_1*X_25 + X_2*X_26 + X_3*X_27 + X_4*X_28, X_5*X_25 + X_6*X_26 + X_7*X_27 + X_8*X_28, X_9*X_25 + X_10*X_26 + X_11*X_27 + X_12*X_28, X_13*X_25 + X_14*X_26 + X_15*X_27 + X_16*X_28, X_17*X_25 + X_18*X_26 + X_19*X_27 + X_20*X_28, X_1*X_29 + X_2*X_30 + X_3*X_31 + X_4*X_32, X_5*X_29 + X_6*X_30 + X_7*X_31 + X_8*X_32, X_9*X_29 + X_10*X_30 + X_11*X_31 + X_12*X_32, X_13*X_29 + X_14*X_30 + X_15*X_31 + X_16*X_32, X_17*X_29 + X_18*X_30 + X_19*X_31 + X_20*X_32, X_1*X_33 + X_2*X_34 + X_3*X_35 + X_4*X_36, X_5*X_33 + X_6*X_34 + X_7*X_35 + X_8*X_36, X_9*X_33 + X_10*X_34 + X_11*X_35 + X_12*X_36, X_13*X_33 + X_14*X_34 + X_15*X_35 + X_16*X_36, X_17*X_33 + X_18*X_34 + X_19*X_35 + X_20*X_36, X_22*X_28*X_31*X_33 - X_22*X_27*X_32*X_33 - X_21*X_28*X_31*X_34 + X_21*X_27*X_32*X_34 - X_22*X_28*X_29*X_35 + X_21*X_28*X_30*X_35 + X_22*X_25*X_32*X_35 - X_21*X_26*X_32*X_35 + X_24*(X_27*(X_30*X_33 - X_29*X_34) + X_26*(-(X_31*X_33) + X_29*X_35) + X_25*(X_31*X_34 - X_30*X_35)) + X_22*X_27*X_29*X_36 - X_21*X_27*X_30*X_36 - X_22*X_25*X_31*X_36 + X_21*X_26*X_31*X_36 + X_23*(X_28*(-(X_30*X_33) + X_29*X_34) + X_26*(X_32*X_33 - X_29*X_36) + X_25*(-(X_32*X_34) + X_30*X_36)), X_1*X_37 + X_2*X_38 + X_3*X_39 + X_4*X_40, X_5*X_37 + X_6*X_38 + X_7*X_39 + X_8*X_40, X_9*X_37 + X_10*X_38 + X_11*X_39 + X_12*X_40, X_13*X_37 + X_14*X_38 + X_15*X_39 + X_16*X_40, X_17*X_37 + X_18*X_38 + X_19*X_39 + X_20*X_40, X_22*X_28*X_31*X_37 - X_22*X_27*X_32*X_37 - X_21*X_28*X_31*X_38 + X_21*X_27*X_32*X_38 - X_22*X_28*X_29*X_39 + X_21*X_28*X_30*X_39 + X_22*X_25*X_32*X_39 - X_21*X_26*X_32*X_39 + X_24*(X_27*(X_30*X_37 - X_29*X_38) + X_26*(-(X_31*X_37) + X_29*X_39) + X_25*(X_31*X_38 - X_30*X_39)) + X_22*X_27*X_29*X_40 - X_21*X_27*X_30*X_40 - X_22*X_25*X_31*X_40 + X_21*X_26*X_31*X_40 + X_23*(X_28*(-(X_30*X_37) + X_29*X_38) + X_26*(X_32*X_37 - X_29*X_40) + X_25*(-(X_32*X_38) + X_30*X_40)), X_22*X_28*X_35*X_37 - X_22*X_27*X_36*X_37 - X_21*X_28*X_35*X_38 + X_21*X_27*X_36*X_38 - X_22*X_28*X_33*X_39 + X_21*X_28*X_34*X_39 + X_22*X_25*X_36*X_39 - X_21*X_26*X_36*X_39 + X_24*(X_27*(X_34*X_37 - X_33*X_38) + X_26*(-(X_35*X_37) + X_33*X_39) + X_25*(X_35*X_38 - X_34*X_39)) + X_22*X_27*X_33*X_40 - X_21*X_27*X_34*X_40 - X_22*X_25*X_35*X_40 + X_21*X_26*X_35*X_40 + X_23*(X_28*(-(X_34*X_37) + X_33*X_38) + X_26*(X_36*X_37 - X_33*X_40) + X_25*(-(X_36*X_38) + X_34*X_40)), X_22*X_32*X_35*X_37 - X_22*X_31*X_36*X_37 - X_21*X_32*X_35*X_38 + X_21*X_31*X_36*X_38 - X_22*X_32*X_33*X_39 + X_21*X_32*X_34*X_39 + X_22*X_29*X_36*X_39 - X_21*X_30*X_36*X_39 + X_24*(X_31*(X_34*X_37 - X_33*X_38) + X_30*(-(X_35*X_37) + X_33*X_39) + X_29*(X_35*X_38 - X_34*X_39)) + X_22*X_31*X_33*X_40 - X_21*X_31*X_34*X_40 - X_22*X_29*X_35*X_40 + X_21*X_30*X_35*X_40 + X_23*(X_32*(-(X_34*X_37) + X_33*X_38) + X_30*(X_36*X_37 - X_33*X_40) + X_29*(-(X_36*X_38) + X_34*X_40)), X_26*X_32*X_35*X_37 - X_26*X_31*X_36*X_37 - X_25*X_32*X_35*X_38 + X_25*X_31*X_36*X_38 - X_26*X_32*X_33*X_39 + X_25*X_32*X_34*X_39 + X_26*X_29*X_36*X_39 - X_25*X_30*X_36*X_39 + X_28*(X_31*(X_34*X_37 - X_33*X_38) + X_30*(-(X_35*X_37) + X_33*X_39) + X_29*(X_35*X_38 - X_34*X_39)) + X_26*X_31*X_33*X_40 - X_25*X_31*X_34*X_40 - X_26*X_29*X_35*X_40 + X_25*X_30*X_35*X_40 + X_27*(X_32*(-(X_34*X_37) + X_33*X_38) + X_30*(X_36*X_37 - X_33*X_40) + X_29*(-(X_36*X_38) + X_34*X_40)); rtimer=1 ;  int t=rtimer; 
groebner(dterms);; 
t=rtimer-t; int tps=system("--ticks-per-sec");
print(t/tps); 
R=ZZ/101[X_{1}..X_{40}];
dterms = {X_{2}*X_{8}*X_{11}*X_{13} - X_{2}*X_{7}*X_{12}*X_{13} - X_{1}*X_{8}*X_{11}*X_{14} + X_{1}*X_{7}*X_{12}*X_{14} - X_{2}*X_{8}*X_{9}*X_{15} + X_{1}*X_{8}*X_{10}*X_{15} + X_{2}*X_{5}*X_{12}*X_{15} - X_{1}*X_{6}*X_{12}*X_{15} + X_{4}*(X_{7}*(X_{10}*X_{13} - X_{9}*X_{14}) + X_{6}*(-(X_{11}*X_{13}) + X_{9}*X_{15}) + X_{5}*(X_{11}*X_{14} - X_{10}*X_{15})) + X_{2}*X_{7}*X_{9}*X_{16} - X_{1}*X_{7}*X_{10}*X_{16} - X_{2}*X_{5}*X_{11}*X_{16} + X_{1}*X_{6}*X_{11}*X_{16} + X_{3}*(X_{8}*(-(X_{10}*X_{13}) + X_{9}*X_{14}) + X_{6}*(X_{12}*X_{13} - X_{9}*X_{16}) + X_{5}*(-(X_{12}*X_{14}) + X_{10}*X_{16})), X_{2}*X_{8}*X_{11}*X_{17} - X_{2}*X_{7}*X_{12}*X_{17} - X_{1}*X_{8}*X_{11}*X_{18} + X_{1}*X_{7}*X_{12}*X_{18} - X_{2}*X_{8}*X_{9}*X_{19} + X_{1}*X_{8}*X_{10}*X_{19} + X_{2}*X_{5}*X_{12}*X_{19} - X_{1}*X_{6}*X_{12}*X_{19} + X_{4}*(X_{7}*(X_{10}*X_{17} - X_{9}*X_{18}) + X_{6}*(-(X_{11}*X_{17}) + X_{9}*X_{19}) + X_{5}*(X_{11}*X_{18} - X_{10}*X_{19})) + X_{2}*X_{7}*X_{9}*X_{20} - X_{1}*X_{7}*X_{10}*X_{20} - X_{2}*X_{5}*X_{11}*X_{20} + X_{1}*X_{6}*X_{11}*X_{20} + X_{3}*(X_{8}*(-(X_{10}*X_{17}) + X_{9}*X_{18}) + X_{6}*(X_{12}*X_{17} - X_{9}*X_{20}) + X_{5}*(-(X_{12}*X_{18}) + X_{10}*X_{20})), X_{2}*X_{8}*X_{15}*X_{17} - X_{2}*X_{7}*X_{16}*X_{17} - X_{1}*X_{8}*X_{15}*X_{18} + X_{1}*X_{7}*X_{16}*X_{18} - X_{2}*X_{8}*X_{13}*X_{19} + X_{1}*X_{8}*X_{14}*X_{19} + X_{2}*X_{5}*X_{16}*X_{19} - X_{1}*X_{6}*X_{16}*X_{19} + X_{4}*(X_{7}*(X_{14}*X_{17} - X_{13}*X_{18}) + X_{6}*(-(X_{15}*X_{17}) + X_{13}*X_{19}) + X_{5}*(X_{15}*X_{18} - X_{14}*X_{19})) + X_{2}*X_{7}*X_{13}*X_{20} - X_{1}*X_{7}*X_{14}*X_{20} - X_{2}*X_{5}*X_{15}*X_{20} + X_{1}*X_{6}*X_{15}*X_{20} + X_{3}*(X_{8}*(-(X_{14}*X_{17}) + X_{13}*X_{18}) + X_{6}*(X_{16}*X_{17} - X_{13}*X_{20}) + X_{5}*(-(X_{16}*X_{18}) + X_{14}*X_{20})), X_{2}*X_{12}*X_{15}*X_{17} - X_{2}*X_{11}*X_{16}*X_{17} - X_{1}*X_{12}*X_{15}*X_{18} + X_{1}*X_{11}*X_{16}*X_{18} - X_{2}*X_{12}*X_{13}*X_{19} + X_{1}*X_{12}*X_{14}*X_{19} + X_{2}*X_{9}*X_{16}*X_{19} - X_{1}*X_{10}*X_{16}*X_{19} + X_{4}*(X_{11}*(X_{14}*X_{17} - X_{13}*X_{18}) + X_{10}*(-(X_{15}*X_{17}) + X_{13}*X_{19}) + X_{9}*(X_{15}*X_{18} - X_{14}*X_{19})) + X_{2}*X_{11}*X_{13}*X_{20} - X_{1}*X_{11}*X_{14}*X_{20} - X_{2}*X_{9}*X_{15}*X_{20} + X_{1}*X_{10}*X_{15}*X_{20} + X_{3}*(X_{12}*(-(X_{14}*X_{17}) + X_{13}*X_{18}) + X_{10}*(X_{16}*X_{17} - X_{13}*X_{20}) + X_{9}*(-(X_{16}*X_{18}) + X_{14}*X_{20})), X_{6}*X_{12}*X_{15}*X_{17} - X_{6}*X_{11}*X_{16}*X_{17} - X_{5}*X_{12}*X_{15}*X_{18} + X_{5}*X_{11}*X_{16}*X_{18} - X_{6}*X_{12}*X_{13}*X_{19} + X_{5}*X_{12}*X_{14}*X_{19} + X_{6}*X_{9}*X_{16}*X_{19} - X_{5}*X_{10}*X_{16}*X_{19} + X_{8}*(X_{11}*(X_{14}*X_{17} - X_{13}*X_{18}) + X_{10}*(-(X_{15}*X_{17}) + X_{13}*X_{19}) + X_{9}*(X_{15}*X_{18} - X_{14}*X_{19})) + X_{6}*X_{11}*X_{13}*X_{20} - X_{5}*X_{11}*X_{14}*X_{20} - X_{6}*X_{9}*X_{15}*X_{20} + X_{5}*X_{10}*X_{15}*X_{20} + X_{7}*(X_{12}*(-(X_{14}*X_{17}) + X_{13}*X_{18}) + X_{10}*(X_{16}*X_{17} - X_{13}*X_{20}) + X_{9}*(-(X_{16}*X_{18}) + X_{14}*X_{20})), X_{1}*X_{21} + X_{2}*X_{22} + X_{3}*X_{23} + X_{4}*X_{24}, X_{5}*X_{21} + X_{6}*X_{22} + X_{7}*X_{23} + X_{8}*X_{24}, X_{9}*X_{21} + X_{10}*X_{22} + X_{11}*X_{23} + X_{12}*X_{24}, X_{13}*X_{21} + X_{14}*X_{22} + X_{15}*X_{23} + X_{16}*X_{24}, X_{17}*X_{21} + X_{18}*X_{22} + X_{19}*X_{23} + X_{20}*X_{24}, X_{1}*X_{25} + X_{2}*X_{26} + X_{3}*X_{27} + X_{4}*X_{28}, X_{5}*X_{25} + X_{6}*X_{26} + X_{7}*X_{27} + X_{8}*X_{28}, X_{9}*X_{25} + X_{10}*X_{26} + X_{11}*X_{27} + X_{12}*X_{28}, X_{13}*X_{25} + X_{14}*X_{26} + X_{15}*X_{27} + X_{16}*X_{28}, X_{17}*X_{25} + X_{18}*X_{26} + X_{19}*X_{27} + X_{20}*X_{28}, X_{1}*X_{29} + X_{2}*X_{30} + X_{3}*X_{31} + X_{4}*X_{32}, X_{5}*X_{29} + X_{6}*X_{30} + X_{7}*X_{31} + X_{8}*X_{32}, X_{9}*X_{29} + X_{10}*X_{30} + X_{11}*X_{31} + X_{12}*X_{32}, X_{13}*X_{29} + X_{14}*X_{30} + X_{15}*X_{31} + X_{16}*X_{32}, X_{17}*X_{29} + X_{18}*X_{30} + X_{19}*X_{31} + X_{20}*X_{32}, X_{1}*X_{33} + X_{2}*X_{34} + X_{3}*X_{35} + X_{4}*X_{36}, X_{5}*X_{33} + X_{6}*X_{34} + X_{7}*X_{35} + X_{8}*X_{36}, X_{9}*X_{33} + X_{10}*X_{34} + X_{11}*X_{35} + X_{12}*X_{36}, X_{13}*X_{33} + X_{14}*X_{34} + X_{15}*X_{35} + X_{16}*X_{36}, X_{17}*X_{33} + X_{18}*X_{34} + X_{19}*X_{35} + X_{20}*X_{36}, X_{22}*X_{28}*X_{31}*X_{33} - X_{22}*X_{27}*X_{32}*X_{33} - X_{21}*X_{28}*X_{31}*X_{34} + X_{21}*X_{27}*X_{32}*X_{34} - X_{22}*X_{28}*X_{29}*X_{35} + X_{21}*X_{28}*X_{30}*X_{35} + X_{22}*X_{25}*X_{32}*X_{35} - X_{21}*X_{26}*X_{32}*X_{35} + X_{24}*(X_{27}*(X_{30}*X_{33} - X_{29}*X_{34}) + X_{26}*(-(X_{31}*X_{33}) + X_{29}*X_{35}) + X_{25}*(X_{31}*X_{34} - X_{30}*X_{35})) + X_{22}*X_{27}*X_{29}*X_{36} - X_{21}*X_{27}*X_{30}*X_{36} - X_{22}*X_{25}*X_{31}*X_{36} + X_{21}*X_{26}*X_{31}*X_{36} + X_{23}*(X_{28}*(-(X_{30}*X_{33}) + X_{29}*X_{34}) + X_{26}*(X_{32}*X_{33} - X_{29}*X_{36}) + X_{25}*(-(X_{32}*X_{34}) + X_{30}*X_{36})), X_{1}*X_{37} + X_{2}*X_{38} + X_{3}*X_{39} + X_{4}*X_{40}, X_{5}*X_{37} + X_{6}*X_{38} + X_{7}*X_{39} + X_{8}*X_{40}, X_{9}*X_{37} + X_{10}*X_{38} + X_{11}*X_{39} + X_{12}*X_{40}, X_{13}*X_{37} + X_{14}*X_{38} + X_{15}*X_{39} + X_{16}*X_{40}, X_{17}*X_{37} + X_{18}*X_{38} + X_{19}*X_{39} + X_{20}*X_{40}, X_{22}*X_{28}*X_{31}*X_{37} - X_{22}*X_{27}*X_{32}*X_{37} - X_{21}*X_{28}*X_{31}*X_{38} + X_{21}*X_{27}*X_{32}*X_{38} - X_{22}*X_{28}*X_{29}*X_{39} + X_{21}*X_{28}*X_{30}*X_{39} + X_{22}*X_{25}*X_{32}*X_{39} - X_{21}*X_{26}*X_{32}*X_{39} + X_{24}*(X_{27}*(X_{30}*X_{37} - X_{29}*X_{38}) + X_{26}*(-(X_{31}*X_{37}) + X_{29}*X_{39}) + X_{25}*(X_{31}*X_{38} - X_{30}*X_{39})) + X_{22}*X_{27}*X_{29}*X_{40} - X_{21}*X_{27}*X_{30}*X_{40} - X_{22}*X_{25}*X_{31}*X_{40} + X_{21}*X_{26}*X_{31}*X_{40} + X_{23}*(X_{28}*(-(X_{30}*X_{37}) + X_{29}*X_{38}) + X_{26}*(X_{32}*X_{37} - X_{29}*X_{40}) + X_{25}*(-(X_{32}*X_{38}) + X_{30}*X_{40})), X_{22}*X_{28}*X_{35}*X_{37} - X_{22}*X_{27}*X_{36}*X_{37} - X_{21}*X_{28}*X_{35}*X_{38} + X_{21}*X_{27}*X_{36}*X_{38} - X_{22}*X_{28}*X_{33}*X_{39} + X_{21}*X_{28}*X_{34}*X_{39} + X_{22}*X_{25}*X_{36}*X_{39} - X_{21}*X_{26}*X_{36}*X_{39} + X_{24}*(X_{27}*(X_{34}*X_{37} - X_{33}*X_{38}) + X_{26}*(-(X_{35}*X_{37}) + X_{33}*X_{39}) + X_{25}*(X_{35}*X_{38} - X_{34}*X_{39})) + X_{22}*X_{27}*X_{33}*X_{40} - X_{21}*X_{27}*X_{34}*X_{40} - X_{22}*X_{25}*X_{35}*X_{40} + X_{21}*X_{26}*X_{35}*X_{40} + X_{23}*(X_{28}*(-(X_{34}*X_{37}) + X_{33}*X_{38}) + X_{26}*(X_{36}*X_{37} - X_{33}*X_{40}) + X_{25}*(-(X_{36}*X_{38}) + X_{34}*X_{40})), X_{22}*X_{32}*X_{35}*X_{37} - X_{22}*X_{31}*X_{36}*X_{37} - X_{21}*X_{32}*X_{35}*X_{38} + X_{21}*X_{31}*X_{36}*X_{38} - X_{22}*X_{32}*X_{33}*X_{39} + X_{21}*X_{32}*X_{34}*X_{39} + X_{22}*X_{29}*X_{36}*X_{39} - X_{21}*X_{30}*X_{36}*X_{39} + X_{24}*(X_{31}*(X_{34}*X_{37} - X_{33}*X_{38}) + X_{30}*(-(X_{35}*X_{37}) + X_{33}*X_{39}) + X_{29}*(X_{35}*X_{38} - X_{34}*X_{39})) + X_{22}*X_{31}*X_{33}*X_{40} - X_{21}*X_{31}*X_{34}*X_{40} - X_{22}*X_{29}*X_{35}*X_{40} + X_{21}*X_{30}*X_{35}*X_{40} + X_{23}*(X_{32}*(-(X_{34}*X_{37}) + X_{33}*X_{38}) + X_{30}*(X_{36}*X_{37} - X_{33}*X_{40}) + X_{29}*(-(X_{36}*X_{38}) + X_{34}*X_{40})), X_{26}*X_{32}*X_{35}*X_{37} - X_{26}*X_{31}*X_{36}*X_{37} - X_{25}*X_{32}*X_{35}*X_{38} + X_{25}*X_{31}*X_{36}*X_{38} - X_{26}*X_{32}*X_{33}*X_{39} + X_{25}*X_{32}*X_{34}*X_{39} + X_{26}*X_{29}*X_{36}*X_{39} - X_{25}*X_{30}*X_{36}*X_{39} + X_{28}*(X_{31}*(X_{34}*X_{37} - X_{33}*X_{38}) + X_{30}*(-(X_{35}*X_{37}) + X_{33}*X_{39}) + X_{29}*(X_{35}*X_{38} - X_{34}*X_{39})) + X_{26}*X_{31}*X_{33}*X_{40} - X_{25}*X_{31}*X_{34}*X_{40} - X_{26}*X_{29}*X_{35}*X_{40} + X_{25}*X_{30}*X_{35}*X_{40} + X_{27}*(X_{32}*(-(X_{34}*X_{37}) + X_{33}*X_{38}) + X_{30}*(X_{36}*X_{37} - X_{33}*X_{40}) + X_{29}*(-(X_{36}*X_{38}) + X_{34}*X_{40}))};
print timing gb ideal dterms;
