Details

Time bar (total: 2.5m)

sample4.4s

Algorithm
intervals
Results
4.2s921×body10240exit
106.0ms256×body80valid

simplify455.0ms

Calls
1 calls:
Slowest
454.0ms
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))

prune21.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 30.6b

localize66.0ms

Local error

Found 4 expressions with local error:

29.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
25.1b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
0.3b
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)

rewrite188.0ms

Algorithm
rewrite-expression-head
Rules
32×*-un-lft-identity
16×sqrt-prod
14×associate-*l*
12×add-sqr-sqrt
10×pow1 distribute-lft-out
add-cube-cbrt
add-cbrt-cube add-exp-log
sqrt-div swap-sqr insert-posit16 add-log-exp
sqrt-pow1 pow1/2 associate-*r* log-pow
rem-sqrt-square cos-sum flip3-+ flip-+
+-commutative pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Calls
4 calls:
Slowest
101.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
45.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
25.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
13.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)

series418.0ms

Calls
4 calls:
Slowest
168.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
140.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
59.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
50.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

simplify2.2s

Calls
48 calls:
Slowest
456.0ms
(* (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (* (* y.re y.re) y.re))
320.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
242.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
238.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))
206.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))

prune1.5s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 17.0b

localize7.0ms

Local error

Found 4 expressions with local error:

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

rewrite88.0ms

Algorithm
rewrite-expression-head
Rules
31×*-un-lft-identity
26×add-sqr-sqrt
20×associate-*l*
13×pow1
add-cube-cbrt
add-cbrt-cube add-exp-log sqrt-prod
associate-*r* distribute-lft-out-- add-log-exp unswap-sqr
log-pow distribute-lft-out
insert-posit16 difference-of-squares
sqrt-pow1 pow1/2 sqrt-div swap-sqr pow-prod-down prod-exp *-commutative cbrt-unprod
rem-sqrt-square sub-neg flip3-+ flip3-- diff-log flip-+ flip--
Calls
4 calls:
Slowest
47.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
23.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
10.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
5.0ms
(* (atan2 x.im x.re) y.im)

series406.0ms

Calls
4 calls:
Slowest
158.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
153.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
60.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
35.0ms
(* (atan2 x.im x.re) y.im)

simplify2.5s

Calls
58 calls:
Slowest
378.0ms
(* (* (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (log (sqrt (+ (* x.re x.re) (* x.im x.im))))) (* (* y.re y.re) y.re))
311.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
273.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
264.0ms
(/ (exp (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)) (exp (* (atan2 x.im x.re) y.im)))
207.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))

prune1.5s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize15.0ms

Local error

Found 3 expressions with local error:

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

rewrite69.0ms

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt
17×*-un-lft-identity
14×associate-*l*
10×pow1
add-cbrt-cube add-exp-log add-cube-cbrt
associate-*r* distribute-lft-out-- unswap-sqr
add-log-exp
difference-of-squares
log-pow insert-posit16
pow-prod-down prod-exp *-commutative cbrt-unprod
sub-neg flip3-- diff-log flip--
Calls
3 calls:
Slowest
54.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
7.0ms
(* (log (- x.re)) y.re)
5.0ms
(* (atan2 x.im x.re) y.im)

series292.0ms

Calls
3 calls:
Slowest
164.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
103.0ms
(* (log (- x.re)) y.re)
24.0ms
(* (atan2 x.im x.re) y.im)

simplify1.8s

Calls
42 calls:
Slowest
326.0ms
(* (* (* (log (- x.re)) (log (- x.re))) (log (- x.re))) (* (* y.re y.re) y.re))
308.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
169.0ms
(/ (exp (* (log (- x.re)) y.re)) (exp (* (atan2 x.im x.re) y.im)))
138.0ms
(- (+ (* y.re (log (/ -1 x.re))) (* y.im (atan2 x.im x.re))))
127.0ms
(* -1 (* y.re (log (/ -1 x.re))))

prune999.0ms

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

localize26.0ms

Local error

Found 3 expressions with local error:

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

rewrite48.0ms

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt
19×*-un-lft-identity
12×log-prod
11×add-cube-cbrt
10×associate-*l*
pow1
add-cbrt-cube associate-*r* add-exp-log
distribute-rgt-in distribute-lft-in associate--l+ unswap-sqr
add-log-exp
distribute-lft-out-- difference-of-squares
insert-posit16
pow-prod-down prod-exp *-commutative cbrt-unprod
sub-neg flip3-- diff-log log-pow flip--
Calls
3 calls:
Slowest
34.0ms
(- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im))
6.0ms
(* y.re (log x.im))
6.0ms
(* (atan2 x.im x.re) y.im)

series222.0ms

Calls
3 calls:
Slowest
141.0ms
(- (* y.re (log x.im)) (* (atan2 x.im x.re) y.im))
49.0ms
(* y.re (log x.im))
32.0ms
(* (atan2 x.im x.re) y.im)

simplify1.7s

Calls
54 calls:
Slowest
288.0ms
(- (* y.re (log -1)) (+ (* y.re (log (/ -1 x.im))) (* y.im (atan2 x.im x.re))))
283.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
281.0ms
(* (* (* y.re y.re) y.re) (* (* (log x.im) (log x.im)) (log x.im)))
158.0ms
(* y.re (- (log -1) (log (/ -1 x.im))))
131.0ms
(/ (exp (* y.re (log x.im))) (exp (* (atan2 x.im x.re) y.im)))

prune1.0s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0b

regimes254.0ms

Accuracy

97.3% (0.2b remaining)

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

bsearch1.8s

end0.0ms

sample2.1m

Algorithm
intervals
Results
2.1m30262×body10240exit
3.0s8000×body80valid