Average Error: 29.6 → 0.1
Time: 16.9s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -13116.810079769337:\\ \;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \mathbf{elif}\;x \le 11473.666639898413:\\ \;\;\;\;\frac{\left(x - 1\right) \cdot x - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(x - 1\right) \cdot \left(1 + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -13116.810079769337:\\
\;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\

\mathbf{elif}\;x \le 11473.666639898413:\\
\;\;\;\;\frac{\left(x - 1\right) \cdot x - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(x - 1\right) \cdot \left(1 + x\right)}\\

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

\end{array}
double f(double x) {
        double r4840801 = x;
        double r4840802 = 1.0;
        double r4840803 = r4840801 + r4840802;
        double r4840804 = r4840801 / r4840803;
        double r4840805 = r4840801 - r4840802;
        double r4840806 = r4840803 / r4840805;
        double r4840807 = r4840804 - r4840806;
        return r4840807;
}

double f(double x) {
        double r4840808 = x;
        double r4840809 = -13116.810079769337;
        bool r4840810 = r4840808 <= r4840809;
        double r4840811 = -1.0;
        double r4840812 = r4840808 * r4840808;
        double r4840813 = r4840811 / r4840812;
        double r4840814 = -3.0;
        double r4840815 = r4840814 / r4840808;
        double r4840816 = r4840813 + r4840815;
        double r4840817 = r4840812 * r4840808;
        double r4840818 = r4840814 / r4840817;
        double r4840819 = r4840816 + r4840818;
        double r4840820 = 11473.666639898413;
        bool r4840821 = r4840808 <= r4840820;
        double r4840822 = 1.0;
        double r4840823 = r4840808 - r4840822;
        double r4840824 = r4840823 * r4840808;
        double r4840825 = r4840822 + r4840808;
        double r4840826 = r4840825 * r4840825;
        double r4840827 = r4840824 - r4840826;
        double r4840828 = r4840823 * r4840825;
        double r4840829 = r4840827 / r4840828;
        double r4840830 = r4840821 ? r4840829 : r4840819;
        double r4840831 = r4840810 ? r4840819 : r4840830;
        return r4840831;
}

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 < -13116.810079769337 or 11473.666639898413 < x

    1. Initial program 59.2

      \[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
    2. Using strategy rm
    3. Applied add-log-exp59.2

      \[\leadsto \color{blue}{\log \left(e^{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}\right)}\]
    4. Taylor expanded around inf 0.3

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

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

    if -13116.810079769337 < x < 11473.666639898413

    1. Initial program 0.1

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -13116.810079769337:\\ \;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \mathbf{elif}\;x \le 11473.666639898413:\\ \;\;\;\;\frac{\left(x - 1\right) \cdot x - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(x - 1\right) \cdot \left(1 + x\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \end{array}\]

Reproduce

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