\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10145.89298673575:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{\left(x \cdot x\right) \cdot x} + \frac{-3}{x}\right)\\
\mathbf{elif}\;x \le 22336.500710864904:\\
\;\;\;\;\frac{\left(x - 1\right) \cdot x - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(x - 1\right) \cdot \left(1 + x\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{\left(x \cdot x\right) \cdot x} + \frac{-3}{x}\right)\\
\end{array}double f(double x) {
double r17232007 = x;
double r17232008 = 1.0;
double r17232009 = r17232007 + r17232008;
double r17232010 = r17232007 / r17232009;
double r17232011 = r17232007 - r17232008;
double r17232012 = r17232009 / r17232011;
double r17232013 = r17232010 - r17232012;
return r17232013;
}
double f(double x) {
double r17232014 = x;
double r17232015 = -10145.89298673575;
bool r17232016 = r17232014 <= r17232015;
double r17232017 = -1.0;
double r17232018 = r17232014 * r17232014;
double r17232019 = r17232017 / r17232018;
double r17232020 = -3.0;
double r17232021 = r17232018 * r17232014;
double r17232022 = r17232020 / r17232021;
double r17232023 = r17232020 / r17232014;
double r17232024 = r17232022 + r17232023;
double r17232025 = r17232019 + r17232024;
double r17232026 = 22336.500710864904;
bool r17232027 = r17232014 <= r17232026;
double r17232028 = 1.0;
double r17232029 = r17232014 - r17232028;
double r17232030 = r17232029 * r17232014;
double r17232031 = r17232028 + r17232014;
double r17232032 = r17232031 * r17232031;
double r17232033 = r17232030 - r17232032;
double r17232034 = r17232029 * r17232031;
double r17232035 = r17232033 / r17232034;
double r17232036 = r17232027 ? r17232035 : r17232025;
double r17232037 = r17232016 ? r17232025 : r17232036;
return r17232037;
}



Bits error versus x
Results
if x < -10145.89298673575 or 22336.500710864904 < x Initial program 59.1
Taylor expanded around -inf 0.3
Simplified0.3
Taylor expanded around -inf 0.3
Simplified0.0
if -10145.89298673575 < x < 22336.500710864904Initial program 0.1
rmApplied frac-sub0.1
Final simplification0.0
herbie shell --seed 2019119
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))