Average Error: 14.7 → 0.0
Time: 10.3s
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|1 - \log \left(e^{{\left(\frac{b}{a}\right)}^{2}}\right)\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|1 - \log \left(e^{{\left(\frac{b}{a}\right)}^{2}}\right)\right|}
double f(double a, double b) {
        double r51385 = a;
        double r51386 = r51385 * r51385;
        double r51387 = b;
        double r51388 = r51387 * r51387;
        double r51389 = r51386 - r51388;
        double r51390 = r51389 / r51386;
        double r51391 = fabs(r51390);
        double r51392 = sqrt(r51391);
        return r51392;
}

double f(double a, double b) {
        double r51393 = 1.0;
        double r51394 = b;
        double r51395 = a;
        double r51396 = r51394 / r51395;
        double r51397 = 2.0;
        double r51398 = pow(r51396, r51397);
        double r51399 = exp(r51398);
        double r51400 = log(r51399);
        double r51401 = r51393 - r51400;
        double r51402 = fabs(r51401);
        double r51403 = sqrt(r51402);
        return r51403;
}

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

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

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

    \[\leadsto \sqrt{\left|1 - \frac{b \cdot b}{a \cdot \color{blue}{e^{\log a}}}\right|}\]
  5. Applied add-exp-log14.7

    \[\leadsto \sqrt{\left|1 - \frac{b \cdot b}{\color{blue}{e^{\log a}} \cdot e^{\log a}}\right|}\]
  6. Applied prod-exp14.7

    \[\leadsto \sqrt{\left|1 - \frac{b \cdot b}{\color{blue}{e^{\log a + \log a}}}\right|}\]
  7. Applied add-exp-log14.7

    \[\leadsto \sqrt{\left|1 - \frac{b \cdot \color{blue}{e^{\log b}}}{e^{\log a + \log a}}\right|}\]
  8. Applied add-exp-log14.7

    \[\leadsto \sqrt{\left|1 - \frac{\color{blue}{e^{\log b}} \cdot e^{\log b}}{e^{\log a + \log a}}\right|}\]
  9. Applied prod-exp14.7

    \[\leadsto \sqrt{\left|1 - \frac{\color{blue}{e^{\log b + \log b}}}{e^{\log a + \log a}}\right|}\]
  10. Applied div-exp0.0

    \[\leadsto \sqrt{\left|1 - \color{blue}{e^{\left(\log b + \log b\right) - \left(\log a + \log a\right)}}\right|}\]
  11. Simplified0.0

    \[\leadsto \sqrt{\left|1 - e^{\color{blue}{\log \left(\frac{b}{a}\right) \cdot 2}}\right|}\]
  12. Using strategy rm
  13. Applied add-log-exp0.0

    \[\leadsto \sqrt{\left|1 - \color{blue}{\log \left(e^{e^{\log \left(\frac{b}{a}\right) \cdot 2}}\right)}\right|}\]
  14. Simplified0.0

    \[\leadsto \sqrt{\left|1 - \log \color{blue}{\left(e^{{\left(\frac{b}{a}\right)}^{2}}\right)}\right|}\]
  15. Final simplification0.0

    \[\leadsto \sqrt{\left|1 - \log \left(e^{{\left(\frac{b}{a}\right)}^{2}}\right)\right|}\]

Reproduce

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