\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -14119.48810080592193116899579763412475586 \lor \neg \left(x \le 10654.13586289907289028633385896682739258\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}\right)}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\
\end{array}double f(double x) {
double r128642 = x;
double r128643 = 1.0;
double r128644 = r128642 + r128643;
double r128645 = r128642 / r128644;
double r128646 = r128642 - r128643;
double r128647 = r128644 / r128646;
double r128648 = r128645 - r128647;
return r128648;
}
double f(double x) {
double r128649 = x;
double r128650 = -14119.488100805922;
bool r128651 = r128649 <= r128650;
double r128652 = 10654.135862899073;
bool r128653 = r128649 <= r128652;
double r128654 = !r128653;
bool r128655 = r128651 || r128654;
double r128656 = 1.0;
double r128657 = -r128656;
double r128658 = 2.0;
double r128659 = pow(r128649, r128658);
double r128660 = r128657 / r128659;
double r128661 = 3.0;
double r128662 = r128661 / r128649;
double r128663 = r128660 - r128662;
double r128664 = 3.0;
double r128665 = pow(r128649, r128664);
double r128666 = r128661 / r128665;
double r128667 = r128663 - r128666;
double r128668 = r128649 + r128656;
double r128669 = r128649 / r128668;
double r128670 = r128669 * r128669;
double r128671 = r128649 - r128656;
double r128672 = r128668 / r128671;
double r128673 = r128672 * r128672;
double r128674 = r128670 - r128673;
double r128675 = exp(r128674);
double r128676 = log(r128675);
double r128677 = r128669 + r128672;
double r128678 = r128676 / r128677;
double r128679 = r128655 ? r128667 : r128678;
return r128679;
}



Bits error versus x
Results
if x < -14119.488100805922 or 10654.135862899073 < x Initial program 59.5
Taylor expanded around inf 0.3
Simplified0.0
if -14119.488100805922 < x < 10654.135862899073Initial program 0.1
rmApplied flip--0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019356
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))