Details

Time bar (total: 3.8s)

analyze374.0ms (9.8%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0493140
1493140
022
122
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
25%74.9%0.1%5
25%62.4%12.6%6
31.2%50%18.8%7
40.6%37.5%22%8
45.3%26.5%28.2%9
46.8%19.5%33.7%10
48.8%14%37.2%11
51.7%10.1%38.1%12
52.8%7.1%40.1%13
53.3%5.1%41.6%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample19.0ms (0.5%)

Algorithm
intervals
Results
11.0ms256×body128valid
0.0ms10×body128invalid
Compiler

Compiled 39 to 25 computations (35.9% saved)

simplify145.0ms (3.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (140.0ms)

IterNodesCost
0495620
1495620

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
8.8b
Counts
2 → 2
Compiler

Compiled 41 to 29 computations (29.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
0.1b
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
0.2b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
8.3b
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)

rewrite35.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64_2828 associate-*l/_binary64_2749
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 *-un-lft-identity_binary64_2806 add-log-exp_binary64_2845 add-cube-cbrt_binary64_2841 pow1_binary64_2867
associate-*l*_binary64_2747
associate-*r*_binary64_2746
flip3--_binary64_2810 flip-+_binary64_2780 frac-sub_binary64_2815 flip--_binary64_2781 flip3-+_binary64_2809
*-commutative_binary64_2737 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 pow-prod-down_binary64_2877 unswap-sqr_binary64_2774
cancel-sign-sub-inv_binary64_2772 diff-log_binary64_2898 sub-neg_binary64_2799 sum-log_binary64_2897 difference-of-squares_binary64_2775 +-commutative_binary64_2736
Counts
4 → 68
Calls

4 calls:

9.0ms
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
8.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
6.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
4.0ms
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))

series118.0ms (3.1%)

Counts
4 → 12
Calls

4 calls:

38.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
33.0ms
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
29.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
17.0ms
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))

simplify52.0ms (1.4%)

Algorithm
egg-herbie
Counts
80 → 80
Iterations

Useful iterations: 0 (25.0ms)

IterNodesCost
046851737
146851737

prune97.0ms (2.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New74680
Fresh011
Picked101
Done000
Total75782
Error
0.1b
Counts
82 → 7
Compiler

Compiled 2090 to 893 computations (57.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 x.re (-.f64 x.re x.im))
0.1b
(-.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
0.2b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
0.2b
(*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im)))

rewrite57.0ms (1.5%)

Algorithm
rewrite-expression-head
Rules
36×distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756
31×cancel-sign-sub-inv_binary64_2772
26×associate-*r/_binary64_2748
25×add-sqr-sqrt_binary64_2828
24×associate-*l/_binary64_2749
23×*-un-lft-identity_binary64_2806
19×add-cube-cbrt_binary64_2841
18×flip-+_binary64_2780 flip3-+_binary64_2809
16×associate--l+_binary64_2743 frac-sub_binary64_2815
13×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 pow1_binary64_2867
12×frac-times_binary64_2816
11×flip3--_binary64_2810 sub-neg_binary64_2799 flip--_binary64_2781
10×associate-*l*_binary64_2747
associate-*r*_binary64_2746
add-log-exp_binary64_2845
prod-exp_binary64_2855 cbrt-unprod_binary64_2839 pow-prod-down_binary64_2877
*-commutative_binary64_2737
unswap-sqr_binary64_2774
distribute-lft-out_binary64_2757 distribute-lft-out--_binary64_2758 diff-log_binary64_2898 difference-of-squares_binary64_2775
Counts
4 → 137
Calls

4 calls:

15.0ms
(-.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
12.0ms
(*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im)))
7.0ms
(*.f64 x.re (-.f64 x.re x.im))
6.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)

series135.0ms (3.6%)

Counts
4 → 12
Calls

4 calls:

41.0ms
(-.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
37.0ms
(*.f64 (+.f64 x.re x.im) (*.f64 x.re (-.f64 x.re x.im)))
34.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
23.0ms
(*.f64 x.re (-.f64 x.re x.im))

simplify109.0ms (2.9%)

Algorithm
egg-herbie
Counts
149 → 149
Iterations

Useful iterations: 0 (60.0ms)

IterNodesCost
047023820
147023820

prune150.0ms (4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1436149
Fresh426
Picked101
Done000
Total1488156
Error
0.0b
Counts
156 → 8
Compiler

Compiled 3932 to 1396 computations (64.5% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))))
0.2b
(+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))
0.2b
(*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im))))
5.7b
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))

