\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\end{array}\begin{array}{l}
\mathbf{if}\;b \le -1.4623077909156017 \cdot 10^{+142}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{a \cdot c}{b} - b\right) + \left(-b\right)}{2 \cdot a}\\
\end{array}\\
\mathbf{elif}\;b \le 4.3408267342133627 \cdot 10^{+139}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot c}{\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}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} + \left(-b\right)}{2 \cdot a}\\
\end{array}\\
\mathbf{elif}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot c}{2 \cdot \left(\frac{a}{\frac{b}{c}} - b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} + \left(-b\right)}{2 \cdot a}\\
\end{array}double f(double a, double b, double c) {
double r822083 = b;
double r822084 = 0.0;
bool r822085 = r822083 >= r822084;
double r822086 = 2.0;
double r822087 = c;
double r822088 = r822086 * r822087;
double r822089 = -r822083;
double r822090 = r822083 * r822083;
double r822091 = 4.0;
double r822092 = a;
double r822093 = r822091 * r822092;
double r822094 = r822093 * r822087;
double r822095 = r822090 - r822094;
double r822096 = sqrt(r822095);
double r822097 = r822089 - r822096;
double r822098 = r822088 / r822097;
double r822099 = r822089 + r822096;
double r822100 = r822086 * r822092;
double r822101 = r822099 / r822100;
double r822102 = r822085 ? r822098 : r822101;
return r822102;
}
double f(double a, double b, double c) {
double r822103 = b;
double r822104 = -1.4623077909156017e+142;
bool r822105 = r822103 <= r822104;
double r822106 = 0.0;
bool r822107 = r822103 >= r822106;
double r822108 = 2.0;
double r822109 = c;
double r822110 = r822108 * r822109;
double r822111 = -r822103;
double r822112 = r822103 * r822103;
double r822113 = 4.0;
double r822114 = a;
double r822115 = r822113 * r822114;
double r822116 = r822115 * r822109;
double r822117 = r822112 - r822116;
double r822118 = sqrt(r822117);
double r822119 = r822111 - r822118;
double r822120 = r822110 / r822119;
double r822121 = r822114 * r822109;
double r822122 = r822121 / r822103;
double r822123 = r822108 * r822122;
double r822124 = r822123 - r822103;
double r822125 = r822124 + r822111;
double r822126 = r822108 * r822114;
double r822127 = r822125 / r822126;
double r822128 = r822107 ? r822120 : r822127;
double r822129 = 4.3408267342133627e+139;
bool r822130 = r822103 <= r822129;
double r822131 = sqrt(r822118);
double r822132 = r822131 * r822131;
double r822133 = r822111 - r822132;
double r822134 = r822110 / r822133;
double r822135 = r822118 + r822111;
double r822136 = r822135 / r822126;
double r822137 = r822107 ? r822134 : r822136;
double r822138 = r822103 / r822109;
double r822139 = r822114 / r822138;
double r822140 = r822139 - r822103;
double r822141 = r822108 * r822140;
double r822142 = r822110 / r822141;
double r822143 = r822107 ? r822142 : r822136;
double r822144 = r822130 ? r822137 : r822143;
double r822145 = r822105 ? r822128 : r822144;
return r822145;
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
if b < -1.4623077909156017e+142Initial program 56.5
Taylor expanded around -inf 10.5
if -1.4623077909156017e+142 < b < 4.3408267342133627e+139Initial program 8.3
rmApplied add-sqr-sqrt8.3
Applied sqrt-prod8.4
if 4.3408267342133627e+139 < b Initial program 34.5
rmApplied add-sqr-sqrt34.5
Applied sqrt-prod34.5
Taylor expanded around inf 6.3
Simplified1.7
Final simplification7.3
herbie shell --seed 2019143
(FPCore (a b c)
:name "jeff quadratic root 2"
(if (>= b 0) (/ (* 2 c) (- (- b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))))