Details

Time bar (total: 7.4s)

analyze1.5s (19.9%)

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

sample120.0ms (1.6%)

Algorithm
intervals
Results
33.0ms47×body1280invalid
26.0ms237×body80valid
14.0ms31×body640invalid
10.0ms15×body320invalid
4.0msbody1280valid
4.0msbody640valid
3.0ms14×body160invalid
1.0ms11×body80invalid
1.0msbody320valid
0.0msbody160valid

simplify510.0ms (6.9%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
0493436
1493436

prune21.0ms (0.3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 33.8b

Counts
2 → 2

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

1.8b
(* (atan2 x.im x.re) y.im)
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite35.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity
add-exp-log sqrt-prod add-cbrt-cube
sqrt-div add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 56
Calls

4 calls:

16.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
9.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
3.0ms
(* (atan2 x.im x.re) y.im)

series83.0ms (1.1%)

Counts
4 → 12
Calls

4 calls:

65.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
6.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify45.0ms (0.6%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (38.0ms)

IterNodesCost
05029677

prune151.0ms (2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New64468
Fresh011
Picked101
Done000
Total65570

Merged error: 20.0b

Counts
70 → 5

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
0.2b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
1.8b
(* (atan2 x.im x.re) y.im)
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite19.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt
11×pow1
10×add-cube-cbrt *-un-lft-identity
associate-*l*
add-exp-log add-cbrt-cube
add-log-exp
associate-*r*
exp-prod sqrt-prod log-pow
sqrt-pow1 pow1/2 sqrt-div pow-prod-down prod-exp *-commutative cbrt-unprod rem-exp-log unswap-sqr
sub-neg rem-sqrt-square flip3-+ exp-diff diff-log exp-sum flip-+
Counts
4 → 68
Calls

4 calls:

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

series77.0ms (1%)

Counts
4 → 12
Calls

4 calls:

39.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
25.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
7.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Counts
80 → 80
Iterations

Useful iterations: 0 (33.0ms)

IterNodesCost
04925844
14925844

prune162.0ms (2.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New77380
Fresh044
Picked101
Done000
Total78785

Merged error: 4.6b

Counts
85 → 7

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(pow (exp (atan2 x.im x.re)) y.im)
0.5b
(exp (atan2 x.im x.re))
5.8b
(log (pow (exp (atan2 x.im x.re)) y.im))
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite13.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
11×add-cube-cbrt *-un-lft-identity
log-prod
pow1 unpow-prod-down exp-prod
add-exp-log add-log-exp
pow-pow add-cbrt-cube
pow-unpow rem-log-exp sqrt-prod
pow-to-exp sqrt-div pow-exp sqr-pow
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 log-pow flip-+ rem-exp-log
Counts
4 → 64
Calls

4 calls:

4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
3.0ms
(pow (exp (atan2 x.im x.re)) y.im)
2.0ms
(log (pow (exp (atan2 x.im x.re)) y.im))
2.0ms
(exp (atan2 x.im x.re))

series36.0ms (0.5%)

Counts
4 → 12
Calls

4 calls:

13.0ms
(log (pow (exp (atan2 x.im x.re)) y.im))
13.0ms
(pow (exp (atan2 x.im x.re)) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(exp (atan2 x.im x.re))

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Counts
76 → 76
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
04985573
14985573

prune150.0ms (2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New76076
Fresh066
Picked011
Done000
Total76783

Merged error: 4.6b

Counts
83 → 7

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

1.8b
(* (atan2 x.im x.re) y.im)
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite21.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity
add-exp-log sqrt-prod add-cbrt-cube
sqrt-div add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 56
Calls

4 calls:

7.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
5.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(* (atan2 x.im x.re) y.im)

series71.0ms (1%)

Counts
4 → 12
Calls

4 calls:

53.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
6.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (37.0ms)

IterNodesCost
05029677

prune120.0ms (1.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New66268
Fresh235
Picked101
Done011
Total69675

Merged error: 4.6b

Counts
75 → 6

regimes395.0ms (5.3%)

Accuracy

Total 5.2b remaining (57.8%)

Threshold costs 0b (0%)

bsearch84.0ms (1.1%)

Steps
ItersRangePoint
10
-9.460081165269269e-306
2.8864059499213444e-298
-4.4389537412967e-310

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
05927
15927

end0.0ms (0%)

sample3.6s (48.5%)

Algorithm
intervals
Results
1.3s1934×body1280invalid
812.0ms7569×body80valid
583.0ms1261×body640invalid
173.0ms519×body320invalid
90.0ms129×body1280valid
76.0ms165×body640valid
53.0ms245×body160invalid
44.0ms404×body80invalid
28.0ms87×body320valid
11.0ms50×body160valid

Profiling

Loading profile data...