Details

Time bar (total: 7.3s)

analyze4.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
99.9%0%0.1%3
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.4s (18.6%)

Symmetry

(sort re im)

Results
1.3s8256×body128valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
hypot-def_binary64
fma-def_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01111
11411
21611
31611

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.6b
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))
Compiler

Compiled 39 to 29 computations (25.6% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.6b
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))

series56.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

43.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))
13.0ms
(hypot.f64 re im)

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
16×times-frac_binary64
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
12×pow1_binary64
Counts
2 → 48
Calls

2 calls:

3.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))
0.0ms
(hypot.f64 re im)

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
783×times-frac_binary64
715×fma-neg_binary64
436×associate-/r*_binary64
404×associate-/l*_binary64
347×fma-def_binary64
Counts
96 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822237
14722152
212922092
345522092
450542092

prune140.0ms (1.9%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New10013113
Fresh000
Picked101
Done000
Total10113114
Error
0.1b
Counts
114 → 13
Alt Table
StatusErrorProgram
0.6b
(/.f64 (log.f64 (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))) (log.f64 10))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))
16.3b
(/.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (/.f64 (log.f64 10) (sqrt.f64 (log.f64 (hypot.f64 re im)))))
16.7b
(exp.f64 (log.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
1.3b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (sqrt.f64 (log.f64 10))))
1.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 10))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
16.3b
(*.f64 (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
0.7b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) (log.f64 (hypot.f64 re im))) (log.f64 (hypot.f64 re im))) (*.f64 (*.f64 (log.f64 10) (log.f64 10)) (log.f64 10))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
0.6b
(/.f64 1 (/.f64 (log.f64 10) (log.f64 (hypot.f64 re im))))
16.6b
(expm1.f64 (log1p.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
16.3b
(*.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (/.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
Compiler

Compiled 2714 to 1845 computations (32% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))
0.5b
(/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))

series74.0ms (1%)

Counts
2 → 48
Calls

2 calls:

39.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))
35.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))

rewrite44.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
99×times-frac_binary64
96×add-sqr-sqrt_binary64
59×sqrt-prod_binary64
56×*-un-lft-identity_binary64
50×add-cube-cbrt_binary64
Counts
2 → 151
Calls

2 calls:

22.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))
5.0ms
(/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))

simplify249.0ms (3.4%)

Algorithm
egg-herbie
Rules
605×fma-def_binary64
563×associate-/r*_binary64
405×fma-neg_binary64
308×associate-/l/_binary64
218×cancel-sign-sub-inv_binary64
Counts
199 → 236
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02655977
17315300
221855063
345895035
449925035
549865035
649605035

prune274.0ms (3.8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2735278
Fresh4812
Picked101
Done000
Total27813291
Error
0.0b
Counts
291 → 13
Alt Table
StatusErrorProgram
1.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))))
1.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 10))))
0.6b
(/.f64 (*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (log.f64 (hypot.f64 re im))) (sqrt.f64 (log.f64 10)))
0.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))))
1.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (sqrt.f64 (log.f64 10)))))
1.3b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (sqrt.f64 (log.f64 10))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
16.3b
(*.f64 (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
0.7b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) (log.f64 (hypot.f64 re im))) (log.f64 (hypot.f64 re im))) (*.f64 (*.f64 (log.f64 10) (log.f64 10)) (log.f64 10))))
16.4b
(*.f64 (/.f64 (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))) (sqrt.f64 (log.f64 10))) (sqrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))))
16.7b
(exp.f64 (log.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
16.3b
(*.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (/.f64 (sqrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
Compiler

Compiled 7838 to 5860 computations (25.2% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))))
1.0b
(/.f64 1 (log.f64 10))
3.9b
(pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))

series258.0ms (3.5%)

Counts
3 → 48
Calls

3 calls:

183.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))))
75.0ms
(pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))
0.0ms
(/.f64 1 (log.f64 10))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
53×add-sqr-sqrt_binary64
49×times-frac_binary64
43×*-un-lft-identity_binary64
41×add-cube-cbrt_binary64
30×sqrt-prod_binary64
Counts
3 → 139
Calls

3 calls:

