Details

Time bar (total: 14.6s)

analyze2.7s (18.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%99.6%0.4%8
0%99.6%0.4%9
0%99.6%0.4%10
0%99.6%0.4%11
0%99.6%0.4%12
0%99.6%0.4%13
0%99.6%0.4%14
Compiler

Compiled 39 to 24 computations (38.5% saved)

sample4.3s (29.6%)

Results
2.5s11651×body128invalid
1.7s8256×body128valid
Compiler

Compiled 116 to 71 computations (38.8% saved)

simplify318.0ms (2.2%)

Algorithm
egg-herbie
Rules
802×unsub-neg_binary64
656×sub-neg_binary64
486×fma-neg_binary64
419×distribute-neg-in_binary64
395×+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02443
15941
213941
343839
4130239
5298239
6342039
7389839
8405639
9398639
10403139
11402739
12439339
13460039
14466539
15467039
16467039
17467239
18467439
19467439
20493439
21493139

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
12.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
12.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))))
Compiler

Compiled 137 to 74 computations (46% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (*.f64 y z) (*.f64 t a))
4.4b
(*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))
4.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))))
5.0b
(fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i))))

series207.0ms (1.4%)

Counts
4 → 312
Calls

4 calls:

114.0ms
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))))
61.0ms
(fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i))))
22.0ms
(*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))
10.0ms
(-.f64 (*.f64 y z) (*.f64 t a))

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 64
Calls

4 calls:

8.0ms
(*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))
3.0ms
(-.f64 (*.f64 y z) (*.f64 t a))
0.0ms
(fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i))))
0.0ms
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (*.f64 j (-.f64 (*.f64 t c) (*.f64 y i)))))

simplify257.0ms (1.8%)

Algorithm
egg-herbie
Rules
416×sub-neg_binary64
370×cancel-sign-sub-inv_binary64
343×*-commutative_binary64
340×fma-neg_binary64
327×distribute-rgt-in_binary64
Counts
376 → 185
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02599515
16328941
219378618
338728372
449998372
549378372

prune186.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1778185
Fresh000
Picked101
Done000
Total1788186
Error
0.0b
Counts
186 → 8
Alt Table
StatusErrorProgram
43.3b
(*.f64 (-.f64 (*.f64 y x) (*.f64 c b)) z)
10.9b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
29.1b
(+.f64 (*.f64 j (-.f64 (*.f64 c t) (*.f64 y i))) (*.f64 a (-.f64 (*.f64 i b) (*.f64 t x))))
31.0b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (*.f64 t (-.f64 (*.f64 c j) (*.f64 x a))))
26.7b
(+.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 c (-.f64 (*.f64 t j) (*.f64 z b))))
26.3b
(+.f64 (*.f64 y (-.f64 (*.f64 z x) (*.f64 j i))) (*.f64 c (-.f64 (*.f64 t j) (*.f64 z b))))
29.1b
(+.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 i (-.f64 (*.f64 a b) (*.f64 j y))))
12.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (+.f64 (*.f64 (fma.f64 t c (neg.f64 (*.f64 i y))) j) (*.f64 (fma.f64 (neg.f64 i) y (*.f64 i y)) j))))
Compiler

