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

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. Simplified11.9

    \[\leadsto \color{blue}{(\left(z \cdot y - t \cdot a\right) \cdot x + \left(\left(t \cdot c - y \cdot i\right) \cdot j - \left(z \cdot c - i \cdot a\right) \cdot b\right))_*}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt12.1

    \[\leadsto (\color{blue}{\left(\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}\right)} \cdot x + \left(\left(t \cdot c - y \cdot i\right) \cdot j - \left(z \cdot c - i \cdot a\right) \cdot b\right))_*\]
  5. Final simplification12.1

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

Reproduce

herbie shell --seed 2019016 +o rules:numerics
(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: 39.1s)Debug log

sample179.0ms

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

simplify183.0ms

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

prune28.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 14.4b

localize52.0ms

Local error

Found 4 expressions with local error:

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

rewrite23.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-cube-cbrt
associate-*l*
*-un-lft-identity
add-sqr-sqrt
log1p-expm1-u
add-exp-log
associate-*l/
add-cbrt-cube
pow1
expm1-log1p-u
flip--
flip3--
*-commutative
fma-udef
prod-diff
diff-log
fma-neg
sub-neg
Counts
4 → 56
Calls
4 calls:
Slowest
9.0ms
(* (- (* t c) (* y i)) j)
9.0ms
(* (- (* z c) (* i a)) b)
4.0ms
(- (* z y) (* t a))
0.0ms
(fma (- (* z y) (* t a)) x (- (* (- (* t c) (* y i)) j) (* (- (* z c) (* i a)) b)))

series721.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
551.0ms
(fma (- (* z y) (* t a)) x (- (* (- (* t c) (* y i)) j) (* (- (* z c) (* i a)) b)))
74.0ms
(* (- (* z c) (* i a)) b)
66.0ms
(* (- (* t c) (* y i)) j)
29.0ms
(- (* z y) (* t a))

simplify1.7s

Counts
23 → 68
Calls
23 calls:
Slowest
262.0ms
(- (* a (* i b)) (+ (* z (* b c)) (* i (* j y))))
237.0ms
(- (* a (* i b)) (+ (* z (* b c)) (* i (* j y))))
227.0ms
(* (- (pow (* z c) 3) (pow (* i a) 3)) b)
211.0ms
(* (- (pow (* t c) 3) (pow (* y i) 3)) j)
162.0ms
(* (- (* (* t c) (* t c)) (* (* y i) (* y i))) j)

prune1.2s

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 9.7b

localize18.0ms

Local error

Found 4 expressions with local error:

8.8b
(cbrt (- (* z y) (* t a)))
8.8b
(cbrt (- (* z y) (* t a)))
8.8b
(cbrt (- (* z y) (* t a)))
6.7b
(fma (* (* (cbrt (- (* z y) (* t a))) (cbrt (- (* z y) (* t a)))) (cbrt (- (* z y) (* t a)))) x (- (* (- (* t c) (* y i)) j) (* (- (* z c) (* i a)) b)))

rewrite10.0ms

Algorithm
rewrite-expression-head
Rules
cbrt-prod
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
cbrt-div
add-log-exp
log1p-expm1-u
add-exp-log
add-cbrt-cube
pow1
expm1-log1p-u
flip--
pow1/3
flip3--
fma-udef
Counts
4 → 55
Calls
4 calls:
Slowest
3.0ms
(cbrt (- (* z y) (* t a)))
3.0ms
(cbrt (- (* z y) (* t a)))
3.0ms
(cbrt (- (* z y) (* t a)))
0.0ms
(fma (* (* (cbrt (- (* z y) (* t a))) (cbrt (- (* z y) (* t a)))) (cbrt (- (* z y) (* t a)))) x (- (* (- (* t c) (* y i)) j) (* (- (* z c) (* i a)) b)))

series1.0s

Counts
4 → 12
Calls
4 calls:
Slowest
580.0ms
(fma (* (* (cbrt (- (* z y) (* t a))) (cbrt (- (* z y) (* t a)))) (cbrt (- (* z y) (* t a)))) x (- (* (- (* t c) (* y i)) j) (* (- (* z c) (* i a)) b)))
174.0ms
(cbrt (- (* z y) (* t a)))
131.0ms
(cbrt (- (* z y) (* t a)))
124.0ms
(cbrt (- (* z y) (* t a)))

simplify5.2s

Counts
27 → 67
Calls
27 calls:
Slowest
620.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
556.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
475.0ms
(cbrt (- (pow (* z y) 3) (pow (* t a) 3)))
474.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
361.0ms
(cbrt (- (pow (* z y) 3) (pow (* t a) 3)))

prune1.4s

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 9.7b

localize22.0ms

Local error

Found 4 expressions with local error:

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

rewrite11.0ms

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

series611.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
170.0ms
(cbrt (- (* z y) (* t a)))
158.0ms
(cbrt (- (* z y) (* t a)))
146.0ms
(cbrt (- (* z y) (* t a)))
137.0ms
(cbrt (- (* z y) (* t a)))

simplify6.2s

Counts
32 → 72
Calls
32 calls:
Slowest
575.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
563.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
458.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
448.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
394.0ms
(cbrt (- (pow (* z y) 3) (pow (* t a) 3)))

prune2.0s

Pruning

14 alts after pruning (12 fresh and 2 done)

Merged error: 9.7b

localize27.0ms

Local error

Found 4 expressions with local error:

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

rewrite6.0ms

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

series620.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
169.0ms
(cbrt (- (* z y) (* t a)))
152.0ms
(cbrt (- (* z y) (* t a)))
150.0ms
(cbrt (- (* z y) (* t a)))
149.0ms
(cbrt (- (* z y) (* t a)))

simplify6.6s

Counts
32 → 72
Calls
32 calls:
Slowest
854.0ms
(cbrt (- (pow (* z y) 3) (pow (* t a) 3)))
563.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
530.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
509.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))
485.0ms
(cbrt (- (* (* z y) (* z y)) (* (* t a) (* t a))))

prune1.8s

Pruning

14 alts after pruning (11 fresh and 3 done)

Merged error: 9.7b

regimes1.9s

Accuracy

0% (5.1b remaining)

Error of 12.1b against oracle of 7.1b and baseline of 12.1b

bsearch5.0ms

end0.0ms

sample7.5s

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