Comment from Vikrant Ashvinkumar: I believe ATAN(L) has a minor bug. When arctan(L[1])+...+arctan(L[nops(L)]) is not in the range (-Pi/2,Pi/2), we still have ATAN(L) giving an answer. That is, arctan(ATAN(L))=arctan(L[1])+...+arctan(L[nops(L)]), which is not possible. I think the current implementation of ATAN(L) is really giving the value such that the above holds mod (-Pi/2,Pi/2). Consequently, FindMachin(a,k) is also a mod (-Pi/2,Pi/2) version. In the exact version, FindMachin(100,100) should return no solution because, for all x, 100*arctan(100)+arctan(x)=arctan(1) is not true. However, the current implementation of FindMachin(a,k) can still be useful because it gives an x such that k*arctan(a)+arctan(x)=Pi/4+c*Pi/2 where c is an integer. We can thus approximate (2c+1)*Pi/4 (rather than approximating Pi/4), and therefore Pi if we compute c. Does this make sense? There are probably my own errors in this email but the upshot is that ATAN(L) does not agree with the comments which describe it. Just thought I'd share since you said you give a talk about Pi every Pi-day and this may help in future iterations. Thanks for your time!