Details

Time bar (total: 16.9s)

analyze621.0ms (3.7%)

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
0%99.9%0.1%5
0%99.9%0.1%6
23.4%51.5%25.1%7
24.2%50.7%25.1%8
24.6%50.3%25.1%9
36.9%25.5%37.6%10
37.2%25.3%37.6%11
37.3%25.1%37.6%12
43.5%12.7%43.8%13
43.6%12.6%43.8%14
Compiler

Compiled 32 to 21 computations (34.4% saved)

sample2.6s (15.5%)

Results
2.3s8256×body128valid
203.0ms1042×body128invalid
Compiler

Compiled 95 to 62 computations (34.7% saved)

simplify127.0ms (0.8%)

Algorithm
egg-herbie
Rules
1042×fma-def_binary64
693×fma-neg_binary64
662×cube-prod_binary64
522×pow-sqr_binary64
453×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01920
13519
25712
3809
4899
52169
64869
79789
812969
919969
1022879
1133119
1243679
1346449
1447219
1549869
1648269

prune5.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
35.5b
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 117 to 73 computations (37.6% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))

series416.0ms (2.5%)

Counts
1 → 8
Calls

1 calls:

416.0ms
(/.f64 (atan2.f64 im re) (log.f64 base))

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
12×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
pow1_binary64
Counts
1 → 33
Calls

1 calls:

2.0ms
(/.f64 (atan2.f64 im re) (log.f64 base))

simplify91.0ms (0.5%)

Algorithm
egg-herbie
Rules
763×fma-neg_binary64
574×neg-mul-1_binary64
543×neg-sub0_binary64
429×sub-neg_binary64
336×div-sub_binary64
Counts
41 → 35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065663
1108615
2213585
3384585
41312585
52948585
63524585
74593585
84969585

prune38.0ms (0.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New251035
Fresh011
Picked101
Done000
Total261137
Error
0.1b
Counts
37 → 11
Alt Table
StatusErrorProgram
7.0b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (atan2.f64 im re) (atan2.f64 im re)) (atan2.f64 im re)) (*.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 base))))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
7.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) (/.f64 (atan2.f64 im re) (log.f64 base))) (/.f64 (atan2.f64 im re) (log.f64 base))))
15.0b
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
29.7b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
35.5b
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
32.5b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
1.2b
(/.f64 (/.f64 (atan2.f64 im re) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (cbrt.f64 (log.f64 base)))
30.8b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 871 to 330 computations (62.1% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (/.f64 1 base))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))

series488.0ms (2.9%)

Counts
2 → 16
Calls

2 calls:

468.0ms
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
20.0ms
(log.f64 (/.f64 1 base))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
27×times-frac_binary64
20×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
15×log-pow_binary64
Counts
2 → 72
Calls

2 calls:

3.0ms
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
2.0ms
(log.f64 (/.f64 1 base))

simplify138.0ms (0.8%)

Algorithm
egg-herbie
Rules
1036×fma-neg_binary64
547×associate-/l*_binary64
547×div-sub_binary64
358×sub-neg_binary64
275×associate-/r*_binary64
Counts
88 → 106
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0961237
11521153
23401147
38991141
423471125
531141125
641041125
745471125
849971125
948291125

prune111.0ms (0.7%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1006106
Fresh3710
Picked011
Done000
Total10314117
Error
0.0b
Counts
117 → 14
Alt Table
StatusErrorProgram
29.6b
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.6b
(*.f64 -1 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (neg.f64 (log.f64 base)) 3))))
32.0b
(*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 (neg.f64 (log.f64 base)))) (/.f64 (atan2.f64 im re) (sqrt.f64 (neg.f64 (log.f64 base))))))
7.0b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (atan2.f64 im re) (atan2.f64 im re)) (atan2.f64 im re)) (*.f64 (*.f64 (log.f64 base) (log.f64 base)) (log.f64 base))))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
30.1b
(*.f64 -1 (exp.f64 (log.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
0.4b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))))
32.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (neg.f64 (log.f64 base))))))
29.7b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
35.5b
(/.f64 (-.f64 (*.f64 (atan2.f64 im re) (log.f64 base)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
32.5b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
30.8b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
Compiler

Compiled 2245 to 1211 computations (46.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))
0.3b
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base)))))
0.5b
(*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))
0.5b
(cbrt.f64 (/.f64 1 base))

series5.4s (32.1%)

Counts
4 → 72
Calls

4 calls:

4.1s
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base)))))
1.2s
(+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))
37.0ms
(*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))
31.0ms
(cbrt.f64 (/.f64 1 base))

rewrite70.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
159×pow1_binary64
154×log-pow_binary64
142×times-frac_binary64
136×*-un-lft-identity_binary64
121×add-sqr-sqrt_binary64
Counts
4 → 295
Calls

