Details

Time bar (total: 2.4m)

sample4.5s

Algorithm
intervals
Results
4.2s1075×body10240exit
72.0ms256×body80valid

simplify389.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
388.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))))

prune25.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize47.0ms

Local error

Found 4 expressions with local error:

25.3b
(cos (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))
0.3b
(* (atan2 x.im x.re) y.im)
0.3b
(* (atan2 x.im x.re) y.re)
0.2b
(* y.re (log (hypot x.re x.im)))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt
12×*-un-lft-identity add-cube-cbrt
11×pow1
10×add-cbrt-cube associate-*r* add-exp-log
associate-*l*
log-prod
expm1-log1p-u insert-posit16 log1p-expm1-u add-log-exp
distribute-rgt-in distribute-lft-in pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
cos-sum log-pow fma-udef
Counts
4 → 81
Calls
4 calls:
Slowest
15.0ms
(* y.re (log (hypot x.re x.im)))
6.0ms
(* (atan2 x.im x.re) y.im)
5.0ms
(* (atan2 x.im x.re) y.re)
4.0ms
(cos (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))

series312.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
173.0ms
(cos (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))
96.0ms
(* y.re (log (hypot x.re x.im)))
24.0ms
(* (atan2 x.im x.re) y.re)
18.0ms
(* (atan2 x.im x.re) y.im)

simplify4.1s

Counts
100 → 93
Calls
100 calls:
Slowest
708.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
394.0ms
(* (* (* y.re y.re) y.re) (* (* (log (hypot x.re x.im)) (log (hypot x.re x.im))) (log (hypot x.re x.im))))
388.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.re y.re) y.re))
309.0ms
(- 1 (+ (* y.im (* (atan2 x.im x.re) (* y.re (log x.im)))) (* 1/2 (* (pow y.im 2) (pow (log x.im) 2)))))
241.0ms
(* (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)) (* (atan2 x.im x.re) y.im))

prune1.5s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize58.0ms

Local error

Found 4 expressions with local error:

26.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
26.4b
(sqrt (+ (* x.re x.re) (* x.im x.im)))
25.3b
(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)

rewrite36.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
expm1-log1p-u sqrt-div insert-posit16 log1p-expm1-u add-log-exp
associate-*r* associate-*l*
rem-sqrt-square sqrt-pow1 flip3-+ pow1/2 flip-+ hypot-def
cos-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
Counts
4 → 70
Calls
4 calls:
Slowest
16.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
7.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
6.0ms
(* (atan2 x.im x.re) y.im)
6.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))

series309.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
172.0ms
(cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))
65.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
44.0ms
(sqrt (+ (* x.re x.re) (* x.im x.im)))
28.0ms
(* (atan2 x.im x.re) y.im)

simplify3.8s

Counts
87 → 82
Calls
87 calls:
Slowest
380.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
344.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
318.0ms
(sqrt (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))))
290.0ms
(sqrt (+ (pow (* x.re x.re) 3) (pow (* x.im x.im) 3)))
247.0ms
(* (* (* (atan2 x.im x.re) y.im) (* (atan2 x.im x.re) y.im)) (* (atan2 x.im x.re) y.im))

prune1.4s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes219.0ms

Accuracy

0% (0.0b remaining)

Error of 0.1b against oracle of 0.0b and baseline of 0.1b

bsearch3.0ms

end0.0ms

sample2.1m

Algorithm
intervals
Results
2.0m30180×body10240exit
2.8s8000×body80valid