\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10395.82115050408719980623573064804077148:\\
\;\;\;\;\left(\frac{-3}{x} - \frac{1}{x \cdot x}\right) - \frac{3}{\left(x \cdot x\right) \cdot x}\\
\mathbf{elif}\;x \le 9252.756593940759557881392538547515869141:\\
\;\;\;\;\log \left(e^{\frac{x}{x + 1}} \cdot e^{\frac{-\left(x + 1\right)}{x - 1}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{-3}{x} - \frac{1}{x \cdot x}\right) - \frac{3}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r4691248 = x;
double r4691249 = 1.0;
double r4691250 = r4691248 + r4691249;
double r4691251 = r4691248 / r4691250;
double r4691252 = r4691248 - r4691249;
double r4691253 = r4691250 / r4691252;
double r4691254 = r4691251 - r4691253;
return r4691254;
}
double f(double x) {
double r4691255 = x;
double r4691256 = -10395.821150504087;
bool r4691257 = r4691255 <= r4691256;
double r4691258 = 3.0;
double r4691259 = -r4691258;
double r4691260 = r4691259 / r4691255;
double r4691261 = 1.0;
double r4691262 = r4691255 * r4691255;
double r4691263 = r4691261 / r4691262;
double r4691264 = r4691260 - r4691263;
double r4691265 = r4691262 * r4691255;
double r4691266 = r4691258 / r4691265;
double r4691267 = r4691264 - r4691266;
double r4691268 = 9252.75659394076;
bool r4691269 = r4691255 <= r4691268;
double r4691270 = r4691255 + r4691261;
double r4691271 = r4691255 / r4691270;
double r4691272 = exp(r4691271);
double r4691273 = -r4691270;
double r4691274 = r4691255 - r4691261;
double r4691275 = r4691273 / r4691274;
double r4691276 = exp(r4691275);
double r4691277 = r4691272 * r4691276;
double r4691278 = log(r4691277);
double r4691279 = r4691269 ? r4691278 : r4691267;
double r4691280 = r4691257 ? r4691267 : r4691279;
return r4691280;
}



Bits error versus x
Results
if x < -10395.821150504087 or 9252.75659394076 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -10395.821150504087 < x < 9252.75659394076Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
rmApplied sub-neg0.1
Applied exp-sum0.1
Final simplification0.1
herbie shell --seed 2019169
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))