Details

Time bar (total: 10.9s)

analyze1.5s

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

sample140.0ms

Algorithm
intervals
Results
48.0ms60×body1280invalid
29.0ms244×body80valid
24.0ms43×body640invalid
3.0ms21×body80invalid
3.0msbody320invalid
2.0msbody1280valid
2.0msbody640valid
2.0msbody2560invalid
1.0msbody320valid
1.0msbody160invalid
1.0msbody160valid

simplify405.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune39.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: 30.6b

Counts
2 → 2

localize27.0ms

Local error

Found 4 expressions with local error:

1.2b
(* (atan2 x.im x.re) y.im)
26.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
26.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite24.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-+
sin-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 56
Calls
4 calls:
4.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)))
9.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series99.0ms

Counts
4 → 12
Calls
4 calls:
7.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
7.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
79.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify88.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (15.0ms)

IterNodesCost
0206434
1539395
21201392
32732392
45002392

prune156.0ms

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

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New60868
Fresh011
Picked101
Done000
Total61970

Merged error: 18.6b

Counts
70 → 9

localize50.0ms

Local error

Found 4 expressions with local error:

4.8b
(cbrt (atan2 x.im x.re))
26.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
26.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite31.0ms

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

series84.0ms

Counts
4 → 12
Calls
4 calls:
11.0ms
(cbrt (atan2 x.im x.re))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
61.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify70.0ms

Algorithm
egg-herbie
Counts
61 → 61
Iterations

Useful iterations: 4 (64.0ms)

IterNodesCost
0170414
1367380
2792377
32193377
45002375

prune152.0ms

Filtered
51 candidates to 61 candidates (-19.6%)
Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New61061
Fresh088
Picked011
Done000
Total61970

Merged error: 18.6b

Counts
70 → 9

localize27.0ms

Local error

Found 4 expressions with local error:

26.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite26.0ms

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

series170.0ms

Counts
4 → 12
Calls
4 calls:
7.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
53.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
55.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
54.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify62.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (56.0ms)

IterNodesCost
0152580
1321508
2672505
31724505
45001504

prune134.0ms

Filtered
48 candidates to 51 candidates (-6.3%)
Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New47451
Fresh257
Picked101
Done011
Total501060

Merged error: 18.6b

Counts
60 → 10

localize34.0ms

Local error

Found 4 expressions with local error:

32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.6b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite28.0ms

Algorithm
rewrite-expression-head
Rules
pow1 add-exp-log add-sqr-sqrt add-cube-cbrt *-un-lft-identity sin-sum add-cbrt-cube add-log-exp
Counts
4 → 32
Calls
4 calls:
6.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
7.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
7.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
8.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series216.0ms

Counts
4 → 12
Calls
4 calls:
53.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
55.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
55.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
53.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify184.0ms

Algorithm
egg-herbie
Counts
44 → 44
Iterations

Useful iterations: 5 (177.0ms)

IterNodesCost
075640
1119548
2183544
3474544
41108544
55001528

prune79.0ms

Filtered
44 candidates to 44 candidates (0.0%)
Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New42244
Fresh178
Picked101
Done011
Total441054

Merged error: 18.6b

Counts
54 → 10

regimes491.0ms

Accuracy

77.5% (3.2b remaining)

Error of 22.4b against oracle of 19.2b and baseline of 33.3b

bsearch1.2s

Steps
ItersRangePoint
7
-3.2245910549984344e-308
1.035971636834341e-307
2.32140113765413e-310

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04235
14235

end0.0ms

analyze1.3s

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

sample4.1s

Algorithm
intervals
Results
1.6s2059×body1280invalid
884.0ms7529×body80valid
670.0ms1278×body640invalid
171.0ms453×body320invalid
109.0ms145×body1280valid
78.0ms154×body640valid
73.0ms40×body2560invalid
46.0ms387×body80invalid
43.0ms178×body160invalid
40.0ms112×body320valid
17.0ms60×body160valid

Profiling

Loading profile data...