\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -7.034196314912654332684668868227158268874 \cdot 10^{-79}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 8.230710165919530873446837900046783246104 \cdot 10^{129}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{\mathsf{fma}\left(b_2, b_2, -a \cdot c\right)}}{a}\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r16070 = b_2;
double r16071 = -r16070;
double r16072 = r16070 * r16070;
double r16073 = a;
double r16074 = c;
double r16075 = r16073 * r16074;
double r16076 = r16072 - r16075;
double r16077 = sqrt(r16076);
double r16078 = r16071 - r16077;
double r16079 = r16078 / r16073;
return r16079;
}
double f(double a, double b_2, double c) {
double r16080 = b_2;
double r16081 = -7.034196314912654e-79;
bool r16082 = r16080 <= r16081;
double r16083 = 1.0;
double r16084 = -0.5;
double r16085 = c;
double r16086 = r16085 / r16080;
double r16087 = r16084 * r16086;
double r16088 = r16083 * r16087;
double r16089 = 8.230710165919531e+129;
bool r16090 = r16080 <= r16089;
double r16091 = -r16080;
double r16092 = a;
double r16093 = r16092 * r16085;
double r16094 = -r16093;
double r16095 = fma(r16080, r16080, r16094);
double r16096 = sqrt(r16095);
double r16097 = r16091 - r16096;
double r16098 = r16097 / r16092;
double r16099 = r16083 * r16098;
double r16100 = 0.5;
double r16101 = r16100 * r16086;
double r16102 = 2.0;
double r16103 = r16080 / r16092;
double r16104 = r16102 * r16103;
double r16105 = r16101 - r16104;
double r16106 = r16083 * r16105;
double r16107 = r16090 ? r16099 : r16106;
double r16108 = r16082 ? r16088 : r16107;
return r16108;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -7.034196314912654e-79Initial program 52.9
rmApplied clear-num52.9
rmApplied fma-neg52.9
rmApplied *-un-lft-identity52.9
Applied *-un-lft-identity52.9
Applied times-frac52.9
Applied add-cube-cbrt52.9
Applied times-frac52.9
Simplified52.9
Simplified52.8
Taylor expanded around -inf 9.0
if -7.034196314912654e-79 < b_2 < 8.230710165919531e+129Initial program 12.1
rmApplied clear-num12.2
rmApplied fma-neg12.2
rmApplied *-un-lft-identity12.2
Applied *-un-lft-identity12.2
Applied times-frac12.2
Applied add-cube-cbrt12.2
Applied times-frac12.2
Simplified12.2
Simplified12.1
if 8.230710165919531e+129 < b_2 Initial program 54.6
rmApplied clear-num54.7
rmApplied fma-neg54.7
rmApplied *-un-lft-identity54.7
Applied *-un-lft-identity54.7
Applied times-frac54.7
Applied add-cube-cbrt54.7
Applied times-frac54.7
Simplified54.7
Simplified54.6
Taylor expanded around inf 3.2
Final simplification9.8
herbie shell --seed 2019356 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))