Average Error: 52.1 → 0.4
Time: 10.2s
Precision: 64
\[4.93038 \cdot 10^{-32} \lt a \lt 2.02824 \cdot 10^{31} \land 4.93038 \cdot 10^{-32} \lt b \lt 2.02824 \cdot 10^{31} \land 4.93038 \cdot 10^{-32} \lt c \lt 2.02824 \cdot 10^{31}\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{\left(a \cdot \sqrt{4}\right) \cdot \frac{1}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}{2 \cdot a}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{\left(a \cdot \sqrt{4}\right) \cdot \frac{1}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}{2 \cdot a}
double f(double a, double b, double c) {
        double r63575 = b;
        double r63576 = -r63575;
        double r63577 = r63575 * r63575;
        double r63578 = 4.0;
        double r63579 = a;
        double r63580 = r63578 * r63579;
        double r63581 = c;
        double r63582 = r63580 * r63581;
        double r63583 = r63577 - r63582;
        double r63584 = sqrt(r63583);
        double r63585 = r63576 + r63584;
        double r63586 = 2.0;
        double r63587 = r63586 * r63579;
        double r63588 = r63585 / r63587;
        return r63588;
}

double f(double a, double b, double c) {
        double r63589 = a;
        double r63590 = 4.0;
        double r63591 = sqrt(r63590);
        double r63592 = r63589 * r63591;
        double r63593 = 1.0;
        double r63594 = b;
        double r63595 = -r63594;
        double r63596 = r63594 * r63594;
        double r63597 = r63590 * r63589;
        double r63598 = c;
        double r63599 = r63597 * r63598;
        double r63600 = r63596 - r63599;
        double r63601 = sqrt(r63600);
        double r63602 = r63595 - r63601;
        double r63603 = r63602 / r63591;
        double r63604 = r63603 / r63598;
        double r63605 = r63593 / r63604;
        double r63606 = r63592 * r63605;
        double r63607 = 2.0;
        double r63608 = r63607 * r63589;
        double r63609 = r63606 / r63608;
        return r63609;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 52.1

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
  2. Using strategy rm
  3. Applied flip-+52.1

    \[\leadsto \frac{\color{blue}{\frac{\left(-b\right) \cdot \left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} \cdot \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}}{2 \cdot a}\]
  4. Simplified0.4

    \[\leadsto \frac{\frac{\color{blue}{0 + 4 \cdot \left(a \cdot c\right)}}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}{2 \cdot a}\]
  5. Using strategy rm
  6. Applied clear-num0.4

    \[\leadsto \frac{\color{blue}{\frac{1}{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{0 + 4 \cdot \left(a \cdot c\right)}}}}{2 \cdot a}\]
  7. Simplified0.4

    \[\leadsto \frac{\frac{1}{\color{blue}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{4}}{a \cdot c}}}}{2 \cdot a}\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt0.4

    \[\leadsto \frac{\frac{1}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\color{blue}{\sqrt{4} \cdot \sqrt{4}}}}{a \cdot c}}}{2 \cdot a}\]
  10. Applied *-un-lft-identity0.4

    \[\leadsto \frac{\frac{1}{\frac{\frac{\color{blue}{1 \cdot \left(\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}\right)}}{\sqrt{4} \cdot \sqrt{4}}}{a \cdot c}}}{2 \cdot a}\]
  11. Applied times-frac0.4

    \[\leadsto \frac{\frac{1}{\frac{\color{blue}{\frac{1}{\sqrt{4}} \cdot \frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}}{a \cdot c}}}{2 \cdot a}\]
  12. Applied times-frac0.5

    \[\leadsto \frac{\frac{1}{\color{blue}{\frac{\frac{1}{\sqrt{4}}}{a} \cdot \frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}}{2 \cdot a}\]
  13. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{\frac{\frac{1}{\sqrt{4}}}{a} \cdot \frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}{2 \cdot a}\]
  14. Applied times-frac0.4

    \[\leadsto \frac{\color{blue}{\frac{\sqrt{1}}{\frac{\frac{1}{\sqrt{4}}}{a}} \cdot \frac{\sqrt{1}}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}}{2 \cdot a}\]
  15. Simplified0.4

    \[\leadsto \frac{\color{blue}{\left(a \cdot \sqrt{4}\right)} \cdot \frac{\sqrt{1}}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}{2 \cdot a}\]
  16. Simplified0.4

    \[\leadsto \frac{\left(a \cdot \sqrt{4}\right) \cdot \color{blue}{\frac{1}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}}{2 \cdot a}\]
  17. Final simplification0.4

    \[\leadsto \frac{\left(a \cdot \sqrt{4}\right) \cdot \frac{1}{\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{\sqrt{4}}}{c}}}{2 \cdot a}\]

Reproduce

herbie shell --seed 2020024 
(FPCore (a b c)
  :name "Quadratic roots, wide range"
  :precision binary64
  :pre (and (< 4.9303800000000003e-32 a 2.02824e+31) (< 4.9303800000000003e-32 b 2.02824e+31) (< 4.9303800000000003e-32 c 2.02824e+31))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))