Details

Time bar (total: 6.8s)

analyze516.0ms (7.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample22.0ms (0.3%)

Algorithm
intervals
Results
10.0ms256×body128valid
3.0ms16×body128invalid
Compiler

Compiled 31 to 27 computations (12.9% saved)

simplify158.0ms (2.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
01830
11830

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 27.2b

Counts
2 → 1
Compiler

Compiled 30 to 22 computations (26.7% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
0.9b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
26.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

rewrite27.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101 add-cube-cbrt_binary64_1136
times-frac_binary64_1107
add-log-exp_binary64_1140
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
flip3-+_binary64_1104 flip-+_binary64_1075
pow1_binary64_1162 associate-/l*_binary64_1046 associate-/r*_binary64_1045
sum-log_binary64_1192 associate-/l/_binary64_1048 associate-/r/_binary64_1047 +-commutative_binary64_1031
frac-2neg_binary64_1112 clear-num_binary64_1100 div-inv_binary64_1098 div-exp_binary64_1152 cbrt-undiv_binary64_1135
Counts
3 → 53
Calls

3 calls:

13.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
5.0ms
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
4.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

series291.0ms (4.3%)

Counts
3 → 9
Calls

3 calls:

179.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
70.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
42.0ms
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))

simplify74.0ms (1.1%)

Algorithm
egg-herbie
Counts
62 → 62
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
055731768

prune92.0ms (1.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New55762
Fresh000
Picked011
Done000
Total55863

Merged error: 26.4b

Counts
63 → 8
Compiler

Compiled 1639 to 673 computations (58.9% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.9b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
16.8b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
30.2b
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
30.2b
(sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

rewrite46.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
43×*-un-lft-identity_binary64_1101
28×sqrt-prod_binary64_1117
25×add-sqr-sqrt_binary64_1123
24×times-frac_binary64_1107
23×add-cube-cbrt_binary64_1136
10×unpow-prod-down_binary64_1180 distribute-lft-out_binary64_1052
associate-/r*_binary64_1045
add-log-exp_binary64_1140 add-exp-log_binary64_1139 pow1_binary64_1162 add-cbrt-cube_binary64_1137 sqrt-div_binary64_1118
flip3-+_binary64_1104 flip-+_binary64_1075
associate-/l*_binary64_1046
rem-sqrt-square_binary64_1114 sqrt-pow1_binary64_1119 associate-/l/_binary64_1048 associate-/r/_binary64_1047 pow1/2_binary64_1181
frac-2neg_binary64_1112 sum-log_binary64_1192 clear-num_binary64_1100 div-inv_binary64_1098 +-commutative_binary64_1031 div-exp_binary64_1152 cbrt-undiv_binary64_1135
Counts
4 → 94
Calls

4 calls:

15.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
4.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
4.0ms
(sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

series408.0ms (6%)

Counts
4 → 12
Calls

4 calls:

240.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
77.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
49.0ms
(sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
43.0ms
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

simplify65.0ms (1%)

Algorithm
egg-herbie
Counts
106 → 106
Iterations

Useful iterations: 0 (31.0ms)

IterNodesCost
049633187
149633187

prune150.0ms (2.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1015106
Fresh246
Picked011
Done011
Total10311114

Merged error: 24.2b

Counts
114 → 11
Compiler

Compiled 3653 to 1530 computations (58.1% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

8.9b
(cbrt.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
26.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
26.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
26.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

rewrite85.0ms (1.3%)

Algorithm
rewrite-expression-head
Rules
103×*-un-lft-identity_binary64_1101
60×times-frac_binary64_1107
43×add-sqr-sqrt_binary64_1123 add-cube-cbrt_binary64_1136
30×unpow-prod-down_binary64_1180 distribute-lft-out_binary64_1052
21×cbrt-prod_binary64_1132
15×associate-/r*_binary64_1045
10×add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
associate-/l*_binary64_1046
associate-/r/_binary64_1047
flip3-+_binary64_1104 flip-+_binary64_1075
associate-/l/_binary64_1048
add-log-exp_binary64_1140 pow1_binary64_1162 div-inv_binary64_1098
frac-2neg_binary64_1112 clear-num_binary64_1100 div-exp_binary64_1152 cbrt-undiv_binary64_1135
pow1/3_binary64_1183 cbrt-div_binary64_1133
Counts
4 → 147
Calls

4 calls:

17.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
15.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
14.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
12.0ms
(cbrt.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))

series915.0ms (13.5%)

Counts
4 → 12
Calls

4 calls:

415.0ms
(cbrt.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
167.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
166.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
166.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

simplify104.0ms (1.5%)

Algorithm
egg-herbie
Counts
159 → 159
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
050426314

prune409.0ms (6%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1590159
Fresh088
Picked011
Done022
Total15911170

Merged error: 24.2b

Counts
170 → 11
Compiler

Compiled 9694 to 4529 computations (53.3% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3)
0.9b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
26.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
29.5b
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3))

rewrite74.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
116×*-un-lft-identity_binary64_1101
75×times-frac_binary64_1107
74×unpow-prod-down_binary64_1180
52×add-sqr-sqrt_binary64_1123 add-cube-cbrt_binary64_1136
48×cbrt-prod_binary64_1132
42×cube-prod_binary64_1129
32×distribute-lft-out_binary64_1052
10×associate-/r/_binary64_1047
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
flip3-+_binary64_1104 flip-+_binary64_1075
add-log-exp_binary64_1140
pow1_binary64_1162 div-inv_binary64_1098 associate-/r*_binary64_1045
pow-unpow_binary64_1178 associate-/l*_binary64_1046
pow-exp_binary64_1169 cube-mult_binary64_1131 rem-cube-cbrt_binary64_1124 associate-/l/_binary64_1048 cube-div_binary64_1130 unpow3_binary64_1167 div-exp_binary64_1152 cbrt-undiv_binary64_1135 sqr-pow_binary64_1073
pow1/3_binary64_1183 pow-pow_binary64_1173 frac-2neg_binary64_1112 sum-log_binary64_1192 clear-num_binary64_1100 +-commutative_binary64_1031 pow-to-exp_binary64_1170 cbrt-div_binary64_1133 rem-cbrt-cube_binary64_1125
Counts
4 → 170
Calls

4 calls:

17.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3))
16.0ms
(pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3)
15.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
4.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

series1.2s (17.7%)

Counts
4 → 12
Calls

4 calls:

788.0ms
(pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3)
178.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) 3))
167.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
68.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

simplify124.0ms (1.8%)

Algorithm
egg-herbie
Counts
182 → 182
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
060077073

prune224.0ms (3.3%)

Pruning

11 alts after pruning (7 fresh and 4 done)

PrunedKeptTotal
New1820182
Fresh077
Picked011
Done033
Total18211193

Merged error: 24.2b

Counts
193 → 11
Compiler

Compiled 4781 to 2391 computations (50% saved)

regimes367.0ms (5.4%)

Compiler

Compiled 4554 to 3297 computations (27.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02648
12648

end0.0ms (0%)

sample1.4s (20%)

Algorithm
intervals
Results
339.0ms8000×body128valid
20.0ms494×body128invalid
Compiler

Compiled 935 to 676 computations (27.7% saved)

Profiling

Loading profile data...