Average Error: 29.1 → 0.1
Time: 1.1m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11057.134894624804:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \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}:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot 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 -11057.134894624804:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\

\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}:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\

\end{array}
double f(double x) {
        double r4488280 = x;
        double r4488281 = 1.0;
        double r4488282 = r4488280 + r4488281;
        double r4488283 = r4488280 / r4488282;
        double r4488284 = r4488280 - r4488281;
        double r4488285 = r4488282 / r4488284;
        double r4488286 = r4488283 - r4488285;
        return r4488286;
}

double f(double x) {
        double r4488287 = x;
        double r4488288 = -11057.134894624804;
        bool r4488289 = r4488287 <= r4488288;
        double r4488290 = -3.0;
        double r4488291 = r4488290 / r4488287;
        double r4488292 = -1.0;
        double r4488293 = r4488287 * r4488287;
        double r4488294 = r4488292 / r4488293;
        double r4488295 = r4488291 + r4488294;
        double r4488296 = r4488293 * r4488287;
        double r4488297 = r4488290 / r4488296;
        double r4488298 = r4488295 + r4488297;
        double r4488299 = 10657.861179308382;
        bool r4488300 = r4488287 <= r4488299;
        double r4488301 = 1.0;
        double r4488302 = r4488287 - r4488301;
        double r4488303 = r4488287 * r4488302;
        double r4488304 = r4488301 + r4488287;
        double r4488305 = r4488304 * r4488304;
        double r4488306 = r4488303 - r4488305;
        double r4488307 = r4488304 * r4488302;
        double r4488308 = r4488306 / r4488307;
        double r4488309 = r4488287 / r4488304;
        double r4488310 = r4488304 / r4488302;
        double r4488311 = r4488309 - r4488310;
        double r4488312 = r4488311 * r4488311;
        double r4488313 = r4488308 * r4488312;
        double r4488314 = cbrt(r4488313);
        double r4488315 = r4488300 ? r4488314 : r4488298;
        double r4488316 = r4488289 ? r4488298 : r4488315;
        return r4488316;
}

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{1}{x \cdot x} + \frac{3}{x}\right) + \frac{3}{x \cdot \left(x \cdot x\right)}\right)}\]

    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:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \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}:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\ \end{array}\]

Reproduce

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