Details

Time bar (total: 7.8s)

sample393.0ms

Algorithm
intervals
Results
43.0ms60×body1280valid
30.0ms255×body80valid
17.0ms36×body640valid
7.0ms19×body320valid
2.0msbody160valid

simplify40.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune15.0ms

Filtered
1 candidates to 1 candidates (100.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 33.7b

Counts
2 → 2

localize25.0ms

Local error

Found 4 expressions with local error:

1.4b
(* (atan2 x.im x.re) y.im)
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.2b
(cos (+ (* (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-+
cos-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)))
5.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
9.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series245.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)))
34.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
157.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify78.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (14.0ms)

IterNodesCost
0191422
1501385
21134381
32496381
45001381

prune296.0ms

Filtered
68 candidates to 54 candidates (79.4%)
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New62668
Fresh101
Picked101
Done000
Total64670

Merged error: 20.0b

Counts
70 → 6

localize20.0ms

Local error

Found 4 expressions with local error:

0.0b
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
0.3b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
1.4b
(* (atan2 x.im x.re) y.im)
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt
11×pow1
add-cube-cbrt *-un-lft-identity associate-*l*
add-exp-log add-cbrt-cube
associate-*r* add-log-exp
sqrt-prod log-pow
sqrt-pow1 pow1/2 sqrt-div pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
sub-neg rem-sqrt-square flip3-- flip3-+ diff-log flip-- flip-+
Counts
4 → 66
Calls
4 calls:
4.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
5.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
4.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series272.0ms

Counts
4 → 12
Calls
4 calls:
127.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
94.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
16.0ms
(* (atan2 x.im x.re) y.im)
36.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify79.0ms

Algorithm
egg-herbie
Counts
78 → 78
Iterations

Useful iterations: 2 (26.0ms)

IterNodesCost
0290540
1897500
22667491
35002491

prune240.0ms

Filtered
78 candidates to 56 candidates (71.8%)
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New74478
Fresh145
Picked101
Done000
Total76884

Merged error: 4.1b

Counts
84 → 8

localize28.0ms

Local error

Found 4 expressions with local error:

1.4b
(* (atan2 x.im x.re) y.im)
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite19.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-+
cos-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)))
7.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series218.0ms

Counts
4 → 12
Calls
4 calls:
16.0ms
(* (atan2 x.im x.re) y.im)
34.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
37.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
132.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify78.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (14.0ms)

IterNodesCost
0191420
1501383
21134381
32496381
45001381

prune325.0ms

Filtered
68 candidates to 54 candidates (79.4%)
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New66268
Fresh257
Picked101
Done000
Total69776

Merged error: 4.1b

Counts
76 → 7

localize35.0ms

Local error

Found 4 expressions with local error:

29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite25.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
cos-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
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
7.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
7.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series438.0ms

Counts
4 → 12
Calls
4 calls:
37.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
131.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
136.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
133.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify164.0ms

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 4 (52.0ms)

IterNodesCost
0137538
1283472
2606472
31518472
44761471
55001471

prune334.0ms

Filtered
51 candidates to 48 candidates (94.1%)
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New48351
Fresh156
Picked101
Done000
Total50858

Merged error: 4.1b

Counts
58 → 8

regimes380.0ms

Accuracy

80.7% (5.8b remaining)

Error of 9.3b against oracle of 3.5b and baseline of 33.7b

bsearch411.0ms

Steps
ItersRangePoint
9
-1.2049654802029013e-301
1.5653172648300943e-307
-4.1709130697605e-310
8
-2.285123779241871e-144
-1.6487772658534058e-147
-1.8398662980718378e-144
9
-5.4829136341776475e-08
-6.297457680062188e-14
-8.307602753419892e-13

simplify3.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07578
17978
27978

end0.0ms

sample3.6s

Algorithm
intervals
Results
1.4s1969×body1280valid
840.0ms7977×body80valid
696.0ms1472×body640valid
222.0ms650×body320valid
64.0ms294×body160valid