Details

Time bar (total: 31.7s)

sample55.0ms

Algorithm
intervals
Results
39.0ms266×body80valid

simplify108.0ms

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

prune19.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 22.9b

localize43.0ms

Local error

Found 2 expressions with local error:

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

rewrite47.0ms

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

series170.0ms

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

simplify2.4s

Counts
37 → 56
Calls
37 calls:
Slowest
501.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re 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))))
383.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
225.0ms
(- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))
164.0ms
(/ (exp (* x.im y.re)) (exp (* x.re y.im)))
109.0ms
(/ (* (cbrt (- (* x.im y.re) (* x.re y.im))) (cbrt (- (* x.im y.re) (* x.re y.im)))) (* (cbrt (fma y.im y.im (* y.re y.re))) (cbrt (fma y.im y.im (* y.re y.re)))))

prune658.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 22.5b

localize24.0ms

Local error

Found 4 expressions with local error:

25.9b
(sqrt (fma y.im y.im (* y.re y.re)))
25.9b
(sqrt (fma y.im y.im (* y.re y.re)))
12.5b
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.3b
(- (* x.im y.re) (* x.re y.im))

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

series341.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
177.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
59.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
57.0ms
(- (* x.im y.re) (* x.re y.im))
49.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

simplify3.4s

Counts
74 → 108
Calls
74 calls:
Slowest
387.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
330.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re 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)))))
310.0ms
(- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))
155.0ms
(/ (exp (* x.im y.re)) (exp (* x.re y.im)))
119.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (cbrt (sqrt (fma y.im y.im (* y.re y.re)))))

prune1.4s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 19.4b

localize40.0ms

Local error

Found 4 expressions with local error:

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

rewrite58.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 associate-/l/
frac-times clear-num frac-2neg flip3-- div-sub pow-prod-down associate-*l/ associate-*r/ *-commutative flip--
Counts
4 → 165
Calls
4 calls:
Slowest
32.0ms
(* (/ 1 (sqrt (fma y.im y.im (* y.re y.re)))) (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))))
21.0ms
(/ (- (* x.im y.re) (* x.re 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)))

series533.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
229.0ms
(* (/ 1 (sqrt (fma y.im y.im (* y.re y.re)))) (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))))
160.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
79.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
65.0ms
(sqrt (fma y.im y.im (* y.re y.re)))

simplify12.3s

Counts
160 → 177
Calls
160 calls:
Slowest
369.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
365.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))))) (/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re 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))))))
357.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re 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)))))
324.0ms
(* 1 (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re)))))
275.0ms
(+ (- 0 (log (sqrt (fma y.im y.im (* y.re y.re))))) (log (/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))))

prune2.4s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 15.4b

localize38.0ms

Local error

Found 4 expressions with local error:

25.9b
(sqrt (fma y.im y.im (* y.re y.re)))
25.9b
(sqrt (fma y.im y.im (* y.re y.re)))
12.5b
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
0.3b
(- (* x.im y.re) (* x.re y.im))

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

series332.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
164.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (fma y.im y.im (* y.re y.re))))
73.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
55.0ms
(sqrt (fma y.im y.im (* y.re y.re)))
40.0ms
(- (* x.im y.re) (* x.re y.im))

simplify3.3s

Counts
74 → 108
Calls
74 calls:
Slowest
365.0ms
(/ (* (* (- (* x.im y.re) (* x.re y.im)) (- (* x.im y.re) (* x.re y.im))) (- (* x.im y.re) (* x.re 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)))))
339.0ms
(- (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))
246.0ms
(- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))
156.0ms
(/ (exp (* x.im y.re)) (exp (* x.re y.im)))
129.0ms
(/ (- (* x.im y.re) (* x.re y.im)) (sqrt (sqrt (fma y.im y.im (* y.re y.re)))))

prune1.4s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 15.4b

regimes435.0ms

Accuracy

0.9% (7.0b remaining)

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

bsearch65.0ms

end0.0ms

sample1.9s

Algorithm
intervals
Results
1.1s8475×body80valid