Average Error: 34.0 → 9.8
Time: 7.7s
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.939122797387644981598378751450729435399 \cdot 10^{59}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le \frac{7249572029462281}{1.38034926935811275748695117245540509049 \cdot 10^{70}}:\\ \;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{c}{b_2}}{-2}\\ \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.939122797387644981598378751450729435399 \cdot 10^{59}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\

\mathbf{elif}\;b_2 \le \frac{7249572029462281}{1.38034926935811275748695117245540509049 \cdot 10^{70}}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{c}{b_2}}{-2}\\

\end{array}
double f(double a, double b_2, double c) {
        double r42900 = b_2;
        double r42901 = -r42900;
        double r42902 = r42900 * r42900;
        double r42903 = a;
        double r42904 = c;
        double r42905 = r42903 * r42904;
        double r42906 = r42902 - r42905;
        double r42907 = sqrt(r42906);
        double r42908 = r42901 + r42907;
        double r42909 = r42908 / r42903;
        return r42909;
}

double f(double a, double b_2, double c) {
        double r42910 = b_2;
        double r42911 = -1.939122797387645e+59;
        bool r42912 = r42910 <= r42911;
        double r42913 = 1.0;
        double r42914 = 2.0;
        double r42915 = r42913 / r42914;
        double r42916 = c;
        double r42917 = r42916 / r42910;
        double r42918 = r42915 * r42917;
        double r42919 = a;
        double r42920 = r42910 / r42919;
        double r42921 = r42914 * r42920;
        double r42922 = r42918 - r42921;
        double r42923 = 7249572029462281.0;
        double r42924 = 1.3803492693581128e+70;
        double r42925 = r42923 / r42924;
        bool r42926 = r42910 <= r42925;
        double r42927 = r42910 * r42910;
        double r42928 = r42919 * r42916;
        double r42929 = r42927 - r42928;
        double r42930 = sqrt(r42929);
        double r42931 = r42930 - r42910;
        double r42932 = r42919 / r42931;
        double r42933 = r42913 / r42932;
        double r42934 = -2.0;
        double r42935 = r42917 / r42934;
        double r42936 = r42926 ? r42933 : r42935;
        double r42937 = r42912 ? r42922 : r42936;
        return r42937;
}

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 3 regimes
  2. if b_2 < -1.939122797387645e+59

    1. Initial program 37.8

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

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}}\]
    3. Simplified5.1

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

    if -1.939122797387645e+59 < b_2 < 5.251983820611911e-55

    1. Initial program 13.9

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied clear-num14.0

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

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

    if 5.251983820611911e-55 < b_2

    1. Initial program 54.8

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

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

      \[\leadsto \color{blue}{\frac{\frac{c}{b_2}}{-2}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -1.939122797387644981598378751450729435399 \cdot 10^{59}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le \frac{7249572029462281}{1.38034926935811275748695117245540509049 \cdot 10^{70}}:\\ \;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{c}{b_2}}{-2}\\ \end{array}\]

Reproduce

herbie shell --seed 350497007 
(FPCore (a b_2 c)
  :name "quad2p (problem 3.2.1, positive)"
  :precision binary64
  (/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))