Details

Time bar (total: 8.6s)

analyze512.0ms (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
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)

sample1.9s (21.9%)

Results
1.6s8256×body128valid
187.0ms991×body128invalid
Compiler

Compiled 95 to 62 computations (34.7% saved)

simplify123.0ms (1.4%)

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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
34.9b
(/.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.2b
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 117 to 73 computations (37.6% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

series421.0ms (4.9%)

Counts
1 → 8
Calls

1 calls:

421.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))

simplify84.0ms (1%)

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

prune35.0ms (0.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New251035
Fresh011
Picked101
Done000
Total261137
Error
0.0b
Counts
37 → 11
Alt Table
StatusErrorProgram
33.3b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
27.7b
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.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)))
27.5b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
34.9b
(/.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.2b
(*.f64 -1 (/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
29.7b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))
6.4b
(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.4b
(*.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))))
Compiler

Compiled 871 to 334 computations (61.7% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series517.0ms (6%)

Counts
2 → 16
Calls

2 calls:

498.0ms
(/.f64 (atan2.f64 im re) (log.f64 (/.f64 1 base)))
19.0ms
(log.f64 (/.f64 1 base))

rewrite11.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:

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

simplify142.0ms (1.7%)

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

prune110.0ms (1.3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1015106
Fresh2810
Picked101
Done000
Total10413117
Error
0.0b
Counts
117 → 13
Alt Table
StatusErrorProgram
33.3b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
27.7b
(*.f64 (/.f64 (sqrt.f64 (atan2.f64 im re)) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (/.f64 (sqrt.f64 (atan2.f64 im re)) (cbrt.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)))
27.5b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 base)))
29.1b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
34.9b
(/.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)))
6.4b
(*.f64 -1 (cbrt.f64 (pow.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))
31.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (*.f64 (sqrt.f64 (neg.f64 (log.f64 base))) (sqrt.f64 (neg.f64 (log.f64 base))))))
31.5b
(*.f64 -1 (/.f64 (atan2.f64 im re) (expm1.f64 (log1p.f64 (log.f64 (/.f64 1 base))))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
0.4b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base))))))
1.4b
(*.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))))
Compiler

Compiled 2208 to 1169 computations (47.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (cbrt.f64 base))
0.2b
(/.f64 (atan2.f64 im re) (+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base)))))
0.3b
(+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base))))
0.7b
(cbrt.f64 base)

series3.0s (34.6%)

Counts
4 → 72
Calls

4 calls:

1.7s
(/.f64 (atan2.f64 im re) (+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base)))))
611.0ms
(log.f64 (cbrt.f64 base))
598.0ms
(+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base))))
30.0ms
(cbrt.f64 base)

rewrite18.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×*-un-lft-identity_binary64
17×add-sqr-sqrt_binary64
17×add-cube-cbrt_binary64
12×log-prod_binary64
times-frac_binary64
Counts
4 → 85
Calls

4 calls:

6.0ms
(/.f64 (atan2.f64 im re) (+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base)))))
6.0ms
(+.f64 (*.f64 (log.f64 (cbrt.f64 base)) -2) (neg.f64 (log.f64 (cbrt.f64 base))))
1.0ms
(log.f64 (cbrt.f64 base))
1.0ms
(cbrt.f64 base)

simplify141.0ms (1.7%)

Algorithm
egg-herbie
Rules
402×associate-*l*_binary64
350×unsub-neg_binary64
328×fma-def_binary64
319×log-prod_binary64
307×associate-*r*_binary64
Counts
157 → 149
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01432594
13091808
28481662
333161660
448701660
549721659
649601659

prune179.0ms (2.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1913194
Fresh7512
Picked101
Done000
Total1998207
Error
0b
Counts
207 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
6.4b
(*.f64 -1 (cbrt.f64 (pow.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))
33.3b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
29.1b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
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 (-.f64 (*.f64 (log.f64 base) -2/3) (log.f64 (cbrt.f64 (sqrt.f64 base)))) (neg.f64 (log.f64 (cbrt.f64 (sqrt.f64 base)))))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (-.f64 (*.f64 (log.f64 base) -2/3) (log.f64 (cbrt.f64 (pow.f64 base 2/3)))) (neg.f64 (log.f64 (cbrt.f64 (cbrt.f64 base)))))))
Compiler

Compiled 4420 to 1927 computations (56.4% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (pow.f64 base 2/3))
0.6b
(cbrt.f64 (cbrt.f64 base))
0.7b
(cbrt.f64 base)
5.9b
(pow.f64 base 2/3)

series359.0ms (4.2%)

Counts
3 → 36
Calls

3 calls:

308.0ms
(cbrt.f64 (cbrt.f64 base))
27.0ms
(cbrt.f64 (pow.f64 base 2/3))
24.0ms
(pow.f64 base 2/3)

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
16×cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
unpow-prod-down_binary64
Counts
3 → 52
Calls

3 calls:

1.0ms
(pow.f64 base 2/3)
1.0ms
(cbrt.f64 (pow.f64 base 2/3))
1.0ms
(cbrt.f64 (cbrt.f64 base))

simplify98.0ms (1.1%)

Algorithm
egg-herbie
Rules
881×fma-def_binary64
596×unswap-sqr_binary64
563×log-prod_binary64
397×exp-prod_binary64
301×log-pow_binary64
Counts
88 → 78
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084703
1136665
2287650
3920616
42377616
53673616
64859616
74827616

prune112.0ms (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New96096
Fresh077
Picked011
Done000
Total968104
Error
0b
Counts
104 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
6.4b
(*.f64 -1 (cbrt.f64 (pow.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)))
33.3b
(/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))) (sqrt.f64 (log.f64 base)))
29.1b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base)))) (sqrt.f64 (neg.f64 (/.f64 (atan2.f64 im re) (log.f64 base))))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (atan2.f64 im re)))
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 (-.f64 (*.f64 (log.f64 base) -2/3) (log.f64 (cbrt.f64 (sqrt.f64 base)))) (neg.f64 (log.f64 (cbrt.f64 (sqrt.f64 base)))))))
0.3b
(*.f64 -1 (/.f64 (atan2.f64 im re) (+.f64 (-.f64 (*.f64 (log.f64 base) -2/3) (log.f64 (cbrt.f64 (pow.f64 base 2/3)))) (neg.f64 (log.f64 (cbrt.f64 (cbrt.f64 base)))))))
Compiler

Compiled 2678 to 1539 computations (42.5% saved)

regimes657.0ms (7.7%)

Accuracy

Total 0.3b remaining (89.9%)

Threshold costs 0.3b (89.9%)

Counts
125 → 1
Compiler

Compiled 11801 to 8201 computations (30.5% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01217
11717
22017
32217
42317
52317

end133.0ms (1.6%)

Compiler

Compiled 163 to 115 computations (29.4% saved)

Profiling

Loading profile data...