\[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
Test:
Linear.Matrix:det33 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
Time: 22.9 s
Input Error: 5.4
Output Error: 5.4
Log:
Profile: 🕒
\((\left(t \cdot c - i \cdot y\right) * j + \left(x \cdot \left(y \cdot z\right) + x \cdot \left(-a \cdot t\right)\right))_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_*\)
  1. Started with
    \[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    5.4
  2. Applied simplify to get
    \[\color{red}{\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)} \leadsto \color{blue}{(\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - b \cdot \left(c \cdot z - i \cdot a\right)}\]
    5.4
  3. Using strategy rm
    5.4
  4. Applied sub-neg to get
    \[(\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - b \cdot \color{red}{\left(c \cdot z - i \cdot a\right)} \leadsto (\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - b \cdot \color{blue}{\left(c \cdot z + \left(-i \cdot a\right)\right)}\]
    5.4
  5. Applied distribute-lft-in to get
    \[(\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - \color{red}{b \cdot \left(c \cdot z + \left(-i \cdot a\right)\right)} \leadsto (\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - \color{blue}{\left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)}\]
    5.4
  6. Applied taylor to get
    \[(\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right) \leadsto (\left(c \cdot t - y \cdot i\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)\]
    5.4
  7. Taylor expanded around 0 to get
    \[\color{red}{(\left(c \cdot t - y \cdot i\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_*} - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right) \leadsto \color{blue}{(\left(c \cdot t - y \cdot i\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_*} - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)\]
    5.4
  8. Applied simplify to get
    \[\color{red}{(\left(c \cdot t - y \cdot i\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - \left(b \cdot \left(c \cdot z\right) + b \cdot \left(-i \cdot a\right)\right)} \leadsto \color{blue}{(\left(t \cdot c - i \cdot y\right) * j + \left(x \cdot \left(y \cdot z - a \cdot t\right)\right))_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_*}\]
    5.4
  9. Using strategy rm
    5.4
  10. Applied sub-neg to get
    \[(\left(t \cdot c - i \cdot y\right) * j + \left(x \cdot \color{red}{\left(y \cdot z - a \cdot t\right)}\right))_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_* \leadsto (\left(t \cdot c - i \cdot y\right) * j + \left(x \cdot \color{blue}{\left(y \cdot z + \left(-a \cdot t\right)\right)}\right))_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_*\]
    5.4
  11. Applied distribute-lft-in to get
    \[(\left(t \cdot c - i \cdot y\right) * j + \color{red}{\left(x \cdot \left(y \cdot z + \left(-a \cdot t\right)\right)\right)})_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_* \leadsto (\left(t \cdot c - i \cdot y\right) * j + \color{blue}{\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-a \cdot t\right)\right)})_* - b \cdot (\left(-i\right) * a + \left(c \cdot z\right))_*\]
    5.4

  12. 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))
  #:name "Linear.Matrix:det33 from linear-1.19.1.3"
  (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))