\\ (C) 2007 Marco Bodrato \\ This code is released under GNU-GPL 2.0 licence. U0=u0*Mod(1,2);U1=u1*Mod(1,2);U2=u2*Mod(1,2); V0=v0*Mod(1,2);V1=v1*Mod(1,2);V2=v2*Mod(1,2); U = U2*Y^2 + U1*Y*X + U0*X^2 V = V2*Y^2 + V1*Y*X + V0*X^2 \\ P(X,Y): P0=(1,0); P1=(1,1); P2=(1,x); P3=(1,1+x); P4=(0,1) \\ Evaluation: 5*2 add, 2*2 shift; 5 mul (n) W3 = U2 + U1 + U0 ; W2 = V2 + V1 + V0 W1 = W2 * W3 W0 =(U1 + U2*x)*x ; W4 =(V1 + V2*x)*x W3 = W3 + W0 ; W2 = W2 + W4 W0 = W0 + U0 ; W4 = W4 + V0 W3 = W3 * W2 ; W2 = W0 * W4 W4 = U2 * V2 ; W0 = U0 * V0 \\ Interpolation: 9 add, 1 shift, 1 Smul, 2 Sdiv (2n) W3 = W3 + W2 W1 = W1 + W0 W2 =(W2 + W0)/(x) W2 =(W2 + W3 + W4*(x^3+1))/(x+1) W3 =(W3 + W1)/(x*(x+1)) W1 = W1 + W4 + W2 W2 = W2 + W3 \\ Recomposition W = W4*Y^4+ W3*Y^3*X+ W2*Y^2*X^2+ W1*Y*X^3 + W0*X^4 W == U*V \\ Reference: http://bodrato.it/papers/#WAIFI2007 \\ Marco BODRATO,"Towards Optimal Toom-Cook Multiplication for \\ Univariate and Multivariate Polynomials in Characteristic 2 \\ and 0"; "WAIFI'07 proceedings" (C.Carlet and B.Sunar, eds.) \\ LNCS#4547, Springer, Madrid, Spain, June 2007, pp. 116-133.