Average Error: 29.4 → 0.1
Time: 6.5m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -21007.667771887776:\\ \;\;\;\;\frac{\left(\frac{-5}{x \cdot x} + \frac{-6}{x}\right) + \frac{-16}{x \cdot \left(x \cdot x\right)}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 21980.127985226965:\\ \;\;\;\;\frac{\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{-5}{x \cdot x} + \frac{-6}{x}\right) + \frac{-16}{x \cdot \left(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 -21007.667771887776:\\
\;\;\;\;\frac{\left(\frac{-5}{x \cdot x} + \frac{-6}{x}\right) + \frac{-16}{x \cdot \left(x \cdot x\right)}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\

\mathbf{elif}\;x \le 21980.127985226965:\\
\;\;\;\;\frac{\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\

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

\end{array}
double f(double x) {
        double r28607910 = x;
        double r28607911 = 1.0;
        double r28607912 = r28607910 + r28607911;
        double r28607913 = r28607910 / r28607912;
        double r28607914 = r28607910 - r28607911;
        double r28607915 = r28607912 / r28607914;
        double r28607916 = r28607913 - r28607915;
        return r28607916;
}

double f(double x) {
        double r28607917 = x;
        double r28607918 = -21007.667771887776;
        bool r28607919 = r28607917 <= r28607918;
        double r28607920 = -5.0;
        double r28607921 = r28607917 * r28607917;
        double r28607922 = r28607920 / r28607921;
        double r28607923 = -6.0;
        double r28607924 = r28607923 / r28607917;
        double r28607925 = r28607922 + r28607924;
        double r28607926 = -16.0;
        double r28607927 = r28607917 * r28607921;
        double r28607928 = r28607926 / r28607927;
        double r28607929 = r28607925 + r28607928;
        double r28607930 = 1.0;
        double r28607931 = r28607930 + r28607917;
        double r28607932 = r28607917 - r28607930;
        double r28607933 = r28607931 / r28607932;
        double r28607934 = r28607917 / r28607931;
        double r28607935 = r28607933 + r28607934;
        double r28607936 = r28607929 / r28607935;
        double r28607937 = 21980.127985226965;
        bool r28607938 = r28607917 <= r28607937;
        double r28607939 = r28607934 * r28607934;
        double r28607940 = r28607933 * r28607933;
        double r28607941 = r28607939 - r28607940;
        double r28607942 = r28607941 / r28607935;
        double r28607943 = r28607938 ? r28607942 : r28607936;
        double r28607944 = r28607919 ? r28607936 : r28607943;
        return r28607944;
}

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 < -21007.667771887776 or 21980.127985226965 < x

    1. Initial program 59.4

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

      \[\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(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.0

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

    if -21007.667771887776 < x < 21980.127985226965

    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 -21007.667771887776:\\ \;\;\;\;\frac{\left(\frac{-5}{x \cdot x} + \frac{-6}{x}\right) + \frac{-16}{x \cdot \left(x \cdot x\right)}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{elif}\;x \le 21980.127985226965:\\ \;\;\;\;\frac{\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{-5}{x \cdot x} + \frac{-6}{x}\right) + \frac{-16}{x \cdot \left(x \cdot x\right)}}{\frac{1 + x}{x - 1} + \frac{x}{1 + x}}\\ \end{array}\]

Reproduce

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