Average Error: 14.3 → 0.0
Time: 6.1s
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 - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}{\left(\frac{b}{a} \cdot \frac{b}{a}\right) \cdot \left(1 + \frac{b \cdot \frac{b}{a}}{a}\right) + 1}\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|\frac{1 - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}{\left(\frac{b}{a} \cdot \frac{b}{a}\right) \cdot \left(1 + \frac{b \cdot \frac{b}{a}}{a}\right) + 1}\right|}
double f(double a, double b) {
        double r64925 = a;
        double r64926 = r64925 * r64925;
        double r64927 = b;
        double r64928 = r64927 * r64927;
        double r64929 = r64926 - r64928;
        double r64930 = r64929 / r64926;
        double r64931 = fabs(r64930);
        double r64932 = sqrt(r64931);
        return r64932;
}

double f(double a, double b) {
        double r64933 = 1.0;
        double r64934 = b;
        double r64935 = a;
        double r64936 = r64934 / r64935;
        double r64937 = r64934 * r64936;
        double r64938 = r64937 / r64935;
        double r64939 = 3.0;
        double r64940 = pow(r64938, r64939);
        double r64941 = r64933 - r64940;
        double r64942 = r64936 * r64936;
        double r64943 = r64933 + r64938;
        double r64944 = r64942 * r64943;
        double r64945 = r64944 + r64933;
        double r64946 = r64941 / r64945;
        double r64947 = fabs(r64946);
        double r64948 = sqrt(r64947);
        return r64948;
}

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

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

    \[\leadsto \color{blue}{\sqrt{\left|1 - \frac{b \cdot b}{a \cdot a}\right|}}\]
  3. Using strategy rm
  4. Applied associate-/r*0.6

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

    \[\leadsto \sqrt{\left|1 - \frac{\color{blue}{b \cdot \frac{b}{a}}}{a}\right|}\]
  6. Using strategy rm
  7. Applied flip3--0.0

    \[\leadsto \sqrt{\left|\color{blue}{\frac{{1}^{3} - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}{1 \cdot 1 + \left(\frac{b \cdot \frac{b}{a}}{a} \cdot \frac{b \cdot \frac{b}{a}}{a} + 1 \cdot \frac{b \cdot \frac{b}{a}}{a}\right)}}\right|}\]
  8. Simplified0.0

    \[\leadsto \sqrt{\left|\frac{\color{blue}{1 - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}}{1 \cdot 1 + \left(\frac{b \cdot \frac{b}{a}}{a} \cdot \frac{b \cdot \frac{b}{a}}{a} + 1 \cdot \frac{b \cdot \frac{b}{a}}{a}\right)}\right|}\]
  9. Simplified0.0

    \[\leadsto \sqrt{\left|\frac{1 - {\left(\frac{b \cdot \frac{b}{a}}{a}\right)}^{3}}{\color{blue}{\left(\frac{b}{a} \cdot \frac{b}{a}\right) \cdot \left(1 + \frac{b \cdot \frac{b}{a}}{a}\right) + 1}}\right|}\]
  10. Final simplification0.0

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

Reproduce

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