Average Error: 52.7 → 51.9
Time: 27.9s
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(4 \cdot a\right) \cdot c}}{2 \cdot a}\]
\[\frac{\frac{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}{\sqrt{a}} \cdot \frac{\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}}{\sqrt{a}}}{2}\]
\frac{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}
\frac{\frac{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}{\sqrt{a}} \cdot \frac{\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}}{\sqrt{a}}}{2}
double f(double a, double b, double c) {
        double r1609093 = b;
        double r1609094 = -r1609093;
        double r1609095 = r1609093 * r1609093;
        double r1609096 = 4.0;
        double r1609097 = a;
        double r1609098 = r1609096 * r1609097;
        double r1609099 = c;
        double r1609100 = r1609098 * r1609099;
        double r1609101 = r1609095 - r1609100;
        double r1609102 = sqrt(r1609101);
        double r1609103 = r1609094 + r1609102;
        double r1609104 = 2.0;
        double r1609105 = r1609104 * r1609097;
        double r1609106 = r1609103 / r1609105;
        return r1609106;
}

double f(double a, double b, double c) {
        double r1609107 = c;
        double r1609108 = a;
        double r1609109 = r1609107 * r1609108;
        double r1609110 = -4.0;
        double r1609111 = b;
        double r1609112 = r1609111 * r1609111;
        double r1609113 = fma(r1609109, r1609110, r1609112);
        double r1609114 = sqrt(r1609113);
        double r1609115 = sqrt(r1609114);
        double r1609116 = -r1609111;
        double r1609117 = fma(r1609115, r1609115, r1609116);
        double r1609118 = cbrt(r1609117);
        double r1609119 = sqrt(r1609108);
        double r1609120 = r1609118 / r1609119;
        double r1609121 = r1609118 * r1609118;
        double r1609122 = cbrt(r1609121);
        double r1609123 = r1609122 * r1609122;
        double r1609124 = r1609123 * r1609122;
        double r1609125 = r1609124 / r1609119;
        double r1609126 = r1609120 * r1609125;
        double r1609127 = 2.0;
        double r1609128 = r1609126 / r1609127;
        return r1609128;
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 52.7

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

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

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

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

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

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}{\color{blue}{\sqrt{a} \cdot \sqrt{a}}}}{2}\]
  9. Applied add-cube-cbrt51.9

    \[\leadsto \frac{\frac{\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}}{\sqrt{a} \cdot \sqrt{a}}}{2}\]
  10. Applied times-frac51.9

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

    \[\leadsto \frac{\frac{\color{blue}{\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}}}{\sqrt{a}} \cdot \frac{\sqrt[3]{\mathsf{fma}\left(\sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, \sqrt{\sqrt{\mathsf{fma}\left(c \cdot a, -4, b \cdot b\right)}}, -b\right)}}{\sqrt{a}}}{2}\]
  13. Final simplification51.9

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

Reproduce

herbie shell --seed 2019165 +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)))