\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.3165289123951838 \cdot 10^{-123}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 6.7711658147871089 \cdot 10^{125}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{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 r77539 = b_2;
double r77540 = -r77539;
double r77541 = r77539 * r77539;
double r77542 = a;
double r77543 = c;
double r77544 = r77542 * r77543;
double r77545 = r77541 - r77544;
double r77546 = sqrt(r77545);
double r77547 = r77540 - r77546;
double r77548 = r77547 / r77542;
return r77548;
}
double f(double a, double b_2, double c) {
double r77549 = b_2;
double r77550 = -2.3165289123951838e-123;
bool r77551 = r77549 <= r77550;
double r77552 = 1.0;
double r77553 = -0.5;
double r77554 = c;
double r77555 = r77554 / r77549;
double r77556 = r77553 * r77555;
double r77557 = r77552 * r77556;
double r77558 = 6.771165814787109e+125;
bool r77559 = r77549 <= r77558;
double r77560 = -r77549;
double r77561 = r77549 * r77549;
double r77562 = a;
double r77563 = r77562 * r77554;
double r77564 = r77561 - r77563;
double r77565 = sqrt(r77564);
double r77566 = r77560 - r77565;
double r77567 = r77566 / r77562;
double r77568 = r77552 * r77567;
double r77569 = 0.5;
double r77570 = r77569 * r77555;
double r77571 = 2.0;
double r77572 = r77549 / r77562;
double r77573 = r77571 * r77572;
double r77574 = r77570 - r77573;
double r77575 = r77552 * r77574;
double r77576 = r77559 ? r77568 : r77575;
double r77577 = r77551 ? r77557 : r77576;
return r77577;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.3165289123951838e-123Initial program 51.0
rmApplied clear-num51.0
rmApplied *-un-lft-identity51.0
Applied *-un-lft-identity51.0
Applied times-frac51.0
Applied add-cube-cbrt51.0
Applied times-frac51.0
Simplified51.0
Simplified51.0
Taylor expanded around -inf 11.8
if -2.3165289123951838e-123 < b_2 < 6.771165814787109e+125Initial program 11.3
rmApplied clear-num11.5
rmApplied *-un-lft-identity11.5
Applied *-un-lft-identity11.5
Applied times-frac11.5
Applied add-cube-cbrt11.5
Applied times-frac11.5
Simplified11.5
Simplified11.3
if 6.771165814787109e+125 < b_2 Initial program 53.6
rmApplied clear-num53.6
rmApplied *-un-lft-identity53.6
Applied *-un-lft-identity53.6
Applied times-frac53.6
Applied add-cube-cbrt53.6
Applied times-frac53.6
Simplified53.6
Simplified53.6
rmApplied div-inv53.6
Taylor expanded around inf 2.5
Final simplification10.3
herbie shell --seed 2020083 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))