Details

Time bar (total: 1.2m)

sample23.0ms

Algorithm
intervals
Results
12.0ms272×body80valid

simplify12.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
0217
1407
2567
3767
4907
5947
6947

prune2.0ms

Filtered
1 candidates to 0 candidates (0.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 26.5b

Counts
2 → 1

localize9.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (* y.re y.re) (* y.im y.im))
1.1b
(- (* x.im y.re) (* x.re y.im))
26.0b
(/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im)))

rewrite96.0ms

Algorithm
rewrite-expression-head
Rules
340×*-un-lft-identity
276×add-sqr-sqrt
170×associate-*l*
144×prod-diff
104×add-cube-cbrt
88×times-frac
78×associate-*r*
66×unswap-sqr
65×distribute-lft-out
40×distribute-lft-out-- difference-of-squares
29×swap-sqr
26×*-commutative
15×fma-def
12×fma-neg
11×associate-/l*
associate-/r*
add-log-exp
add-exp-log add-cbrt-cube
pow1 expm1-log1p-u log1p-expm1-u
flip3-- flip3-+ associate-/r/ flip-- flip-+ associate-/l/
cbrt-undiv +-commutative sub-neg frac-2neg diff-log div-sub div-exp clear-num sum-log div-inv
Counts
3 → 337
Calls
3 calls:
16.0ms
(+ (* y.re y.re) (* y.im y.im))
20.0ms
(- (* x.im y.re) (* x.re y.im))
40.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im)))

series168.0ms

Counts
3 → 9
Calls
3 calls:
30.0ms
(+ (* y.re y.re) (* y.im y.im))
43.0ms
(- (* x.im y.re) (* x.re y.im))
95.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im)))

simplify104.0ms

Algorithm
egg-herbie
Counts
346 → 346
Iterations

Useful iterations: 2 (64.0ms)

IterNodesCost
07984080
125783154
250012994

prune288.0ms

Filtered
346 candidates to 112 candidates (32.4%)
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3388346
Fresh000
Picked101
Done000
Total3398347

Merged error: 10.3b

Counts
347 → 8

localize12.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ 1 (/ (hypot y.re y.im) 1))
0.2b
(* (/ 1 (/ (hypot y.re y.im) 1)) (/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1)))
1.1b
(- (* x.im y.re) (* x.re y.im))
14.9b
(/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1))

rewrite308.0ms

Algorithm
rewrite-expression-head
Rules
1448×add-sqr-sqrt
1042×*-un-lft-identity
761×times-frac
682×associate-/r*
577×add-cube-cbrt
551×frac-times
452×associate-*l*
351×associate-*r* unswap-sqr
340×associate-/l*
196×distribute-lft-out--
192×difference-of-squares
170×add-exp-log
144×prod-diff
93×div-exp
69×*-commutative
62×prod-exp
56×clear-num
54×frac-2neg
50×add-cbrt-cube
42×associate-/l/
41×1-exp div-inv
29×associate-*r/
22×flip3-- associate-/r/ flip--
20×cbrt-undiv
19×associate-*l/
15×rec-exp
13×cbrt-unprod
12×fma-neg
pow1
un-div-inv add-log-exp
expm1-log1p-u log1p-expm1-u
remove-double-div
sub-neg pow-flip diff-log div-sub pow-prod-down inv-pow
Counts
4 → 1352
Calls
4 calls:
10.0ms
(/ 1 (/ (hypot y.re y.im) 1))
145.0ms
(* (/ 1 (/ (hypot y.re y.im) 1)) (/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1)))
16.0ms
(- (* x.im y.re) (* x.re y.im))
33.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1))

series442.0ms

Counts
4 → 12
Calls
4 calls:
59.0ms
(/ 1 (/ (hypot y.re y.im) 1))
211.0ms
(* (/ 1 (/ (hypot y.re y.im) 1)) (/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1)))
39.0ms
(- (* x.im y.re) (* x.re y.im))
133.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (* (hypot y.re y.im) 1))

simplify404.0ms

Algorithm
egg-herbie
Counts
1364 → 1364
Iterations

Useful iterations: 0 (25.0ms)

IterNodesCost
0500117154

prune1.8s

Filtered
1364 candidates to 583 candidates (42.7%)
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New135951364
Fresh617
Picked101
Done000
Total136661372

Merged error: 0.1b

Counts
1372 → 6

localize15.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ (hypot y.re y.im) y.im)
0.2b
(* (/ 1 (/ (hypot y.re y.im) 1)) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im))))
2.1b
(/ x.re (/ (hypot y.re y.im) y.im))
3.4b
(/ x.im (/ (hypot y.re y.im) y.re))

rewrite2.7s

