\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -9606.7707320121335 \lor \neg \left(x \le 13257.47252325277\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{{\left(x \cdot x\right)}^{3} \cdot {\left(x - 1\right)}^{3} - {\left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}^{3} \cdot {\left(\left(x + 1\right) \cdot \frac{x + 1}{x - 1}\right)}^{3}}{{\left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}^{3} \cdot {\left(x - 1\right)}^{3}}}{\left(\left({\left(\frac{x}{x + 1}\right)}^{4} + \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)\right) + {\left(\frac{x + 1}{x - 1}\right)}^{4}\right) \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}\\
\end{array}double f(double x) {
double r128177 = x;
double r128178 = 1.0;
double r128179 = r128177 + r128178;
double r128180 = r128177 / r128179;
double r128181 = r128177 - r128178;
double r128182 = r128179 / r128181;
double r128183 = r128180 - r128182;
return r128183;
}
double f(double x) {
double r128184 = x;
double r128185 = -9606.770732012134;
bool r128186 = r128184 <= r128185;
double r128187 = 13257.47252325277;
bool r128188 = r128184 <= r128187;
double r128189 = !r128188;
bool r128190 = r128186 || r128189;
double r128191 = 1.0;
double r128192 = -r128191;
double r128193 = 2.0;
double r128194 = pow(r128184, r128193);
double r128195 = r128192 / r128194;
double r128196 = 3.0;
double r128197 = r128196 / r128184;
double r128198 = r128195 - r128197;
double r128199 = 3.0;
double r128200 = pow(r128184, r128199);
double r128201 = r128196 / r128200;
double r128202 = r128198 - r128201;
double r128203 = r128184 * r128184;
double r128204 = pow(r128203, r128199);
double r128205 = r128184 - r128191;
double r128206 = pow(r128205, r128199);
double r128207 = r128204 * r128206;
double r128208 = r128184 + r128191;
double r128209 = r128208 * r128208;
double r128210 = pow(r128209, r128199);
double r128211 = r128208 / r128205;
double r128212 = r128208 * r128211;
double r128213 = pow(r128212, r128199);
double r128214 = r128210 * r128213;
double r128215 = r128207 - r128214;
double r128216 = r128210 * r128206;
double r128217 = r128215 / r128216;
double r128218 = r128184 / r128208;
double r128219 = 4.0;
double r128220 = pow(r128218, r128219);
double r128221 = r128218 * r128218;
double r128222 = r128211 * r128211;
double r128223 = r128221 * r128222;
double r128224 = r128220 + r128223;
double r128225 = pow(r128211, r128219);
double r128226 = r128224 + r128225;
double r128227 = r128218 + r128211;
double r128228 = r128226 * r128227;
double r128229 = r128217 / r128228;
double r128230 = r128190 ? r128202 : r128229;
return r128230;
}



Bits error versus x
Results
if x < -9606.770732012134 or 13257.47252325277 < x Initial program 59.2
Taylor expanded around inf 0.3
Simplified0.0
if -9606.770732012134 < x < 13257.47252325277Initial program 0.1
rmApplied flip--0.1
rmApplied flip3--0.1
Applied associate-/l/0.1
Simplified0.1
rmApplied associate-*r/0.1
Applied cube-div0.1
Applied frac-times0.1
Applied cube-div0.1
Applied frac-sub0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020035
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))