Details

Time bar (total: 23.7s)

sample54.0ms

Algorithm
intervals
Results
40.0ms267×body80valid

simplify16.0ms

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

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 24.7b

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

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

series148.0ms

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

simplify1.1s

Counts
31 → 47
Calls
31 calls:
Slowest
442.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))))
51.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)))))
47.0ms
(/ (* (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma x.re y.re (* x.im y.im)))) 1)
43.0ms
(/ (fma x.re y.re (* x.im y.im)) (cbrt (fma y.im y.im (* y.re y.re))))
41.0ms
(/ (cbrt (fma x.re y.re (* x.im y.im))) (cbrt (fma y.im y.im (* y.re y.re))))

prune649.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 24.3b

localize35.0ms

Local error

Found 4 expressions with local error:

25.6b
(sqrt (fma y.im y.im (* y.re y.re)))
25.6b
(sqrt (fma y.im y.im (* y.re y.re)))
16.3b
(/ (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))

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

series326.0ms

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

simplify1.8s

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

prune1.2s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 21.0b

localize28.0ms

Local error

Found 4 expressions with local error:

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

rewrite25.0ms

Algorithm
rewrite-expression-head
Rules
34×add-sqr-sqrt
22×*-un-lft-identity times-frac associate-*r*
20×add-cube-cbrt
17×sqrt-prod
13×add-exp-log
add-cbrt-cube
pow1
unswap-sqr
expm1-log1p-u prod-exp insert-posit16 log1p-expm1-u add-log-exp
associate-*l* fma-udef
rem-sqrt-square sqrt-pow1 pow1/2 div-exp cbrt-unprod hypot-def
cbrt-undiv rec-exp 1-exp pow-prod-down associate-*r/ un-div-inv *-commutative div-inv
Counts
4 → 95
Calls
4 calls:
Slowest
20.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (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))

series329.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
131.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (sqrt (fma y.im y.im (* y.re y.re)))))
76.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
70.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
52.0ms
(fma x.re y.re (* x.im y.im))

simplify2.8s

Counts
65 → 107
Calls
65 calls:
Slowest
630.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 (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))))))
201.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) (* (* (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))))))
167.0ms
(* (fma x.re y.re (* x.im y.im)) (/ 1 (sqrt (fma y.im y.im (* y.re y.re)))))
108.0ms
(+ (log (fma x.re y.re (* x.im y.im))) (log (/ 1 (sqrt (fma y.im y.im (* y.re y.re))))))
104.0ms
(* (sqrt (fma x.re y.re (* x.im y.im))) (/ 1 (sqrt (sqrt (fma y.im y.im (* y.re y.re))))))

prune1.4s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 21.0b

localize35.0ms

Local error

Found 4 expressions with local error:

25.6b
(sqrt (fma y.im y.im (* y.re y.re)))
25.6b
(sqrt (fma y.im y.im (* y.re y.re)))
16.3b
(/ (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)))))

rewrite52.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
41.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)))))
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)))

series498.0ms

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

simplify8.6s

Counts
157 → 174
Calls
157 calls:
Slowest
358.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)))))
314.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)))))
301.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))))))
271.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))))))
218.0ms
(+ (- (log 1) (log (sqrt (fma y.im y.im (* y.re y.re))))) (log (/ (fma x.re y.re (* x.im y.im)) (sqrt (fma y.im y.im (* y.re y.re))))))

prune2.3s

Pruning

13 alts after pruning (11 fresh and 2 done)

Merged error: 17.1b

regimes406.0ms

Accuracy

1.6% (7.1b remaining)

Error of 25.6b against oracle of 18.5b and baseline of 25.7b

bsearch43.0ms

end0.0ms

sample1.8s

Algorithm
intervals
Results
1.1s8461×body80valid