\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 + \left(b_2 \cdot b_2 - b_2 \cdot b_2\right)}{a}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\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}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r2765767 = b_2;
double r2765768 = -r2765767;
double r2765769 = r2765767 * r2765767;
double r2765770 = a;
double r2765771 = c;
double r2765772 = r2765770 * r2765771;
double r2765773 = r2765769 - r2765772;
double r2765774 = sqrt(r2765773);
double r2765775 = r2765768 - r2765774;
double r2765776 = r2765775 / r2765770;
return r2765776;
}
double f(double a, double b_2, double c) {
double r2765777 = b_2;
double r2765778 = -5.999462245480892e+73;
bool r2765779 = r2765777 <= r2765778;
double r2765780 = -0.5;
double r2765781 = c;
double r2765782 = r2765781 / r2765777;
double r2765783 = r2765780 * r2765782;
double r2765784 = -4.296272708131499e-127;
bool r2765785 = r2765777 <= r2765784;
double r2765786 = a;
double r2765787 = r2765786 * r2765781;
double r2765788 = r2765777 * r2765777;
double r2765789 = r2765788 - r2765788;
double r2765790 = r2765787 + r2765789;
double r2765791 = r2765790 / r2765786;
double r2765792 = -r2765777;
double r2765793 = r2765788 - r2765787;
double r2765794 = sqrt(r2765793);
double r2765795 = r2765792 + r2765794;
double r2765796 = r2765791 / r2765795;
double r2765797 = 5.748502676649783e+143;
bool r2765798 = r2765777 <= r2765797;
double r2765799 = r2765792 / r2765786;
double r2765800 = r2765794 / r2765786;
double r2765801 = r2765799 - r2765800;
double r2765802 = -2.0;
double r2765803 = r2765777 / r2765786;
double r2765804 = r2765802 * r2765803;
double r2765805 = r2765798 ? r2765801 : r2765804;
double r2765806 = r2765785 ? r2765796 : r2765805;
double r2765807 = r2765779 ? r2765783 : r2765806;
return r2765807;
}



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 div-inv40.0
rmApplied flip--40.0
Applied associate-*l/40.0
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 div-inv59.9
rmApplied flip--63.9
Applied associate-*l/63.9
Simplified63.9
Taylor expanded around 0 62.6
Taylor expanded around 0 2.2
Final simplification8.6
herbie shell --seed 2019200 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))