Compiled 5988 to 977 computations (83.7% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.1b
(*.f64 a (*.f64 t x))
6.1b
(*.f64 y (*.f64 i j))
6.6b
(*.f64 c (*.f64 t j))
7.1b
(*.f64 c (*.f64 z b))

series38.0ms (0.3%)

Counts
4 → 32
Calls

4 calls:

11.0ms
(*.f64 c (*.f64 t j))
9.0ms
(*.f64 c (*.f64 z b))
9.0ms
(*.f64 y (*.f64 i j))
9.0ms
(*.f64 a (*.f64 t x))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
24×add-cbrt-cube_binary64
24×add-exp-log_binary64
24×pow1_binary64
12×associate-*l*_binary64
12×cbrt-unprod_binary64
Counts
4 → 80
Calls

4 calls:

6.0ms
(*.f64 c (*.f64 z b))
4.0ms
(*.f64 a (*.f64 t x))
4.0ms
(*.f64 c (*.f64 t j))
4.0ms
(*.f64 y (*.f64 i j))

simplify102.0ms (0.7%)

Algorithm
egg-herbie
Rules
623×*-commutative_binary64
530×associate-/l/_binary64
501×sqr-pow_binary64
482×unswap-sqr_binary64
280×associate-*l*_binary64
Counts
112 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01391100
1333920
21116920
31572920
41991920
52741920
63629920
74868920
84992920

prune125.0ms (0.9%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1026108
Fresh167
Picked101
Done000
Total10412116
Error
0.0b
Counts
116 → 12
Alt Table
StatusErrorProgram
12.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (*.f64 y i) j) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
43.3b
(*.f64 (-.f64 (*.f64 y x) (*.f64 c b)) z)
40.0b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 i j))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
29.1b
(+.f64 (*.f64 j (-.f64 (*.f64 c t) (*.f64 y i))) (*.f64 a (-.f64 (*.f64 i b) (*.f64 t x))))
31.0b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (*.f64 t (-.f64 (*.f64 c j) (*.f64 x a))))
28.4b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 i j))) (sqrt.f64 (*.f64 y (*.f64 i j)))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
12.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (+.f64 (*.f64 (fma.f64 t c (neg.f64 (*.f64 i y))) j) (*.f64 (fma.f64 (neg.f64 i) y (*.f64 i y)) j))))
11.0b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) (*.f64 (cbrt.f64 c) (*.f64 z b))) (*.f64 a (*.f64 t x)))))
32.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 z b))) (sqrt.f64 (*.f64 c (*.f64 z b)))) (*.f64 a (*.f64 t x)))))
26.3b
(+.f64 (*.f64 y (-.f64 (*.f64 z x) (*.f64 j i))) (*.f64 c (-.f64 (*.f64 t j) (*.f64 z b))))
29.1b
(+.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 i (-.f64 (*.f64 a b) (*.f64 j y))))
29.7b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 t x))) (sqrt.f64 (*.f64 a (*.f64 t x)))))))
Compiler

Compiled 5266 to 1156 computations (78% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.8b
(*.f64 y (*.f64 z x))
5.1b
(*.f64 a (*.f64 t x))
6.1b
(*.f64 y (*.f64 i j))
6.6b
(*.f64 c (*.f64 t j))

series9.0ms (0.1%)

Counts
1 → 0
Calls

1 calls:

9.0ms
(*.f64 y (*.f64 z x))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*l*_binary64
cbrt-unprod_binary64
Counts
1 → 20
Calls

1 calls:

4.0ms
(*.f64 y (*.f64 z x))

simplify70.0ms (0.5%)

Algorithm
egg-herbie
Rules
580×log-div_binary64
514×associate-/l*_binary64
411×*-commutative_binary64
409×associate-*l*_binary64
339×cube-div_binary64
Counts
20 → 20
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038219
187174
2275174
3770174
4976174
51185174
61422174
71902174
83020174
94714174
104982174

prune128.0ms (0.9%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New98199
Fresh01111
Picked101
Done000
Total9912111
Error
0.0b
Counts
111 → 12
Alt Table
StatusErrorProgram
12.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (*.f64 y i) j) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
43.3b
(*.f64 (-.f64 (*.f64 y x) (*.f64 c b)) z)
40.0b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 i j))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
29.1b
(+.f64 (*.f64 j (-.f64 (*.f64 c t) (*.f64 y i))) (*.f64 a (-.f64 (*.f64 i b) (*.f64 t x))))
31.0b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (*.f64 t (-.f64 (*.f64 c j) (*.f64 x a))))
28.4b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 i j))) (sqrt.f64 (*.f64 y (*.f64 i j)))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
12.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (+.f64 (*.f64 (fma.f64 t c (neg.f64 (*.f64 i y))) j) (*.f64 (fma.f64 (neg.f64 i) y (*.f64 i y)) j))))
32.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 z b))) (sqrt.f64 (*.f64 c (*.f64 z b)))) (*.f64 a (*.f64 t x)))))
11.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) (*.f64 (cbrt.f64 c) (*.f64 z b))) (*.f64 a (*.f64 t x)))))
26.3b
(+.f64 (*.f64 y (-.f64 (*.f64 z x) (*.f64 j i))) (*.f64 c (-.f64 (*.f64 t j) (*.f64 z b))))
29.1b
(+.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 i (-.f64 (*.f64 a b) (*.f64 j y))))
29.7b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 t x))) (sqrt.f64 (*.f64 a (*.f64 t x)))))))
Compiler

