\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10439.15205635957318008877336978912353516 \lor \neg \left(x \le 11917.97074271185010729823261499404907227\right):\\
\;\;\;\;\frac{-\left(\frac{1}{x} + 3\right)}{x} - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}\\
\end{array}double f(double x) {
double r92274 = x;
double r92275 = 1.0;
double r92276 = r92274 + r92275;
double r92277 = r92274 / r92276;
double r92278 = r92274 - r92275;
double r92279 = r92276 / r92278;
double r92280 = r92277 - r92279;
return r92280;
}
double f(double x) {
double r92281 = x;
double r92282 = -10439.152056359573;
bool r92283 = r92281 <= r92282;
double r92284 = 11917.97074271185;
bool r92285 = r92281 <= r92284;
double r92286 = !r92285;
bool r92287 = r92283 || r92286;
double r92288 = 1.0;
double r92289 = r92288 / r92281;
double r92290 = 3.0;
double r92291 = r92289 + r92290;
double r92292 = -r92291;
double r92293 = r92292 / r92281;
double r92294 = 3.0;
double r92295 = pow(r92281, r92294);
double r92296 = r92290 / r92295;
double r92297 = r92293 - r92296;
double r92298 = r92288 - r92281;
double r92299 = r92288 * r92298;
double r92300 = r92299 * r92281;
double r92301 = r92295 + r92300;
double r92302 = pow(r92288, r92294);
double r92303 = r92295 + r92302;
double r92304 = r92281 - r92288;
double r92305 = r92303 / r92304;
double r92306 = r92281 + r92288;
double r92307 = r92305 * r92306;
double r92308 = r92301 - r92307;
double r92309 = r92281 * r92281;
double r92310 = r92309 + r92299;
double r92311 = r92310 * r92306;
double r92312 = r92308 / r92311;
double r92313 = r92287 ? r92297 : r92312;
return r92313;
}



Bits error versus x
Results
if x < -10439.152056359573 or 11917.97074271185 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.3
rmApplied associate-*l/0.0
Simplified0.0
if -10439.152056359573 < x < 11917.97074271185Initial program 0.1
rmApplied flip--0.1
Applied associate-/r/0.1
Simplified0.1
rmApplied flip3-+0.1
Applied associate-*r/0.1
Applied frac-sub0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019325
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))