Details

Time bar (total: 10.5s)

analyze1.3s (12.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
9.4%90.4%0.2%6
17.2%82.7%0.2%7
19.5%80.3%0.2%8
30.8%69%0.2%9
35.5%64.3%0.2%10
42.4%57.4%0.2%11
47.1%52.7%0.2%12
48.9%50.8%0.3%13
50%49.7%0.4%14
Compiler

Compiled 38 to 20 computations (47.4% saved)

sample132.0ms (1.3%)

Algorithm
intervals
Results
44.0ms59×body1280invalid
32.0ms240×body80valid
23.0ms47×body640invalid
5.0ms14×body320invalid
3.0msbody320valid
2.0msbody640valid
2.0msbody160invalid
1.0msbody1280valid
1.0ms10×body80invalid
0.0msbody160valid
Compiler

Compiled 75 to 43 computations (42.7% saved)

simplify232.0ms (2.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (93.0ms)

IterNodesCost
0495072
1495072

prune9.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 31.9b

Counts
2 → 2
Compiler

Compiled 109 to 57 computations (47.7% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
28.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
28.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.4b
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite234.0ms (2.2%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-prod_binary64
add-log-exp_binary64 insert-posit16 sqrt-div_binary64
associate-*r*_binary64 associate-*l*_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 cos-sum_binary64 *-commutative_binary64
Counts
4 → 60
Calls

4 calls:

216.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
6.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
5.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
5.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

series547.0ms (5.2%)

Counts
4 → 12
Calls

4 calls:

393.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
53.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
51.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
49.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

simplify185.0ms (1.8%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (153.0ms)

IterNodesCost
048121331
148121331

prune132.0ms (1.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New66672
Fresh011
Picked101
Done000
Total67774

Merged error: 17.4b

Counts
74 → 7
Compiler

Compiled 3251 to 944 computations (71% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
0.3b
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
2.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
28.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
11×pow1_binary64
10×*-un-lft-identity_binary64 add-cube-cbrt_binary64
associate-*l*_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
add-log-exp_binary64
associate-*r*_binary64
insert-posit16
log-pow_binary64 sqrt-prod_binary64 exp-prod_binary64
pow-prod-down_binary64 pow1/2_binary64 cbrt-unprod_binary64 rem-exp-log_binary64 sqrt-pow1_binary64 unswap-sqr_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64
flip3-+_binary64 sub-neg_binary64 diff-log_binary64 exp-diff_binary64 rem-sqrt-square_binary64 exp-sum_binary64 flip-+_binary64
Counts
4 → 72
Calls

4 calls:

6.0ms
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
6.0ms
(exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
5.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

series530.0ms (5%)

Counts
4 → 12
Calls

4 calls:

277.0ms
(exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
153.0ms
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
52.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
48.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

simplify141.0ms (1.3%)

Algorithm
egg-herbie
Counts
84 → 84
Iterations

Useful iterations: 0 (107.0ms)

IterNodesCost
050311648

prune118.0ms (1.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New80484
Fresh066
Picked011
Done000
Total801191

Merged error: 4.0b

Counts
91 → 11
Compiler

Compiled 2370 to 1158 computations (51.1% saved)

localize36.0ms (0.3%)

Local error

Found 4 expressions with local error:

2.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
28.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
28.4b
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
33.4b
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite29.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64 add-sqr-sqrt_binary64
pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64
add-exp-log_binary64 add-cbrt-cube_binary64
add-log-exp_binary64 insert-posit16 sqrt-div_binary64
associate-*r*_binary64 associate-*l*_binary64
flip3-+_binary64 pow1/2_binary64 distribute-lft-out_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 unpow-prod-down_binary64 flip-+_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 unswap-sqr_binary64 prod-exp_binary64 cos-sum_binary64 *-commutative_binary64
Counts
4 → 62
Calls

4 calls:

9.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
9.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
5.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

series507.0ms (4.8%)

Counts
4 → 12
Calls

4 calls:

371.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
49.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
44.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
43.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))

simplify80.0ms (0.8%)

Algorithm
egg-herbie
Counts
74 → 74
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
051441361

prune150.0ms (1.4%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New73174
Fresh189
Picked011
Done011
Total741185

Merged error: 4.0b

Counts
85 → 11
Compiler

Compiled 3473 to 1586 computations (54.3% saved)

localize35.0ms (0.3%)

Local error

Found 4 expressions with local error:

28.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.4b
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
33.4b
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
33.4b
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite34.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64
add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 insert-posit16
cos-sum_binary64 sqrt-prod_binary64
sqrt-div_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
Counts
4 → 43
Calls

4 calls:

11.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
9.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
8.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
5.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

series1.1s (10.2%)

Counts
4 → 12
Calls

4 calls:

353.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
342.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
333.0ms
(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
49.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify125.0ms (1.2%)

Algorithm
egg-herbie
Counts
55 → 55
Iterations

Useful iterations: 0 (91.0ms)

IterNodesCost
049971646
149971646

prune188.0ms (1.8%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New54155
Fresh088
Picked101
Done022
Total551166

Merged error: 4.0b

Counts
66 → 11
Compiler

Compiled 4569 to 2342 computations (48.7% saved)

regimes206.0ms (2%)

Compiler

Compiled 1284 to 960 computations (25.2% saved)

bsearch154.0ms (1.5%)

Steps
ItersRangePoint
8
7.619649905933878e-28
1.3211965552764131e-24
1.027027526224429e-24
7
-4.827023898084071e-272
-1.4932499935201088e-273
-1.164222080452179e-272
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
08196
18196

end0.0ms (0%)

sample4.2s (40.3%)

Algorithm
intervals
Results
1.4s1954×body1280invalid
878.0ms7559×body80valid
650.0ms1313×body640invalid
182.0ms521×body320invalid
97.0ms129×body1280valid
80.0ms158×body640valid
57.0ms248×body160invalid
50.0ms402×body80invalid
40.0ms115×body320valid
9.0ms39×body160valid
Compiler

Compiled 406 to 285 computations (29.8% saved)

Profiling

Loading profile data...