Average Error: 0.0 → 0.0
Time: 14.9s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[\tan^{-1} \left(\sqrt{\frac{\frac{1 - x}{\sqrt{1 + x}}}{\sqrt{1 + x}}}\right) \cdot 2\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
\tan^{-1} \left(\sqrt{\frac{\frac{1 - x}{\sqrt{1 + x}}}{\sqrt{1 + x}}}\right) \cdot 2
double f(double x) {
        double r911974 = 2.0;
        double r911975 = 1.0;
        double r911976 = x;
        double r911977 = r911975 - r911976;
        double r911978 = r911975 + r911976;
        double r911979 = r911977 / r911978;
        double r911980 = sqrt(r911979);
        double r911981 = atan(r911980);
        double r911982 = r911974 * r911981;
        return r911982;
}

double f(double x) {
        double r911983 = 1.0;
        double r911984 = x;
        double r911985 = r911983 - r911984;
        double r911986 = r911983 + r911984;
        double r911987 = sqrt(r911986);
        double r911988 = r911985 / r911987;
        double r911989 = r911988 / r911987;
        double r911990 = sqrt(r911989);
        double r911991 = atan(r911990);
        double r911992 = 2.0;
        double r911993 = r911991 * r911992;
        return r911993;
}

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-sqr-sqrt0.0

    \[\leadsto 2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{\color{blue}{\sqrt{1 + x} \cdot \sqrt{1 + x}}}}\right)\]
  4. Applied associate-/r*0.0

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

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

Reproduce

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