Details

Time bar (total: 9.2s)

analyze1.4s (15.8%)

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

Compiled 38 to 20 computations (47.4% saved)

sample123.0ms (1.3%)

Algorithm
intervals
Results
44.0ms82×body1024invalid
35.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)

simplify163.0ms (1.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (60.0ms)

IterNodesCost
0494472
1494472

prune9.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)

localize22.0ms (0.2%)

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)))

rewrite30.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:

9.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)))
5.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.3%)

Counts
4 → 12
Calls

4 calls:

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

simplify105.0ms (1.1%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (86.0ms)

IterNodesCost
048841270
148841270

prune126.0ms (1.4%)

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)

localize25.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)))

rewrite34.0ms (0.4%)

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)))

series329.0ms (3.6%)

Counts
4 → 12
Calls

4 calls:

198.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)))
23.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)))

simplify71.0ms (0.8%)

Algorithm
egg-herbie
Counts
69 → 69
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
048971383
148971383

prune122.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)

localize34.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)))

series390.0ms (4.3%)

Counts
4 → 12
Calls

4 calls:

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

simplify100.0ms (1.1%)

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 0 (83.0ms)

IterNodesCost
048881237
148881237

prune157.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)

localize36.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)))

rewrite34.0ms (0.4%)

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

series381.0ms (4.2%)

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)))
140.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)))

simplify102.0ms (1.1%)

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 0 (85.0ms)

IterNodesCost
048881237
148881237

prune200.0ms (2.2%)

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)

regimes478.0ms (5.2%)

Accuracy

Total 2.8b remaining (12.3%)

Threshold costs 0b (0%)

Compiler

Compiled 5217 to 3205 computations (38.6% saved)

bsearch115.0ms (1.3%)

Steps
ItersRangePoint
10
-8.088438286647767e-300
5.542257536724659e-307
-5.69725882226024e-309
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
086130
186130

end0.0ms (0%)

sample4.2s (45.8%)

Algorithm
intervals
Results
1.3s2539×body1024invalid
858.0ms7584×body128valid
344.0ms939×body512invalid
163.0ms188×body2048invalid
94.0ms176×body1024valid
80.0ms335×body256invalid
61.0ms497×body128invalid
52.0ms144×body512valid
20.0ms85×body256valid
9.0ms11×body2048valid
Compiler

Compiled 1131 to 681 computations (39.8% saved)

Profiling

Loading profile data...