\frac{\left(\left(-b_2\right) - \left(\sqrt{\left(\left(b_2 \cdot b_2\right) - \left(a \cdot c\right)\right)}\right)\right)}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -0.001064300537109375:\\
\;\;\;\;\frac{\frac{a \cdot c + \left(\left(-b_2\right) + b_2\right) \cdot \left(\left(-b_2\right) + \left(-b_2\right)\right)}{a}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r729358 = b_2;
double r729359 = -r729358;
double r729360 = r729358 * r729358;
double r729361 = a;
double r729362 = c;
double r729363 = r729361 * r729362;
double r729364 = r729360 - r729363;
double r729365 = sqrt(r729364);
double r729366 = r729359 - r729365;
double r729367 = r729366 / r729361;
return r729367;
}
double f(double a, double b_2, double c) {
double r729368 = b_2;
double r729369 = -0.001064300537109375;
bool r729370 = r729368 <= r729369;
double r729371 = a;
double r729372 = c;
double r729373 = r729371 * r729372;
double r729374 = -r729368;
double r729375 = r729374 + r729368;
double r729376 = r729374 + r729374;
double r729377 = r729375 * r729376;
double r729378 = r729373 + r729377;
double r729379 = r729378 / r729371;
double r729380 = r729368 * r729368;
double r729381 = r729380 - r729373;
double r729382 = sqrt(r729381);
double r729383 = r729374 + r729382;
double r729384 = r729379 / r729383;
double r729385 = r729374 - r729382;
double r729386 = r729385 / r729371;
double r729387 = r729370 ? r729384 : r729386;
return r729387;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -0.001064300537109375Initial program 3.1
rmApplied p16-flip--2.7
Applied associate-/l/2.8
Simplified0.7
rmApplied associate-/r*0.5
if -0.001064300537109375 < b_2 Initial program 0.4
Final simplification0.4
herbie shell --seed 2019119
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/.p16 (-.p16 (neg.p16 b_2) (sqrt.p16 (-.p16 (*.p16 b_2 b_2) (*.p16 a c)))) a))