Details

Time bar (total: 30.5s)

sample363.0ms

Algorithm
intervals
Results
125.0ms59×body1280valid
52.0ms260×body80valid
33.0ms38×body640valid
11.0ms19×body320valid
4.0msbody2560valid
3.0msbody160valid

simplify3.5s

Counts
1 → 1
Iterations
IterNodes
done5001
5808
4197
382
253
131
019

prune18.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 32.5b

localize68.0ms

Local error

Found 4 expressions with local error:

2.2b
(* (atan2 x.im x.re) y.im)
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.4b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

rewrite65.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)
9.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
39.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series350.0ms

Counts
4 → 12
Calls
4 calls:
28.0ms
(* (atan2 x.im x.re) y.im)
49.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
64.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
209.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
done5001
42127
3906
2432
1207
0102

prune566.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 19.7b

localize96.0ms

Local error

Found 4 expressions with local error:

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

rewrite110.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:
17.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
37.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)))
22.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

series716.0ms

Counts
4 → 12
Calls
4 calls:
62.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
203.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
212.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
238.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))

simplify2.9s

Counts
55 → 55
Iterations
IterNodes
done5000
53634
41189
3531
2270
1146
073

prune838.0ms

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 19.7b

localize175.0ms

Local error

Found 4 expressions with local error:

34.4b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.4b
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
34.4b
(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.1b
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

rewrite77.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:
21.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
23.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 (posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
1.0ms
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

series633.0ms

Counts
4 → 12
Calls
4 calls:
196.0ms
(sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
170.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 (posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))) y.im) (* (atan2 x.im x.re) y.re)))
70.0ms
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

simplify3.2s

Counts
48 → 48
Iterations
IterNodes
done5011
94248
82354
71406
61087
5489
4279
3177
2122
1100
069

prune898.0ms

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 19.7b

localize90.0ms

Local error

Found 4 expressions with local error:

29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
34.4b
(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.1b
(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-cube-cbrt sqrt-prod
add-cbrt-cube sqrt-div add-exp-log insert-posit16 add-log-exp
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+
sin-sum remove-posit16
Counts
4 → 50
Calls
4 calls:
14.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
16.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
17.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)))))

series365.0ms

Counts
4 → 12
Calls
4 calls:
44.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
63.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
213.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)))
45.0ms
(posit16->real (real->posit16 (sqrt (+ (* x.re x.re) (* x.im x.im)))))

simplify2.8s

Counts
62 → 62
Iterations
IterNodes
done5004
53651
41208
3543
2282
1158
082

prune715.0ms

Pruning

13 alts after pruning (11 fresh and 2 done)

Merged error: 19.3b

regimes1.1s

Accuracy

76.2% (3.4b remaining)

Error of 21.9b against oracle of 18.5b and baseline of 32.6b

bsearch207.0ms

Steps
ItersRangePoint
9
-7.906973598056354e-306
6.742694169235979e-302
-6.88206465884127e-310

simplify10.0ms

Iterations
IterNodes
done39
139
029

end0.0ms

sample8.4s

Algorithm
intervals
Results
3.6s2158×body1280valid
2.2s1379×body640valid
1.5s7928×body80valid
426.0ms550×body320valid
103.0ms40×body2560valid
77.0ms207×body160valid