Details

Time bar (total: 8.0s)

analyze1.5s (18.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)

sample110.0ms (1.4%)

Algorithm
intervals
Results
37.0ms71×body1024invalid
29.0ms246×body128valid
10.0ms29×body512invalid
6.0ms11×body256invalid
3.0msbody1024valid
2.0ms20×body128invalid
1.0msbody2048invalid
1.0msbody512valid
1.0msbody256valid
Compiler

Compiled 75 to 43 computations (42.7% saved)

simplify164.0ms (2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (61.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
33.6b
Counts
2 → 2
Compiler

Compiled 109 to 57 computations (47.7% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

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

6.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)))
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.re)

series280.0ms (3.5%)

Counts
4 → 12
Calls

4 calls:

198.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)))
34.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
25.0ms
(*.f64 (atan2.f64 x.im x.re) y.re)
23.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify86.0ms (1.1%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (65.0ms)

IterNodesCost
051671251

prune103.0ms (1.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New66268
Fresh011
Picked101
Done000
Total67370
Error
21.3b
Counts
70 → 3
Compiler

Compiled 2910 to 774 computations (73.4% saved)

localize15.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.2b
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
1.0b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

rewrite26.0ms (0.3%)

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
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 exp-sum_binary64 prod-exp_binary64 sqrt-div_binary64 *-commutative_binary64
flip3-+_binary64 sub-neg_binary64 diff-log_binary64 cancel-sign-sub-inv_binary64 exp-diff_binary64 rem-sqrt-square_binary64 flip-+_binary64
Counts
4 → 69
Calls

4 calls:

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

series263.0ms (3.3%)

Counts
4 → 12
Calls

4 calls:

132.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)))
83.0ms
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
25.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)
23.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

simplify83.0ms (1%)

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
049531596
149531596

prune98.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New78381
Fresh022
Picked011
Done000
Total78684
Error
3.0b
Counts
84 → 6
Compiler

Compiled 2105 to 984 computations (53.3% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

1.1b
(*.f64 (atan2.f64 x.im x.re) y.re)
31.2b
(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.4b
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
31.4b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))

rewrite29.0ms (0.4%)

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

4 calls:

8.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))
6.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)))
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.re)

series256.0ms (3.2%)

Counts
4 → 12
Calls

4 calls:

184.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)))
26.0ms
(*.f64 (atan2.f64 x.im x.re) y.re)
24.0ms
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
21.0ms
(sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))

simplify70.0ms (0.9%)

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
049111281
149111281

prune126.0ms (1.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New70070
Fresh044
Picked011
Done011
Total70676
Error
3.0b
Counts
76 → 6
Compiler

Compiled 3178 to 1411 computations (55.6% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
0.2b
(*.f64 (log.f64 x.re) y.re)
1.0b
(*.f64 (atan2.f64 x.im x.re) y.im)

rewrite16.0ms (0.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 associate-*l*_binary64
add-log-exp_binary64 associate-*r*_binary64
exp-prod_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 rem-exp-log_binary64 unswap-sqr_binary64 exp-sum_binary64 prod-exp_binary64 *-commutative_binary64
sub-neg_binary64 diff-log_binary64 log-pow_binary64 cancel-sign-sub-inv_binary64 exp-diff_binary64
Counts
3 → 52
Calls

3 calls:

4.0ms
(exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
4.0ms
(*.f64 (log.f64 x.re) y.re)
4.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

series149.0ms (1.9%)

Counts
3 → 9
Calls

3 calls:

84.0ms
(exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
40.0ms
(*.f64 (log.f64 x.re) y.re)
25.0ms
(*.f64 (atan2.f64 x.im x.re) y.im)

simplify76.0ms (1%)

Algorithm
egg-herbie
Counts
61 → 61
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
04967856
14967856

prune47.0ms (0.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New59261
Fresh033
Picked101
Done022
Total60767
Error
3.0b
Counts
67 → 7
Compiler

Compiled 1029 to 311 computations (69.8% saved)

regimes462.0ms (5.8%)

Accuracy

Total 5.7b remaining (62.9%)

Threshold costs 0b (0%)

Compiler

Compiled 2922 to 2115 computations (27.6% saved)

bsearch93.0ms (1.2%)

Steps
ItersRangePoint
10
-5.771368572546493e-300
1.2644505533430413e-307
-1.63895862773914e-310
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
07157
17157

end0.0ms (0%)

sample3.9s (48.1%)

Algorithm
intervals
Results
1.3s2497×body1024invalid
849.0ms7618×body128valid
351.0ms987×body512invalid
100.0ms438×body256invalid
82.0ms155×body1024valid
71.0ms603×body128invalid
48.0ms137×body512valid
20.0ms86×body256valid
20.0ms26×body2048invalid
3.0msbody2048valid
Compiler

Compiled 635 to 453 computations (28.7% saved)

Profiling

Loading profile data...