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

sample155.0ms

Algorithm
intervals
Results
57.0ms69×body1280invalid
27.0ms230×body80valid
21.0ms41×body640invalid
8.0ms10×body1280valid
7.0msbody2560invalid
5.0ms13×body320invalid
4.0msbody640valid
3.0msbody320valid
2.0ms18×body80invalid
1.0msbody160invalid
0.0msbody160valid

simplify521.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
0497036
1497036

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: 34.1b

Counts
2 → 2

localize24.0ms

Local error

Found 4 expressions with local error:

2.7b
(* (atan2 x.im x.re) y.im)
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

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

series81.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)))
63.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify60.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
04750692
14750692

prune166.0ms

Filtered
56 candidates to 68 candidates (-21.4%)
Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New581068
Fresh011
Picked101
Done000
Total591170

Merged error: 22.1b

Counts
70 → 11

localize33.0ms

Local error

Found 4 expressions with local error:

29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.3b
(sin (+ (* (log (* (* (cbrt (sqrt (+ (* x.re x.re) (* x.im x.im)))) (cbrt (sqrt (+ (* x.re x.re) (* x.im x.im))))) (cbrt (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite36.0ms

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

series73.0ms

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

simplify50.0ms

Algorithm
egg-herbie
Counts
65 → 65
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
05065691

prune156.0ms

Filtered
50 candidates to 65 candidates (-30.0%)
Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New63265
Fresh1910
Picked011
Done000
Total641276

Merged error: 22.0b

Counts
76 → 12

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite23.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)))
6.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)))
6.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series166.0ms

Counts
4 → 12
Calls
4 calls:
6.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)))
52.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)))

simplify47.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
05038851

prune136.0ms

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

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New51051
Fresh01010
Picked011
Done011
Total511263

Merged error: 22.0b

Counts
63 → 12

localize26.0ms

Local error

Found 4 expressions with local error:

1.2b
(* y.re (atan2 x.im x.re))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re))))

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

series67.0ms

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

simplify48.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
05498692

prune97.0ms

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

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New64468
Fresh279
Picked101
Done022
Total671380

Merged error: 22.0b

Counts
80 → 13

regimes554.0ms

Accuracy

63% (5.1b remaining)

Error of 24.8b against oracle of 19.8b and baseline of 33.5b

bsearch1.6s

Steps
ItersRangePoint
10
-1.1111933463196331e-288
-8.08465505491727e-299
-8.16319307845502e-299

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04364
14364

end0.0ms

analyze1.2s

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.0s

Algorithm
intervals
Results
1.5s2079×body1280invalid
844.0ms7513×body80valid
636.0ms1297×body640invalid
156.0ms451×body320invalid
111.0ms153×body1280valid
90.0ms178×body640valid
85.0ms50×body2560invalid
52.0ms414×body80invalid
38.0ms167×body160invalid
37.0ms102×body320valid
15.0ms54×body160valid

Profiling

Loading profile data...