Average Error: 34.4 → 9.0
Time: 13.6s
Precision: 64
\[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
\[\begin{array}{l} \mathbf{if}\;b_2 \le -1.532647813487865 \cdot 10^{52}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -1.571246895950166 \cdot 10^{-147}:\\ \;\;\;\;\frac{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 6.63703793523525319 \cdot 10^{98}:\\ \;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{-b_2}{a} - \left(\frac{b_2}{a} - \frac{1}{2} \cdot \frac{c}{b_2}\right)\\ \end{array}\]
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\begin{array}{l}
\mathbf{if}\;b_2 \le -1.532647813487865 \cdot 10^{52}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\

\mathbf{elif}\;b_2 \le -1.571246895950166 \cdot 10^{-147}:\\
\;\;\;\;\frac{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\

\mathbf{elif}\;b_2 \le 6.63703793523525319 \cdot 10^{98}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\

\mathbf{else}:\\
\;\;\;\;\frac{-b_2}{a} - \left(\frac{b_2}{a} - \frac{1}{2} \cdot \frac{c}{b_2}\right)\\

\end{array}
double f(double a, double b_2, double c) {
        double r61693 = b_2;
        double r61694 = -r61693;
        double r61695 = r61693 * r61693;
        double r61696 = a;
        double r61697 = c;
        double r61698 = r61696 * r61697;
        double r61699 = r61695 - r61698;
        double r61700 = sqrt(r61699);
        double r61701 = r61694 - r61700;
        double r61702 = r61701 / r61696;
        return r61702;
}

double f(double a, double b_2, double c) {
        double r61703 = b_2;
        double r61704 = -1.532647813487865e+52;
        bool r61705 = r61703 <= r61704;
        double r61706 = -0.5;
        double r61707 = c;
        double r61708 = r61707 / r61703;
        double r61709 = r61706 * r61708;
        double r61710 = -1.571246895950166e-147;
        bool r61711 = r61703 <= r61710;
        double r61712 = a;
        double r61713 = r61712 * r61707;
        double r61714 = r61703 * r61703;
        double r61715 = r61714 - r61713;
        double r61716 = sqrt(r61715);
        double r61717 = r61716 - r61703;
        double r61718 = r61713 / r61717;
        double r61719 = r61718 / r61712;
        double r61720 = 6.637037935235253e+98;
        bool r61721 = r61703 <= r61720;
        double r61722 = -r61703;
        double r61723 = r61722 / r61712;
        double r61724 = r61716 / r61712;
        double r61725 = r61723 - r61724;
        double r61726 = r61703 / r61712;
        double r61727 = 0.5;
        double r61728 = r61727 * r61708;
        double r61729 = r61726 - r61728;
        double r61730 = r61723 - r61729;
        double r61731 = r61721 ? r61725 : r61730;
        double r61732 = r61711 ? r61719 : r61731;
        double r61733 = r61705 ? r61709 : r61732;
        return r61733;
}

Error

Bits error versus a

Bits error versus b_2

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if b_2 < -1.532647813487865e+52

    1. Initial program 57.3

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around -inf 3.6

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b_2}}\]

    if -1.532647813487865e+52 < b_2 < -1.571246895950166e-147

    1. Initial program 37.3

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied flip--37.3

      \[\leadsto \frac{\color{blue}{\frac{\left(-b_2\right) \cdot \left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c} \cdot \sqrt{b_2 \cdot b_2 - a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}}{a}\]
    4. Simplified16.9

      \[\leadsto \frac{\frac{\color{blue}{0 + a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}{a}\]
    5. Simplified16.9

      \[\leadsto \frac{\frac{0 + a \cdot c}{\color{blue}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\]

    if -1.571246895950166e-147 < b_2 < 6.637037935235253e+98

    1. Initial program 11.7

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied div-sub11.7

      \[\leadsto \color{blue}{\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]

    if 6.637037935235253e+98 < b_2

    1. Initial program 47.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied div-sub47.8

      \[\leadsto \color{blue}{\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}}\]
    4. Taylor expanded around inf 3.7

      \[\leadsto \frac{-b_2}{a} - \color{blue}{\left(\frac{b_2}{a} - \frac{1}{2} \cdot \frac{c}{b_2}\right)}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification9.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -1.532647813487865 \cdot 10^{52}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -1.571246895950166 \cdot 10^{-147}:\\ \;\;\;\;\frac{\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 6.63703793523525319 \cdot 10^{98}:\\ \;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{-b_2}{a} - \left(\frac{b_2}{a} - \frac{1}{2} \cdot \frac{c}{b_2}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019195 
(FPCore (a b_2 c)
  :name "NMSE problem 3.2.1"
  (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))