Details

Time bar (total: 1.6m)

sample37.0ms

Algorithm
intervals
Results
26.0ms271×body80valid

simplify25.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
24.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: 24.9b

localize30.0ms

Local error

Found 1 expressions with local error:

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

rewrite7.0ms

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

series148.0ms

Counts
1 → 3
Calls
1 calls:
Slowest
148.0ms
(/ (fma x.re y.re (* x.im y.im)) (fma y.im y.im (* y.re y.re)))

simplify1.0s

Counts
28 → 33
Calls
28 calls:
Slowest
359.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))))
61.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)))))
48.0ms
(- (log (fma x.re y.re (* x.im y.im))) (log (fma y.im y.im (* y.re y.re))))
43.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) (fma y.im y.im (* y.re y.re)))
41.0ms
(/ (sqrt (fma x.re y.re (* x.im y.im))) 1)

prune363.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 24.5b

localize42.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)))
15.9b
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.1b
(/ (/ (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))))

rewrite41.0ms

Algorithm
rewrite-expression-head
Rules
276×times-frac
160×add-sqr-sqrt
158×*-un-lft-identity add-cube-cbrt
150×sqrt-prod
25×associate-/l*
12×associate-/r*
11×add-cbrt-cube add-exp-log
div-inv
pow1
expm1-log1p-u cbrt-undiv div-exp insert-posit16 log1p-expm1-u add-log-exp
rem-sqrt-square clear-num frac-2neg sqrt-pow1 pow1/2 fma-udef hypot-def
associate-/l/
Counts
4 → 254
Calls
4 calls:
Slowest
19.0ms
(/ (/ (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))))
9.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)))
2.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

series347.0ms

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

simplify16.8s

Counts
364 → 266
Calls
364 calls:
Slowest
449.0ms
(/ (* (* (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re)))) (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))) (/ (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)))) (sqrt (fma y.im y.im (* y.re y.re)))))
211.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)))))
205.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))))) (* (cbrt (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re))))))
202.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 (sqrt (fma y.im y.im (* y.re y.re)))) (cbrt (sqrt (fma y.im y.im (* y.re y.re))))))
195.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 (sqrt (fma y.im y.im (* y.re y.re)))))

prune3.7s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 14.5b

localize42.0ms

Local error

Found 4 expressions with local error:

15.9b
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
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)
0.0b
(hypot y.im y.re)

rewrite24.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
hypot-udef clear-num frac-2neg
associate-/l/
Counts
4 → 125
Calls
4 calls:
Slowest
14.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (hypot y.im y.re))
8.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
0.0ms
(hypot y.im y.re)
0.0ms
(hypot y.im y.re)

series471.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
179.0ms
(/ (/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re)) (hypot y.im y.re))
146.0ms
(/ (fma x.re y.re (* x.im y.im)) (hypot y.im y.re))
79.0ms
(hypot y.im y.re)
67.0ms
(hypot y.im y.re)

simplify5.2s

Counts
135 → 137
Calls
135 calls:
Slowest
475.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)))
284.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)))
201.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))))
160.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))))
154.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))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))

prune2.1s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 6.7b

localize31.0ms

Local error

Found 4 expressions with local error:

16.0b
(/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))
0.2b
(/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im))))
0.1b
(/ (/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))) (hypot y.im y.re))
0.0b
(hypot y.im y.re)

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
480×times-frac
239×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
50×associate-/l*
36×add-exp-log
23×div-inv
22×div-exp
20×add-cbrt-cube
19×associate-/r*
10×cbrt-undiv
pow1 associate-/r/
expm1-log1p-u rec-exp 1-exp insert-posit16 log1p-expm1-u add-log-exp
clear-num frac-2neg
hypot-udef pow-flip inv-pow associate-/l/
Counts
4 → 323
Calls
4 calls:
Slowest
10.0ms
(/ (/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))) (hypot y.im y.re))
8.0ms
(/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))
6.0ms
(/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im))))
0.0ms
(hypot y.im y.re)

series632.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
216.0ms
(/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im))))
201.0ms
(/ (/ 1 (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))) (hypot y.im y.re))
137.0ms
(/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))
78.0ms
(hypot y.im y.re)

simplify55.2s

Counts
457 → 335
Calls
457 calls:
Slowest
811.0ms
(/ (/ (sqrt 1) (/ (hypot y.im y.re) (fma x.re y.re (* x.im y.im)))) (hypot y.im y.re))
633.0ms
(/ (* (* 1 1) 1) (/ (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)) (* (* (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)))))
614.0ms
(/ (/ (* (* 1 1) 1) (* (* (/ (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) (fma x.re y.re (* x.im y.im))))) (* (* (hypot y.im y.re) (hypot y.im y.re)) (hypot y.im y.re)))
565.0ms
(/ (/ (sqrt 1) (/ (* (cbrt (hypot y.im y.re)) (cbrt (hypot y.im y.re))) (* (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)))
559.0ms
(/ (/ 1 (/ 1 (* (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))))

prune4.3s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.5b

regimes351.0ms

Accuracy

29.5% (9.8b remaining)

Error of 12.0b against oracle of 2.2b and baseline of 16.0b

bsearch162.0ms

end0.0ms

sample1.9s

Algorithm
intervals
Results
1.6s8507×body80valid