Details

Time bar (total: 17.9s)

sample37.0ms

Algorithm
intervals
Results
23.0ms270×body80valid

simplify17.0ms

Counts
1 → 1
Iterations

Useful iterations: 1 (4.0ms)

IterNodesCost
01115
11713
22113
done2113

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 25.1b

localize25.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (* y.re y.re) (* y.im y.im))
0.7b
(+ (* x.re y.re) (* x.im y.im))
24.7b
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

rewrite78.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt add-cube-cbrt *-un-lft-identity
times-frac
add-log-exp
add-exp-log add-cbrt-cube
flip3-+ flip-+
pow1 expm1-log1p-u associate-/r* log1p-expm1-u associate-/l*
+-commutative fma-def sum-log associate-/r/ associate-/l/
cbrt-undiv frac-2neg div-exp clear-num div-inv
Counts
3 → 61
Calls
3 calls:
8.0ms
(+ (* y.re y.re) (* y.im y.im))
14.0ms
(+ (* x.re y.re) (* x.im y.im))
54.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

series194.0ms

Counts
3 → 9
Calls
3 calls:
32.0ms
(+ (* y.re y.re) (* y.im y.im))
42.0ms
(+ (* x.re y.re) (* x.im y.im))
120.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

simplify2.2s

Counts
70 → 70
Iterations

Useful iterations: 2 (276.0ms)

IterNodesCost
01051154
1288969
2955867
32981867
done5001867

prune355.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 15.0b

localize12.0ms

Local error

Found 3 expressions with local error:

0.3b
(* (/ 1 (hypot y.re y.im)) (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)))
0.5b
(fma x.re y.re (* x.im y.im))
14.7b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

rewrite47.0ms

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt
34×times-frac
27×add-exp-log *-un-lft-identity
25×add-cube-cbrt
17×add-cbrt-cube
13×associate-*r* associate-*l*
div-exp
prod-exp
unswap-sqr
pow1 cbrt-undiv
cbrt-unprod
expm1-log1p-u associate-/r* log1p-expm1-u div-inv associate-/l* add-log-exp
rec-exp 1-exp
frac-times frac-2neg associate-*r/ pow-prod-down associate-*l/ clear-num *-commutative fma-udef
Counts
3 → 97
Calls
3 calls:
35.0ms
(* (/ 1 (hypot y.re y.im)) (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)))
0.0ms
(fma x.re y.re (* x.im y.im))
5.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

series456.0ms

Counts
3 → 9
Calls
3 calls:
236.0ms
(* (/ 1 (hypot y.re y.im)) (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)))
69.0ms
(fma x.re y.re (* x.im y.im))
151.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

simplify4.6s

Counts
106 → 106
Iterations

Useful iterations: done (4.6s)

IterNodesCost
01401895
13281763
210681527
339791527
done50001494

prune424.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 4.1b

localize16.0ms

Local error

Found 3 expressions with local error:

0.1b
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (hypot y.re y.im))
0.5b
(fma x.re y.re (* x.im y.im))
14.7b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

rewrite40.0ms

Algorithm
rewrite-expression-head
Rules
84×times-frac
53×add-sqr-sqrt add-cube-cbrt *-un-lft-identity
16×associate-/l*
10×add-exp-log add-cbrt-cube
associate-/r* div-inv
cbrt-undiv div-exp
pow1 expm1-log1p-u log1p-expm1-u add-log-exp
frac-2neg clear-num
fma-udef associate-/l/
Counts
3 → 111
Calls
3 calls:
24.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (hypot y.re y.im))
0.0ms
(fma x.re y.re (* x.im y.im))
5.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

series435.0ms

Counts
3 → 9
Calls
3 calls:
203.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (hypot y.re y.im))
46.0ms
(fma x.re y.re (* x.im y.im))
187.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

simplify2.3s

Counts
120 → 120
Iterations

Useful iterations: done (2.3s)

IterNodesCost
01612484
13222423
27032246
320302192
done50002130

prune588.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 4.1b

localize13.0ms

Local error

Found 4 expressions with local error:

0.2b
(/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im))))
0.3b
(* (/ 1 (hypot y.re y.im)) (/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))))
0.5b
(fma x.re y.re (* x.im y.im))
14.8b
(/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))

rewrite106.0ms

Algorithm
rewrite-expression-head
Rules
187×times-frac
143×add-sqr-sqrt
107×*-un-lft-identity
100×add-exp-log
96×add-cube-cbrt
50×div-exp
44×associate-*r*
32×add-cbrt-cube
28×prod-exp
17×rec-exp 1-exp
16×associate-/r*
15×unswap-sqr
13×cbrt-undiv associate-*l*
11×div-inv
pow1
cbrt-unprod associate-/l*
expm1-log1p-u log1p-expm1-u add-log-exp
pow-flip pow-prod-down inv-pow
frac-2neg clear-num associate-/r/
frac-times associate-*r/ associate-*l/ un-div-inv *-commutative fma-udef
Counts
4 → 240
Calls
4 calls:
10.0ms
(/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im))))
78.0ms
(* (/ 1 (hypot y.re y.im)) (/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))))
0.0ms
(fma x.re y.re (* x.im y.im))
6.0ms
(/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))

series702.0ms

Counts
4 → 12
Calls
4 calls:
172.0ms
(/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im))))
296.0ms
(* (/ 1 (hypot y.re y.im)) (/ 1 (/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))))
81.0ms
(fma x.re y.re (* x.im y.im))
153.0ms
(/ (hypot y.re y.im) (fma x.re y.re (* x.im y.im)))

simplify4.1s

Counts
252 → 252
Iterations

Useful iterations: done (4.1s)

IterNodesCost
02925363
17224687
215354048
343114030
done50013953

prune748.0ms

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 4.1b

regimes310.0ms

bsearch3.0ms