\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;z \le -1.1315498986599681 \cdot 10^{-55}:\\
\;\;\;\;\left(b \cdot c - \left(\left(x \cdot 4.0\right) \cdot i + \left(27.0 \cdot j\right) \cdot k\right)\right) + \left(z \cdot \left(\left(x \cdot 18.0\right) \cdot y\right) - a \cdot 4.0\right) \cdot t\\
\mathbf{elif}\;z \le 2.7764126058213553 \cdot 10^{+165}:\\
\;\;\;\;\sqrt[3]{\left(\left(z \cdot 18.0\right) \cdot y\right) \cdot x - a \cdot 4.0} \cdot \left(\left(\sqrt[3]{\left(\left(z \cdot 18.0\right) \cdot y\right) \cdot x - a \cdot 4.0} \cdot \sqrt[3]{\left(\left(z \cdot 18.0\right) \cdot y\right) \cdot x - a \cdot 4.0}\right) \cdot t\right) + \left(b \cdot c - \left(27.0 \cdot \left(k \cdot j\right) + \left(x \cdot 4.0\right) \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-t\right) \cdot \left(a \cdot 4.0\right) + \left(b \cdot c - \left(27.0 \cdot \left(k \cdot j\right) + \left(x \cdot 4.0\right) \cdot i\right)\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 r6659901 = x;
double r6659902 = 18.0;
double r6659903 = r6659901 * r6659902;
double r6659904 = y;
double r6659905 = r6659903 * r6659904;
double r6659906 = z;
double r6659907 = r6659905 * r6659906;
double r6659908 = t;
double r6659909 = r6659907 * r6659908;
double r6659910 = a;
double r6659911 = 4.0;
double r6659912 = r6659910 * r6659911;
double r6659913 = r6659912 * r6659908;
double r6659914 = r6659909 - r6659913;
double r6659915 = b;
double r6659916 = c;
double r6659917 = r6659915 * r6659916;
double r6659918 = r6659914 + r6659917;
double r6659919 = r6659901 * r6659911;
double r6659920 = i;
double r6659921 = r6659919 * r6659920;
double r6659922 = r6659918 - r6659921;
double r6659923 = j;
double r6659924 = 27.0;
double r6659925 = r6659923 * r6659924;
double r6659926 = k;
double r6659927 = r6659925 * r6659926;
double r6659928 = r6659922 - r6659927;
return r6659928;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r6659929 = z;
double r6659930 = -1.1315498986599681e-55;
bool r6659931 = r6659929 <= r6659930;
double r6659932 = b;
double r6659933 = c;
double r6659934 = r6659932 * r6659933;
double r6659935 = x;
double r6659936 = 4.0;
double r6659937 = r6659935 * r6659936;
double r6659938 = i;
double r6659939 = r6659937 * r6659938;
double r6659940 = 27.0;
double r6659941 = j;
double r6659942 = r6659940 * r6659941;
double r6659943 = k;
double r6659944 = r6659942 * r6659943;
double r6659945 = r6659939 + r6659944;
double r6659946 = r6659934 - r6659945;
double r6659947 = 18.0;
double r6659948 = r6659935 * r6659947;
double r6659949 = y;
double r6659950 = r6659948 * r6659949;
double r6659951 = r6659929 * r6659950;
double r6659952 = a;
double r6659953 = r6659952 * r6659936;
double r6659954 = r6659951 - r6659953;
double r6659955 = t;
double r6659956 = r6659954 * r6659955;
double r6659957 = r6659946 + r6659956;
double r6659958 = 2.7764126058213553e+165;
bool r6659959 = r6659929 <= r6659958;
double r6659960 = r6659929 * r6659947;
double r6659961 = r6659960 * r6659949;
double r6659962 = r6659961 * r6659935;
double r6659963 = r6659962 - r6659953;
double r6659964 = cbrt(r6659963);
double r6659965 = r6659964 * r6659964;
double r6659966 = r6659965 * r6659955;
double r6659967 = r6659964 * r6659966;
double r6659968 = r6659943 * r6659941;
double r6659969 = r6659940 * r6659968;
double r6659970 = r6659969 + r6659939;
double r6659971 = r6659934 - r6659970;
double r6659972 = r6659967 + r6659971;
double r6659973 = -r6659955;
double r6659974 = r6659973 * r6659953;
double r6659975 = r6659974 + r6659971;
double r6659976 = r6659959 ? r6659972 : r6659975;
double r6659977 = r6659931 ? r6659957 : r6659976;
return r6659977;
}



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
Results
if z < -1.1315498986599681e-55Initial program 6.3
Simplified11.2
Taylor expanded around inf 11.0
Simplified6.3
if -1.1315498986599681e-55 < z < 2.7764126058213553e+165Initial program 4.5
Simplified2.5
Taylor expanded around 0 2.4
rmApplied add-cube-cbrt2.8
Applied associate-*r*2.8
if 2.7764126058213553e+165 < z Initial program 9.6
Simplified19.3
Taylor expanded around 0 19.2
Taylor expanded around 0 18.2
Final simplification5.1
herbie shell --seed 2019163
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))