Details

Time bar (total: 29.6s)

sample49.0ms

Algorithm
intervals
Results
34.0ms269×body80valid

simplify15.0ms

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

prune18.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 24.9b

localize30.0ms

Local error

Found 2 expressions with local error:

24.9b
(/ (fma x.re y.re (* x.im y.im)) (fma y.im y.im (* y.re y.re)))
0.3b
(fma x.re y.re (* x.im y.im))

rewrite10.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
9.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))

series190.0ms

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

simplify1.2s

Counts
31 → 47
Calls
31 calls:
Slowest
454.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))))
58.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)))))
50.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt (fma y.im y.im (* y.re y.re))))
46.0ms
(/ (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma y.im y.im (* y.re y.re))))
44.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) (sqrt (fma y.im y.im (* y.re y.re))))

prune605.0ms

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 24.5b

localize22.0ms

Local error

Found 4 expressions with local error:

30.8b
(sqrt (fma y.im y.im (* y.re y.re)))
30.8b
(sqrt (fma y.im y.im (* y.re y.re)))
16.4b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.3b
(fma x.re y.re (* x.im y.im))

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

series375.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
147.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
89.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
75.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
63.0ms
(fma x.re y.re (* x.im y.im))

simplify1.9s

Counts
68 → 99
Calls
68 calls:
Slowest
259.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)))))
62.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))))))
57.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) (sqrt (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 (sqrt (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)))) (sqrt 1))

prune1.3s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 22.5b

localize27.0ms

Local error

Found 4 expressions with local error:

30.8b
(sqrt (fma y.im y.im (* y.re y.re)))
16.4b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.3b
(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))

rewrite43.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
25.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))))
2.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
0.0ms
(fma x.re y.re (* x.im y.im))

series446.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
167.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))
167.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
56.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
56.0ms
(fma x.re y.re (* x.im y.im))

simplify10.7s

Counts
224 → 191
Calls
224 calls:
Slowest
353.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))))
307.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)))))
226.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)))
173.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)))))) 1)
160.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))))

prune2.8s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 4.9b

localize26.0ms

Local error

Found 4 expressions with local error:

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

rewrite20.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
12.0ms
(/ (/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re)) (hypot y.im y.re))
4.0ms
(/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re))
0.0ms
(hypot y.im y.re)
0.0ms
(fma x.im y.im (* x.re y.re))

series440.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
157.0ms
(/ (/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re)) (hypot y.im y.re))
148.0ms
(/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re))
68.0ms
(fma x.im y.im (* x.re y.re))
68.0ms
(hypot y.im y.re)

simplify5.5s

Counts
135 → 137
Calls
135 calls:
Slowest
420.0ms
(/ (* (* (/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re)) (/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re))) (/ (fma x.im y.im (* x.re y.re)) (hypot y.im y.re))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
249.0ms
(/ (* (* (fma x.im y.im (* x.re y.re)) (fma x.im y.im (* x.re y.re))) (fma x.im y.im (* x.re y.re))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
215.0ms
(/ (/ (* (cbrt (fma x.im y.im (* x.re y.re))) (cbrt (fma x.im y.im (* x.re y.re)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re)))) (sqrt (hypot y.im y.re)))
213.0ms
(/ (/ (* (cbrt (fma x.im y.im (* x.re y.re))) (cbrt (fma x.im y.im (* x.re y.re)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))))
160.0ms
(/ (/ (* (cbrt (fma x.im y.im (* x.re y.re))) (cbrt (fma x.im y.im (* x.re y.re)))) (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re)))) 1)

prune1.6s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 2.1b

regimes419.0ms

Accuracy

25% (10.7b remaining)

Error of 13.1b against oracle of 2.5b and baseline of 16.7b

bsearch131.0ms

end0.0ms

sample1.9s

Algorithm
intervals
Results
1.6s8453×body80valid