\[\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: 40.4 s
Input Error: 5.6
Output Error: 5.7
Log:
Profile: 🕒
\(\begin{cases} (x * \left(z \cdot y - t \cdot a\right) + \left(\left(c \cdot j\right) \cdot t\right))_* - (\left(c \cdot z - i \cdot a\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_* & \text{when } x \le -8.268067f-12 \\ (\left(c \cdot t - i \cdot y\right) * j + \left(\left(y \cdot z - t \cdot a\right) \cdot x\right))_* - {\left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right)}^3 & \text{when } x \le 1.1683758f-13 \\ (x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_* & \text{otherwise} \end{cases}\)

    if x < -8.268067f-12

    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)\]
      3.8
    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)}\]
      3.8
    3. Using strategy rm
      3.8
    4. Applied fma-udef to get
      \[\color{red}{(\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) \leadsto \color{blue}{\left(\left(c \cdot t - i \cdot y\right) \cdot j + \left(y \cdot z - t \cdot a\right) \cdot x\right)} - b \cdot \left(c \cdot z - i \cdot a\right)\]
      3.8
    5. Applied taylor to get
      \[\left(\left(c \cdot t - i \cdot y\right) \cdot j + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right) \leadsto \left(\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right) + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)\]
      3.8
    6. Taylor expanded around inf to get
      \[\left(\color{red}{\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right)} + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right) \leadsto \left(\color{blue}{\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right)} + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)\]
      3.8
    7. Applied simplify to get
      \[\color{red}{\left(\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right) + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)} \leadsto \color{blue}{(x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_*}\]
      4.2
    8. Applied taylor to get
      \[(x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_* \leadsto (x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(y \cdot \left(j \cdot i\right)\right))_*\]
      4.2
    9. Taylor expanded around inf to get
      \[(x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \color{red}{\left(y \cdot \left(j \cdot i\right)\right)})_* \leadsto (x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \color{blue}{\left(y \cdot \left(j \cdot i\right)\right)})_*\]
      4.2
    10. Applied simplify to get
      \[(x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(y \cdot \left(j \cdot i\right)\right))_* \leadsto (x * \left(z \cdot y - t \cdot a\right) + \left(\left(c \cdot j\right) \cdot t\right))_* - (\left(c \cdot z - i \cdot a\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_*\]
      4.1

    11. Applied final simplification

    if -8.268067f-12 < x < 1.1683758f-13

    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)\]
      7.6
    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)}\]
      7.6
    3. Using strategy rm
      7.6
    4. Applied add-cube-cbrt 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 - 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))_* - \color{blue}{{\left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right)}^3}\]
      7.7

    if 1.1683758f-13 < x

    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)\]
      4.3
    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)}\]
      4.3
    3. Using strategy rm
      4.3
    4. Applied fma-udef to get
      \[\color{red}{(\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) \leadsto \color{blue}{\left(\left(c \cdot t - i \cdot y\right) \cdot j + \left(y \cdot z - t \cdot a\right) \cdot x\right)} - b \cdot \left(c \cdot z - i \cdot a\right)\]
      4.3
    5. Applied taylor to get
      \[\left(\left(c \cdot t - i \cdot y\right) \cdot j + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right) \leadsto \left(\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right) + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)\]
      4.3
    6. Taylor expanded around inf to get
      \[\left(\color{red}{\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right)} + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right) \leadsto \left(\color{blue}{\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right)} + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)\]
      4.3
    7. Applied simplify to get
      \[\color{red}{\left(\left(j \cdot \left(c \cdot t\right) - j \cdot \left(y \cdot i\right)\right) + \left(y \cdot z - t \cdot a\right) \cdot x\right) - b \cdot \left(c \cdot z - i \cdot a\right)} \leadsto \color{blue}{(x * \left(z \cdot y - t \cdot a\right) + \left(c \cdot \left(t \cdot j\right)\right))_* - (\left(z \cdot c - a \cdot i\right) * b + \left(\left(j \cdot i\right) \cdot y\right))_*}\]
      4.3

  1. 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)))))