Details

Time bar (total: 4.5s)

analyze967.0ms (21.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
23.4%74.9%1.8%11
27.3%69%3.7%12
36.6%56.5%6.8%13
40.5%52%7.4%14
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.3s (30%)

Symmetry

(sort y t)

Results
974.0ms8256×body128valid
212.0ms1947×body128invalid
Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify45.0ms (1%)

Algorithm
egg-herbie
Rules
998×fma-def_binary64
304×fma-neg_binary64
112×distribute-rgt-in_binary64
90×associate-*l*_binary64
87×associate-*r*_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0910
12010
24310
39610
417210
525210
639810
758110
884610
991010
1094310
1194910
1294910
1388610

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.3b
(*.f64 y (*.f64 t (-.f64 x z)))
8.6b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
Compiler

Compiled 68 to 41 computations (39.7% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 t (-.f64 x z))
7.9b
(*.f64 y (*.f64 t (-.f64 x z)))

series21.0ms (0.5%)

Counts
2 → 84
Calls

2 calls:

13.0ms
(*.f64 y (*.f64 t (-.f64 x z)))
6.0ms
(*.f64 t (-.f64 x z))

rewrite25.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
65×distribute-lft-in_binary64
65×distribute-rgt-in_binary64
54×prod-diff_binary64
51×add-sqr-sqrt_binary64
49×*-un-lft-identity_binary64
Counts
2 → 124
Calls

2 calls:

8.0ms
(*.f64 y (*.f64 t (-.f64 x z)))
6.0ms
(*.f64 t (-.f64 x z))

simplify127.0ms (2.8%)

Algorithm
egg-herbie
Rules
449×*-commutative_binary64
402×distribute-rgt-in_binary64
400×distribute-rgt-neg-out_binary64
379×distribute-lft-in_binary64
309×fma-def_binary64
Counts
208 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02192765
13262564
210792402
330772078
449652078
547512078

prune96.0ms (2.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1476153
Fresh011
Picked101
Done000
Total1487155
Error
0.0b
Counts
155 → 7
Alt Table
StatusErrorProgram
34.7b
(*.f64 (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))) (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))))
27.4b
(*.f64 y (*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 x z))))
28.6b
(*.f64 y (cbrt.f64 (pow.f64 (*.f64 t (-.f64 x z)) 3)))
8.3b
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
8.6b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
6.3b
(*.f64 (-.f64 x z) (*.f64 y t))
8.3b
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
Compiler

Compiled 3162 to 819 computations (74.1% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.2b
(*.f64 (-.f64 x z) (*.f64 y t))

series15.0ms (0.3%)

Counts
1 → 32
Calls

1 calls:

15.0ms
(*.f64 (-.f64 x z) (*.f64 y t))

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
Counts
1 → 24
Calls

1 calls:

6.0ms
(*.f64 (-.f64 x z) (*.f64 y t))

simplify53.0ms (1.2%)

Algorithm
egg-herbie
Rules
568×associate-*l*_binary64
483×fma-def_binary64
414×associate-*r*_binary64
378×distribute-rgt-neg-out_binary64
327×unsub-neg_binary64
Counts
56 → 42
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066661
1178598
2527598
31835598
43260598
55376598

prune27.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New41142
Fresh066
Picked011
Done000
Total41849
Error
0.0b
Counts
49 → 8
Alt Table
StatusErrorProgram
37.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))) (*.f64 (-.f64 x z) (*.f64 y t))))
28.6b
(*.f64 y (cbrt.f64 (pow.f64 (*.f64 t (-.f64 x z)) 3)))
34.7b
(*.f64 (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))) (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))))
27.4b
(*.f64 y (*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 x z))))
8.3b
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
8.6b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
6.3b
(*.f64 (-.f64 x z) (*.f64 y t))
8.3b
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
Compiler

Compiled 799 to 271 computations (66.1% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 t x) (*.f64 t z))
7.9b
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)

series23.0ms (0.5%)

Counts
2 → 54
Calls

2 calls:

16.0ms
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
7.0ms
(-.f64 (*.f64 t x) (*.f64 t z))

rewrite10.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 40
Calls

2 calls:

5.0ms
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
3.0ms
(-.f64 (*.f64 t x) (*.f64 t z))

simplify72.0ms (1.6%)

