JesusG := proc(N) local n, term, sum; sum := 0; term := 1; for n from 0 to N-1 do term := (binomial(2*n, n)^3 * (42*n + 5)) / (2^(12*n + 4)); sum := sum + term; end do; return sum; end proc: ChudnovskyApprox := proc(N) local n, term, sum; sum := 0; term := 1; for n from 0 to N-1 do term := (factorial(6*n) / (factorial(n)^3 * factorial(3*n))) * (13591409 + 545140134*n) / (640320^(3*n + 3/2)); sum := sum + term; end do; return 1 / (sum * 12); end proc: VietesPi := proc(N) local k, term, product; product := 1; term := sqrt(2); for k from 1 to N do product := product * (2 / term); term := sqrt(2 + term); end do; return 2*product; end proc: BBP_Pi := proc(N) local k, sum; sum := 0; for k from 0 to N-1 do sum := sum + (1 / 16^k) * ( 4 / (8*k + 1) - 2 / (8*k + 4) - 1 / (8*k + 5) - 1 / (8*k + 6) ); end do; return evalf(sum); end proc: