Average Error: 10.0 → 0.3
Time: 34.7s
Precision: 64
\[\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}\]
\[\frac{1}{\left(x - 1\right) \cdot \left(\left(x - 1\right) \cdot \left(x + 1\right)\right)} \cdot \left(\left(x - 1\right) \cdot \frac{2}{x}\right)\]
\left(\frac{1}{x + 1} - \frac{2}{x}\right) + \frac{1}{x - 1}
\frac{1}{\left(x - 1\right) \cdot \left(\left(x - 1\right) \cdot \left(x + 1\right)\right)} \cdot \left(\left(x - 1\right) \cdot \frac{2}{x}\right)
double f(double x) {
        double r5071292 = 1.0;
        double r5071293 = x;
        double r5071294 = r5071293 + r5071292;
        double r5071295 = r5071292 / r5071294;
        double r5071296 = 2.0;
        double r5071297 = r5071296 / r5071293;
        double r5071298 = r5071295 - r5071297;
        double r5071299 = r5071293 - r5071292;
        double r5071300 = r5071292 / r5071299;
        double r5071301 = r5071298 + r5071300;
        return r5071301;
}

double f(double x) {
        double r5071302 = 1.0;
        double r5071303 = x;
        double r5071304 = 1.0;
        double r5071305 = r5071303 - r5071304;
        double r5071306 = r5071303 + r5071304;
        double r5071307 = r5071305 * r5071306;
        double r5071308 = r5071305 * r5071307;
        double r5071309 = r5071302 / r5071308;
        double r5071310 = 2.0;
        double r5071311 = r5071310 / r5071303;
        double r5071312 = r5071305 * r5071311;
        double r5071313 = r5071309 * r5071312;
        return r5071313;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

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

Derivation

  1. Initial program 10.0

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{x \cdot \left(\left(x + 1\right) \cdot 1\right) + \left(x - 1\right) \cdot \left(1 \cdot x - \left(x + 1\right) \cdot 2\right)}{\left(\left(x - 1\right) \cdot \left(\left(x + 1\right) \cdot \left(x - 1\right)\right)\right) \cdot x}} \cdot \left(x - 1\right)\]
  11. Taylor expanded around 0 2.8

    \[\leadsto \frac{\color{blue}{2}}{\left(\left(x - 1\right) \cdot \left(\left(x + 1\right) \cdot \left(x - 1\right)\right)\right) \cdot x} \cdot \left(x - 1\right)\]
  12. Using strategy rm
  13. Applied *-un-lft-identity2.8

    \[\leadsto \frac{\color{blue}{1 \cdot 2}}{\left(\left(x - 1\right) \cdot \left(\left(x + 1\right) \cdot \left(x - 1\right)\right)\right) \cdot x} \cdot \left(x - 1\right)\]
  14. Applied times-frac2.6

    \[\leadsto \color{blue}{\left(\frac{1}{\left(x - 1\right) \cdot \left(\left(x + 1\right) \cdot \left(x - 1\right)\right)} \cdot \frac{2}{x}\right)} \cdot \left(x - 1\right)\]
  15. Applied associate-*l*0.3

    \[\leadsto \color{blue}{\frac{1}{\left(x - 1\right) \cdot \left(\left(x + 1\right) \cdot \left(x - 1\right)\right)} \cdot \left(\frac{2}{x} \cdot \left(x - 1\right)\right)}\]
  16. Final simplification0.3

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

Reproduce

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

  :herbie-target
  (/ 2.0 (* x (- (* x x) 1.0)))

  (+ (- (/ 1.0 (+ x 1.0)) (/ 2.0 x)) (/ 1.0 (- x 1.0))))