double f(double x) {
double r25390169 = x;
double r25390170 = 1.0;
double r25390171 = r25390169 + r25390170;
double r25390172 = r25390169 / r25390171;
double r25390173 = r25390169 - r25390170;
double r25390174 = r25390171 / r25390173;
double r25390175 = r25390172 - r25390174;
return r25390175;
}
double f(double x) {
double r25390176 = x;
double r25390177 = -10461.801402471829;
bool r25390178 = r25390176 <= r25390177;
double r25390179 = 3.0;
double r25390180 = -1.0;
double r25390181 = r25390180 / r25390176;
double r25390182 = r25390176 * r25390176;
double r25390183 = r25390181 / r25390182;
double r25390184 = r25390181 + r25390183;
double r25390185 = r25390180 / r25390182;
double r25390186 = fma(r25390179, r25390184, r25390185);
double r25390187 = 8688.451192654346;
bool r25390188 = r25390176 <= r25390187;
double r25390189 = 1.0;
double r25390190 = r25390189 + r25390176;
double r25390191 = r25390189 / r25390190;
double r25390192 = r25390176 - r25390189;
double r25390193 = r25390189 / r25390192;
double r25390194 = r25390190 * r25390193;
double r25390195 = r25390194 * r25390194;
double r25390196 = r25390194 * r25390195;
double r25390197 = cbrt(r25390196);
double r25390198 = -r25390197;
double r25390199 = fma(r25390176, r25390191, r25390198);
double r25390200 = r25390188 ? r25390199 : r25390186;
double r25390201 = r25390178 ? r25390186 : r25390200;
return r25390201;
}
\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10461.801402471829:\\
\;\;\;\;(3 \cdot \left(\frac{-1}{x} + \frac{\frac{-1}{x}}{x \cdot x}\right) + \left(\frac{-1}{x \cdot x}\right))_*\\
\mathbf{elif}\;x \le 8688.451192654346:\\
\;\;\;\;(x \cdot \left(\frac{1}{1 + x}\right) + \left(-\sqrt[3]{\left(\left(1 + x\right) \cdot \frac{1}{x - 1}\right) \cdot \left(\left(\left(1 + x\right) \cdot \frac{1}{x - 1}\right) \cdot \left(\left(1 + x\right) \cdot \frac{1}{x - 1}\right)\right)}\right))_*\\
\mathbf{else}:\\
\;\;\;\;(3 \cdot \left(\frac{-1}{x} + \frac{\frac{-1}{x}}{x \cdot x}\right) + \left(\frac{-1}{x \cdot x}\right))_*\\
\end{array}


Bits error versus x
if x < -10461.801402471829 or 8688.451192654346 < x Initial program 59.5
Taylor expanded around -inf 0.3
Simplified0.3
if -10461.801402471829 < x < 8688.451192654346Initial program 0.1
rmApplied div-inv0.1
Applied div-inv0.1
Applied prod-diff0.1
Simplified0.1
rmApplied add-cbrt-cube0.1
Final simplification0.2
herbie shell --seed 2019102 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))