Average Error: 0.0 → 0.0
Time: 3.2s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
double f(double x) {
        double r7993 = 2.0;
        double r7994 = 1.0;
        double r7995 = x;
        double r7996 = r7994 - r7995;
        double r7997 = r7994 + r7995;
        double r7998 = r7996 / r7997;
        double r7999 = sqrt(r7998);
        double r8000 = atan(r7999);
        double r8001 = r7993 * r8000;
        return r8001;
}

double f(double x) {
        double r8002 = 2.0;
        double r8003 = 1.0;
        double r8004 = x;
        double r8005 = r8003 - r8004;
        double r8006 = r8003 + r8004;
        double r8007 = r8005 / r8006;
        double r8008 = sqrt(r8007);
        double r8009 = atan(r8008);
        double r8010 = r8002 * r8009;
        return r8010;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
  2. Final simplification0.0

    \[\leadsto 2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]

Reproduce

herbie shell --seed 2020100 +o rules:numerics
(FPCore (x)
  :name "arccos"
  :precision binary64
  (* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))