\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\frac{0 + 4 \cdot \left(a \cdot c\right)}{\left(2 \cdot a\right) \cdot \left(\left(-b\right) - \sqrt{\frac{{b}^{4} - \left(4 \cdot \left(a \cdot c\right)\right) \cdot \left(4 \cdot \left(a \cdot c\right)\right)}{b \cdot b + \left(4 \cdot a\right) \cdot c}}\right)}double f(double a, double b, double c) {
double r37316 = b;
double r37317 = -r37316;
double r37318 = r37316 * r37316;
double r37319 = 4.0;
double r37320 = a;
double r37321 = r37319 * r37320;
double r37322 = c;
double r37323 = r37321 * r37322;
double r37324 = r37318 - r37323;
double r37325 = sqrt(r37324);
double r37326 = r37317 + r37325;
double r37327 = 2.0;
double r37328 = r37327 * r37320;
double r37329 = r37326 / r37328;
return r37329;
}
double f(double a, double b, double c) {
double r37330 = 0.0;
double r37331 = 4.0;
double r37332 = a;
double r37333 = c;
double r37334 = r37332 * r37333;
double r37335 = r37331 * r37334;
double r37336 = r37330 + r37335;
double r37337 = 2.0;
double r37338 = r37337 * r37332;
double r37339 = b;
double r37340 = -r37339;
double r37341 = 4.0;
double r37342 = pow(r37339, r37341);
double r37343 = r37335 * r37335;
double r37344 = r37342 - r37343;
double r37345 = r37339 * r37339;
double r37346 = r37331 * r37332;
double r37347 = r37346 * r37333;
double r37348 = r37345 + r37347;
double r37349 = r37344 / r37348;
double r37350 = sqrt(r37349);
double r37351 = r37340 - r37350;
double r37352 = r37338 * r37351;
double r37353 = r37336 / r37352;
return r37353;
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
Initial program 43.3
rmApplied flip-+43.4
Simplified0.4
rmApplied flip--0.4
Simplified0.4
rmApplied div-inv0.5
Applied associate-/l*0.5
Simplified0.4
Final simplification0.4
herbie shell --seed 2019347
(FPCore (a b c)
:name "Quadratic roots, medium range"
:precision binary64
:pre (and (< 1.11022e-16 a 9.0072e+15) (< 1.11022e-16 b 9.0072e+15) (< 1.11022e-16 c 9.0072e+15))
(/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))