\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -14610.34704770997814193833619356155395508 \lor \neg \left(x \le 11258.21718550441983097698539495468139648\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{\frac{x \cdot \left(x - 1\right) - \left(x + 1\right) \cdot \left(x + 1\right)}{x \cdot x - 1 \cdot 1}}\right)\\
\end{array}double f(double x) {
double r112141 = x;
double r112142 = 1.0;
double r112143 = r112141 + r112142;
double r112144 = r112141 / r112143;
double r112145 = r112141 - r112142;
double r112146 = r112143 / r112145;
double r112147 = r112144 - r112146;
return r112147;
}
double f(double x) {
double r112148 = x;
double r112149 = -14610.347047709978;
bool r112150 = r112148 <= r112149;
double r112151 = 11258.21718550442;
bool r112152 = r112148 <= r112151;
double r112153 = !r112152;
bool r112154 = r112150 || r112153;
double r112155 = 1.0;
double r112156 = -r112155;
double r112157 = 2.0;
double r112158 = pow(r112148, r112157);
double r112159 = r112156 / r112158;
double r112160 = 3.0;
double r112161 = r112160 / r112148;
double r112162 = r112159 - r112161;
double r112163 = 3.0;
double r112164 = pow(r112148, r112163);
double r112165 = r112160 / r112164;
double r112166 = r112162 - r112165;
double r112167 = r112148 - r112155;
double r112168 = r112148 * r112167;
double r112169 = r112148 + r112155;
double r112170 = r112169 * r112169;
double r112171 = r112168 - r112170;
double r112172 = r112148 * r112148;
double r112173 = r112155 * r112155;
double r112174 = r112172 - r112173;
double r112175 = r112171 / r112174;
double r112176 = exp(r112175);
double r112177 = log(r112176);
double r112178 = r112154 ? r112166 : r112177;
return r112178;
}



Bits error versus x
Results
if x < -14610.347047709978 or 11258.21718550442 < x Initial program 59.2
rmApplied flip-+60.4
Applied associate-/r/60.4
Applied fma-neg60.2
Taylor expanded around inf 0.4
Simplified0.0
if -14610.347047709978 < x < 11258.21718550442Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
rmApplied frac-sub0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020001 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))