Details

Time bar (total: 45.2s)

sample56.0ms

Algorithm
intervals
Results
40.0ms270×body80valid

simplify115.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
115.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im)))

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 25.2b

localize19.0ms

Local error

Found 2 expressions with local error:

25.2b
(/ (- (* x.im y.re) (* x.re y.im)) (fma y.im y.im (* y.re y.re)))
0.2b
(- (* x.im y.re) (* x.re y.im))

rewrite48.0ms

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
times-frac
add-cbrt-cube add-exp-log add-log-exp
associate-/r* associate-/l*
expm1-log1p-u pow1 flip3-- insert-posit16 log1p-expm1-u flip-- associate-/l/
cbrt-undiv clear-num sub-neg frac-2neg fma-neg diff-log div-sub div-exp prod-diff div-inv
Counts
2 → 50
Calls
2 calls:
Slowest
32.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (fma y.im y.im (* y.re y.re)))
16.0ms
(- (* x.im y.re) (* x.re y.im))

series198.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
134.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (fma y.im y.im (* y.re y.re)))
63.0ms
(- (* x.im y.re) (* x.re y.im))

simplify2.4s

Counts
37 → 56
Calls
37 calls:
Slowest
474.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re y.im))) (* (* (fma y.im y.im (* y.re y.re)) (fma y.im y.im (* y.re y.re))) (fma y.im y.im (* y.re y.re))))
397.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
258.0ms
(- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))
190.0ms
(/ (exp (* x.im y.re)) (exp (* x.re y.im)))
117.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (cbrt (fma y.im y.im (* y.re y.re))))

prune655.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 24.8b

localize37.0ms

Local error

Found 4 expressions with local error:

30.1b
(sqrt (fma y.im y.im (* y.re y.re)))
30.1b
(sqrt (fma y.im y.im (* y.re y.re)))
14.9b
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.2b
(- (* x.im y.re) (* x.re y.im))

rewrite41.0ms

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt
21×*-un-lft-identity add-cube-cbrt
18×times-frac sqrt-prod
pow1 associate-/r* add-cbrt-cube add-exp-log add-log-exp
expm1-log1p-u insert-posit16 log1p-expm1-u
associate-/l*
rem-sqrt-square sqrt-pow1 flip3-- pow1/2 fma-udef hypot-def flip-- associate-/l/
cbrt-undiv clear-num sub-neg frac-2neg fma-neg diff-log div-sub div-exp prod-diff div-inv
Counts
4 → 96
Calls
4 calls:
Slowest
21.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
14.0ms
(- (* x.im y.re) (* x.re y.im))
2.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
2.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

series289.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
134.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
57.0ms
(- (* x.im y.re) (* x.re y.im))
50.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
48.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

simplify3.6s

Counts
74 → 108
Calls
74 calls:
Slowest
443.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re y.im))) (* (* (sqrt (fma y.im y.im (* y.re y.re))) (sqrt (fma y.im y.im (* y.re y.re)))) (sqrt (fma y.im y.im (* y.re y.re)))))
384.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
250.0ms
(- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))
171.0ms
(/ (exp (* x.im y.re)) (exp (* x.re y.im)))
142.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))

prune1.3s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 23.0b

localize29.0ms

Local error

Found 4 expressions with local error:

30.1b
(sqrt (fma y.im y.im (* y.re y.re)))
14.9b
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.2b
(- (* x.im y.re) (* x.re y.im))
0.1b
(/ (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))

rewrite74.0ms

Algorithm
rewrite-expression-head
Rules
156×times-frac
96×add-sqr-sqrt
95×*-un-lft-identity add-cube-cbrt
51×sqrt-prod
25×associate-/l*
11×add-cbrt-cube add-exp-log
associate-/r*
div-inv add-log-exp
pow1
expm1-log1p-u cbrt-undiv div-exp insert-posit16 log1p-expm1-u
div-sub associate-/l/
clear-num frac-2neg flip3-- flip--
rem-sqrt-square sub-neg sqrt-pow1 pow1/2 fma-neg diff-log prod-diff fma-udef hypot-def
Counts
4 → 189
Calls
4 calls:
Slowest
43.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
15.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))
10.0ms
(- (* x.im y.re) (* x.re y.im))
3.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

series475.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
206.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))
168.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
57.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
43.0ms
(- (* x.im y.re) (* x.re y.im))

simplify19.0s

Counts
231 → 201
Calls
231 calls:
Slowest
451.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re y.im))) (* (* (sqrt (fma y.im y.im (* y.re y.re))) (sqrt (fma y.im y.im (* y.re y.re)))) (sqrt (fma y.im y.im (* y.re y.re)))))
359.0ms
(/ 1 (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
322.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (sqrt (fma y.im y.im (* y.re y.re))))) (hypot y.im y.re))
311.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
303.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (cbrt (sqrt (fma y.im y.im (* y.re y.re))))) (hypot y.im y.re))

prune2.5s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 4.9b

localize16.0ms

Local error

Found 4 expressions with local error:

14.9b
(/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re))
0.2b
(- (* x.im y.re) (* x.re y.im))
0.1b
(/ (/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re)) (hypot y.im y.re))
0.0b
(hypot y.im y.re)

rewrite52.0ms

Algorithm
rewrite-expression-head
Rules
84×times-frac
54×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
16×associate-/l*
11×add-cbrt-cube add-exp-log
associate-/r* div-inv add-log-exp
expm1-log1p-u pow1 cbrt-undiv div-exp insert-posit16 log1p-expm1-u
div-sub associate-/l/
clear-num frac-2neg flip3-- flip--
hypot-udef sub-neg fma-neg diff-log prod-diff
Counts
4 → 135
Calls
4 calls:
Slowest
25.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re))
14.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re)) (hypot y.im y.re))
11.0ms
(- (* x.im y.re) (* x.re y.im))
0.0ms
(hypot y.im y.re)

series413.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
165.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re)) (hypot y.im y.re))
144.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re))
57.0ms
(hypot y.im y.re)
46.0ms
(- (* x.im y.re) (* x.re y.im))

simplify10.4s

Counts
142 → 147
Calls
142 calls:
Slowest
435.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
410.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re y.im))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
275.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (hypot y.im y.re))) (hypot y.im y.re))
263.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (cbrt (hypot y.im y.re))) (sqrt (hypot y.im y.re)))
258.0ms
(/ (/ (- (* x.im y.re) (* x.re y.im)) (hypot y.im y.re)) (sqrt (hypot y.im y.re)))

prune1.5s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 4.9b

regimes369.0ms

Accuracy

16% (8.8b remaining)

Error of 15.0b against oracle of 6.2b and baseline of 16.6b

bsearch68.0ms

end0.0ms

sample1.5s

Algorithm
intervals
Results
1.2s8462×body80valid