| |  |  |  |  | 
| Polynomial multiplication: |  | Bit operations |  |  |  |  |  |  |  |  | 
| Error-correcting codes: |  | McBits |  | 
 | Minimum number of bit operations for multiplicationDefine M(n) as the minimum number of bit operations (ANDs and XORs)
needed to multiply an n-bit polynomial f[0] + f[1] t + ... + f[n-1] t^(n-1)
by another n-bit polynomial g[0] + g[1] t + ... + g[n-1] t^(n-1),
producing a (2n-1)-bit polynomial h[0] + h[1] t + ... + h[2n-2] t^(2n-2).
Schoolbook multiplication implies that M(n) ≤ 2n^2-2n+1.
However, better bounds are known for all n ≥ 6.
For example:
 
Schoolbook: M(64) ≤ 8065.2006 Weimerskirch--Paar: M(64) ≤ 4593 (3864 XORs and 729 ANDs).
 2007 Peter--Langendoerfer "classic Karatsuba multiplication": M(64) ≤ 4593.
 2007 Peter--Langendoerfer "improved iterative Karatsuba": M(64) ≤ 4250.
 2006 von zur Gathen--Shokrollahi Table 1: M(64) ≤ 3945.
 2003 Rodriguez-Henriquez--Koc Table 1: M(64) ≤ 3945.
 2000.08 Bernstein: M(64) ≤ 3725.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(64) ≤ 3682.
Schoolbook: M(113) ≤ 25313.2006 Weimerskirch--Paar: M(113) ≤ 12657 (10665 XORs and 1992 ANDs).
 2006 von zur Gathen--Shokrollahi Table 1: M(113) ≤ 11522.
 2005 Chang--Kim--Park--Lim "non-redundant Karatsuba-Ofman algorithm": M(113) ≤ 11138.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(113) ≤ 9534.
Schoolbook: M(128) ≤ 32513.2006 Weimerskirch--Paar: M(128) ≤ 14287 (12100 XORs and 2187 ANDs).
 2007 Peter--Langendoerfer "classic Karatsuba multiplication": M(128) ≤ 14287.
 2007 Peter--Langendoerfer "improved iterative Karatsuba": M(128) ≤ 13146.
 2006 von zur Gathen--Shokrollahi Table 1: M(128) ≤ 12343.
 2003 Rodriguez-Henriquez--Koc Table 1: M(128) ≤ 12343.
 2000.08 Bernstein: M(128) ≤ 11620.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(128) ≤ 11486.
Schoolbook: M(131) ≤ 34061.2005 Chang--Kim--Park--Lim "non-redundant Karatsuba-Ofman algorithm": M(131) ≤ 15939.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(131) ≤ 11961.
Schoolbook: M(163) ≤ 52813.2005 Chang--Kim--Park--Lim "non-redundant Karatsuba-Ofman algorithm": M(163) ≤ 21791.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(163) ≤ 16923.
Schoolbook: M(193) ≤ 74113.2003 Rodriguez-Henriquez--Koc Section 4.1: M(193) ≤ 29725 (20524 XORs and 9201 ANDs).
 2005 Chang--Kim--Park--Lim "non-redundant Karatsuba-Ofman algorithm": M(193) ≤ 27803.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(193) ≤ 21865.
Schoolbook: M(194) ≤ 74885.2006 von zur Gathen--Shokrollahi Section 3: M(194) ≤ 26575.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(194) ≤ 21906.
Schoolbook: M(251) ≤ 125501.2009.05 Bernstein "Batch binary Edwards" Section 2: M(251) ≤ 33096.
Schoolbook: M(256) ≤ 130561.2007 Peter--Langendoerfer "classic Karatsuba multiplication": M(256) ≤ 43881 (37320 XORs and 6561 ANDs).
 2007 Peter--Langendoerfer "improved iterative Karatsuba": M(256) ≤ 40415.
 2003 Rodriguez-Henriquez--Koc Table 1: M(256) ≤ 38049.
 2000.08 Bernstein: M(256) ≤ 35753.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(256) ≤ 34079.
Schoolbook: M(283) ≤ 159613.2005 Chang--Kim--Park--Lim "non-redundant Karatsuba-Ofman algorithm": M(283) ≤ 52828.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(283) ≤ 38735.
Schoolbook: M(512) ≤ 523265.2003 Rodriguez-Henriquez--Koc Table 1: M(512) ≤ 116191 (81199 XORs and 34992 ANDs).
 2000.08 Bernstein: M(512) ≤ 109048.
 2009.05 Bernstein "Batch binary Edwards" Section 2: M(512) ≤ 98018.
 
The following table presents upper bounds on M(1), M(2), ..., M(1000).
The links in the table are to straight-line code justifying the upper bounds.
 
 VersionThis is version 2009.05.31 of the m.html web page. |