\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -12526.87883169779706804547458887100219727 \lor \neg \left(x \le 12009.41967600402495008893311023712158203\right):\\
\;\;\;\;\frac{-1}{{x}^{2}} - \left(\frac{3}{x} + 3 \cdot \frac{1}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x, \frac{1}{x + 1}, -\frac{x + 1}{x - 1}\right)\\
\end{array}double f(double x) {
double r157160 = x;
double r157161 = 1.0;
double r157162 = r157160 + r157161;
double r157163 = r157160 / r157162;
double r157164 = r157160 - r157161;
double r157165 = r157162 / r157164;
double r157166 = r157163 - r157165;
return r157166;
}
double f(double x) {
double r157167 = x;
double r157168 = -12526.878831697797;
bool r157169 = r157167 <= r157168;
double r157170 = 12009.419676004025;
bool r157171 = r157167 <= r157170;
double r157172 = !r157171;
bool r157173 = r157169 || r157172;
double r157174 = 1.0;
double r157175 = -r157174;
double r157176 = 2.0;
double r157177 = pow(r157167, r157176);
double r157178 = r157175 / r157177;
double r157179 = 3.0;
double r157180 = r157179 / r157167;
double r157181 = 1.0;
double r157182 = 3.0;
double r157183 = pow(r157167, r157182);
double r157184 = r157181 / r157183;
double r157185 = r157179 * r157184;
double r157186 = r157180 + r157185;
double r157187 = r157178 - r157186;
double r157188 = r157167 + r157174;
double r157189 = r157181 / r157188;
double r157190 = r157167 - r157174;
double r157191 = r157188 / r157190;
double r157192 = -r157191;
double r157193 = fma(r157167, r157189, r157192);
double r157194 = r157173 ? r157187 : r157193;
return r157194;
}



Bits error versus x
if x < -12526.878831697797 or 12009.419676004025 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.3
rmApplied fma-udef0.3
Simplified0.0
if -12526.878831697797 < x < 12009.419676004025Initial program 0.1
rmApplied div-inv0.1
Applied fma-neg0.1
Final simplification0.1
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))