gawk: Try To Round

 
 15.4.3 Try a Few Extra Bits of Precision and Rounding
 -----------------------------------------------------
 
 Instead of arbitrary-precision floating-point arithmetic, often all you
 need is an adjustment of your logic or a different order for the
 operations in your calculation.  The stability and the accuracy of the
 computation of pi in the earlier example can be enhanced by using the
 following simple algebraic transformation:
 
      (sqrt(x * x + 1) - 1) / x == x / (sqrt(x * x + 1) + 1)
 
 After making this change, the program converges to pi in under 30
 iterations:
 
      $ gawk -f pi2.awk
      -| 3.215390309173473
      -| 3.159659942097501
      -| 3.146086215131436
      -| 3.142714599645370
      -| 3.141873049979825
      ...
      -| 3.141592653589797
      -| 3.141592653589797