(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
: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)))))(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* b y4) (* y5 i)))
(t_2 (- (* t j) (* y k)))
(t_3 (- (* k y2) (* j y3)))
(t_4 (- (* y4 (* y1 t_3)) (* y0 (* y5 t_3))))
(t_5 (- (* x y2) (* z y3)))
(t_6 (* (- (* x j) (* z k)) (- (* b y0) (* i y1))))
(t_7 (- (* t y2) (* y y3)))
(t_8 (- (* c (* y4 t_7)) (* a (* y5 t_7))))
(t_9 (* t_7 (- (* c y4) (* y5 a))))
(t_10 (- (* x y) (* z t)))
(t_11 (* c (* t_10 i)))
(t_12 (* t_10 (- (* a b) (* c i))))
(t_13 (- t_12 t_6))
(t_14 (* t_3 (- (* y1 y4) (* y5 y0))))
(t_15 (- (* y4 (* b t_2)) (* i (* y5 t_2))))
(t_16
(+
(- (+ (+ t_13 (- (* c (* y0 t_5)) (* y1 (* a t_5)))) t_15) t_8)
t_4))
(t_17 (* t_5 (- (* c y0) (* a y1))))
(t_18 (+ t_17 (- (- (* a (* t_10 b)) t_11) t_6))))
(if (<= y5 -9.340373878453417e-50)
t_16
(if (<= y5 -9.59241559282127e-135)
(+ (- (- (+ t_13 t_17) (* k (* y t_1))) t_9) t_14)
(if (<= y5 -1.0359797119022872e-213)
(+ t_4 (- (+ t_15 (- t_17 (+ t_6 t_11))) t_9))
(if (<= y5 1.565065403609225e-212)
(+
t_4
(-
(+
t_15
(+
t_17
(-
t_12
(-
(+ (* y0 (* b (* x j))) (* k (* i (* z y1))))
(+ (* y1 (* i (* x j))) (* k (* y0 (* z b))))))))
t_9))
(if (<= y5 5091631059.196271)
t_16
(if (<= y5 7.58178701081719e+89)
(+ t_14 (- (+ t_18 (* t_2 t_1)) t_9))
(+ t_4 (- (+ t_15 t_18) t_8))))))))))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 t_1 = (b * y4) - (y5 * i);
double t_2 = (t * j) - (y * k);
double t_3 = (k * y2) - (j * y3);
double t_4 = (y4 * (y1 * t_3)) - (y0 * (y5 * t_3));
double t_5 = (x * y2) - (z * y3);
double t_6 = ((x * j) - (z * k)) * ((b * y0) - (i * y1));
double t_7 = (t * y2) - (y * y3);
double t_8 = (c * (y4 * t_7)) - (a * (y5 * t_7));
double t_9 = t_7 * ((c * y4) - (y5 * a));
double t_10 = (x * y) - (z * t);
double t_11 = c * (t_10 * i);
double t_12 = t_10 * ((a * b) - (c * i));
double t_13 = t_12 - t_6;
double t_14 = t_3 * ((y1 * y4) - (y5 * y0));
double t_15 = (y4 * (b * t_2)) - (i * (y5 * t_2));
double t_16 = (((t_13 + ((c * (y0 * t_5)) - (y1 * (a * t_5)))) + t_15) - t_8) + t_4;
double t_17 = t_5 * ((c * y0) - (a * y1));
double t_18 = t_17 + (((a * (t_10 * b)) - t_11) - t_6);
double tmp;
if (y5 <= -9.340373878453417e-50) {
tmp = t_16;
} else if (y5 <= -9.59241559282127e-135) {
tmp = (((t_13 + t_17) - (k * (y * t_1))) - t_9) + t_14;
} else if (y5 <= -1.0359797119022872e-213) {
tmp = t_4 + ((t_15 + (t_17 - (t_6 + t_11))) - t_9);
} else if (y5 <= 1.565065403609225e-212) {
tmp = t_4 + ((t_15 + (t_17 + (t_12 - (((y0 * (b * (x * j))) + (k * (i * (z * y1)))) - ((y1 * (i * (x * j))) + (k * (y0 * (z * b)))))))) - t_9);
} else if (y5 <= 5091631059.196271) {
tmp = t_16;
} else if (y5 <= 7.58178701081719e+89) {
tmp = t_14 + ((t_18 + (t_2 * t_1)) - t_9);
} else {
tmp = t_4 + ((t_15 + t_18) - t_8);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((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)))
end function
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_10
real(8) :: t_11
real(8) :: t_12
real(8) :: t_13
real(8) :: t_14
real(8) :: t_15
real(8) :: t_16
real(8) :: t_17
real(8) :: t_18
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: t_9
real(8) :: tmp
t_1 = (b * y4) - (y5 * i)
t_2 = (t * j) - (y * k)
t_3 = (k * y2) - (j * y3)
t_4 = (y4 * (y1 * t_3)) - (y0 * (y5 * t_3))
t_5 = (x * y2) - (z * y3)
t_6 = ((x * j) - (z * k)) * ((b * y0) - (i * y1))
t_7 = (t * y2) - (y * y3)
t_8 = (c * (y4 * t_7)) - (a * (y5 * t_7))
t_9 = t_7 * ((c * y4) - (y5 * a))
t_10 = (x * y) - (z * t)
t_11 = c * (t_10 * i)
t_12 = t_10 * ((a * b) - (c * i))
t_13 = t_12 - t_6
t_14 = t_3 * ((y1 * y4) - (y5 * y0))
t_15 = (y4 * (b * t_2)) - (i * (y5 * t_2))
t_16 = (((t_13 + ((c * (y0 * t_5)) - (y1 * (a * t_5)))) + t_15) - t_8) + t_4
t_17 = t_5 * ((c * y0) - (a * y1))
t_18 = t_17 + (((a * (t_10 * b)) - t_11) - t_6)
if (y5 <= (-9.340373878453417d-50)) then
tmp = t_16
else if (y5 <= (-9.59241559282127d-135)) then
tmp = (((t_13 + t_17) - (k * (y * t_1))) - t_9) + t_14
else if (y5 <= (-1.0359797119022872d-213)) then
tmp = t_4 + ((t_15 + (t_17 - (t_6 + t_11))) - t_9)
else if (y5 <= 1.565065403609225d-212) then
tmp = t_4 + ((t_15 + (t_17 + (t_12 - (((y0 * (b * (x * j))) + (k * (i * (z * y1)))) - ((y1 * (i * (x * j))) + (k * (y0 * (z * b)))))))) - t_9)
else if (y5 <= 5091631059.196271d0) then
tmp = t_16
else if (y5 <= 7.58178701081719d+89) then
tmp = t_14 + ((t_18 + (t_2 * t_1)) - t_9)
else
tmp = t_4 + ((t_15 + t_18) - t_8)
end if
code = tmp
end function
public static 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)));
}
public static 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 t_1 = (b * y4) - (y5 * i);
double t_2 = (t * j) - (y * k);
double t_3 = (k * y2) - (j * y3);
double t_4 = (y4 * (y1 * t_3)) - (y0 * (y5 * t_3));
double t_5 = (x * y2) - (z * y3);
double t_6 = ((x * j) - (z * k)) * ((b * y0) - (i * y1));
double t_7 = (t * y2) - (y * y3);
double t_8 = (c * (y4 * t_7)) - (a * (y5 * t_7));
double t_9 = t_7 * ((c * y4) - (y5 * a));
double t_10 = (x * y) - (z * t);
double t_11 = c * (t_10 * i);
double t_12 = t_10 * ((a * b) - (c * i));
double t_13 = t_12 - t_6;
double t_14 = t_3 * ((y1 * y4) - (y5 * y0));
double t_15 = (y4 * (b * t_2)) - (i * (y5 * t_2));
double t_16 = (((t_13 + ((c * (y0 * t_5)) - (y1 * (a * t_5)))) + t_15) - t_8) + t_4;
double t_17 = t_5 * ((c * y0) - (a * y1));
double t_18 = t_17 + (((a * (t_10 * b)) - t_11) - t_6);
double tmp;
if (y5 <= -9.340373878453417e-50) {
tmp = t_16;
} else if (y5 <= -9.59241559282127e-135) {
tmp = (((t_13 + t_17) - (k * (y * t_1))) - t_9) + t_14;
} else if (y5 <= -1.0359797119022872e-213) {
tmp = t_4 + ((t_15 + (t_17 - (t_6 + t_11))) - t_9);
} else if (y5 <= 1.565065403609225e-212) {
tmp = t_4 + ((t_15 + (t_17 + (t_12 - (((y0 * (b * (x * j))) + (k * (i * (z * y1)))) - ((y1 * (i * (x * j))) + (k * (y0 * (z * b)))))))) - t_9);
} else if (y5 <= 5091631059.196271) {
tmp = t_16;
} else if (y5 <= 7.58178701081719e+89) {
tmp = t_14 + ((t_18 + (t_2 * t_1)) - t_9);
} else {
tmp = t_4 + ((t_15 + t_18) - t_8);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, 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)))
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (b * y4) - (y5 * i) t_2 = (t * j) - (y * k) t_3 = (k * y2) - (j * y3) t_4 = (y4 * (y1 * t_3)) - (y0 * (y5 * t_3)) t_5 = (x * y2) - (z * y3) t_6 = ((x * j) - (z * k)) * ((b * y0) - (i * y1)) t_7 = (t * y2) - (y * y3) t_8 = (c * (y4 * t_7)) - (a * (y5 * t_7)) t_9 = t_7 * ((c * y4) - (y5 * a)) t_10 = (x * y) - (z * t) t_11 = c * (t_10 * i) t_12 = t_10 * ((a * b) - (c * i)) t_13 = t_12 - t_6 t_14 = t_3 * ((y1 * y4) - (y5 * y0)) t_15 = (y4 * (b * t_2)) - (i * (y5 * t_2)) t_16 = (((t_13 + ((c * (y0 * t_5)) - (y1 * (a * t_5)))) + t_15) - t_8) + t_4 t_17 = t_5 * ((c * y0) - (a * y1)) t_18 = t_17 + (((a * (t_10 * b)) - t_11) - t_6) tmp = 0 if y5 <= -9.340373878453417e-50: tmp = t_16 elif y5 <= -9.59241559282127e-135: tmp = (((t_13 + t_17) - (k * (y * t_1))) - t_9) + t_14 elif y5 <= -1.0359797119022872e-213: tmp = t_4 + ((t_15 + (t_17 - (t_6 + t_11))) - t_9) elif y5 <= 1.565065403609225e-212: tmp = t_4 + ((t_15 + (t_17 + (t_12 - (((y0 * (b * (x * j))) + (k * (i * (z * y1)))) - ((y1 * (i * (x * j))) + (k * (y0 * (z * b)))))))) - t_9) elif y5 <= 5091631059.196271: tmp = t_16 elif y5 <= 7.58178701081719e+89: tmp = t_14 + ((t_18 + (t_2 * t_1)) - t_9) else: tmp = t_4 + ((t_15 + t_18) - t_8) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(b * y4) - Float64(y5 * i)) t_2 = Float64(Float64(t * j) - Float64(y * k)) t_3 = Float64(Float64(k * y2) - Float64(j * y3)) t_4 = Float64(Float64(y4 * Float64(y1 * t_3)) - Float64(y0 * Float64(y5 * t_3))) t_5 = Float64(Float64(x * y2) - Float64(z * y3)) t_6 = Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(b * y0) - Float64(i * y1))) t_7 = Float64(Float64(t * y2) - Float64(y * y3)) t_8 = Float64(Float64(c * Float64(y4 * t_7)) - Float64(a * Float64(y5 * t_7))) t_9 = Float64(t_7 * Float64(Float64(c * y4) - Float64(y5 * a))) t_10 = Float64(Float64(x * y) - Float64(z * t)) t_11 = Float64(c * Float64(t_10 * i)) t_12 = Float64(t_10 * Float64(Float64(a * b) - Float64(c * i))) t_13 = Float64(t_12 - t_6) t_14 = Float64(t_3 * Float64(Float64(y1 * y4) - Float64(y5 * y0))) t_15 = Float64(Float64(y4 * Float64(b * t_2)) - Float64(i * Float64(y5 * t_2))) t_16 = Float64(Float64(Float64(Float64(t_13 + Float64(Float64(c * Float64(y0 * t_5)) - Float64(y1 * Float64(a * t_5)))) + t_15) - t_8) + t_4) t_17 = Float64(t_5 * Float64(Float64(c * y0) - Float64(a * y1))) t_18 = Float64(t_17 + Float64(Float64(Float64(a * Float64(t_10 * b)) - t_11) - t_6)) tmp = 0.0 if (y5 <= -9.340373878453417e-50) tmp = t_16; elseif (y5 <= -9.59241559282127e-135) tmp = Float64(Float64(Float64(Float64(t_13 + t_17) - Float64(k * Float64(y * t_1))) - t_9) + t_14); elseif (y5 <= -1.0359797119022872e-213) tmp = Float64(t_4 + Float64(Float64(t_15 + Float64(t_17 - Float64(t_6 + t_11))) - t_9)); elseif (y5 <= 1.565065403609225e-212) tmp = Float64(t_4 + Float64(Float64(t_15 + Float64(t_17 + Float64(t_12 - Float64(Float64(Float64(y0 * Float64(b * Float64(x * j))) + Float64(k * Float64(i * Float64(z * y1)))) - Float64(Float64(y1 * Float64(i * Float64(x * j))) + Float64(k * Float64(y0 * Float64(z * b)))))))) - t_9)); elseif (y5 <= 5091631059.196271) tmp = t_16; elseif (y5 <= 7.58178701081719e+89) tmp = Float64(t_14 + Float64(Float64(t_18 + Float64(t_2 * t_1)) - t_9)); else tmp = Float64(t_4 + Float64(Float64(t_15 + t_18) - t_8)); end return tmp end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((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))); end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (b * y4) - (y5 * i); t_2 = (t * j) - (y * k); t_3 = (k * y2) - (j * y3); t_4 = (y4 * (y1 * t_3)) - (y0 * (y5 * t_3)); t_5 = (x * y2) - (z * y3); t_6 = ((x * j) - (z * k)) * ((b * y0) - (i * y1)); t_7 = (t * y2) - (y * y3); t_8 = (c * (y4 * t_7)) - (a * (y5 * t_7)); t_9 = t_7 * ((c * y4) - (y5 * a)); t_10 = (x * y) - (z * t); t_11 = c * (t_10 * i); t_12 = t_10 * ((a * b) - (c * i)); t_13 = t_12 - t_6; t_14 = t_3 * ((y1 * y4) - (y5 * y0)); t_15 = (y4 * (b * t_2)) - (i * (y5 * t_2)); t_16 = (((t_13 + ((c * (y0 * t_5)) - (y1 * (a * t_5)))) + t_15) - t_8) + t_4; t_17 = t_5 * ((c * y0) - (a * y1)); t_18 = t_17 + (((a * (t_10 * b)) - t_11) - t_6); tmp = 0.0; if (y5 <= -9.340373878453417e-50) tmp = t_16; elseif (y5 <= -9.59241559282127e-135) tmp = (((t_13 + t_17) - (k * (y * t_1))) - t_9) + t_14; elseif (y5 <= -1.0359797119022872e-213) tmp = t_4 + ((t_15 + (t_17 - (t_6 + t_11))) - t_9); elseif (y5 <= 1.565065403609225e-212) tmp = t_4 + ((t_15 + (t_17 + (t_12 - (((y0 * (b * (x * j))) + (k * (i * (z * y1)))) - ((y1 * (i * (x * j))) + (k * (y0 * (z * b)))))))) - t_9); elseif (y5 <= 5091631059.196271) tmp = t_16; elseif (y5 <= 7.58178701081719e+89) tmp = t_14 + ((t_18 + (t_2 * t_1)) - t_9); else tmp = t_4 + ((t_15 + t_18) - t_8); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(b * y4), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y4 * N[(y1 * t$95$3), $MachinePrecision]), $MachinePrecision] - N[(y0 * N[(y5 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(c * N[(y4 * t$95$7), $MachinePrecision]), $MachinePrecision] - N[(a * N[(y5 * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(t$95$7 * N[(N[(c * y4), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$11 = N[(c * N[(t$95$10 * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$12 = N[(t$95$10 * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$13 = N[(t$95$12 - t$95$6), $MachinePrecision]}, Block[{t$95$14 = N[(t$95$3 * N[(N[(y1 * y4), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$15 = N[(N[(y4 * N[(b * t$95$2), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y5 * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$16 = N[(N[(N[(N[(t$95$13 + N[(N[(c * N[(y0 * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(y1 * N[(a * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$15), $MachinePrecision] - t$95$8), $MachinePrecision] + t$95$4), $MachinePrecision]}, Block[{t$95$17 = N[(t$95$5 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$18 = N[(t$95$17 + N[(N[(N[(a * N[(t$95$10 * b), $MachinePrecision]), $MachinePrecision] - t$95$11), $MachinePrecision] - t$95$6), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y5, -9.340373878453417e-50], t$95$16, If[LessEqual[y5, -9.59241559282127e-135], N[(N[(N[(N[(t$95$13 + t$95$17), $MachinePrecision] - N[(k * N[(y * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$9), $MachinePrecision] + t$95$14), $MachinePrecision], If[LessEqual[y5, -1.0359797119022872e-213], N[(t$95$4 + N[(N[(t$95$15 + N[(t$95$17 - N[(t$95$6 + t$95$11), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$9), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 1.565065403609225e-212], N[(t$95$4 + N[(N[(t$95$15 + N[(t$95$17 + N[(t$95$12 - N[(N[(N[(y0 * N[(b * N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(i * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y1 * N[(i * N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(y0 * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$9), $MachinePrecision]), $MachinePrecision], If[LessEqual[y5, 5091631059.196271], t$95$16, If[LessEqual[y5, 7.58178701081719e+89], N[(t$95$14 + N[(N[(t$95$18 + N[(t$95$2 * t$95$1), $MachinePrecision]), $MachinePrecision] - t$95$9), $MachinePrecision]), $MachinePrecision], N[(t$95$4 + N[(N[(t$95$15 + t$95$18), $MachinePrecision] - t$95$8), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]
\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}
t_1 := b \cdot y4 - y5 \cdot i\\
t_2 := t \cdot j - y \cdot k\\
t_3 := k \cdot y2 - j \cdot y3\\
t_4 := y4 \cdot \left(y1 \cdot t_3\right) - y0 \cdot \left(y5 \cdot t_3\right)\\
t_5 := x \cdot y2 - z \cdot y3\\
t_6 := \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\\
t_7 := t \cdot y2 - y \cdot y3\\
t_8 := c \cdot \left(y4 \cdot t_7\right) - a \cdot \left(y5 \cdot t_7\right)\\
t_9 := t_7 \cdot \left(c \cdot y4 - y5 \cdot a\right)\\
t_10 := x \cdot y - z \cdot t\\
t_11 := c \cdot \left(t_10 \cdot i\right)\\
t_12 := t_10 \cdot \left(a \cdot b - c \cdot i\right)\\
t_13 := t_12 - t_6\\
t_14 := t_3 \cdot \left(y1 \cdot y4 - y5 \cdot y0\right)\\
t_15 := y4 \cdot \left(b \cdot t_2\right) - i \cdot \left(y5 \cdot t_2\right)\\
t_16 := \left(\left(\left(t_13 + \left(c \cdot \left(y0 \cdot t_5\right) - y1 \cdot \left(a \cdot t_5\right)\right)\right) + t_15\right) - t_8\right) + t_4\\
t_17 := t_5 \cdot \left(c \cdot y0 - a \cdot y1\right)\\
t_18 := t_17 + \left(\left(a \cdot \left(t_10 \cdot b\right) - t_11\right) - t_6\right)\\
\mathbf{if}\;y5 \leq -9.340373878453417 \cdot 10^{-50}:\\
\;\;\;\;t_16\\
\mathbf{elif}\;y5 \leq -9.59241559282127 \cdot 10^{-135}:\\
\;\;\;\;\left(\left(\left(t_13 + t_17\right) - k \cdot \left(y \cdot t_1\right)\right) - t_9\right) + t_14\\
\mathbf{elif}\;y5 \leq -1.0359797119022872 \cdot 10^{-213}:\\
\;\;\;\;t_4 + \left(\left(t_15 + \left(t_17 - \left(t_6 + t_11\right)\right)\right) - t_9\right)\\
\mathbf{elif}\;y5 \leq 1.565065403609225 \cdot 10^{-212}:\\
\;\;\;\;t_4 + \left(\left(t_15 + \left(t_17 + \left(t_12 - \left(\left(y0 \cdot \left(b \cdot \left(x \cdot j\right)\right) + k \cdot \left(i \cdot \left(z \cdot y1\right)\right)\right) - \left(y1 \cdot \left(i \cdot \left(x \cdot j\right)\right) + k \cdot \left(y0 \cdot \left(z \cdot b\right)\right)\right)\right)\right)\right)\right) - t_9\right)\\
\mathbf{elif}\;y5 \leq 5091631059.196271:\\
\;\;\;\;t_16\\
\mathbf{elif}\;y5 \leq 7.58178701081719 \cdot 10^{+89}:\\
\;\;\;\;t_14 + \left(\left(t_18 + t_2 \cdot t_1\right) - t_9\right)\\
\mathbf{else}:\\
\;\;\;\;t_4 + \left(\left(t_15 + t_18\right) - t_8\right)\\
\end{array}




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
| Original | 27.1 |
|---|---|
| Target | 30.4 |
| Herbie | 28.0 |
if y5 < -9.34037387845341734e-50 or 1.565065403609225e-212 < y5 < 5091631059.19627094Initial program 26.8
Applied sub-neg_binary6426.8
Applied distribute-rgt-in_binary6426.8
Simplified27.1
Simplified27.2
Applied sub-neg_binary6427.2
Applied distribute-rgt-in_binary6427.2
Simplified27.0
Simplified27.0
Applied sub-neg_binary6427.0
Applied distribute-rgt-in_binary6427.0
Simplified27.1
Simplified26.9
Applied sub-neg_binary6426.9
Applied distribute-rgt-in_binary6426.9
Simplified26.9
Simplified26.7
if -9.34037387845341734e-50 < y5 < -9.5924155928212703e-135Initial program 26.0
Taylor expanded in k around inf 29.4
if -9.5924155928212703e-135 < y5 < -1.03597971190228719e-213Initial program 27.3
Applied sub-neg_binary6427.3
Applied distribute-rgt-in_binary6427.3
Simplified27.6
Simplified27.6
Applied sub-neg_binary6427.6
Applied distribute-rgt-in_binary6427.6
Simplified28.1
Simplified28.1
Taylor expanded in a around 0 31.0
if -1.03597971190228719e-213 < y5 < 1.565065403609225e-212Initial program 27.6
Applied sub-neg_binary6427.6
Applied distribute-rgt-in_binary6427.6
Simplified27.7
Simplified27.7
Applied sub-neg_binary6427.7
Applied distribute-rgt-in_binary6427.7
Simplified27.8
Simplified27.8
Taylor expanded in x around 0 29.0
if 5091631059.19627094 < y5 < 7.58178701081718997e89Initial program 23.7
Applied sub-neg_binary6423.7
Applied distribute-rgt-in_binary6423.7
Simplified24.5
Simplified24.3
if 7.58178701081718997e89 < y5 Initial program 30.2
Applied sub-neg_binary6430.2
Applied distribute-rgt-in_binary6430.2
Simplified29.8
Simplified32.1
Applied sub-neg_binary6432.1
Applied distribute-rgt-in_binary6432.1
Simplified32.4
Simplified31.8
Applied sub-neg_binary6431.8
Applied distribute-rgt-in_binary6431.8
Simplified31.4
Simplified30.1
Applied sub-neg_binary6430.1
Applied distribute-rgt-in_binary6430.1
Simplified30.1
Simplified29.6
Final simplification28.0
herbie shell --seed 2022131
(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
:herbie-target
(if (< y4 -7.206256231996481e+60) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1.0 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -1.2000065055686116e-105) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 6.718963124057495e-279) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 4.77962681403792e-222) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 2.2852241541266835e-175) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))))))))
(+ (- (+ (+ (- (* (- (* 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)))))