Details

Time bar (total: 2.5m)

sample4.2s

Algorithm
intervals
Results
4.0s946×body10240exit
71.0ms256×body80valid

simplify4.3s

Counts
1 → 1

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 29.2b

localize70.0ms

Local error

Found 4 expressions with local error:

28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
24.2b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
0.3b
(* (atan2 x.im x.re) y.im)

rewrite74.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-+
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 60
Calls
4 calls:
Slowest
32.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
15.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
12.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
12.0ms
(* (atan2 x.im x.re) y.im)

series370.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
196.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
90.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
65.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
18.0ms
(* (atan2 x.im x.re) y.im)

simplify1.0s

Counts
72 → 72

prune1.3s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 15.1b

localize61.0ms

Local error

Found 4 expressions with local error:

28.0b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
0.3b
(* (atan2 x.im x.re) y.im)
0.2b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
0.0b
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))

rewrite68.0ms

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt
11×pow1
*-un-lft-identity associate-*l* add-cube-cbrt
add-cbrt-cube add-exp-log
associate-*r* add-log-exp
insert-posit16
log-pow sqrt-prod
sqrt-pow1 pow1/2 sqrt-div pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
rem-sqrt-square sub-neg flip3-+ flip3-- diff-log flip-+ flip--
Counts
4 → 70
Calls
4 calls:
Slowest
23.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
19.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
13.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
11.0ms
(* (atan2 x.im x.re) y.im)

series368.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
155.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
124.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
66.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
22.0ms
(* (atan2 x.im x.re) y.im)

simplify882.0ms

Counts
82 → 82

prune1.1s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.1b

localize41.0ms

Local error

Found 3 expressions with local error:

0.3b
(* (atan2 x.im x.re) y.im)
0.3b
(* (log (- x.re)) y.re)
0.0b
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
pow1
*-un-lft-identity add-cbrt-cube associate-*l* add-exp-log add-cube-cbrt
associate-*r*
add-log-exp
insert-posit16
pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
sub-neg flip3-- diff-log log-pow flip--
Counts
3 → 52
Calls
3 calls:
Slowest
11.0ms
(* (atan2 x.im x.re) y.im)
7.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
7.0ms
(* (log (- x.re)) y.re)

series295.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
146.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
123.0ms
(* (log (- x.re)) y.re)
26.0ms
(* (atan2 x.im x.re) y.im)

simplify2.0s

Counts
61 → 61

prune739.0ms

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.1b

localize76.0ms

Local error

Found 4 expressions with local error:

60.0b
(posit16->real (real->posit16 (- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))))
0.3b
(* (atan2 x.im x.re) y.im)
0.3b
(* (log (- x.re)) y.re)
0.0b
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))

rewrite47.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
pow1
*-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt
associate-*l*
associate-*r* add-log-exp
insert-posit16
pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
sub-neg flip3-- diff-log log-pow remove-posit16 flip--
Counts
4 → 61
Calls
4 calls:
Slowest
20.0ms
(* (log (- x.re)) y.re)
15.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
11.0ms
(* (atan2 x.im x.re) y.im)
1.0ms
(posit16->real (real->posit16 (- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))))

series435.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
186.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
148.0ms
(posit16->real (real->posit16 (- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))))
77.0ms
(* (log (- x.re)) y.re)
24.0ms
(* (atan2 x.im x.re) y.im)

simplify2.0s

Counts
73 → 73

prune1.9s

Pruning

4 alts after pruning (1 fresh and 3 done)

Merged error: 0.1b

regimes343.0ms

Accuracy

97% (0.2b remaining)

Error of 0.3b against oracle of 0.1b and baseline of 7.4b

bsearch2.1s

end0.0ms

sample2.1m

Algorithm
intervals
Results
2.0m30271×body10240exit
3.9s8000×body80valid