\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11755.062723959316 \lor \neg \left(x \le 14618.9471916209168\right):\\
\;\;\;\;\frac{0}{{x}^{2}} - \left(\left(\frac{1}{{x}^{2}} + \frac{3}{x}\right) + \frac{3}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\
\end{array}double f(double x) {
double r159337 = x;
double r159338 = 1.0;
double r159339 = r159337 + r159338;
double r159340 = r159337 / r159339;
double r159341 = r159337 - r159338;
double r159342 = r159339 / r159341;
double r159343 = r159340 - r159342;
return r159343;
}
double f(double x) {
double r159344 = x;
double r159345 = -11755.062723959316;
bool r159346 = r159344 <= r159345;
double r159347 = 14618.947191620917;
bool r159348 = r159344 <= r159347;
double r159349 = !r159348;
bool r159350 = r159346 || r159349;
double r159351 = 0.0;
double r159352 = 2.0;
double r159353 = pow(r159344, r159352);
double r159354 = r159351 / r159353;
double r159355 = 1.0;
double r159356 = r159355 / r159353;
double r159357 = 3.0;
double r159358 = r159357 / r159344;
double r159359 = r159356 + r159358;
double r159360 = 3.0;
double r159361 = pow(r159344, r159360);
double r159362 = r159357 / r159361;
double r159363 = r159359 + r159362;
double r159364 = r159354 - r159363;
double r159365 = r159344 + r159355;
double r159366 = r159344 / r159365;
double r159367 = r159366 * r159366;
double r159368 = r159344 - r159355;
double r159369 = r159365 / r159368;
double r159370 = r159369 * r159369;
double r159371 = r159367 - r159370;
double r159372 = r159366 + r159369;
double r159373 = r159371 / r159372;
double r159374 = r159350 ? r159364 : r159373;
return r159374;
}



Bits error versus x
Results
if x < -11755.062723959316 or 14618.947191620917 < x Initial program 59.5
Taylor expanded around inf 0.3
Simplified0.3
rmApplied neg-sub00.3
Applied div-sub0.3
Applied associate--l-0.3
Simplified0.0
if -11755.062723959316 < x < 14618.947191620917Initial program 0.1
rmApplied flip--0.1
Final simplification0.1
herbie shell --seed 2020046
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))