Details

Time bar (total: 2.6m)

sample4.8s

Algorithm
intervals
Results
4.5s1047×body10240exit
117.0ms256×body80valid

simplify3.8s

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

prune15.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 31.6b

localize74.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (atan2 x.im x.re) y.re)
24.7b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
30.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
30.2b
(sqrt (+ (* x.re x.re) (* x.im x.im)))

rewrite54.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:
6.0ms
(* (atan2 x.im x.re) y.re)
22.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
16.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
8.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series345.0ms

Counts
4 → 12
Calls
4 calls:
34.0ms
(* (atan2 x.im x.re) y.re)
209.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
46.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
57.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify2.0s

Counts
72 → 72
Iterations
IterNodes
54233
41689
3826
2412
1198
097

prune1.3s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 16.0b

localize48.0ms

Local error

Found 4 expressions with local error:

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

rewrite48.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:
8.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
15.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
11.0ms
(* (atan2 x.im x.re) y.im)
13.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series355.0ms

Counts
4 → 12
Calls
4 calls:
164.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
115.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
22.0ms
(* (atan2 x.im x.re) y.im)
54.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify2.5s

Counts
82 → 82
Iterations
IterNodes
44236
31847
2751
1307
0135

prune1.2s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize24.0ms

Local error

Found 3 expressions with local error:

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

rewrite25.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:
8.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
11.0ms
(* (log (- x.re)) y.re)
6.0ms
(* (atan2 x.im x.re) y.im)

series259.0ms

Counts
3 → 9
Calls
3 calls:
134.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
105.0ms
(* (log (- x.re)) y.re)
20.0ms
(* (atan2 x.im x.re) y.im)

simplify1.8s

Counts
61 → 61
Iterations
IterNodes
43360
31467
2585
1237
0107

prune814.0ms

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

localize21.0ms

Local error

Found 4 expressions with local error:

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

rewrite72.0ms

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt
18×log-prod
15×*-un-lft-identity add-cube-cbrt
12×associate--l+
distribute-rgt-in pow1 distribute-lft-in add-log-exp
add-cbrt-cube exp-sum add-exp-log
associate-*r*
associate-*l*
insert-posit16
exp-prod
sub-neg diff-log pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr rem-exp-log
flip3-- exp-diff log-pow flip--
Counts
4 → 86
Calls
4 calls:
31.0ms
(exp (- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im)))
16.0ms
(- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im))
13.0ms
(* y.re (log x.im))
10.0ms
(* (atan2 x.im x.re) y.im)

series239.0ms

Counts
4 → 12
Calls
4 calls:
65.0ms
(exp (- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im)))
115.0ms
(- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im))
40.0ms
(* y.re (log x.im))
18.0ms
(* (atan2 x.im x.re) y.im)

simplify3.2s

Counts
98 → 98
Iterations
IterNodes
45657
31926
2672
1313
0149

prune1.4s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0b

regimes246.0ms

Accuracy

97.9% (0.1b remaining)

Error of 0.2b against oracle of 0.0b and baseline of 6.8b

bsearch2.0s

Steps
ItersRangePoint
7
-2.868526113108925e-11
-1.5917908160649244e-13
-2.8254894938573524e-11

simplify8.0ms

Iterations
IterNodes
233
133
025

end0.0ms

sample2.2m

Algorithm
intervals
Results
2.1m30970×body10240exit
2.9s8000×body80valid