マチンの公式で円周率を求める、シングルスレッド、マルチスレッドのプログラムになります。
% tar xzf machin.tgz
% cd machin
% make time
で計測できるはずです。
こちらでの実行結果は以下の通りです。
% make time
cc -O -c pi64-machin.c
cc -O -c b64math.c
cc -o pi64-machin pi64-machin.o b64math.o
cc -O -c mt-pi64-machin.c
cc -o mt-pi64-machin mt-pi64-machin.o b64math.o -lpthread
time ./pi64-machin 10000 > /dev/null
336.99 real 332.43 user 0.00 sys
time ./mt-pi64-machin 10000 > /dev/null
126.87 real 491.13 user 0.00 sys
(defun pi(k)
(defun b(x n) (let ((m (1+ (* n 2)))) (/ (expt x m) m (expt -1 n))))
(defun a(x i) (let ((s (b x i))) (if (< (abs s) (expt 10 (- k))) s (+ s (a x (1+ i))))))
(* 4 (- (* 4 (a 1/5 0)) (a 1/239 0))))
シュリニヴァーサ・ラマヌジャン - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%83%AA%E3%83%8B%E3%83%B4%E3%82%A1%E3%83%BC%E3%82%B5%E3%83%BB%E3%83%A9%E3%83%9E%E3%83%8C%E3%82%B8%E3%83%A3%E3%83%B3