\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -17316.428519489094:\\
\;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\
\mathbf{elif}\;x \le 21980.127985226965:\\
\;\;\;\;\frac{\frac{\left(\frac{x}{1 + x} \cdot x\right) \cdot \left(x - 1\right) - \left(\left(1 + x\right) \cdot \frac{1 + x}{x - 1}\right) \cdot \left(1 + x\right)}{\left(1 + x\right) \cdot \left(x - 1\right)}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\
\end{array}double f(double x) {
double r32521180 = x;
double r32521181 = 1.0;
double r32521182 = r32521180 + r32521181;
double r32521183 = r32521180 / r32521182;
double r32521184 = r32521180 - r32521181;
double r32521185 = r32521182 / r32521184;
double r32521186 = r32521183 - r32521185;
return r32521186;
}
double f(double x) {
double r32521187 = x;
double r32521188 = -17316.428519489094;
bool r32521189 = r32521187 <= r32521188;
double r32521190 = -16.0;
double r32521191 = r32521187 * r32521187;
double r32521192 = r32521191 * r32521187;
double r32521193 = r32521190 / r32521192;
double r32521194 = 6.0;
double r32521195 = r32521194 / r32521187;
double r32521196 = 5.0;
double r32521197 = r32521196 / r32521191;
double r32521198 = r32521195 + r32521197;
double r32521199 = r32521193 - r32521198;
double r32521200 = 1.0;
double r32521201 = r32521200 + r32521187;
double r32521202 = r32521187 - r32521200;
double r32521203 = r32521201 / r32521202;
double r32521204 = r32521187 / r32521201;
double r32521205 = r32521203 + r32521204;
double r32521206 = r32521199 / r32521205;
double r32521207 = 21980.127985226965;
bool r32521208 = r32521187 <= r32521207;
double r32521209 = r32521204 * r32521187;
double r32521210 = r32521209 * r32521202;
double r32521211 = r32521201 * r32521203;
double r32521212 = r32521211 * r32521201;
double r32521213 = r32521210 - r32521212;
double r32521214 = r32521201 * r32521202;
double r32521215 = r32521213 / r32521214;
double r32521216 = r32521215 / r32521205;
double r32521217 = r32521208 ? r32521216 : r32521206;
double r32521218 = r32521189 ? r32521206 : r32521217;
return r32521218;
}



Bits error versus x
Results
if x < -17316.428519489094 or 21980.127985226965 < x Initial program 59.4
rmApplied flip--59.4
Taylor expanded around -inf 0.3
Simplified0.0
if -17316.428519489094 < x < 21980.127985226965Initial program 0.1
rmApplied flip--0.1
rmApplied associate-*r/0.1
Applied associate-*l/0.1
Applied frac-sub0.1
Final simplification0.1
herbie shell --seed 2019121
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))