Average Error: 29.2 → 0.1
Time: 16.9s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11119.68978976541075098793953657150268555 \lor \neg \left(x \le 14760.89647203507229278329759836196899414\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{\left({\left(\frac{x}{x + 1}\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 -11119.68978976541075098793953657150268555 \lor \neg \left(x \le 14760.89647203507229278329759836196899414\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{{\left({\left(\frac{x}{x + 1}\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 r64683 = x;
        double r64684 = 1.0;
        double r64685 = r64683 + r64684;
        double r64686 = r64683 / r64685;
        double r64687 = r64683 - r64684;
        double r64688 = r64685 / r64687;
        double r64689 = r64686 - r64688;
        return r64689;
}

double f(double x) {
        double r64690 = x;
        double r64691 = -11119.68978976541;
        bool r64692 = r64690 <= r64691;
        double r64693 = 14760.896472035072;
        bool r64694 = r64690 <= r64693;
        double r64695 = !r64694;
        bool r64696 = r64692 || r64695;
        double r64697 = 1.0;
        double r64698 = -r64697;
        double r64699 = 2.0;
        double r64700 = pow(r64690, r64699);
        double r64701 = r64698 / r64700;
        double r64702 = 3.0;
        double r64703 = r64702 / r64690;
        double r64704 = r64701 - r64703;
        double r64705 = 3.0;
        double r64706 = pow(r64690, r64705);
        double r64707 = r64702 / r64706;
        double r64708 = r64704 - r64707;
        double r64709 = r64690 + r64697;
        double r64710 = r64690 / r64709;
        double r64711 = pow(r64710, r64705);
        double r64712 = pow(r64711, r64705);
        double r64713 = r64690 - r64697;
        double r64714 = r64709 / r64713;
        double r64715 = pow(r64714, r64705);
        double r64716 = pow(r64715, r64705);
        double r64717 = r64712 - r64716;
        double r64718 = 6.0;
        double r64719 = pow(r64710, r64718);
        double r64720 = pow(r64714, r64718);
        double r64721 = r64719 + r64720;
        double r64722 = r64711 * r64715;
        double r64723 = r64721 + r64722;
        double r64724 = r64717 / r64723;
        double r64725 = r64714 + r64710;
        double r64726 = r64714 * r64725;
        double r64727 = r64710 * r64710;
        double r64728 = r64726 + r64727;
        double r64729 = r64724 / r64728;
        double r64730 = r64696 ? r64708 : r64729;
        return r64730;
}

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 < -11119.68978976541 or 14760.896472035072 < 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}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}}\]

    if -11119.68978976541 < x < 14760.896472035072

    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}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -11119.68978976541075098793953657150268555 \lor \neg \left(x \le 14760.89647203507229278329759836196899414\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{\left({\left(\frac{x}{x + 1}\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 2019297 
(FPCore (x)
  :name "Asymptote C"
  :precision binary64
  (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))