Average Error: 29.0 → 7.6
Time: 24.0s
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 r2701780 = a;
        double r2701781 = r2701780 * r2701780;
        double r2701782 = b;
        double r2701783 = r2701782 * r2701782;
        double r2701784 = r2701781 - r2701783;
        double r2701785 = r2701784 / r2701781;
        double r2701786 = fabs(r2701785);
        double r2701787 = sqrt(r2701786);
        return r2701787;
}

double f(double a, double b) {
        double r2701788 = 1.0;
        double r2701789 = b;
        double r2701790 = a;
        double r2701791 = r2701789 / r2701790;
        double r2701792 = r2701791 * r2701791;
        double r2701793 = r2701788 - r2701792;
        double r2701794 = fabs(r2701793);
        double r2701795 = sqrt(r2701794);
        return r2701795;
}

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.0

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

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

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

Reproduce

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