Details

Time bar (total: 8.6s)

analyze585.0ms (6.8%)

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.0s (22.7%)

Symmetry

(sort re im)

Results
1.7s8256×body128valid
197.0ms1044×body128invalid
Compiler

Compiled 95 to 62 computations (34.7% saved)

simplify64.0ms (0.7%)

Algorithm
egg-herbie
Rules
583×rules-6_binary64
568×rules-33_binary64
520×cube-div_binary64
414×rules-5-rev_binary64
355×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01922
13721
28714
327511
496511
5398111
6466111
7545111

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

Compiled 120 to 77 computations (35.8% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series735.0ms (8.5%)

Counts
2 → 60
Calls

2 calls:

724.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
11.0ms
(hypot.f64 re im)

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
695×log1p-expm1-u_binary64
695×expm1-log1p-u_binary64
159×prod-diff_binary64
138×log1p-udef_binary64
77×add-sqr-sqrt_binary64
Counts
2 → 60
Calls

2 calls:

48.0ms
(hypot.f64 re im)
48.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
117415
2210015
3516215
000
100

simplify120.0ms (1.4%)

Algorithm
egg-herbie
Rules
586×rules-15-rev_binary64
518×fma-neg_binary64
361×rules-20_binary64
284×rules-14-rev_binary64
249×fma-udef_binary64
Counts
120 → 136
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01331694
14151570
216941534
349071534
451011534

prune140.0ms (1.6%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New12412136
Fresh011
Picked101
Done000
Total12513138
Error
0.0b
Counts
138 → 13
Alt Table
StatusErrorProgram
1.6b
(log1p.f64 (expm1.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))))
16.1b
(-.f64 (exp.f64 (log1p.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)))) 1)
40.7b
(/.f64 (log.f64 (pow.f64 (pow.f64 (hypot.f64 re im) 3) 1/3)) (log.f64 base))
0.7b
(cbrt.f64 (/.f64 (pow.f64 (log.f64 (hypot.f64 re im)) 3) (pow.f64 (log.f64 base) 3)))
34.0b
(pow.f64 (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))) 2)
1.3b
(pow.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))) 3)
14.7b
(*.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (/.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 base)))
1.3b
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) 2) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 base)))
14.7b
(/.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))) (log.f64 base))
1.3b
(/.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) 2)) (cbrt.f64 (log.f64 (hypot.f64 re im))))) (log.f64 base))
0.4b
(*.f64 (log.f64 (hypot.f64 re im)) (/.f64 1 (log.f64 base)))
31.3b
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.7b
(cbrt.f64 (pow.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)) 3))
Compiler

Compiled 2804 to 1512 computations (46.1% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series676.0ms (7.8%)

Counts
2 → 44
Calls

2 calls:

642.0ms
(*.f64 (log.f64 (hypot.f64 re im)) (/.f64 1 (log.f64 base)))
34.0ms
(/.f64 1 (log.f64 base))

rewrite66.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
850×log1p-expm1-u_binary64
850×expm1-log1p-u_binary64
234×prod-diff_binary64
104×egg-rr
92×add-sqr-sqrt_binary64
Counts
2 → 104
Calls

2 calls:

63.0ms
(/.f64 1 (log.f64 base))
63.0ms
(*.f64 (log.f64 (hypot.f64 re im)) (/.f64 1 (log.f64 base)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
121717
2257317
3610117
000
100

simplify65.0ms (0.8%)

Algorithm
egg-herbie
Rules
457×rules-15-rev_binary64
397×fma-neg_binary64
364×rules-12-rev_binary64
262×rules-20_binary64
226×rules-14-rev_binary64
Counts
148 → 154
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0981292
12931188
212011132
348821132
450261132

prune195.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2096215
Fresh7512
Picked101
Done000
Total21711228
Error
0.0b
Counts
228 → 11
Alt Table
StatusErrorProgram
14.7b
(/.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))) (log.f64 base))
0.7b
(log.f64 (pow.f64 (hypot.f64 re im) (/.f64 1 (log.f64 base))))
0.9b
(*.f64 (log.f64 (hypot.f64 re im)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
14.7b
(*.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (/.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 base)))
0.9b
(+.f64 (fma.f64 (cbrt.f64 (pow.f64 (log.f64 base) -2)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (log.f64 (hypot.f64 re im))) (neg.f64 (*.f64 0 (log.f64 (hypot.f64 re im))))) (fma.f64 0 (log.f64 (hypot.f64 re im)) (*.f64 0 (log.f64 (hypot.f64 re im)))))
1.6b
(log1p.f64 (expm1.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))))
31.3b
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
1.2b
(+.f64 (fma.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) 2)) (neg.f64 (*.f64 0 (log.f64 (hypot.f64 re im))))) (fma.f64 0 (log.f64 (hypot.f64 re im)) (*.f64 0 (log.f64 (hypot.f64 re im)))))
0.7b
(cbrt.f64 (pow.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)) 3))
0.5b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 (hypot.f64 re im))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))))
Compiler

