Details

Time bar (total: 32.0s)

sample41.0ms

Algorithm
intervals
Results
28.0ms273×body80valid

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

prune16.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 24.7b

localize18.0ms

Local error

Found 2 expressions with local error:

24.7b
(/ (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))

rewrite9.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
8.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))

series600.0ms

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

simplify1.1s

Counts
31 → 47
Calls
31 calls:
Slowest
457.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))))
60.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)))))
51.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))))
45.0ms
(- (log (fma x.re y.re (* x.im y.im))) (log (fma y.im y.im (* y.re y.re))))
45.0ms
(/ (cbrt (fma x.re y.re (* x.im y.im))) (sqrt (fma y.im y.im (* y.re y.re))))

prune563.0ms

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 24.3b

localize33.0ms

Local error

Found 4 expressions with local error:

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

rewrite63.0ms

Algorithm
rewrite-expression-head
Rules
95×add-sqr-sqrt
76×times-frac
53×*-un-lft-identity
47×add-cube-cbrt sqrt-prod
28×add-exp-log
22×associate-*r* associate-*l*
18×add-cbrt-cube
15×unswap-sqr
div-exp
pow1 prod-exp
associate-/r*
cbrt-undiv
expm1-log1p-u cbrt-unprod insert-posit16 log1p-expm1-u add-log-exp
div-inv associate-/l*
rem-sqrt-square rec-exp sqrt-pow1 pow1/2 1-exp fma-udef hypot-def
frac-times clear-num frac-2neg pow-prod-down associate-*l/ associate-*r/ *-commutative
Counts
4 → 162
Calls
4 calls:
Slowest
45.0ms
(* (/ 1 (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)))))
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)))
2.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

series508.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
218.0ms
(* (/ 1 (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)))))
161.0ms
(/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
67.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
63.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

simplify8.5s

Counts
157 → 174
Calls
157 calls:
Slowest
440.0ms
(* (/ 1 (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)))))
306.0ms
(* (* (* (/ 1 (sqrt (fma y.im y.im (* y.re y.re)))) (/ 1 (sqrt (fma y.im y.im (* y.re y.re))))) (/ 1 (sqrt (fma y.im y.im (* y.re 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))) (* (* (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))))))
304.0ms
(* (/ (* (* 1 1) 1) (* (* (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))))) (/ (* (* (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))))))
270.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)))))
210.0ms
(+ (- 0 (log (sqrt (fma y.im y.im (* y.re y.re))))) (- (log (fma x.re y.re (* x.im y.im))) (log (sqrt (fma y.im y.im (* y.re y.re))))))

prune2.5s

Pruning

13 alts after pruning (11 fresh and 2 done)

Merged error: 16.8b

localize39.0ms

Local error

Found 3 expressions with local error:

24.2b
(* (fma x.re y.re (* x.im y.im)) (/ 1 (fma y.im y.im (* y.re y.re))))
0.9b
(/ 1 (fma y.im y.im (* y.re y.re)))
0.3b
(fma x.re y.re (* x.im y.im))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt
20×*-un-lft-identity times-frac
19×add-cube-cbrt
16×add-exp-log
13×associate-*r*
10×add-cbrt-cube
pow1
div-exp prod-exp
expm1-log1p-u associate-/r* associate-*l* insert-posit16 log1p-expm1-u associate-/l* add-log-exp unswap-sqr
cbrt-undiv rec-exp 1-exp cbrt-unprod div-inv
clear-num frac-2neg pow-prod-down associate-*r/ un-div-inv *-commutative fma-udef pow-flip inv-pow
Counts
3 → 84
Calls
3 calls:
Slowest
17.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (fma y.im y.im (* y.re y.re))))
7.0ms
(/ 1 (fma y.im y.im (* y.re y.re)))
1.0ms
(fma x.re y.re (* x.im y.im))

series268.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
140.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (fma y.im y.im (* y.re y.re))))
72.0ms
(/ 1 (fma y.im y.im (* y.re y.re)))
55.0ms
(fma x.re y.re (* x.im y.im))

simplify2.8s

Counts
66 → 93
Calls
66 calls:
Slowest
691.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))) (* (* (/ 1 (fma y.im y.im (* y.re y.re))) (/ 1 (fma y.im y.im (* y.re y.re)))) (/ 1 (fma y.im y.im (* y.re y.re)))))
167.0ms
(/ (* (* 1 1) 1) (* (* (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))))
137.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (fma y.im y.im (* y.re y.re))))
135.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))) (/ (* (* 1 1) 1) (* (* (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)))))
90.0ms
(+ (log (fma x.re y.re (* x.im y.im))) (- 0 (log (fma y.im y.im (* y.re y.re)))))

prune1.0s

Pruning

13 alts after pruning (10 fresh and 3 done)

Merged error: 16.8b

localize19.0ms

Local error

Found 3 expressions with local error:

24.3b
(/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im)))
0.7b
(/ 1 (/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im))))
0.3b
(fma x.re y.re (* x.im y.im))

rewrite17.0ms

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

series404.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
243.0ms
(/ 1 (/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im))))
102.0ms
(/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im)))
59.0ms
(fma x.re y.re (* x.im y.im))

simplify9.4s

Counts
135 → 129
Calls
135 calls:
Slowest
360.0ms
(/ (* (* (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))) (* (* (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))))
330.0ms
(/ (* (cbrt 1) (cbrt 1)) (/ (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re)))) (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im))))))
318.0ms
(/ (sqrt 1) (/ (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re)))) (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im))))))
314.0ms
(/ (* (* 1 1) 1) (* (* (/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im))) (/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im)))) (/ (fma y.im y.im (* y.re y.re)) (fma x.re y.re (* x.im y.im)))))
248.0ms
(/ (sqrt 1) (/ (sqrt (fma y.im y.im (* y.re y.re))) (fma x.re y.re (* x.im y.im))))

prune1.5s

Pruning

12 alts after pruning (9 fresh and 3 done)

Merged error: 13.3b

regimes435.0ms

Accuracy

0% (2.4b remaining)

Error of 16.1b against oracle of 13.7b and baseline of 16.1b

bsearch2.0ms

end0.0ms

sample2.0s

Algorithm
intervals
Results
1.6s8472×body80valid