\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}\;t \le -1.205203319587854639702496288290674129254 \cdot 10^{-38}:\\
\;\;\;\;\left(\left(\left(z \cdot 18\right) \cdot x\right) \cdot y - a \cdot 4\right) \cdot t - \left(\left(k \cdot 27\right) \cdot j + \left(\left(x \cdot i\right) \cdot 4 - c \cdot b\right)\right)\\
\mathbf{elif}\;t \le 21398956214679056089773245927409728880640:\\
\;\;\;\;\left(\left(\left(\left(18 \cdot \left(y \cdot x\right)\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(4 \cdot x\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(z \cdot 18\right) \cdot x\right) \cdot y - a \cdot 4\right) \cdot t - \left(\left(k \cdot 27\right) \cdot j + \left(\left(x \cdot i\right) \cdot 4 - c \cdot b\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 r5338869 = x;
double r5338870 = 18.0;
double r5338871 = r5338869 * r5338870;
double r5338872 = y;
double r5338873 = r5338871 * r5338872;
double r5338874 = z;
double r5338875 = r5338873 * r5338874;
double r5338876 = t;
double r5338877 = r5338875 * r5338876;
double r5338878 = a;
double r5338879 = 4.0;
double r5338880 = r5338878 * r5338879;
double r5338881 = r5338880 * r5338876;
double r5338882 = r5338877 - r5338881;
double r5338883 = b;
double r5338884 = c;
double r5338885 = r5338883 * r5338884;
double r5338886 = r5338882 + r5338885;
double r5338887 = r5338869 * r5338879;
double r5338888 = i;
double r5338889 = r5338887 * r5338888;
double r5338890 = r5338886 - r5338889;
double r5338891 = j;
double r5338892 = 27.0;
double r5338893 = r5338891 * r5338892;
double r5338894 = k;
double r5338895 = r5338893 * r5338894;
double r5338896 = r5338890 - r5338895;
return r5338896;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5338897 = t;
double r5338898 = -1.2052033195878546e-38;
bool r5338899 = r5338897 <= r5338898;
double r5338900 = z;
double r5338901 = 18.0;
double r5338902 = r5338900 * r5338901;
double r5338903 = x;
double r5338904 = r5338902 * r5338903;
double r5338905 = y;
double r5338906 = r5338904 * r5338905;
double r5338907 = a;
double r5338908 = 4.0;
double r5338909 = r5338907 * r5338908;
double r5338910 = r5338906 - r5338909;
double r5338911 = r5338910 * r5338897;
double r5338912 = k;
double r5338913 = 27.0;
double r5338914 = r5338912 * r5338913;
double r5338915 = j;
double r5338916 = r5338914 * r5338915;
double r5338917 = i;
double r5338918 = r5338903 * r5338917;
double r5338919 = r5338918 * r5338908;
double r5338920 = c;
double r5338921 = b;
double r5338922 = r5338920 * r5338921;
double r5338923 = r5338919 - r5338922;
double r5338924 = r5338916 + r5338923;
double r5338925 = r5338911 - r5338924;
double r5338926 = 2.1398956214679056e+40;
bool r5338927 = r5338897 <= r5338926;
double r5338928 = r5338905 * r5338903;
double r5338929 = r5338901 * r5338928;
double r5338930 = r5338900 * r5338897;
double r5338931 = r5338929 * r5338930;
double r5338932 = r5338909 * r5338897;
double r5338933 = r5338931 - r5338932;
double r5338934 = r5338933 + r5338922;
double r5338935 = r5338908 * r5338903;
double r5338936 = r5338935 * r5338917;
double r5338937 = r5338934 - r5338936;
double r5338938 = r5338915 * r5338913;
double r5338939 = r5338938 * r5338912;
double r5338940 = r5338937 - r5338939;
double r5338941 = r5338927 ? r5338940 : r5338925;
double r5338942 = r5338899 ? r5338925 : r5338941;
return r5338942;
}



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.2052033195878546e-38 or 2.1398956214679056e+40 < t Initial program 1.8
Simplified2.1
if -1.2052033195878546e-38 < t < 2.1398956214679056e+40Initial program 8.2
Taylor expanded around 0 8.2
rmApplied associate-*l*4.7
Final simplification3.7
herbie shell --seed 2019171
(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)))