\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.068787453924659787754027441129039063224 \cdot 10^{-76}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.360908374051695590422690701366520544893 \cdot 10^{86}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(-2, b_2, \frac{a \cdot \frac{1}{2}}{\frac{b_2}{c}}\right)}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r3385764 = b_2;
double r3385765 = -r3385764;
double r3385766 = r3385764 * r3385764;
double r3385767 = a;
double r3385768 = c;
double r3385769 = r3385767 * r3385768;
double r3385770 = r3385766 - r3385769;
double r3385771 = sqrt(r3385770);
double r3385772 = r3385765 - r3385771;
double r3385773 = r3385772 / r3385767;
return r3385773;
}
double f(double a, double b_2, double c) {
double r3385774 = b_2;
double r3385775 = -2.0687874539246598e-76;
bool r3385776 = r3385774 <= r3385775;
double r3385777 = -0.5;
double r3385778 = c;
double r3385779 = r3385778 / r3385774;
double r3385780 = r3385777 * r3385779;
double r3385781 = 2.3609083740516956e+86;
bool r3385782 = r3385774 <= r3385781;
double r3385783 = -r3385774;
double r3385784 = r3385774 * r3385774;
double r3385785 = a;
double r3385786 = r3385785 * r3385778;
double r3385787 = r3385784 - r3385786;
double r3385788 = sqrt(r3385787);
double r3385789 = r3385783 - r3385788;
double r3385790 = 1.0;
double r3385791 = r3385790 / r3385785;
double r3385792 = r3385789 * r3385791;
double r3385793 = -2.0;
double r3385794 = 0.5;
double r3385795 = r3385785 * r3385794;
double r3385796 = r3385774 / r3385778;
double r3385797 = r3385795 / r3385796;
double r3385798 = fma(r3385793, r3385774, r3385797);
double r3385799 = r3385798 / r3385785;
double r3385800 = r3385782 ? r3385792 : r3385799;
double r3385801 = r3385776 ? r3385780 : r3385800;
return r3385801;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.0687874539246598e-76Initial program 52.9
Taylor expanded around -inf 9.9
if -2.0687874539246598e-76 < b_2 < 2.3609083740516956e+86Initial program 13.1
rmApplied div-inv13.2
if 2.3609083740516956e+86 < b_2 Initial program 44.0
Taylor expanded around inf 9.6
Simplified4.0
Final simplification10.3
herbie shell --seed 2019170 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))