Average Error: 20.0 → 0.4
Time: 33.0s
Precision: 64
\[\frac{1.0}{\sqrt{x}} - \frac{1.0}{\sqrt{x + 1.0}}\]
\[\frac{\sqrt{1.0}}{x} \cdot \frac{\frac{\sqrt{1.0}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{1.0 + x}}}}{1.0 + x}\]
\frac{1.0}{\sqrt{x}} - \frac{1.0}{\sqrt{x + 1.0}}
\frac{\sqrt{1.0}}{x} \cdot \frac{\frac{\sqrt{1.0}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{1.0 + x}}}}{1.0 + x}
double f(double x) {
        double r4757545 = 1.0;
        double r4757546 = x;
        double r4757547 = sqrt(r4757546);
        double r4757548 = r4757545 / r4757547;
        double r4757549 = r4757546 + r4757545;
        double r4757550 = sqrt(r4757549);
        double r4757551 = r4757545 / r4757550;
        double r4757552 = r4757548 - r4757551;
        return r4757552;
}

double f(double x) {
        double r4757553 = 1.0;
        double r4757554 = sqrt(r4757553);
        double r4757555 = x;
        double r4757556 = r4757554 / r4757555;
        double r4757557 = sqrt(r4757555);
        double r4757558 = r4757553 / r4757557;
        double r4757559 = r4757553 + r4757555;
        double r4757560 = sqrt(r4757559);
        double r4757561 = r4757553 / r4757560;
        double r4757562 = r4757558 + r4757561;
        double r4757563 = r4757554 / r4757562;
        double r4757564 = r4757563 / r4757559;
        double r4757565 = r4757556 * r4757564;
        return r4757565;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.0
Target0.7
Herbie0.4
\[\frac{1.0}{\left(x + 1.0\right) \cdot \sqrt{x} + x \cdot \sqrt{x + 1.0}}\]

Derivation

  1. Initial program 20.0

    \[\frac{1.0}{\sqrt{x}} - \frac{1.0}{\sqrt{x + 1.0}}\]
  2. Using strategy rm
  3. Applied flip--20.1

    \[\leadsto \color{blue}{\frac{\frac{1.0}{\sqrt{x}} \cdot \frac{1.0}{\sqrt{x}} - \frac{1.0}{\sqrt{x + 1.0}} \cdot \frac{1.0}{\sqrt{x + 1.0}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}}\]
  4. Using strategy rm
  5. Applied frac-times25.2

    \[\leadsto \frac{\frac{1.0}{\sqrt{x}} \cdot \frac{1.0}{\sqrt{x}} - \color{blue}{\frac{1.0 \cdot 1.0}{\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}\]
  6. Applied frac-times20.1

    \[\leadsto \frac{\color{blue}{\frac{1.0 \cdot 1.0}{\sqrt{x} \cdot \sqrt{x}}} - \frac{1.0 \cdot 1.0}{\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}\]
  7. Applied frac-sub19.9

    \[\leadsto \frac{\color{blue}{\frac{\left(1.0 \cdot 1.0\right) \cdot \left(\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}\right) - \left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(1.0 \cdot 1.0\right)}{\left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}\right)}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}\]
  8. Taylor expanded around 0 6.0

    \[\leadsto \frac{\frac{\color{blue}{1.0}}{\left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}\right)}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity6.0

    \[\leadsto \frac{\frac{1.0}{\left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}\right)}}{\color{blue}{1 \cdot \left(\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}\right)}}\]
  11. Applied add-sqr-sqrt6.0

    \[\leadsto \frac{\frac{\color{blue}{\sqrt{1.0} \cdot \sqrt{1.0}}}{\left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}\right)}}{1 \cdot \left(\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}\right)}\]
  12. Applied times-frac5.6

    \[\leadsto \frac{\color{blue}{\frac{\sqrt{1.0}}{\sqrt{x} \cdot \sqrt{x}} \cdot \frac{\sqrt{1.0}}{\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}}}}{1 \cdot \left(\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}\right)}\]
  13. Applied times-frac0.6

    \[\leadsto \color{blue}{\frac{\frac{\sqrt{1.0}}{\sqrt{x} \cdot \sqrt{x}}}{1} \cdot \frac{\frac{\sqrt{1.0}}{\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}}\]
  14. Simplified0.4

    \[\leadsto \color{blue}{\frac{\sqrt{1.0}}{x}} \cdot \frac{\frac{\sqrt{1.0}}{\sqrt{x + 1.0} \cdot \sqrt{x + 1.0}}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{x + 1.0}}}\]
  15. Simplified0.4

    \[\leadsto \frac{\sqrt{1.0}}{x} \cdot \color{blue}{\frac{\frac{\sqrt{1.0}}{\frac{1.0}{\sqrt{x + 1.0}} + \frac{1.0}{\sqrt{x}}}}{x + 1.0}}\]
  16. Final simplification0.4

    \[\leadsto \frac{\sqrt{1.0}}{x} \cdot \frac{\frac{\sqrt{1.0}}{\frac{1.0}{\sqrt{x}} + \frac{1.0}{\sqrt{1.0 + x}}}}{1.0 + x}\]

Reproduce

herbie shell --seed 2019165 
(FPCore (x)
  :name "2isqrt (example 3.6)"

  :herbie-target
  (/ 1.0 (+ (* (+ x 1.0) (sqrt x)) (* x (sqrt (+ x 1.0)))))

  (- (/ 1.0 (sqrt x)) (/ 1.0 (sqrt (+ x 1.0)))))