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

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

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

\end{array}
double f(double x) {
        double r2066439 = x;
        double r2066440 = 1.0;
        double r2066441 = r2066439 + r2066440;
        double r2066442 = r2066439 / r2066441;
        double r2066443 = r2066439 - r2066440;
        double r2066444 = r2066441 / r2066443;
        double r2066445 = r2066442 - r2066444;
        return r2066445;
}

double f(double x) {
        double r2066446 = x;
        double r2066447 = -0.9996091570601888;
        bool r2066448 = r2066446 <= r2066447;
        double r2066449 = -3.0;
        double r2066450 = r2066449 / r2066446;
        double r2066451 = -1.0;
        double r2066452 = r2066446 * r2066446;
        double r2066453 = r2066451 / r2066452;
        double r2066454 = r2066450 + r2066453;
        double r2066455 = r2066450 / r2066452;
        double r2066456 = r2066454 + r2066455;
        double r2066457 = 9532.068405488257;
        bool r2066458 = r2066446 <= r2066457;
        double r2066459 = 1.0;
        double r2066460 = r2066459 + r2066446;
        double r2066461 = sqrt(r2066460);
        double r2066462 = r2066459 / r2066461;
        double r2066463 = r2066446 / r2066461;
        double r2066464 = r2066462 * r2066463;
        double r2066465 = r2066446 - r2066459;
        double r2066466 = r2066460 / r2066465;
        double r2066467 = r2066464 - r2066466;
        double r2066468 = r2066458 ? r2066467 : r2066456;
        double r2066469 = r2066448 ? r2066456 : r2066468;
        return r2066469;
}

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 < -0.9996091570601888 or 9532.068405488257 < x

    1. Initial program 59.1

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

      \[\leadsto \frac{x}{\color{blue}{\sqrt{x + 1} \cdot \sqrt{x + 1}}} - \frac{x + 1}{x - 1}\]
    4. Applied *-un-lft-identity61.2

      \[\leadsto \frac{\color{blue}{1 \cdot x}}{\sqrt{x + 1} \cdot \sqrt{x + 1}} - \frac{x + 1}{x - 1}\]
    5. Applied times-frac61.2

      \[\leadsto \color{blue}{\frac{1}{\sqrt{x + 1}} \cdot \frac{x}{\sqrt{x + 1}}} - \frac{x + 1}{x - 1}\]
    6. Taylor expanded around inf 0.5

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

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

    if -0.9996091570601888 < x < 9532.068405488257

    1. Initial program 0.0

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

      \[\leadsto \frac{x}{\color{blue}{\sqrt{x + 1} \cdot \sqrt{x + 1}}} - \frac{x + 1}{x - 1}\]
    4. Applied *-un-lft-identity0.1

      \[\leadsto \frac{\color{blue}{1 \cdot x}}{\sqrt{x + 1} \cdot \sqrt{x + 1}} - \frac{x + 1}{x - 1}\]
    5. Applied times-frac0.1

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

Reproduce

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