| Alternative 1 | |
|---|---|
| Accuracy | 40.1% |
| Cost | 2908 |

(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 (- (* a y5) (* c y4)))
(t_2 (- (* c i) (* a b)))
(t_3 (- (* x y) (* z t)))
(t_4 (- (* x j) (* z k))))
(if (<= b -2.8e+64)
(* b (- (+ (* a t_3) (* y4 (- (* t j) (* y k)))) (* y0 t_4)))
(if (<= b -1e-124)
(*
z
(+
(* y3 (- (* a y1) (* c y0)))
(+ (* k (- (* b y0) (* i y1))) (* t t_2))))
(if (<= b -3.2e-256)
(*
c
(-
(+ (* y0 (- (* x y2) (* z y3))) (* y4 (- (* y y3) (* t y2))))
(* i t_3)))
(if (<= b 6.8e-255)
(* y5 (* y3 (- (* j y0) (* y a))))
(if (<= b 4.1e-22)
(* i (+ (* y1 t_4) (- (* y5 (- (* y k) (* t j))) (* c t_3))))
(if (<= b 5.5e+109)
(* t (+ (* z t_2) (+ (* y2 t_1) (* j (- (* b y4) (* i y5))))))
(if (<= b 6e+160)
(*
y2
(+
(+
(* x (- (* c y0) (* a y1)))
(* k (- (* y1 y4) (* y0 y5))))
(* t t_1)))
(if (<= b 1.15e+177)
(* z (- (* k (* b y0)) (* a (* t b))))
(* y (* b (- (* x a) (* k y4))))))))))))))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 = (a * y5) - (c * y4);
double t_2 = (c * i) - (a * b);
double t_3 = (x * y) - (z * t);
double t_4 = (x * j) - (z * k);
double tmp;
if (b <= -2.8e+64) {
tmp = b * (((a * t_3) + (y4 * ((t * j) - (y * k)))) - (y0 * t_4));
} else if (b <= -1e-124) {
tmp = z * ((y3 * ((a * y1) - (c * y0))) + ((k * ((b * y0) - (i * y1))) + (t * t_2)));
} else if (b <= -3.2e-256) {
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (y4 * ((y * y3) - (t * y2)))) - (i * t_3));
} else if (b <= 6.8e-255) {
tmp = y5 * (y3 * ((j * y0) - (y * a)));
} else if (b <= 4.1e-22) {
tmp = i * ((y1 * t_4) + ((y5 * ((y * k) - (t * j))) - (c * t_3)));
} else if (b <= 5.5e+109) {
tmp = t * ((z * t_2) + ((y2 * t_1) + (j * ((b * y4) - (i * y5)))));
} else if (b <= 6e+160) {
tmp = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
} else if (b <= 1.15e+177) {
tmp = z * ((k * (b * y0)) - (a * (t * b)));
} else {
tmp = y * (b * ((x * a) - (k * y4)));
}
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_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (a * y5) - (c * y4)
t_2 = (c * i) - (a * b)
t_3 = (x * y) - (z * t)
t_4 = (x * j) - (z * k)
if (b <= (-2.8d+64)) then
tmp = b * (((a * t_3) + (y4 * ((t * j) - (y * k)))) - (y0 * t_4))
else if (b <= (-1d-124)) then
tmp = z * ((y3 * ((a * y1) - (c * y0))) + ((k * ((b * y0) - (i * y1))) + (t * t_2)))
else if (b <= (-3.2d-256)) then
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (y4 * ((y * y3) - (t * y2)))) - (i * t_3))
else if (b <= 6.8d-255) then
tmp = y5 * (y3 * ((j * y0) - (y * a)))
else if (b <= 4.1d-22) then
tmp = i * ((y1 * t_4) + ((y5 * ((y * k) - (t * j))) - (c * t_3)))
else if (b <= 5.5d+109) then
tmp = t * ((z * t_2) + ((y2 * t_1) + (j * ((b * y4) - (i * y5)))))
else if (b <= 6d+160) then
tmp = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1))
else if (b <= 1.15d+177) then
tmp = z * ((k * (b * y0)) - (a * (t * b)))
else
tmp = y * (b * ((x * a) - (k * y4)))
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 = (a * y5) - (c * y4);
double t_2 = (c * i) - (a * b);
double t_3 = (x * y) - (z * t);
double t_4 = (x * j) - (z * k);
double tmp;
if (b <= -2.8e+64) {
tmp = b * (((a * t_3) + (y4 * ((t * j) - (y * k)))) - (y0 * t_4));
} else if (b <= -1e-124) {
tmp = z * ((y3 * ((a * y1) - (c * y0))) + ((k * ((b * y0) - (i * y1))) + (t * t_2)));
} else if (b <= -3.2e-256) {
tmp = c * (((y0 * ((x * y2) - (z * y3))) + (y4 * ((y * y3) - (t * y2)))) - (i * t_3));
} else if (b <= 6.8e-255) {
tmp = y5 * (y3 * ((j * y0) - (y * a)));
} else if (b <= 4.1e-22) {
tmp = i * ((y1 * t_4) + ((y5 * ((y * k) - (t * j))) - (c * t_3)));
} else if (b <= 5.5e+109) {
tmp = t * ((z * t_2) + ((y2 * t_1) + (j * ((b * y4) - (i * y5)))));
} else if (b <= 6e+160) {
tmp = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
} else if (b <= 1.15e+177) {
tmp = z * ((k * (b * y0)) - (a * (t * b)));
} else {
tmp = y * (b * ((x * a) - (k * y4)));
}
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 = (a * y5) - (c * y4) t_2 = (c * i) - (a * b) t_3 = (x * y) - (z * t) t_4 = (x * j) - (z * k) tmp = 0 if b <= -2.8e+64: tmp = b * (((a * t_3) + (y4 * ((t * j) - (y * k)))) - (y0 * t_4)) elif b <= -1e-124: tmp = z * ((y3 * ((a * y1) - (c * y0))) + ((k * ((b * y0) - (i * y1))) + (t * t_2))) elif b <= -3.2e-256: tmp = c * (((y0 * ((x * y2) - (z * y3))) + (y4 * ((y * y3) - (t * y2)))) - (i * t_3)) elif b <= 6.8e-255: tmp = y5 * (y3 * ((j * y0) - (y * a))) elif b <= 4.1e-22: tmp = i * ((y1 * t_4) + ((y5 * ((y * k) - (t * j))) - (c * t_3))) elif b <= 5.5e+109: tmp = t * ((z * t_2) + ((y2 * t_1) + (j * ((b * y4) - (i * y5))))) elif b <= 6e+160: tmp = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)) elif b <= 1.15e+177: tmp = z * ((k * (b * y0)) - (a * (t * b))) else: tmp = y * (b * ((x * a) - (k * y4))) 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(a * y5) - Float64(c * y4)) t_2 = Float64(Float64(c * i) - Float64(a * b)) t_3 = Float64(Float64(x * y) - Float64(z * t)) t_4 = Float64(Float64(x * j) - Float64(z * k)) tmp = 0.0 if (b <= -2.8e+64) tmp = Float64(b * Float64(Float64(Float64(a * t_3) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) - Float64(y0 * t_4))); elseif (b <= -1e-124) tmp = Float64(z * Float64(Float64(y3 * Float64(Float64(a * y1) - Float64(c * y0))) + Float64(Float64(k * Float64(Float64(b * y0) - Float64(i * y1))) + Float64(t * t_2)))); elseif (b <= -3.2e-256) tmp = Float64(c * Float64(Float64(Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2)))) - Float64(i * t_3))); elseif (b <= 6.8e-255) tmp = Float64(y5 * Float64(y3 * Float64(Float64(j * y0) - Float64(y * a)))); elseif (b <= 4.1e-22) tmp = Float64(i * Float64(Float64(y1 * t_4) + Float64(Float64(y5 * Float64(Float64(y * k) - Float64(t * j))) - Float64(c * t_3)))); elseif (b <= 5.5e+109) tmp = Float64(t * Float64(Float64(z * t_2) + Float64(Float64(y2 * t_1) + Float64(j * Float64(Float64(b * y4) - Float64(i * y5)))))); elseif (b <= 6e+160) tmp = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * t_1))); elseif (b <= 1.15e+177) tmp = Float64(z * Float64(Float64(k * Float64(b * y0)) - Float64(a * Float64(t * b)))); else tmp = Float64(y * Float64(b * Float64(Float64(x * a) - Float64(k * y4)))); 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 = (a * y5) - (c * y4); t_2 = (c * i) - (a * b); t_3 = (x * y) - (z * t); t_4 = (x * j) - (z * k); tmp = 0.0; if (b <= -2.8e+64) tmp = b * (((a * t_3) + (y4 * ((t * j) - (y * k)))) - (y0 * t_4)); elseif (b <= -1e-124) tmp = z * ((y3 * ((a * y1) - (c * y0))) + ((k * ((b * y0) - (i * y1))) + (t * t_2))); elseif (b <= -3.2e-256) tmp = c * (((y0 * ((x * y2) - (z * y3))) + (y4 * ((y * y3) - (t * y2)))) - (i * t_3)); elseif (b <= 6.8e-255) tmp = y5 * (y3 * ((j * y0) - (y * a))); elseif (b <= 4.1e-22) tmp = i * ((y1 * t_4) + ((y5 * ((y * k) - (t * j))) - (c * t_3))); elseif (b <= 5.5e+109) tmp = t * ((z * t_2) + ((y2 * t_1) + (j * ((b * y4) - (i * y5))))); elseif (b <= 6e+160) tmp = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)); elseif (b <= 1.15e+177) tmp = z * ((k * (b * y0)) - (a * (t * b))); else tmp = y * (b * ((x * a) - (k * y4))); 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[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -2.8e+64], N[(b * N[(N[(N[(a * t$95$3), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y0 * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -1e-124], N[(z * N[(N[(y3 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(k * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -3.2e-256], N[(c * N[(N[(N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 6.8e-255], N[(y5 * N[(y3 * N[(N[(j * y0), $MachinePrecision] - N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.1e-22], N[(i * N[(N[(y1 * t$95$4), $MachinePrecision] + N[(N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 5.5e+109], N[(t * N[(N[(z * t$95$2), $MachinePrecision] + N[(N[(y2 * t$95$1), $MachinePrecision] + N[(j * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 6e+160], N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.15e+177], N[(z * N[(N[(k * N[(b * y0), $MachinePrecision]), $MachinePrecision] - N[(a * N[(t * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(b * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $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 := a \cdot y5 - c \cdot y4\\
t_2 := c \cdot i - a \cdot b\\
t_3 := x \cdot y - z \cdot t\\
t_4 := x \cdot j - z \cdot k\\
\mathbf{if}\;b \leq -2.8 \cdot 10^{+64}:\\
\;\;\;\;b \cdot \left(\left(a \cdot t_3 + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) - y0 \cdot t_4\right)\\
\mathbf{elif}\;b \leq -1 \cdot 10^{-124}:\\
\;\;\;\;z \cdot \left(y3 \cdot \left(a \cdot y1 - c \cdot y0\right) + \left(k \cdot \left(b \cdot y0 - i \cdot y1\right) + t \cdot t_2\right)\right)\\
\mathbf{elif}\;b \leq -3.2 \cdot 10^{-256}:\\
\;\;\;\;c \cdot \left(\left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right) + y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right) - i \cdot t_3\right)\\
\mathbf{elif}\;b \leq 6.8 \cdot 10^{-255}:\\
\;\;\;\;y5 \cdot \left(y3 \cdot \left(j \cdot y0 - y \cdot a\right)\right)\\
\mathbf{elif}\;b \leq 4.1 \cdot 10^{-22}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_4 + \left(y5 \cdot \left(y \cdot k - t \cdot j\right) - c \cdot t_3\right)\right)\\
\mathbf{elif}\;b \leq 5.5 \cdot 10^{+109}:\\
\;\;\;\;t \cdot \left(z \cdot t_2 + \left(y2 \cdot t_1 + j \cdot \left(b \cdot y4 - i \cdot y5\right)\right)\right)\\
\mathbf{elif}\;b \leq 6 \cdot 10^{+160}:\\
\;\;\;\;y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot t_1\right)\\
\mathbf{elif}\;b \leq 1.15 \cdot 10^{+177}:\\
\;\;\;\;z \cdot \left(k \cdot \left(b \cdot y0\right) - a \cdot \left(t \cdot b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(b \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\end{array}
Herbie found 40 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Results
| Original | 29.7% |
|---|---|
| Target | 27.8% |
| Herbie | 40.1% |
if b < -2.80000000000000024e64Initial program 30.7%
Simplified30.7%
[Start]30.7% | \[ \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)
\] |
|---|---|
associate-+l- [=>]30.7% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in b around inf 64.7%
if -2.80000000000000024e64 < b < -9.99999999999999933e-125Initial program 33.4%
Simplified33.4%
[Start]33.4% | \[ \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)
\] |
|---|---|
associate-+l- [=>]33.4% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in z around -inf 53.3%
Simplified53.3%
[Start]53.3% | \[ -1 \cdot \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + t \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right) \cdot z\right)
\] |
|---|---|
mul-1-neg [=>]53.3% | \[ \color{blue}{-\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + t \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right) \cdot z}
\] |
associate--l+ [=>]53.3% | \[ -\color{blue}{\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + \left(t \cdot \left(a \cdot b - c \cdot i\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right)\right)} \cdot z
\] |
if -9.99999999999999933e-125 < b < -3.1999999999999999e-256Initial program 50.2%
Simplified50.2%
[Start]50.2% | \[ \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)
\] |
|---|---|
associate-+l- [=>]50.2% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in c around inf 57.1%
Simplified57.1%
[Start]57.1% | \[ c \cdot \left(\left(-1 \cdot \left(i \cdot \left(y \cdot x - t \cdot z\right)\right) + y0 \cdot \left(y2 \cdot x - y3 \cdot z\right)\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)
\] |
|---|---|
associate--l+ [=>]57.1% | \[ c \cdot \color{blue}{\left(-1 \cdot \left(i \cdot \left(y \cdot x - t \cdot z\right)\right) + \left(y0 \cdot \left(y2 \cdot x - y3 \cdot z\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\right)}
\] |
mul-1-neg [=>]57.1% | \[ c \cdot \left(\color{blue}{\left(-i \cdot \left(y \cdot x - t \cdot z\right)\right)} + \left(y0 \cdot \left(y2 \cdot x - y3 \cdot z\right) - y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)\right)
\] |
if -3.1999999999999999e-256 < b < 6.79999999999999967e-255Initial program 36.8%
Simplified47.4%
[Start]36.8% | \[ \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)
\] |
|---|---|
+-commutative [=>]36.8% | \[ \color{blue}{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \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)}
\] |
fma-def [=>]36.8% | \[ \color{blue}{\mathsf{fma}\left(k \cdot y2 - j \cdot y3, y4 \cdot y1 - y5 \cdot y0, \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)}
\] |
*-commutative [=>]36.8% | \[ \mathsf{fma}\left(k \cdot y2 - j \cdot y3, \color{blue}{y1 \cdot y4} - y5 \cdot y0, \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)
\] |
*-commutative [=>]36.8% | \[ \mathsf{fma}\left(k \cdot y2 - j \cdot y3, y1 \cdot y4 - \color{blue}{y0 \cdot y5}, \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)
\] |
Taylor expanded in y5 around -inf 32.2%
Taylor expanded in y3 around inf 64.4%
Simplified64.4%
[Start]64.4% | \[ -1 \cdot \left(\left(\left(y \cdot a + -1 \cdot \left(y0 \cdot j\right)\right) \cdot y3\right) \cdot y5\right)
\] |
|---|---|
*-commutative [=>]64.4% | \[ -1 \cdot \left(\color{blue}{\left(y3 \cdot \left(y \cdot a + -1 \cdot \left(y0 \cdot j\right)\right)\right)} \cdot y5\right)
\] |
*-commutative [<=]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \left(\color{blue}{a \cdot y} + -1 \cdot \left(y0 \cdot j\right)\right)\right) \cdot y5\right)
\] |
*-commutative [=>]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \left(\color{blue}{y \cdot a} + -1 \cdot \left(y0 \cdot j\right)\right)\right) \cdot y5\right)
\] |
mul-1-neg [=>]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \left(y \cdot a + \color{blue}{\left(-y0 \cdot j\right)}\right)\right) \cdot y5\right)
\] |
unsub-neg [=>]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \color{blue}{\left(y \cdot a - y0 \cdot j\right)}\right) \cdot y5\right)
\] |
*-commutative [<=]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \left(\color{blue}{a \cdot y} - y0 \cdot j\right)\right) \cdot y5\right)
\] |
*-commutative [=>]64.4% | \[ -1 \cdot \left(\left(y3 \cdot \left(a \cdot y - \color{blue}{j \cdot y0}\right)\right) \cdot y5\right)
\] |
if 6.79999999999999967e-255 < b < 4.0999999999999999e-22Initial program 34.1%
Simplified34.1%
[Start]34.1% | \[ \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)
\] |
|---|---|
associate-+l- [=>]34.1% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in i around -inf 64.0%
if 4.0999999999999999e-22 < b < 5.4999999999999998e109Initial program 15.3%
Simplified22.7%
[Start]15.3% | \[ \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)
\] |
|---|---|
+-commutative [=>]15.3% | \[ \color{blue}{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \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)}
\] |
fma-def [=>]19.0% | \[ \color{blue}{\mathsf{fma}\left(k \cdot y2 - j \cdot y3, y4 \cdot y1 - y5 \cdot y0, \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)}
\] |
Taylor expanded in t around inf 56.4%
Simplified56.4%
[Start]56.4% | \[ t \cdot \left(-1 \cdot \left(z \cdot \left(a \cdot b - c \cdot i\right)\right) + \left(\left(a \cdot y5 - c \cdot y4\right) \cdot y2 + j \cdot \left(y4 \cdot b + -1 \cdot \left(i \cdot y5\right)\right)\right)\right)
\] |
|---|---|
mul-1-neg [=>]56.4% | \[ t \cdot \left(\color{blue}{\left(-z \cdot \left(a \cdot b - c \cdot i\right)\right)} + \left(\left(a \cdot y5 - c \cdot y4\right) \cdot y2 + j \cdot \left(y4 \cdot b + -1 \cdot \left(i \cdot y5\right)\right)\right)\right)
\] |
mul-1-neg [=>]56.4% | \[ t \cdot \left(\left(-z \cdot \left(a \cdot b - c \cdot i\right)\right) + \left(\left(a \cdot y5 - c \cdot y4\right) \cdot y2 + j \cdot \left(y4 \cdot b + \color{blue}{\left(-i \cdot y5\right)}\right)\right)\right)
\] |
sub-neg [<=]56.4% | \[ t \cdot \left(\left(-z \cdot \left(a \cdot b - c \cdot i\right)\right) + \left(\left(a \cdot y5 - c \cdot y4\right) \cdot y2 + j \cdot \color{blue}{\left(y4 \cdot b - i \cdot y5\right)}\right)\right)
\] |
if 5.4999999999999998e109 < b < 5.9999999999999997e160Initial program 40.0%
Simplified40.0%
[Start]40.0% | \[ \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)
\] |
|---|---|
associate-+l- [=>]40.0% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in y2 around inf 90.1%
if 5.9999999999999997e160 < b < 1.15e177Initial program 0.0%
Simplified0.0%
[Start]0.0% | \[ \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)
\] |
|---|---|
associate-+l- [=>]0.0% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in z around -inf 66.7%
Simplified66.7%
[Start]66.7% | \[ -1 \cdot \left(\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + t \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right) \cdot z\right)
\] |
|---|---|
mul-1-neg [=>]66.7% | \[ \color{blue}{-\left(\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + t \cdot \left(a \cdot b - c \cdot i\right)\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right) \cdot z}
\] |
associate--l+ [=>]66.7% | \[ -\color{blue}{\left(\left(c \cdot y0 - a \cdot y1\right) \cdot y3 + \left(t \cdot \left(a \cdot b - c \cdot i\right) - \left(y0 \cdot b - y1 \cdot i\right) \cdot k\right)\right)} \cdot z
\] |
Taylor expanded in b around inf 67.6%
Taylor expanded in a around 0 83.3%
if 1.15e177 < b Initial program 8.0%
Simplified8.0%
[Start]8.0% | \[ \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)
\] |
|---|---|
associate-+l- [=>]8.0% | \[ \color{blue}{\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)}
\] |
Taylor expanded in b around inf 64.0%
Taylor expanded in y around 0 48.0%
Simplified72.0%
[Start]48.0% | \[ b \cdot \left(\left(y4 \cdot \left(t \cdot j\right) + -1 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot \left(y \cdot b\right)
\] |
|---|---|
*-commutative [=>]48.0% | \[ \color{blue}{\left(\left(y4 \cdot \left(t \cdot j\right) + -1 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) \cdot b} + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot \left(y \cdot b\right)
\] |
associate-*r* [=>]52.0% | \[ \left(\left(y4 \cdot \left(t \cdot j\right) + -1 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) \cdot b + \color{blue}{\left(\left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right) \cdot b}
\] |
distribute-rgt-out [=>]72.0% | \[ \color{blue}{b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) + -1 \cdot \left(a \cdot \left(t \cdot z\right)\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right)}
\] |
mul-1-neg [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) + \color{blue}{\left(-a \cdot \left(t \cdot z\right)\right)}\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right)
\] |
unsub-neg [=>]72.0% | \[ b \cdot \left(\left(\color{blue}{\left(y4 \cdot \left(t \cdot j\right) - a \cdot \left(t \cdot z\right)\right)} - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right)
\] |
*-commutative [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - \color{blue}{\left(t \cdot z\right) \cdot a}\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right)
\] |
associate-*l* [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - \color{blue}{t \cdot \left(z \cdot a\right)}\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right) \cdot y\right)
\] |
*-commutative [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - t \cdot \left(z \cdot a\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + \color{blue}{y \cdot \left(-1 \cdot \left(k \cdot y4\right) + a \cdot x\right)}\right)
\] |
+-commutative [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - t \cdot \left(z \cdot a\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + y \cdot \color{blue}{\left(a \cdot x + -1 \cdot \left(k \cdot y4\right)\right)}\right)
\] |
mul-1-neg [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - t \cdot \left(z \cdot a\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + y \cdot \left(a \cdot x + \color{blue}{\left(-k \cdot y4\right)}\right)\right)
\] |
unsub-neg [=>]72.0% | \[ b \cdot \left(\left(\left(y4 \cdot \left(t \cdot j\right) - t \cdot \left(z \cdot a\right)\right) - y0 \cdot \left(j \cdot x - k \cdot z\right)\right) + y \cdot \color{blue}{\left(a \cdot x - k \cdot y4\right)}\right)
\] |
Taylor expanded in y around inf 68.5%
Final simplification62.7%
| Alternative 1 | |
|---|---|
| Accuracy | 40.1% |
| Cost | 2908 |
| Alternative 2 | |
|---|---|
| Accuracy | 52.0% |
| Cost | 12228 |
| Alternative 3 | |
|---|---|
| Accuracy | 42.0% |
| Cost | 5196 |
| Alternative 4 | |
|---|---|
| Accuracy | 32.6% |
| Cost | 3188 |
| Alternative 5 | |
|---|---|
| Accuracy | 35.6% |
| Cost | 3172 |
| Alternative 6 | |
|---|---|
| Accuracy | 37.2% |
| Cost | 3172 |
| Alternative 7 | |
|---|---|
| Accuracy | 37.4% |
| Cost | 3172 |
| Alternative 8 | |
|---|---|
| Accuracy | 38.5% |
| Cost | 3172 |
| Alternative 9 | |
|---|---|
| Accuracy | 42.0% |
| Cost | 2904 |
| Alternative 10 | |
|---|---|
| Accuracy | 42.0% |
| Cost | 2904 |
| Alternative 11 | |
|---|---|
| Accuracy | 35.7% |
| Cost | 2792 |
| Alternative 12 | |
|---|---|
| Accuracy | 37.7% |
| Cost | 2776 |
| Alternative 13 | |
|---|---|
| Accuracy | 40.5% |
| Cost | 2776 |
| Alternative 14 | |
|---|---|
| Accuracy | 37.8% |
| Cost | 2644 |
| Alternative 15 | |
|---|---|
| Accuracy | 34.6% |
| Cost | 2268 |
| Alternative 16 | |
|---|---|
| Accuracy | 31.1% |
| Cost | 1892 |
| Alternative 17 | |
|---|---|
| Accuracy | 31.8% |
| Cost | 1760 |
| Alternative 18 | |
|---|---|
| Accuracy | 32.6% |
| Cost | 1760 |
| Alternative 19 | |
|---|---|
| Accuracy | 24.7% |
| Cost | 1628 |
| Alternative 20 | |
|---|---|
| Accuracy | 27.4% |
| Cost | 1628 |
| Alternative 21 | |
|---|---|
| Accuracy | 30.1% |
| Cost | 1628 |
| Alternative 22 | |
|---|---|
| Accuracy | 31.8% |
| Cost | 1628 |
| Alternative 23 | |
|---|---|
| Accuracy | 31.8% |
| Cost | 1628 |
| Alternative 24 | |
|---|---|
| Accuracy | 30.9% |
| Cost | 1364 |
| Alternative 25 | |
|---|---|
| Accuracy | 32.9% |
| Cost | 1232 |
| Alternative 26 | |
|---|---|
| Accuracy | 23.4% |
| Cost | 1172 |
| Alternative 27 | |
|---|---|
| Accuracy | 29.9% |
| Cost | 1100 |
| Alternative 28 | |
|---|---|
| Accuracy | 23.4% |
| Cost | 908 |
| Alternative 29 | |
|---|---|
| Accuracy | 23.1% |
| Cost | 908 |
| Alternative 30 | |
|---|---|
| Accuracy | 23.6% |
| Cost | 908 |
| Alternative 31 | |
|---|---|
| Accuracy | 23.6% |
| Cost | 908 |
| Alternative 32 | |
|---|---|
| Accuracy | 21.7% |
| Cost | 713 |
| Alternative 33 | |
|---|---|
| Accuracy | 21.7% |
| Cost | 713 |
| Alternative 34 | |
|---|---|
| Accuracy | 23.7% |
| Cost | 713 |
| Alternative 35 | |
|---|---|
| Accuracy | 23.8% |
| Cost | 713 |
| Alternative 36 | |
|---|---|
| Accuracy | 23.8% |
| Cost | 713 |
| Alternative 37 | |
|---|---|
| Accuracy | 22.2% |
| Cost | 712 |
| Alternative 38 | |
|---|---|
| Accuracy | 19.2% |
| Cost | 580 |
| Alternative 39 | |
|---|---|
| Accuracy | 16.7% |
| Cost | 448 |
| Alternative 40 | |
|---|---|
| Accuracy | 16.5% |
| Cost | 448 |
herbie shell --seed 2023243
(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)))))