4 calls:

13.0ms
(/.f64 (atan2.f64 im re) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base)))))
12.0ms
(+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))
10.0ms
(*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))
2.0ms
(cbrt.f64 (/.f64 1 base))

simplify217.0ms (1.3%)

Algorithm
egg-herbie
Rules
482×associate-*l*_binary64
414×fma-def_binary64
371×associate-*r*_binary64
323×log-prod_binary64
321×distribute-rgt-in_binary64
Counts
367 → 365
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02167400
13855498
210995130
337654854
449564854
547824854

prune489.0ms (2.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New4316437
Fresh10212
Picked101
Done101
Total4438451
Error
0b
Counts
451 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f64 -1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 2 1)))
0.4b
(*.f64 -1 (*.f64 (/.f64 -1 (log.f64 base)) (atan2.f64 im re)))
7.0b
(*.f64 -1 (cbrt.f64 (/.f64 (*.f64 (*.f64 (atan2.f64 im re) (atan2.f64 im re)) (atan2.f64 im re)) (*.f64 (*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 1 base)) (cbrt.f64 (/.f64 1 base)))) (log.f64 (cbrt.f64 (/.f64 1 base))))))))
0.4b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 (pow.f64 base -1/3)) (log.f64 (pow.f64 base -2/3)))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.6b
(*.f64 -1 (/.f64 (atan2.f64 im re) (/.f64 (*.f64 1/3 (pow.f64 (neg.f64 (log.f64 base)) 3)) (*.f64 1/3 (*.f64 (log.f64 base) (log.f64 base))))))
0.4b
(*.f64 -1 (*.f64 1/3 (/.f64 (atan2.f64 im re) (*.f64 -1/3 (log.f64 base)))))
0.6b
(*.f64 -1 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (neg.f64 (log.f64 base)) 3))))
Compiler

Compiled 12029 to 8417 computations (30% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (cbrt.f64 (/.f64 1 base)))
0.3b
(/.f64 (/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 2 1))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base))))
0.5b
(cbrt.f64 (/.f64 1 base))

series4.0s (23.7%)

Counts
3 → 84
Calls

3 calls:

1.8s
(/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base))))
1.7s
(/.f64 (/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 2 1))
562.0ms
(log.f64 (cbrt.f64 (/.f64 1 base)))

rewrite30.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
175×times-frac_binary64
126×*-un-lft-identity_binary64
86×add-sqr-sqrt_binary64
86×add-cube-cbrt_binary64
40×log-pow_binary64
Counts
3 → 184
Calls

3 calls:

9.0ms
(/.f64 (/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 2 1))
2.0ms
(/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base))))
2.0ms
(log.f64 (cbrt.f64 (/.f64 1 base)))

simplify223.0ms (1.3%)

Algorithm
egg-herbie
Rules
408×associate-/r*_binary64
397×associate-/l/_binary64
303×times-frac_binary64
297×distribute-rgt-neg-out_binary64
280×associate-/l*_binary64
Counts
268 → 274
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02566206
14795776
210825167
329665153
444915151
549655151
648835151

prune276.0ms (1.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New3073310
Fresh437
Picked011
Done000
Total3117318
Error
0b
Counts
318 → 7
Alt Table
StatusErrorProgram
0.4b
(*.f64 -1 (/.f64 (/.f64 (atan2.f64 im re) (log.f64 (cbrt.f64 (/.f64 1 base)))) (+.f64 2 1)))
0.4b
(*.f64 -1 (*.f64 (/.f64 -1 (log.f64 base)) (atan2.f64 im re)))
0.4b
(*.f64 -1 (*.f64 3 (/.f64 (atan2.f64 im re) (*.f64 -3 (log.f64 base)))))
0.4b
(*.f64 -1 (*.f64 1/3 (/.f64 (atan2.f64 im re) (log.f64 (pow.f64 base -1/3)))))
0.4b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (log.f64 (pow.f64 base -1/3)) (log.f64 (pow.f64 base -2/3)))))
0.4b
(*.f64 -1 (/.f64 (/.f64 1 1/3) (*.f64 (/.f64 -3 (atan2.f64 im re)) (log.f64 base))))
0.6b
(*.f64 -1 (/.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (neg.f64 (log.f64 base)) 3))))
Compiler

Compiled 7621 to 5138 computations (32.6% saved)

regimes1.4s (8%)

Accuracy

Total 0.3b remaining (94.3%)

Threshold costs 0.3b (94.3%)

Counts
172 → 1
Compiler

Compiled 20971 to 15523 computations (26% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
distribute-neg-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01214
11714
22014
32314
42614
52714
62614

end108.0ms (0.6%)

Compiler

Compiled 135 to 107 computations (20.7% saved)

Profiling

Loading profile data...