Average Error: 9.4 → 0.0
Time: 6.6s
Precision: 64
\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -111.0202622422814613400987582281231880188 \lor \neg \left(x \le 109.8975046823589565292422776110470294952\right):\\ \;\;\;\;2 \cdot \left(\frac{1}{{x}^{7}} + \left(\frac{1}{{x}^{5}} + {x}^{\left(-3\right)}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{x + 1}{\sqrt[3]{1}}} - \frac{2}{x}\right) + \frac{1}{x - 1}\\ \end{array}\]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -111.0202622422814613400987582281231880188 \lor \neg \left(x \le 109.8975046823589565292422776110470294952\right):\\
\;\;\;\;2 \cdot \left(\frac{1}{{x}^{7}} + \left(\frac{1}{{x}^{5}} + {x}^{\left(-3\right)}\right)\right)\\

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

\end{array}
double f(double x) {
        double r163942 = 1.0;
        double r163943 = x;
        double r163944 = r163943 + r163942;
        double r163945 = r163942 / r163944;
        double r163946 = 2.0;
        double r163947 = r163946 / r163943;
        double r163948 = r163945 - r163947;
        double r163949 = r163943 - r163942;
        double r163950 = r163942 / r163949;
        double r163951 = r163948 + r163950;
        return r163951;
}

double f(double x) {
        double r163952 = x;
        double r163953 = -111.02026224228146;
        bool r163954 = r163952 <= r163953;
        double r163955 = 109.89750468235896;
        bool r163956 = r163952 <= r163955;
        double r163957 = !r163956;
        bool r163958 = r163954 || r163957;
        double r163959 = 2.0;
        double r163960 = 1.0;
        double r163961 = 7.0;
        double r163962 = pow(r163952, r163961);
        double r163963 = r163960 / r163962;
        double r163964 = 5.0;
        double r163965 = pow(r163952, r163964);
        double r163966 = r163960 / r163965;
        double r163967 = 3.0;
        double r163968 = -r163967;
        double r163969 = pow(r163952, r163968);
        double r163970 = r163966 + r163969;
        double r163971 = r163963 + r163970;
        double r163972 = r163959 * r163971;
        double r163973 = 1.0;
        double r163974 = cbrt(r163973);
        double r163975 = r163974 * r163974;
        double r163976 = r163952 + r163973;
        double r163977 = r163976 / r163974;
        double r163978 = r163975 / r163977;
        double r163979 = r163959 / r163952;
        double r163980 = r163978 - r163979;
        double r163981 = r163952 - r163973;
        double r163982 = r163973 / r163981;
        double r163983 = r163980 + r163982;
        double r163984 = r163958 ? r163972 : r163983;
        return r163984;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

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

Derivation

  1. Split input into 2 regimes
  2. if x < -111.02026224228146 or 109.89750468235896 < x

    1. Initial program 18.8

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

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

      \[\leadsto \color{blue}{2 \cdot \left(\frac{1}{{x}^{7}} + \left(\frac{1}{{x}^{5}} + \frac{1}{{x}^{3}}\right)\right)}\]
    4. Using strategy rm
    5. Applied pow-flip0.0

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

    if -111.02026224228146 < x < 109.89750468235896

    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-cube-cbrt0.0

      \[\leadsto \left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    4. Applied associate-/l*0.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -111.0202622422814613400987582281231880188 \lor \neg \left(x \le 109.8975046823589565292422776110470294952\right):\\ \;\;\;\;2 \cdot \left(\frac{1}{{x}^{7}} + \left(\frac{1}{{x}^{5}} + {x}^{\left(-3\right)}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{x + 1}{\sqrt[3]{1}}} - \frac{2}{x}\right) + \frac{1}{x - 1}\\ \end{array}\]

Reproduce

herbie shell --seed 2019353 
(FPCore (x)
  :name "3frac (problem 3.3.3)"
  :precision binary64

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

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