\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 -3.802039528616915 \cdot 10^{+153}:\\
\;\;\;\;\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}{\frac{c}{b} \cdot a - b} \cdot \frac{c}{2}\\
\end{array}\\
\mathbf{elif}\;b \le 4.581891264817394 \cdot 10^{+96}:\\
\;\;\;\;\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{c}{b} \cdot a - 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 r2535625 = b;
double r2535626 = 0.0;
bool r2535627 = r2535625 >= r2535626;
double r2535628 = -r2535625;
double r2535629 = r2535625 * r2535625;
double r2535630 = 4.0;
double r2535631 = a;
double r2535632 = r2535630 * r2535631;
double r2535633 = c;
double r2535634 = r2535632 * r2535633;
double r2535635 = r2535629 - r2535634;
double r2535636 = sqrt(r2535635);
double r2535637 = r2535628 - r2535636;
double r2535638 = 2.0;
double r2535639 = r2535638 * r2535631;
double r2535640 = r2535637 / r2535639;
double r2535641 = r2535638 * r2535633;
double r2535642 = r2535628 + r2535636;
double r2535643 = r2535641 / r2535642;
double r2535644 = r2535627 ? r2535640 : r2535643;
return r2535644;
}
double f(double a, double b, double c) {
double r2535645 = b;
double r2535646 = -3.802039528616915e+153;
bool r2535647 = r2535645 <= r2535646;
double r2535648 = 0.0;
bool r2535649 = r2535645 >= r2535648;
double r2535650 = -r2535645;
double r2535651 = r2535645 * r2535645;
double r2535652 = 4.0;
double r2535653 = a;
double r2535654 = r2535652 * r2535653;
double r2535655 = c;
double r2535656 = r2535654 * r2535655;
double r2535657 = r2535651 - r2535656;
double r2535658 = sqrt(r2535657);
double r2535659 = r2535650 - r2535658;
double r2535660 = 2.0;
double r2535661 = r2535660 * r2535653;
double r2535662 = r2535659 / r2535661;
double r2535663 = r2535655 / r2535645;
double r2535664 = r2535663 * r2535653;
double r2535665 = r2535664 - r2535645;
double r2535666 = r2535660 / r2535665;
double r2535667 = r2535655 / r2535660;
double r2535668 = r2535666 * r2535667;
double r2535669 = r2535649 ? r2535662 : r2535668;
double r2535670 = 4.581891264817394e+96;
bool r2535671 = r2535645 <= r2535670;
double r2535672 = r2535655 * r2535660;
double r2535673 = sqrt(r2535658);
double r2535674 = r2535673 * r2535673;
double r2535675 = r2535650 + r2535674;
double r2535676 = r2535672 / r2535675;
double r2535677 = r2535649 ? r2535662 : r2535676;
double r2535678 = r2535660 * r2535665;
double r2535679 = r2535678 / r2535661;
double r2535680 = r2535658 + r2535650;
double r2535681 = r2535672 / r2535680;
double r2535682 = r2535649 ? r2535679 : r2535681;
double r2535683 = r2535671 ? r2535677 : r2535682;
double r2535684 = r2535647 ? r2535669 : r2535683;
return r2535684;
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
if b < -3.802039528616915e+153Initial program 38.7
Taylor expanded around -inf 7.1
Simplified1.2
rmApplied times-frac1.2
if -3.802039528616915e+153 < b < 4.581891264817394e+96Initial program 8.2
rmApplied add-sqr-sqrt8.2
Applied sqrt-prod8.3
if 4.581891264817394e+96 < b Initial program 43.5
Taylor expanded around inf 9.9
Simplified4.0
Final simplification6.3
herbie shell --seed 2019104
(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)))))))