Average Error: 0.0 → 0.0
Time: 3.7s
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 r11915 = 2.0;
        double r11916 = 1.0;
        double r11917 = x;
        double r11918 = r11916 - r11917;
        double r11919 = r11916 + r11917;
        double r11920 = r11918 / r11919;
        double r11921 = sqrt(r11920);
        double r11922 = atan(r11921);
        double r11923 = r11915 * r11922;
        return r11923;
}

double f(double x) {
        double r11924 = 2.0;
        double r11925 = 1.0;
        double r11926 = x;
        double r11927 = r11925 - r11926;
        double r11928 = r11925 + r11926;
        double r11929 = r11927 / r11928;
        double r11930 = sqrt(r11929);
        double r11931 = atan(r11930);
        double r11932 = r11924 * r11931;
        return r11932;
}

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 2019354 +o rules:numerics
(FPCore (x)
  :name "arccos"
  :precision binary64
  (* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))