\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11929.615164331793 \lor \neg \left(x \le 9332.36210286298774\right):\\
\;\;\;\;\frac{-1}{{x}^{2}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - {\left(\frac{x + 1}{x - 1}\right)}^{3}}{\left(\left(x + 1\right) \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1} - \frac{x}{x + 1} \cdot \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right) + \left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(x \cdot x\right)} \cdot \left(\left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right)\\
\end{array}double f(double x) {
double r147162 = x;
double r147163 = 1.0;
double r147164 = r147162 + r147163;
double r147165 = r147162 / r147164;
double r147166 = r147162 - r147163;
double r147167 = r147164 / r147166;
double r147168 = r147165 - r147167;
return r147168;
}
double f(double x) {
double r147169 = x;
double r147170 = -11929.615164331793;
bool r147171 = r147169 <= r147170;
double r147172 = 9332.362102862988;
bool r147173 = r147169 <= r147172;
double r147174 = !r147173;
bool r147175 = r147171 || r147174;
double r147176 = 1.0;
double r147177 = -r147176;
double r147178 = 2.0;
double r147179 = pow(r147169, r147178);
double r147180 = r147177 / r147179;
double r147181 = 3.0;
double r147182 = 1.0;
double r147183 = r147182 / r147169;
double r147184 = 3.0;
double r147185 = pow(r147169, r147184);
double r147186 = r147182 / r147185;
double r147187 = r147183 + r147186;
double r147188 = r147181 * r147187;
double r147189 = r147180 - r147188;
double r147190 = r147169 + r147176;
double r147191 = r147169 / r147190;
double r147192 = pow(r147191, r147184);
double r147193 = r147169 - r147176;
double r147194 = r147190 / r147193;
double r147195 = pow(r147194, r147184);
double r147196 = r147192 - r147195;
double r147197 = r147194 * r147194;
double r147198 = r147191 * r147191;
double r147199 = r147197 - r147198;
double r147200 = r147190 * r147199;
double r147201 = r147190 * r147190;
double r147202 = r147200 * r147201;
double r147203 = r147194 - r147191;
double r147204 = r147193 * r147203;
double r147205 = r147169 * r147169;
double r147206 = r147204 * r147205;
double r147207 = r147202 + r147206;
double r147208 = r147196 / r147207;
double r147209 = r147204 * r147201;
double r147210 = r147208 * r147209;
double r147211 = r147175 ? r147189 : r147210;
return r147211;
}



Bits error versus x
Results
if x < -11929.615164331793 or 9332.362102862988 < x Initial program 59.2
Taylor expanded around inf 0.4
Simplified0.4
if -11929.615164331793 < x < 9332.362102862988Initial program 0.1
rmApplied flip3--0.1
Simplified0.1
rmApplied frac-times0.1
Applied flip-+0.1
Applied frac-times0.1
Applied frac-add0.1
Applied associate-/r/0.1
Final simplification0.2
herbie shell --seed 2020100
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))