\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.16908657181932359 \cdot 10^{-104}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.3316184968738608 \cdot 10^{61}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r14586 = b_2;
double r14587 = -r14586;
double r14588 = r14586 * r14586;
double r14589 = a;
double r14590 = c;
double r14591 = r14589 * r14590;
double r14592 = r14588 - r14591;
double r14593 = sqrt(r14592);
double r14594 = r14587 - r14593;
double r14595 = r14594 / r14589;
return r14595;
}
double f(double a, double b_2, double c) {
double r14596 = b_2;
double r14597 = -4.1690865718193236e-104;
bool r14598 = r14596 <= r14597;
double r14599 = -0.5;
double r14600 = c;
double r14601 = r14600 / r14596;
double r14602 = r14599 * r14601;
double r14603 = 1.3316184968738608e+61;
bool r14604 = r14596 <= r14603;
double r14605 = -r14596;
double r14606 = r14596 * r14596;
double r14607 = a;
double r14608 = r14607 * r14600;
double r14609 = r14606 - r14608;
double r14610 = sqrt(r14609);
double r14611 = r14605 - r14610;
double r14612 = r14611 / r14607;
double r14613 = -2.0;
double r14614 = r14596 / r14607;
double r14615 = r14613 * r14614;
double r14616 = r14604 ? r14612 : r14615;
double r14617 = r14598 ? r14602 : r14616;
return r14617;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.1690865718193236e-104Initial program 51.5
rmApplied clear-num51.5
rmApplied *-un-lft-identity51.5
Applied *-un-lft-identity51.5
Applied times-frac51.5
Applied add-cube-cbrt51.5
Applied times-frac51.5
Simplified51.5
Simplified51.5
Taylor expanded around -inf 11.0
if -4.1690865718193236e-104 < b_2 < 1.3316184968738608e+61Initial program 12.2
rmApplied clear-num12.4
rmApplied *-un-lft-identity12.4
Applied *-un-lft-identity12.4
Applied times-frac12.4
Applied add-cube-cbrt12.4
Applied times-frac12.4
Simplified12.4
Simplified12.2
if 1.3316184968738608e+61 < b_2 Initial program 39.5
rmApplied clear-num39.6
Taylor expanded around 0 4.5
Final simplification10.3
herbie shell --seed 2020045
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))