Details

Time bar (total: 32.9s)

sample329.0ms

Algorithm
intervals
Results
156.0ms79×body1280valid
49.0ms56×body640valid
48.0ms253×body80valid
14.0ms22×body320valid
3.0msbody160valid

simplify3.8s

Counts
1 → 1
Iterations
IterNodes
65698
5805
4195
382
253
131
019

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 33.5b

localize68.0ms

Local error

Found 4 expressions with local error:

1.7b
(* (atan2 x.im x.re) y.im)
30.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
30.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite40.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1 *-un-lft-identity add-cube-cbrt
add-cbrt-cube add-exp-log sqrt-prod
sqrt-div insert-posit16 add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
sin-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 60
Calls
4 calls:
7.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
18.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series394.0ms

Counts
4 → 12
Calls
4 calls:
32.0ms
(* (atan2 x.im x.re) y.im)
65.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
66.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
231.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify2.2s

Counts
72 → 72
Iterations
IterNodes
54090
41666
3854
2430
1206
0102

prune1.3s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 20.8b

localize133.0ms

Local error

Found 4 expressions with local error:

30.7b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite118.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
pow1 *-un-lft-identity add-cube-cbrt
add-cbrt-cube add-exp-log insert-posit16 add-log-exp
sin-sum sqrt-prod
sqrt-div
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
Counts
4 → 43
Calls
4 calls:
12.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
33.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
39.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
33.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series711.0ms

Counts
4 → 12
Calls
4 calls:
65.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
221.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
180.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
244.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify1.4s

Counts
55 → 55
Iterations
IterNodes
53217
41145
3535
2268
1145
073

prune1.3s

Pruning

12 alts after pruning (10 fresh and 2 done)

Merged error: 20.8b

localize136.0ms

Local error

Found 4 expressions with local error:

32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite103.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt pow1 *-un-lft-identity add-cbrt-cube sin-sum add-exp-log add-cube-cbrt insert-posit16 add-log-exp
Counts
4 → 36
Calls
4 calls:
29.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
26.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
16.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series802.0ms

Counts
4 → 12
Calls
4 calls:
219.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
197.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
196.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
190.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify1.3s

Counts
48 → 48
Iterations
IterNodes
92033
8983
7594
6438
5294
4171
3112
285
165
043

prune1.3s

Pruning

12 alts after pruning (9 fresh and 3 done)

Merged error: 20.8b

localize126.0ms

Local error

Found 4 expressions with local error:

32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
32.3b
(sin (+ (* (log (posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
60.0b
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

rewrite48.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt pow1 *-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt insert-posit16 add-log-exp
sin-sum
remove-posit16
Counts
4 → 36
Calls
4 calls:
16.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
16.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
15.0ms
(sin (+ (* (log (posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
0.0ms
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

series593.0ms

Counts
4 → 12
Calls
4 calls:
227.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
151.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
175.0ms
(sin (+ (* (log (posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
41.0ms
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

simplify2.3s

Counts
48 → 48
Iterations
IterNodes
93710
81450
7786
6547
5365
4232
3158
2120
199
069

prune1.9s

Pruning

12 alts after pruning (9 fresh and 3 done)

Merged error: 20.7b

regimes945.0ms

Accuracy

76.8% (3.3b remaining)

Error of 22.4b against oracle of 19.1b and baseline of 33.2b

bsearch264.0ms

Steps
ItersRangePoint
8
-8.737538094151048e-301
-8.73966273530909e-305
-8.85761317469186e-305

simplify12.0ms

Iterations
IterNodes
239
139
030

end0.0ms

sample11.2s

Algorithm
intervals
Results
5.4s2102×body1280valid
2.4s7927×body80valid
2.1s1414×body640valid
532.0ms509×body320valid
157.0ms51×body2560valid
144.0ms249×body160valid