\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -13258.447866903614:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 11803.399742628724:\\
\;\;\;\;\sqrt[3]{\left(\left(\mathsf{fma}\left(-\left(x + 1\right), \frac{x + 1}{x \cdot x - 1}, \frac{x + 1}{x \cdot x - 1} \cdot \left(x + 1\right)\right) + \mathsf{fma}\left(x, \frac{1}{x + 1}, \frac{-\left(x + 1\right)}{x \cdot x - 1} \cdot \left(x + 1\right)\right)\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r6491660 = x;
double r6491661 = 1.0;
double r6491662 = r6491660 + r6491661;
double r6491663 = r6491660 / r6491662;
double r6491664 = r6491660 - r6491661;
double r6491665 = r6491662 / r6491664;
double r6491666 = r6491663 - r6491665;
return r6491666;
}
double f(double x) {
double r6491667 = x;
double r6491668 = -13258.447866903614;
bool r6491669 = r6491667 <= r6491668;
double r6491670 = -3.0;
double r6491671 = r6491667 * r6491667;
double r6491672 = r6491671 * r6491667;
double r6491673 = r6491670 / r6491672;
double r6491674 = 3.0;
double r6491675 = r6491674 / r6491667;
double r6491676 = 1.0;
double r6491677 = r6491676 / r6491671;
double r6491678 = r6491675 + r6491677;
double r6491679 = r6491673 - r6491678;
double r6491680 = 11803.399742628724;
bool r6491681 = r6491667 <= r6491680;
double r6491682 = r6491667 + r6491676;
double r6491683 = -r6491682;
double r6491684 = r6491671 - r6491676;
double r6491685 = r6491682 / r6491684;
double r6491686 = r6491685 * r6491682;
double r6491687 = fma(r6491683, r6491685, r6491686);
double r6491688 = r6491676 / r6491682;
double r6491689 = r6491683 / r6491684;
double r6491690 = r6491689 * r6491682;
double r6491691 = fma(r6491667, r6491688, r6491690);
double r6491692 = r6491687 + r6491691;
double r6491693 = r6491667 / r6491682;
double r6491694 = r6491667 - r6491676;
double r6491695 = r6491682 / r6491694;
double r6491696 = r6491693 - r6491695;
double r6491697 = r6491692 * r6491696;
double r6491698 = r6491697 * r6491696;
double r6491699 = cbrt(r6491698);
double r6491700 = r6491681 ? r6491699 : r6491679;
double r6491701 = r6491669 ? r6491679 : r6491700;
return r6491701;
}



Bits error versus x
if x < -13258.447866903614 or 11803.399742628724 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -13258.447866903614 < x < 11803.399742628724Initial program 0.1
rmApplied add-cbrt-cube0.1
rmApplied flip--0.1
Applied associate-/r/0.1
Applied div-inv0.1
Applied prod-diff0.1
Final simplification0.1
herbie shell --seed 2019165 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))