Average Error: 0.0 → 0.0
Time: 8.0s
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 r16173 = 2.0;
        double r16174 = 1.0;
        double r16175 = x;
        double r16176 = r16174 - r16175;
        double r16177 = r16174 + r16175;
        double r16178 = r16176 / r16177;
        double r16179 = sqrt(r16178);
        double r16180 = atan(r16179);
        double r16181 = r16173 * r16180;
        return r16181;
}

double f(double x) {
        double r16182 = 2.0;
        double r16183 = 1.0;
        double r16184 = x;
        double r16185 = r16183 - r16184;
        double r16186 = r16183 + r16184;
        double r16187 = r16185 / r16186;
        double r16188 = sqrt(r16187);
        double r16189 = atan(r16188);
        double r16190 = r16182 * r16189;
        return r16190;
}

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