\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -219.2555067559826227352459682151675224304 \lor \neg \left(x \le 225.8483742386996198092674603685736656189\right):\\
\;\;\;\;-\left(\left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right) + \frac{2}{{x}^{6}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{{1}^{3} + {x}^{3}}, \mathsf{fma}\left(x, x, 1 \cdot \left(1 - x\right)\right), \left(-\mathsf{fma}\left(x, x, 1 \cdot \left(1 + x\right)\right)\right) \cdot \frac{1}{{x}^{3} - {1}^{3}}\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\mathsf{fma}\left(x, x, 1 \cdot \left(1 + x\right)\right) + \left(-\mathsf{fma}\left(x, x, 1 \cdot \left(1 + x\right)\right)\right)\right)\\
\end{array}double f(double x) {
double r98461 = 1.0;
double r98462 = x;
double r98463 = r98462 + r98461;
double r98464 = r98461 / r98463;
double r98465 = r98462 - r98461;
double r98466 = r98461 / r98465;
double r98467 = r98464 - r98466;
return r98467;
}
double f(double x) {
double r98468 = x;
double r98469 = -219.25550675598262;
bool r98470 = r98468 <= r98469;
double r98471 = 225.84837423869962;
bool r98472 = r98468 <= r98471;
double r98473 = !r98472;
bool r98474 = r98470 || r98473;
double r98475 = 2.0;
double r98476 = r98475 / r98468;
double r98477 = r98476 / r98468;
double r98478 = 4.0;
double r98479 = pow(r98468, r98478);
double r98480 = r98475 / r98479;
double r98481 = r98477 + r98480;
double r98482 = 6.0;
double r98483 = pow(r98468, r98482);
double r98484 = r98475 / r98483;
double r98485 = r98481 + r98484;
double r98486 = -r98485;
double r98487 = 1.0;
double r98488 = 3.0;
double r98489 = pow(r98487, r98488);
double r98490 = pow(r98468, r98488);
double r98491 = r98489 + r98490;
double r98492 = r98487 / r98491;
double r98493 = r98487 - r98468;
double r98494 = r98487 * r98493;
double r98495 = fma(r98468, r98468, r98494);
double r98496 = r98487 + r98468;
double r98497 = r98487 * r98496;
double r98498 = fma(r98468, r98468, r98497);
double r98499 = -r98498;
double r98500 = r98490 - r98489;
double r98501 = r98487 / r98500;
double r98502 = r98499 * r98501;
double r98503 = fma(r98492, r98495, r98502);
double r98504 = r98498 + r98499;
double r98505 = r98501 * r98504;
double r98506 = r98503 + r98505;
double r98507 = r98474 ? r98486 : r98506;
return r98507;
}



Bits error versus x
if x < -219.25550675598262 or 225.84837423869962 < x Initial program 29.8
Taylor expanded around inf 0.7
Simplified0.7
Taylor expanded around 0 0.7
Simplified0.1
if -219.25550675598262 < x < 225.84837423869962Initial program 0.0
rmApplied flip3--0.0
Applied associate-/r/0.0
Applied flip3-+0.0
Applied associate-/r/0.0
Applied prod-diff0.0
Simplified0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
(- (/ 1.0 (+ x 1.0)) (/ 1.0 (- x 1.0))))