private static double msatan(double arg)
    {
        if(arg < sq2m1) {
            return mxatan(arg);
        }
        if(arg > sq2p1) {
            return PIO2 - mxatan(1/arg);
        }
    return PIO2/2 + mxatan((arg-1)/(arg+1));
    }
Rounds to keep <em>precision</em> decimals. Rounds towards even numbers.
@param x the number to round
@param precision the precision to round to. A precision of 3 will for instance round 1.65432 to 1.654
@return the rounded number
main/src/main/java/cgeo/geocaching/wherigo/kahlua/stdlib/MathLib.java