\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 -6.833009751204306 \cdot 10^{+73}:\\
\;\;\;\;\left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \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(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y2 \le -1.6502804203426646 \cdot 10^{-288}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(\left(c \cdot z\right) \cdot i\right) \cdot t - \left(\left(t \cdot \left(b \cdot z\right)\right) \cdot a + i \cdot \left(\left(y \cdot c\right) \cdot x\right)\right)\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(x \cdot j - z \cdot k\right)\right) + \left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right)\\
\mathbf{elif}\;y2 \le 3.2695605206784 \cdot 10^{-220}:\\
\;\;\;\;\left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \left(\left(\left(\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) + \left(a \cdot \left(y3 \cdot \left(z \cdot y1\right) - x \cdot \left(y2 \cdot y1\right)\right) - \left(c \cdot \left(z \cdot y3\right)\right) \cdot y0\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{elif}\;y2 \le 3.081392621023681 \cdot 10^{-184}:\\
\;\;\;\;\left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \left(\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(y4 \cdot b - y5 \cdot i\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(a \cdot \left(y3 \cdot \left(y \cdot y5\right)\right) - \left(a \cdot \left(\left(y5 \cdot t\right) \cdot y2\right) + y3 \cdot \left(y4 \cdot \left(y \cdot c\right)\right)\right)\right)\right)\\
\mathbf{elif}\;y2 \le 1.9016384996621406 \cdot 10^{+35}:\\
\;\;\;\;\left(\left(\left(i \cdot \left(\left(y5 \cdot k\right) \cdot y\right) - \left(\left(\left(y4 \cdot b\right) \cdot y\right) \cdot k + t \cdot \left(\left(y5 \cdot j\right) \cdot i\right)\right)\right) + \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)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right)\\
\mathbf{elif}\;y2 \le 6.2621785826606805 \cdot 10^{+75}:\\
\;\;\;\;\left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - y3 \cdot j\right) + \left(\left(\left(\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) + \left(a \cdot \left(y3 \cdot \left(z \cdot y1\right) - x \cdot \left(y2 \cdot y1\right)\right) - \left(c \cdot \left(z \cdot y3\right)\right) \cdot y0\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(\left(c \cdot z\right) \cdot i\right) \cdot t - \left(\left(t \cdot \left(b \cdot z\right)\right) \cdot a + i \cdot \left(\left(y \cdot c\right) \cdot x\right)\right)\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(x \cdot j - z \cdot k\right)\right) + \left(y0 \cdot c - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(y4 \cdot b - y5 \cdot i\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(c \cdot y4 - y5 \cdot a\right) \cdot \left(t \cdot y2 - y \cdot y3\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 r4445926 = x;
double r4445927 = y;
double r4445928 = r4445926 * r4445927;
double r4445929 = z;
double r4445930 = t;
double r4445931 = r4445929 * r4445930;
double r4445932 = r4445928 - r4445931;
double r4445933 = a;
double r4445934 = b;
double r4445935 = r4445933 * r4445934;
double r4445936 = c;
double r4445937 = i;
double r4445938 = r4445936 * r4445937;
double r4445939 = r4445935 - r4445938;
double r4445940 = r4445932 * r4445939;
double r4445941 = j;
double r4445942 = r4445926 * r4445941;
double r4445943 = k;
double r4445944 = r4445929 * r4445943;
double r4445945 = r4445942 - r4445944;
double r4445946 = y0;
double r4445947 = r4445946 * r4445934;
double r4445948 = y1;
double r4445949 = r4445948 * r4445937;
double r4445950 = r4445947 - r4445949;
double r4445951 = r4445945 * r4445950;
double r4445952 = r4445940 - r4445951;
double r4445953 = y2;
double r4445954 = r4445926 * r4445953;
double r4445955 = y3;
double r4445956 = r4445929 * r4445955;
double r4445957 = r4445954 - r4445956;
double r4445958 = r4445946 * r4445936;
double r4445959 = r4445948 * r4445933;
double r4445960 = r4445958 - r4445959;
double r4445961 = r4445957 * r4445960;
double r4445962 = r4445952 + r4445961;
double r4445963 = r4445930 * r4445941;
double r4445964 = r4445927 * r4445943;
double r4445965 = r4445963 - r4445964;
double r4445966 = y4;
double r4445967 = r4445966 * r4445934;
double r4445968 = y5;
double r4445969 = r4445968 * r4445937;
double r4445970 = r4445967 - r4445969;
double r4445971 = r4445965 * r4445970;
double r4445972 = r4445962 + r4445971;
double r4445973 = r4445930 * r4445953;
double r4445974 = r4445927 * r4445955;
double r4445975 = r4445973 - r4445974;
double r4445976 = r4445966 * r4445936;
double r4445977 = r4445968 * r4445933;
double r4445978 = r4445976 - r4445977;
double r4445979 = r4445975 * r4445978;
double r4445980 = r4445972 - r4445979;
double r4445981 = r4445943 * r4445953;
double r4445982 = r4445941 * r4445955;
double r4445983 = r4445981 - r4445982;
double r4445984 = r4445966 * r4445948;
double r4445985 = r4445968 * r4445946;
double r4445986 = r4445984 - r4445985;
double r4445987 = r4445983 * r4445986;
double r4445988 = r4445980 + r4445987;
return r4445988;
}
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 r4445989 = y2;
double r4445990 = -6.833009751204306e+73;
bool r4445991 = r4445989 <= r4445990;
double r4445992 = y1;
double r4445993 = y4;
double r4445994 = r4445992 * r4445993;
double r4445995 = y0;
double r4445996 = y5;
double r4445997 = r4445995 * r4445996;
double r4445998 = r4445994 - r4445997;
double r4445999 = k;
double r4446000 = r4445989 * r4445999;
double r4446001 = y3;
double r4446002 = j;
double r4446003 = r4446001 * r4446002;
double r4446004 = r4446000 - r4446003;
double r4446005 = r4445998 * r4446004;
double r4446006 = c;
double r4446007 = r4445995 * r4446006;
double r4446008 = a;
double r4446009 = r4445992 * r4446008;
double r4446010 = r4446007 - r4446009;
double r4446011 = x;
double r4446012 = r4446011 * r4445989;
double r4446013 = z;
double r4446014 = r4446013 * r4446001;
double r4446015 = r4446012 - r4446014;
double r4446016 = r4446010 * r4446015;
double r4446017 = y;
double r4446018 = r4446011 * r4446017;
double r4446019 = t;
double r4446020 = r4446019 * r4446013;
double r4446021 = r4446018 - r4446020;
double r4446022 = b;
double r4446023 = r4446008 * r4446022;
double r4446024 = i;
double r4446025 = r4446024 * r4446006;
double r4446026 = r4446023 - r4446025;
double r4446027 = r4446021 * r4446026;
double r4446028 = r4445995 * r4446022;
double r4446029 = r4446024 * r4445992;
double r4446030 = r4446028 - r4446029;
double r4446031 = r4446011 * r4446002;
double r4446032 = r4446013 * r4445999;
double r4446033 = r4446031 - r4446032;
double r4446034 = r4446030 * r4446033;
double r4446035 = r4446027 - r4446034;
double r4446036 = r4446016 + r4446035;
double r4446037 = r4446006 * r4445993;
double r4446038 = r4445996 * r4446008;
double r4446039 = r4446037 - r4446038;
double r4446040 = r4446019 * r4445989;
double r4446041 = r4446017 * r4446001;
double r4446042 = r4446040 - r4446041;
double r4446043 = r4446039 * r4446042;
double r4446044 = r4446036 - r4446043;
double r4446045 = r4446005 + r4446044;
double r4446046 = -1.6502804203426646e-288;
bool r4446047 = r4445989 <= r4446046;
double r4446048 = r4446006 * r4446013;
double r4446049 = r4446048 * r4446024;
double r4446050 = r4446049 * r4446019;
double r4446051 = r4446022 * r4446013;
double r4446052 = r4446019 * r4446051;
double r4446053 = r4446052 * r4446008;
double r4446054 = r4446017 * r4446006;
double r4446055 = r4446054 * r4446011;
double r4446056 = r4446024 * r4446055;
double r4446057 = r4446053 + r4446056;
double r4446058 = r4446050 - r4446057;
double r4446059 = r4446058 - r4446034;
double r4446060 = r4446059 + r4446016;
double r4446061 = r4445993 * r4446022;
double r4446062 = r4445996 * r4446024;
double r4446063 = r4446061 - r4446062;
double r4446064 = r4446019 * r4446002;
double r4446065 = r4446017 * r4445999;
double r4446066 = r4446064 - r4446065;
double r4446067 = r4446063 * r4446066;
double r4446068 = r4446060 + r4446067;
double r4446069 = r4446068 - r4446043;
double r4446070 = r4446069 + r4446005;
double r4446071 = 3.2695605206784e-220;
bool r4446072 = r4445989 <= r4446071;
double r4446073 = r4446013 * r4445992;
double r4446074 = r4446001 * r4446073;
double r4446075 = r4445989 * r4445992;
double r4446076 = r4446011 * r4446075;
double r4446077 = r4446074 - r4446076;
double r4446078 = r4446008 * r4446077;
double r4446079 = r4446006 * r4446014;
double r4446080 = r4446079 * r4445995;
double r4446081 = r4446078 - r4446080;
double r4446082 = r4446035 + r4446081;
double r4446083 = r4446082 + r4446067;
double r4446084 = r4446083 - r4446043;
double r4446085 = r4446005 + r4446084;
double r4446086 = 3.081392621023681e-184;
bool r4446087 = r4445989 <= r4446086;
double r4446088 = r4446036 + r4446067;
double r4446089 = r4446017 * r4445996;
double r4446090 = r4446001 * r4446089;
double r4446091 = r4446008 * r4446090;
double r4446092 = r4445996 * r4446019;
double r4446093 = r4446092 * r4445989;
double r4446094 = r4446008 * r4446093;
double r4446095 = r4445993 * r4446054;
double r4446096 = r4446001 * r4446095;
double r4446097 = r4446094 + r4446096;
double r4446098 = r4446091 - r4446097;
double r4446099 = r4446088 - r4446098;
double r4446100 = r4446005 + r4446099;
double r4446101 = 1.9016384996621406e+35;
bool r4446102 = r4445989 <= r4446101;
double r4446103 = r4445996 * r4445999;
double r4446104 = r4446103 * r4446017;
double r4446105 = r4446024 * r4446104;
double r4446106 = r4446061 * r4446017;
double r4446107 = r4446106 * r4445999;
double r4446108 = r4445996 * r4446002;
double r4446109 = r4446108 * r4446024;
double r4446110 = r4446019 * r4446109;
double r4446111 = r4446107 + r4446110;
double r4446112 = r4446105 - r4446111;
double r4446113 = r4446112 + r4446036;
double r4446114 = r4446113 - r4446043;
double r4446115 = r4446114 + r4446005;
double r4446116 = 6.2621785826606805e+75;
bool r4446117 = r4445989 <= r4446116;
double r4446118 = r4446117 ? r4446085 : r4446070;
double r4446119 = r4446102 ? r4446115 : r4446118;
double r4446120 = r4446087 ? r4446100 : r4446119;
double r4446121 = r4446072 ? r4446085 : r4446120;
double r4446122 = r4446047 ? r4446070 : r4446121;
double r4446123 = r4445991 ? r4446045 : r4446122;
return r4446123;
}



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 < -6.833009751204306e+73Initial program 28.2
Taylor expanded around 0 30.1
if -6.833009751204306e+73 < y2 < -1.6502804203426646e-288 or 6.2621785826606805e+75 < y2 Initial program 25.6
Taylor expanded around inf 28.8
if -1.6502804203426646e-288 < y2 < 3.2695605206784e-220 or 1.9016384996621406e+35 < y2 < 6.2621785826606805e+75Initial program 25.3
Taylor expanded around inf 26.8
Simplified25.8
if 3.2695605206784e-220 < y2 < 3.081392621023681e-184Initial program 26.6
Taylor expanded around -inf 26.2
if 3.081392621023681e-184 < y2 < 1.9016384996621406e+35Initial program 25.1
Taylor expanded around -inf 27.7
Final simplification28.1
herbie shell --seed 2019135
(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)))))