Average Error: 29.3 → 0.1
Time: 8.4s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -9583.75219015474613 \lor \neg \left(x \le 9075.83700632324144\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{\left({\left(\frac{x}{{x}^{3} + {1}^{3}}\right)}^{3}\right)}^{3} \cdot {\left({\left(1 \cdot \left(1 - x\right) + {x}^{2}\right)}^{3}\right)}^{3} - {\left({\left(\frac{x + 1}{x - 1}\right)}^{3}\right)}^{3}}{\left({\left(\frac{x}{x + 1}\right)}^{6} + {\left(\frac{x + 1}{x - 1}\right)}^{6}\right) + {\left(\frac{x}{x + 1}\right)}^{3} \cdot {\left(\frac{x + 1}{x - 1}\right)}^{3}}}{\frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} + \frac{x}{x + 1}\right) + \frac{x}{x + 1} \cdot \frac{x}{x + 1}}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -9583.75219015474613 \lor \neg \left(x \le 9075.83700632324144\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\

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

\end{array}
double f(double x) {
        double r132377 = x;
        double r132378 = 1.0;
        double r132379 = r132377 + r132378;
        double r132380 = r132377 / r132379;
        double r132381 = r132377 - r132378;
        double r132382 = r132379 / r132381;
        double r132383 = r132380 - r132382;
        return r132383;
}

double f(double x) {
        double r132384 = x;
        double r132385 = -9583.752190154746;
        bool r132386 = r132384 <= r132385;
        double r132387 = 9075.837006323241;
        bool r132388 = r132384 <= r132387;
        double r132389 = !r132388;
        bool r132390 = r132386 || r132389;
        double r132391 = 1.0;
        double r132392 = -r132391;
        double r132393 = 2.0;
        double r132394 = pow(r132384, r132393);
        double r132395 = r132392 / r132394;
        double r132396 = 3.0;
        double r132397 = r132396 / r132384;
        double r132398 = r132395 - r132397;
        double r132399 = 3.0;
        double r132400 = pow(r132384, r132399);
        double r132401 = r132396 / r132400;
        double r132402 = r132398 - r132401;
        double r132403 = pow(r132391, r132399);
        double r132404 = r132400 + r132403;
        double r132405 = r132384 / r132404;
        double r132406 = pow(r132405, r132399);
        double r132407 = pow(r132406, r132399);
        double r132408 = r132391 - r132384;
        double r132409 = r132391 * r132408;
        double r132410 = r132409 + r132394;
        double r132411 = pow(r132410, r132399);
        double r132412 = pow(r132411, r132399);
        double r132413 = r132407 * r132412;
        double r132414 = r132384 + r132391;
        double r132415 = r132384 - r132391;
        double r132416 = r132414 / r132415;
        double r132417 = pow(r132416, r132399);
        double r132418 = pow(r132417, r132399);
        double r132419 = r132413 - r132418;
        double r132420 = r132384 / r132414;
        double r132421 = 6.0;
        double r132422 = pow(r132420, r132421);
        double r132423 = pow(r132416, r132421);
        double r132424 = r132422 + r132423;
        double r132425 = pow(r132420, r132399);
        double r132426 = r132425 * r132417;
        double r132427 = r132424 + r132426;
        double r132428 = r132419 / r132427;
        double r132429 = r132416 + r132420;
        double r132430 = r132416 * r132429;
        double r132431 = r132420 * r132420;
        double r132432 = r132430 + r132431;
        double r132433 = r132428 / r132432;
        double r132434 = r132390 ? r132402 : r132433;
        return r132434;
}

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 < -9583.752190154746 or 9075.837006323241 < x

    1. Initial program 59.4

      \[\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.0

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

    if -9583.752190154746 < x < 9075.837006323241

    1. Initial program 0.1

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

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

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

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

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

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

      \[\leadsto \frac{\frac{{\left({\color{blue}{\left(\frac{x}{{x}^{3} + {1}^{3}} \cdot \left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right)\right)}}^{3}\right)}^{3} - {\left({\left(\frac{x + 1}{x - 1}\right)}^{3}\right)}^{3}}{\left({\left(\frac{x}{x + 1}\right)}^{6} + {\left(\frac{x + 1}{x - 1}\right)}^{6}\right) + {\left(\frac{x}{x + 1}\right)}^{3} \cdot {\left(\frac{x + 1}{x - 1}\right)}^{3}}}{\frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} + \frac{x}{x + 1}\right) + \frac{x}{x + 1} \cdot \frac{x}{x + 1}}\]
    11. Applied unpow-prod-down0.1

      \[\leadsto \frac{\frac{{\color{blue}{\left({\left(\frac{x}{{x}^{3} + {1}^{3}}\right)}^{3} \cdot {\left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right)}^{3}\right)}}^{3} - {\left({\left(\frac{x + 1}{x - 1}\right)}^{3}\right)}^{3}}{\left({\left(\frac{x}{x + 1}\right)}^{6} + {\left(\frac{x + 1}{x - 1}\right)}^{6}\right) + {\left(\frac{x}{x + 1}\right)}^{3} \cdot {\left(\frac{x + 1}{x - 1}\right)}^{3}}}{\frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} + \frac{x}{x + 1}\right) + \frac{x}{x + 1} \cdot \frac{x}{x + 1}}\]
    12. Applied unpow-prod-down0.1

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

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

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

Reproduce

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