Details

Time bar (total: 4.6s)

sample43.0ms

Algorithm
intervals
Results
30.0ms274×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: 22.1b

localize9.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (* y.re y.re) (* y.im y.im))
0.5b
(+ (* x.re y.re) (* x.im y.im))
21.6b
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

rewrite31.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:
5.0ms
(+ (* y.re y.re) (* y.im y.im))
5.0ms
(+ (* x.re y.re) (* x.im y.im))
19.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))

series148.0ms

Counts
3 → 9
Calls
3 calls:
30.0ms
(+ (* y.re y.re) (* y.im y.im))
31.0ms
(+ (* x.re y.re) (* x.im y.im))
87.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

prune199.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 14.3b

localize10.0ms

Local error

Found 4 expressions with local error:

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

rewrite35.0ms

Algorithm
rewrite-expression-head
Rules
170×add-exp-log
92×prod-exp
63×div-exp
50×add-cbrt-cube
41×1-exp
17×cbrt-unprod
16×cbrt-undiv
15×rec-exp
14×add-sqr-sqrt
12×add-cube-cbrt *-un-lft-identity times-frac
pow1
associate-*r* associate-*l*
associate-/l*
expm1-log1p-u log1p-expm1-u div-inv add-log-exp
pow-flip frac-2neg pow-prod-down clear-num associate-/r*
frac-times associate-*r/ associate-*l/ *-commutative fma-udef inv-pow unswap-sqr
Counts
4 → 145
Calls
4 calls:
0.0ms
(fma x.re y.re (* x.im y.im))
4.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))

series384.0ms

Counts
4 → 12
Calls
4 calls:
41.0ms
(fma x.re y.re (* x.im y.im))
51.0ms
(/ 1 (* (hypot y.re y.im) 1))
179.0ms
(* (/ 1 (* (hypot y.re y.im) 1)) (/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1)))
114.0ms
(/ (fma x.re y.re (* x.im y.im)) (* (hypot y.re y.im) 1))

simplify44.0ms

Algorithm
egg-herbie
Counts
157 → 157
Iterations

Useful iterations: 2 (32.0ms)

IterNodesCost
04861191
11654892
25002884

prune272.0ms

Pruning

12 alts after pruning (10 fresh and 2 done)

Merged error: 6.6b

localize10.0ms

Local error

Found 3 expressions with local error:

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

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
40×times-frac
25×add-sqr-sqrt add-cube-cbrt *-un-lft-identity
22×add-exp-log
17×add-cbrt-cube
16×associate-/l*
10×div-exp
cbrt-undiv
prod-exp associate-/r* div-inv
pow1 expm1-log1p-u log1p-expm1-u add-log-exp
frac-2neg 1-exp clear-num cbrt-unprod
fma-udef associate-/l/
Counts
3 → 89
Calls
3 calls:
0.0ms
(fma x.re y.re (* x.im y.im))
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))

series276.0ms

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

simplify77.0ms

Algorithm
egg-herbie
Counts
98 → 98
Iterations

Useful iterations: 3 (68.0ms)

IterNodesCost
0297767
11133677
23251677
35001670

prune256.0ms

Pruning

12 alts after pruning (9 fresh and 3 done)

Merged error: 6.6b

localize13.0ms

Local error

Found 4 expressions with local error:

0.1b
(sqrt (/ 1 (* (hypot y.re y.im) 1)))
0.4b
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im)))
6.3b
(/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im))
7.9b
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im)))

rewrite96.0ms

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt
23×sqrt-prod
20×add-exp-log associate-*l* add-cbrt-cube
17×add-cube-cbrt *-un-lft-identity
15×times-frac
12×pow1
10×associate-*r*
prod-exp cbrt-unprod
sqrt-div div-inv
cbrt-undiv expm1-log1p-u sqrt-pow1 div-exp log1p-expm1-u add-log-exp unswap-sqr
pow-prod-down associate-*l/ associate-/r*
pow-flip *-commutative fma-udef
distribute-rgt-in frac-times rem-sqrt-square frac-2neg distribute-lft-in pow1/2 associate-*r/ clear-num associate-/l/ associate-/l* inv-pow
Counts
4 → 117
Calls
4 calls:
6.0ms
(sqrt (/ 1 (* (hypot y.re y.im) 1)))
53.0ms
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im)))
14.0ms
(/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im))
20.0ms
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im)))

series697.0ms

Counts
4 → 12
Calls
4 calls:
86.0ms
(sqrt (/ 1 (* (hypot y.re y.im) 1)))
188.0ms
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im)))
257.0ms
(/ (* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im))) (hypot y.re y.im))
166.0ms
(* (sqrt (/ 1 (* (hypot y.re y.im) 1))) (fma x.re y.re (* x.im y.im)))

simplify68.0ms

Algorithm
egg-herbie
Counts
129 → 129
Iterations

Useful iterations: 2 (56.0ms)

IterNodesCost
04701373
122271115
250011054

prune406.0ms

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 6.6b

regimes174.0ms

Accuracy

17.7% (9.0b remaining)

Error of 14.7b against oracle of 5.7b and baseline of 16.6b

bsearch54.0ms

Steps
ItersRangePoint
9
9.681338502808346e+165
1.3966723912888989e+171
2.2577310345661958e+167

simplify1.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01910
12110
22110

end0.0ms

sample1.1s

Algorithm
intervals
Results
858.0ms8483×body80valid