Details

Time bar (total: 2.6s)

analyze107.0ms (4.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
37.5%62.4%0.1%6
37.5%40.6%22%7
43.7%32.8%23.5%8
43.7%21.1%35.2%9
46.8%16.8%36.4%10
46.8%10.7%42.4%11
48.4%8.5%43.1%12
48.4%5.4%46.2%13
49.2%4.3%46.6%14
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample870.0ms (33.2%)

Results
719.0ms8256×body128valid
52.0ms565×body128invalid
Compiler

Compiled 26 to 17 computations (34.6% saved)

simplify89.0ms (3.4%)

Algorithm
egg-herbie
Rules
457×associate-*l*_binary64
414×associate-*l/_binary64
380×sqr-pow_binary64
368×unswap-sqr_binary64
321×exp-prod_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
199
2139
3229
4489
51109
62689
77779
814449
923619
1026759
1131609
1242429
1349649
1447819

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (exp.f64 (*.f64 y y)))
Compiler

Compiled 24 to 15 computations (37.5% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (exp.f64 (*.f64 y y)))
0.1b
(exp.f64 (*.f64 y y))

series14.0ms (0.5%)

Counts
2 → 36
Calls

2 calls:

12.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
2.0ms
(exp.f64 (*.f64 y y))

rewrite5.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
pow1_binary64
Counts
2 → 32
Calls

2 calls:

3.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
1.0ms
(exp.f64 (*.f64 y y))

simplify77.0ms (2.9%)

Algorithm
egg-herbie
Rules
775×fma-def_binary64
515×distribute-rgt-out_binary64
343×distribute-rgt-in_binary64
316×*-commutative_binary64
302×distribute-lft-in_binary64
Counts
68 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
066688
1138631
2387624
3888620
41789620
53558620
64544620
74896620

prune32.0ms (1.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New57259
Fresh000
Picked101
Done000
Total58260
Error
0.0b
Counts
60 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 x (pow.f64 (exp.f64 y) y))
0.9b
(+.f64 (*.f64 (pow.f64 y 2) x) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y 4) x)) x))
Compiler

Compiled 696 to 257 computations (63.1% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 y)
0.0b
(pow.f64 (exp.f64 y) y)
0.0b
(*.f64 x (pow.f64 (exp.f64 y) y))

series265.0ms (10.1%)

Counts
3 → 40
Calls

3 calls:

260.0ms
(*.f64 x (pow.f64 (exp.f64 y) y))
4.0ms
(pow.f64 (exp.f64 y) y)
1.0ms
(exp.f64 y)

rewrite9.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
associate-*r*_binary64
unpow-prod-down_binary64
Counts
3 → 62
Calls

3 calls:

4.0ms
(*.f64 x (pow.f64 (exp.f64 y) y))
2.0ms
(pow.f64 (exp.f64 y) y)
1.0ms
(exp.f64 y)

simplify79.0ms (3%)

Algorithm
egg-herbie
Rules
486×distribute-rgt-in_binary64
456×associate-*l*_binary64
456×distribute-lft-in_binary64
375×associate-*r*_binary64
275×distribute-rgt-out_binary64
Counts
102 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0112998
1233939
2678930
31950928
44959928
55025928

prune82.0ms (3.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1063109
Fresh101
Picked101
Done000
Total1083111
Error
0.0b
Counts
111 → 3
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
0.8b
(+.f64 x (*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6))))))
32.2b
(*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))) (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))))
Compiler

Compiled 1301 to 492 computations (62.2% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
0.0b
(pow.f64 (exp.f64 1) (*.f64 y y))

series214.0ms (8.2%)

Counts
2 → 36
Calls

2 calls:

212.0ms
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
3.0ms
(pow.f64 (exp.f64 1) (*.f64 y y))

rewrite14.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
unpow-prod-down_binary64
add-cube-cbrt_binary64
Counts
2 → 47
Calls

2 calls:

5.0ms
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
2.0ms
(pow.f64 (exp.f64 1) (*.f64 y y))

simplify66.0ms (2.5%)

Algorithm
egg-herbie
Rules
992×fma-def_binary64
525×times-frac_binary64
436×*-commutative_binary64
369×associate-*l*_binary64
314×associate-*r*_binary64
Counts
83 → 94
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089951
1184831
2527822
31473818
43969818
54952818

prune70.0ms (2.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New94094
Fresh022
Picked011
Done000
Total94397
Error
0.0b
Counts
97 → 3
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
0.8b
(+.f64 x (*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6))))))
32.2b
(*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))) (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))))
Compiler

Compiled 1321 to 675 computations (48.9% saved)

localize12.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))
0.1b
(*.f64 1/6 (pow.f64 y 6))
6.9b
(*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))))

series52.0ms (2%)

Counts
3 → 36
Calls

3 calls:

44.0ms
(*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))))
4.0ms
(fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))
3.0ms
(*.f64 1/6 (pow.f64 y 6))

rewrite10.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
10×associate-*r*_binary64
10×add-exp-log_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 59
Calls

3 calls:

5.0ms
(*.f64 1/6 (pow.f64 y 6))
3.0ms
(*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))))
0.0ms
(fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6)))

simplify93.0ms (3.5%)

Algorithm
egg-herbie
Rules
609×associate-*l*_binary64
532×associate-*r*_binary64
432×log-prod_binary64
422×unswap-sqr_binary64
328×distribute-lft-in_binary64
Counts
95 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01171725
12161583
26501551
327751551
445861551
549971551

prune85.0ms (3.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New90090
Fresh011
Picked011
Done011
Total90393
Error
0.0b
Counts
93 → 3
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (pow.f64 (exp.f64 1) (*.f64 y y)))
0.8b
(+.f64 x (*.f64 x (fma.f64 y y (fma.f64 1/2 (pow.f64 y 4) (*.f64 1/6 (pow.f64 y 6))))))
32.2b
(*.f64 (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))) (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (exp.f64 y) y))))
Compiler

Compiled 2125 to 1447 computations (31.9% saved)

regimes302.0ms (11.5%)

Accuracy

Total 0.0b remaining (25.8%)

Threshold costs 0.0b (25.8%)

Counts
75 → 1
Compiler

Compiled 4983 to 3094 computations (37.9% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
1918
2918

end56.0ms (2.1%)

Compiler

Compiled 74 to 42 computations (43.2% saved)

Profiling

Loading profile data...