Compiled 5639 to 1114 computations (80.2% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.1b
(*.f64 a (*.f64 t x))
6.1b
(*.f64 y (*.f64 i j))
6.6b
(*.f64 c (*.f64 t j))
12.6b
(cbrt.f64 (*.f64 y (*.f64 z x)))

series766.0ms (5.3%)

Counts
1 → 36
Calls

1 calls:

766.0ms
(cbrt.f64 (*.f64 y (*.f64 z x)))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
cbrt-prod_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 11
Calls

1 calls:

2.0ms
(cbrt.f64 (*.f64 y (*.f64 z x)))

simplify67.0ms (0.5%)

Algorithm
egg-herbie
Rules
722×fma-def_binary64
496×exp-sum_binary64
426×fma-neg_binary64
407×exp-prod_binary64
272×exp-diff_binary64
Counts
47 → 22
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072789
1149789
2239705
3700537
41671537
54042537
64953537

prune143.0ms (1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1450145
Fresh01111
Picked011
Done000
Total14512157
Error
0.0b
Counts
157 → 12
Alt Table
StatusErrorProgram
12.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (*.f64 y i) j) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
43.3b
(*.f64 (-.f64 (*.f64 y x) (*.f64 c b)) z)
40.0b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 i j))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
29.1b
(+.f64 (*.f64 j (-.f64 (*.f64 c t) (*.f64 y i))) (*.f64 a (-.f64 (*.f64 i b) (*.f64 t x))))
31.0b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (*.f64 t (-.f64 (*.f64 c j) (*.f64 x a))))
28.4b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 i j))) (sqrt.f64 (*.f64 y (*.f64 i j)))) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 a (*.f64 t x)))))
12.7b
(fma.f64 b (-.f64 (*.f64 a i) (*.f64 z c)) (fma.f64 x (-.f64 (*.f64 y z) (*.f64 t a)) (+.f64 (*.f64 (fma.f64 t c (neg.f64 (*.f64 i y))) j) (*.f64 (fma.f64 (neg.f64 i) y (*.f64 i y)) j))))
32.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 z b))) (sqrt.f64 (*.f64 c (*.f64 z b)))) (*.f64 a (*.f64 t x)))))
11.1b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) (*.f64 (cbrt.f64 c) (*.f64 z b))) (*.f64 a (*.f64 t x)))))
26.3b
(+.f64 (*.f64 y (-.f64 (*.f64 z x) (*.f64 j i))) (*.f64 c (-.f64 (*.f64 t j) (*.f64 z b))))
29.1b
(+.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 i (-.f64 (*.f64 a b) (*.f64 j y))))
29.7b
(-.f64 (+.f64 (*.f64 i (*.f64 a b)) (+.f64 (*.f64 c (*.f64 t j)) (*.f64 y (*.f64 z x)))) (+.f64 (*.f64 y (*.f64 i j)) (+.f64 (*.f64 c (*.f64 z b)) (*.f64 (sqrt.f64 (*.f64 a (*.f64 t x))) (sqrt.f64 (*.f64 a (*.f64 t x)))))))
Compiler

Compiled 9502 to 1264 computations (86.7% saved)

regimes4.7s (32.2%)

Accuracy

Total 2.8b remaining (96.4%)

Threshold costs 0b (0%)

Counts
164 → 3
Compiler

Compiled 69816 to 41088 computations (41.1% saved)

bsearch11.0ms (0.1%)

Compiler

Compiled 38 to 23 computations (39.5% saved)

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
225×distribute-rgt-neg-in_binary64
188×cancel-sign-sub-inv_binary64
150×distribute-lft-neg-in_binary64
141×neg-sub0_binary64
141×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069239
1125239
2177239
3234239
4302239
5345239
6403239
7491239
8555239
9617239
10683239
11784239
12883239
13973239
141029239
151062239
161078239
171082239
181078239

end206.0ms (1.4%)

Compiler

Compiled 829 to 391 computations (52.8% saved)

Profiling

Loading profile data...