Details

Time bar (total: 4.8s)

sample36.0ms

Algorithm
intervals
Results
25.0ms272×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: 25.7b

localize9.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (* y.re y.re) (* y.im y.im))
0.8b
(+ (* x.re y.re) (* x.im y.im))
25.2b
(/ (+ (* 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:
3.0ms
(+ (* y.re y.re) (* y.im y.im))
2.0ms
(+ (* x.re y.re) (* x.im y.im))
11.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

series138.0ms

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

simplify138.0ms

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 2 (32.0ms)

IterNodesCost
0290532
11199475
24872462
35001462

prune212.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 16.4b

localize11.0ms

Local error

Found 3 expressions with local error:

0.0b
(/ 1 (* (hypot y.re y.im) 1))
0.3b
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
16.0b
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

rewrite35.0ms

Algorithm
rewrite-expression-head
Rules
169×add-exp-log
92×prod-exp
63×div-exp
49×add-cbrt-cube
41×1-exp
17×cbrt-unprod
16×cbrt-undiv
15×rec-exp
13×add-sqr-sqrt
12×times-frac
11×add-cube-cbrt *-un-lft-identity
pow1
associate-*r* associate-*l*
associate-/l*
div-inv
expm1-log1p-u log1p-expm1-u add-log-exp
pow-flip frac-2neg pow-prod-down clear-num associate-/r*
frac-times associate-*r/ associate-*l/ *-commutative inv-pow unswap-sqr
Counts
3 → 135
Calls
3 calls:
5.0ms
(/ 1 (* (hypot y.re y.im) 1))
21.0ms
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
3.0ms
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

series359.0ms

Counts
3 → 9
Calls
3 calls:
52.0ms
(/ 1 (* (hypot y.re y.im) 1))
186.0ms
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
121.0ms
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

simplify45.0ms

Algorithm
egg-herbie
Counts
144 → 144
Iterations

Useful iterations: 2 (33.0ms)

IterNodesCost
04791150
11617856
25001848

prune268.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 6.1b

localize10.0ms

Local error

Found 2 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) 1))
16.0b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

rewrite11.0ms

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

series232.0ms

Counts
2 → 6
Calls
2 calls:
119.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im)) (* (hypot y.re y.im) 1))
113.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.re y.im))

simplify75.0ms

Algorithm
egg-herbie
Counts
85 → 85
Iterations

Useful iterations: 3 (67.0ms)

IterNodesCost
0290726
11060641
23129641
35001634

prune250.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 6.1b

localize12.0ms

Local error

Found 3 expressions with local error:

0.1b
(/ (/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im))) (* (hypot y.re y.im) 1))
7.6b
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im)))
8.5b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im)))

rewrite90.0ms

Algorithm
rewrite-expression-head
Rules
892×times-frac
401×add-sqr-sqrt add-cube-cbrt *-un-lft-identity
384×sqrt-prod
161×associate-/l*
40×add-exp-log
31×add-cbrt-cube
24×div-inv
22×div-exp
16×cbrt-undiv
13×associate-/r*
prod-exp
pow1 expm1-log1p-u frac-2neg 1-exp clear-num cbrt-unprod log1p-expm1-u add-log-exp
associate-/l/
Counts
3 → 519
Calls
3 calls:
37.0ms
(/ (/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im))) (* (hypot y.re y.im) 1))
10.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im)))
3.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im)))

series440.0ms

Counts
3 → 9
Calls
3 calls:
122.0ms
(/ (/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im))) (* (hypot y.re y.im) 1))
117.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im))) (sqrt (hypot y.re y.im)))
201.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (hypot y.re y.im)))

simplify99.0ms

Algorithm
egg-herbie
Counts
528 → 528
Iterations

Useful iterations: 1 (26.0ms)

IterNodesCost
012298430
150017455

prune1.1s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 6.1b

regimes179.0ms

Accuracy

26.8% (8.3b remaining)

Error of 14.3b against oracle of 6.0b and baseline of 17.4b

bsearch74.0ms

Steps
ItersRangePoint
7
1.1491683383299206e+265
4.6716414844908043e+266
1.1661264907998782e+265
6
-4.297055379359757e+148
-3.3081908876611885e+147
-3.9328947580125936e+148

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02714
13014
23014

end0.0ms

sample944.0ms

Algorithm
intervals
Results
721.0ms8457×body80valid