Average Error: 14.5 → 0.0
Time: 21.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|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 r44630 = a;
        double r44631 = r44630 * r44630;
        double r44632 = b;
        double r44633 = r44632 * r44632;
        double r44634 = r44631 - r44633;
        double r44635 = r44634 / r44631;
        double r44636 = fabs(r44635);
        double r44637 = sqrt(r44636);
        return r44637;
}

double f(double a, double b) {
        double r44638 = 1.0;
        double r44639 = b;
        double r44640 = a;
        double r44641 = r44639 / r44640;
        double r44642 = 2.0;
        double r44643 = pow(r44641, r44642);
        double r44644 = exp(r44643);
        double r44645 = log(r44644);
        double r44646 = r44638 - r44645;
        double r44647 = fabs(r44646);
        double r44648 = sqrt(r44647);
        return r44648;
}

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

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

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

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

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

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

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

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

    \[\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 2019306 
(FPCore (a b)
  :name "Eccentricity of an ellipse"
  :precision binary64
  :pre (<= 0.0 b a 1)
  (sqrt (fabs (/ (- (* a a) (* b b)) (* a a)))))