All of this happens in a field of an elliptic curve so the complexity reduction is greatly appreciated.
https://gmplib.org/manual/Multiplication-Algorithms
GMP has lots of other methods in between schoolbook multiplication and FFT multiplication. A nice one is Karatsuba multiplication which is very easy to understand and delivers O(n^1.58) rather than O(n^2) performance. Python uses this method for multiplying large numbers together
http://gmplib.org/devel/log.i7.1024.png
More context and explanation can be found at: http://gmplib.org/devel/
BTW, I like Bernstein's survey of different multiplication algorithms at
https://cr.yp.to/papers/m3.pdf
(there is a unifying theme about using ring isomorphisms to explain many of the "standard" routines.)
https://hal.science/hal-02070778v2/document
A pop-sci description can be found at
https://theconversation.com/weve-found-a-quicker-way-to-mult...