Average Error: 26.0 → 27.4
Time: 3.0m
Precision: 64
Internal Precision: 128
\[\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} \mathbf{if}\;b \le -6.123631437526643 \cdot 10^{-161}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(b \cdot a - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(\left(\sqrt[3]{b \cdot y4 - i \cdot y5} \cdot \sqrt[3]{b \cdot y4 - i \cdot y5}\right) \cdot \left(j \cdot t - y \cdot k\right)\right) \cdot \sqrt[3]{b \cdot y4 - i \cdot y5}\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{elif}\;b \le 5.916297913441959 \cdot 10^{+85}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left((t \cdot \left(\left(i \cdot c - b \cdot a\right) \cdot z\right) + \left(y \cdot \left(\left(c \cdot x\right) \cdot \left(-i\right)\right)\right))_* - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right) + \left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(b \cdot a - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\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

Derivation

  1. Split input into 3 regimes
  2. if b < -6.123631437526643e-161

    1. Initial program 26.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)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt26.4

      \[\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) + \left(t \cdot j - y \cdot k\right) \cdot \color{blue}{\left(\left(\sqrt[3]{y4 \cdot b - y5 \cdot i} \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\right) \cdot \sqrt[3]{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)\]
    4. Applied associate-*r*26.4

      \[\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}{\left(\left(t \cdot j - y \cdot k\right) \cdot \left(\sqrt[3]{y4 \cdot b - y5 \cdot i} \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}\right)\right) \cdot \sqrt[3]{y4 \cdot b - y5 \cdot i}}\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)\]

    if -6.123631437526643e-161 < b < 5.916297913441959e+85

    1. Initial program 25.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)\]
    2. Taylor expanded around -inf 26.8

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(a \cdot \left(t \cdot \left(b \cdot z\right)\right) + i \cdot \left(x \cdot \left(c \cdot y\right)\right)\right)\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)\]
    3. Simplified26.6

      \[\leadsto \left(\left(\left(\left(\color{blue}{(t \cdot \left(z \cdot \left(c \cdot i - a \cdot b\right)\right) + \left(\left(\left(x \cdot c\right) \cdot i\right) \cdot \left(-y\right)\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)\]

    if 5.916297913441959e+85 < b

    1. Initial program 29.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)\]
    2. Taylor expanded around 0 34.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}{0}\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 simplification27.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -6.123631437526643 \cdot 10^{-161}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(b \cdot a - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(\left(\sqrt[3]{b \cdot y4 - i \cdot y5} \cdot \sqrt[3]{b \cdot y4 - i \cdot y5}\right) \cdot \left(j \cdot t - y \cdot k\right)\right) \cdot \sqrt[3]{b \cdot y4 - i \cdot y5}\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{elif}\;b \le 5.916297913441959 \cdot 10^{+85}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(\left((t \cdot \left(\left(i \cdot c - b \cdot a\right) \cdot z\right) + \left(y \cdot \left(\left(c \cdot x\right) \cdot \left(-i\right)\right)\right))_* - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right) + \left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + \left(j \cdot t - y \cdot k\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right) + \left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(x \cdot y2 - z \cdot y3\right) + \left(\left(x \cdot y - t \cdot z\right) \cdot \left(b \cdot a - i \cdot c\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2018362 +o rules:numerics
(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"
  (+ (- (+ (+ (- (* (- (* 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)))))

Details

Time bar (total: 2.0m)Debug log

start3.5s

Algorithm
intervals

setup496.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 23.0b

localize218.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
8.6b
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))
8.5b
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
7.2b
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))

rewrite45.0ms

Algorithm
rewrite-expression-head
Counts
4 → 132
Calls

4 calls. Slowest were:

14.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
9.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
9.0ms
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))

series709.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

207.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
179.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
177.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
146.0ms
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))

simplify15.3s

Counts
116 → 144
Calls

116 calls. Slowest were:

653.0ms
(* (- (* (* x y) (* x y)) (* (* z t) (* z t))) (- (* (* a b) (* a b)) (* (* c i) (* c i))))
641.0ms
(* (- (* (* t j) (* t j)) (* (* y k) (* y k))) (- (* (* y4 b) (* y4 b)) (* (* y5 i) (* y5 i))))
510.0ms
(* (- (* (* k y2) (* k y2)) (* (* j y3) (* j y3))) (- (* (* y4 y1) (* y4 y1)) (* (* y5 y0) (* y5 y0))))

prune7.3s

Pruning

20 alts after pruning (20 fresh and 0 done)

Merged error: 17.2b

localize33.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
8.5b
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
7.2b
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
6.9b
(cbrt (- (* y4 b) (* y5 i)))

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
4 → 114
Calls

4 calls. Slowest were:

9.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
9.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
9.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))

series509.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

152.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
131.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
122.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
105.0ms
(cbrt (- (* y4 b) (* y5 i)))

simplify13.2s

Counts
95 → 126
Calls

95 calls. Slowest were:

783.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
628.0ms
(* (- (* (* k y2) (* k y2)) (* (* j y3) (* j y3))) (- (* (* y4 y1) (* y4 y1)) (* (* y5 y0) (* y5 y0))))
599.0ms
(* (- (* (* x y) (* x y)) (* (* z t) (* z t))) (- (* (* a b) (* a b)) (* (* c i) (* c i))))

prune8.6s

Pruning

20 alts after pruning (19 fresh and 1 done)

Merged error: 17.2b

localize31.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
8.5b
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
7.2b
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
6.7b
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))

rewrite79.0ms

Algorithm
rewrite-expression-head
Counts
4 → 132
Calls

4 calls. Slowest were:

22.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
19.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
18.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))

series708.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

207.0ms
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))
192.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
162.0ms
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))
146.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))

simplify16.8s

Counts
116 → 144
Calls

116 calls. Slowest were:

610.0ms
(* (- (* y5 y0)) (- (* k y2) (* j y3)))
602.0ms
(* (- (* (* k y2) (* k y2)) (* (* j y3) (* j y3))) (- (* (* y4 y1) (* y4 y1)) (* (* y5 y0) (* y5 y0))))
602.0ms
(* (- (* (* x y) (* x y)) (* (* z t) (* z t))) (- (* (* a b) (* a b)) (* (* c i) (* c i))))

prune11.3s

Pruning

24 alts after pruning (23 fresh and 1 done)

Merged error: 15.7b

localize39.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
8.6b
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))
7.2b
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
6.7b
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))

rewrite38.0ms

Algorithm
rewrite-expression-head
Counts
4 → 132
Calls

4 calls. Slowest were:

9.0ms
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))
9.0ms
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))
9.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))

series640.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

195.0ms
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))
153.0ms
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))
149.0ms
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
143.0ms
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))

simplify15.9s

Counts
116 → 144
Calls

116 calls. Slowest were:

645.0ms
(* (- (* (* x y) (* x y)) (* (* z t) (* z t))) (- (* (* a b) (* a b)) (* (* c i) (* c i))))
627.0ms
(* (- (* (* t y2) (* t y2)) (* (* y y3) (* y y3))) (- (* (* y4 c) (* y4 c)) (* (* y5 a) (* y5 a))))
623.0ms
(* (- (* (* t j) (* t j)) (* (* y k) (* y k))) (- (* (* y4 b) (* y4 b)) (* (* y5 i) (* y5 i))))

prune8.0s

Pruning

25 alts after pruning (24 fresh and 1 done)

Merged error: 15.7b

regimes10.2s

Accuracy

-16.2% (9.1b remaining)

Error of 27.4b against oracle of 18.2b and baseline of 26.1b

bsearch7.8s