Average Error: 29.3 → 7.5
Time: 14.3s
Precision: 64
\[0 \le b \le a \le 1\]
\[\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\]
\[\sqrt{\left|1 - \frac{b}{a} \cdot \frac{b}{a}\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|1 - \frac{b}{a} \cdot \frac{b}{a}\right|}
double f(double a, double b) {
        double r2715991 = a;
        double r2715992 = r2715991 * r2715991;
        double r2715993 = b;
        double r2715994 = r2715993 * r2715993;
        double r2715995 = r2715992 - r2715994;
        double r2715996 = r2715995 / r2715992;
        double r2715997 = fabs(r2715996);
        double r2715998 = sqrt(r2715997);
        return r2715998;
}

double f(double a, double b) {
        double r2715999 = 1.0;
        double r2716000 = b;
        double r2716001 = a;
        double r2716002 = r2716000 / r2716001;
        double r2716003 = r2716002 * r2716002;
        double r2716004 = r2715999 - r2716003;
        double r2716005 = fabs(r2716004);
        double r2716006 = sqrt(r2716005);
        return r2716006;
}

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 29.3

    \[\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}\]
  2. Simplified7.5

    \[\leadsto \color{blue}{\sqrt{\left|1 - \frac{b}{a} \cdot \frac{b}{a}\right|}}\]
  3. Final simplification7.5

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

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (a b)
  :name "Eccentricity of an ellipse"
  :pre (<= 0 b a 1)
  (sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))