Average Error: 29.1 → 0.1
Time: 4.8s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -15437.909064845162 \lor \neg \left(x \le 18728.687527369679\right):\\ \;\;\;\;\frac{-\left(5 \cdot \frac{1}{{x}^{2}} + \left({\left(\frac{6}{x}\right)}^{1} + 16 \cdot \frac{1}{{x}^{3}}\right)\right)}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\ \mathbf{else}:\\ \;\;\;\;\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}}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -15437.909064845162 \lor \neg \left(x \le 18728.687527369679\right):\\
\;\;\;\;\frac{-\left(5 \cdot \frac{1}{{x}^{2}} + \left({\left(\frac{6}{x}\right)}^{1} + 16 \cdot \frac{1}{{x}^{3}}\right)\right)}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\

\mathbf{else}:\\
\;\;\;\;\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}}\\

\end{array}
double f(double x) {
        double r117886 = x;
        double r117887 = 1.0;
        double r117888 = r117886 + r117887;
        double r117889 = r117886 / r117888;
        double r117890 = r117886 - r117887;
        double r117891 = r117888 / r117890;
        double r117892 = r117889 - r117891;
        return r117892;
}

double f(double x) {
        double r117893 = x;
        double r117894 = -15437.909064845162;
        bool r117895 = r117893 <= r117894;
        double r117896 = 18728.68752736968;
        bool r117897 = r117893 <= r117896;
        double r117898 = !r117897;
        bool r117899 = r117895 || r117898;
        double r117900 = 5.0;
        double r117901 = 1.0;
        double r117902 = 2.0;
        double r117903 = pow(r117893, r117902);
        double r117904 = r117901 / r117903;
        double r117905 = r117900 * r117904;
        double r117906 = 6.0;
        double r117907 = r117906 / r117893;
        double r117908 = pow(r117907, r117901);
        double r117909 = 16.0;
        double r117910 = 3.0;
        double r117911 = pow(r117893, r117910);
        double r117912 = r117901 / r117911;
        double r117913 = r117909 * r117912;
        double r117914 = r117908 + r117913;
        double r117915 = r117905 + r117914;
        double r117916 = -r117915;
        double r117917 = 1.0;
        double r117918 = r117893 + r117917;
        double r117919 = r117893 / r117918;
        double r117920 = r117893 - r117917;
        double r117921 = r117918 / r117920;
        double r117922 = r117919 + r117921;
        double r117923 = r117916 / r117922;
        double r117924 = r117919 * r117919;
        double r117925 = r117921 * r117921;
        double r117926 = r117924 - r117925;
        double r117927 = r117926 / r117922;
        double r117928 = r117899 ? r117923 : r117927;
        return r117928;
}

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 < -15437.909064845162 or 18728.68752736968 < x

    1. Initial program 59.5

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

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

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

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

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

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

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

    if -15437.909064845162 < x < 18728.68752736968

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -15437.909064845162 \lor \neg \left(x \le 18728.687527369679\right):\\ \;\;\;\;\frac{-\left(5 \cdot \frac{1}{{x}^{2}} + \left({\left(\frac{6}{x}\right)}^{1} + 16 \cdot \frac{1}{{x}^{3}}\right)\right)}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\ \mathbf{else}:\\ \;\;\;\;\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}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 +o rules:numerics
(FPCore (x)
  :name "Asymptote C"
  :precision binary64
  (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))