\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}\;y2 \le -1.2961541745563326 \cdot 10^{+62}:\\
\;\;\;\;\left(\left(\left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(x \cdot j - z \cdot k\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\\
\mathbf{elif}\;y2 \le 2.707765602532912 \cdot 10^{-42}:\\
\;\;\;\;\left(\left(\left(\left(\left(y3 \cdot \left(z \cdot y1\right) - x \cdot \left(y2 \cdot y1\right)\right) \cdot a - \left(y3 \cdot \left(c \cdot z\right)\right) \cdot y0\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(a \cdot b - i \cdot c\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(x \cdot j - z \cdot k\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(t \cdot \left(i \cdot \left(c \cdot z\right)\right) - \left(\left(x \cdot \left(y \cdot c\right)\right) \cdot i + a \cdot \left(t \cdot \left(b \cdot z\right)\right)\right)\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(x \cdot j - z \cdot k\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\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 r4769807 = x;
double r4769808 = y;
double r4769809 = r4769807 * r4769808;
double r4769810 = z;
double r4769811 = t;
double r4769812 = r4769810 * r4769811;
double r4769813 = r4769809 - r4769812;
double r4769814 = a;
double r4769815 = b;
double r4769816 = r4769814 * r4769815;
double r4769817 = c;
double r4769818 = i;
double r4769819 = r4769817 * r4769818;
double r4769820 = r4769816 - r4769819;
double r4769821 = r4769813 * r4769820;
double r4769822 = j;
double r4769823 = r4769807 * r4769822;
double r4769824 = k;
double r4769825 = r4769810 * r4769824;
double r4769826 = r4769823 - r4769825;
double r4769827 = y0;
double r4769828 = r4769827 * r4769815;
double r4769829 = y1;
double r4769830 = r4769829 * r4769818;
double r4769831 = r4769828 - r4769830;
double r4769832 = r4769826 * r4769831;
double r4769833 = r4769821 - r4769832;
double r4769834 = y2;
double r4769835 = r4769807 * r4769834;
double r4769836 = y3;
double r4769837 = r4769810 * r4769836;
double r4769838 = r4769835 - r4769837;
double r4769839 = r4769827 * r4769817;
double r4769840 = r4769829 * r4769814;
double r4769841 = r4769839 - r4769840;
double r4769842 = r4769838 * r4769841;
double r4769843 = r4769833 + r4769842;
double r4769844 = r4769811 * r4769822;
double r4769845 = r4769808 * r4769824;
double r4769846 = r4769844 - r4769845;
double r4769847 = y4;
double r4769848 = r4769847 * r4769815;
double r4769849 = y5;
double r4769850 = r4769849 * r4769818;
double r4769851 = r4769848 - r4769850;
double r4769852 = r4769846 * r4769851;
double r4769853 = r4769843 + r4769852;
double r4769854 = r4769811 * r4769834;
double r4769855 = r4769808 * r4769836;
double r4769856 = r4769854 - r4769855;
double r4769857 = r4769847 * r4769817;
double r4769858 = r4769849 * r4769814;
double r4769859 = r4769857 - r4769858;
double r4769860 = r4769856 * r4769859;
double r4769861 = r4769853 - r4769860;
double r4769862 = r4769824 * r4769834;
double r4769863 = r4769822 * r4769836;
double r4769864 = r4769862 - r4769863;
double r4769865 = r4769847 * r4769829;
double r4769866 = r4769849 * r4769827;
double r4769867 = r4769865 - r4769866;
double r4769868 = r4769864 * r4769867;
double r4769869 = r4769861 + r4769868;
return r4769869;
}
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 r4769870 = y2;
double r4769871 = -1.2961541745563326e+62;
bool r4769872 = r4769870 <= r4769871;
double r4769873 = y0;
double r4769874 = c;
double r4769875 = r4769873 * r4769874;
double r4769876 = y1;
double r4769877 = a;
double r4769878 = r4769876 * r4769877;
double r4769879 = r4769875 - r4769878;
double r4769880 = x;
double r4769881 = r4769880 * r4769870;
double r4769882 = z;
double r4769883 = y3;
double r4769884 = r4769882 * r4769883;
double r4769885 = r4769881 - r4769884;
double r4769886 = r4769879 * r4769885;
double r4769887 = y;
double r4769888 = r4769880 * r4769887;
double r4769889 = t;
double r4769890 = r4769889 * r4769882;
double r4769891 = r4769888 - r4769890;
double r4769892 = b;
double r4769893 = r4769877 * r4769892;
double r4769894 = i;
double r4769895 = r4769894 * r4769874;
double r4769896 = r4769893 - r4769895;
double r4769897 = r4769891 * r4769896;
double r4769898 = r4769873 * r4769892;
double r4769899 = r4769894 * r4769876;
double r4769900 = r4769898 - r4769899;
double r4769901 = j;
double r4769902 = r4769880 * r4769901;
double r4769903 = k;
double r4769904 = r4769882 * r4769903;
double r4769905 = r4769902 - r4769904;
double r4769906 = r4769900 * r4769905;
double r4769907 = r4769897 - r4769906;
double r4769908 = r4769886 + r4769907;
double r4769909 = r4769889 * r4769901;
double r4769910 = r4769887 * r4769903;
double r4769911 = r4769909 - r4769910;
double r4769912 = y4;
double r4769913 = r4769912 * r4769892;
double r4769914 = y5;
double r4769915 = r4769894 * r4769914;
double r4769916 = r4769913 - r4769915;
double r4769917 = r4769911 * r4769916;
double r4769918 = r4769908 + r4769917;
double r4769919 = r4769889 * r4769870;
double r4769920 = r4769887 * r4769883;
double r4769921 = r4769919 - r4769920;
double r4769922 = r4769912 * r4769874;
double r4769923 = r4769914 * r4769877;
double r4769924 = r4769922 - r4769923;
double r4769925 = r4769921 * r4769924;
double r4769926 = r4769918 - r4769925;
double r4769927 = 2.707765602532912e-42;
bool r4769928 = r4769870 <= r4769927;
double r4769929 = r4769882 * r4769876;
double r4769930 = r4769883 * r4769929;
double r4769931 = r4769870 * r4769876;
double r4769932 = r4769880 * r4769931;
double r4769933 = r4769930 - r4769932;
double r4769934 = r4769933 * r4769877;
double r4769935 = r4769874 * r4769882;
double r4769936 = r4769883 * r4769935;
double r4769937 = r4769936 * r4769873;
double r4769938 = r4769934 - r4769937;
double r4769939 = r4769938 + r4769907;
double r4769940 = r4769939 + r4769917;
double r4769941 = r4769940 - r4769925;
double r4769942 = r4769876 * r4769912;
double r4769943 = r4769873 * r4769914;
double r4769944 = r4769942 - r4769943;
double r4769945 = r4769870 * r4769903;
double r4769946 = r4769883 * r4769901;
double r4769947 = r4769945 - r4769946;
double r4769948 = r4769944 * r4769947;
double r4769949 = r4769941 + r4769948;
double r4769950 = r4769894 * r4769935;
double r4769951 = r4769889 * r4769950;
double r4769952 = r4769887 * r4769874;
double r4769953 = r4769880 * r4769952;
double r4769954 = r4769953 * r4769894;
double r4769955 = r4769892 * r4769882;
double r4769956 = r4769889 * r4769955;
double r4769957 = r4769877 * r4769956;
double r4769958 = r4769954 + r4769957;
double r4769959 = r4769951 - r4769958;
double r4769960 = r4769959 - r4769906;
double r4769961 = r4769886 + r4769960;
double r4769962 = r4769961 + r4769917;
double r4769963 = r4769962 - r4769925;
double r4769964 = r4769963 + r4769948;
double r4769965 = r4769928 ? r4769949 : r4769964;
double r4769966 = r4769872 ? r4769926 : r4769965;
return r4769966;
}



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 y2 < -1.2961541745563326e+62Initial program 27.8
Taylor expanded around 0 33.8
if -1.2961541745563326e+62 < y2 < 2.707765602532912e-42Initial program 24.4
Taylor expanded around inf 25.9
Simplified25.5
if 2.707765602532912e-42 < y2 Initial program 26.2
Taylor expanded around inf 27.7
Final simplification27.0
herbie shell --seed 2019162
(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"
(+ (- (+ (+ (- (* (- (* 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)))))