Details

Time bar (total: 23.5s)

analyze1.8s (7.6%)

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
12.5%87.4%0.1%5
12.5%78%9.5%6
20.3%68.7%11%7
21.1%62.4%16.5%8
25.4%57%17.7%9
26%52.1%22%10
28.3%49%22.7%11
28.6%47.2%24.2%12
29.8%45.6%24.7%13
29.9%43.9%26.2%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample18.0s (76.7%)

Results
13.6s4785×body8192exit
2.1s3296×body1024invalid
1.3s8256×body128valid
619.0ms1588×body512invalid
211.0ms829×body256invalid
85.0ms573×body128invalid
9.0msbody8192invalid
2.0msbody2048invalid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify86.0ms (0.4%)

Algorithm
egg-herbie
Rules
656×unswap-sqr_binary64
607×times-frac_binary64
540×sqr-pow_binary64
391×pow-sqr_binary64
205×associate-*l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0813
11913
23711
37911
420011
563511
6230111
7229811
8241011
9263711
10306711
11369811
12490711
13489011

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))
0.3b
(*.f64 (exp.f64 (neg.f64 w)) (pow.f64 l (exp.f64 w)))
Compiler

Compiled 55 to 32 computations (41.8% saved)

localize4.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 w)
0.0b
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))
0.3b
(pow.f64 l (exp.f64 w))

series276.0ms (1.2%)

Counts
3 → 44
Calls

3 calls:

138.0ms
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))
136.0ms
(pow.f64 l (exp.f64 w))
1.0ms
(exp.f64 w)

rewrite45.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
607×log1p-expm1-u_binary64
607×expm1-log1p-u_binary64
324×log-prod_binary64
117×log-pow_binary64
116×expm1-udef_binary64
Counts
3 → 78
Calls

3 calls:

44.0ms
(exp.f64 w)
44.0ms
(/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))
44.0ms
(pow.f64 l (exp.f64 w))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0620
112520
2157120
3496220
000
100

simplify103.0ms (0.4%)

Algorithm
egg-herbie
Rules
861×fma-def_binary64
464×associate-+l+_binary64
421×associate-*l*_binary64
334×associate-+r+_binary64
314×associate-*r*_binary64
Counts
122 → 106
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
076648
1243613
2869578
34232578
44904578
54982578
64994578
74942578

prune124.0ms (0.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1296135
Fresh101
Picked101
Done000
Total1316137
Error
0.1b
Counts
137 → 6
Alt Table
StatusErrorProgram
0.3b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)))
1.4b
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3)
14.8b
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)
11.0b
(/.f64 (+.f64 l (fma.f64 (*.f64 l (pow.f64 w 3)) (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 l (+.f64 (*.f64 (log.f64 l) w) (*.f64 1/6 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)))))))) (exp.f64 w))
8.6b
(/.f64 (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 (log.f64 l) (*.f64 l w) l)) (exp.f64 w))
1.9b
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))
Compiler

Compiled 2183 to 859 computations (60.7% saved)

localize7.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)))
0.0b
(cbrt.f64 (exp.f64 w))
0.0b
(pow.f64 (cbrt.f64 (exp.f64 w)) 2)
0.3b
(pow.f64 l (exp.f64 w))

series429.0ms (1.8%)

Counts
3 → 48
Calls

3 calls:

146.0ms
(pow.f64 (cbrt.f64 (exp.f64 w)) 2)
144.0ms
(cbrt.f64 (exp.f64 w))
139.0ms
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)))

rewrite48.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
837×log1p-expm1-u_binary64
837×expm1-log1p-u_binary64
126×prod-diff_binary64
91×add-sqr-sqrt_binary64
86×add-log-exp_binary64
Counts
3 → 78
Calls

3 calls:

47.0ms
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (cbrt.f64 (exp.f64 w)) 2)))
47.0ms
(cbrt.f64 (exp.f64 w))
47.0ms
(pow.f64 (cbrt.f64 (exp.f64 w)) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
118922
2217022
3531322
000
100

simplify50.0ms (0.2%)

Algorithm
egg-herbie
Rules
581×fma-def_binary64
358×associate-*l*_binary64
316×associate-+l+_binary64
293×associate-*r*_binary64
230×distribute-rgt-out--_binary64
Counts
126 → 105
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084610
1242594
2807535
33520521
44968521

prune161.0ms (0.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1651166
Fresh055
Picked101
Done000
Total1666172
Error
0.1b
Counts
172 → 6
Alt Table
StatusErrorProgram
0.3b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3) 2)))
14.8b
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)
11.0b
(/.f64 (+.f64 l (fma.f64 (*.f64 l (pow.f64 w 3)) (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 l (+.f64 (*.f64 (log.f64 l) w) (*.f64 1/6 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)))))))) (exp.f64 w))
1.4b
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))) 3)
8.6b
(/.f64 (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 (log.f64 l) (*.f64 l w) l)) (exp.f64 w))
1.9b
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))
Compiler

