\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -13977.716507512701 \lor \neg \left(x \le 15234.722984829899\right):\\
\;\;\;\;\left(-\frac{1}{x \cdot x}\right) - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x - 1\right) \cdot \left(x - 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)\right) - \left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right) \cdot \left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right)}{\left(\left(\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} + \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)\right) \cdot {\left(x + 1\right)}^{4}\right) \cdot {\left(x - 1\right)}^{4}}\\
\end{array}double f(double x) {
double r145669 = x;
double r145670 = 1.0;
double r145671 = r145669 + r145670;
double r145672 = r145669 / r145671;
double r145673 = r145669 - r145670;
double r145674 = r145671 / r145673;
double r145675 = r145672 - r145674;
return r145675;
}
double f(double x) {
double r145676 = x;
double r145677 = -13977.716507512701;
bool r145678 = r145676 <= r145677;
double r145679 = 15234.7229848299;
bool r145680 = r145676 <= r145679;
double r145681 = !r145680;
bool r145682 = r145678 || r145681;
double r145683 = 1.0;
double r145684 = r145676 * r145676;
double r145685 = r145683 / r145684;
double r145686 = -r145685;
double r145687 = 3.0;
double r145688 = 3.0;
double r145689 = pow(r145676, r145688);
double r145690 = r145687 / r145689;
double r145691 = r145687 / r145676;
double r145692 = r145690 + r145691;
double r145693 = r145686 - r145692;
double r145694 = r145684 * r145684;
double r145695 = r145676 - r145683;
double r145696 = r145695 * r145695;
double r145697 = r145696 * r145696;
double r145698 = r145694 * r145697;
double r145699 = r145676 + r145683;
double r145700 = r145699 * r145699;
double r145701 = r145700 * r145700;
double r145702 = r145701 * r145701;
double r145703 = r145698 - r145702;
double r145704 = r145676 / r145699;
double r145705 = r145699 / r145695;
double r145706 = r145704 + r145705;
double r145707 = r145704 * r145704;
double r145708 = r145705 * r145705;
double r145709 = r145707 + r145708;
double r145710 = r145706 * r145709;
double r145711 = 4.0;
double r145712 = pow(r145699, r145711);
double r145713 = r145710 * r145712;
double r145714 = pow(r145695, r145711);
double r145715 = r145713 * r145714;
double r145716 = r145703 / r145715;
double r145717 = r145682 ? r145693 : r145716;
return r145717;
}



Bits error versus x
Results
if x < -13977.716507512701 or 15234.7229848299 < x Initial program 59.1
Taylor expanded around inf 0.3
Simplified0.0
if -13977.716507512701 < x < 15234.7229848299Initial program 0.1
rmApplied flip--0.1
rmApplied flip--0.1
Applied associate-/l/0.1
rmApplied frac-times0.1
Applied frac-times0.1
Applied frac-times0.1
Applied frac-times0.1
Applied frac-times0.1
Applied frac-times0.1
Applied frac-sub0.1
Applied associate-/l/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019199
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))