Average Error: 52.6 → 0.2
Time: 17.1s
Precision: 64
\[4.930380657631323783823303533017413935458 \cdot 10^{-32} \lt a \lt 20282409603651670423947251286016 \land 4.930380657631323783823303533017413935458 \cdot 10^{-32} \lt b \lt 20282409603651670423947251286016 \land 4.930380657631323783823303533017413935458 \cdot 10^{-32} \lt c \lt 20282409603651670423947251286016\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{\frac{\left(c \cdot a\right) \cdot 4}{a}}{-\left(\sqrt{b \cdot b - \left(c \cdot a\right) \cdot 4} + b\right)} \cdot \frac{1}{2}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{\frac{\left(c \cdot a\right) \cdot 4}{a}}{-\left(\sqrt{b \cdot b - \left(c \cdot a\right) \cdot 4} + b\right)} \cdot \frac{1}{2}
double f(double a, double b, double c) {
        double r26995 = b;
        double r26996 = -r26995;
        double r26997 = r26995 * r26995;
        double r26998 = 4.0;
        double r26999 = a;
        double r27000 = r26998 * r26999;
        double r27001 = c;
        double r27002 = r27000 * r27001;
        double r27003 = r26997 - r27002;
        double r27004 = sqrt(r27003);
        double r27005 = r26996 + r27004;
        double r27006 = 2.0;
        double r27007 = r27006 * r26999;
        double r27008 = r27005 / r27007;
        return r27008;
}

double f(double a, double b, double c) {
        double r27009 = c;
        double r27010 = a;
        double r27011 = r27009 * r27010;
        double r27012 = 4.0;
        double r27013 = r27011 * r27012;
        double r27014 = r27013 / r27010;
        double r27015 = b;
        double r27016 = r27015 * r27015;
        double r27017 = r27016 - r27013;
        double r27018 = sqrt(r27017);
        double r27019 = r27018 + r27015;
        double r27020 = -r27019;
        double r27021 = r27014 / r27020;
        double r27022 = 1.0;
        double r27023 = 2.0;
        double r27024 = r27022 / r27023;
        double r27025 = r27021 * r27024;
        return r27025;
}

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

    \[\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.6

    \[\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 + \left(4 \cdot a\right) \cdot c}}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}{2 \cdot a}\]
  5. Using strategy rm
  6. Applied *-un-lft-identity0.4

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019179 
(FPCore (a b c)
  :name "Quadratic roots, wide range"
  :pre (and (< 4.930380657631324e-32 a 2.028240960365167e+31) (< 4.930380657631324e-32 b 2.028240960365167e+31) (< 4.930380657631324e-32 c 2.028240960365167e+31))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 4.0 a) c)))) (* 2.0 a)))