\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -13967.117865521159 \lor \neg \left(x \le 12664.160931741633\right):\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{x} - \left(2 + 2 \cdot \frac{1}{{x}^{2}}\right)\right) - 1}{\left(x + 1\right) \cdot \frac{x - 1}{x + 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x - 1}{x + 1} - \frac{x + 1}{x}}{\frac{x + 1}{x} \cdot \frac{x - 1}{x + 1}}\\
\end{array}double code(double x) {
return ((double) (((double) (x / ((double) (x + 1.0)))) - ((double) (((double) (x + 1.0)) / ((double) (x - 1.0))))));
}
double code(double x) {
double VAR;
if (((x <= -13967.117865521159) || !(x <= 12664.160931741633))) {
VAR = ((double) (((double) (((double) (((double) (2.0 * ((double) (1.0 / x)))) - ((double) (2.0 + ((double) (2.0 * ((double) (1.0 / ((double) pow(x, 2.0)))))))))) - 1.0)) / ((double) (((double) (x + 1.0)) * ((double) (((double) (x - 1.0)) / ((double) (x + 1.0))))))));
} else {
VAR = ((double) (((double) (((double) (((double) (x - 1.0)) / ((double) (x + 1.0)))) - ((double) (((double) (x + 1.0)) / x)))) / ((double) (((double) (((double) (x + 1.0)) / x)) * ((double) (((double) (x - 1.0)) / ((double) (x + 1.0))))))));
}
return VAR;
}



Bits error versus x
Results
if x < -13967.117865521159 or 12664.160931741633 < x Initial program 59.2
rmApplied clear-num59.2
Applied frac-sub58.7
Simplified51.2
Taylor expanded around inf 0.0
if -13967.117865521159 < x < 12664.160931741633Initial program 0.1
rmApplied clear-num0.1
Applied clear-num0.1
Applied frac-sub0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020113
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))