Average Error: 11.9 → 12.2
Time: 32.2s
Precision: 64
Internal Precision: 128
\[\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)\]
\[\left(t \cdot c - i \cdot y\right) \cdot j + \left(\sqrt[3]{\left(\sqrt[3]{z \cdot y - t \cdot a} \cdot \sqrt[3]{z \cdot y - t \cdot a}\right) \cdot \sqrt[3]{z \cdot y - t \cdot a}} \cdot \left(\left(\sqrt[3]{z \cdot y - t \cdot a} \cdot \sqrt[3]{z \cdot y - t \cdot a}\right) \cdot x\right) - b \cdot \left(c \cdot z - a \cdot i\right)\right)\]

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 11.9

    \[\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)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt12.1

    \[\leadsto \left(x \cdot \color{blue}{\left(\left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right) \cdot \sqrt[3]{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. Applied associate-*r*12.1

    \[\leadsto \left(\color{blue}{\left(x \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right) \cdot \sqrt[3]{y \cdot z - t \cdot a}} - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
  5. Using strategy rm
  6. Applied add-cbrt-cube12.2

    \[\leadsto \left(\left(x \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right) \cdot \color{blue}{\sqrt[3]{\left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right) \cdot \sqrt[3]{y \cdot z - t \cdot a}}} - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
  7. Final simplification12.2

    \[\leadsto \left(t \cdot c - i \cdot y\right) \cdot j + \left(\sqrt[3]{\left(\sqrt[3]{z \cdot y - t \cdot a} \cdot \sqrt[3]{z \cdot y - t \cdot a}\right) \cdot \sqrt[3]{z \cdot y - t \cdot a}} \cdot \left(\left(\sqrt[3]{z \cdot y - t \cdot a} \cdot \sqrt[3]{z \cdot y - t \cdot a}\right) \cdot x\right) - b \cdot \left(c \cdot z - a \cdot i\right)\right)\]

Reproduce

herbie shell --seed 2019016 
(FPCore (x y z t a b c i j)
  :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)))))

Details

Time bar (total: 27.9s)Debug log

sample200.0ms

Algorithm
intervals
Results
642×(pre true 80)
642×(body real 80)

simplify111.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
111.0ms
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y))))

prune17.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.4b

localize45.0ms

Local error

Found 4 expressions with local error:

7.4b
(* x (- (* y z) (* t a)))
5.9b
(* j (- (* c t) (* i y)))
5.6b
(* b (- (* c z) (* i a)))
0.5b
(- (* y z) (* t a))

rewrite14.0ms

Algorithm
rewrite-expression-head
Rules
associate-*r*
add-cube-cbrt
*-un-lft-identity
sub-neg
add-sqr-sqrt
add-log-exp
associate-*r/
distribute-lft-in
distribute-rgt-in
flip--
add-exp-log
add-cbrt-cube
flip3--
pow1
*-commutative
diff-log
Counts
4 → 63
Calls
4 calls:
Slowest
4.0ms
(* x (- (* y z) (* t a)))
4.0ms
(* j (- (* c t) (* i y)))
4.0ms
(* b (- (* c z) (* i a)))
2.0ms
(- (* y z) (* t a))

series176.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
54.0ms
(* j (- (* c t) (* i y)))
50.0ms
(* x (- (* y z) (* t a)))
47.0ms
(* b (- (* c z) (* i a)))
25.0ms
(- (* y z) (* t a))

simplify1.1s

Counts
40 → 75
Calls
40 calls:
Slowest
139.0ms
(+ (* (* c z) (* c z)) (+ (* (* i a) (* i a)) (* (* c z) (* i a))))
119.0ms
(+ (* (* y z) (* y z)) (+ (* (* t a) (* t a)) (* (* y z) (* t a))))
109.0ms
(+ (* (* c t) (* c t)) (+ (* (* i y) (* i y)) (* (* c t) (* i y))))
44.0ms
(- (* z (* b c)) (* a (* i b)))
44.0ms
(- (* t (* j c)) (* i (* y j)))

prune1.4s

Pruning

19 alts after pruning (19 fresh and 0 done)

Merged error: 10.7b

localize15.0ms

Local error

Found 4 expressions with local error:

7.8b
(cbrt (* j (- (* c t) (* i y))))
7.8b
(cbrt (* j (- (* c t) (* i y))))
7.8b
(cbrt (* j (- (* c t) (* i y))))
7.4b
(* x (- (* y z) (* t a)))

rewrite10.0ms

Algorithm
rewrite-expression-head
Rules
associate-*r/
cbrt-div
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
flip--
add-exp-log
add-cbrt-cube
flip3--
pow1
associate-*r*
pow1/3
cbrt-prod
distribute-lft-in
sub-neg
distribute-rgt-in
*-commutative
Counts
4 → 50
Calls
4 calls:
Slowest
4.0ms
(* x (- (* y z) (* t a)))
2.0ms
(cbrt (* j (- (* c t) (* i y))))
2.0ms
(cbrt (* j (- (* c t) (* i y))))
2.0ms
(cbrt (* j (- (* c t) (* i y))))

