Details

Time bar (total: 8.3s)

sample378.0ms

Algorithm
intervals
Results
48.0ms73×body1280valid
23.0ms249×body80valid
17.0ms41×body640valid
7.0ms24×body320valid
2.0msbody2560valid
1.0msbody160valid

simplify37.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune27.0ms

Filtered
1 candidates to 1 candidates (100.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 33.9b

localize25.0ms

Local error

Found 4 expressions with local error:

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

series253.0ms

Counts
4 → 12
Calls
4 calls:
16.0ms
(* (atan2 x.im x.re) y.im)
38.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
163.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify76.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (13.0ms)

IterNodesCost
0196425
1506388
21139386
32509386
45001386

prune334.0ms

Filtered
68 candidates to 54 candidates (79.4%)
Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 20.0b

localize28.0ms

Local error

Found 4 expressions with local error:

29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(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)))
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)))

series471.0ms

Counts
4 → 12
Calls
4 calls:
35.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
147.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
142.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
146.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify160.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (52.0ms)

IterNodesCost
0142553
1288487
2611487
31523487
44766486
55002486

prune352.0ms

Filtered
51 candidates to 48 candidates (94.1%)
Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 20.0b

localize39.0ms

Local error

Found 4 expressions with local error:

29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.2b
(sin (+ (* (log (* (sqrt (sqrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite39.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)))
21.0ms
(sin (+ (* (log (* (sqrt (sqrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (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)))

series478.0ms

Counts
4 → 12
Calls
4 calls:
39.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
146.0ms
(sin (+ (* (log (* (sqrt (sqrt (+ (* x.re x.re) (* x.im x.im)))) (sqrt (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
148.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
145.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify63.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (57.0ms)

IterNodesCost
0165553
1332487
2738487
31939487
45001486

prune426.0ms

Filtered
51 candidates to 48 candidates (94.1%)
Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 20.0b

localize45.0ms

Local error

Found 4 expressions with local error:

34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.3b
(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:
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)))
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)))

series584.0ms

Counts
4 → 12
Calls
4 calls:
150.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
147.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
141.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
145.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify45.0ms

Algorithm
egg-herbie
Counts
44 → 44
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
065604
186520
2122520
3273520
4554520
55001520

prune402.0ms

Filtered
44 candidates to 44 candidates (100.0%)
Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 20.0b

regimes394.0ms

Accuracy

78.4% (3.1b remaining)

Error of 22.6b against oracle of 19.5b and baseline of 33.8b

bsearch149.0ms

Steps
ItersRangePoint
9
-3.6673493662649983e-305
1.2855573319070472e-303
-2.6666463243396e-313

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04536
14536

end0.0ms

sample3.5s

Algorithm
intervals
Results
1.5s2339×body1280valid
688.0ms7940×body80valid
580.0ms1395×body640valid
171.0ms597×body320valid
68.0ms44×body2560valid
49.0ms268×body160valid