Details

Time bar (total: 5.4s)

analyze680.0ms (12.5%)

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)

sample51.0ms (0.9%)

Algorithm
intervals
Results
35.0ms256×body128valid
3.0ms28×body128nan
Compiler

Compiled 66 to 44 computations (33.3% saved)

simplify125.0ms (2.3%)

Algorithm
egg-herbie
Rules
662×cube-prod_binary64
603×distribute-rgt-in_binary64
522×pow-sqr_binary64
453×associate-/l*_binary64
447×sqr-pow_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01922
13119
24912
3709
4789
51979
64529
78679
810259
916079
1018989
1129229
1239789
1342559
1443329
1549019
1648259

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
32.1b
(/.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)))
Compiler

Compiled 89 to 58 computations (34.8% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite22.0ms (0.4%)

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

1 calls:

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

Compiled 370 to 88 computations (76.2% saved)

series33.0ms (0.6%)

Error
0.3b
Counts
1 → 9
Calls

1 calls:

30.0ms
(/.f64 (atan2.f64 im re) (log.f64 base))
Compiler

Compiled 210 to 145 computations (31% saved)

simplify100.0ms (1.8%)

Algorithm
egg-herbie
Rules
649×neg-mul-1_binary64
637×sub-neg_binary64
613×neg-sub0_binary64
350×distribute-neg-in_binary64
336×div-sub_binary64
Counts
40 → 13
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063610
1106572
2211572
3380572
41292572
52872572
63635572
74521572
84919572

prune7.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New11213
Fresh011
Picked011
Done000
Total11415
Error
0.2b
Counts
15 → 4
Alt Table
StatusErrorProgram
6.7b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
32.1b
(/.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)))
1.7b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
Compiler

Compiled 198 to 102 computations (48.5% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.8b
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
5.7b
(cbrt.f64 (atan2.f64 im re))
5.7b
(cbrt.f64 (atan2.f64 im re))
5.7b
(cbrt.f64 (atan2.f64 im re))

rewrite62.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
25×cbrt-prod_binary64
23×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
15×add-cube-cbrt_binary64
11×pow1_binary64
Counts
4 → 73
Calls

4 calls:

5.0ms
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1604 to 235 computations (85.3% saved)

series100.0ms (1.8%)

Error
0.2b
Counts
4 → 24
Calls

4 calls:

28.0ms
(*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))
25.0ms
(cbrt.f64 (atan2.f64 im re))
23.0ms
(cbrt.f64 (atan2.f64 im re))
22.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1044 to 565 computations (45.9% saved)

simplify104.0ms (1.9%)

Algorithm
egg-herbie
Rules
819×log-prod_binary64
569×distribute-rgt-in_binary64
530×distribute-lft-in_binary64
455×unswap-sqr_binary64
355×*-commutative_binary64
Counts
97 → 78
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0491042
179961
2243929
3560909
41392731
53016731
64211731
74772731

prune50.0ms (0.9%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New74478
Fresh022
Picked011
Done011
Total74882
Error
0.1b
Counts
82 → 8
Alt Table
StatusErrorProgram
6.7b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
28.4b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
1.8b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) 4)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
5.4b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
28.4b
(*.f64 (*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 1/6) (pow.f64 (atan2.f64 im re) 1/6)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
32.1b
(/.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)))
1.7b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
Compiler

Compiled 827 to 307 computations (62.9% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

5.7b
(cbrt.f64 (atan2.f64 im re))
5.7b
(cbrt.f64 (atan2.f64 im re))
5.7b
(cbrt.f64 (atan2.f64 im re))
5.7b
(cbrt.f64 (atan2.f64 im re))

rewrite31.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
12×cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
4 → 44
Calls

4 calls:

1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1395 to 302 computations (78.4% saved)

series111.0ms (2%)

Error
0.1b
Counts
4 → 24
Calls

4 calls:

32.0ms
(cbrt.f64 (atan2.f64 im re))
26.0ms
(cbrt.f64 (atan2.f64 im re))
25.0ms
(cbrt.f64 (atan2.f64 im re))
25.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1551 to 808 computations (47.9% saved)

simplify90.0ms (1.7%)

Algorithm
egg-herbie
Rules
813×associate-/r/_binary64
618×log-prod_binary64
449×associate-*l*_binary64
350×distribute-rgt-out_binary64
295×associate-*r*_binary64
Counts
68 → 44
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
019580
127552
254552
3112552
4344536
51538536
62826536
73718536
85193536

prune19.0ms (0.3%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New43144
Fresh055
Picked011
Done022
Total43952
Error
0.1b
Counts
52 → 9
Alt Table
StatusErrorProgram
29.0b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) 4)) (/.f64 (*.f64 (pow.f64 (atan2.f64 im re) 1/6) (pow.f64 (atan2.f64 im re) 1/6)) (log.f64 base)))
5.4b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
6.7b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
28.4b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 im re))) (sqrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
1.8b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) 4)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
28.4b
(*.f64 (*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 1/6) (pow.f64 (atan2.f64 im re) 1/6)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
32.1b
(/.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)))
1.7b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
Compiler