Compiled 3285 to 1384 computations (57.9% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cbrt.f64 (cbrt.f64 (exp.f64 w)))
0.0b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3) 2)
0.0b
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3)
0.3b
(pow.f64 l (exp.f64 w))

series443.0ms (1.9%)

Counts
3 → 36
Calls

3 calls:

150.0ms
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3) 2)
147.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3)
145.0ms
(cbrt.f64 (cbrt.f64 (exp.f64 w)))

rewrite50.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
561×log1p-expm1-u_binary64
561×expm1-log1p-u_binary64
499×unpow-prod-down_binary64
278×log-prod_binary64
164×pow2_binary64
Counts
3 → 150
Calls

3 calls:

48.0ms
(cbrt.f64 (cbrt.f64 (exp.f64 w)))
48.0ms
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3) 2)
48.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 w))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
116317
2151817
3536717
000
100

simplify44.0ms (0.2%)

Algorithm
egg-herbie
Rules
586×associate-*l/_binary64
559×fma-def_binary64
439×distribute-rgt-out_binary64
369×associate-*l*_binary64
277×associate-*r*_binary64
Counts
186 → 173
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
040321
197315
2262303
3680261
41963237
52749229
65101229

prune253.0ms (1.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2022204
Fresh145
Picked101
Done000
Total2046210
Error
0.1b
Counts
210 → 6
Alt Table
StatusErrorProgram
14.8b
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)
0.3b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3) 2)))
11.0b
(/.f64 (+.f64 l (fma.f64 (*.f64 l (pow.f64 w 3)) (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 l (+.f64 (*.f64 (log.f64 l) w) (*.f64 1/6 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)))))))) (exp.f64 w))
8.6b
(/.f64 (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 (log.f64 l) (*.f64 l w) l)) (exp.f64 w))
4.1b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 w) 1/9))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 w) 1/9))))) 3) 2)))
1.9b
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))
Compiler

Compiled 5006 to 2480 computations (50.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2)
0.0b
(pow.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3)
0.0b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3)
0.3b
(pow.f64 l (exp.f64 w))

series441.0ms (1.9%)

Counts
3 → 36
Calls

3 calls:

150.0ms
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3)
146.0ms
(pow.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3)
144.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2)

rewrite47.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
849×log1p-expm1-u_binary64
849×expm1-log1p-u_binary64
107×add-cbrt-cube_binary64
106×add-log-exp_binary64
105×add-sqr-sqrt_binary64
Counts
3 → 66
Calls

3 calls:

46.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2)
46.0ms
(pow.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3)
46.0ms
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
126826
2224826
3493126
000
100

simplify47.0ms (0.2%)

Algorithm
egg-herbie
Rules
636×associate-*l/_binary64
576×fma-def_binary64
389×distribute-rgt-out_binary64
349×associate-*l*_binary64
275×associate-*r*_binary64
Counts
102 → 91
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
047345
1112339
2277303
3733261
42113237
52665229
65119229

prune205.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1202122
Fresh055
Picked011
Done000
Total1208128
Error
0.1b
Counts
128 → 8
Alt Table
StatusErrorProgram
14.8b
(fma.f64 w (-.f64 (*.f64 l (log.f64 l)) l) l)
0.3b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 2) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3) 2)))
11.0b
(/.f64 (+.f64 l (fma.f64 (*.f64 l (pow.f64 w 3)) (*.f64 (log.f64 l) (+.f64 1/6 (*.f64 (log.f64 l) 1/2))) (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (*.f64 l (+.f64 (*.f64 (log.f64 l) w) (*.f64 1/6 (*.f64 (pow.f64 w 3) (pow.f64 (log.f64 l) 3)))))))) (exp.f64 w))
8.6b
(/.f64 (fma.f64 1/2 (*.f64 (*.f64 l (*.f64 w w)) (+.f64 (log.f64 l) (pow.f64 (log.f64 l) 2))) (fma.f64 (log.f64 l) (*.f64 l w) l)) (exp.f64 w))
0.6b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 w 2/81 1) 3) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3) 2)))
4.1b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 w) 1/9))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (exp.f64 w) 1/9))))) 3) 2)))
1.9b
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w))))
0.5b
(/.f64 (pow.f64 l (exp.f64 w)) (*.f64 (cbrt.f64 (exp.f64 w)) (pow.f64 (pow.f64 (*.f64 (fma.f64 w (fma.f64 w 2/729 2/27) 1) (cbrt.f64 (pow.f64 (exp.f64 w) 1/9))) 3) 2)))
Compiler

Compiled 3902 to 2354 computations (39.7% saved)

regimes611.0ms (2.6%)

Accuracy

Total 0.2b remaining (72%)

Threshold costs 0.2b (72%)

Counts
199 → 1
Compiler

Compiled 10988 to 7273 computations (33.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01947
12147
22147

end161.0ms (0.7%)

Compiler

Compiled 283 to 194 computations (31.4% saved)

Profiling

Loading profile data...