Details

Time bar (total: 9.1s)

sample399.0ms

Algorithm
intervals
Results
61.0ms66×body1280valid
36.0ms245×body80valid
25.0ms44×body640valid
7.0ms16×body320valid
2.0msbody160valid
2.0msbody2560valid

simplify38.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune15.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 31.9b

localize25.0ms

Local error

Found 4 expressions with local error:

2.2b
(* (atan2 x.im x.re) y.im)
28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.8b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

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

series256.0ms

Counts
4 → 12
Calls
4 calls:
17.0ms
(* (atan2 x.im x.re) y.im)
37.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
166.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 (14.0ms)

IterNodesCost
0196425
1506388
21139386
32509386
45001386

prune336.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 17.7b

localize26.0ms

Local error

Found 4 expressions with local error:

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

series460.0ms

Counts
4 → 12
Calls
4 calls:
38.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
140.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)))
140.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

prune360.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 17.7b

localize35.0ms

Local error

Found 4 expressions with local error:

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

series562.0ms

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

Useful iterations: 1 (3.0ms)

IterNodesCost
065604
186520
2122520
3273520
4554520
55001520

prune352.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 17.7b

localize27.0ms

Local error

Found 4 expressions with local error:

4.6b
(log (exp (* (atan2 x.im x.re) y.im)))
28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
31.8b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite14.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity
sqrt-prod
add-log-exp
add-exp-log sqrt-div add-cbrt-cube
log-prod log-pow
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
exp-prod exp-to-pow sin-sum rem-log-exp
Counts
4 → 52
Calls
4 calls:
1.0ms
(log (exp (* (atan2 x.im x.re) y.im)))
3.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
3.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)))

series228.0ms

Counts
4 → 12
Calls
4 calls:
16.0ms
(log (exp (* (atan2 x.im x.re) y.im)))
35.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
37.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
139.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
64 → 64
Iterations

Useful iterations: 4 (55.0ms)

IterNodesCost
0164435
1347393
2757393
31846393
45001391

prune313.0ms

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 17.7b

regimes358.0ms

Accuracy

77% (3.2b remaining)

Error of 22.8b against oracle of 19.5b and baseline of 33.5b

bsearch436.0ms

Steps
ItersRangePoint
11
-3.117048759428799e-306
8.889443676664513e-286
-5.937031289622716e-309
8
-3.0496002341139466e-187
-2.0281201579131343e-190
-3.0023793832738845e-187
7
-5.69457357039696e-115
-6.438577009353905e-117
-1.5068937976222738e-116

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05977
15977

end0.0ms

sample4.5s

Algorithm
intervals
Results
1.9s2271×body1280valid
1.1s7972×body80valid
810.0ms1422×body640valid
220.0ms548×body320valid
68.0ms240×body160valid
64.0ms36×body2560valid