Details

Time bar (total: 12.8s)

sample380.0ms

Algorithm
intervals
Results
268.0ms79×body1280valid
35.0ms245×body80valid
27.0ms42×body640valid
12.0ms27×body320valid
5.0msbody2560valid
3.0msbody160valid

simplify38.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune34.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 31.7b

localize25.0ms

Local error

Found 4 expressions with local error:

2.4b
(* (atan2 x.im x.re) y.im)
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0b
(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
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)))
8.0ms
(sin (+ (* (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:
7.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)))
71.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify75.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (14.0ms)

IterNodesCost
0196425
1506388
21139386
32509386
45001386

prune964.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 20.2b

localize26.0ms

Local error

Found 4 expressions with local error:

27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0b
(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)))

rewrite41.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:
3.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)))
29.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)))

series72.0ms

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

simplify63.0ms

Algorithm
egg-herbie
Counts
65 → 65
Iterations

Useful iterations: 4 (57.0ms)

IterNodesCost
0146535
1313491
2719491
31920491
45002488

prune1.3s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 20.1b

localize35.0ms

Local error

Found 4 expressions with local error:

27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0b
(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)))
35.0b
(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)))
35.0b
(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)))

rewrite89.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)))
27.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)))
30.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)))
27.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)))

series167.0ms

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

simplify65.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (58.0ms)

IterNodesCost
0146805
1313697
2719697
31920697
45002696

prune1.7s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 20.0b

localize25.0ms

Local error

Found 4 expressions with local error:

10.1b
(cbrt (pow (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) 3))
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0b
(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×cbrt-prod
11×add-sqr-sqrt
add-cube-cbrt *-un-lft-identity
pow1 sqrt-prod
add-exp-log sqrt-div add-cbrt-cube add-log-exp
unpow-prod-down cube-prod
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cube-mult sin-sum pow1/3 unpow3 rem-cbrt-cube sqr-pow
Counts
4 → 59
Calls
4 calls:
5.0ms
(cbrt (pow (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) 3))
4.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) (* (atan2 x.im x.re) y.re)))

series120.0ms

Counts
4 → 12
Calls
4 calls:
55.0ms
(cbrt (pow (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) 3))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
54.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify147.0ms

Algorithm
egg-herbie
Counts
71 → 71
Iterations

Useful iterations: 4 (139.0ms)

IterNodesCost
0191729
1493719
21274719
34723719
45001649

prune1.0s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 20.0b

regimes1.1s

Accuracy

75.6% (3.6b remaining)

Error of 22.9b against oracle of 19.3b and baseline of 34.0b

bsearch243.0ms

Steps
ItersRangePoint
8
4.315441191209963e-248
4.400136552617363e-245
5.083230997006564e-248
9
-2.26016353878232e-246
-1.0506129615557526e-252
-3.4715063518587293e-252

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059103
159103

end0.0ms

sample5.0s

Algorithm
intervals
Results
2.1s2259×body1280valid
1.1s7925×body80valid
899.0ms1380×body640valid
272.0ms588×body320valid
99.0ms52×body2560valid
72.0ms232×body160valid