Average Error: 27.0 → 25.1
Time: 46.9s
Precision: binary64
\[\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 := k \cdot y2 - j \cdot y3\\ t_2 := a \cdot y5 - c \cdot y4\\ t_3 := x \cdot y - z \cdot t\\ t_4 := y1 \cdot y4 - y0 \cdot y5\\ t_5 := t_1 \cdot t_4\\ t_6 := x \cdot j - z \cdot k\\ t_7 := t_6 \cdot \left(b \cdot y0 - i \cdot y1\right) + t_3 \cdot \left(c \cdot i - a \cdot b\right)\\ t_8 := x \cdot y2 - z \cdot y3\\ t_9 := t \cdot y2 - y \cdot y3\\ t_10 := t_9 \cdot t_2\\ t_11 := t \cdot j - y \cdot k\\ t_12 := y4 \cdot \left(b \cdot t_11\right)\\ t_13 := \left(t_10 - \left(t_11 \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(t_7 + t_8 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\right)\right) + t_5\\ t_14 := c \cdot y0 - a \cdot y1\\ t_15 := t_8 \cdot t_14\\ t_16 := t_6 \cdot \left(i \cdot y1 - b \cdot y0\right)\\ \mathbf{if}\;t_13 \leq -\infty:\\ \;\;\;\;t_5 + \left(\left(\left(t_15 - t_7\right) + t_12\right) + c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\right)\\ \mathbf{elif}\;t_13 \leq 2 \cdot 10^{+304}:\\ \;\;\;\;\mathsf{fma}\left(t_1, t_4, \mathsf{fma}\left(t_9, t_2, \mathsf{fma}\left(t_8, t_14, \mathsf{fma}\left(t_11, b \cdot y4 - i \cdot y5, \mathsf{fma}\left(t_3, a \cdot b - c \cdot i, t_16\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t_5 + \left(\left(t_12 + \left(\left(a \cdot \left(t_3 \cdot b\right) + t_16\right) + {\left(\sqrt[3]{t_15}\right)}^{3}\right)\right) + t_10\right)\\ \end{array} \]
(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 (- (* k y2) (* j y3)))
        (t_2 (- (* a y5) (* c y4)))
        (t_3 (- (* x y) (* z t)))
        (t_4 (- (* y1 y4) (* y0 y5)))
        (t_5 (* t_1 t_4))
        (t_6 (- (* x j) (* z k)))
        (t_7 (+ (* t_6 (- (* b y0) (* i y1))) (* t_3 (- (* c i) (* a b)))))
        (t_8 (- (* x y2) (* z y3)))
        (t_9 (- (* t y2) (* y y3)))
        (t_10 (* t_9 t_2))
        (t_11 (- (* t j) (* y k)))
        (t_12 (* y4 (* b t_11)))
        (t_13
         (+
          (-
           t_10
           (+
            (* t_11 (- (* i y5) (* b y4)))
            (+ t_7 (* t_8 (- (* a y1) (* c y0))))))
          t_5))
        (t_14 (- (* c y0) (* a y1)))
        (t_15 (* t_8 t_14))
        (t_16 (* t_6 (- (* i y1) (* b y0)))))
   (if (<= t_13 (- INFINITY))
     (+ t_5 (+ (+ (- t_15 t_7) t_12) (* c (* y4 (- (* y y3) (* t y2))))))
     (if (<= t_13 2e+304)
       (fma
        t_1
        t_4
        (fma
         t_9
         t_2
         (fma
          t_8
          t_14
          (fma
           t_11
           (- (* b y4) (* i y5))
           (fma t_3 (- (* a b) (* c i)) t_16)))))
       (+
        t_5
        (+
         (+ t_12 (+ (+ (* a (* t_3 b)) t_16) (pow (cbrt t_15) 3.0)))
         t_10))))))
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 = (k * y2) - (j * y3);
	double t_2 = (a * y5) - (c * y4);
	double t_3 = (x * y) - (z * t);
	double t_4 = (y1 * y4) - (y0 * y5);
	double t_5 = t_1 * t_4;
	double t_6 = (x * j) - (z * k);
	double t_7 = (t_6 * ((b * y0) - (i * y1))) + (t_3 * ((c * i) - (a * b)));
	double t_8 = (x * y2) - (z * y3);
	double t_9 = (t * y2) - (y * y3);
	double t_10 = t_9 * t_2;
	double t_11 = (t * j) - (y * k);
	double t_12 = y4 * (b * t_11);
	double t_13 = (t_10 - ((t_11 * ((i * y5) - (b * y4))) + (t_7 + (t_8 * ((a * y1) - (c * y0)))))) + t_5;
	double t_14 = (c * y0) - (a * y1);
	double t_15 = t_8 * t_14;
	double t_16 = t_6 * ((i * y1) - (b * y0));
	double tmp;
	if (t_13 <= -((double) INFINITY)) {
		tmp = t_5 + (((t_15 - t_7) + t_12) + (c * (y4 * ((y * y3) - (t * y2)))));
	} else if (t_13 <= 2e+304) {
		tmp = fma(t_1, t_4, fma(t_9, t_2, fma(t_8, t_14, fma(t_11, ((b * y4) - (i * y5)), fma(t_3, ((a * b) - (c * i)), t_16)))));
	} else {
		tmp = t_5 + ((t_12 + (((a * (t_3 * b)) + t_16) + pow(cbrt(t_15), 3.0))) + t_10);
	}
	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(k * y2) - Float64(j * y3))
	t_2 = Float64(Float64(a * y5) - Float64(c * y4))
	t_3 = Float64(Float64(x * y) - Float64(z * t))
	t_4 = Float64(Float64(y1 * y4) - Float64(y0 * y5))
	t_5 = Float64(t_1 * t_4)
	t_6 = Float64(Float64(x * j) - Float64(z * k))
	t_7 = Float64(Float64(t_6 * Float64(Float64(b * y0) - Float64(i * y1))) + Float64(t_3 * Float64(Float64(c * i) - Float64(a * b))))
	t_8 = Float64(Float64(x * y2) - Float64(z * y3))
	t_9 = Float64(Float64(t * y2) - Float64(y * y3))
	t_10 = Float64(t_9 * t_2)
	t_11 = Float64(Float64(t * j) - Float64(y * k))
	t_12 = Float64(y4 * Float64(b * t_11))
	t_13 = Float64(Float64(t_10 - Float64(Float64(t_11 * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(t_7 + Float64(t_8 * Float64(Float64(a * y1) - Float64(c * y0)))))) + t_5)
	t_14 = Float64(Float64(c * y0) - Float64(a * y1))
	t_15 = Float64(t_8 * t_14)
	t_16 = Float64(t_6 * Float64(Float64(i * y1) - Float64(b * y0)))
	tmp = 0.0
	if (t_13 <= Float64(-Inf))
		tmp = Float64(t_5 + Float64(Float64(Float64(t_15 - t_7) + t_12) + Float64(c * Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2))))));
	elseif (t_13 <= 2e+304)
		tmp = fma(t_1, t_4, fma(t_9, t_2, fma(t_8, t_14, fma(t_11, Float64(Float64(b * y4) - Float64(i * y5)), fma(t_3, Float64(Float64(a * b) - Float64(c * i)), t_16)))));
	else
		tmp = Float64(t_5 + Float64(Float64(t_12 + Float64(Float64(Float64(a * Float64(t_3 * b)) + t_16) + (cbrt(t_15) ^ 3.0))) + t_10));
	end
	return 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[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(t$95$1 * t$95$4), $MachinePrecision]}, Block[{t$95$6 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(t$95$6 * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$3 * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(t$95$9 * t$95$2), $MachinePrecision]}, Block[{t$95$11 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$12 = N[(y4 * N[(b * t$95$11), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$13 = N[(N[(t$95$10 - N[(N[(t$95$11 * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$7 + N[(t$95$8 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$5), $MachinePrecision]}, Block[{t$95$14 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$15 = N[(t$95$8 * t$95$14), $MachinePrecision]}, Block[{t$95$16 = N[(t$95$6 * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$13, (-Infinity)], N[(t$95$5 + N[(N[(N[(t$95$15 - t$95$7), $MachinePrecision] + t$95$12), $MachinePrecision] + N[(c * N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$13, 2e+304], N[(t$95$1 * t$95$4 + N[(t$95$9 * t$95$2 + N[(t$95$8 * t$95$14 + N[(t$95$11 * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] + N[(t$95$3 * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision] + t$95$16), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$5 + N[(N[(t$95$12 + N[(N[(N[(a * N[(t$95$3 * b), $MachinePrecision]), $MachinePrecision] + t$95$16), $MachinePrecision] + N[Power[N[Power[t$95$15, 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$10), $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 := k \cdot y2 - j \cdot y3\\
t_2 := a \cdot y5 - c \cdot y4\\
t_3 := x \cdot y - z \cdot t\\
t_4 := y1 \cdot y4 - y0 \cdot y5\\
t_5 := t_1 \cdot t_4\\
t_6 := x \cdot j - z \cdot k\\
t_7 := t_6 \cdot \left(b \cdot y0 - i \cdot y1\right) + t_3 \cdot \left(c \cdot i - a \cdot b\right)\\
t_8 := x \cdot y2 - z \cdot y3\\
t_9 := t \cdot y2 - y \cdot y3\\
t_10 := t_9 \cdot t_2\\
t_11 := t \cdot j - y \cdot k\\
t_12 := y4 \cdot \left(b \cdot t_11\right)\\
t_13 := \left(t_10 - \left(t_11 \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(t_7 + t_8 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\right)\right) + t_5\\
t_14 := c \cdot y0 - a \cdot y1\\
t_15 := t_8 \cdot t_14\\
t_16 := t_6 \cdot \left(i \cdot y1 - b \cdot y0\right)\\
\mathbf{if}\;t_13 \leq -\infty:\\
\;\;\;\;t_5 + \left(\left(\left(t_15 - t_7\right) + t_12\right) + c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\right)\\

\mathbf{elif}\;t_13 \leq 2 \cdot 10^{+304}:\\
\;\;\;\;\mathsf{fma}\left(t_1, t_4, \mathsf{fma}\left(t_9, t_2, \mathsf{fma}\left(t_8, t_14, \mathsf{fma}\left(t_11, b \cdot y4 - i \cdot y5, \mathsf{fma}\left(t_3, a \cdot b - c \cdot i, t_16\right)\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;t_5 + \left(\left(t_12 + \left(\left(a \cdot \left(t_3 \cdot b\right) + t_16\right) + {\left(\sqrt[3]{t_15}\right)}^{3}\right)\right) + t_10\right)\\


\end{array}

Error

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

Target

Original27.0
Target30.9
Herbie25.1
\[\begin{array}{l} \mathbf{if}\;y4 < -7.206256231996481 \cdot 10^{+60}:\\ \;\;\;\;\left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right)\right) - \left(\frac{y2 \cdot t - y3 \cdot y}{\frac{1}{y4 \cdot c - y5 \cdot a}} - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\\ \mathbf{elif}\;y4 < -3.364603505246317 \cdot 10^{-66}:\\ \;\;\;\;\left(\left(\left(\left(t \cdot c\right) \cdot \left(i \cdot z\right) - \left(a \cdot t\right) \cdot \left(b \cdot z\right)\right) - \left(y \cdot c\right) \cdot \left(i \cdot x\right)\right) - \left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(\left(y0 \cdot c - a \cdot y1\right) \cdot \left(x \cdot y2 - z \cdot y3\right) - \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right) - \left(y1 \cdot y4 - y5 \cdot y0\right) \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\right)\\ \mathbf{elif}\;y4 < -1.2000065055686116 \cdot 10^{-105}:\\ \;\;\;\;\left(\left(\left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(\left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right) - \left(y \cdot x - z \cdot t\right) \cdot \left(b \cdot a - i \cdot c\right)\right)\right)\\ \mathbf{elif}\;y4 < 6.718963124057495 \cdot 10^{-279}:\\ \;\;\;\;\left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(\left(y2 \cdot t - y3 \cdot y\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right)\\ \mathbf{elif}\;y4 < 4.77962681403792 \cdot 10^{-222}:\\ \;\;\;\;\left(\left(\left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(\left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right) - \left(y \cdot x - z \cdot t\right) \cdot \left(b \cdot a - i \cdot c\right)\right)\right)\\ \mathbf{elif}\;y4 < 2.2852241541266835 \cdot 10^{-175}:\\ \;\;\;\;\left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(\left(y2 \cdot t - y3 \cdot y\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\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(j \cdot \left(i \cdot \left(x \cdot y1\right)\right) + y0 \cdot \left(k \cdot \left(z \cdot b\right)\right)\right)\right)\right) + \left(z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right) - \left(y2 \cdot \left(x \cdot \left(a \cdot y1\right)\right) + y0 \cdot \left(z \cdot \left(c \cdot y3\right)\right)\right)\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} \]

Derivation

  1. Split input into 3 regimes
  2. if (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) < -inf.0

    1. Initial program 64.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) \]
    2. Taylor expanded in y4 around inf 61.0

      \[\leadsto \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) + \color{blue}{y4 \cdot \left(\left(t \cdot j - k \cdot y\right) \cdot b\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) \]
    3. Taylor expanded in y4 around inf 58.3

      \[\leadsto \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) + y4 \cdot \left(\left(t \cdot j - k \cdot y\right) \cdot b\right)\right) - \color{blue}{c \cdot \left(y4 \cdot \left(t \cdot y2 - y \cdot y3\right)\right)}\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) \]

    if -inf.0 < (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) < 1.9999999999999999e304

    1. Initial program 0.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) \]
    2. Simplified0.8

      \[\leadsto \color{blue}{\mathsf{fma}\left(k \cdot y2 - j \cdot y3, y1 \cdot y4 - y0 \cdot y5, \mathsf{fma}\left(t \cdot y2 - y \cdot y3, a \cdot y5 - c \cdot y4, \mathsf{fma}\left(x \cdot y2 - z \cdot y3, c \cdot y0 - a \cdot y1, \mathsf{fma}\left(t \cdot j - y \cdot k, b \cdot y4 - i \cdot y5, \mathsf{fma}\left(x \cdot y - z \cdot t, a \cdot b - c \cdot i, \left(x \cdot j - z \cdot k\right) \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\right)\right)\right)\right)} \]

    if 1.9999999999999999e304 < (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))

    1. Initial program 63.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) \]
    2. Taylor expanded in y4 around inf 60.7

      \[\leadsto \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) + \color{blue}{y4 \cdot \left(\left(t \cdot j - k \cdot y\right) \cdot b\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) \]
    3. Applied egg-rr60.7

      \[\leadsto \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) + \color{blue}{{\left(\sqrt[3]{\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)}\right)}^{3}}\right) + y4 \cdot \left(\left(t \cdot j - k \cdot y\right) \cdot b\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) \]
    4. Taylor expanded in a around inf 59.0

      \[\leadsto \left(\left(\left(\left(\color{blue}{a \cdot \left(\left(y \cdot x - t \cdot z\right) \cdot b\right)} - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + {\left(\sqrt[3]{\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)}\right)}^{3}\right) + y4 \cdot \left(\left(t \cdot j - k \cdot y\right) \cdot b\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) \]
  3. Recombined 3 regimes into one program.
  4. Final simplification25.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right) - \left(\left(t \cdot j - y \cdot k\right) \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(\left(\left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(x \cdot y - z \cdot t\right) \cdot \left(c \cdot i - a \cdot b\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) \leq -\infty:\\ \;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + \left(\left(\left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(x \cdot y - z \cdot t\right) \cdot \left(c \cdot i - a \cdot b\right)\right)\right) + y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right)\right) + c \cdot \left(y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\right)\\ \mathbf{elif}\;\left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right) - \left(\left(t \cdot j - y \cdot k\right) \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(\left(\left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(x \cdot y - z \cdot t\right) \cdot \left(c \cdot i - a \cdot b\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) \leq 2 \cdot 10^{+304}:\\ \;\;\;\;\mathsf{fma}\left(k \cdot y2 - j \cdot y3, y1 \cdot y4 - y0 \cdot y5, \mathsf{fma}\left(t \cdot y2 - y \cdot y3, a \cdot y5 - c \cdot y4, \mathsf{fma}\left(x \cdot y2 - z \cdot y3, c \cdot y0 - a \cdot y1, \mathsf{fma}\left(t \cdot j - y \cdot k, b \cdot y4 - i \cdot y5, \mathsf{fma}\left(x \cdot y - z \cdot t, a \cdot b - c \cdot i, \left(x \cdot j - z \cdot k\right) \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) + \left(\left(y4 \cdot \left(b \cdot \left(t \cdot j - y \cdot k\right)\right) + \left(\left(a \cdot \left(\left(x \cdot y - z \cdot t\right) \cdot b\right) + \left(x \cdot j - z \cdot k\right) \cdot \left(i \cdot y1 - b \cdot y0\right)\right) + {\left(\sqrt[3]{\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right)}\right)}^{3}\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\ \end{array} \]

Reproduce

herbie shell --seed 2022162 
(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)))))