Details

Time bar (total: 8.2s)

sample450.0ms

Algorithm
intervals
Results
47.0ms78×body1280valid
39.0ms49×body640valid
23.0ms247×body80valid
5.0ms18×body320valid
2.0ms10×body160valid
2.0msbody2560valid

simplify44.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (5.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 30.2b

localize24.0ms

Local error

Found 4 expressions with local error:

2.9b
(* (atan2 x.im x.re) y.im)
27.3b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.3b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.4b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

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

series266.0ms

Counts
4 → 12
Calls
4 calls:
20.0ms
(* (atan2 x.im x.re) y.im)
36.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
36.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
173.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 (16.0ms)

IterNodesCost
0196427
1506390
21139386
32509386
45001386

prune333.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 19.0b

localize30.0ms

Local error

Found 4 expressions with local error:

4.5b
(cbrt (* (atan2 x.im x.re) y.im))
27.3b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.3b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.4b
(sin (+ (* (log (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
add-sqr-sqrt
pow1 add-cube-cbrt *-un-lft-identity sqrt-prod
add-exp-log sqrt-div add-cbrt-cube add-log-exp
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
cbrt-prod sin-sum pow1/3
Counts
4 → 47
Calls
4 calls:
3.0ms
(cbrt (* (atan2 x.im x.re) y.im))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series295.0ms

Counts
4 → 12
Calls
4 calls:
63.0ms
(cbrt (* (atan2 x.im x.re) y.im))
40.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
36.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
155.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
59 → 59
Iterations

Useful iterations: 4 (70.0ms)

IterNodesCost
0195416
1381381
2797375
31976373
45002371

prune343.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 19.0b

localize31.0ms

Local error

Found 4 expressions with local error:

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

rewrite62.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:
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
19.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series495.0ms

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

simplify192.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (62.0ms)

IterNodesCost
0142553
1288487
2611487
31523487
44766486
55002486

prune388.0ms

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 19.0b

localize41.0ms

Local error

Found 4 expressions with local error:

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

rewrite71.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:
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
20.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
17.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series616.0ms

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

simplify50.0ms

Algorithm
egg-herbie
Counts
44 → 44
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
065604
186520
2122520
3273520
4554520
55001520

prune340.0ms

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 19.0b

regimes341.0ms

Accuracy

77.2% (3.1b remaining)

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

bsearch121.0ms

Steps
ItersRangePoint
8
-1.3287558847979414e-305
4.527111501653717e-308
-5.41457234362251e-309

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04544
14544

end0.0ms

sample3.4s

Algorithm
intervals
Results
1.3s2222×body1280valid
671.0ms7935×body80valid
574.0ms1430×body640valid
155.0ms556×body320valid
77.0ms48×body2560valid
45.0ms252×body160valid