\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}\;y4 \le -6.29709494231146243 \cdot 10^{-176}:\\
\;\;\;\;\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]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)} \cdot \sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)}\right) \cdot \sqrt[3]{\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}\;y4 \le 3.15709262889525903 \cdot 10^{-279}:\\
\;\;\;\;\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(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{else}:\\
\;\;\;\;\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)\\
\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 ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (x * y)) - ((double) (z * t)))) * ((double) (((double) (a * b)) - ((double) (c * i)))))) - ((double) (((double) (((double) (x * j)) - ((double) (z * k)))) * ((double) (((double) (y0 * b)) - ((double) (y1 * i)))))))) + ((double) (((double) (((double) (x * y2)) - ((double) (z * y3)))) * ((double) (((double) (y0 * c)) - ((double) (y1 * a)))))))) + ((double) (((double) (((double) (t * j)) - ((double) (y * k)))) * ((double) (((double) (y4 * b)) - ((double) (y5 * i)))))))) - ((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))) + ((double) (((double) (((double) (k * y2)) - ((double) (j * y3)))) * ((double) (((double) (y4 * y1)) - ((double) (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 ((y4 <= -6.2970949423114624e-176)) {
VAR = ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (x * y)) - ((double) (z * t)))) * ((double) (((double) (a * b)) - ((double) (c * i)))))) - ((double) (((double) (((double) (x * j)) - ((double) (z * k)))) * ((double) (((double) (y0 * b)) - ((double) (y1 * i)))))))) + ((double) (((double) (((double) (x * y2)) - ((double) (z * y3)))) * ((double) (((double) (y0 * c)) - ((double) (y1 * a)))))))) + ((double) (((double) (((double) (t * j)) - ((double) (y * k)))) * ((double) (((double) (y4 * b)) - ((double) (y5 * i)))))))) - ((double) (((double) (((double) cbrt(((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))) * ((double) cbrt(((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))))) * ((double) cbrt(((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))))))) + ((double) (((double) (((double) (k * y2)) - ((double) (j * y3)))) * ((double) (((double) (y4 * y1)) - ((double) (y5 * y0))))))));
} else {
double VAR_1;
if ((y4 <= 3.157092628895259e-279)) {
VAR_1 = ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (x * y)) - ((double) (z * t)))) * ((double) (((double) (a * b)) - ((double) (c * i)))))) - ((double) (((double) (((double) (x * j)) - ((double) (z * k)))) * ((double) (((double) (y0 * b)) - ((double) (y1 * i)))))))) + ((double) (((double) (((double) (x * y2)) - ((double) (z * y3)))) * ((double) (((double) (y0 * c)) - ((double) (y1 * a)))))))) + ((double) (((double) (k * ((double) (i * ((double) (y * y5)))))) - ((double) (((double) (t * ((double) (i * ((double) (j * y5)))))) + ((double) (k * ((double) (y4 * ((double) (y * b)))))))))))) - ((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))) + ((double) (((double) (((double) (k * y2)) - ((double) (j * y3)))) * ((double) (((double) (y4 * y1)) - ((double) (y5 * y0))))))));
} else {
VAR_1 = ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (x * y)) - ((double) (z * t)))) * ((double) (((double) (a * b)) - ((double) (c * i)))))) - ((double) (((double) (k * ((double) (i * ((double) (z * y1)))))) - ((double) (((double) (i * ((double) (j * ((double) (y1 * x)))))) + ((double) (y0 * ((double) (z * ((double) (k * b)))))))))))) + ((double) (((double) (((double) (x * y2)) - ((double) (z * y3)))) * ((double) (((double) (y0 * c)) - ((double) (y1 * a)))))))) + ((double) (((double) (((double) (t * j)) - ((double) (y * k)))) * ((double) (((double) (y4 * b)) - ((double) (y5 * i)))))))) - ((double) (((double) (((double) (t * y2)) - ((double) (y * y3)))) * ((double) (((double) (y4 * c)) - ((double) (y5 * a)))))))) + ((double) (((double) (((double) (k * y2)) - ((double) (j * y3)))) * ((double) (((double) (y4 * y1)) - ((double) (y5 * y0))))))));
}
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 y4 < -6.29709494231146243e-176Initial program 26.5
rmApplied add-cube-cbrt26.6
if -6.29709494231146243e-176 < y4 < 3.15709262889525903e-279Initial program 27.4
Taylor expanded around inf 29.1
if 3.15709262889525903e-279 < y4 Initial program 27.8
Taylor expanded around inf 30.6
Final simplification29.0
herbie shell --seed 2020147
(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)))))