Details

Time bar (total: 28.9s)

sample56.0ms

Algorithm
intervals
Results
40.0ms268×body80valid

simplify28.0ms

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

prune20.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 23.3b

localize33.0ms

Local error

Found 2 expressions with local error:

23.3b
(/ (fma x.re y.re (* x.im y.im)) (fma y.im y.im (* y.re y.re)))
0.5b
(fma x.re y.re (* x.im y.im))

rewrite19.0ms

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

series163.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
101.0ms
(/ (fma x.re y.re (* x.im y.im)) (fma y.im y.im (* y.re y.re)))
61.0ms
(fma x.re y.re (* x.im y.im))

simplify1.1s

Counts
31 → 47
Calls
31 calls:
Slowest
412.0ms
(/ (* (* (fma x.re y.re (* x.im y.im)) (fma x.re y.re (* x.im y.im))) (fma x.re y.re (* x.im 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))))
50.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re)))))
45.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) (sqrt (fma y.im y.im (* y.re y.re))))
42.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) (sqrt (fma y.im y.im (* y.re y.re))))
39.0ms
(/ (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma y.im y.im (* y.re y.re))))

prune565.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 22.9b

localize40.0ms

Local error

Found 4 expressions with local error:

29.6b
(sqrt (fma y.im y.im (* y.re y.re)))
29.6b
(sqrt (fma y.im y.im (* y.re y.re)))
14.4b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.5b
(fma x.re y.re (* x.im y.im))

rewrite9.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
expm1-log1p-u insert-posit16 log1p-expm1-u add-log-exp
fma-udef associate-/l*
rem-sqrt-square sqrt-pow1 pow1/2 hypot-def
cbrt-undiv clear-num frac-2neg div-exp div-inv
Counts
4 → 87
Calls
4 calls:
Slowest
5.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
1.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
1.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
0.0ms
(fma x.re y.re (* x.im y.im))

series645.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
479.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
68.0ms
(fma x.re y.re (* x.im y.im))
52.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
46.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

simplify1.8s

Counts
68 → 99
Calls
68 calls:
Slowest
291.0ms
(/ (* (* (fma x.re y.re (* x.im y.im)) (fma x.re y.re (* x.im y.im))) (fma x.re y.re (* x.im 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)))))
65.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re))))))
61.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re))))))
53.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) (* (cbrt (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re))))))
52.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt 1))

prune1.4s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 21.4b

localize53.0ms

Local error

Found 4 expressions with local error:

29.6b
(sqrt (fma y.im y.im (* y.re y.re)))
14.4b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.5b
(fma x.re y.re (* x.im y.im))
0.1b
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))

rewrite27.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
pow1
expm1-log1p-u cbrt-undiv div-exp insert-posit16 log1p-expm1-u add-log-exp
clear-num frac-2neg fma-udef
rem-sqrt-square sqrt-pow1 pow1/2 hypot-def associate-/l/
Counts
4 → 179
Calls
4 calls:
Slowest
11.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))
10.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
3.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
0.0ms
(fma x.re y.re (* x.im y.im))

series481.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
200.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (hypot y.im y.re))
161.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
62.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
58.0ms
(fma x.re y.re (* x.im y.im))

simplify10.4s

Counts
224 → 191
Calls
224 calls:
Slowest
343.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re)))))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
295.0ms
(/ (* (* (fma x.re y.re (* x.im y.im)) (fma x.re y.re (* x.im y.im))) (fma x.re y.re (* x.im 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)))))
192.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re)))))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
179.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re)))))) (sqrt (hypot y.im y.re)))
171.0ms
(/ (/ (* (* (fma x.re y.re (* x.im y.im)) (fma x.re y.re (* x.im y.im))) (fma x.re y.re (* x.im 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))))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))

prune2.7s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 4.6b

localize16.0ms

Local error

Found 4 expressions with local error:

14.4b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
0.5b
(fma x.re y.re (* x.im y.im))
0.1b
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (hypot y.im y.re))
0.0b
(hypot y.im y.re)

rewrite15.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
expm1-log1p-u pow1 cbrt-undiv div-exp insert-posit16 log1p-expm1-u add-log-exp
clear-num frac-2neg
hypot-udef fma-udef associate-/l/
Counts
4 → 125
Calls
4 calls:
Slowest
9.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (hypot y.im y.re))
4.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
0.0ms
(hypot y.im y.re)
0.0ms
(fma x.re y.re (* x.im y.im))

series408.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
153.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
135.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (hypot y.im y.re))
78.0ms
(hypot y.im y.re)
41.0ms
(fma x.re y.re (* x.im y.im))

simplify5.5s

Counts
135 → 137
Calls
135 calls:
Slowest
530.0ms
(/ (* (* (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))) (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
273.0ms
(/ (* (* (fma x.re y.re (* x.im y.im)) (fma x.re y.re (* x.im y.im))) (fma x.re y.re (* x.im y.im))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
178.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
173.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt (hypot y.im y.re))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
153.0ms
(/ (/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re)))) (sqrt (hypot y.im y.re)))

prune1.5s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 4.6b

regimes348.0ms

Accuracy

36.4% (6.6b remaining)

Error of 12.6b against oracle of 6.0b and baseline of 16.4b

bsearch139.0ms

end0.0ms

sample1.4s

Algorithm
intervals
Results
1.1s8460×body80valid