2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)\tan^{-1} \left(\sqrt{e^{\log \left(1 - x\right) - \mathsf{log1p}\left(x\right)}}\right) \cdot 2double f(double x) {
double r3562209 = 2.0;
double r3562210 = 1.0;
double r3562211 = x;
double r3562212 = r3562210 - r3562211;
double r3562213 = r3562210 + r3562211;
double r3562214 = r3562212 / r3562213;
double r3562215 = sqrt(r3562214);
double r3562216 = atan(r3562215);
double r3562217 = r3562209 * r3562216;
return r3562217;
}
double f(double x) {
double r3562218 = 1.0;
double r3562219 = x;
double r3562220 = r3562218 - r3562219;
double r3562221 = log(r3562220);
double r3562222 = log1p(r3562219);
double r3562223 = r3562221 - r3562222;
double r3562224 = exp(r3562223);
double r3562225 = sqrt(r3562224);
double r3562226 = atan(r3562225);
double r3562227 = 2.0;
double r3562228 = r3562226 * r3562227;
return r3562228;
}



Bits error versus x
Results
Initial program 0.0
rmApplied add-exp-log0.0
Applied add-exp-log0.0
Applied div-exp0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019124 +o rules:numerics
(FPCore (x)
:name "arccos"
(* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))