\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;\frac{x}{x + 1} - \frac{x + 1}{x - 1} \le 1.08489217609530896879732608795166015625 \cdot 10^{-10}:\\
\;\;\;\;\frac{-3}{x \cdot \left(x \cdot x\right)} - \left(\frac{1}{x \cdot x} + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + 1} - \frac{1 + x}{x \cdot \left(x \cdot x\right) - 1 \cdot \left(1 \cdot 1\right)} \cdot \left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right)\\
\end{array}double f(double x) {
double r11624146 = x;
double r11624147 = 1.0;
double r11624148 = r11624146 + r11624147;
double r11624149 = r11624146 / r11624148;
double r11624150 = r11624146 - r11624147;
double r11624151 = r11624148 / r11624150;
double r11624152 = r11624149 - r11624151;
return r11624152;
}
double f(double x) {
double r11624153 = x;
double r11624154 = 1.0;
double r11624155 = r11624153 + r11624154;
double r11624156 = r11624153 / r11624155;
double r11624157 = r11624153 - r11624154;
double r11624158 = r11624155 / r11624157;
double r11624159 = r11624156 - r11624158;
double r11624160 = 1.084892176095309e-10;
bool r11624161 = r11624159 <= r11624160;
double r11624162 = 3.0;
double r11624163 = -r11624162;
double r11624164 = r11624153 * r11624153;
double r11624165 = r11624153 * r11624164;
double r11624166 = r11624163 / r11624165;
double r11624167 = r11624154 / r11624164;
double r11624168 = r11624162 / r11624153;
double r11624169 = r11624167 + r11624168;
double r11624170 = r11624166 - r11624169;
double r11624171 = r11624154 + r11624153;
double r11624172 = r11624154 * r11624154;
double r11624173 = r11624154 * r11624172;
double r11624174 = r11624165 - r11624173;
double r11624175 = r11624171 / r11624174;
double r11624176 = r11624153 * r11624154;
double r11624177 = r11624172 + r11624176;
double r11624178 = r11624164 + r11624177;
double r11624179 = r11624175 * r11624178;
double r11624180 = r11624156 - r11624179;
double r11624181 = r11624161 ? r11624170 : r11624180;
return r11624181;
}



Bits error versus x
Results
if (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) < 1.084892176095309e-10Initial program 59.2
Taylor expanded around inf 0.5
Simplified0.3
if 1.084892176095309e-10 < (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) Initial program 0.3
rmApplied flip3--0.3
Applied associate-/r/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019173
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))