\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.99946224548089213456388959139204668765 \cdot 10^{73}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.296272708131498829504916428849430668856 \cdot 10^{-127}:\\
\;\;\;\;\frac{\frac{a \cdot c}{a}}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.748502676649782580252214156933339561376 \cdot 10^{143}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2}{a} \cdot -2\\
\end{array}double f(double a, double b_2, double c) {
double r3579783 = b_2;
double r3579784 = -r3579783;
double r3579785 = r3579783 * r3579783;
double r3579786 = a;
double r3579787 = c;
double r3579788 = r3579786 * r3579787;
double r3579789 = r3579785 - r3579788;
double r3579790 = sqrt(r3579789);
double r3579791 = r3579784 - r3579790;
double r3579792 = r3579791 / r3579786;
return r3579792;
}
double f(double a, double b_2, double c) {
double r3579793 = b_2;
double r3579794 = -5.999462245480892e+73;
bool r3579795 = r3579793 <= r3579794;
double r3579796 = -0.5;
double r3579797 = c;
double r3579798 = r3579797 / r3579793;
double r3579799 = r3579796 * r3579798;
double r3579800 = -4.296272708131499e-127;
bool r3579801 = r3579793 <= r3579800;
double r3579802 = a;
double r3579803 = r3579802 * r3579797;
double r3579804 = r3579803 / r3579802;
double r3579805 = r3579793 * r3579793;
double r3579806 = r3579805 - r3579803;
double r3579807 = sqrt(r3579806);
double r3579808 = r3579807 - r3579793;
double r3579809 = r3579804 / r3579808;
double r3579810 = 5.748502676649783e+143;
bool r3579811 = r3579793 <= r3579810;
double r3579812 = -r3579793;
double r3579813 = r3579812 / r3579802;
double r3579814 = r3579807 / r3579802;
double r3579815 = r3579813 - r3579814;
double r3579816 = r3579793 / r3579802;
double r3579817 = -2.0;
double r3579818 = r3579816 * r3579817;
double r3579819 = r3579811 ? r3579815 : r3579818;
double r3579820 = r3579801 ? r3579809 : r3579819;
double r3579821 = r3579795 ? r3579799 : r3579820;
return r3579821;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.999462245480892e+73Initial program 58.3
Taylor expanded around -inf 3.4
if -5.999462245480892e+73 < b_2 < -4.296272708131499e-127Initial program 40.0
rmApplied flip--40.0
Simplified15.6
Simplified15.6
rmApplied *-un-lft-identity15.6
Applied times-frac13.7
Simplified13.7
rmApplied div-inv13.8
rmApplied associate-*r/15.7
Applied associate-*l/14.8
Simplified14.7
if -4.296272708131499e-127 < b_2 < 5.748502676649783e+143Initial program 11.3
rmApplied div-sub11.2
if 5.748502676649783e+143 < b_2 Initial program 59.9
rmApplied flip--63.9
Simplified62.7
Simplified62.7
rmApplied *-un-lft-identity62.7
Applied times-frac62.6
Simplified62.6
rmApplied div-inv62.6
Taylor expanded around 0 2.2
Final simplification8.6
herbie shell --seed 2019200
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))