\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
\mathbf{if}\;b \le 1.1401013526425859 \cdot 10^{-204}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(\sqrt[3]{a \cdot b - c \cdot i} \cdot \sqrt[3]{a \cdot b - c \cdot i}\right)\right) \cdot \sqrt[3]{a \cdot b - c \cdot i} - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(k \cdot \left(i \cdot \left(y \cdot y5\right)\right) - \left(t \cdot \left(i \cdot \left(j \cdot y5\right)\right) + k \cdot \left(y4 \cdot \left(y \cdot b\right)\right)\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;b \le 2.392424184138588 \cdot 10^{86}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\right) + y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(\sqrt[3]{\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)} \cdot \sqrt[3]{\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)}\right) \cdot \sqrt[3]{\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)}\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\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 y0, double y1, double y2, double y3, double y4, double y5) {
double r154811 = x;
double r154812 = y;
double r154813 = r154811 * r154812;
double r154814 = z;
double r154815 = t;
double r154816 = r154814 * r154815;
double r154817 = r154813 - r154816;
double r154818 = a;
double r154819 = b;
double r154820 = r154818 * r154819;
double r154821 = c;
double r154822 = i;
double r154823 = r154821 * r154822;
double r154824 = r154820 - r154823;
double r154825 = r154817 * r154824;
double r154826 = j;
double r154827 = r154811 * r154826;
double r154828 = k;
double r154829 = r154814 * r154828;
double r154830 = r154827 - r154829;
double r154831 = y0;
double r154832 = r154831 * r154819;
double r154833 = y1;
double r154834 = r154833 * r154822;
double r154835 = r154832 - r154834;
double r154836 = r154830 * r154835;
double r154837 = r154825 - r154836;
double r154838 = y2;
double r154839 = r154811 * r154838;
double r154840 = y3;
double r154841 = r154814 * r154840;
double r154842 = r154839 - r154841;
double r154843 = r154831 * r154821;
double r154844 = r154833 * r154818;
double r154845 = r154843 - r154844;
double r154846 = r154842 * r154845;
double r154847 = r154837 + r154846;
double r154848 = r154815 * r154826;
double r154849 = r154812 * r154828;
double r154850 = r154848 - r154849;
double r154851 = y4;
double r154852 = r154851 * r154819;
double r154853 = y5;
double r154854 = r154853 * r154822;
double r154855 = r154852 - r154854;
double r154856 = r154850 * r154855;
double r154857 = r154847 + r154856;
double r154858 = r154815 * r154838;
double r154859 = r154812 * r154840;
double r154860 = r154858 - r154859;
double r154861 = r154851 * r154821;
double r154862 = r154853 * r154818;
double r154863 = r154861 - r154862;
double r154864 = r154860 * r154863;
double r154865 = r154857 - r154864;
double r154866 = r154828 * r154838;
double r154867 = r154826 * r154840;
double r154868 = r154866 - r154867;
double r154869 = r154851 * r154833;
double r154870 = r154853 * r154831;
double r154871 = r154869 - r154870;
double r154872 = r154868 * r154871;
double r154873 = r154865 + r154872;
return r154873;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r154874 = b;
double r154875 = 1.1401013526425859e-204;
bool r154876 = r154874 <= r154875;
double r154877 = x;
double r154878 = y;
double r154879 = r154877 * r154878;
double r154880 = z;
double r154881 = t;
double r154882 = r154880 * r154881;
double r154883 = r154879 - r154882;
double r154884 = a;
double r154885 = r154884 * r154874;
double r154886 = c;
double r154887 = i;
double r154888 = r154886 * r154887;
double r154889 = r154885 - r154888;
double r154890 = cbrt(r154889);
double r154891 = r154890 * r154890;
double r154892 = r154883 * r154891;
double r154893 = r154892 * r154890;
double r154894 = j;
double r154895 = r154877 * r154894;
double r154896 = k;
double r154897 = r154880 * r154896;
double r154898 = r154895 - r154897;
double r154899 = y0;
double r154900 = r154899 * r154874;
double r154901 = y1;
double r154902 = r154901 * r154887;
double r154903 = r154900 - r154902;
double r154904 = r154898 * r154903;
double r154905 = r154893 - r154904;
double r154906 = y2;
double r154907 = r154877 * r154906;
double r154908 = y3;
double r154909 = r154880 * r154908;
double r154910 = r154907 - r154909;
double r154911 = r154899 * r154886;
double r154912 = r154901 * r154884;
double r154913 = r154911 - r154912;
double r154914 = r154910 * r154913;
double r154915 = r154905 + r154914;
double r154916 = y5;
double r154917 = r154878 * r154916;
double r154918 = r154887 * r154917;
double r154919 = r154896 * r154918;
double r154920 = r154894 * r154916;
double r154921 = r154887 * r154920;
double r154922 = r154881 * r154921;
double r154923 = y4;
double r154924 = r154878 * r154874;
double r154925 = r154923 * r154924;
double r154926 = r154896 * r154925;
double r154927 = r154922 + r154926;
double r154928 = r154919 - r154927;
double r154929 = r154915 + r154928;
double r154930 = r154881 * r154906;
double r154931 = r154878 * r154908;
double r154932 = r154930 - r154931;
double r154933 = r154923 * r154886;
double r154934 = r154916 * r154884;
double r154935 = r154933 - r154934;
double r154936 = r154932 * r154935;
double r154937 = r154929 - r154936;
double r154938 = r154896 * r154906;
double r154939 = r154894 * r154908;
double r154940 = r154938 - r154939;
double r154941 = r154923 * r154901;
double r154942 = r154916 * r154899;
double r154943 = r154941 - r154942;
double r154944 = r154940 * r154943;
double r154945 = r154937 + r154944;
double r154946 = 2.392424184138588e+86;
bool r154947 = r154874 <= r154946;
double r154948 = r154883 * r154889;
double r154949 = r154880 * r154901;
double r154950 = r154887 * r154949;
double r154951 = r154896 * r154950;
double r154952 = r154901 * r154877;
double r154953 = r154894 * r154952;
double r154954 = r154887 * r154953;
double r154955 = r154896 * r154874;
double r154956 = r154880 * r154955;
double r154957 = r154899 * r154956;
double r154958 = r154954 + r154957;
double r154959 = r154951 - r154958;
double r154960 = r154948 - r154959;
double r154961 = r154960 + r154914;
double r154962 = r154881 * r154894;
double r154963 = r154878 * r154896;
double r154964 = r154962 - r154963;
double r154965 = r154923 * r154874;
double r154966 = r154916 * r154887;
double r154967 = r154965 - r154966;
double r154968 = r154964 * r154967;
double r154969 = r154961 + r154968;
double r154970 = r154969 - r154936;
double r154971 = r154970 + r154944;
double r154972 = r154948 - r154904;
double r154973 = r154972 + r154914;
double r154974 = cbrt(r154968);
double r154975 = r154974 * r154974;
double r154976 = r154975 * r154974;
double r154977 = r154973 + r154976;
double r154978 = r154977 - r154936;
double r154979 = r154978 + r154944;
double r154980 = r154947 ? r154971 : r154979;
double r154981 = r154876 ? r154945 : r154980;
return r154981;
}



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



Bits error versus y0



Bits error versus y1



Bits error versus y2



Bits error versus y3



Bits error versus y4



Bits error versus y5
Results
if b < 1.1401013526425859e-204Initial program 26.6
rmApplied add-cube-cbrt26.7
Applied associate-*r*26.7
Taylor expanded around inf 29.1
if 1.1401013526425859e-204 < b < 2.392424184138588e+86Initial program 26.0
Taylor expanded around inf 28.5
if 2.392424184138588e+86 < b Initial program 28.7
rmApplied add-cube-cbrt28.8
Final simplification28.9
herbie shell --seed 2020034
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))