Average Error: 14.0 → 0.0
Time: 22.8s
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 r31873 = a;
        double r31874 = r31873 * r31873;
        double r31875 = b;
        double r31876 = r31875 * r31875;
        double r31877 = r31874 - r31876;
        double r31878 = r31877 / r31874;
        double r31879 = fabs(r31878);
        double r31880 = sqrt(r31879);
        return r31880;
}

double f(double a, double b) {
        double r31881 = 1.0;
        double r31882 = b;
        double r31883 = a;
        double r31884 = r31882 / r31883;
        double r31885 = 2.0;
        double r31886 = pow(r31884, r31885);
        double r31887 = exp(r31886);
        double r31888 = log(r31887);
        double r31889 = r31881 - r31888;
        double r31890 = fabs(r31889);
        double r31891 = sqrt(r31890);
        return r31891;
}

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

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

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

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

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

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

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

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

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