Average Error: 9.6 → 0.2
Time: 23.0s
Precision: 64
\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le -22.466348304101803:\\ \;\;\;\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right)\\ \mathbf{elif}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le 2.4319249413741473 \cdot 10^{-12}:\\ \;\;\;\;\left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right) + \frac{\frac{2}{x}}{x \cdot x}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right)\\ \end{array}\]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le -22.466348304101803:\\
\;\;\;\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right)\\

\mathbf{elif}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le 2.4319249413741473 \cdot 10^{-12}:\\
\;\;\;\;\left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right) + \frac{\frac{2}{x}}{x \cdot x}\\

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

\end{array}
double f(double x) {
        double r2977523 = 1.0;
        double r2977524 = x;
        double r2977525 = r2977524 + r2977523;
        double r2977526 = r2977523 / r2977525;
        double r2977527 = 2.0;
        double r2977528 = r2977527 / r2977524;
        double r2977529 = r2977526 - r2977528;
        double r2977530 = r2977524 - r2977523;
        double r2977531 = r2977523 / r2977530;
        double r2977532 = r2977529 + r2977531;
        return r2977532;
}

double f(double x) {
        double r2977533 = 1.0;
        double r2977534 = x;
        double r2977535 = r2977534 - r2977533;
        double r2977536 = r2977533 / r2977535;
        double r2977537 = r2977534 + r2977533;
        double r2977538 = r2977533 / r2977537;
        double r2977539 = 2.0;
        double r2977540 = r2977539 / r2977534;
        double r2977541 = r2977538 - r2977540;
        double r2977542 = r2977536 + r2977541;
        double r2977543 = -22.466348304101803;
        bool r2977544 = r2977542 <= r2977543;
        double r2977545 = 2.4319249413741473e-12;
        bool r2977546 = r2977542 <= r2977545;
        double r2977547 = 7.0;
        double r2977548 = pow(r2977534, r2977547);
        double r2977549 = r2977539 / r2977548;
        double r2977550 = 5.0;
        double r2977551 = pow(r2977534, r2977550);
        double r2977552 = r2977539 / r2977551;
        double r2977553 = r2977549 + r2977552;
        double r2977554 = r2977534 * r2977534;
        double r2977555 = r2977540 / r2977554;
        double r2977556 = r2977553 + r2977555;
        double r2977557 = r2977546 ? r2977556 : r2977542;
        double r2977558 = r2977544 ? r2977542 : r2977557;
        return r2977558;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original9.6
Target0.3
Herbie0.2
\[\frac{2}{x \cdot \left(x \cdot x - 1\right)}\]

Derivation

  1. Split input into 2 regimes
  2. if (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))) < -22.466348304101803 or 2.4319249413741473e-12 < (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))

    1. Initial program 0.1

      \[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]

    if -22.466348304101803 < (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))) < 2.4319249413741473e-12

    1. Initial program 19.1

      \[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    2. Taylor expanded around inf 0.8

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le -22.466348304101803:\\ \;\;\;\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right)\\ \mathbf{elif}\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right) \le 2.4319249413741473 \cdot 10^{-12}:\\ \;\;\;\;\left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right) + \frac{\frac{2}{x}}{x \cdot x}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x - 1} + \left(\frac{1}{x + 1} - \frac{2}{x}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019141 +o rules:numerics
(FPCore (x)
  :name "3frac (problem 3.3.3)"

  :herbie-target
  (/ 2 (* x (- (* x x) 1)))

  (+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1))))