\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.063494556122608953103184521416208568921 \cdot 10^{74}:\\
\;\;\;\;\mathsf{fma}\left(\frac{c}{b_2}, \frac{1}{2}, \frac{b_2}{a} \cdot -2\right)\\
\mathbf{elif}\;b_2 \le -4.058683644017214908087872893810993578525 \cdot 10^{-201}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{\mathsf{fma}\left(a, -c, b_2 \cdot b_2\right)} - b_2}}\\
\mathbf{elif}\;b_2 \le 9.585324748779202632561049799715830083757 \cdot 10^{76}:\\
\;\;\;\;\frac{-1}{\sqrt{\mathsf{fma}\left(a, -c, b_2 \cdot b_2\right)} + b_2} \cdot c\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-1}{2} \cdot c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r29959 = b_2;
double r29960 = -r29959;
double r29961 = r29959 * r29959;
double r29962 = a;
double r29963 = c;
double r29964 = r29962 * r29963;
double r29965 = r29961 - r29964;
double r29966 = sqrt(r29965);
double r29967 = r29960 + r29966;
double r29968 = r29967 / r29962;
return r29968;
}
double f(double a, double b_2, double c) {
double r29969 = b_2;
double r29970 = -2.063494556122609e+74;
bool r29971 = r29969 <= r29970;
double r29972 = c;
double r29973 = r29972 / r29969;
double r29974 = 0.5;
double r29975 = a;
double r29976 = r29969 / r29975;
double r29977 = -2.0;
double r29978 = r29976 * r29977;
double r29979 = fma(r29973, r29974, r29978);
double r29980 = -4.058683644017215e-201;
bool r29981 = r29969 <= r29980;
double r29982 = 1.0;
double r29983 = -r29972;
double r29984 = r29969 * r29969;
double r29985 = fma(r29975, r29983, r29984);
double r29986 = sqrt(r29985);
double r29987 = r29986 - r29969;
double r29988 = r29975 / r29987;
double r29989 = r29982 / r29988;
double r29990 = 9.585324748779203e+76;
bool r29991 = r29969 <= r29990;
double r29992 = -1.0;
double r29993 = r29986 + r29969;
double r29994 = r29992 / r29993;
double r29995 = r29994 * r29972;
double r29996 = -0.5;
double r29997 = r29996 * r29972;
double r29998 = r29997 / r29969;
double r29999 = r29991 ? r29995 : r29998;
double r30000 = r29981 ? r29989 : r29999;
double r30001 = r29971 ? r29979 : r30000;
return r30001;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -2.063494556122609e+74Initial program 41.4
Taylor expanded around -inf 5.3
Simplified5.3
if -2.063494556122609e+74 < b_2 < -4.058683644017215e-201Initial program 8.3
rmApplied clear-num8.4
Simplified8.4
if -4.058683644017215e-201 < b_2 < 9.585324748779203e+76Initial program 28.3
rmApplied flip-+28.4
Simplified16.6
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied neg-mul-116.6
Applied *-un-lft-identity16.6
Applied times-frac16.6
Applied times-frac16.6
Simplified16.6
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac10.2
Applied times-frac10.3
Simplified10.3
Simplified10.3
if 9.585324748779203e+76 < b_2 Initial program 58.5
Taylor expanded around inf 3.4
Simplified3.4
Final simplification7.2
herbie shell --seed 2019196 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))