\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.2887136042886476 \cdot 10^{+71}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.407079315314288 \cdot 10^{-176}:\\
\;\;\;\;\frac{a \cdot \frac{c}{{\left(\sqrt{e}\right)}^{\left(\log \left(b_2 \cdot b_2 - c \cdot a\right)\right)} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 8.016779424032652 \cdot 10^{+82}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{1}{2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r2922362 = b_2;
double r2922363 = -r2922362;
double r2922364 = r2922362 * r2922362;
double r2922365 = a;
double r2922366 = c;
double r2922367 = r2922365 * r2922366;
double r2922368 = r2922364 - r2922367;
double r2922369 = sqrt(r2922368);
double r2922370 = r2922363 - r2922369;
double r2922371 = r2922370 / r2922365;
return r2922371;
}
double f(double a, double b_2, double c) {
double r2922372 = b_2;
double r2922373 = -4.2887136042886476e+71;
bool r2922374 = r2922372 <= r2922373;
double r2922375 = -0.5;
double r2922376 = c;
double r2922377 = r2922376 / r2922372;
double r2922378 = r2922375 * r2922377;
double r2922379 = -3.407079315314288e-176;
bool r2922380 = r2922372 <= r2922379;
double r2922381 = a;
double r2922382 = exp(1.0);
double r2922383 = sqrt(r2922382);
double r2922384 = r2922372 * r2922372;
double r2922385 = r2922376 * r2922381;
double r2922386 = r2922384 - r2922385;
double r2922387 = log(r2922386);
double r2922388 = pow(r2922383, r2922387);
double r2922389 = r2922388 - r2922372;
double r2922390 = r2922376 / r2922389;
double r2922391 = r2922381 * r2922390;
double r2922392 = r2922391 / r2922381;
double r2922393 = 8.016779424032652e+82;
bool r2922394 = r2922372 <= r2922393;
double r2922395 = 1.0;
double r2922396 = -r2922372;
double r2922397 = sqrt(r2922386);
double r2922398 = r2922396 - r2922397;
double r2922399 = r2922381 / r2922398;
double r2922400 = r2922395 / r2922399;
double r2922401 = 0.5;
double r2922402 = r2922377 * r2922401;
double r2922403 = 2.0;
double r2922404 = r2922372 / r2922381;
double r2922405 = r2922403 * r2922404;
double r2922406 = r2922402 - r2922405;
double r2922407 = r2922394 ? r2922400 : r2922406;
double r2922408 = r2922380 ? r2922392 : r2922407;
double r2922409 = r2922374 ? r2922378 : r2922408;
return r2922409;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.2887136042886476e+71Initial program 57.3
Taylor expanded around -inf 3.3
if -4.2887136042886476e+71 < b_2 < -3.407079315314288e-176Initial program 36.0
rmApplied flip--36.1
Simplified15.5
Simplified15.5
rmApplied *-un-lft-identity15.5
Applied times-frac12.6
Simplified12.6
rmApplied add-exp-log15.3
rmApplied pow1/215.3
Applied log-pow15.3
Applied exp-prod15.7
Simplified15.7
if -3.407079315314288e-176 < b_2 < 8.016779424032652e+82Initial program 12.0
rmApplied clear-num12.1
if 8.016779424032652e+82 < b_2 Initial program 42.4
Taylor expanded around inf 3.6
Final simplification9.1
herbie shell --seed 2019163
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))