\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -14602191067748986.0:\\
\;\;\;\;\frac{-2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \left(\frac{2}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)} + \frac{2}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 1045.373713430934:\\
\;\;\;\;\sqrt[3]{\frac{1}{\sqrt[3]{x \cdot x - 1} \cdot \sqrt[3]{x \cdot x - 1}} \cdot \frac{\frac{1}{\sqrt[3]{x \cdot x - 1}}}{\left(x \cdot x - 1\right) \cdot \left(x \cdot x - 1\right)}} \cdot -2\\
\mathbf{else}:\\
\;\;\;\;\frac{-2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)} - \left(\frac{2}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)} + \frac{2}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r3417064 = 1.0;
double r3417065 = x;
double r3417066 = r3417065 + r3417064;
double r3417067 = r3417064 / r3417066;
double r3417068 = r3417065 - r3417064;
double r3417069 = r3417064 / r3417068;
double r3417070 = r3417067 - r3417069;
return r3417070;
}
double f(double x) {
double r3417071 = x;
double r3417072 = -14602191067748986.0;
bool r3417073 = r3417071 <= r3417072;
double r3417074 = -2.0;
double r3417075 = r3417071 * r3417071;
double r3417076 = r3417075 * r3417075;
double r3417077 = r3417074 / r3417076;
double r3417078 = 2.0;
double r3417079 = r3417075 * r3417076;
double r3417080 = r3417078 / r3417079;
double r3417081 = r3417078 / r3417075;
double r3417082 = r3417080 + r3417081;
double r3417083 = r3417077 - r3417082;
double r3417084 = 1045.373713430934;
bool r3417085 = r3417071 <= r3417084;
double r3417086 = 1.0;
double r3417087 = r3417075 - r3417086;
double r3417088 = cbrt(r3417087);
double r3417089 = r3417088 * r3417088;
double r3417090 = r3417086 / r3417089;
double r3417091 = r3417086 / r3417088;
double r3417092 = r3417087 * r3417087;
double r3417093 = r3417091 / r3417092;
double r3417094 = r3417090 * r3417093;
double r3417095 = cbrt(r3417094);
double r3417096 = r3417095 * r3417074;
double r3417097 = r3417085 ? r3417096 : r3417083;
double r3417098 = r3417073 ? r3417083 : r3417097;
return r3417098;
}



Bits error versus x
Results
if x < -14602191067748986.0 or 1045.373713430934 < x Initial program 29.6
Taylor expanded around -inf 0.8
Simplified0.8
if -14602191067748986.0 < x < 1045.373713430934Initial program 0.6
rmApplied flip--0.6
Applied associate-/r/0.6
Applied flip-+0.6
Applied associate-/r/0.6
Applied distribute-lft-out--0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied cbrt-undiv0.1
Simplified0.1
Taylor expanded around inf 0.0
rmApplied *-un-lft-identity0.0
Applied *-un-lft-identity0.0
Applied add-cube-cbrt0.0
Applied add-cube-cbrt0.0
Applied times-frac0.0
Applied times-frac0.0
Applied times-frac0.0
Simplified0.0
Simplified0.0
Final simplification0.4
herbie shell --seed 2019128
(FPCore (x)
:name "Asymptote A"
(- (/ 1 (+ x 1)) (/ 1 (- x 1))))