Details

Time bar (total: 7.7s)

sample428.0ms

Algorithm
intervals
Results
62.0ms68×body1280valid
23.0ms255×body80valid
19.0ms48×body640valid
6.0ms22×body320valid
2.0ms10×body160valid

simplify37.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
03121
15320
28420
320320
487920
5500120

prune16.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 33.1b

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite45.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:
6.0ms
(* (atan2 x.im x.re) y.re)
17.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
11.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series259.0ms

Counts
4 → 12
Calls
4 calls:
21.0ms
(* (atan2 x.im x.re) y.re)
150.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
36.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
52.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify69.0ms

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 4 (63.0ms)

IterNodesCost
0189420
1491383
21112383
32355383
45002381

prune307.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 22.0b

localize17.0ms

Local error

Found 4 expressions with local error:

0.1b
(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.1b
(* (atan2 x.im x.re) y.im)
29.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite48.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:
19.0ms
(exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im)))
11.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
6.0ms
(* (atan2 x.im x.re) y.im)
10.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series252.0ms

Counts
4 → 12
Calls
4 calls:
103.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)
18.0ms
(* (atan2 x.im x.re) y.im)
39.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify57.0ms

Algorithm
egg-herbie
Counts
81 → 81
Iterations

Useful iterations: 2 (20.0ms)

IterNodesCost
0280545
1825486
22118481
35001481

prune284.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 3.8b

localize13.0ms

Local error

Found 3 expressions with local error:

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

rewrite39.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*
add-exp-log
add-cbrt-cube
exp-prod
pow1 div-exp div-inv add-log-exp
sqr-pow
associate-*r* associate-*l* associate-/l*
neg-sub0 exp-neg exp-diff pow-exp rem-exp-log associate-/l/
cbrt-undiv distribute-lft-neg-in pow-to-exp neg-mul-1 distribute-rgt-neg-in frac-2neg pow-prod-down neg-log prod-exp clear-num *-commutative cbrt-unprod unswap-sqr
Counts
3 → 123
Calls
3 calls:
5.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
23.0ms
(/ (exp (- (* (atan2 x.im x.re) y.im))) (pow (/ -1 x.re) y.re))
7.0ms
(* (atan2 x.im x.re) y.im)

series139.0ms

Counts
3 → 9
Calls
3 calls:
26.0ms
(exp (- (* (atan2 x.im x.re) y.im)))
94.0ms
(/ (exp (- (* (atan2 x.im x.re) y.im))) (pow (/ -1 x.re) y.re))
19.0ms
(* (atan2 x.im x.re) y.im)

simplify53.0ms

Algorithm
egg-herbie
Counts
132 → 132
Iterations

Useful iterations: 2 (40.0ms)

IterNodesCost
04671459
117531413
250011411

prune441.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.8b

localize20.0ms

Local error

Found 4 expressions with local error:

0.2b
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (* (cbrt (pow (/ -1 x.re) y.re)) (cbrt (pow (/ -1 x.re) y.re))))
0.2b
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (cbrt (pow (/ -1 x.re) y.re)))
1.1b
(* (atan2 x.im x.re) y.im)
1.1b
(* (atan2 x.im x.re) y.im)

rewrite74.0ms

Algorithm
rewrite-expression-head
Rules
189×times-frac
121×add-sqr-sqrt
119×cbrt-prod
117×add-cube-cbrt *-un-lft-identity
91×unpow-prod-down
69×sqrt-prod
21×associate-/r*
15×add-exp-log
12×add-cbrt-cube associate-/l*
div-inv
pow1
sqr-pow
associate-*r* associate-*l*
sqrt-div associate-/l/ add-log-exp
cbrt-undiv div-exp prod-exp cbrt-unprod
neg-sub0 exp-neg frac-2neg exp-diff pow-prod-down clear-num *-commutative unswap-sqr
Counts
4 → 225
Calls
4 calls:
25.0ms
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (* (cbrt (pow (/ -1 x.re) y.re)) (cbrt (pow (/ -1 x.re) y.re))))
24.0ms
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (cbrt (pow (/ -1 x.re) y.re)))
6.0ms
(* (atan2 x.im x.re) y.im)
7.0ms
(* (atan2 x.im x.re) y.im)

series404.0ms

Counts
4 → 12
Calls
4 calls:
199.0ms
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (* (cbrt (pow (/ -1 x.re) y.re)) (cbrt (pow (/ -1 x.re) y.re))))
165.0ms
(/ (sqrt (exp (- (* (atan2 x.im x.re) y.im)))) (cbrt (pow (/ -1 x.re) y.re)))
22.0ms
(* (atan2 x.im x.re) y.im)
19.0ms
(* (atan2 x.im x.re) y.im)

simplify70.0ms

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 2 (42.0ms)

IterNodesCost
06713831
119683618
250013609

prune936.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 3.8b

regimes365.0ms

Accuracy

63.3% (5.9b remaining)

Error of 9.4b against oracle of 3.5b and baseline of 19.5b

bsearch96.0ms

Steps
ItersRangePoint
8
-2.3810080649002763e-307
1.561401660420803e-307
1.92443576033894e-310

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03216
14216
24216

end0.0ms

sample3.2s

Algorithm
intervals
Results
1.2s1980×body1280valid
698.0ms7997×body80valid
576.0ms1487×body640valid
179.0ms661×body320valid
52.0ms291×body160valid