Average Error: 52.3 → 51.5
Time: 27.7s
Precision: 64
\[4.930380657631324 \cdot 10^{-32} \lt a \lt 2.028240960365167 \cdot 10^{+31} \land 4.930380657631324 \cdot 10^{-32} \lt b \lt 2.028240960365167 \cdot 10^{+31} \land 4.930380657631324 \cdot 10^{-32} \lt c \lt 2.028240960365167 \cdot 10^{+31}\]
\[\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}\]
\[\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, a \cdot c, b \cdot b\right)}}, -b\right) \cdot \left(\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}} \cdot \frac{\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}}{\sqrt[3]{a}}\right)\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(3 \cdot a\right) \cdot c}}{3 \cdot a}
\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, a \cdot c, b \cdot b\right)}}, -b\right) \cdot \left(\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}} \cdot \frac{\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}}{\sqrt[3]{a}}\right)
double f(double a, double b, double c) {
        double r3554883 = b;
        double r3554884 = -r3554883;
        double r3554885 = r3554883 * r3554883;
        double r3554886 = 3.0;
        double r3554887 = a;
        double r3554888 = r3554886 * r3554887;
        double r3554889 = c;
        double r3554890 = r3554888 * r3554889;
        double r3554891 = r3554885 - r3554890;
        double r3554892 = sqrt(r3554891);
        double r3554893 = r3554884 + r3554892;
        double r3554894 = r3554893 / r3554888;
        return r3554894;
}

double f(double a, double b, double c) {
        double r3554895 = b;
        double r3554896 = -3.0;
        double r3554897 = a;
        double r3554898 = r3554896 * r3554897;
        double r3554899 = c;
        double r3554900 = r3554898 * r3554899;
        double r3554901 = fma(r3554895, r3554895, r3554900);
        double r3554902 = sqrt(r3554901);
        double r3554903 = sqrt(r3554902);
        double r3554904 = r3554897 * r3554899;
        double r3554905 = r3554895 * r3554895;
        double r3554906 = fma(r3554896, r3554904, r3554905);
        double r3554907 = sqrt(r3554906);
        double r3554908 = sqrt(r3554907);
        double r3554909 = -r3554895;
        double r3554910 = fma(r3554903, r3554908, r3554909);
        double r3554911 = 0.3333333333333333;
        double r3554912 = sqrt(r3554911);
        double r3554913 = cbrt(r3554897);
        double r3554914 = r3554912 / r3554913;
        double r3554915 = r3554914 / r3554913;
        double r3554916 = r3554914 * r3554915;
        double r3554917 = r3554910 * r3554916;
        return r3554917;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 52.3

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

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

    \[\leadsto \frac{\sqrt{\color{blue}{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)} \cdot \sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}} - b}{3 \cdot a}\]
  5. Applied sqrt-prod52.1

    \[\leadsto \frac{\color{blue}{\sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}} - b}{3 \cdot a}\]
  6. Applied fma-neg51.5

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right)}}{3 \cdot a}\]
  7. Taylor expanded around 0 51.5

    \[\leadsto \frac{\mathsf{fma}\left(\sqrt{\sqrt{\color{blue}{{b}^{2} - 3 \cdot \left(a \cdot c\right)}}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right)}{3 \cdot a}\]
  8. Simplified51.5

    \[\leadsto \frac{\mathsf{fma}\left(\sqrt{\sqrt{\color{blue}{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right)}{3 \cdot a}\]
  9. Using strategy rm
  10. Applied div-inv51.5

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \frac{1}{3 \cdot a}}\]
  11. Simplified51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \color{blue}{\frac{\frac{1}{3}}{a}}\]
  12. Using strategy rm
  13. Applied add-cube-cbrt51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \frac{\frac{1}{3}}{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}\]
  14. Applied add-sqr-sqrt51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \frac{\color{blue}{\sqrt{\frac{1}{3}} \cdot \sqrt{\frac{1}{3}}}}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}\]
  15. Applied times-frac51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \color{blue}{\left(\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}\right)}\]
  16. Simplified51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(a \cdot -3\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, c \cdot a, b \cdot b\right)}}, -b\right) \cdot \left(\color{blue}{\frac{\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}}{\sqrt[3]{a}}} \cdot \frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}\right)\]
  17. Final simplification51.5

    \[\leadsto \mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(b, b, \left(-3 \cdot a\right) \cdot c\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(-3, a \cdot c, b \cdot b\right)}}, -b\right) \cdot \left(\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}} \cdot \frac{\frac{\sqrt{\frac{1}{3}}}{\sqrt[3]{a}}}{\sqrt[3]{a}}\right)\]

Reproduce

herbie shell --seed 2019164 +o rules:numerics
(FPCore (a b c)
  :name "Cubic critical, 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) (* (* 3 a) c)))) (* 3 a)))