Average Error: 0.0 → 0.0
Time: 14.5s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{\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}{\frac{1 + x}{1 - x}}}\right)
double f(double x) {
        double r34904 = 2.0;
        double r34905 = 1.0;
        double r34906 = x;
        double r34907 = r34905 - r34906;
        double r34908 = r34905 + r34906;
        double r34909 = r34907 / r34908;
        double r34910 = sqrt(r34909);
        double r34911 = atan(r34910);
        double r34912 = r34904 * r34911;
        return r34912;
}

double f(double x) {
        double r34913 = 2.0;
        double r34914 = 1.0;
        double r34915 = 1.0;
        double r34916 = x;
        double r34917 = r34915 + r34916;
        double r34918 = r34915 - r34916;
        double r34919 = r34917 / r34918;
        double r34920 = r34914 / r34919;
        double r34921 = sqrt(r34920);
        double r34922 = atan(r34921);
        double r34923 = r34913 * r34922;
        return r34923;
}

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 clear-num0.0

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

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

Reproduce

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