Average Error: 9.8 → 0.4
Time: 18.7s
Precision: 64
\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -1.023793247757054:\\ \;\;\;\;\frac{2}{\left(x \cdot x\right) \cdot x} + \left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right)\\ \mathbf{elif}\;x \le 113.9762526403169:\\ \;\;\;\;\left(\sqrt{\frac{1}{1 + x}} \cdot \sqrt{\frac{1}{1 + x}} - \frac{2}{x}\right) + \frac{1}{x - 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(x \cdot x\right) \cdot x} + \left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right)\\ \end{array}\]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -1.023793247757054:\\
\;\;\;\;\frac{2}{\left(x \cdot x\right) \cdot x} + \left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right)\\

\mathbf{elif}\;x \le 113.9762526403169:\\
\;\;\;\;\left(\sqrt{\frac{1}{1 + x}} \cdot \sqrt{\frac{1}{1 + x}} - \frac{2}{x}\right) + \frac{1}{x - 1}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(x \cdot x\right) \cdot x} + \left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right)\\

\end{array}
double f(double x) {
        double r2720424 = 1.0;
        double r2720425 = x;
        double r2720426 = r2720425 + r2720424;
        double r2720427 = r2720424 / r2720426;
        double r2720428 = 2.0;
        double r2720429 = r2720428 / r2720425;
        double r2720430 = r2720427 - r2720429;
        double r2720431 = r2720425 - r2720424;
        double r2720432 = r2720424 / r2720431;
        double r2720433 = r2720430 + r2720432;
        return r2720433;
}

double f(double x) {
        double r2720434 = x;
        double r2720435 = -1.023793247757054;
        bool r2720436 = r2720434 <= r2720435;
        double r2720437 = 2.0;
        double r2720438 = r2720434 * r2720434;
        double r2720439 = r2720438 * r2720434;
        double r2720440 = r2720437 / r2720439;
        double r2720441 = 7.0;
        double r2720442 = pow(r2720434, r2720441);
        double r2720443 = r2720437 / r2720442;
        double r2720444 = 5.0;
        double r2720445 = pow(r2720434, r2720444);
        double r2720446 = r2720437 / r2720445;
        double r2720447 = r2720443 + r2720446;
        double r2720448 = r2720440 + r2720447;
        double r2720449 = 113.9762526403169;
        bool r2720450 = r2720434 <= r2720449;
        double r2720451 = 1.0;
        double r2720452 = r2720451 + r2720434;
        double r2720453 = r2720451 / r2720452;
        double r2720454 = sqrt(r2720453);
        double r2720455 = r2720454 * r2720454;
        double r2720456 = r2720437 / r2720434;
        double r2720457 = r2720455 - r2720456;
        double r2720458 = r2720434 - r2720451;
        double r2720459 = r2720451 / r2720458;
        double r2720460 = r2720457 + r2720459;
        double r2720461 = r2720450 ? r2720460 : r2720448;
        double r2720462 = r2720436 ? r2720448 : r2720461;
        return r2720462;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

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

Derivation

  1. Split input into 2 regimes
  2. if x < -1.023793247757054 or 113.9762526403169 < x

    1. Initial program 19.7

      \[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt50.6

      \[\leadsto \left(\color{blue}{\sqrt{\frac{1}{x + 1}} \cdot \sqrt{\frac{1}{x + 1}}} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    4. Taylor expanded around inf 0.7

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

      \[\leadsto \color{blue}{\left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right) + \frac{\frac{2}{x}}{x \cdot x}}\]
    6. Using strategy rm
    7. Applied div-inv0.3

      \[\leadsto \left(\frac{2}{{x}^{7}} + \frac{2}{{x}^{5}}\right) + \frac{\color{blue}{2 \cdot \frac{1}{x}}}{x \cdot x}\]
    8. Applied associate-/l*0.8

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

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

    if -1.023793247757054 < x < 113.9762526403169

    1. Initial program 0.0

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

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

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

Reproduce

herbie shell --seed 2019130 
(FPCore (x)
  :name "3frac (problem 3.3.3)"

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

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