Compiled 755 to 321 computations (57.5% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
0.4b
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base))
5.7b
(cbrt.f64 (atan2.f64 im re))
8.6b
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))

rewrite130.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
76×add-sqr-sqrt_binary64
63×cbrt-prod_binary64
58×times-frac_binary64
42×*-un-lft-identity_binary64
42×add-cube-cbrt_binary64
Counts
4 → 141
Calls

4 calls:

13.0ms
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
3.0ms
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base))
2.0ms
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))
1.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 3057 to 954 computations (68.8% saved)

series149.0ms (2.7%)

Error
0.1b
Counts
4 → 30
Calls

4 calls:

62.0ms
(/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base))
30.0ms
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
28.0ms
(cbrt.f64 (pow.f64 (atan2.f64 im re) 2))
24.0ms
(cbrt.f64 (atan2.f64 im re))
Compiler

Compiled 1110 to 755 computations (32% saved)

simplify152.0ms (2.8%)

Algorithm
egg-herbie
Rules
608×div-sub_binary64
599×associate-/l*_binary64
350×times-frac_binary64
339×associate-*l/_binary64
329×log-prod_binary64
Counts
171 → 132
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01633655
13253198
211003194
335092972
436702686
551072686

prune54.0ms (1%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New1257132
Fresh415
Picked011
Done033
Total12912141
Error
0.1b
Counts
141 → 12
Alt Table
StatusErrorProgram
30.1b
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2))) (cbrt.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)))) (*.f64 (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2/3))))
5.3b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (cbrt.f64 (/.f64 (atan2.f64 im re) (pow.f64 (log.f64 base) 3))))
28.9b
(*.f64 (*.f64 (pow.f64 (atan2.f64 im re) 2/3) (*.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (cbrt.f64 (atan2.f64 im re))))) (/.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) (log.f64 base)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
5.4b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
28.4b
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (atan2.f64 im re)) 2)) (/.f64 (pow.f64 (atan2.f64 im re) 2/3) (log.f64 base)))
1.7b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
28.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (atan2.f64 im re)) 5/2) (*.f64 (cbrt.f64 (log.f64 base)) (cbrt.f64 (log.f64 base)))) (/.f64 (sqrt.f64 (cbrt.f64 (atan2.f64 im re))) (cbrt.f64 (log.f64 base))))
28.8b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2/3)) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2/3))) (cbrt.f64 (pow.f64 (atan2.f64 im re) 2/3))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
30.1b
(*.f64 (cbrt.f64 (pow.f64 (atan2.f64 im re) 2)) (/.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (pow.f64 (atan2.f64 im re) 1/6))))
1.8b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (atan2.f64 im re))) 4)) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 base)))
32.1b
(/.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)))
Compiler

Compiled 1546 to 570 computations (63.1% saved)

regimes1.6s (30.2%)

Accuracy

Total 0.2b remaining (69.1%)

Threshold costs 0.2b (69.1%)

Compiler

Compiled 20859 to 11578 computations (44.5% saved)

simplify3.0ms (0.1%)

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
01114
11514
21814
32114
42414
52514
62414

end1.0ms (0%)

Compiler

Compiled 12 to 9 computations (25% saved)

sample1.7s (30.8%)

Algorithm
intervals
Results
1.0s8000×body128valid
113.0ms980×body128nan
Compiler

Compiled 335 to 201 computations (40% saved)

Profiling

Loading profile data...