\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3628086182808922216479727071860655520743000:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -7.975591029427466896519638178068898735928 \cdot 10^{-96}:\\
\;\;\;\;\frac{\frac{\frac{a}{\frac{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{c}}}{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\\
\mathbf{elif}\;b_2 \le -5.358830408552924876342396298354647853638 \cdot 10^{-132}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 6.326287366549382745037046972324082366467 \cdot 10^{74}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r76144 = b_2;
double r76145 = -r76144;
double r76146 = r76144 * r76144;
double r76147 = a;
double r76148 = c;
double r76149 = r76147 * r76148;
double r76150 = r76146 - r76149;
double r76151 = sqrt(r76150);
double r76152 = r76145 - r76151;
double r76153 = r76152 / r76147;
return r76153;
}
double f(double a, double b_2, double c) {
double r76154 = b_2;
double r76155 = -3.628086182808922e+42;
bool r76156 = r76154 <= r76155;
double r76157 = -0.5;
double r76158 = c;
double r76159 = r76158 / r76154;
double r76160 = r76157 * r76159;
double r76161 = -7.975591029427467e-96;
bool r76162 = r76154 <= r76161;
double r76163 = a;
double r76164 = r76154 * r76154;
double r76165 = r76163 * r76158;
double r76166 = r76164 - r76165;
double r76167 = sqrt(r76166);
double r76168 = r76167 - r76154;
double r76169 = sqrt(r76168);
double r76170 = r76169 / r76158;
double r76171 = r76163 / r76170;
double r76172 = r76171 / r76169;
double r76173 = r76172 / r76163;
double r76174 = -5.358830408552925e-132;
bool r76175 = r76154 <= r76174;
double r76176 = 6.326287366549383e+74;
bool r76177 = r76154 <= r76176;
double r76178 = -r76154;
double r76179 = r76178 / r76163;
double r76180 = r76167 / r76163;
double r76181 = r76179 - r76180;
double r76182 = 0.5;
double r76183 = r76182 * r76159;
double r76184 = 2.0;
double r76185 = r76154 / r76163;
double r76186 = r76184 * r76185;
double r76187 = r76183 - r76186;
double r76188 = r76177 ? r76181 : r76187;
double r76189 = r76175 ? r76160 : r76188;
double r76190 = r76162 ? r76173 : r76189;
double r76191 = r76156 ? r76160 : r76190;
return r76191;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.628086182808922e+42 or -7.975591029427467e-96 < b_2 < -5.358830408552925e-132Initial program 54.2
Taylor expanded around -inf 6.7
if -3.628086182808922e+42 < b_2 < -7.975591029427467e-96Initial program 41.7
rmApplied flip--41.7
Simplified16.9
Simplified16.9
rmApplied add-sqr-sqrt17.1
Applied associate-/r*17.1
Simplified15.8
if -5.358830408552925e-132 < b_2 < 6.326287366549383e+74Initial program 11.6
rmApplied div-sub11.6
if 6.326287366549383e+74 < b_2 Initial program 41.8
Taylor expanded around inf 5.3
Final simplification9.4
herbie shell --seed 2019322
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))