Average Error: 44.2 → 43.6
Time: 46.2s
Precision: 64
\[1.1102230246251565 \cdot 10^{-16} \lt a \lt 9007199254740992.0 \land 1.1102230246251565 \cdot 10^{-16} \lt b \lt 9007199254740992.0 \land 1.1102230246251565 \cdot 10^{-16} \lt c \lt 9007199254740992.0\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{\frac{1}{\sqrt[3]{2} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)\right)}}{\frac{a}{\frac{(\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)}}}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{\frac{1}{\sqrt[3]{2} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)\right)}}{\frac{a}{\frac{(\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)}}}
double f(double a, double b, double c) {
        double r3300763 = b;
        double r3300764 = -r3300763;
        double r3300765 = r3300763 * r3300763;
        double r3300766 = 4.0;
        double r3300767 = a;
        double r3300768 = r3300766 * r3300767;
        double r3300769 = c;
        double r3300770 = r3300768 * r3300769;
        double r3300771 = r3300765 - r3300770;
        double r3300772 = sqrt(r3300771);
        double r3300773 = r3300764 + r3300772;
        double r3300774 = 2.0;
        double r3300775 = r3300774 * r3300767;
        double r3300776 = r3300773 / r3300775;
        return r3300776;
}

double f(double a, double b, double c) {
        double r3300777 = 1.0;
        double r3300778 = 2.0;
        double r3300779 = cbrt(r3300778);
        double r3300780 = cbrt(r3300779);
        double r3300781 = r3300780 * r3300780;
        double r3300782 = r3300780 * r3300781;
        double r3300783 = r3300779 * r3300782;
        double r3300784 = r3300777 / r3300783;
        double r3300785 = a;
        double r3300786 = c;
        double r3300787 = -4.0;
        double r3300788 = r3300785 * r3300787;
        double r3300789 = b;
        double r3300790 = r3300789 * r3300789;
        double r3300791 = fma(r3300786, r3300788, r3300790);
        double r3300792 = sqrt(r3300791);
        double r3300793 = sqrt(r3300792);
        double r3300794 = -r3300789;
        double r3300795 = fma(r3300793, r3300793, r3300794);
        double r3300796 = r3300795 / r3300782;
        double r3300797 = r3300785 / r3300796;
        double r3300798 = r3300784 / r3300797;
        return r3300798;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 44.2

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

    \[\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-sqrt44.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-neg43.5

    \[\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-cube-cbrt43.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}}}}{a}\]
  8. Applied *-un-lft-identity43.6

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot (\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}}}{a}\]
  9. Applied times-frac43.6

    \[\leadsto \frac{\color{blue}{\frac{1}{\sqrt[3]{2} \cdot \sqrt[3]{2}} \cdot \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))_*}{\sqrt[3]{2}}}}{a}\]
  10. Applied associate-/l*43.6

    \[\leadsto \color{blue}{\frac{\frac{1}{\sqrt[3]{2} \cdot \sqrt[3]{2}}}{\frac{a}{\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))_*}{\sqrt[3]{2}}}}}\]
  11. Using strategy rm
  12. Applied add-cube-cbrt43.6

    \[\leadsto \frac{\frac{1}{\sqrt[3]{2} \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right) \cdot \sqrt[3]{\sqrt[3]{2}}\right)}}}{\frac{a}{\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))_*}{\sqrt[3]{2}}}}\]
  13. Using strategy rm
  14. Applied add-cube-cbrt43.6

    \[\leadsto \frac{\frac{1}{\sqrt[3]{2} \cdot \left(\left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right) \cdot \sqrt[3]{\sqrt[3]{2}}\right)}}{\frac{a}{\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]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right) \cdot \sqrt[3]{\sqrt[3]{2}}}}}}\]
  15. Final simplification43.6

    \[\leadsto \frac{\frac{1}{\sqrt[3]{2} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \left(\sqrt[3]{\sqrt[3]{2}} \cdot \sqrt[3]{\sqrt[3]{2}}\right)\right)}}{\frac{a}{\frac{(\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)}}}\]

Reproduce

herbie shell --seed 2019104 +o rules:numerics
(FPCore (a b c)
  :name "Quadratic roots, medium range"
  :pre (and (< 1.1102230246251565e-16 a 9007199254740992.0) (< 1.1102230246251565e-16 b 9007199254740992.0) (< 1.1102230246251565e-16 c 9007199254740992.0))
  (/ (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))