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

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

\end{array}
double f(double x) {
        double r145669 = x;
        double r145670 = 1.0;
        double r145671 = r145669 + r145670;
        double r145672 = r145669 / r145671;
        double r145673 = r145669 - r145670;
        double r145674 = r145671 / r145673;
        double r145675 = r145672 - r145674;
        return r145675;
}

double f(double x) {
        double r145676 = x;
        double r145677 = -13977.716507512701;
        bool r145678 = r145676 <= r145677;
        double r145679 = 15234.7229848299;
        bool r145680 = r145676 <= r145679;
        double r145681 = !r145680;
        bool r145682 = r145678 || r145681;
        double r145683 = 1.0;
        double r145684 = r145676 * r145676;
        double r145685 = r145683 / r145684;
        double r145686 = -r145685;
        double r145687 = 3.0;
        double r145688 = 3.0;
        double r145689 = pow(r145676, r145688);
        double r145690 = r145687 / r145689;
        double r145691 = r145687 / r145676;
        double r145692 = r145690 + r145691;
        double r145693 = r145686 - r145692;
        double r145694 = r145684 * r145684;
        double r145695 = r145676 - r145683;
        double r145696 = r145695 * r145695;
        double r145697 = r145696 * r145696;
        double r145698 = r145694 * r145697;
        double r145699 = r145676 + r145683;
        double r145700 = r145699 * r145699;
        double r145701 = r145700 * r145700;
        double r145702 = r145701 * r145701;
        double r145703 = r145698 - r145702;
        double r145704 = r145676 / r145699;
        double r145705 = r145699 / r145695;
        double r145706 = r145704 + r145705;
        double r145707 = r145704 * r145704;
        double r145708 = r145705 * r145705;
        double r145709 = r145707 + r145708;
        double r145710 = r145706 * r145709;
        double r145711 = 4.0;
        double r145712 = pow(r145699, r145711);
        double r145713 = r145710 * r145712;
        double r145714 = pow(r145695, r145711);
        double r145715 = r145713 * r145714;
        double r145716 = r145703 / r145715;
        double r145717 = r145682 ? r145693 : r145716;
        return r145717;
}

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 < -13977.716507512701 or 15234.7229848299 < x

    1. Initial program 59.1

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

    if -13977.716507512701 < x < 15234.7229848299

    1. Initial program 0.1

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

      \[\leadsto \color{blue}{\frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}}\]
    4. Using strategy rm
    5. Applied flip--0.1

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

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

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

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

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

      \[\leadsto \frac{\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \color{blue}{\frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)}} - \frac{\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}{\left(\left(x - 1\right) \cdot \left(x - 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)}}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} + \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\]
    12. Applied frac-times0.1

      \[\leadsto \frac{\color{blue}{\frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)}} \cdot \frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)} - \frac{\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}{\left(\left(x - 1\right) \cdot \left(x - 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)}}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} + \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\]
    13. Applied frac-times0.1

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

      \[\leadsto \frac{\color{blue}{\frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x - 1\right) \cdot \left(x - 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)\right) - \left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right) \cdot \left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right)}{\left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right) \cdot \left(\left(\left(x - 1\right) \cdot \left(x - 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)\right)}}}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} + \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\]
    15. Applied associate-/l/0.1

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

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

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

Reproduce

herbie shell --seed 2019199 
(FPCore (x)
  :name "Asymptote C"
  (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))