\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.968339104808995575492318760699662265421 \cdot 10^{-12}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.56941837498823591489155962868807522273 \cdot 10^{-254}:\\
\;\;\;\;\frac{\frac{1}{\frac{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 2.480029721366774241012772407230706250557 \cdot 10^{95}:\\
\;\;\;\;\frac{\left(-b_2\right) - \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 r73182 = b_2;
double r73183 = -r73182;
double r73184 = r73182 * r73182;
double r73185 = a;
double r73186 = c;
double r73187 = r73185 * r73186;
double r73188 = r73184 - r73187;
double r73189 = sqrt(r73188);
double r73190 = r73183 - r73189;
double r73191 = r73190 / r73185;
return r73191;
}
double f(double a, double b_2, double c) {
double r73192 = b_2;
double r73193 = -2.9683391048089956e-12;
bool r73194 = r73192 <= r73193;
double r73195 = -0.5;
double r73196 = c;
double r73197 = r73196 / r73192;
double r73198 = r73195 * r73197;
double r73199 = -2.569418374988236e-254;
bool r73200 = r73192 <= r73199;
double r73201 = 1.0;
double r73202 = r73192 * r73192;
double r73203 = a;
double r73204 = r73203 * r73196;
double r73205 = r73202 - r73204;
double r73206 = sqrt(r73205);
double r73207 = r73206 - r73192;
double r73208 = r73207 / r73203;
double r73209 = r73208 / r73196;
double r73210 = r73201 / r73209;
double r73211 = r73210 / r73203;
double r73212 = 2.4800297213667742e+95;
bool r73213 = r73192 <= r73212;
double r73214 = -r73192;
double r73215 = r73214 - r73206;
double r73216 = r73215 / r73203;
double r73217 = 0.5;
double r73218 = r73217 * r73197;
double r73219 = 2.0;
double r73220 = r73192 / r73203;
double r73221 = r73219 * r73220;
double r73222 = r73218 - r73221;
double r73223 = r73213 ? r73216 : r73222;
double r73224 = r73200 ? r73211 : r73223;
double r73225 = r73194 ? r73198 : r73224;
return r73225;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.9683391048089956e-12Initial program 55.3
Taylor expanded around -inf 6.3
if -2.9683391048089956e-12 < b_2 < -2.569418374988236e-254Initial program 28.9
rmApplied flip--29.0
Simplified19.4
Simplified19.4
rmApplied clear-num19.5
Simplified16.1
if -2.569418374988236e-254 < b_2 < 2.4800297213667742e+95Initial program 9.8
if 2.4800297213667742e+95 < b_2 Initial program 44.3
Taylor expanded around inf 3.7
Final simplification8.7
herbie shell --seed 2019294
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))