Average Error: 0.0 → 0.0
Time: 11.6s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt{\mathsf{fma}\left(\frac{-\sqrt[3]{x}}{1 + x}, \sqrt[3]{x} \cdot \sqrt[3]{x}, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \frac{\sqrt[3]{x}}{1 + x}\right) + \mathsf{fma}\left(\frac{1}{1 - x \cdot x}, 1 - x, -\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \frac{\sqrt[3]{x}}{1 + x}\right)}\right)\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt{\mathsf{fma}\left(\frac{-\sqrt[3]{x}}{1 + x}, \sqrt[3]{x} \cdot \sqrt[3]{x}, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \frac{\sqrt[3]{x}}{1 + x}\right) + \mathsf{fma}\left(\frac{1}{1 - x \cdot x}, 1 - x, -\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \frac{\sqrt[3]{x}}{1 + x}\right)}\right)
double f(double x) {
        double r272597 = 2.0;
        double r272598 = 1.0;
        double r272599 = x;
        double r272600 = r272598 - r272599;
        double r272601 = r272598 + r272599;
        double r272602 = r272600 / r272601;
        double r272603 = sqrt(r272602);
        double r272604 = atan(r272603);
        double r272605 = r272597 * r272604;
        return r272605;
}

double f(double x) {
        double r272606 = 2.0;
        double r272607 = x;
        double r272608 = cbrt(r272607);
        double r272609 = -r272608;
        double r272610 = 1.0;
        double r272611 = r272610 + r272607;
        double r272612 = r272609 / r272611;
        double r272613 = r272608 * r272608;
        double r272614 = r272608 / r272611;
        double r272615 = r272613 * r272614;
        double r272616 = fma(r272612, r272613, r272615);
        double r272617 = r272607 * r272607;
        double r272618 = r272610 - r272617;
        double r272619 = r272610 / r272618;
        double r272620 = r272610 - r272607;
        double r272621 = -r272615;
        double r272622 = fma(r272619, r272620, r272621);
        double r272623 = r272616 + r272622;
        double r272624 = sqrt(r272623);
        double r272625 = atan(r272624);
        double r272626 = r272606 * r272625;
        return r272626;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
  2. Using strategy rm
  3. Applied div-sub0.0

    \[\leadsto 2 \cdot \tan^{-1} \left(\sqrt{\color{blue}{\frac{1}{1 + x} - \frac{x}{1 + x}}}\right)\]
  4. Using strategy rm
  5. Applied *-un-lft-identity0.0

    \[\leadsto 2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{1 + x} - \frac{x}{\color{blue}{1 \cdot \left(1 + x\right)}}}\right)\]
  6. Applied add-cube-cbrt0.0

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

    \[\leadsto 2 \cdot \tan^{-1} \left(\sqrt{\frac{1}{1 + x} - \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1} \cdot \frac{\sqrt[3]{x}}{1 + x}}}\right)\]
  8. Applied flip-+0.0

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

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

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

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

Reproduce

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