Details

Time bar (total: 3.5s)

sample19.0ms

Algorithm
intervals
Results
9.0ms264×body80valid

simplify5.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
0177
1217
2217

prune2.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 27.0b

localize9.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (* y.re y.re) (* y.im y.im))
0.6b
(+ (* x.re y.re) (* x.im y.im))
26.5b
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

rewrite17.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:
2.0ms
(+ (* y.re y.re) (* y.im y.im))
2.0ms
(+ (* x.re y.re) (* x.im y.im))
10.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

series134.0ms

Counts
3 → 9
Calls
3 calls:
28.0ms
(+ (* y.re y.re) (* y.im y.im))
29.0ms
(+ (* x.re y.re) (* x.im y.im))
77.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

simplify133.0ms

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 2 (30.0ms)

IterNodesCost
0290532
11199475
24872462
35001462

prune214.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 18.0b

localize11.0ms

Local error

Found 4 expressions with local error:

0.0b
(hypot y.re y.im)
0.2b
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
0.5b
(fma x.re y.re (* x.im y.im))
17.5b
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

rewrite30.0ms

Algorithm
rewrite-expression-head
Rules
155×add-exp-log
86×prod-exp
57×div-exp
45×add-cbrt-cube
35×1-exp
16×cbrt-unprod
14×cbrt-undiv
12×add-sqr-sqrt rec-exp
10×add-cube-cbrt *-un-lft-identity
times-frac
associate-*r* associate-*l*
pow1
expm1-log1p-u log1p-expm1-u add-log-exp
div-inv associate-/l*
frac-times hypot-udef frac-2neg associate-*r/ pow-prod-down associate-*l/ clear-num associate-/r* *-commutative fma-udef unswap-sqr
Counts
4 → 122
Calls
4 calls:
0.0ms
(hypot y.re y.im)
21.0ms
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
0.0ms
(fma x.re y.re (* x.im y.im))
3.0ms
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

series377.0ms

Counts
4 → 12
Calls
4 calls:
48.0ms
(hypot y.re y.im)
178.0ms
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
37.0ms
(fma x.re y.re (* x.im y.im))
114.0ms
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

simplify46.0ms

Algorithm
egg-herbie
Counts
134 → 134
Iterations

Useful iterations: 2 (35.0ms)

IterNodesCost
04861106
11625820
25001818

prune268.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 5.9b

localize10.0ms

Local error

Found 4 expressions with local error:

0.0b
(hypot y.re y.im)
0.1b
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (* (hypot y.re y.im) 1))
0.5b
(fma x.re y.re (* x.im y.im))
17.5b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
40×times-frac
26×add-sqr-sqrt add-cube-cbrt *-un-lft-identity
23×add-exp-log
18×add-cbrt-cube
16×associate-/l*
10×div-exp
cbrt-undiv
pow1 expm1-log1p-u prod-exp associate-/r* log1p-expm1-u div-inv add-log-exp
frac-2neg 1-exp clear-num cbrt-unprod
hypot-udef fma-udef associate-/l/
Counts
4 → 99
Calls
4 calls:
0.0ms
(hypot y.re y.im)
6.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (* (hypot y.re y.im) 1))
0.0ms
(fma x.re y.re (* x.im y.im))
2.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

series307.0ms

Counts
4 → 12
Calls
4 calls:
44.0ms
(hypot y.re y.im)
113.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (* (hypot y.re y.im) 1))
39.0ms
(fma x.re y.re (* x.im y.im))
110.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

simplify77.0ms

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 3 (68.0ms)

IterNodesCost
0308794
11149701
23275701
35001693

prune312.0ms

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 5.8b

localize10.0ms

Local error

Found 4 expressions with local error:

0.0b
(hypot y.re y.im)
0.2b
(* (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (/ 1 (hypot y.re y.im)))
0.5b
(fma x.re y.re (* x.im y.im))
17.5b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
43×add-sqr-sqrt
34×times-frac
28×add-exp-log *-un-lft-identity
26×add-cube-cbrt
18×add-cbrt-cube
13×associate-*r* associate-*l*
div-exp
prod-exp
pow1 unswap-sqr
cbrt-undiv
expm1-log1p-u cbrt-unprod log1p-expm1-u add-log-exp
associate-/r* div-inv associate-/l*
rec-exp 1-exp
frac-times hypot-udef frac-2neg associate-*r/ pow-prod-down associate-*l/ clear-num un-div-inv *-commutative fma-udef
Counts
4 → 108
Calls
4 calls:
0.0ms
(hypot y.re y.im)
16.0ms
(* (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (/ 1 (hypot y.re y.im)))
0.0ms
(fma x.re y.re (* x.im y.im))
2.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

series309.0ms

Counts
4 → 12
Calls
4 calls:
44.0ms
(hypot y.re y.im)
117.0ms
(* (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (/ 1 (hypot y.re y.im)))
37.0ms
(fma x.re y.re (* x.im y.im))
112.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

simplify46.0ms

Algorithm
egg-herbie
Counts
120 → 120
Iterations

Useful iterations: 2 (37.0ms)

IterNodesCost
0377886
11609773
25002761

prune307.0ms

Pruning

12 alts after pruning (10 fresh and 2 done)

Merged error: 5.8b

regimes195.0ms

Accuracy

38% (7.1b remaining)

Error of 13.0b against oracle of 5.9b and baseline of 17.3b

bsearch94.0ms

Steps
ItersRangePoint
11
5.286434132095145e+107
2.6900018818139096e+129
1.8955542797321017e+121
10
-3.4896836630642546e+148
-1.4395777107888637e+138
-6.751507617690198e+142

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02714
13014
23014

end0.0ms

sample523.0ms

Algorithm
intervals
Results
302.0ms8511×body80valid