\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}\;t \le -1.0358597655674074 \cdot 10^{-175}:\\
\;\;\;\;\left(c \cdot b - \left(i \cdot \left(x \cdot 4.0\right) + \left(j \cdot k\right) \cdot 27.0\right)\right) + t \cdot \left(\left(\left(18.0 \cdot x\right) \cdot z\right) \cdot y - a \cdot 4.0\right)\\
\mathbf{elif}\;t \le 8.002621826648453 \cdot 10^{-135}:\\
\;\;\;\;\left(a \cdot 4.0\right) \cdot \left(-t\right) + \left(c \cdot b - \left(i \cdot \left(x \cdot 4.0\right) + \left(j \cdot k\right) \cdot 27.0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(18.0 \cdot x\right) \cdot y\right) \cdot z - a \cdot 4.0\right) \cdot t + \left(c \cdot b - \left(i \cdot \left(x \cdot 4.0\right) + \left(j \cdot k\right) \cdot 27.0\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 r9929885 = x;
double r9929886 = 18.0;
double r9929887 = r9929885 * r9929886;
double r9929888 = y;
double r9929889 = r9929887 * r9929888;
double r9929890 = z;
double r9929891 = r9929889 * r9929890;
double r9929892 = t;
double r9929893 = r9929891 * r9929892;
double r9929894 = a;
double r9929895 = 4.0;
double r9929896 = r9929894 * r9929895;
double r9929897 = r9929896 * r9929892;
double r9929898 = r9929893 - r9929897;
double r9929899 = b;
double r9929900 = c;
double r9929901 = r9929899 * r9929900;
double r9929902 = r9929898 + r9929901;
double r9929903 = r9929885 * r9929895;
double r9929904 = i;
double r9929905 = r9929903 * r9929904;
double r9929906 = r9929902 - r9929905;
double r9929907 = j;
double r9929908 = 27.0;
double r9929909 = r9929907 * r9929908;
double r9929910 = k;
double r9929911 = r9929909 * r9929910;
double r9929912 = r9929906 - r9929911;
return r9929912;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r9929913 = t;
double r9929914 = -1.0358597655674074e-175;
bool r9929915 = r9929913 <= r9929914;
double r9929916 = c;
double r9929917 = b;
double r9929918 = r9929916 * r9929917;
double r9929919 = i;
double r9929920 = x;
double r9929921 = 4.0;
double r9929922 = r9929920 * r9929921;
double r9929923 = r9929919 * r9929922;
double r9929924 = j;
double r9929925 = k;
double r9929926 = r9929924 * r9929925;
double r9929927 = 27.0;
double r9929928 = r9929926 * r9929927;
double r9929929 = r9929923 + r9929928;
double r9929930 = r9929918 - r9929929;
double r9929931 = 18.0;
double r9929932 = r9929931 * r9929920;
double r9929933 = z;
double r9929934 = r9929932 * r9929933;
double r9929935 = y;
double r9929936 = r9929934 * r9929935;
double r9929937 = a;
double r9929938 = r9929937 * r9929921;
double r9929939 = r9929936 - r9929938;
double r9929940 = r9929913 * r9929939;
double r9929941 = r9929930 + r9929940;
double r9929942 = 8.002621826648453e-135;
bool r9929943 = r9929913 <= r9929942;
double r9929944 = -r9929913;
double r9929945 = r9929938 * r9929944;
double r9929946 = r9929945 + r9929930;
double r9929947 = r9929932 * r9929935;
double r9929948 = r9929947 * r9929933;
double r9929949 = r9929948 - r9929938;
double r9929950 = r9929949 * r9929913;
double r9929951 = r9929950 + r9929930;
double r9929952 = r9929943 ? r9929946 : r9929951;
double r9929953 = r9929915 ? r9929941 : r9929952;
return r9929953;
}



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 t < -1.0358597655674074e-175Initial program 3.7
Simplified3.9
Taylor expanded around inf 3.9
if -1.0358597655674074e-175 < t < 8.002621826648453e-135Initial program 8.9
Simplified9.0
Taylor expanded around inf 9.0
Taylor expanded around 0 5.5
if 8.002621826648453e-135 < t Initial program 3.0
Simplified3.3
Taylor expanded around inf 3.2
rmApplied associate-*r*2.9
Final simplification4.0
herbie shell --seed 2019121
(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)))