Details

Time bar (total: 5.2s)

analyze572.0ms (11%)

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 (36.6%)

Results
1.6s8256×body128valid
204.0ms1008×body128invalid
Compiler

Compiled 95 to 62 computations (34.7% saved)

simplify26.0ms (0.5%)

Algorithm
egg-herbie
Rules
877×fma-def_binary64
692×fma-neg_binary64
407×associate-/l*_binary64
380×div-sub_binary64
313×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01920
14119
26812
3949
41159
52739
610059
723209
833699
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.1%)

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 (atan2.f64 im re) (log.f64 base))
34.2b
(/.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 117 to 73 computations (37.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

series347.0ms (6.7%)

Counts
1 → 8
Calls

1 calls:

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

rewrite35.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
643×log1p-expm1-u_binary64
643×expm1-log1p-u_binary64
351×log-prod_binary64
131×expm1-udef_binary64
131×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11399
217509
Stop Event
node limit
Counts
1 → 36
Calls

1 calls:

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

simplify27.0ms (0.5%)

Algorithm
egg-herbie
Rules
762×div-sub_binary64
628×fma-neg_binary64
494×fma-def_binary64
292×distribute-rgt-in_binary64
231×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016104
129104
24396
39272
418972
558372
6230872
7481572
Stop Event
node limit
Counts
44 → 39

prune30.0ms (0.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New32739
Fresh011
Picked011
Done000
Total32941
Error
0.1b
Counts
41 → 9
Alt Table
StatusErrorProgram
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
6.8b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.4b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
32.0b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.4b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
34.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
1.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
34.2b
(/.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 720 to 323 computations (55.1% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series370.0ms (7.1%)

Counts
2 → 44
Calls

2 calls:

338.0ms
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
32.0ms
(/.f64 1 (log.f64 base))

rewrite41.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
712×log1p-expm1-u_binary64
712×expm1-log1p-u_binary64
149×expm1-udef_binary64
149×log1p-udef_binary64
86×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
117515
2204715
Stop Event
node limit
Counts
2 → 49
Calls

2 calls:

40.0ms
(/.f64 1 (log.f64 base))
40.0ms
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))

simplify38.0ms (0.7%)

Algorithm
egg-herbie
Rules
767×div-sub_binary64
628×fma-neg_binary64
493×fma-def_binary64
292×distribute-rgt-in_binary64
231×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
020388
132388
246372
394372
4190372
5581372
62294372
74778372
Stop Event
node limit
Counts
93 → 54

prune45.0ms (0.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New52254
Fresh077
Picked011
Done011
Total521163
Error
0.0b
Counts
63 → 11
Alt Table
StatusErrorProgram
0.6b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.4b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
1.3b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
1.4b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.3b
(*.f64 (atan2.f64 im re) (/.f64 1 (log.f64 base)))
6.8b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
32.0b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
34.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
1.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
34.2b
(/.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 867 to 462 computations (46.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
0.3b
(/.f64 (log.f64 base) (atan2.f64 im re))

series699.0ms (13.5%)

Counts
2 → 44
Calls

2 calls:

366.0ms
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
333.0ms
(/.f64 (log.f64 base) (atan2.f64 im re))

rewrite42.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
791×log1p-expm1-u_binary64
791×expm1-log1p-u_binary64
91×add-sqr-sqrt_binary64
84×add-log-exp_binary64
83×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921
118118
2221418
Stop Event
node limit
Counts
2 → 76
Calls

2 calls:

41.0ms
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
41.0ms
(/.f64 (log.f64 base) (atan2.f64 im re))

simplify42.0ms (0.8%)

Algorithm
egg-herbie
Rules
491×distribute-rgt-in_binary64
360×fma-def_binary64
350×distribute-lft-in_binary64
293×div-sub_binary64
214×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
021428
140428
265396
3133396
4381396
51221396
63537396
Stop Event
node limit
Counts
120 → 81

prune69.0ms (1.3%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New75681
Fresh178
Picked011
Done112
Total771592
Error
0.0b
Counts
92 → 15
Alt Table
StatusErrorProgram
32.6b
(pow.f64 (*.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) -1)
6.8b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.6b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.4b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
1.2b
(pow.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) -1)
32.0b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.3b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
1.4b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.4b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
10.8b
(pow.f64 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) -1)
35.5b
(pow.f64 (pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3) -1)
34.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
0.3b
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
1.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
Compiler

Compiled 1423 to 654 computations (54% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series327.0ms (6.3%)

Counts
1 → 36
Calls

1 calls:

327.0ms
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))

rewrite35.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
709×log1p-expm1-u_binary64
709×expm1-log1p-u_binary64
149×expm1-udef_binary64
149×log1p-udef_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
099
11739
220099
Stop Event
node limit
Counts
1 → 26
Calls

1 calls:

35.0ms
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))

simplify33.0ms (0.6%)

Algorithm
egg-herbie
Rules
750×div-sub_binary64
628×fma-neg_binary64
493×fma-def_binary64
292×distribute-rgt-in_binary64
231×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018324
130324
244324
392324
4189324
5580324
62307324
74818324
Stop Event
node limit
Counts
62 → 28

prune46.0ms (0.9%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New54054
Fresh01212
Picked011
Done022
Total541569
Error
0.0b
Counts
69 → 15
Alt Table
StatusErrorProgram
32.6b
(pow.f64 (*.f64 (/.f64 1 (sqrt.f64 (atan2.f64 im re))) (/.f64 (log.f64 base) (sqrt.f64 (atan2.f64 im re)))) -1)
6.8b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 base)) 3))
0.6b
(*.f64 (atan2.f64 im re) (cbrt.f64 (pow.f64 (/.f64 1 (log.f64 base)) 3)))
0.4b
(pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) -1)
1.2b
(pow.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (atan2.f64 im re))) 2)) -1)
32.0b
(pow.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 2)
1.3b
(*.f64 (atan2.f64 im re) (pow.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) 3))
1.4b
(pow.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 base))) 3)
0.4b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (atan2.f64 im re)))
0.3b
(/.f64 (atan2.f64 im re) (log.f64 base))
10.8b
(pow.f64 (log.f64 (pow.f64 base (/.f64 1 (atan2.f64 im re)))) -1)
35.5b
(pow.f64 (pow.f64 (pow.f64 (/.f64 (log.f64 base) (atan2.f64 im re)) 3) 1/3) -1)
34.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 base))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 base))))
0.3b
(*.f64 (/.f64 1 (log.f64 base)) (atan2.f64 im re))
1.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (log.f64 base)) 2)) (/.f64 (atan2.f64 im re) (cbrt.f64 (log.f64 base))))
Compiler

Compiled 778 to 399 computations (48.7% saved)

regimes247.0ms (4.8%)

Accuracy

Total 0.3b remaining (87%)

Threshold costs 0.3b (87%)

Counts
47 → 1
Compiler

Compiled 3681 to 2546 computations (30.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
Stop Event
saturated

end185.0ms (3.6%)

Compiler

Compiled 229 to 161 computations (29.7% saved)

Profiling

Loading profile data...