\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\
\end{array}\begin{array}{l}
\mathbf{if}\;b \le -1.0792997650810195 \cdot 10^{+147}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{2 \cdot \left(\frac{a}{\frac{b}{c}} - b\right)}\\
\end{array}\\
\mathbf{elif}\;b \le 1.2227155259920384 \cdot 10^{+84}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\left(-b\right) + \sqrt{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}} \cdot \sqrt{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}\\
\end{array}\\
\mathbf{elif}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot \left(\frac{a}{\frac{b}{c}} - b\right)}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} + \left(-b\right)}\\
\end{array}double f(double a, double b, double c) {
double r1765903 = b;
double r1765904 = 0.0;
bool r1765905 = r1765903 >= r1765904;
double r1765906 = -r1765903;
double r1765907 = r1765903 * r1765903;
double r1765908 = 4.0;
double r1765909 = a;
double r1765910 = r1765908 * r1765909;
double r1765911 = c;
double r1765912 = r1765910 * r1765911;
double r1765913 = r1765907 - r1765912;
double r1765914 = sqrt(r1765913);
double r1765915 = r1765906 - r1765914;
double r1765916 = 2.0;
double r1765917 = r1765916 * r1765909;
double r1765918 = r1765915 / r1765917;
double r1765919 = r1765916 * r1765911;
double r1765920 = r1765906 + r1765914;
double r1765921 = r1765919 / r1765920;
double r1765922 = r1765905 ? r1765918 : r1765921;
return r1765922;
}
double f(double a, double b, double c) {
double r1765923 = b;
double r1765924 = -1.0792997650810195e+147;
bool r1765925 = r1765923 <= r1765924;
double r1765926 = 0.0;
bool r1765927 = r1765923 >= r1765926;
double r1765928 = -r1765923;
double r1765929 = r1765923 * r1765923;
double r1765930 = 4.0;
double r1765931 = a;
double r1765932 = r1765930 * r1765931;
double r1765933 = c;
double r1765934 = r1765932 * r1765933;
double r1765935 = r1765929 - r1765934;
double r1765936 = sqrt(r1765935);
double r1765937 = r1765928 - r1765936;
double r1765938 = 2.0;
double r1765939 = r1765938 * r1765931;
double r1765940 = r1765937 / r1765939;
double r1765941 = r1765933 * r1765938;
double r1765942 = r1765923 / r1765933;
double r1765943 = r1765931 / r1765942;
double r1765944 = r1765943 - r1765923;
double r1765945 = r1765938 * r1765944;
double r1765946 = r1765941 / r1765945;
double r1765947 = r1765927 ? r1765940 : r1765946;
double r1765948 = 1.2227155259920384e+84;
bool r1765949 = r1765923 <= r1765948;
double r1765950 = sqrt(r1765936);
double r1765951 = r1765950 * r1765950;
double r1765952 = r1765928 + r1765951;
double r1765953 = r1765941 / r1765952;
double r1765954 = r1765927 ? r1765940 : r1765953;
double r1765955 = r1765945 / r1765939;
double r1765956 = r1765936 + r1765928;
double r1765957 = r1765941 / r1765956;
double r1765958 = r1765927 ? r1765955 : r1765957;
double r1765959 = r1765949 ? r1765954 : r1765958;
double r1765960 = r1765925 ? r1765947 : r1765959;
return r1765960;
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
if b < -1.0792997650810195e+147Initial program 36.2
Taylor expanded around -inf 5.8
Simplified1.4
if -1.0792997650810195e+147 < b < 1.2227155259920384e+84Initial program 9.1
rmApplied add-sqr-sqrt9.1
Applied sqrt-prod9.2
if 1.2227155259920384e+84 < b Initial program 42.7
Taylor expanded around inf 9.5
Simplified3.9
Final simplification6.9
herbie shell --seed 2019163
(FPCore (a b c)
:name "jeff quadratic root 1"
(if (>= b 0) (/ (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))))))