Average Error: 0.0 → 0.0
Time: 2.9s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt[3]{{\left(\sqrt{\frac{1 - x}{x + 1}}\right)}^{3}}\right)\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt[3]{{\left(\sqrt{\frac{1 - x}{x + 1}}\right)}^{3}}\right)
double f(double x) {
        double r9678 = 2.0;
        double r9679 = 1.0;
        double r9680 = x;
        double r9681 = r9679 - r9680;
        double r9682 = r9679 + r9680;
        double r9683 = r9681 / r9682;
        double r9684 = sqrt(r9683);
        double r9685 = atan(r9684);
        double r9686 = r9678 * r9685;
        return r9686;
}

double f(double x) {
        double r9687 = 2.0;
        double r9688 = 1.0;
        double r9689 = x;
        double r9690 = r9688 - r9689;
        double r9691 = r9689 + r9688;
        double r9692 = r9690 / r9691;
        double r9693 = sqrt(r9692);
        double r9694 = 3.0;
        double r9695 = pow(r9693, r9694);
        double r9696 = cbrt(r9695);
        double r9697 = atan(r9696);
        double r9698 = r9687 * r9697;
        return r9698;
}

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-cbrt-cube0.0

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

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

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

Reproduce

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