Algorithm
egg-herbie
Rules
943×fma-def_binary64
247×distribute-lft-neg-out_binary64
237×distribute-rgt-neg-out_binary64
230×*-commutative_binary64
221×fma-neg_binary64
Counts
94 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0861023
1219963
2773956
32035953
44486953
54935953

prune111.0ms (2.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New81283
Fresh066
Picked011
Done011
Total811091
Error
0.0b
Counts
91 → 10
Alt Table
StatusErrorProgram
37.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))) (*.f64 (-.f64 x z) (*.f64 y t))))
28.6b
(*.f64 y (cbrt.f64 (pow.f64 (*.f64 t (-.f64 x z)) 3)))
28.7b
(/.f64 (*.f64 y (*.f64 t (*.f64 (*.f64 t (-.f64 x z)) (+.f64 x z)))) (+.f64 (*.f64 t x) (*.f64 t z)))
34.7b
(*.f64 (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))) (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))))
27.4b
(*.f64 y (*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 x z))))
25.6b
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 t x) (*.f64 t x)) (*.f64 (*.f64 t z) (*.f64 t z))) y) (+.f64 (*.f64 t x) (*.f64 t z)))
8.3b
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
8.6b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
6.3b
(*.f64 (-.f64 x z) (*.f64 y t))
8.3b
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
Compiler

Compiled 1527 to 431 computations (71.8% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
0.7b
(cbrt.f64 y)
3.3b
(*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y)))
4.2b
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))

series573.0ms (12.8%)

Counts
4 → 120
Calls

4 calls:

435.0ms
(*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y)))
69.0ms
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
38.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
31.0ms
(cbrt.f64 y)

rewrite31.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
37×pow1_binary64
32×add-exp-log_binary64
22×add-sqr-sqrt_binary64
21×add-cbrt-cube_binary64
20×pow-prod-down_binary64
Counts
4 → 109
Calls

4 calls:

12.0ms
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
7.0ms
(*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y)))
4.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
1.0ms
(cbrt.f64 y)

simplify85.0ms (1.9%)

Algorithm
egg-herbie
Rules
709×distribute-rgt-in_binary64
697×distribute-lft-in_binary64
346×associate-*r*_binary64
331×associate-*l*_binary64
193×fma-def_binary64
Counts
229 → 158
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01573043
13722345
216052289
354372289

prune86.0ms (1.9%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1931194
Fresh077
Picked011
Done022
Total19311204
Error
0.0b
Counts
204 → 11
Alt Table
StatusErrorProgram
37.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))) (*.f64 (-.f64 x z) (*.f64 y t))))
28.6b
(*.f64 y (cbrt.f64 (pow.f64 (*.f64 t (-.f64 x z)) 3)))
28.7b
(/.f64 (*.f64 y (*.f64 t (*.f64 (*.f64 t (-.f64 x z)) (+.f64 x z)))) (+.f64 (*.f64 t x) (*.f64 t z)))
8.3b
(*.f64 (-.f64 (*.f64 t x) (*.f64 t z)) y)
8.8b
(*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 (cbrt.f64 y))) (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 (cbrt.f64 y)))) (*.f64 (cbrt.f64 (cbrt.f64 y)) (cbrt.f64 (cbrt.f64 y)))) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
34.7b
(*.f64 (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))) (sqrt.f64 (*.f64 t (*.f64 y (-.f64 x z)))))
27.4b
(*.f64 y (*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) (-.f64 x z))))
25.6b
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 t x) (*.f64 t x)) (*.f64 (*.f64 t z) (*.f64 t z))) y) (+.f64 (*.f64 t x) (*.f64 t z)))
8.3b
(*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 t (*.f64 (-.f64 x z) (cbrt.f64 y))))
8.6b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
6.3b
(*.f64 (-.f64 x z) (*.f64 y t))
Compiler

Compiled 3840 to 880 computations (77.1% saved)

regimes602.0ms (13.5%)

Accuracy

Total 1.4b remaining (98.4%)

Threshold costs 0b (0%)

Counts
52 → 3
Compiler

Compiled 5698 to 3086 computations (45.8% saved)

bsearch2.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01955
13355
24455
35055
45455
55555
65555

end121.0ms (2.7%)

Remove

(sort y t)

Compiler

Compiled 387 to 182 computations (53% saved)

Profiling

Loading profile data...