Average Error: 29.1 → 0.1
Time: 15.6s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11057.134894624804:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\ \mathbf{elif}\;x \le 10657.861179308382:\\ \;\;\;\;\sqrt[3]{\frac{x \cdot \left(x - 1\right) - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(1 + x\right) \cdot \left(x - 1\right)} \cdot \left(\left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right) \cdot \left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -11057.134894624804:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\

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

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

\end{array}
double f(double x) {
        double r4080333 = x;
        double r4080334 = 1.0;
        double r4080335 = r4080333 + r4080334;
        double r4080336 = r4080333 / r4080335;
        double r4080337 = r4080333 - r4080334;
        double r4080338 = r4080335 / r4080337;
        double r4080339 = r4080336 - r4080338;
        return r4080339;
}

double f(double x) {
        double r4080340 = x;
        double r4080341 = -11057.134894624804;
        bool r4080342 = r4080340 <= r4080341;
        double r4080343 = -1.0;
        double r4080344 = r4080340 * r4080340;
        double r4080345 = r4080343 / r4080344;
        double r4080346 = -3.0;
        double r4080347 = r4080346 / r4080340;
        double r4080348 = r4080347 / r4080344;
        double r4080349 = r4080347 + r4080348;
        double r4080350 = r4080345 + r4080349;
        double r4080351 = 10657.861179308382;
        bool r4080352 = r4080340 <= r4080351;
        double r4080353 = 1.0;
        double r4080354 = r4080340 - r4080353;
        double r4080355 = r4080340 * r4080354;
        double r4080356 = r4080353 + r4080340;
        double r4080357 = r4080356 * r4080356;
        double r4080358 = r4080355 - r4080357;
        double r4080359 = r4080356 * r4080354;
        double r4080360 = r4080358 / r4080359;
        double r4080361 = r4080340 / r4080356;
        double r4080362 = r4080356 / r4080354;
        double r4080363 = r4080361 - r4080362;
        double r4080364 = r4080363 * r4080363;
        double r4080365 = r4080360 * r4080364;
        double r4080366 = cbrt(r4080365);
        double r4080367 = r4080352 ? r4080366 : r4080350;
        double r4080368 = r4080342 ? r4080350 : r4080367;
        return r4080368;
}

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 < -11057.134894624804 or 10657.861179308382 < x

    1. Initial program 59.4

      \[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
    2. 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)}\]
    3. Simplified0.0

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

    if -11057.134894624804 < x < 10657.861179308382

    1. Initial program 0.1

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

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)}}\]
    4. Using strategy rm
    5. Applied frac-sub0.1

      \[\leadsto \sqrt[3]{\left(\left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)\right) \cdot \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 -11057.134894624804:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\ \mathbf{elif}\;x \le 10657.861179308382:\\ \;\;\;\;\sqrt[3]{\frac{x \cdot \left(x - 1\right) - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(1 + x\right) \cdot \left(x - 1\right)} \cdot \left(\left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right) \cdot \left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\ \end{array}\]

Reproduce

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