9.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))))
3.0ms
(pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))
3.0ms
(/.f64 1 (log.f64 10))

simplify263.0ms (3.6%)

Algorithm
egg-herbie
Rules
343×associate-*r*_binary64
295×fma-neg_binary64
291×associate-*l*_binary64
257×fma-def_binary64
243×associate-/l*_binary64
Counts
187 → 262
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04137156
112206771
247886769
350166769

prune576.0ms (7.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3013304
Fresh7512
Picked101
Done000
Total3098317
Error
0b
Counts
317 → 8
Alt Table
StatusErrorProgram
1.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (sqrt.f64 (log.f64 10)))))
1.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
0.1b
(log.f64 (pow.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))) (/.f64 1 (sqrt.f64 (log.f64 10)))))
0.2b
(*.f64 (/.f64 (sqrt.f64 (/.f64 1 (log.f64 10))) (sqrt.f64 (log.f64 10))) (log.f64 (hypot.f64 re im)))
0.7b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) (log.f64 (hypot.f64 re im))) (log.f64 (hypot.f64 re im))) (*.f64 (*.f64 (log.f64 10) (log.f64 10)) (log.f64 10))))
0.4b
(*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (log.f64 10)))) (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (log.f64 10)))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))))))
Compiler

Compiled 11120 to 9240 computations (16.9% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
1.0b
(/.f64 1 (log.f64 10))
3.4b
(pow.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))) (/.f64 1 (sqrt.f64 (log.f64 10))))
3.9b
(pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10))))

series188.0ms (2.6%)

Counts
1 → 24
Calls

1 calls:

188.0ms
(pow.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))) (/.f64 1 (sqrt.f64 (log.f64 10))))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
25×pow-unpow_binary64
21×times-frac_binary64
17×*-un-lft-identity_binary64
17×add-sqr-sqrt_binary64
17×add-cube-cbrt_binary64
Counts
1 → 47
Calls

1 calls:

9.0ms
(pow.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))) (/.f64 1 (sqrt.f64 (log.f64 10))))

simplify107.0ms (1.5%)

Algorithm
egg-herbie
Rules
504×cancel-sign-sub-inv_binary64
336×times-frac_binary64
282×associate-/l*_binary64
272×associate-/r*_binary64
215×unswap-sqr_binary64
Counts
71 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02824070
19484018
240073898
354293898

prune724.0ms (9.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2620262
Fresh077
Picked011
Done000
Total2628270
Error
0b
Counts
270 → 8
Alt Table
StatusErrorProgram
1.2b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (log.f64 10))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (sqrt.f64 (log.f64 10)))))
1.3b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10)))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))) (cbrt.f64 (/.f64 (log.f64 (hypot.f64 re im)) (sqrt.f64 (log.f64 10))))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (cbrt.f64 (log.f64 (hypot.f64 re im)))) (/.f64 (cbrt.f64 (log.f64 (hypot.f64 re im))) (log.f64 10)))
0.1b
(log.f64 (pow.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))) (/.f64 1 (sqrt.f64 (log.f64 10)))))
0.2b
(*.f64 (/.f64 (sqrt.f64 (/.f64 1 (log.f64 10))) (sqrt.f64 (log.f64 10))) (log.f64 (hypot.f64 re im)))
0.7b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) (log.f64 (hypot.f64 re im))) (log.f64 (hypot.f64 re im))) (*.f64 (*.f64 (log.f64 10) (log.f64 10)) (log.f64 10))))
0.4b
(*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (log.f64 10)))) (*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (log.f64 10)))) (log.f64 (pow.f64 (hypot.f64 re im) (sqrt.f64 (/.f64 1 (log.f64 10)))))))
Compiler

Compiled 11798 to 10010 computations (15.2% saved)

regimes2.5s (34%)

Accuracy

Total 0.1b remaining (85.1%)

Threshold costs 0.1b (85.1%)

Counts
164 → 1
Compiler

Compiled 26304 to 21851 computations (16.9% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01630
11830
21730

end292.0ms (4%)

Remove

(sort re im)

Compiler

Compiled 291 to 223 computations (23.4% saved)

Profiling

Loading profile data...