Details

Time bar (total: 9.4s)

analyze1.6s (17.2%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05006504
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
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
49%50.8%0.2%13
50.1%49.7%0.2%14
Compiler

Compiled 38 to 20 computations (47.4% saved)

sample124.0ms (1.3%)

Algorithm
intervals
Results
45.0ms82×body1024invalid
34.0ms244×body128valid
11.0ms30×body512invalid
4.0msbody2048invalid
3.0msbody1024valid
3.0ms22×body128invalid
1.0msbody256invalid
1.0msbody512valid
1.0msbody256valid
Compiler

Compiled 75 to 43 computations (42.7% saved)

simplify70.0ms (0.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
0494472
1494472

prune10.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
36.1b
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.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.2b
(sin.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)))

rewrite28.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 sin-sum_binary64 unswap-sqr_binary64 prod-exp_binary64 *-commutative_binary64
Counts
4 → 56
Calls

4 calls:

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

series299.0ms (3.2%)

Counts
4 → 12
Calls

4 calls:

226.0ms
(sin.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)))
26.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
25.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify108.0ms (1.2%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (85.0ms)

IterNodesCost
048841270
148841270

prune125.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New61768
Fresh011
Picked101
Done000
Total62870
Error
20.0b
Counts
70 → 8
Compiler

Compiled 3170 to 932 computations (70.6% saved)

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.3b
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.2b
(sin.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)))

rewrite30.0ms (0.3%)

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

4 calls:

8.0ms
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
7.0ms
(sin.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)))

series335.0ms (3.6%)

Counts
4 → 12
Calls

4 calls:

200.0ms
(sin.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)))
87.0ms
(*.f64 (atan2.f64 x.im x.re) (*.f64 (cbrt.f64 y.im) (cbrt.f64 y.im)))
26.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify73.0ms (0.8%)

Algorithm
egg-herbie
Counts
69 → 69
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
048971383
148971383

prune119.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New67269
Fresh167
Picked101
Done000
Total69877
Error
20.0b
Counts
77 → 8
Compiler

Compiled 3703 to 1059 computations (71.4% saved)

localize33.0ms (0.3%)

Local error

Found 4 expressions with local error:

6.4b
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.2b
(sin.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
add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64
add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
pow1/3_binary64 sin-sum_binary64 cbrt-prod_binary64
Counts
4 → 47
Calls

4 calls:

6.0ms
(sin.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)))
4.0ms
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))

series383.0ms (4.1%)

Counts
4 → 12
Calls

4 calls:

201.0ms
(sin.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)))
135.0ms
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))
25.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 0 (84.0ms)

IterNodesCost
048881237
148881237

prune160.0ms (1.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New57259
Fresh167
Picked101
Done000
Total59867
Error
20.0b
Counts
67 → 8
Compiler

Compiled 4472 to 1899 computations (57.5% saved)

localize41.0ms (0.4%)

Local error

Found 4 expressions with local error:

6.4b
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
32.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
33.2b
(sin.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
add-sqr-sqrt_binary64
*-un-lft-identity_binary64 pow1_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64
add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
flip3-+_binary64 pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 flip-+_binary64
pow1/3_binary64 sin-sum_binary64 cbrt-prod_binary64
Counts
4 → 47
Calls

4 calls:

7.0ms
(sin.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
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))
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)))

series387.0ms (4.1%)

Counts
4 → 12
Calls

4 calls:

194.0ms
(sin.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)))
147.0ms
(cbrt.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (cbrt.f64 y.im) 2)))
24.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
22.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 0 (85.0ms)

IterNodesCost
048881237
148881237

prune196.0ms (2.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New58159
Fresh167
Picked101
Done000
Total60767
Error
20.0b
Counts
67 → 7
Compiler

Compiled 5412 to 2405 computations (55.6% saved)

regimes482.0ms (5.1%)

Accuracy

Total 2.8b remaining (12.2%)

Threshold costs 0b (0%)

Compiler

Compiled 5217 to 3205 computations (38.6% saved)

bsearch111.0ms (1.2%)

Steps
ItersRangePoint
10
-8.088438286647767e-300
5.542257536724659e-307
3.714484043475e-310
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
074129
174129

end0.0ms (0%)

sample4.3s (46.2%)

Algorithm
intervals
Results
1.3s2539×body1024invalid
909.0ms7584×body128valid
339.0ms939×body512invalid
165.0ms188×body2048invalid
100.0ms176×body1024valid
79.0ms335×body256invalid
62.0ms497×body128invalid
51.0ms144×body512valid
20.0ms85×body256valid
9.0ms11×body2048valid
Compiler

Compiled 1130 to 680 computations (39.8% saved)

Profiling

Loading profile data...