Average Error: 5.6 → 3.2
Time: 27.1s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\ \;\;\;\;\left(\left({\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3} \cdot \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\ \;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\begin{array}{l}
\mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\
\;\;\;\;\left(\left({\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3} \cdot \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\
\;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r865938 = x;
        double r865939 = 18.0;
        double r865940 = r865938 * r865939;
        double r865941 = y;
        double r865942 = r865940 * r865941;
        double r865943 = z;
        double r865944 = r865942 * r865943;
        double r865945 = t;
        double r865946 = r865944 * r865945;
        double r865947 = a;
        double r865948 = 4.0;
        double r865949 = r865947 * r865948;
        double r865950 = r865949 * r865945;
        double r865951 = r865946 - r865950;
        double r865952 = b;
        double r865953 = c;
        double r865954 = r865952 * r865953;
        double r865955 = r865951 + r865954;
        double r865956 = r865938 * r865948;
        double r865957 = i;
        double r865958 = r865956 * r865957;
        double r865959 = r865955 - r865958;
        double r865960 = j;
        double r865961 = 27.0;
        double r865962 = r865960 * r865961;
        double r865963 = k;
        double r865964 = r865962 * r865963;
        double r865965 = r865959 - r865964;
        return r865965;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r865966 = z;
        double r865967 = -7.213140668992403e+45;
        bool r865968 = r865966 <= r865967;
        double r865969 = cbrt(r865966);
        double r865970 = cbrt(r865969);
        double r865971 = 3.0;
        double r865972 = pow(r865970, r865971);
        double r865973 = t;
        double r865974 = x;
        double r865975 = 18.0;
        double r865976 = r865974 * r865975;
        double r865977 = y;
        double r865978 = r865976 * r865977;
        double r865979 = r865969 * r865969;
        double r865980 = r865978 * r865979;
        double r865981 = r865973 * r865980;
        double r865982 = r865972 * r865981;
        double r865983 = a;
        double r865984 = 4.0;
        double r865985 = r865983 * r865984;
        double r865986 = -r865985;
        double r865987 = r865986 * r865973;
        double r865988 = r865982 + r865987;
        double r865989 = b;
        double r865990 = c;
        double r865991 = r865989 * r865990;
        double r865992 = r865988 + r865991;
        double r865993 = r865974 * r865984;
        double r865994 = i;
        double r865995 = r865993 * r865994;
        double r865996 = j;
        double r865997 = 27.0;
        double r865998 = k;
        double r865999 = r865997 * r865998;
        double r866000 = r865996 * r865999;
        double r866001 = r865995 + r866000;
        double r866002 = r865992 - r866001;
        double r866003 = 1.8606429266648114e-39;
        bool r866004 = r865966 <= r866003;
        double r866005 = r865966 * r865977;
        double r866006 = r865974 * r866005;
        double r866007 = r865973 * r866006;
        double r866008 = r865975 * r866007;
        double r866009 = r865973 * r865986;
        double r866010 = r866008 + r866009;
        double r866011 = r866010 + r865991;
        double r866012 = r866011 - r866001;
        double r866013 = sqrt(r865966);
        double r866014 = r865978 * r866013;
        double r866015 = r866014 * r866013;
        double r866016 = r866015 - r865985;
        double r866017 = r865973 * r866016;
        double r866018 = r866017 + r865991;
        double r866019 = r865996 * r865997;
        double r866020 = r866019 * r865998;
        double r866021 = r865995 + r866020;
        double r866022 = r866018 - r866021;
        double r866023 = r866004 ? r866012 : r866022;
        double r866024 = r865968 ? r866002 : r866023;
        return r866024;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Bits error versus j

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.6
Target1.6
Herbie3.2
\[\begin{array}{l} \mathbf{if}\;t \lt -1.6210815397541398 \cdot 10^{-69}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \mathbf{elif}\;t \lt 165.680279438052224:\\ \;\;\;\;\left(\left(18 \cdot y\right) \cdot \left(x \cdot \left(z \cdot t\right)\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) + \left(c \cdot b - 27 \cdot \left(k \cdot j\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - \left(a \cdot t + i \cdot x\right) \cdot 4\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if z < -7.213140668992403e+45

    1. Initial program 6.6

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified6.6

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*6.5

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Using strategy rm
    6. Applied add-cube-cbrt6.7

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    7. Applied associate-*r*6.7

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    8. Using strategy rm
    9. Applied add-cube-cbrt6.8

      \[\leadsto \left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    10. Using strategy rm
    11. Applied sub-neg6.8

      \[\leadsto \left(t \cdot \color{blue}{\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right) + \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    12. Applied distribute-lft-in6.8

      \[\leadsto \left(\color{blue}{\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}\right)\right) + t \cdot \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    13. Simplified3.9

      \[\leadsto \left(\left(\color{blue}{{\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3} \cdot \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)\right)} + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    14. Simplified3.9

      \[\leadsto \left(\left({\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3} \cdot \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)\right) + \color{blue}{\left(-a \cdot 4\right) \cdot t}\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]

    if -7.213140668992403e+45 < z < 1.8606429266648114e-39

    1. Initial program 4.9

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified4.9

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*4.8

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Using strategy rm
    6. Applied sub-neg4.8

      \[\leadsto \left(t \cdot \color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z + \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    7. Applied distribute-lft-in4.8

      \[\leadsto \left(\color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) + t \cdot \left(-a \cdot 4\right)\right)} + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
    8. Simplified1.4

      \[\leadsto \left(\left(\color{blue}{18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)} + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]

    if 1.8606429266648114e-39 < z

    1. Initial program 6.5

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified6.5

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt6.5

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \color{blue}{\left(\sqrt{z} \cdot \sqrt{z}\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\]
    5. Applied associate-*r*6.5

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z}} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification3.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \le -7.2131406689924034 \cdot 10^{45}:\\ \;\;\;\;\left(\left({\left(\sqrt[3]{\sqrt[3]{z}}\right)}^{3} \cdot \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right)\right) + \left(-a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{elif}\;z \le 1.86064292666481138 \cdot 10^{-39}:\\ \;\;\;\;\left(\left(18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \sqrt{z}\right) \cdot \sqrt{z} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, E"
  :precision binary64

  :herbie-target
  (if (< t -1.6210815397541398e-69) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b))) (if (< t 165.68027943805222) (+ (- (* (* 18 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4)) (- (* c b) (* 27 (* k j)))) (- (- (* (* 18 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4)) (- (* (* k j) 27) (* c b)))))

  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))