Tradycyjnie mnożenie w tym przypadku wygląda tak:
(a3,a2,a1,a0).(b3,b2,b1,b0) =
a3.b3,
a3.b2 + a2.b3,
a3.b1 + a1.b3 + a2.b2,
a3.b0 + a0.b3 + a2.b1 + a1.b2,
a2.b0 + a0.b2 + a1.b1,
a1.b0 + a0.b1,
a0.b0
)
jak widać jest tu 4x4 - 16 mnożeń, co należy zredukować do 8.
Procedura produkowania takich 'szybkich' mnożeń jest następująca:
zamiast mnożyć to pojedynczo, tworzymy sumy/różnice, które produkują od razu kilka iloczynów prostych.
przykłady:
( a3 - a2).(b3 - b2) = a3.b3 - a3.b2 - a2.b3 + a2.b2
jak widać produkujemy tu w jednym mnożeniu aż 4 iloczyny (proste).
Takich kombinacji jest tu oczywiście bardzo dużo, zatem skecz polega na wybraniu tylko kilku,
takich których kombinacje (linowe) pozwolą odtworzyć te 7 współczynników z mnożenia czworaczków.
Być może wystarczą same takie 'pary', których jest tylko 6:
( a3 - a2).(b3 - b2)
( a3 - a1).(b3 - b1)
( a3 - a0).(b3 - b0)
( a2 - a1).(b2 - b1)
( a2 - a0).(b2 - b0)
( a1 - a0).(b2 - b0)
uwzględniając że tam może być '+' zamiast '-', otrzymamy chyba: 6*4 = 24 sztuki, co już jest grubo ponad 8.
Można używać bezpośrednich mnożeń oczywiście, w stylu: a3.a3 lub a1.b3, itp. ale limit wynosi 8, więc same takie na pewno nie wystarczą, bo razem jest 16.
potrójne i poczwórne kombinacje też są dozwolone:
( a3 + a3 + a2 + a0).(b3 + b2 + b1 + b0) = ... 16 sztuk od razu;
tylko że takie są gorsze od podwójnych, bo wymagają więcej operacji;
poza tym są zapewne grube setki takich kombinacji: z '+' lub '-' przy każdym współczynniku, więc problem wyboru byłby... zabójczy.