Average Error: 14.6 → 0.0
Time: 15.6s
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{a - \frac{b}{\sqrt{a}} \cdot \frac{b}{\sqrt{a}}}{a}\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|\frac{a - \frac{b}{\sqrt{a}} \cdot \frac{b}{\sqrt{a}}}{a}\right|}
double f(double a, double b) {
        double r94056 = a;
        double r94057 = r94056 * r94056;
        double r94058 = b;
        double r94059 = r94058 * r94058;
        double r94060 = r94057 - r94059;
        double r94061 = r94060 / r94057;
        double r94062 = fabs(r94061);
        double r94063 = sqrt(r94062);
        return r94063;
}

double f(double a, double b) {
        double r94064 = a;
        double r94065 = b;
        double r94066 = sqrt(r94064);
        double r94067 = r94065 / r94066;
        double r94068 = r94067 * r94067;
        double r94069 = r94064 - r94068;
        double r94070 = r94069 / r94064;
        double r94071 = fabs(r94070);
        double r94072 = sqrt(r94071);
        return r94072;
}

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

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

    \[\leadsto \color{blue}{\sqrt{\left|\frac{a - \frac{b \cdot b}{a}}{a}\right|}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.7

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

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

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

Reproduce

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