program calculate_pi
implicit none
real :: a, a_new, b, pi, pi_check, t, p
pi = acos(-1.0)
a = 1.0
b = 1.0 / sqrt(2.0)
t = 1.0 / 4.0
p = 1.0
pi_check = (a+b)**2 / (4*t)
do while (abs(pi - pi_check).gt.1e-22)
a_new = (a+b) / 2
b = sqrt(a*b)
t = t - p * (a-a_new)**2
p = 2*p
pi_check = (a+b)**2 / (4*t)
a = a_new
end do
print "(f0.22, 1x, f0.22, 1x, f0.22)", pi, pi_check, pi-pi_check
end program calculate_pi
cHJvZ3JhbSBjYWxjdWxhdGVfcGkKaW1wbGljaXQgbm9uZQoJcmVhbCA6OiBhLCBhX25ldywgYiwgcGksIHBpX2NoZWNrLCB0LCBwCglwaSA9IGFjb3MoLTEuMCkKCWEgPSAxLjAKCWIgPSAxLjAgLyBzcXJ0KDIuMCkKCXQgPSAxLjAgLyA0LjAKCXAgPSAxLjAKCXBpX2NoZWNrID0gKGErYikqKjIgLyAoNCp0KQoJZG8gd2hpbGUgKGFicyhwaSAtIHBpX2NoZWNrKS5ndC4xZS0yMikKCSAgICBhX25ldyA9IChhK2IpIC8gMgoJICAgIGIgPSBzcXJ0KGEqYikKCSAgICB0ID0gdCAtIHAgKiAoYS1hX25ldykqKjIKCSAgICBwID0gMipwIAoJICAgIHBpX2NoZWNrID0gKGErYikqKjIgLyAoNCp0KQoJICAgIGEgPSBhX25ldwoJZW5kIGRvCglwcmludCAiKGYwLjIyLCAxeCwgZjAuMjIsIDF4LCBmMC4yMikiLCBwaSwgcGlfY2hlY2ssIHBpLXBpX2NoZWNrCmVuZCBwcm9ncmFtIGNhbGN1bGF0ZV9waQ==