Details

Time bar (total: 2.3m)

sample4.6s

Algorithm
intervals
Results
4.4s1094×body10240exit
103.0ms256×body80valid

simplify746.0ms

Calls
1 calls:
Slowest
746.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))))

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 31.4b

localize69.0ms

Local error

Found 4 expressions with local error:

30.1b
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
29.9b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
0.3b
(* (atan2 x.im x.re) y.im)

rewrite160.0ms

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

series331.0ms

Calls
4 calls:
Slowest
195.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
55.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
53.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
27.0ms
(* (atan2 x.im x.re) y.im)

simplify1.8s

Calls
47 calls:
Slowest
295.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))
295.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
294.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
279.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
222.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))

prune1.4s

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.3b

localize58.0ms

Local error

Found 4 expressions with local error:

29.9b
(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))

rewrite89.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
52.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
22.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
9.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
5.0ms
(* (atan2 x.im x.re) y.im)

series343.0ms

Calls
4 calls:
Slowest
170.0ms
(- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))
101.0ms
(* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)
53.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
18.0ms
(* (atan2 x.im x.re) y.im)

simplify2.6s

Calls
58 calls:
Slowest
405.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))
351.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
334.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
271.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))
207.0ms
(/ (exp (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re)) (exp (* (atan2 x.im x.re) y.im)))

prune1.5s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize37.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))

rewrite61.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
49.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
6.0ms
(* (log (- x.re)) y.re)
5.0ms
(* (atan2 x.im x.re) y.im)

series260.0ms

Calls
3 calls:
Slowest
148.0ms
(- (* (log (- x.re)) y.re) (* (atan2 x.im x.re) y.im))
91.0ms
(* (log (- x.re)) y.re)
21.0ms
(* (atan2 x.im x.re) y.im)

simplify1.8s

Calls
42 calls:
Slowest
299.0ms
(* (* (* (log (- x.re)) (log (- x.re))) (log (- x.re))) (* (* y.re y.re) y.re))
263.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
185.0ms
(/ (exp (* (log (- x.re)) y.re)) (exp (* (atan2 x.im x.re) y.im)))
143.0ms
(- (+ (* y.re (log (/ -1 x.re))) (* y.im (atan2 x.im x.re))))
134.0ms
(- (* y.re (log -1)) (+ (* y.im (atan2 x.im x.re)) (* y.re (log (/ 1 x.re)))))

prune965.0ms

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes195.0ms

Accuracy

95.4% (0.3b remaining)

Error of 0.4b against oracle of 0.1b and baseline of 7.2b

bsearch1.8s

end0.0ms

sample2.0m

Algorithm
intervals
Results
2.0m29603×body10240exit
3.1s8000×body80valid