Average Error: 43.8 → 0.3
Time: 18.2s
Precision: 64
\[1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt a \lt 9007199254740992 \land 1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt b \lt 9007199254740992 \land 1.1102230246251565404236316680908203125 \cdot 10^{-16} \lt c \lt 9007199254740992\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{1}{2} \cdot \frac{\frac{\left(c \cdot a\right) \cdot 4}{a}}{-\left(b + \sqrt{\frac{{b}^{3} \cdot b - \left(c \cdot c\right) \cdot \left(\left(4 \cdot a\right) \cdot \left(4 \cdot a\right)\right)}{{b}^{2} + a \cdot \left(c \cdot 4\right)}}\right)}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{1}{2} \cdot \frac{\frac{\left(c \cdot a\right) \cdot 4}{a}}{-\left(b + \sqrt{\frac{{b}^{3} \cdot b - \left(c \cdot c\right) \cdot \left(\left(4 \cdot a\right) \cdot \left(4 \cdot a\right)\right)}{{b}^{2} + a \cdot \left(c \cdot 4\right)}}\right)}
double f(double a, double b, double c) {
        double r42243 = b;
        double r42244 = -r42243;
        double r42245 = r42243 * r42243;
        double r42246 = 4.0;
        double r42247 = a;
        double r42248 = r42246 * r42247;
        double r42249 = c;
        double r42250 = r42248 * r42249;
        double r42251 = r42245 - r42250;
        double r42252 = sqrt(r42251);
        double r42253 = r42244 + r42252;
        double r42254 = 2.0;
        double r42255 = r42254 * r42247;
        double r42256 = r42253 / r42255;
        return r42256;
}

double f(double a, double b, double c) {
        double r42257 = 1.0;
        double r42258 = 2.0;
        double r42259 = r42257 / r42258;
        double r42260 = c;
        double r42261 = a;
        double r42262 = r42260 * r42261;
        double r42263 = 4.0;
        double r42264 = r42262 * r42263;
        double r42265 = r42264 / r42261;
        double r42266 = b;
        double r42267 = 3.0;
        double r42268 = pow(r42266, r42267);
        double r42269 = r42268 * r42266;
        double r42270 = r42260 * r42260;
        double r42271 = r42263 * r42261;
        double r42272 = r42271 * r42271;
        double r42273 = r42270 * r42272;
        double r42274 = r42269 - r42273;
        double r42275 = 2.0;
        double r42276 = pow(r42266, r42275);
        double r42277 = r42260 * r42263;
        double r42278 = r42261 * r42277;
        double r42279 = r42276 + r42278;
        double r42280 = r42274 / r42279;
        double r42281 = sqrt(r42280);
        double r42282 = r42266 + r42281;
        double r42283 = -r42282;
        double r42284 = r42265 / r42283;
        double r42285 = r42259 * r42284;
        return r42285;
}

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 43.8

    \[\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-+43.8

    \[\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. Using strategy rm
  13. Applied flip--0.3

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

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

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

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

Reproduce

herbie shell --seed 2019179 
(FPCore (a b c)
  :name "Quadratic roots, medium range"
  :pre (and (< 1.1102230246251565e-16 a 9007199254740992.0) (< 1.1102230246251565e-16 b 9007199254740992.0) (< 1.1102230246251565e-16 c 9007199254740992.0))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 4.0 a) c)))) (* 2.0 a)))