2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\tan^{-1} \left(\left|\frac{\sqrt{1 \cdot 1 - x \cdot x}}{1 + x}\right|\right) \cdot 2double f(double x) {
double r24940 = 2.0;
double r24941 = 1.0;
double r24942 = x;
double r24943 = r24941 - r24942;
double r24944 = r24941 + r24942;
double r24945 = r24943 / r24944;
double r24946 = sqrt(r24945);
double r24947 = atan(r24946);
double r24948 = r24940 * r24947;
return r24948;
}
double f(double x) {
double r24949 = 1.0;
double r24950 = r24949 * r24949;
double r24951 = x;
double r24952 = r24951 * r24951;
double r24953 = r24950 - r24952;
double r24954 = sqrt(r24953);
double r24955 = r24949 + r24951;
double r24956 = r24954 / r24955;
double r24957 = fabs(r24956);
double r24958 = atan(r24957);
double r24959 = 2.0;
double r24960 = r24958 * r24959;
return r24960;
}



Bits error versus x
Results
Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.0
Applied times-frac0.0
Applied rem-sqrt-square0.0
rmApplied flip--0.0
Applied sqrt-div0.0
Applied associate-/l/0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019194
(FPCore (x)
:name "arccos"
(* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))