Average Error: 29.7 → 0.1
Time: 12.2s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -10439.15205635957318008877336978912353516 \lor \neg \left(x \le 11917.97074271185010729823261499404907227\right):\\ \;\;\;\;\frac{-\left(\frac{1}{x} + 3\right)}{x} - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -10439.15205635957318008877336978912353516 \lor \neg \left(x \le 11917.97074271185010729823261499404907227\right):\\
\;\;\;\;\frac{-\left(\frac{1}{x} + 3\right)}{x} - \frac{3}{{x}^{3}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}\\

\end{array}
double f(double x) {
        double r92274 = x;
        double r92275 = 1.0;
        double r92276 = r92274 + r92275;
        double r92277 = r92274 / r92276;
        double r92278 = r92274 - r92275;
        double r92279 = r92276 / r92278;
        double r92280 = r92277 - r92279;
        return r92280;
}

double f(double x) {
        double r92281 = x;
        double r92282 = -10439.152056359573;
        bool r92283 = r92281 <= r92282;
        double r92284 = 11917.97074271185;
        bool r92285 = r92281 <= r92284;
        double r92286 = !r92285;
        bool r92287 = r92283 || r92286;
        double r92288 = 1.0;
        double r92289 = r92288 / r92281;
        double r92290 = 3.0;
        double r92291 = r92289 + r92290;
        double r92292 = -r92291;
        double r92293 = r92292 / r92281;
        double r92294 = 3.0;
        double r92295 = pow(r92281, r92294);
        double r92296 = r92290 / r92295;
        double r92297 = r92293 - r92296;
        double r92298 = r92288 - r92281;
        double r92299 = r92288 * r92298;
        double r92300 = r92299 * r92281;
        double r92301 = r92295 + r92300;
        double r92302 = pow(r92288, r92294);
        double r92303 = r92295 + r92302;
        double r92304 = r92281 - r92288;
        double r92305 = r92303 / r92304;
        double r92306 = r92281 + r92288;
        double r92307 = r92305 * r92306;
        double r92308 = r92301 - r92307;
        double r92309 = r92281 * r92281;
        double r92310 = r92309 + r92299;
        double r92311 = r92310 * r92306;
        double r92312 = r92308 / r92311;
        double r92313 = r92287 ? r92297 : r92312;
        return r92313;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -10439.152056359573 or 11917.97074271185 < x

    1. Initial program 59.3

      \[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
    2. Taylor expanded around inf 0.3

      \[\leadsto \color{blue}{-\left(1 \cdot \frac{1}{{x}^{2}} + \left(3 \cdot \frac{1}{x} + 3 \cdot \frac{1}{{x}^{3}}\right)\right)}\]
    3. Simplified0.3

      \[\leadsto \color{blue}{\frac{-1}{x} \cdot \left(\frac{1}{x} + 3\right) - \frac{3}{{x}^{3}}}\]
    4. Using strategy rm
    5. Applied associate-*l/0.0

      \[\leadsto \color{blue}{\frac{-1 \cdot \left(\frac{1}{x} + 3\right)}{x}} - \frac{3}{{x}^{3}}\]
    6. Simplified0.0

      \[\leadsto \frac{\color{blue}{-\left(\frac{1}{x} + 3\right)}}{x} - \frac{3}{{x}^{3}}\]

    if -10439.152056359573 < x < 11917.97074271185

    1. Initial program 0.1

      \[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
    2. Using strategy rm
    3. Applied flip--0.1

      \[\leadsto \frac{x}{x + 1} - \frac{x + 1}{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x + 1}}}\]
    4. Applied associate-/r/0.1

      \[\leadsto \frac{x}{x + 1} - \color{blue}{\frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)}\]
    5. Simplified0.1

      \[\leadsto \frac{x}{x + 1} - \color{blue}{\frac{1}{x - 1}} \cdot \left(x + 1\right)\]
    6. Using strategy rm
    7. Applied flip3-+0.1

      \[\leadsto \frac{x}{x + 1} - \frac{1}{x - 1} \cdot \color{blue}{\frac{{x}^{3} + {1}^{3}}{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}\]
    8. Applied associate-*r/0.1

      \[\leadsto \frac{x}{x + 1} - \color{blue}{\frac{\frac{1}{x - 1} \cdot \left({x}^{3} + {1}^{3}\right)}{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}}\]
    9. Applied frac-sub0.1

      \[\leadsto \color{blue}{\frac{x \cdot \left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right) - \left(x + 1\right) \cdot \left(\frac{1}{x - 1} \cdot \left({x}^{3} + {1}^{3}\right)\right)}{\left(x + 1\right) \cdot \left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right)}}\]
    10. Simplified0.1

      \[\leadsto \frac{\color{blue}{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}}{\left(x + 1\right) \cdot \left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right)}\]
    11. Simplified0.1

      \[\leadsto \frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}{\color{blue}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -10439.15205635957318008877336978912353516 \lor \neg \left(x \le 11917.97074271185010729823261499404907227\right):\\ \;\;\;\;\frac{-\left(\frac{1}{x} + 3\right)}{x} - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \frac{{x}^{3} + {1}^{3}}{x - 1} \cdot \left(x + 1\right)}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019325 
(FPCore (x)
  :name "Asymptote C"
  :precision binary64
  (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))