Average Error: 52.4 → 51.6
Time: 54.5s
Precision: 64
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)}}{\sqrt{a}} \cdot \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\sqrt{a}}\]
double f(double a, double b, double c) {
        double r1987873 = b;
        double r1987874 = -r1987873;
        double r1987875 = r1987873 * r1987873;
        double r1987876 = 4.0;
        double r1987877 = a;
        double r1987878 = r1987876 * r1987877;
        double r1987879 = c;
        double r1987880 = r1987878 * r1987879;
        double r1987881 = r1987875 - r1987880;
        double r1987882 = sqrt(r1987881);
        double r1987883 = r1987874 + r1987882;
        double r1987884 = 2.0;
        double r1987885 = r1987884 * r1987877;
        double r1987886 = r1987883 / r1987885;
        return r1987886;
}

double f(double a, double b, double c) {
        double r1987887 = c;
        double r1987888 = a;
        double r1987889 = -4.0;
        double r1987890 = r1987888 * r1987889;
        double r1987891 = b;
        double r1987892 = r1987891 * r1987891;
        double r1987893 = fma(r1987887, r1987890, r1987892);
        double r1987894 = sqrt(r1987893);
        double r1987895 = sqrt(r1987894);
        double r1987896 = -r1987891;
        double r1987897 = fma(r1987895, r1987895, r1987896);
        double r1987898 = cbrt(r1987897);
        double r1987899 = 2.0;
        double r1987900 = cbrt(r1987899);
        double r1987901 = cbrt(r1987900);
        double r1987902 = r1987901 * r1987901;
        double r1987903 = r1987901 * r1987902;
        double r1987904 = r1987898 / r1987903;
        double r1987905 = sqrt(r1987888);
        double r1987906 = r1987904 / r1987905;
        double r1987907 = r1987898 * r1987898;
        double r1987908 = r1987900 * r1987900;
        double r1987909 = r1987907 / r1987908;
        double r1987910 = r1987909 / r1987905;
        double r1987911 = r1987906 * r1987910;
        return r1987911;
}

\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)}}{\sqrt{a}} \cdot \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\sqrt{a}}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 52.4

    \[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
  2. Simplified52.4

    \[\leadsto \color{blue}{\frac{\frac{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*} - b}{2}}{a}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt52.2

    \[\leadsto \frac{\frac{\color{blue}{\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}} \cdot \sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}} - b}{2}}{a}\]
  5. Applied fma-neg51.6

    \[\leadsto \frac{\frac{\color{blue}{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{2}}{a}\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt51.6

    \[\leadsto \frac{\frac{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}{2}}{\color{blue}{\sqrt{a} \cdot \sqrt{a}}}\]
  8. Applied add-cube-cbrt51.6

    \[\leadsto \frac{\frac{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}{\color{blue}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}}}}{\sqrt{a} \cdot \sqrt{a}}\]
  9. Applied add-cube-cbrt51.6

    \[\leadsto \frac{\frac{\color{blue}{\left(\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}\right) \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}}}{\sqrt{a} \cdot \sqrt{a}}\]
  10. Applied times-frac51.6

    \[\leadsto \frac{\color{blue}{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}} \cdot \frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2}}}}{\sqrt{a} \cdot \sqrt{a}}\]
  11. Applied times-frac51.6

    \[\leadsto \color{blue}{\frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\sqrt{a}} \cdot \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2}}}{\sqrt{a}}}\]
  12. Using strategy rm
  13. Applied add-cube-cbrt51.6

    \[\leadsto \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\sqrt{a}} \cdot \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(-4 \cdot a\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\color{blue}{\left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right) \cdot \sqrt[3]{\sqrt[3]{2}}}}}{\sqrt{a}}\]
  14. Final simplification51.6

    \[\leadsto \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)}}{\sqrt{a}} \cdot \frac{\frac{\sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*} \cdot \sqrt[3]{(\left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) \cdot \left(\sqrt{\sqrt{(c \cdot \left(a \cdot -4\right) + \left(b \cdot b\right))_*}}\right) + \left(-b\right))_*}}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\sqrt{a}}\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(FPCore (a b c)
  :name "Quadratic roots, wide range"
  :pre (and (< 4.930380657631324e-32 a 2.028240960365167e+31) (< 4.930380657631324e-32 b 2.028240960365167e+31) (< 4.930380657631324e-32 c 2.028240960365167e+31))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))