\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.755118612359990099835323540998142276883 \cdot 10^{47}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.415217774929248159542813179693576626283 \cdot 10^{-267}:\\
\;\;\;\;1 \cdot \left(\frac{\frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\frac{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{\sqrt[3]{c} \cdot \sqrt[3]{c}}}}{\sqrt[3]{1}} \cdot \frac{\frac{\sqrt[3]{\sqrt[3]{a}}}{\frac{\sqrt{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{\sqrt[3]{c}}}}{\sqrt[3]{a}}\right)\\
\mathbf{elif}\;b_2 \le 3.561111989718156042582267854543789265968 \cdot 10^{98}:\\
\;\;\;\;\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 r83356 = b_2;
double r83357 = -r83356;
double r83358 = r83356 * r83356;
double r83359 = a;
double r83360 = c;
double r83361 = r83359 * r83360;
double r83362 = r83358 - r83361;
double r83363 = sqrt(r83362);
double r83364 = r83357 - r83363;
double r83365 = r83364 / r83359;
return r83365;
}
double f(double a, double b_2, double c) {
double r83366 = b_2;
double r83367 = -3.75511861235999e+47;
bool r83368 = r83366 <= r83367;
double r83369 = -0.5;
double r83370 = c;
double r83371 = r83370 / r83366;
double r83372 = r83369 * r83371;
double r83373 = -1.4152177749292482e-267;
bool r83374 = r83366 <= r83373;
double r83375 = 1.0;
double r83376 = a;
double r83377 = cbrt(r83376);
double r83378 = cbrt(r83377);
double r83379 = r83378 * r83378;
double r83380 = r83366 * r83366;
double r83381 = r83376 * r83370;
double r83382 = r83380 - r83381;
double r83383 = sqrt(r83382);
double r83384 = r83383 - r83366;
double r83385 = sqrt(r83384);
double r83386 = cbrt(r83370);
double r83387 = r83386 * r83386;
double r83388 = r83385 / r83387;
double r83389 = r83379 / r83388;
double r83390 = cbrt(r83375);
double r83391 = r83389 / r83390;
double r83392 = r83385 / r83386;
double r83393 = r83378 / r83392;
double r83394 = r83393 / r83377;
double r83395 = r83391 * r83394;
double r83396 = r83375 * r83395;
double r83397 = 3.561111989718156e+98;
bool r83398 = r83366 <= r83397;
double r83399 = -r83366;
double r83400 = r83399 - r83383;
double r83401 = r83400 / r83376;
double r83402 = 0.5;
double r83403 = r83402 * r83371;
double r83404 = 2.0;
double r83405 = r83366 / r83376;
double r83406 = r83404 * r83405;
double r83407 = r83403 - r83406;
double r83408 = r83398 ? r83401 : r83407;
double r83409 = r83374 ? r83396 : r83408;
double r83410 = r83368 ? r83372 : r83409;
return r83410;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.75511861235999e+47Initial program 57.1
Taylor expanded around -inf 4.0
if -3.75511861235999e+47 < b_2 < -1.4152177749292482e-267Initial program 30.3
rmApplied flip--30.3
Simplified16.7
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied associate-/r*16.7
Simplified14.0
rmApplied add-cube-cbrt14.7
Applied *-un-lft-identity14.7
Applied *-un-lft-identity14.7
Applied times-frac14.7
Applied add-cube-cbrt14.0
Applied times-frac14.0
Applied times-frac10.2
Simplified10.2
rmApplied *-un-lft-identity10.2
Applied cbrt-prod10.2
Applied add-cube-cbrt11.0
Applied add-sqr-sqrt11.0
Applied times-frac11.1
Applied add-cube-cbrt11.3
Applied times-frac11.2
Applied times-frac10.3
if -1.4152177749292482e-267 < b_2 < 3.561111989718156e+98Initial program 9.9
if 3.561111989718156e+98 < b_2 Initial program 44.8
Taylor expanded around inf 3.6
Final simplification7.3
herbie shell --seed 2019298
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))