Operator mnożenia (*) zdefiniowano rekurencyjnie dla n-bitowych argumentów
x i y w następujący sposób:
A := a*c
B := b*d
C := (a+b)*(c+d)
D := C-A-B
x*y := (A << n) + (D << n/2) + B
gdzie (n/2)-bitowe liczby a i b przechowują, odpowiednio,
starsze i młodsze bity liczby x, natomiast c i d - liczby y.
Symbol << reprezentuje przesunięcie bitowe. Jak oszacować
złożoność obliczeniową tego działania.