\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.674469085146396739103610609439188639717 \cdot 10^{110}:\\
\;\;\;\;\frac{\frac{c}{b_2}}{-2}\\
\mathbf{elif}\;b_2 \le \frac{2563685591414627}{3.630412374213337555659332270873780664383 \cdot 10^{280}}:\\
\;\;\;\;1 \cdot \frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 1.715181108188238274259588142060201574853 \cdot 10^{78}:\\
\;\;\;\;\frac{\left(-b_2\right) - \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 r58678 = b_2;
double r58679 = -r58678;
double r58680 = r58678 * r58678;
double r58681 = a;
double r58682 = c;
double r58683 = r58681 * r58682;
double r58684 = r58680 - r58683;
double r58685 = sqrt(r58684);
double r58686 = r58679 - r58685;
double r58687 = r58686 / r58681;
return r58687;
}
double f(double a, double b_2, double c) {
double r58688 = b_2;
double r58689 = -5.674469085146397e+110;
bool r58690 = r58688 <= r58689;
double r58691 = c;
double r58692 = r58691 / r58688;
double r58693 = -2.0;
double r58694 = r58692 / r58693;
double r58695 = 2563685591414627.0;
double r58696 = 3.6304123742133376e+280;
double r58697 = r58695 / r58696;
bool r58698 = r58688 <= r58697;
double r58699 = 1.0;
double r58700 = r58688 * r58688;
double r58701 = a;
double r58702 = r58701 * r58691;
double r58703 = r58700 - r58702;
double r58704 = sqrt(r58703);
double r58705 = r58704 - r58688;
double r58706 = r58691 / r58705;
double r58707 = r58699 * r58706;
double r58708 = 1.7151811081882383e+78;
bool r58709 = r58688 <= r58708;
double r58710 = -r58688;
double r58711 = r58710 - r58704;
double r58712 = r58711 / r58701;
double r58713 = r58688 / r58701;
double r58714 = r58693 * r58713;
double r58715 = r58709 ? r58712 : r58714;
double r58716 = r58698 ? r58707 : r58715;
double r58717 = r58690 ? r58694 : r58716;
return r58717;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.674469085146397e+110Initial program 59.7
Taylor expanded around -inf 2.7
Simplified2.7
if -5.674469085146397e+110 < b_2 < 7.061692521831336e-266Initial program 31.8
rmApplied flip--31.8
Simplified16.1
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied associate-/r*16.1
Simplified14.1
rmApplied *-un-lft-identity14.1
Applied *-un-lft-identity14.1
Applied times-frac14.1
Applied associate-/l*14.0
Simplified9.0
rmApplied div-inv9.0
Simplified8.7
if 7.061692521831336e-266 < b_2 < 1.7151811081882383e+78Initial program 8.5
if 1.7151811081882383e+78 < b_2 Initial program 43.0
rmApplied flip--62.6
Simplified61.8
Simplified61.8
Taylor expanded around 0 4.8
Final simplification6.6
herbie shell --seed 2019303
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))