\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.071807861328125:\\
\;\;\;\;\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 r570400 = b_2;
double r570401 = -r570400;
double r570402 = r570400 * r570400;
double r570403 = a;
double r570404 = c;
double r570405 = r570403 * r570404;
double r570406 = r570402 - r570405;
double r570407 = sqrt(r570406);
double r570408 = r570401 - r570407;
double r570409 = r570408 / r570403;
return r570409;
}
double f(double a, double b_2, double c) {
double r570410 = b_2;
double r570411 = -0.071807861328125;
bool r570412 = r570410 <= r570411;
double r570413 = a;
double r570414 = c;
double r570415 = r570413 * r570414;
double r570416 = -r570410;
double r570417 = r570416 + r570410;
double r570418 = r570416 + r570416;
double r570419 = r570417 * r570418;
double r570420 = r570415 + r570419;
double r570421 = r570420 / r570413;
double r570422 = r570410 * r570410;
double r570423 = r570422 - r570415;
double r570424 = sqrt(r570423);
double r570425 = r570416 + r570424;
double r570426 = r570421 / r570425;
double r570427 = r570416 - r570424;
double r570428 = r570427 / r570413;
double r570429 = r570412 ? r570426 : r570428;
return r570429;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -0.071807861328125Initial program 3.4
rmApplied p16-flip--3.0
Applied associate-/l/3.1
Simplified0.7
rmApplied associate-/r*0.5
if -0.071807861328125 < b_2 Initial program 0.4
Final simplification0.4
herbie shell --seed 2019124
(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))