\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}\;z \le -2.50205289557660071 \cdot 10^{-74}:\\
\;\;\;\;\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(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right) - \left(y0 \cdot \left(y2 \cdot \left(k \cdot y5\right)\right) + y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\
\mathbf{elif}\;z \le -2.14469854287338484 \cdot 10^{-126}:\\
\;\;\;\;\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(\left(t \cdot j - y \cdot k\right) \cdot \left(\sqrt[3]{y4 \cdot b - y5 \cdot i} \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\right)\right) \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\right) - 0\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;z \le 4.92032008225070445 \cdot 10^{-163}:\\
\;\;\;\;\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(a \cdot \left(y3 \cdot \left(y1 \cdot z\right)\right) - \left(y0 \cdot \left(z \cdot \left(y3 \cdot c\right)\right) + a \cdot \left(x \cdot \left(y2 \cdot y1\right)\right)\right)\right)\right) + \left(\left(t \cdot j - y \cdot k\right) \cdot \left(\sqrt[3]{y4 \cdot b - y5 \cdot i} \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\right)\right) \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\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(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \sqrt[3]{t \cdot y2 - y \cdot y3}\right) \cdot \left(\sqrt[3]{t \cdot y2 - y \cdot y3} \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\end{array}double code(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) {
return ((((((((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))));
}
double code(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 VAR;
if ((z <= -2.5020528955766007e-74)) {
VAR = ((((((((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)))) + ((y0 * (y3 * (j * y5))) - ((y0 * (y2 * (k * y5))) + (y1 * (y3 * (j * y4))))));
} else {
double VAR_1;
if ((z <= -2.144698542873385e-126)) {
VAR_1 = ((((((((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)) * (cbrt(((y4 * b) - (y5 * i))) * cbrt(((y4 * b) - (y5 * i))))) * cbrt(((y4 * b) - (y5 * i))))) - 0.0) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))));
} else {
double VAR_2;
if ((z <= 4.9203200822507044e-163)) {
VAR_2 = ((((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + ((a * (y3 * (y1 * z))) - ((y0 * (z * (y3 * c))) + (a * (x * (y2 * y1)))))) + ((((t * j) - (y * k)) * (cbrt(((y4 * b) - (y5 * i))) * cbrt(((y4 * b) - (y5 * i))))) * cbrt(((y4 * b) - (y5 * i))))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))));
} else {
VAR_2 = ((((((((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)))) - ((cbrt(((t * y2) - (y * y3))) * cbrt(((t * y2) - (y * y3)))) * (cbrt(((t * y2) - (y * y3))) * ((y4 * c) - (y5 * a))))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))));
}
VAR_1 = VAR_2;
}
VAR = VAR_1;
}
return VAR;
}



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 z < -2.5020528955766007e-74Initial program 27.2
Taylor expanded around inf 30.1
if -2.5020528955766007e-74 < z < -2.144698542873385e-126Initial program 25.7
rmApplied add-cube-cbrt25.8
Applied associate-*r*25.8
Taylor expanded around 0 31.2
if -2.144698542873385e-126 < z < 4.9203200822507044e-163Initial program 26.7
rmApplied add-cube-cbrt26.8
Applied associate-*r*26.8
Taylor expanded around inf 28.9
if 4.9203200822507044e-163 < z Initial program 26.6
rmApplied add-cube-cbrt26.7
Applied associate-*l*26.7
Final simplification28.6
herbie shell --seed 2020092
(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)))))