2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
2 \cdot \tan^{-1} \left(\sqrt{\sqrt[3]{\frac{\left(1 - x\right) \cdot \left(\left(1 - x\right) \cdot \left(1 - x\right)\right)}{\left(1 + x\right) \cdot \left(\left(1 + x\right) \cdot \left(1 + x\right)\right)}}}\right)
(FPCore (x) :precision binary64 (* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))
(FPCore (x)
:precision binary64
(*
2.0
(atan
(sqrt
(cbrt
(/
(* (- 1.0 x) (* (- 1.0 x) (- 1.0 x)))
(* (+ 1.0 x) (* (+ 1.0 x) (+ 1.0 x)))))))))double code(double x) {
return 2.0 * atan(sqrt((1.0 - x) / (1.0 + x)));
}
double code(double x) {
return 2.0 * atan(sqrt(cbrt(((1.0 - x) * ((1.0 - x) * (1.0 - x))) / ((1.0 + x) * ((1.0 + x) * (1.0 + x))))));
}



Bits error versus x
Results
Initial program 0.0
rmApplied add-cbrt-cube_binary640.0
Applied add-cbrt-cube_binary640.0
Applied cbrt-undiv_binary640.0
Final simplification0.0
herbie shell --seed 2021205
(FPCore (x)
:name "arccos"
:precision binary64
(* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))