rewrite49.0ms (1.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64_2828 associate-*r/_binary64_2748
11×associate-*l*_binary64_2747 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 *-un-lft-identity_binary64_2806 pow1_binary64_2867
add-cube-cbrt_binary64_2841
flip-+_binary64_2780 add-log-exp_binary64_2845 flip3-+_binary64_2809
associate-*r*_binary64_2746
distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756
associate-+l+_binary64_2739 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 frac-add_binary64_2814 pow-prod-down_binary64_2877
distribute-lft-neg-in_binary64_2763 distribute-rgt-neg-in_binary64_2764
*-commutative_binary64_2737 associate-+r+_binary64_2738 sum-log_binary64_2897 distribute-lft-neg-out_binary64_2765 unswap-sqr_binary64_2774 +-commutative_binary64_2736
distribute-lft-out_binary64_2757 unsub-neg_binary64_2800 neg-mul-1_binary64_2802
Counts
4 → 87
Calls

4 calls:

12.0ms
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))))
12.0ms
(*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im))))
8.0ms
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))
8.0ms
(+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))

series148.0ms (3.9%)

Counts
4 → 12
Calls

4 calls:

48.0ms
(*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im))))
46.0ms
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (*.f64 (neg.f64 x.im) (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))))
27.0ms
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))
26.0ms
(+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 2 (*.f64 x.re x.im)))

simplify84.0ms (2.2%)

Algorithm
egg-herbie
Counts
99 → 99
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
050112769

prune113.0ms (3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New98199
Fresh257
Picked011
Done000
Total1007107
Error
0.0b
Counts
107 → 7
Compiler

Compiled 2916 to 1251 computations (57.1% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (neg.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))))
0.2b
(*.f64 x.re (+.f64 x.re (*.f64 x.im 3)))
0.2b
(*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))
5.7b
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))

rewrite44.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
20×associate-*r/_binary64_2748
16×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 pow1_binary64_2867
11×add-sqr-sqrt_binary64_2828 distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756
10×*-un-lft-identity_binary64_2806
flip-+_binary64_2780 add-log-exp_binary64_2845 add-cube-cbrt_binary64_2841 flip3-+_binary64_2809 associate-*r*_binary64_2746
associate-*l*_binary64_2747 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 pow-prod-down_binary64_2877
associate-+r+_binary64_2738 distribute-neg-frac_binary64_2770 frac-add_binary64_2814 distribute-neg-in_binary64_2767
*-commutative_binary64_2737
associate-+l+_binary64_2739 sum-log_binary64_2897 unswap-sqr_binary64_2774
neg-sub0_binary64_2801 distribute-lft-out_binary64_2757 unsub-neg_binary64_2800 neg-log_binary64_2899 associate-+r-_binary64_2740 +-commutative_binary64_2736
Counts
4 → 94
Calls

4 calls:

14.0ms
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (neg.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))))
8.0ms
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))
7.0ms
(*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))
6.0ms
(*.f64 x.re (+.f64 x.re (*.f64 x.im 3)))

series126.0ms (3.3%)

Counts
4 → 12
Calls

4 calls:

38.0ms
(+.f64 (*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (neg.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))))
36.0ms
(*.f64 x.im (*.f64 x.re (+.f64 x.re (*.f64 x.im 3))))
26.0ms
(*.f64 (*.f64 x.re x.re) (+.f64 x.re x.im))
26.0ms
(*.f64 x.re (+.f64 x.re (*.f64 x.im 3)))

simplify85.0ms (2.2%)

Algorithm
egg-herbie
Counts
106 → 106
Iterations

Useful iterations: 0 (55.0ms)

IterNodesCost
050952291

prune304.0ms (8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1051106
Fresh145
Picked011
Done011
Total1067113
Error
0b
Counts
113 → 7
Compiler

Compiled 2478 to 1337 computations (46% saved)

regimes228.0ms (6%)

Accuracy

Total 0.2b remaining (98.4%)

Threshold costs 0.2b (98.4%)

Compiler

Compiled 3006 to 1887 computations (37.2% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
06620
16620

end0.0ms (0%)

sample1.3s (33.6%)

Algorithm
intervals
Results
362.0ms8000×body128valid
18.0ms404×body128invalid
Compiler

Compiled 1036 to 653 computations (37% saved)

Profiling

Loading profile data...