Algorithm
rewrite-expression-head
Rules
24113×times-frac
16885×add-sqr-sqrt
16853×*-un-lft-identity
16828×add-cube-cbrt
15274×associate-/r*
7220×frac-sub
6897×frac-times
5408×prod-diff
4015×associate-/l*
2706×distribute-rgt-in distribute-lft-in
1973×div-inv
1900×associate-/r/
1338×frac-2neg clear-num
363×associate-*r/
52×associate-*l*
42×add-exp-log
25×add-cbrt-cube
20×flip3-- flip--
19×div-exp associate-*l/
18×associate-*r*
10×cbrt-undiv prod-exp
difference-of-squares
unswap-sqr
pow1 1-exp distribute-lft-out--
expm1-log1p-u log1p-expm1-u add-log-exp
rec-exp cbrt-unprod
sub-neg
pow-prod-down *-commutative
Counts
4 → 12982
Calls
4 calls:
13.0ms
(/ (hypot y.re y.im) y.im)
540.0ms
(* (/ 1 (/ (hypot y.re y.im) 1)) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im))))
6.0ms
(/ x.re (/ (hypot y.re y.im) y.im))
7.0ms
(/ x.im (/ (hypot y.re y.im) y.re))

series545.0ms

Counts
4 → 12
Calls
4 calls:
80.0ms
(/ (hypot y.re y.im) y.im)
319.0ms
(* (/ 1 (/ (hypot y.re y.im) 1)) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im))))
68.0ms
(/ x.re (/ (hypot y.re y.im) y.im))
77.0ms
(/ x.im (/ (hypot y.re y.im) y.re))

simplify4.6s

Algorithm
egg-herbie
Counts
12994 → 12994
Iterations

Useful iterations: 0 (241.0ms)

IterNodesCost
019792518829

prune56.6s

Filtered
12994 candidates to 11703 candidates (90.1%)
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New12989512994
Fresh325
Picked101
Done000
Total12993713000

Merged error: 0b

Counts
13000 → 7

localize17.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ (hypot y.re y.im) y.im)
0.1b
(/ (* (- 1) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im)))) (- (/ (hypot y.re y.im) 1)))
2.1b
(/ x.re (/ (hypot y.re y.im) y.im))
3.4b
(/ x.im (/ (hypot y.re y.im) y.re))

rewrite711.0ms

Algorithm
rewrite-expression-head
Rules
3205×times-frac
2326×add-sqr-sqrt
1768×*-un-lft-identity
1148×add-cube-cbrt
562×associate-/r*
558×associate-*r*
548×distribute-lft-neg-in distribute-rgt-neg-in
363×associate-*r/ associate-/l/
361×frac-sub
310×associate-*l*
279×difference-of-squares
186×distribute-lft-out--
182×div-inv
166×associate-/l*
66×neg-mul-1
45×frac-2neg clear-num
31×*-commutative unswap-sqr
27×associate-/r/
21×add-exp-log add-cbrt-cube
cbrt-undiv div-exp distribute-neg-frac
pow1 expm1-log1p-u log1p-expm1-u add-log-exp
distribute-lft-neg-out flip3-- distribute-frac-neg prod-exp flip-- cbrt-unprod
Counts
4 → 1662
Calls
4 calls:
3.0ms
(/ (hypot y.re y.im) y.im)
511.0ms
(/ (* (- 1) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im)))) (- (/ (hypot y.re y.im) 1)))
7.0ms
(/ x.re (/ (hypot y.re y.im) y.im))
7.0ms
(/ x.im (/ (hypot y.re y.im) y.re))

series498.0ms

Counts
4 → 12
Calls
4 calls:
82.0ms
(/ (hypot y.re y.im) y.im)
258.0ms
(/ (* (- 1) (- (/ x.im (/ (hypot y.re y.im) y.re)) (/ x.re (/ (hypot y.re y.im) y.im)))) (- (/ (hypot y.re y.im) 1)))
73.0ms
(/ x.re (/ (hypot y.re y.im) y.im))
84.0ms
(/ x.im (/ (hypot y.re y.im) y.re))

simplify328.0ms

Algorithm
egg-herbie
Counts
1674 → 1674
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
0500132051

prune4.4s

Filtered
1674 candidates to 1193 candidates (71.3%)
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New167311674
Fresh156
Picked011
Done000
Total167471681

Merged error: 0b

Counts
1681 → 7

regimes147.0ms

Accuracy

0% (0.4b remaining)

Error of 0.4b against oracle of 0.0b and baseline of 0.4b

bsearch0.0ms

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 1 (1.0ms)

IterNodesCost
02313
13211
24011
34011

end0.0ms

sample565.0ms

Algorithm
intervals
Results
331.0ms8490×body80valid