何か、10年位前のMS-DOSの時代に逆戻りしたようなスレですね。(^^)
今のCPUでは不動点小数演算の方が整数演算よりはるかに高速です。
したがって、FFTはdoubleを使うのがいいと思います。
数千桁程度まではアセンブラを使った「多倍長BASIC」が高速です。
それ以上になると・・・

C++による多倍長計算
http://www.vector.co.jp/authors/VA018507/index.html
の作者です。
Wondows上でも動くgcc(minGW など)インストールすれば使えます。
Dev-C++と日本語環境をインストールすればさらに使いやすくなります。
SN Library は日本人(私^^)の書いた英語ですから分かると思います。
ちなみに、50000!は関数にしていますが、Pen4 3.0GHzで0.75secです。
普通のfor文にすると比較していませんが、GMPより遅いでしょう。