Average Error: 0.0 → 0.0
Time: 13.5s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[\tan^{-1} \left(\log \left(e^{\sqrt{\frac{1 - x}{1 + x}}}\right)\right) \cdot 2\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
\tan^{-1} \left(\log \left(e^{\sqrt{\frac{1 - x}{1 + x}}}\right)\right) \cdot 2
double f(double x) {
        double r287395 = 2.0;
        double r287396 = 1.0;
        double r287397 = x;
        double r287398 = r287396 - r287397;
        double r287399 = r287396 + r287397;
        double r287400 = r287398 / r287399;
        double r287401 = sqrt(r287400);
        double r287402 = atan(r287401);
        double r287403 = r287395 * r287402;
        return r287403;
}

double f(double x) {
        double r287404 = 1.0;
        double r287405 = x;
        double r287406 = r287404 - r287405;
        double r287407 = r287404 + r287405;
        double r287408 = r287406 / r287407;
        double r287409 = sqrt(r287408);
        double r287410 = exp(r287409);
        double r287411 = log(r287410);
        double r287412 = atan(r287411);
        double r287413 = 2.0;
        double r287414 = r287412 * r287413;
        return r287414;
}

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. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto 2 \cdot \tan^{-1} \color{blue}{\left(\log \left(e^{\sqrt{\frac{1 - x}{1 + x}}}\right)\right)}\]
  4. Final simplification0.0

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

Reproduce

herbie shell --seed 2019151 
(FPCore (x)
  :name "arccos"
  (* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))