Average Error: 29.0 → 0.1
Time: 7.2m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -18647.237524992543:\\ \;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 14339.011687100816:\\ \;\;\;\;\frac{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right)}{\left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}}\right) + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} + \frac{x}{1 + x}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -18647.237524992543:\\
\;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\

\mathbf{elif}\;x \le 14339.011687100816:\\
\;\;\;\;\frac{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right)}{\left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}}\right) + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} + \frac{x}{1 + x}\right)}\\

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

\end{array}
double f(double x) {
        double r51508879 = x;
        double r51508880 = 1.0;
        double r51508881 = r51508879 + r51508880;
        double r51508882 = r51508879 / r51508881;
        double r51508883 = r51508879 - r51508880;
        double r51508884 = r51508881 / r51508883;
        double r51508885 = r51508882 - r51508884;
        return r51508885;
}

double f(double x) {
        double r51508886 = x;
        double r51508887 = -18647.237524992543;
        bool r51508888 = r51508886 <= r51508887;
        double r51508889 = -16.0;
        double r51508890 = r51508886 * r51508886;
        double r51508891 = r51508890 * r51508886;
        double r51508892 = r51508889 / r51508891;
        double r51508893 = 6.0;
        double r51508894 = r51508893 / r51508886;
        double r51508895 = 5.0;
        double r51508896 = r51508895 / r51508890;
        double r51508897 = r51508894 + r51508896;
        double r51508898 = r51508892 - r51508897;
        double r51508899 = 1.0;
        double r51508900 = r51508899 + r51508886;
        double r51508901 = r51508886 - r51508899;
        double r51508902 = r51508900 / r51508901;
        double r51508903 = r51508886 / r51508900;
        double r51508904 = r51508902 + r51508903;
        double r51508905 = r51508898 / r51508904;
        double r51508906 = 14339.011687100816;
        bool r51508907 = r51508886 <= r51508906;
        double r51508908 = r51508903 * r51508903;
        double r51508909 = r51508908 * r51508908;
        double r51508910 = r51508902 * r51508902;
        double r51508911 = r51508910 * r51508910;
        double r51508912 = r51508909 - r51508911;
        double r51508913 = cbrt(r51508908);
        double r51508914 = r51508913 * r51508913;
        double r51508915 = r51508913 * r51508914;
        double r51508916 = r51508915 + r51508910;
        double r51508917 = r51508916 * r51508904;
        double r51508918 = r51508912 / r51508917;
        double r51508919 = r51508907 ? r51508918 : r51508905;
        double r51508920 = r51508888 ? r51508905 : r51508919;
        return r51508920;
}

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 < -18647.237524992543 or 14339.011687100816 < x

    1. Initial program 59.2

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

      \[\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. Taylor expanded around -inf 0.4

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

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

    if -18647.237524992543 < x < 14339.011687100816

    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 add-cube-cbrt0.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 \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(\color{blue}{\left(\sqrt[3]{\frac{x}{x + 1} \cdot \frac{x}{x + 1}} \cdot \sqrt[3]{\frac{x}{x + 1} \cdot \frac{x}{x + 1}}\right) \cdot \sqrt[3]{\frac{x}{x + 1} \cdot \frac{x}{x + 1}}} + \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -18647.237524992543:\\ \;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 14339.011687100816:\\ \;\;\;\;\frac{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right)}{\left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \left(\sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}} \cdot \sqrt[3]{\frac{x}{1 + x} \cdot \frac{x}{1 + x}}\right) + \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \left(\frac{1 + x}{x - 1} + \frac{x}{1 + x}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-16}{\left(x \cdot x\right) \cdot x} - \left(\frac{6}{x} + \frac{5}{x \cdot x}\right)}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \end{array}\]

Reproduce

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