\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.939122797387644981598378751450729435399 \cdot 10^{59}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le \frac{7249572029462281}{1.38034926935811275748695117245540509049 \cdot 10^{70}}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{c}{b_2}}{-2}\\
\end{array}double f(double a, double b_2, double c) {
double r42900 = b_2;
double r42901 = -r42900;
double r42902 = r42900 * r42900;
double r42903 = a;
double r42904 = c;
double r42905 = r42903 * r42904;
double r42906 = r42902 - r42905;
double r42907 = sqrt(r42906);
double r42908 = r42901 + r42907;
double r42909 = r42908 / r42903;
return r42909;
}
double f(double a, double b_2, double c) {
double r42910 = b_2;
double r42911 = -1.939122797387645e+59;
bool r42912 = r42910 <= r42911;
double r42913 = 1.0;
double r42914 = 2.0;
double r42915 = r42913 / r42914;
double r42916 = c;
double r42917 = r42916 / r42910;
double r42918 = r42915 * r42917;
double r42919 = a;
double r42920 = r42910 / r42919;
double r42921 = r42914 * r42920;
double r42922 = r42918 - r42921;
double r42923 = 7249572029462281.0;
double r42924 = 1.3803492693581128e+70;
double r42925 = r42923 / r42924;
bool r42926 = r42910 <= r42925;
double r42927 = r42910 * r42910;
double r42928 = r42919 * r42916;
double r42929 = r42927 - r42928;
double r42930 = sqrt(r42929);
double r42931 = r42930 - r42910;
double r42932 = r42919 / r42931;
double r42933 = r42913 / r42932;
double r42934 = -2.0;
double r42935 = r42917 / r42934;
double r42936 = r42926 ? r42933 : r42935;
double r42937 = r42912 ? r42922 : r42936;
return r42937;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.939122797387645e+59Initial program 37.8
Taylor expanded around -inf 5.1
Simplified5.1
if -1.939122797387645e+59 < b_2 < 5.251983820611911e-55Initial program 13.9
rmApplied clear-num14.0
Simplified14.0
if 5.251983820611911e-55 < b_2 Initial program 54.8
Taylor expanded around inf 7.3
Simplified7.3
Final simplification9.8
herbie shell --seed 350497007
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))