series417.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
132.0ms
(cbrt (* j (- (* c t) (* i y))))
120.0ms
(cbrt (* j (- (* c t) (* i y))))
120.0ms
(cbrt (* j (- (* c t) (* i y))))
44.0ms
(* x (- (* y z) (* t a)))

simplify2.2s

Counts
30 → 62
Calls
30 calls:
Slowest
175.0ms
(exp (* 1/3 (+ (log i) (+ (log -1) (+ (log y) (log j))))))
172.0ms
(cbrt (* j (- (pow (* c t) 3) (pow (* i y) 3))))
171.0ms
(* (cbrt -1) (exp (* -1/3 (+ (log (/ -1 j)) (+ (log (/ -1 t)) (log (/ -1 c)))))))
163.0ms
(exp (* 1/3 (+ (log i) (+ (log -1) (+ (log y) (log j))))))
163.0ms
(exp (* 1/3 (+ (log i) (+ (log -1) (+ (log y) (log j))))))

prune1.5s

Pruning

22 alts after pruning (22 fresh and 0 done)

Merged error: 10.7b

localize18.0ms

Local error

Found 4 expressions with local error:

8.8b
(cbrt (- (* y z) (* t a)))
8.8b
(cbrt (- (* y z) (* t a)))
8.8b
(cbrt (- (* y z) (* t a)))
5.9b
(* j (- (* c t) (* i y)))

rewrite9.0ms

Algorithm
rewrite-expression-head
Rules
cbrt-prod
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
cbrt-div
add-log-exp
flip--
add-exp-log
add-cbrt-cube
flip3--
pow1
associate-*r*
pow1/3
associate-*r/
distribute-lft-in
sub-neg
distribute-rgt-in
*-commutative
Counts
4 → 56
Calls
4 calls:
Slowest
4.0ms
(* j (- (* c t) (* i y)))
1.0ms
(cbrt (- (* y z) (* t a)))
1.0ms
(cbrt (- (* y z) (* t a)))
1.0ms
(cbrt (- (* y z) (* t a)))

series438.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
153.0ms
(cbrt (- (* y z) (* t a)))
137.0ms
(cbrt (- (* y z) (* t a)))
103.0ms
(cbrt (- (* y z) (* t a)))
45.0ms
(* j (- (* c t) (* i y)))

simplify3.4s

Counts
36 → 68
Calls
36 calls:
Slowest
394.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
379.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
274.0ms
(exp (* -1/3 (+ (log (/ 1 z)) (log (/ 1 y)))))
237.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
231.0ms
(exp (* -1/3 (+ (log (/ 1 z)) (log (/ 1 y)))))

prune1.4s

Pruning

24 alts after pruning (24 fresh and 0 done)

Merged error: 10.7b

localize21.0ms

Local error

Found 4 expressions with local error:

8.8b
(cbrt (- (* y z) (* t a)))
8.8b
(cbrt (- (* y z) (* t a)))
8.8b
(cbrt (- (* y z) (* t a)))
8.8b
(cbrt (- (* y z) (* t a)))

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
12×cbrt-prod
add-cube-cbrt
*-un-lft-identity
cbrt-div
add-sqr-sqrt
add-log-exp
flip--
add-exp-log
pow1/3
add-cbrt-cube
flip3--
pow1
Counts
4 → 52
Calls
4 calls:
Slowest
2.0ms
(cbrt (- (* y z) (* t a)))
1.0ms
(cbrt (- (* y z) (* t a)))
1.0ms
(cbrt (- (* y z) (* t a)))
1.0ms
(cbrt (- (* y z) (* t a)))

series442.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
121.0ms
(cbrt (- (* y z) (* t a)))
114.0ms
(cbrt (- (* y z) (* t a)))
106.0ms
(cbrt (- (* y z) (* t a)))
101.0ms
(cbrt (- (* y z) (* t a)))

simplify4.1s

Counts
32 → 64
Calls
32 calls:
Slowest
384.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
307.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
302.0ms
(cbrt (- (pow (* y z) 3) (pow (* t a) 3)))
288.0ms
(cbrt (- (* (* y z) (* y z)) (* (* t a) (* t a))))
273.0ms
(exp (* -1/3 (+ (log (/ 1 z)) (log (/ 1 y)))))

prune1.4s

Pruning

24 alts after pruning (23 fresh and 1 done)

Merged error: 10.7b

regimes2.5s

Accuracy

0% (3.8b remaining)

Error of 12.2b against oracle of 8.3b and baseline of 12.2b

bsearch7.0ms

end0.0ms

sample7.1s

Algorithm
intervals
Results
19247×(pre true 80)
19247×(body real 80)