\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -281.775198852815322 \lor \neg \left(x \le 246.3673785262834\right):\\
\;\;\;\;\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, {x}^{\left(-2\right)}, 2 \cdot \frac{1}{{x}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x - 1, \frac{1}{x \cdot x - 1 \cdot 1}, \frac{-{\left(\sqrt[3]{1}\right)}^{3}}{x - 1}\right) + \left(\frac{{\left(\sqrt[3]{1}\right)}^{3}}{1 \cdot \left(x - 1\right)} + \frac{-{\left(\sqrt[3]{1}\right)}^{3}}{x - 1}\right)\\
\end{array}double f(double x) {
double r191500 = 1.0;
double r191501 = x;
double r191502 = r191501 + r191500;
double r191503 = r191500 / r191502;
double r191504 = r191501 - r191500;
double r191505 = r191500 / r191504;
double r191506 = r191503 - r191505;
return r191506;
}
double f(double x) {
double r191507 = x;
double r191508 = -281.7751988528153;
bool r191509 = r191507 <= r191508;
double r191510 = 246.3673785262834;
bool r191511 = r191507 <= r191510;
double r191512 = !r191511;
bool r191513 = r191509 || r191512;
double r191514 = 2.0;
double r191515 = -r191514;
double r191516 = 6.0;
double r191517 = pow(r191507, r191516);
double r191518 = r191515 / r191517;
double r191519 = 2.0;
double r191520 = -r191519;
double r191521 = pow(r191507, r191520);
double r191522 = 1.0;
double r191523 = 4.0;
double r191524 = pow(r191507, r191523);
double r191525 = r191522 / r191524;
double r191526 = r191514 * r191525;
double r191527 = fma(r191514, r191521, r191526);
double r191528 = r191518 - r191527;
double r191529 = 1.0;
double r191530 = r191507 - r191529;
double r191531 = r191507 * r191507;
double r191532 = r191529 * r191529;
double r191533 = r191531 - r191532;
double r191534 = r191529 / r191533;
double r191535 = cbrt(r191529);
double r191536 = 3.0;
double r191537 = pow(r191535, r191536);
double r191538 = -r191537;
double r191539 = r191538 / r191530;
double r191540 = fma(r191530, r191534, r191539);
double r191541 = r191522 * r191530;
double r191542 = r191537 / r191541;
double r191543 = r191542 + r191539;
double r191544 = r191540 + r191543;
double r191545 = r191513 ? r191528 : r191544;
return r191545;
}



Bits error versus x
if x < -281.7751988528153 or 246.3673785262834 < x Initial program 28.5
Taylor expanded around inf 0.8
Simplified0.8
rmApplied pow-flip0.0
if -281.7751988528153 < x < 246.3673785262834Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied add-cube-cbrt0.0
Applied times-frac0.0
Applied flip-+0.0
Applied associate-/r/0.0
Applied prod-diff0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020039 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
:precision binary64
(- (/ 1 (+ x 1)) (/ 1 (- x 1))))