Details

Time bar (total: 9.7s)

analyze1.4s (14.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)

sample122.0ms (1.3%)

Algorithm
intervals
Results
44.0ms85×body1024invalid
30.0ms245×body128valid
14.0ms37×body512invalid
4.0msbody1024valid
4.0ms18×body256invalid
3.0msbody2048invalid
3.0ms22×body128invalid
1.0msbody256valid
Compiler

Compiled 75 to 43 computations (42.7% saved)

simplify153.0ms (1.6%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
0494472
1494472

prune8.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 33.5b

Counts
2 → 2
Compiler

Compiled 109 to 57 computations (47.7% saved)

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.7b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.3b
(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)))

rewrite29.0ms (0.3%)

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 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 → 56
Calls

4 calls:

9.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)))
5.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)))
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

series313.0ms (3.2%)

Counts
4 → 33
Calls

4 calls:

219.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)))
44.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
26.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
24.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify74.0ms (0.8%)

Algorithm
egg-herbie
Counts
89 → 89
Iterations

Useful iterations: 0 (45.0ms)

IterNodesCost
050532095

prune150.0ms (1.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New82789
Fresh101
Picked101
Done000
Total84791

Merged error: 21.5b

Counts
91 → 7
Compiler

Compiled 4120 to 1182 computations (71.3% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

1.1b
(*.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 y.im))
31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.3b
(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)))

rewrite37.0ms (0.4%)

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

4 calls:

11.0ms
(*.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 y.im))
7.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)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

series315.0ms (3.3%)

Counts
4 → 33
Calls

4 calls:

203.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)))
64.0ms
(*.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im))) (cbrt.f64 y.im))
24.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
24.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Counts
95 → 95
Iterations

Useful iterations: 0 (36.0ms)

IterNodesCost
052982228

prune149.0ms (1.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New94195
Fresh066
Picked101
Done000
Total957102

Merged error: 21.5b

Counts
102 → 7
Compiler

Compiled 4864 to 1232 computations (74.7% saved)

localize35.0ms (0.4%)

Local error

Found 4 expressions with local error:

31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.3b
(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)))
31.3b
(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)))
31.3b
(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.4%)

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
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 → 39
Calls

4 calls:

7.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)))
7.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)))
7.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)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

series600.0ms (6.2%)

Counts
4 → 42
Calls

4 calls:

197.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)))
190.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)))
190.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)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
049513434
149513434

prune299.0ms (3.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New80181
Fresh066
Picked101
Done000
Total81788

Merged error: 21.5b

Counts
88 → 7
Compiler

Compiled 7434 to 3718 computations (50% saved)

localize38.0ms (0.4%)

Local error

Found 4 expressions with local error:

31.0b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
31.3b
(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)))
31.3b
(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)))
31.3b
(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)))

rewrite33.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
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 → 39
Calls

4 calls:

7.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)))
7.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)))
7.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)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

series591.0ms (6.1%)

Counts
4 → 42
Calls

4 calls:

198.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)))
188.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)))
183.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)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify78.0ms (0.8%)

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
049513434
149513434

prune314.0ms (3.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New80181
Fresh066
Picked101
Done000
Total81788

Merged error: 21.5b

Counts
88 → 7
Compiler

Compiled 7335 to 3733 computations (49.1% saved)

regimes445.0ms (4.6%)

Compiler

Compiled 4767 to 2995 computations (37.2% saved)

bsearch303.0ms (3.1%)

Steps
ItersRangePoint
8
7.657891359078968e-192
1.7196886249509933e-187
6.423284817288334e-188
7
-2.256209119864795e-242
-5.839083489498889e-244
-2.141753005128826e-242
11
-3.1976648891331922e-177
-6.685539164776041e-199
-1.0743541222776415e-198
7
-1.394745059428205e+154
-1.7907558535265276e+152
-1.3615886409990095e+154
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0184440
1184440

end0.0ms (0%)

sample3.9s (40.6%)

Algorithm
intervals
Results
1.2s2406×body1024invalid
817.0ms7583×body128valid
337.0ms1004×body512invalid
100.0ms456×body256invalid
91.0ms184×body1024valid
63.0ms556×body128invalid
46.0ms126×body512valid
25.0ms31×body2048invalid
21.0ms93×body256valid
11.0ms14×body2048valid
Compiler

Compiled 1201 to 691 computations (42.5% saved)

Profiling

Loading profile data...