“…The evaluation of a (N −1)/2 using the left-to-right binary algorithm takes only log 2 n modular squaring operations [9, p. 9], so the key to doing this quickly is in multiplying quickly. Proth.exe multiplies by evaluating the convolution of the polynomials defined by the representation of the numbers in base 2 16 , and the convolutions are evaluated using real-signal Fast Fourier Transforms implemented with double precision floating-point numbers [34, chapter 20]. In modern microprocessors, accessing the data in the main memory is more than 20 times slower than executing an arithmetic operation, so algorithms such as split-radix FFT, which were developed to minimize the number of multiplications, are no longer the best algorithms.…”