Details

Time bar (total: 6.6s)

sample372.0ms

Algorithm
intervals
Results
38.0ms56×body1280valid
28.0ms250×body80valid
22.0ms48×body640valid
6.0ms18×body320valid
3.0ms13×body160valid

simplify39.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune16.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: 35.7b

Counts
2 → 2

localize24.0ms

Local error

Found 4 expressions with local error:

1.2b
(* (atan2 x.im x.re) y.re)
32.1b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

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

series251.0ms

Counts
4 → 12
Calls
4 calls:
17.0ms
(* (atan2 x.im x.re) y.re)
143.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
38.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
53.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify73.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 2 (14.0ms)

IterNodesCost
0189422
1491385
21112381
32393381
45001381

prune290.0ms

Filtered
68 candidates to 54 candidates (79.4%)
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New63568
Fresh011
Picked101
Done000
Total64670

Merged error: 21.4b

Counts
70 → 6

localize16.0ms

Local error

Found 4 expressions with local error:

0.0b
(exp (- (* (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.0b
(* (atan2 x.im x.re) y.im)
32.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite21.0ms

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt
11×pow1
10×add-cube-cbrt *-un-lft-identity
associate-*l*
add-exp-log add-cbrt-cube
add-log-exp
associate-*r*
exp-prod sqrt-prod log-pow
sqrt-pow1 pow1/2 sqrt-div exp-sum pow-prod-down prod-exp *-commutative cbrt-unprod rem-exp-log unswap-sqr
sub-neg rem-sqrt-square flip3-+ exp-diff diff-log flip-+
Counts
4 → 69
Calls
4 calls:
5.0ms
(exp (- (* (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)
3.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series242.0ms

Counts
4 → 12
Calls
4 calls:
98.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
92.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)))

simplify59.0ms

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 2 (21.0ms)

IterNodesCost
0280545
1825486
22118481
35001481

prune253.0ms

Filtered
81 candidates to 60 candidates (74.1%)
Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New76581
Fresh145
Picked101
Done000
Total78987

Merged error: 4.3b

Counts
87 → 9

localize12.0ms

Local error

Found 3 expressions with local error:

0.0b
(/ (exp (- (* (atan2 x.im x.re) y.im))) (pow (/ 1 x.re) y.re))
0.0b
(exp (- (* (atan2 x.im x.re) y.im)))
1.0b
(* (atan2 x.im x.re) y.im)

rewrite24.0ms

Algorithm
rewrite-expression-head
Rules
87×times-frac
58×add-sqr-sqrt
56×add-cube-cbrt *-un-lft-identity
52×unpow-prod-down
17×associate-/r*
11×add-exp-log
div-exp
add-cbrt-cube
exp-prod
pow1 div-inv add-log-exp
pow-exp sqr-pow
associate-*r* associate-*l* associate-/l*
neg-sub0 exp-neg exp-diff rem-exp-log associate-/l/
cbrt-undiv distribute-lft-neg-in pow-to-exp neg-mul-1 rec-exp distribute-rgt-neg-in frac-2neg 1-exp pow-prod-down neg-log prod-exp clear-num *-commutative cbrt-unprod unswap-sqr
Counts
3 → 125
Calls
3 calls:
12.0ms
(/ (exp (- (* (atan2 x.im x.re) y.im))) (pow (/ 1 x.re) y.re))
2.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
4.0ms
(* (atan2 x.im x.re) y.im)

series119.0ms

Counts
3 → 9
Calls
3 calls:
78.0ms
(/ (exp (- (* (atan2 x.im x.re) y.im))) (pow (/ 1 x.re) y.re))
24.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
17.0ms
(* (atan2 x.im x.re) y.im)

simplify53.0ms

Algorithm
egg-herbie
Counts
134 → 134
Iterations

Useful iterations: 2 (39.0ms)

IterNodesCost
04471462
116651379
250011369

prune345.0ms

Filtered
134 candidates to 86 candidates (64.2%)
Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1304134
Fresh268
Picked101
Done000
Total13310143

Merged error: 4.3b

Counts
143 → 10

localize17.0ms

Local error

Found 4 expressions with local error:

0.0b
(exp (- (* (atan2 x.im x.re) y.im)))
0.0b
(exp (- (* (atan2 x.im x.re) y.im)))
1.0b
(* (atan2 x.im x.re) y.im)
1.0b
(* (atan2 x.im x.re) y.im)

rewrite14.0ms

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt
12×exp-prod
10×add-cube-cbrt *-un-lft-identity
pow1 add-exp-log add-cbrt-cube add-log-exp
associate-*r* associate-*l*
rem-exp-log
neg-sub0 distribute-lft-neg-in exp-neg neg-mul-1 distribute-rgt-neg-in exp-diff pow-prod-down neg-log prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 70
Calls
4 calls:
3.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
3.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
4.0ms
(* (atan2 x.im x.re) y.im)
4.0ms
(* (atan2 x.im x.re) y.im)

series85.0ms

Counts
4 → 12
Calls
4 calls:
28.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
24.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
17.0ms
(* (atan2 x.im x.re) y.im)
16.0ms
(* (atan2 x.im x.re) y.im)

simplify59.0ms

Algorithm
egg-herbie
Counts
82 → 82
Iterations

Useful iterations: 3 (54.0ms)

IterNodesCost
0119326
1468294
22163294
35001292

prune242.0ms

Filtered
82 candidates to 56 candidates (68.3%)
Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New82082
Fresh099
Picked011
Done000
Total821092

Merged error: 4.3b

Counts
92 → 10

regimes343.0ms

Accuracy

76.4% (6.7b remaining)

Error of 10.6b against oracle of 3.9b and baseline of 32.2b

bsearch136.0ms

Steps
ItersRangePoint
10
-1.2302628846532179e-300
1.3380757040254623e-304
2.5143911341178e-310

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03726
14326
24326

end0.0ms

sample3.5s

Algorithm
intervals
Results
1.3s2002×body1280valid
807.0ms7955×body80valid
669.0ms1452×body640valid
208.0ms637×body320valid
66.0ms304×body160valid