\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11521.05432182598451618105173110961914062 \lor \neg \left(x \le 16225.26993082542139745783060789108276367\right):\\
\;\;\;\;-\left(\left(\frac{1}{x \cdot x} + \frac{3}{{x}^{3}}\right) + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + 1} - \left(\frac{x + 1}{{x}^{3} - {1}^{3}} \cdot \left(x \cdot x\right) + \left(1 \cdot \left(x + 1\right)\right) \cdot \frac{x + 1}{{x}^{3} - {1}^{3}}\right)\\
\end{array}double f(double x) {
double r161274 = x;
double r161275 = 1.0;
double r161276 = r161274 + r161275;
double r161277 = r161274 / r161276;
double r161278 = r161274 - r161275;
double r161279 = r161276 / r161278;
double r161280 = r161277 - r161279;
return r161280;
}
double f(double x) {
double r161281 = x;
double r161282 = -11521.054321825985;
bool r161283 = r161281 <= r161282;
double r161284 = 16225.269930825421;
bool r161285 = r161281 <= r161284;
double r161286 = !r161285;
bool r161287 = r161283 || r161286;
double r161288 = 1.0;
double r161289 = r161281 * r161281;
double r161290 = r161288 / r161289;
double r161291 = 3.0;
double r161292 = 3.0;
double r161293 = pow(r161281, r161292);
double r161294 = r161291 / r161293;
double r161295 = r161290 + r161294;
double r161296 = r161291 / r161281;
double r161297 = r161295 + r161296;
double r161298 = -r161297;
double r161299 = r161281 + r161288;
double r161300 = r161281 / r161299;
double r161301 = pow(r161288, r161292);
double r161302 = r161293 - r161301;
double r161303 = r161299 / r161302;
double r161304 = r161303 * r161289;
double r161305 = r161288 * r161299;
double r161306 = r161305 * r161303;
double r161307 = r161304 + r161306;
double r161308 = r161300 - r161307;
double r161309 = r161287 ? r161298 : r161308;
return r161309;
}



Bits error versus x
Results
if x < -11521.054321825985 or 16225.269930825421 < x Initial program 59.4
rmApplied flip3--61.6
Applied associate-/r/61.5
rmApplied distribute-lft-in61.5
Simplified61.5
rmApplied difference-cubes61.5
Applied add-sqr-sqrt62.9
Applied times-frac62.9
Applied associate-*r*62.9
Simplified62.9
Taylor expanded around inf 0.3
Simplified0.0
if -11521.054321825985 < x < 16225.269930825421Initial program 0.1
rmApplied flip3--0.1
Applied associate-/r/0.1
rmApplied distribute-lft-in0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019350
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))