Average Error: 0.0 → 0.0
Time: 13.4s
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 r462716 = 2.0;
        double r462717 = 1.0;
        double r462718 = x;
        double r462719 = r462717 - r462718;
        double r462720 = r462717 + r462718;
        double r462721 = r462719 / r462720;
        double r462722 = sqrt(r462721);
        double r462723 = atan(r462722);
        double r462724 = r462716 * r462723;
        return r462724;
}

double f(double x) {
        double r462725 = 2.0;
        double r462726 = 1.0;
        double r462727 = x;
        double r462728 = r462726 + r462727;
        double r462729 = r462726 - r462727;
        double r462730 = r462728 / r462729;
        double r462731 = r462726 / r462730;
        double r462732 = sqrt(r462731);
        double r462733 = atan(r462732);
        double r462734 = r462725 * r462733;
        return r462734;
}

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 *-un-lft-identity0.0

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

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

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

Reproduce

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