Есть две формулы, в зависимости от того простое число или нет применяется та или иная формула.
Код:
if(isprime(x),f1(y),f2(z))
Для больших чисел (больше
скажем миллиарда лучше сразу

, до этого как оказалось они примерно равны по скорости) вместо
isprime лучше использовать более быструю
ispseudoprime (именно она используется внутри
nextprime). До

они гарантированно дают одинаковый результат. А для ещё сильно больших чисел
isprime будет выполняться
днями и годами минуты и часы, а
ispseudoprime секунды. Видел даже где-то утверждение что вообще не известно ни одного примера ошибки
ispseudoprime.