Compiled 4709 to 2406 computations (48.9% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series1.2s (13.6%)

Counts
2 → 72
Calls

2 calls:

616.0ms
(/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))
558.0ms
(/.f64 1 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))))

rewrite59.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
831×log1p-expm1-u_binary64
831×expm1-log1p-u_binary64
180×prod-diff_binary64
92×add-sqr-sqrt_binary64
86×add-log-exp_binary64
Counts
2 → 61
Calls

2 calls:

58.0ms
(/.f64 1 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))))
58.0ms
(/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
121522
2251722
3586022
000
100

simplify72.0ms (0.8%)

Algorithm
egg-herbie
Rules
341×rules-4_binary64
296×rules-6_binary64
261×fma-def_binary64
237×rules-14-rev_binary64
211×rules-13_binary64
Counts
133 → 165
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03003474
111563193
251923193

prune181.0ms (2.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2242226
Fresh2810
Picked011
Done000
Total22611237
Error
0b
Counts
237 → 11
Alt Table
StatusErrorProgram
0.7b
(/.f64 1 (cbrt.f64 (pow.f64 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))) 3)))
0.9b
(*.f64 (log.f64 (hypot.f64 re im)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
14.7b
(/.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))) (log.f64 base))
0.7b
(log.f64 (pow.f64 (hypot.f64 re im) (/.f64 1 (log.f64 base))))
1.4b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) -1))
31.3b
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
1.6b
(log1p.f64 (expm1.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))))
1.2b
(+.f64 (fma.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) 2)) (neg.f64 (*.f64 0 (log.f64 (hypot.f64 re im))))) (fma.f64 0 (log.f64 (hypot.f64 re im)) (*.f64 0 (log.f64 (hypot.f64 re im)))))
0.7b
(cbrt.f64 (pow.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)) 3))
0.5b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 (hypot.f64 re im))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))))
Compiler

Compiled 6275 to 3582 computations (42.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series594.0ms (6.9%)

Counts
2 → 60
Calls

2 calls:

552.0ms
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 (hypot.f64 re im))))
42.0ms
(/.f64 1 (log.f64 (hypot.f64 re im)))

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
756×fma-neg_binary64
439×fma-def_binary64
232×prod-diff_binary64
181×expm1-udef_binary64
181×log1p-udef_binary64
Counts
2 → 125
Calls

2 calls:

68.0ms
(/.f64 1 (log.f64 (hypot.f64 re im)))
68.0ms
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 (hypot.f64 re im))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
123920
2284120
3503420
000
100

simplify109.0ms (1.3%)

Algorithm
egg-herbie
Rules
248×fma-def_binary64
229×rules-14-rev_binary64
218×rules-6_binary64
198×rules-13_binary64
167×rules-21_binary64
Counts
185 → 216
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02912808
110432676
248242642
349542642
449872642

prune252.0ms (2.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New3091310
Fresh189
Picked011
Done011
Total31011321
Error
0b
Counts
321 → 11
Alt Table
StatusErrorProgram
14.7b
(/.f64 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))) (log.f64 base))
0.7b
(log.f64 (pow.f64 (hypot.f64 re im) (/.f64 1 (log.f64 base))))
1.4b
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im)))) -1))
31.3b
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) 0)) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 0 0)))
0.9b
(*.f64 (log.f64 (hypot.f64 re im)) (*.f64 (/.f64 1 (cbrt.f64 (log.f64 base))) (cbrt.f64 (pow.f64 (log.f64 base) -2))))
0.6b
(cbrt.f64 (/.f64 (/.f64 1 (pow.f64 (log.f64 base) 3)) (/.f64 1 (pow.f64 (log.f64 (hypot.f64 re im)) 3))))
1.6b
(log1p.f64 (expm1.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base))))
1.2b
(+.f64 (fma.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (*.f64 (/.f64 1 (log.f64 base)) (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) 2)) (neg.f64 (*.f64 0 (log.f64 (hypot.f64 re im))))) (fma.f64 0 (log.f64 (hypot.f64 re im)) (*.f64 0 (log.f64 (hypot.f64 re im)))))
0.7b
(cbrt.f64 (pow.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 base)) 3))
0.5b
(/.f64 (/.f64 1 (log.f64 base)) (/.f64 1 (log.f64 (hypot.f64 re im))))
0.4b
(/.f64 1 (/.f64 (log.f64 base) (log.f64 (hypot.f64 re im))))
Compiler

Compiled 7570 to 4326 computations (42.9% saved)

regimes1.2s (14.4%)

Accuracy

Total 0.3b remaining (90.5%)

Threshold costs 0.3b (90.5%)

Counts
218 → 1
Compiler

Compiled 19056 to 13421 computations (29.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
11215
21115

end165.0ms (1.9%)

Remove

(sort re im)

Compiler

Compiled 270 to 185 computations (31.5% saved)

Profiling

Loading profile data...