2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)2 \cdot \tan^{-1} \left(\sqrt{\frac{\frac{1}{\left(1 + x\right) \cdot \left(\left(1 + x\right) \cdot \left(1 + x\right)\right)} - \frac{x}{1 + x} \cdot \left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right)}{\left(\frac{1}{\left(1 + x\right) \cdot \left(1 + x\right)} + \frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) + \frac{\frac{x}{1 + x}}{1 + x}}}\right)double f(double x) {
double r315997 = 2.0;
double r315998 = 1.0;
double r315999 = x;
double r316000 = r315998 - r315999;
double r316001 = r315998 + r315999;
double r316002 = r316000 / r316001;
double r316003 = sqrt(r316002);
double r316004 = atan(r316003);
double r316005 = r315997 * r316004;
return r316005;
}
double f(double x) {
double r316006 = 2.0;
double r316007 = 1.0;
double r316008 = x;
double r316009 = r316007 + r316008;
double r316010 = r316009 * r316009;
double r316011 = r316009 * r316010;
double r316012 = r316007 / r316011;
double r316013 = r316008 / r316009;
double r316014 = r316013 * r316013;
double r316015 = r316013 * r316014;
double r316016 = r316012 - r316015;
double r316017 = r316007 / r316010;
double r316018 = r316017 + r316014;
double r316019 = r316013 / r316009;
double r316020 = r316018 + r316019;
double r316021 = r316016 / r316020;
double r316022 = sqrt(r316021);
double r316023 = atan(r316022);
double r316024 = r316006 * r316023;
return r316024;
}



Bits error versus x
Results
Initial program 0.0
rmApplied div-sub0.0
rmApplied flip3--0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153
(FPCore (x)
:name "arccos"
(* 2 (atan (sqrt (/ (- 1 x) (+ 1 x))))))