Details

Time bar (total: 11.2s)

analyze1.5s

Algorithm
search

sample140.0ms

Algorithm
intervals
Results
48.0ms67×body1280invalid
27.0ms244×body80valid
27.0ms48×body640invalid
7.0ms21×body320invalid
3.0ms12×body160invalid
2.0msbody640valid
2.0msbody1280valid
1.0msbody80invalid
1.0msbody320valid
0.0msbody160valid

simplify406.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune20.0ms

Filtered
1 candidates to 1 candidates (0.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 32.1b

Counts
2 → 2

localize24.0ms

Local error

Found 4 expressions with local error:

1.5b
(* (atan2 x.im x.re) y.im)
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.7b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite21.0ms

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:
3.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series90.0ms

Counts
4 → 12
Calls
4 calls:
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)))
72.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify80.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (14.0ms)

IterNodesCost
0199426
1523389
21179387
32665387
45002387

prune120.0ms

Filtered
54 candidates to 68 candidates (-25.9%)
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New64468
Fresh011
Picked101
Done000
Total65570

Merged error: 18.1b

Counts
70 → 5

localize16.0ms

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.5b
(* (atan2 x.im x.re) y.im)
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite21.0ms

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 exp-sum pow-prod-down prod-exp *-commutative cbrt-unprod rem-exp-log unswap-sqr
sub-neg rem-sqrt-square flip3-+ exp-diff diff-log flip-+
Counts
4 → 69
Calls
4 calls:
4.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
8.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
3.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series73.0ms

Counts
4 → 12
Calls
4 calls:
38.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
22.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
6.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify59.0ms

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 3 (52.0ms)

IterNodesCost
0299556
1864496
22274481
35002479

prune132.0ms

Filtered
60 candidates to 81 candidates (-35.0%)
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New78381
Fresh044
Picked011
Done000
Total78886

Merged error: 3.1b

Counts
86 → 8

localize27.0ms

Local error

Found 4 expressions with local error:

6.4b
(cbrt (* (atan2 x.im x.re) y.im))
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.7b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite16.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity sqrt-prod
add-exp-log sqrt-div add-cbrt-cube add-log-exp
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cbrt-prod cos-sum pow1/3
Counts
4 → 47
Calls
4 calls:
2.0ms
(cbrt (* (atan2 x.im x.re) y.im))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series83.0ms

Counts
4 → 12
Calls
4 calls:
18.0ms
(cbrt (* (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)))
53.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify65.0ms

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 4 (59.0ms)

IterNodesCost
0198417
1398382
2837376
32125374
45002372

prune111.0ms

Filtered
50 candidates to 59 candidates (-18.0%)
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New58159
Fresh156
Picked101
Done011
Total60767

Merged error: 3.1b

Counts
67 → 7

localize31.0ms

Local error

Found 4 expressions with local error:

6.4b
(cbrt (* (atan2 x.im x.re) y.im))
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.7b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite17.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity sqrt-prod
add-exp-log sqrt-div add-cbrt-cube add-log-exp
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cbrt-prod cos-sum pow1/3
Counts
4 → 47
Calls
4 calls:
2.0ms
(cbrt (* (atan2 x.im x.re) y.im))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series83.0ms

Counts
4 → 12
Calls
4 calls:
18.0ms
(cbrt (* (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)))
53.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify66.0ms

Algorithm
egg-herbie
Counts
59 → 59
Iterations

Useful iterations: 4 (60.0ms)

IterNodesCost
0198417
1398382
2837376
32125374
45002372

prune94.0ms

Filtered
50 candidates to 59 candidates (-18.0%)
Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New59059
Fresh055
Picked011
Done011
Total59766

Merged error: 3.1b

Counts
66 → 7

regimes401.0ms

Accuracy

64.4% (5.8b remaining)

Error of 9.3b against oracle of 3.5b and baseline of 19.7b

bsearch2.7s

Steps
ItersRangePoint
10
-2.001739175301218e-304
1.6231234508257573e-295
2.9550669065017565e-308
8
-6.172024784774524e-10
-3.638431766424105e-13
-4.5851827076107066e-10

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04626
15226
25226

end0.0ms

analyze1.2s

Algorithm
search

sample3.7s

Algorithm
intervals
Results
1.3s1890×body1280invalid
818.0ms7562×body80valid
656.0ms1385×body640invalid
190.0ms583×body320invalid
91.0ms130×body1280valid
69.0ms148×body640valid
52.0ms230×body160invalid
47.0ms423×body80invalid
33.0ms99×body320valid
14.0ms61×body160valid

Profiling

Loading profile data...