2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\tan^{-1} \left(\sqrt{\frac{1 - x}{\left(x + 1\right) \cdot \left(1 - x\right)} \cdot \left(1 - x\right)}\right) \cdot 2double f(double x) {
double r787007 = 2.0;
double r787008 = 1.0;
double r787009 = x;
double r787010 = r787008 - r787009;
double r787011 = r787008 + r787009;
double r787012 = r787010 / r787011;
double r787013 = sqrt(r787012);
double r787014 = atan(r787013);
double r787015 = r787007 * r787014;
return r787015;
}
double f(double x) {
double r787016 = 1.0;
double r787017 = x;
double r787018 = r787016 - r787017;
double r787019 = r787017 + r787016;
double r787020 = r787019 * r787018;
double r787021 = r787018 / r787020;
double r787022 = r787021 * r787018;
double r787023 = sqrt(r787022);
double r787024 = atan(r787023);
double r787025 = 2.0;
double r787026 = r787024 * r787025;
return r787026;
}



Bits error versus x
Results
Initial program 0.0
rmApplied flip-+0.0
Applied associate-/r/0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019200
(FPCore (x)
:name "arccos"
(* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))