Average Error: 0.0 → 0.0
Time: 9.6s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{1 + x} - \frac{x}{1 + x}}\right)\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{1 + x} - \frac{x}{1 + x}}\right)
double f(double x) {
        double r303499 = 2.0;
        double r303500 = 1.0;
        double r303501 = x;
        double r303502 = r303500 - r303501;
        double r303503 = r303500 + r303501;
        double r303504 = r303502 / r303503;
        double r303505 = sqrt(r303504);
        double r303506 = atan(r303505);
        double r303507 = r303499 * r303506;
        return r303507;
}

double f(double x) {
        double r303508 = 2.0;
        double r303509 = 1.0;
        double r303510 = x;
        double r303511 = r303509 + r303510;
        double r303512 = r303509 / r303511;
        double r303513 = r303510 / r303511;
        double r303514 = r303512 - r303513;
        double r303515 = sqrt(r303514);
        double r303516 = atan(r303515);
        double r303517 = r303508 * r303516;
        return r303517;
}

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 div-sub0.0

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

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

Reproduce

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