Average Error: 29.5 → 0.0
Time: 1.3m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -24317693746.994724:\\ \;\;\;\;\frac{\frac{2}{x} - \left(\frac{\frac{2}{x}}{x} + 3\right)}{x - 1}\\ \mathbf{elif}\;x \le 470629.2046973975:\\ \;\;\;\;\frac{\left(x - 1\right) \cdot \frac{x \cdot -3 + -1}{x \cdot x - 1}}{x - 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{2}{x} - \left(\frac{\frac{2}{x}}{x} + 3\right)}{x - 1}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -24317693746.994724:\\
\;\;\;\;\frac{\frac{2}{x} - \left(\frac{\frac{2}{x}}{x} + 3\right)}{x - 1}\\

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

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

\end{array}
double f(double x) {
        double r18556270 = x;
        double r18556271 = 1.0;
        double r18556272 = r18556270 + r18556271;
        double r18556273 = r18556270 / r18556272;
        double r18556274 = r18556270 - r18556271;
        double r18556275 = r18556272 / r18556274;
        double r18556276 = r18556273 - r18556275;
        return r18556276;
}

double f(double x) {
        double r18556277 = x;
        double r18556278 = -24317693746.994724;
        bool r18556279 = r18556277 <= r18556278;
        double r18556280 = 2.0;
        double r18556281 = r18556280 / r18556277;
        double r18556282 = r18556281 / r18556277;
        double r18556283 = 3.0;
        double r18556284 = r18556282 + r18556283;
        double r18556285 = r18556281 - r18556284;
        double r18556286 = 1.0;
        double r18556287 = r18556277 - r18556286;
        double r18556288 = r18556285 / r18556287;
        double r18556289 = 470629.2046973975;
        bool r18556290 = r18556277 <= r18556289;
        double r18556291 = -3.0;
        double r18556292 = r18556277 * r18556291;
        double r18556293 = -1.0;
        double r18556294 = r18556292 + r18556293;
        double r18556295 = r18556277 * r18556277;
        double r18556296 = r18556295 - r18556286;
        double r18556297 = r18556294 / r18556296;
        double r18556298 = r18556287 * r18556297;
        double r18556299 = r18556298 / r18556287;
        double r18556300 = r18556290 ? r18556299 : r18556288;
        double r18556301 = r18556279 ? r18556288 : r18556300;
        return r18556301;
}

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 < -24317693746.994724 or 470629.2046973975 < x

    1. Initial program 59.8

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

      \[\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)}}\]
    4. Taylor expanded around -inf 30.9

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

      \[\leadsto \frac{\color{blue}{-3 \cdot x + -1}}{\left(x + 1\right) \cdot \left(x - 1\right)}\]
    6. Using strategy rm
    7. Applied associate-/r*0.4

      \[\leadsto \color{blue}{\frac{\frac{-3 \cdot x + -1}{x + 1}}{x - 1}}\]
    8. Taylor expanded around inf 0.0

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

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

    if -24317693746.994724 < x < 470629.2046973975

    1. Initial program 0.3

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

      \[\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)}}\]
    4. Taylor expanded around -inf 0.0

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

      \[\leadsto \frac{\color{blue}{-3 \cdot x + -1}}{\left(x + 1\right) \cdot \left(x - 1\right)}\]
    6. Using strategy rm
    7. Applied associate-/r*0.0

      \[\leadsto \color{blue}{\frac{\frac{-3 \cdot x + -1}{x + 1}}{x - 1}}\]
    8. Using strategy rm
    9. Applied flip-+0.0

      \[\leadsto \frac{\frac{-3 \cdot x + -1}{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}}}{x - 1}\]
    10. Applied associate-/r/0.0

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

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

Reproduce

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