Details

Time bar (total: 4.5s)

analyze618.0ms (13.7%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045210
145210
044
144
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)

sample20.0ms (0.4%)

Algorithm
intervals
Results
10.0ms256×body128valid
1.0ms14×body128invalid
Compiler

Compiled 31 to 27 computations (12.9% saved)

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
01830
11830

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 22 computations (26.7% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.8b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
25.3b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

rewrite17.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
10×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 associate-/l*_binary64_1046 flip-+_binary64_1075 associate-/r*_binary64_1045
pow1_binary64_1162 associate-/l/_binary64_1048 associate-/r/_binary64_1047
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
2 → 42
Calls

2 calls:

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

series132.0ms (2.9%)

Counts
2 → 6
Calls

2 calls:

92.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
40.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

simplify65.0ms (1.4%)

Algorithm
egg-herbie
Counts
48 → 48
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
054491541

prune71.0ms (1.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New40848
Fresh000
Picked011
Done000
Total40949
Error
25.0b
Counts
49 → 9
Compiler

Compiled 1312 to 536 computations (59.1% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.8b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
13.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))))
27.7b
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
27.7b
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

rewrite46.0ms (1%)

Algorithm
rewrite-expression-head
Rules
47×*-un-lft-identity_binary64_1101
30×sqrt-prod_binary64_1117
25×add-sqr-sqrt_binary64_1123
24×times-frac_binary64_1107
23×add-cube-cbrt_binary64_1136
12×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 → 96
Calls

4 calls:

14.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))))
10.0ms
(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))

series196.0ms (4.3%)

Counts
4 → 12
Calls

4 calls:

115.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))))
35.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
23.0ms
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
22.0ms
(sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

simplify81.0ms (1.8%)

Algorithm
egg-herbie
Counts
108 → 108
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
053053217

prune179.0ms (4%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1026108
Fresh257
Picked011
Done101
Total10512117
Error
23.5b
Counts
117 → 12
Compiler

Compiled 4018 to 2409 computations (40% saved)

localize12.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.6b
(/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
0.8b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
24.9b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))

rewrite42.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
52×*-un-lft-identity_binary64_1101
32×times-frac_binary64_1107
30×add-sqr-sqrt_binary64_1123
23×add-cube-cbrt_binary64_1136
21×associate-*r*_binary64_1041
16×add-exp-log_binary64_1139
14×unpow-prod-down_binary64_1180 distribute-lft-out_binary64_1052
10×add-cbrt-cube_binary64_1137
pow1_binary64_1162
add-log-exp_binary64_1140 flip3-+_binary64_1104 flip-+_binary64_1075 associate-/r*_binary64_1045
prod-exp_binary64_1150 associate-/r/_binary64_1047 div-exp_binary64_1152
associate-/l*_binary64_1046 associate-*l*_binary64_1042 unswap-sqr_binary64_1069
1-exp_binary64_1145 cbrt-unprod_binary64_1134 frac-times_binary64_1111 div-inv_binary64_1098 rec-exp_binary64_1151 cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
inv-pow_binary64_1186 *-commutative_binary64_1032 frac-2neg_binary64_1112 sum-log_binary64_1192 clear-num_binary64_1100 associate-*r/_binary64_1043 +-commutative_binary64_1031 pow-prod-down_binary64_1172 pow-flip_binary64_1175 un-div-inv_binary64_1099
Counts
3 → 100
Calls

3 calls:

19.0ms
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
10.0ms
(/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
4.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

series159.0ms (3.5%)

Counts
3 → 9
Calls

3 calls:

98.0ms
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))
38.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
23.0ms
(/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

simplify78.0ms (1.7%)

Algorithm
egg-herbie
Counts
109 → 109
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
055022622

prune127.0ms (2.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1090109
Fresh01010
Picked011
Done011
Total10912121
Error
23.5b
Counts
121 → 12
Compiler

Compiled 2769 to 1545 computations (44.2% saved)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

20.1b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))))
28.6b
(cbrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
28.6b
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
28.6b
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))

rewrite50.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
18×cbrt-div_binary64_1133
17×*-un-lft-identity_binary64_1101
13×cbrt-prod_binary64_1132
10×flip3-+_binary64_1104 flip-+_binary64_1075
add-sqr-sqrt_binary64_1123 add-exp-log_binary64_1139 add-cube-cbrt_binary64_1136
associate-/r/_binary64_1047
add-cbrt-cube_binary64_1137
unpow-prod-down_binary64_1180 frac-times_binary64_1111 add-log-exp_binary64_1140 distribute-lft-out_binary64_1052 pow1_binary64_1162
pow1/3_binary64_1183 associate-/l*_binary64_1046 times-frac_binary64_1107
associate-/l/_binary64_1048 associate-*r/_binary64_1043 div-exp_binary64_1152 cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
cbrt-unprod_binary64_1134 prod-exp_binary64_1150 frac-2neg_binary64_1112 clear-num_binary64_1100 div-inv_binary64_1098 associate-/r*_binary64_1045
Counts
4 → 74
Calls

4 calls:

22.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))))
8.0ms
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
7.0ms
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
3.0ms
(cbrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

series581.0ms (12.8%)

Counts
4 → 12
Calls

4 calls:

353.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))))
77.0ms
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
76.0ms
(cbrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))
75.0ms
(cbrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

simplify63.0ms (1.4%)

Algorithm
egg-herbie
Counts
86 → 86
Iterations

Useful iterations: 0 (33.0ms)

IterNodesCost
051682653

prune148.0ms (3.3%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New84286
Fresh189
Picked011
Done022
Total851398
Error
22.6b
Counts
98 → 13
Compiler

Compiled 3598 to 1881 computations (47.7% saved)

regimes379.0ms (8.4%)

Accuracy

Total 2.6b remaining (10.3%)

Threshold costs 0b (0%)

Compiler

Compiled 4649 to 3487 computations (25% saved)

bsearch2.0ms (0.1%)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
047132
147132

end0.0ms (0%)

sample1.4s (31%)

Algorithm
intervals
Results
338.0ms8000×body128valid
20.0ms440×body128invalid
Compiler

Compiled 998 to 731 computations (26.8% saved)

Profiling

Loading profile data...