Average Error: 14.6 → 0.0
Time: 20.9s
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{\sqrt{a - b \cdot \frac{b}{a}}}{\sqrt{a}} \cdot \frac{\sqrt{a - b \cdot \frac{b}{a}}}{\sqrt{a}}\right|}\]
\sqrt{\left|\frac{a \cdot a - b \cdot b}{a \cdot a}\right|}
\sqrt{\left|\frac{\sqrt{a - b \cdot \frac{b}{a}}}{\sqrt{a}} \cdot \frac{\sqrt{a - b \cdot \frac{b}{a}}}{\sqrt{a}}\right|}
double f(double a, double b) {
        double r59643 = a;
        double r59644 = r59643 * r59643;
        double r59645 = b;
        double r59646 = r59645 * r59645;
        double r59647 = r59644 - r59646;
        double r59648 = r59647 / r59644;
        double r59649 = fabs(r59648);
        double r59650 = sqrt(r59649);
        return r59650;
}

double f(double a, double b) {
        double r59651 = a;
        double r59652 = b;
        double r59653 = r59652 / r59651;
        double r59654 = r59652 * r59653;
        double r59655 = r59651 - r59654;
        double r59656 = sqrt(r59655);
        double r59657 = sqrt(r59651);
        double r59658 = r59656 / r59657;
        double r59659 = r59658 * r59658;
        double r59660 = fabs(r59659);
        double r59661 = sqrt(r59660);
        return r59661;
}

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. Using strategy rm
  3. Applied associate-/r*14.9

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

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

    \[\leadsto \sqrt{\left|\frac{a - b \cdot \frac{b}{a}}{\color{blue}{\sqrt{a} \cdot \sqrt{a}}}\right|}\]
  7. Applied add-sqr-sqrt0.0

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

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

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

Reproduce

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