atan function

double atan(
  1. double x
)

Implementation

double atan(double x) {
  // Taylor series for atan
  if (x > 1) return 1.57079632679 - atan(1 / x);
  if (x < -1) return -1.57079632679 - atan(-1 / x);
  double result = 0;
  double term = x;
  double xSquared = x * x;
  for (int i = 1; i <= 15; i += 2) {
    result += term / i;
    term *= -xSquared;
  }
  return result;
}