; estimating pi
(define (rand50) (inexact->exact (random #e1e50)))
(define (pi n)
(let loop ((m n) (k 0))
(if (zero? m) (sqrt (* 6 n (/ k)))
(let ((a (rand50)) (b (rand50)))
(loop (- m 1) (if (= 1 (gcd a b)) (+ k 1) k))))))
(display (pi 100000)) (newline)
OyBlc3RpbWF0aW5nIHBpCgooZGVmaW5lIChyYW5kNTApIChpbmV4YWN0LT5leGFjdCAocmFuZG9tICNlMWU1MCkpKQoKKGRlZmluZSAocGkgbikKICAobGV0IGxvb3AgKChtIG4pIChrIDApKQogICAgKGlmICh6ZXJvPyBtKSAoc3FydCAoKiA2IG4gKC8gaykpKQogICAgICAobGV0ICgoYSAocmFuZDUwKSkgKGIgKHJhbmQ1MCkpKQogICAgICAgIChsb29wICgtIG0gMSkgKGlmICg9IDEgKGdjZCBhIGIpKSAoKyBrIDEpIGspKSkpKSkKCihkaXNwbGF5IChwaSAxMDAwMDApKSAobmV3bGluZSk=