2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)2 \cdot \tan^{-1} \left(\sqrt{\frac{\frac{1 - x}{\sqrt{1 + x}}}{\frac{\sqrt{1 \cdot 1 - x \cdot x}}{\sqrt{1 - x}}}}\right)double f(double x) {
double r9286 = 2.0;
double r9287 = 1.0;
double r9288 = x;
double r9289 = r9287 - r9288;
double r9290 = r9287 + r9288;
double r9291 = r9289 / r9290;
double r9292 = sqrt(r9291);
double r9293 = atan(r9292);
double r9294 = r9286 * r9293;
return r9294;
}
double f(double x) {
double r9295 = 2.0;
double r9296 = 1.0;
double r9297 = x;
double r9298 = r9296 - r9297;
double r9299 = r9296 + r9297;
double r9300 = sqrt(r9299);
double r9301 = r9298 / r9300;
double r9302 = r9296 * r9296;
double r9303 = r9297 * r9297;
double r9304 = r9302 - r9303;
double r9305 = sqrt(r9304);
double r9306 = sqrt(r9298);
double r9307 = r9305 / r9306;
double r9308 = r9301 / r9307;
double r9309 = sqrt(r9308);
double r9310 = atan(r9309);
double r9311 = r9295 * r9310;
return r9311;
}



Bits error versus x
Results
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/r*0.0
rmApplied flip-+0.0
Applied sqrt-div0.0
Final simplification0.0
herbie shell --seed 2020046
(FPCore (x)
:name "arccos"
:precision binary64
(* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))