\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -7942.254130124484:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{-1}{x \cdot x}}{x}, 3, \frac{-1}{x \cdot x} + \frac{-3}{x}\right)\\
\mathbf{elif}\;x \le 7778.034856755284:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}}, \frac{x}{\sqrt[3]{1 + x}}, \left(1 + x\right) \cdot \frac{-1}{x - 1}\right) + \mathsf{fma}\left(\frac{-1}{x - 1}, 1 + x, \left(1 + x\right) \cdot \frac{1}{x - 1}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{-1}{x \cdot x}}{x}, 3, \frac{-1}{x \cdot x} + \frac{-3}{x}\right)\\
\end{array}double f(double x) {
double r4328193 = x;
double r4328194 = 1.0;
double r4328195 = r4328193 + r4328194;
double r4328196 = r4328193 / r4328195;
double r4328197 = r4328193 - r4328194;
double r4328198 = r4328195 / r4328197;
double r4328199 = r4328196 - r4328198;
return r4328199;
}
double f(double x) {
double r4328200 = x;
double r4328201 = -7942.254130124484;
bool r4328202 = r4328200 <= r4328201;
double r4328203 = -1.0;
double r4328204 = r4328200 * r4328200;
double r4328205 = r4328203 / r4328204;
double r4328206 = r4328205 / r4328200;
double r4328207 = 3.0;
double r4328208 = -3.0;
double r4328209 = r4328208 / r4328200;
double r4328210 = r4328205 + r4328209;
double r4328211 = fma(r4328206, r4328207, r4328210);
double r4328212 = 7778.034856755284;
bool r4328213 = r4328200 <= r4328212;
double r4328214 = 1.0;
double r4328215 = r4328214 + r4328200;
double r4328216 = cbrt(r4328215);
double r4328217 = r4328216 * r4328216;
double r4328218 = r4328214 / r4328217;
double r4328219 = r4328200 / r4328216;
double r4328220 = r4328200 - r4328214;
double r4328221 = r4328203 / r4328220;
double r4328222 = r4328215 * r4328221;
double r4328223 = fma(r4328218, r4328219, r4328222);
double r4328224 = r4328214 / r4328220;
double r4328225 = r4328215 * r4328224;
double r4328226 = fma(r4328221, r4328215, r4328225);
double r4328227 = r4328223 + r4328226;
double r4328228 = r4328213 ? r4328227 : r4328211;
double r4328229 = r4328202 ? r4328211 : r4328228;
return r4328229;
}



Bits error versus x
if x < -7942.254130124484 or 7778.034856755284 < x Initial program 59.4
Taylor expanded around inf 0.4
Simplified0.3
Taylor expanded around 0 0.4
Simplified0.0
if -7942.254130124484 < x < 7778.034856755284Initial program 0.1
rmApplied div-inv0.1
Applied add-cube-cbrt0.1
Applied *-un-lft-identity0.1
Applied times-frac0.1
Applied prod-diff0.1
Final simplification0.1
herbie shell --seed 2019141 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))