\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}\;x \le -3.263567735923593 \cdot 10^{-171}:\\
\;\;\;\;\left(\left(\left(y5 \cdot y0 - y4 \cdot y1\right) \cdot j\right) \cdot y3 + \left(\left(-y2\right) \cdot \left(y5 \cdot y0\right)\right) \cdot k\right) + \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(y2 \cdot x - y3 \cdot z\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - z \cdot t\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\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)\\
\mathbf{elif}\;x \le 4.166145952997047 \cdot 10^{-207}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot \left(y2 \cdot x - y3 \cdot z\right) + \left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - z \cdot t\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)\\
\mathbf{else}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - i \cdot y5\right) + \left(\left(\left(\sqrt[3]{c \cdot y0 - a \cdot y1} \cdot \sqrt[3]{c \cdot y0 - a \cdot y1}\right) \cdot \left(y2 \cdot x - y3 \cdot z\right)\right) \cdot \sqrt[3]{c \cdot y0 - a \cdot y1} + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - z \cdot t\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\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 y0, double y1, double y2, double y3, double y4, double y5) {
double r19975937 = x;
double r19975938 = y;
double r19975939 = r19975937 * r19975938;
double r19975940 = z;
double r19975941 = t;
double r19975942 = r19975940 * r19975941;
double r19975943 = r19975939 - r19975942;
double r19975944 = a;
double r19975945 = b;
double r19975946 = r19975944 * r19975945;
double r19975947 = c;
double r19975948 = i;
double r19975949 = r19975947 * r19975948;
double r19975950 = r19975946 - r19975949;
double r19975951 = r19975943 * r19975950;
double r19975952 = j;
double r19975953 = r19975937 * r19975952;
double r19975954 = k;
double r19975955 = r19975940 * r19975954;
double r19975956 = r19975953 - r19975955;
double r19975957 = y0;
double r19975958 = r19975957 * r19975945;
double r19975959 = y1;
double r19975960 = r19975959 * r19975948;
double r19975961 = r19975958 - r19975960;
double r19975962 = r19975956 * r19975961;
double r19975963 = r19975951 - r19975962;
double r19975964 = y2;
double r19975965 = r19975937 * r19975964;
double r19975966 = y3;
double r19975967 = r19975940 * r19975966;
double r19975968 = r19975965 - r19975967;
double r19975969 = r19975957 * r19975947;
double r19975970 = r19975959 * r19975944;
double r19975971 = r19975969 - r19975970;
double r19975972 = r19975968 * r19975971;
double r19975973 = r19975963 + r19975972;
double r19975974 = r19975941 * r19975952;
double r19975975 = r19975938 * r19975954;
double r19975976 = r19975974 - r19975975;
double r19975977 = y4;
double r19975978 = r19975977 * r19975945;
double r19975979 = y5;
double r19975980 = r19975979 * r19975948;
double r19975981 = r19975978 - r19975980;
double r19975982 = r19975976 * r19975981;
double r19975983 = r19975973 + r19975982;
double r19975984 = r19975941 * r19975964;
double r19975985 = r19975938 * r19975966;
double r19975986 = r19975984 - r19975985;
double r19975987 = r19975977 * r19975947;
double r19975988 = r19975979 * r19975944;
double r19975989 = r19975987 - r19975988;
double r19975990 = r19975986 * r19975989;
double r19975991 = r19975983 - r19975990;
double r19975992 = r19975954 * r19975964;
double r19975993 = r19975952 * r19975966;
double r19975994 = r19975992 - r19975993;
double r19975995 = r19975977 * r19975959;
double r19975996 = r19975979 * r19975957;
double r19975997 = r19975995 - r19975996;
double r19975998 = r19975994 * r19975997;
double r19975999 = r19975991 + r19975998;
return r19975999;
}
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 r19976000 = x;
double r19976001 = -3.263567735923593e-171;
bool r19976002 = r19976000 <= r19976001;
double r19976003 = y5;
double r19976004 = y0;
double r19976005 = r19976003 * r19976004;
double r19976006 = y4;
double r19976007 = y1;
double r19976008 = r19976006 * r19976007;
double r19976009 = r19976005 - r19976008;
double r19976010 = j;
double r19976011 = r19976009 * r19976010;
double r19976012 = y3;
double r19976013 = r19976011 * r19976012;
double r19976014 = y2;
double r19976015 = -r19976014;
double r19976016 = r19976015 * r19976005;
double r19976017 = k;
double r19976018 = r19976016 * r19976017;
double r19976019 = r19976013 + r19976018;
double r19976020 = c;
double r19976021 = r19976020 * r19976004;
double r19976022 = a;
double r19976023 = r19976022 * r19976007;
double r19976024 = r19976021 - r19976023;
double r19976025 = r19976014 * r19976000;
double r19976026 = z;
double r19976027 = r19976012 * r19976026;
double r19976028 = r19976025 - r19976027;
double r19976029 = r19976024 * r19976028;
double r19976030 = b;
double r19976031 = r19976022 * r19976030;
double r19976032 = i;
double r19976033 = r19976032 * r19976020;
double r19976034 = r19976031 - r19976033;
double r19976035 = y;
double r19976036 = r19976035 * r19976000;
double r19976037 = t;
double r19976038 = r19976026 * r19976037;
double r19976039 = r19976036 - r19976038;
double r19976040 = r19976034 * r19976039;
double r19976041 = r19976000 * r19976010;
double r19976042 = r19976026 * r19976017;
double r19976043 = r19976041 - r19976042;
double r19976044 = r19976030 * r19976004;
double r19976045 = r19976032 * r19976007;
double r19976046 = r19976044 - r19976045;
double r19976047 = r19976043 * r19976046;
double r19976048 = r19976040 - r19976047;
double r19976049 = r19976029 + r19976048;
double r19976050 = r19976037 * r19976010;
double r19976051 = r19976035 * r19976017;
double r19976052 = r19976050 - r19976051;
double r19976053 = r19976006 * r19976030;
double r19976054 = r19976032 * r19976003;
double r19976055 = r19976053 - r19976054;
double r19976056 = r19976052 * r19976055;
double r19976057 = r19976049 + r19976056;
double r19976058 = r19976037 * r19976014;
double r19976059 = r19976035 * r19976012;
double r19976060 = r19976058 - r19976059;
double r19976061 = r19976006 * r19976020;
double r19976062 = r19976003 * r19976022;
double r19976063 = r19976061 - r19976062;
double r19976064 = r19976060 * r19976063;
double r19976065 = r19976057 - r19976064;
double r19976066 = r19976019 + r19976065;
double r19976067 = 4.166145952997047e-207;
bool r19976068 = r19976000 <= r19976067;
double r19976069 = r19976014 * r19976017;
double r19976070 = r19976010 * r19976012;
double r19976071 = r19976069 - r19976070;
double r19976072 = r19976008 - r19976005;
double r19976073 = r19976071 * r19976072;
double r19976074 = r19976029 + r19976040;
double r19976075 = r19976074 + r19976056;
double r19976076 = r19976075 - r19976064;
double r19976077 = r19976073 + r19976076;
double r19976078 = cbrt(r19976024);
double r19976079 = r19976078 * r19976078;
double r19976080 = r19976079 * r19976028;
double r19976081 = r19976080 * r19976078;
double r19976082 = r19976081 + r19976048;
double r19976083 = r19976056 + r19976082;
double r19976084 = r19976083 - r19976064;
double r19976085 = r19976073 + r19976084;
double r19976086 = r19976068 ? r19976077 : r19976085;
double r19976087 = r19976002 ? r19976066 : r19976086;
return r19976087;
}



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 x < -3.263567735923593e-171Initial program 25.5
Taylor expanded around inf 27.3
Simplified27.4
if -3.263567735923593e-171 < x < 4.166145952997047e-207Initial program 27.3
Taylor expanded around 0 30.4
if 4.166145952997047e-207 < x Initial program 26.2
rmApplied add-cube-cbrt26.3
Applied associate-*r*26.3
Final simplification27.8
herbie shell --seed 2019124
(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)))))