Average Error: 0.0 → 0.0
Time: 4.6s
Precision: 64
\[2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\]
\[2 \cdot \tan^{-1} \left(\sqrt{\left(\frac{1}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right) - {\left(\frac{\sqrt[3]{x}}{\sqrt[3]{x + 1}}\right)}^{3}\right) + \frac{1}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \left(\left(-\frac{x}{\sqrt[3]{x + 1}}\right) + \frac{x}{\sqrt[3]{x + 1}}\right)}\right)\]
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt{\left(\frac{1}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right) - {\left(\frac{\sqrt[3]{x}}{\sqrt[3]{x + 1}}\right)}^{3}\right) + \frac{1}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \left(\left(-\frac{x}{\sqrt[3]{x + 1}}\right) + \frac{x}{\sqrt[3]{x + 1}}\right)}\right)
double f(double x) {
        double r20439 = 2.0;
        double r20440 = 1.0;
        double r20441 = x;
        double r20442 = r20440 - r20441;
        double r20443 = r20440 + r20441;
        double r20444 = r20442 / r20443;
        double r20445 = sqrt(r20444);
        double r20446 = atan(r20445);
        double r20447 = r20439 * r20446;
        return r20447;
}

double f(double x) {
        double r20448 = 2.0;
        double r20449 = 1.0;
        double r20450 = x;
        double r20451 = r20450 * r20450;
        double r20452 = r20449 * r20449;
        double r20453 = r20451 - r20452;
        double r20454 = r20449 / r20453;
        double r20455 = r20450 - r20449;
        double r20456 = r20454 * r20455;
        double r20457 = cbrt(r20450);
        double r20458 = r20450 + r20449;
        double r20459 = cbrt(r20458);
        double r20460 = r20457 / r20459;
        double r20461 = 3.0;
        double r20462 = pow(r20460, r20461);
        double r20463 = r20456 - r20462;
        double r20464 = 1.0;
        double r20465 = r20459 * r20459;
        double r20466 = r20464 / r20465;
        double r20467 = r20450 / r20459;
        double r20468 = -r20467;
        double r20469 = r20468 + r20467;
        double r20470 = r20466 * r20469;
        double r20471 = r20463 + r20470;
        double r20472 = sqrt(r20471);
        double r20473 = atan(r20472);
        double r20474 = r20448 * r20473;
        return r20474;
}

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 div-sub0.0

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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