Average Error: 14.5 → 0.0
Time: 5.2s
Precision: 64
\[0.0 \le b \le a \le 1\]
\[\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\]
\[\sqrt{\left|\frac{1}{\frac{a}{a + b}} \cdot \frac{\frac{1}{a}}{\frac{1}{a - b}}\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|\frac{1}{\frac{a}{a + b}} \cdot \frac{\frac{1}{a}}{\frac{1}{a - b}}\right|}
double f(double a, double b) {
        double r83993 = a;
        double r83994 = r83993 * r83993;
        double r83995 = b;
        double r83996 = r83995 * r83995;
        double r83997 = r83994 - r83996;
        double r83998 = r83997 / r83994;
        double r83999 = fabs(r83998);
        double r84000 = sqrt(r83999);
        return r84000;
}

double f(double a, double b) {
        double r84001 = 1.0;
        double r84002 = a;
        double r84003 = b;
        double r84004 = r84002 + r84003;
        double r84005 = r84002 / r84004;
        double r84006 = r84001 / r84005;
        double r84007 = r84001 / r84002;
        double r84008 = r84002 - r84003;
        double r84009 = r84001 / r84008;
        double r84010 = r84007 / r84009;
        double r84011 = r84006 * r84010;
        double r84012 = fabs(r84011);
        double r84013 = sqrt(r84012);
        return r84013;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.5

    \[\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\]
  2. Using strategy rm
  3. Applied difference-of-squares14.5

    \[\leadsto \sqrt{\left|\frac{\color{blue}{\left(a + b\right) \cdot \left(a - b\right)}}{a \cdot a}\right|}\]
  4. Applied times-frac0.0

    \[\leadsto \sqrt{\left|\color{blue}{\frac{a + b}{a} \cdot \frac{a - b}{a}}\right|}\]
  5. Using strategy rm
  6. Applied clear-num0.0

    \[\leadsto \sqrt{\left|\frac{a + b}{a} \cdot \color{blue}{\frac{1}{\frac{a}{a - b}}}\right|}\]
  7. Using strategy rm
  8. Applied div-inv0.0

    \[\leadsto \sqrt{\left|\frac{a + b}{a} \cdot \frac{1}{\color{blue}{a \cdot \frac{1}{a - b}}}\right|}\]
  9. Applied associate-/r*0.0

    \[\leadsto \sqrt{\left|\frac{a + b}{a} \cdot \color{blue}{\frac{\frac{1}{a}}{\frac{1}{a - b}}}\right|}\]
  10. Using strategy rm
  11. Applied clear-num0.0

    \[\leadsto \sqrt{\left|\color{blue}{\frac{1}{\frac{a}{a + b}}} \cdot \frac{\frac{1}{a}}{\frac{1}{a - b}}\right|}\]
  12. Final simplification0.0

    \[\leadsto \sqrt{\left|\frac{1}{\frac{a}{a + b}} \cdot \frac{\frac{1}{a}}{\frac{1}{a - b}}\right|}\]

Reproduce

herbie shell --seed 2020002 
(FPCore (a b)
  :name "Eccentricity of an ellipse"
  :precision binary64
  :pre (<= 0.0 b a 1)
  (sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))