Average Error: 10.1 → 0.4
Time: 20.3s
Precision: 64
\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1} \le -820.7230653166270712972618639469146728516 \lor \neg \left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1} \le 1.165750241282313692803285221089026890695 \cdot 10^{-8}\right):\\ \;\;\;\;1 \cdot \left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\right)\\ \mathbf{else}:\\ \;\;\;\;1 \cdot \left(2 \cdot \left(\frac{1}{{x}^{7}} + \left(\frac{1}{{x}^{5}} + \frac{1}{{x}^{3}}\right)\right)\right)\\ \end{array}\]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1} \le -820.7230653166270712972618639469146728516 \lor \neg \left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1} \le 1.165750241282313692803285221089026890695 \cdot 10^{-8}\right):\\
\;\;\;\;1 \cdot \left(\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\right)\\

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

\end{array}
double f(double x) {
        double r83007 = 1.0;
        double r83008 = x;
        double r83009 = r83008 + r83007;
        double r83010 = r83007 / r83009;
        double r83011 = 2.0;
        double r83012 = r83011 / r83008;
        double r83013 = r83010 - r83012;
        double r83014 = r83008 - r83007;
        double r83015 = r83007 / r83014;
        double r83016 = r83013 + r83015;
        return r83016;
}

double f(double x) {
        double r83017 = 1.0;
        double r83018 = x;
        double r83019 = r83018 + r83017;
        double r83020 = r83017 / r83019;
        double r83021 = 2.0;
        double r83022 = r83021 / r83018;
        double r83023 = r83020 - r83022;
        double r83024 = r83018 - r83017;
        double r83025 = r83017 / r83024;
        double r83026 = r83023 + r83025;
        double r83027 = -820.7230653166271;
        bool r83028 = r83026 <= r83027;
        double r83029 = 1.1657502412823137e-08;
        bool r83030 = r83026 <= r83029;
        double r83031 = !r83030;
        bool r83032 = r83028 || r83031;
        double r83033 = 1.0;
        double r83034 = r83033 * r83026;
        double r83035 = 7.0;
        double r83036 = pow(r83018, r83035);
        double r83037 = r83033 / r83036;
        double r83038 = 5.0;
        double r83039 = pow(r83018, r83038);
        double r83040 = r83033 / r83039;
        double r83041 = 3.0;
        double r83042 = pow(r83018, r83041);
        double r83043 = r83033 / r83042;
        double r83044 = r83040 + r83043;
        double r83045 = r83037 + r83044;
        double r83046 = r83021 * r83045;
        double r83047 = r83033 * r83046;
        double r83048 = r83032 ? r83034 : r83047;
        return r83048;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

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

Derivation

  1. Split input into 2 regimes
  2. if (+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))) < -820.7230653166271 or 1.1657502412823137e-08 < (+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0)))

    1. Initial program 0.0

      \[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    2. Using strategy rm
    3. Applied flip-+32.6

      \[\leadsto \color{blue}{\frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1}}}\]
    4. Using strategy rm
    5. Applied flip--32.6

      \[\leadsto \frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\color{blue}{\frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}}}}\]
    6. Applied associate-/r/32.6

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

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

    if -820.7230653166271 < (+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))) < 1.1657502412823137e-08

    1. Initial program 20.1

      \[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
    2. Using strategy rm
    3. Applied flip-+20.1

      \[\leadsto \color{blue}{\frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1}}}\]
    4. Using strategy rm
    5. Applied flip--62.9

      \[\leadsto \frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\color{blue}{\frac{\left(\frac{1}{x + 1} - \frac{2}{x}\right) \cdot \left(\frac{1}{x + 1} - \frac{2}{x}\right) - \frac{1}{x - 1} \cdot \frac{1}{x - 1}}{\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}}}}\]
    6. Applied associate-/r/62.9

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

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

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

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

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

Reproduce

herbie shell --seed 2019297 
(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))))