\[\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)\]
Test:
Linear.Matrix:det44 from linear-1.19.1.3
Bits:
128 bits
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
Time: 2.4 m
Input Error: 26.0
Output Error: 26.0
Log:
Profile: 🕒
\((\left(b \cdot a - i \cdot c\right) * \left(y \cdot x - t \cdot z\right) + \left((\left(y1 \cdot y4 - y5 \cdot y0\right) * \left(y2 \cdot k - y3 \cdot j\right) + \left((\left(j \cdot t - k \cdot y\right) * \left(b \cdot y4 - y5 \cdot i\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right))_*\right))_*\right))_* + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)\)
  1. Started with
    \[\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)\]
    26.0
  2. Applied simplify to get
    \[\color{red}{\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)} \leadsto \color{blue}{(\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - (\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)}\]
    26.0
  3. Using strategy rm
    26.0
  4. Applied sub-neg to get
    \[(\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \color{red}{\left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - (\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)} \leadsto (\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \color{blue}{\left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)\right)}\]
    26.0
  5. Applied associate-+r+ to get
    \[\color{red}{(\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)\right)} \leadsto \color{blue}{\left((\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right)\right) + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)}\]
    26.0
  6. Applied simplify to get
    \[\color{red}{\left((\left(y4 \cdot y1 - y0 \cdot y5\right) * \left(y2 \cdot k - j \cdot y3\right) + \left((\left(j \cdot t - y \cdot k\right) * \left(y4 \cdot b - i \cdot y5\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - a \cdot y1\right)\right))_*\right))_* + \left(a \cdot b - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right)\right)} + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right) \leadsto \color{blue}{(\left(b \cdot a - i \cdot c\right) * \left(y \cdot x - t \cdot z\right) + \left((\left(y1 \cdot y4 - y5 \cdot y0\right) * \left(y2 \cdot k - y3 \cdot j\right) + \left((\left(j \cdot t - k \cdot y\right) * \left(b \cdot y4 - y5 \cdot i\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right))_*\right))_*\right))_*} + \left(-(\left(j \cdot x - k \cdot z\right) * \left(y0 \cdot b - y1 \cdot i\right) + \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right))_*\right)\]
    26.0

  7. Removed slow pow expressions

Original test:


(lambda ((x default) (y default) (z default) (t default) (a default) (b default) (c default) (i default) (j default) (k default) (y0 default) (y1 default) (y2 default) (y3 default) (y4 default) (y5 default))
  #:name "Linear.Matrix:det44 from linear-1.19.1.3"
  (+ (- (+ (+ (- (* (- (* 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)))))