Average Error: 29.7 → 0.2
Time: 5.0m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -27596.369944095844:\\ \;\;\;\;\frac{\frac{-48}{\left(x \cdot x\right) \cdot x} - \left(\frac{9}{x} + \frac{12}{x \cdot x}\right)}{\left(\frac{1 + x}{x - 1} \cdot \frac{x}{1 + x} + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) + \frac{x}{1 + x} \cdot \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 12988.445966310597:\\ \;\;\;\;\frac{\frac{{x}^{3} \cdot {\left(x - 1\right)}^{3} - {\left(1 + x\right)}^{3} \cdot {\left(1 + x\right)}^{3}}{{\left(x - 1\right)}^{3} \cdot {\left(1 + x\right)}^{3}}}{\left(\frac{1 + x}{x - 1} \cdot \frac{x}{1 + x} + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) + \frac{x}{1 + x} \cdot \frac{x}{1 + x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{\frac{-1}{x}}{x \cdot x} + \frac{-1}{x}\right) \cdot 3\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -27596.369944095844:\\
\;\;\;\;\frac{\frac{-48}{\left(x \cdot x\right) \cdot x} - \left(\frac{9}{x} + \frac{12}{x \cdot x}\right)}{\left(\frac{1 + x}{x - 1} \cdot \frac{x}{1 + x} + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) + \frac{x}{1 + x} \cdot \frac{x}{1 + x}}\\

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

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

\end{array}
double f(double x) {
        double r55448400 = x;
        double r55448401 = 1.0;
        double r55448402 = r55448400 + r55448401;
        double r55448403 = r55448400 / r55448402;
        double r55448404 = r55448400 - r55448401;
        double r55448405 = r55448402 / r55448404;
        double r55448406 = r55448403 - r55448405;
        return r55448406;
}

double f(double x) {
        double r55448407 = x;
        double r55448408 = -27596.369944095844;
        bool r55448409 = r55448407 <= r55448408;
        double r55448410 = -48.0;
        double r55448411 = r55448407 * r55448407;
        double r55448412 = r55448411 * r55448407;
        double r55448413 = r55448410 / r55448412;
        double r55448414 = 9.0;
        double r55448415 = r55448414 / r55448407;
        double r55448416 = 12.0;
        double r55448417 = r55448416 / r55448411;
        double r55448418 = r55448415 + r55448417;
        double r55448419 = r55448413 - r55448418;
        double r55448420 = 1.0;
        double r55448421 = r55448420 + r55448407;
        double r55448422 = r55448407 - r55448420;
        double r55448423 = r55448421 / r55448422;
        double r55448424 = r55448407 / r55448421;
        double r55448425 = r55448423 * r55448424;
        double r55448426 = r55448423 * r55448423;
        double r55448427 = r55448425 + r55448426;
        double r55448428 = r55448424 * r55448424;
        double r55448429 = r55448427 + r55448428;
        double r55448430 = r55448419 / r55448429;
        double r55448431 = 12988.445966310597;
        bool r55448432 = r55448407 <= r55448431;
        double r55448433 = 3.0;
        double r55448434 = pow(r55448407, r55448433);
        double r55448435 = pow(r55448422, r55448433);
        double r55448436 = r55448434 * r55448435;
        double r55448437 = pow(r55448421, r55448433);
        double r55448438 = r55448437 * r55448437;
        double r55448439 = r55448436 - r55448438;
        double r55448440 = r55448435 * r55448437;
        double r55448441 = r55448439 / r55448440;
        double r55448442 = r55448441 / r55448429;
        double r55448443 = -1.0;
        double r55448444 = r55448443 / r55448411;
        double r55448445 = r55448443 / r55448407;
        double r55448446 = r55448445 / r55448411;
        double r55448447 = r55448446 + r55448445;
        double r55448448 = r55448447 * r55448433;
        double r55448449 = r55448444 + r55448448;
        double r55448450 = r55448432 ? r55448442 : r55448449;
        double r55448451 = r55448409 ? r55448430 : r55448450;
        return r55448451;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if x < -27596.369944095844

    1. Initial program 59.3

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

      \[\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. Using strategy rm
    5. Applied add-log-exp59.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{{\left(\frac{x}{x + 1}\right)}^{3} - {\left(\frac{x + 1}{x - 1}\right)}^{3}}\right)}}{\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)}\]
    6. Taylor expanded around inf 0.4

      \[\leadsto \frac{\color{blue}{-\left(48 \cdot \frac{1}{{x}^{3}} + \left(12 \cdot \frac{1}{{x}^{2}} + 9 \cdot \frac{1}{x}\right)\right)}}{\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)}\]
    7. Simplified0.3

      \[\leadsto \frac{\color{blue}{\frac{-48}{x \cdot \left(x \cdot x\right)} - \left(\frac{12}{x \cdot x} + \frac{9}{x}\right)}}{\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)}\]

    if -27596.369944095844 < x < 12988.445966310597

    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. Using strategy rm
    5. Applied cube-div0.1

      \[\leadsto \frac{{\left(\frac{x}{x + 1}\right)}^{3} - \color{blue}{\frac{{\left(x + 1\right)}^{3}}{{\left(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)}\]
    6. Applied cube-div0.1

      \[\leadsto \frac{\color{blue}{\frac{{x}^{3}}{{\left(x + 1\right)}^{3}}} - \frac{{\left(x + 1\right)}^{3}}{{\left(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)}\]
    7. Applied frac-sub0.1

      \[\leadsto \frac{\color{blue}{\frac{{x}^{3} \cdot {\left(x - 1\right)}^{3} - {\left(x + 1\right)}^{3} \cdot {\left(x + 1\right)}^{3}}{{\left(x + 1\right)}^{3} \cdot {\left(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)}\]

    if 12988.445966310597 < x

    1. Initial program 59.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -27596.369944095844:\\ \;\;\;\;\frac{\frac{-48}{\left(x \cdot x\right) \cdot x} - \left(\frac{9}{x} + \frac{12}{x \cdot x}\right)}{\left(\frac{1 + x}{x - 1} \cdot \frac{x}{1 + x} + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) + \frac{x}{1 + x} \cdot \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 12988.445966310597:\\ \;\;\;\;\frac{\frac{{x}^{3} \cdot {\left(x - 1\right)}^{3} - {\left(1 + x\right)}^{3} \cdot {\left(1 + x\right)}^{3}}{{\left(x - 1\right)}^{3} \cdot {\left(1 + x\right)}^{3}}}{\left(\frac{1 + x}{x - 1} \cdot \frac{x}{1 + x} + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) + \frac{x}{1 + x} \cdot \frac{x}{1 + x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{\frac{-1}{x}}{x \cdot x} + \frac{-1}{x}\right) \cdot 3\\ \end{array}\]

Reproduce

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