\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.4317863954914854 \cdot 10^{141}:\\
\;\;\;\;\left(\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 1.1860189201379418 \cdot 10^{-161}:\\
\;\;\;\;\frac{1}{a} \cdot \sqrt{b_2 \cdot b_2 - a \cdot c} - \frac{b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r14813 = b_2;
double r14814 = -r14813;
double r14815 = r14813 * r14813;
double r14816 = a;
double r14817 = c;
double r14818 = r14816 * r14817;
double r14819 = r14815 - r14818;
double r14820 = sqrt(r14819);
double r14821 = r14814 + r14820;
double r14822 = r14821 / r14816;
return r14822;
}
double f(double a, double b_2, double c) {
double r14823 = b_2;
double r14824 = -2.4317863954914854e+141;
bool r14825 = r14823 <= r14824;
double r14826 = 0.5;
double r14827 = c;
double r14828 = r14827 / r14823;
double r14829 = r14826 * r14828;
double r14830 = a;
double r14831 = r14823 / r14830;
double r14832 = r14829 - r14831;
double r14833 = r14832 - r14831;
double r14834 = 1.1860189201379418e-161;
bool r14835 = r14823 <= r14834;
double r14836 = 1.0;
double r14837 = r14836 / r14830;
double r14838 = r14823 * r14823;
double r14839 = r14830 * r14827;
double r14840 = r14838 - r14839;
double r14841 = sqrt(r14840);
double r14842 = r14837 * r14841;
double r14843 = r14842 - r14831;
double r14844 = -0.5;
double r14845 = r14844 * r14828;
double r14846 = r14835 ? r14843 : r14845;
double r14847 = r14825 ? r14833 : r14846;
return r14847;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4317863954914854e+141Initial program 59.4
Simplified59.4
rmApplied div-sub59.4
Taylor expanded around -inf 2.9
if -2.4317863954914854e+141 < b_2 < 1.1860189201379418e-161Initial program 10.2
Simplified10.2
rmApplied div-sub10.2
rmApplied *-un-lft-identity10.2
Applied sqrt-prod10.2
Applied associate-/l*10.3
rmApplied div-inv10.4
Applied add-cube-cbrt10.4
Applied times-frac10.4
Simplified10.4
Simplified10.3
if 1.1860189201379418e-161 < b_2 Initial program 49.6
Simplified49.6
Taylor expanded around inf 13.6
Final simplification10.9
herbie shell --seed 2020047
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))