Details

Time bar (total: 1.9m)

sample58.0ms

Algorithm
intervals
Results
38.0ms268×body80valid

simplify29.0ms

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

prune21.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 27.5b

localize29.0ms

Local error

Found 3 expressions with local error:

27.5b
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))
1.0b
(+ (* x.re y.re) (* x.im y.im))
0.0b
(+ (* y.re y.re) (* y.im y.im))

rewrite79.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
times-frac
add-log-exp
add-cbrt-cube add-exp-log
flip3-+ flip-+
expm1-log1p-u pow1 associate-/r* insert-posit16 log1p-expm1-u associate-/l*
+-commutative sum-log fma-def associate-/r/ associate-/l/
cbrt-undiv clear-num frac-2neg div-exp div-inv
Counts
3 → 64
Calls
3 calls:
Slowest
49.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))
14.0ms
(+ (* y.re y.re) (* y.im y.im))
14.0ms
(+ (* x.re y.re) (* x.im y.im))

series173.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
101.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im)))
36.0ms
(+ (* y.re y.re) (* y.im y.im))
36.0ms
(+ (* x.re y.re) (* x.im y.im))

simplify6.7s

Counts
83 → 73
Calls
83 calls:
Slowest
1.1s
(* (* (+ (* y.re y.re) (* y.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re y.re) (* y.im y.im)))
441.0ms
(+ (* (* y.re y.re) (* y.re y.re)) (- (* (* y.im y.im) (* y.im y.im)) (* (* y.re y.re) (* y.im y.im))))
360.0ms
(* (+ (* y.re y.re) (* y.im y.im)) (- (* x.re y.re) (* x.im y.im)))
328.0ms
(+ (* (* x.re y.re) (* x.re y.re)) (- (* (* x.im y.im) (* x.im y.im)) (* (* x.re y.re) (* x.im y.im))))
327.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))

prune723.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 27.1b

localize26.0ms

Local error

Found 4 expressions with local error:

27.6b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
27.6b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
17.5b
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
1.0b
(+ (* x.re y.re) (* x.im y.im))

rewrite74.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 sqrt-div add-exp-log add-log-exp
flip3-+ flip-+
expm1-log1p-u insert-posit16 log1p-expm1-u
associate-/l*
rem-sqrt-square sqrt-pow1 pow1/2 associate-/r/ hypot-def associate-/l/
cbrt-undiv +-commutative clear-num sum-log fma-def frac-2neg div-exp div-inv
Counts
4 → 99
Calls
4 calls:
Slowest
51.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
9.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
7.0ms
(+ (* x.re y.re) (* x.im y.im))
6.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

series297.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
140.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
61.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
50.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
46.0ms
(+ (* x.re y.re) (* x.im y.im))

simplify6.9s

Counts
134 → 111
Calls
134 calls:
Slowest
380.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (- (* (* y.re y.re) (* y.re y.re)) (* (* y.im y.im) (* y.im y.im)))))
376.0ms
(sqrt (- (* (* y.re y.re) (* y.re y.re)) (* (* y.im y.im) (* y.im y.im))))
338.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3))))
320.0ms
(sqrt (- (* (* y.re y.re) (* y.re y.re)) (* (* y.im y.im) (* y.im y.im))))
320.0ms
(+ (* (* x.re y.re) (* x.re y.re)) (- (* (* x.im y.im) (* x.im y.im)) (* (* x.re y.re) (* x.im y.im))))

prune1.4s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 24.6b

localize36.0ms

Local error

Found 4 expressions with local error:

27.6b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
17.5b
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
1.0b
(+ (* x.re y.re) (* x.im y.im))
0.1b
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (hypot y.re y.im))

rewrite118.0ms

Algorithm
rewrite-expression-head
Rules
162×times-frac
98×add-sqr-sqrt
97×*-un-lft-identity add-cube-cbrt
51×sqrt-prod
27×associate-/l*
12×sqrt-div
11×add-cbrt-cube add-exp-log
10×associate-/r/
associate-/r*
flip3-+ flip-+
div-inv add-log-exp
pow1
expm1-log1p-u cbrt-undiv div-exp insert-posit16 log1p-expm1-u
associate-/l/
clear-num frac-2neg
+-commutative rem-sqrt-square sum-log fma-def sqrt-pow1 pow1/2 hypot-def
Counts
4 → 197
Calls
4 calls:
Slowest
48.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
45.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (hypot y.re y.im))
13.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
7.0ms
(+ (* x.re y.re) (* x.im y.im))

series422.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
202.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (hypot y.re y.im))
147.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
38.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
35.0ms
(+ (* x.re y.re) (* x.im y.im))

simplify19.1s

Counts
303 → 209
Calls
303 calls:
Slowest
435.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (- (* (* y.re y.re) (* y.re y.re)) (* (* y.im y.im) (* y.im y.im))))) (* (cbrt (hypot y.re y.im)) (cbrt (hypot y.re y.im))))
395.0ms
(/ (* (* (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))) (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))) (* (* (hypot y.re y.im) (hypot y.re y.im)) (hypot y.re y.im)))
380.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))) (sqrt (hypot y.re y.im)))
354.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (- (* (* y.re y.re) (* y.re y.re)) (* (* y.im y.im) (* y.im y.im))))) 1)
338.0ms
(sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))

prune2.7s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 7.0b

localize40.0ms

Local error

Found 4 expressions with local error:

17.6b
(/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))
0.3b
(fma y.re x.re (* y.im x.im))
0.2b
(/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im))))
0.1b
(/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im))

rewrite35.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
fma-udef pow-flip inv-pow associate-/l/
Counts
4 → 323
Calls
4 calls:
Slowest
10.0ms
(/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im))
9.0ms
(/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))
7.0ms
(/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im))))
0.0ms
(fma y.re x.re (* y.im x.im))

series656.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
286.0ms
(/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im))
169.0ms
(/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im))))
154.0ms
(/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))
47.0ms
(fma y.re x.re (* y.im x.im))

simplify1.2m

Counts
517 → 335
Calls
517 calls:
Slowest
916.0ms
(/ (* (* 1 1) 1) (/ (* (* (hypot y.re y.im) (hypot y.re y.im)) (hypot y.re y.im)) (* (* (fma y.re x.re (* y.im x.im)) (fma y.re x.re (* y.im x.im))) (fma y.re x.re (* y.im x.im)))))
760.0ms
(* (* (/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im)) (/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im))) (/ (/ 1 (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (hypot y.re y.im)))
701.0ms
(/ (/ (* (* 1 1) 1) (* (* (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im))) (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im)))) (/ (hypot y.re y.im) (fma y.re x.re (* y.im x.im))))) (* (* (hypot y.re y.im) (hypot y.re y.im)) (hypot y.re y.im)))
567.0ms
(/ (/ (* (cbrt 1) (cbrt 1)) (/ (sqrt (hypot y.re y.im)) (* (cbrt (fma y.re x.re (* y.im x.im))) (cbrt (fma y.re x.re (* y.im x.im)))))) (* (cbrt (hypot y.re y.im)) (cbrt (hypot y.re y.im))))
556.0ms
(/ (/ 1 (/ 1 (* (cbrt (fma y.re x.re (* y.im x.im))) (cbrt (fma y.re x.re (* y.im x.im)))))) (* (cbrt (hypot y.re y.im)) (cbrt (hypot y.re y.im))))

prune4.2s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 7.0b

regimes370.0ms

Accuracy

33.7% (7.2b remaining)

Error of 13.1b against oracle of 5.9b and baseline of 16.8b

bsearch89.0ms

end0.0ms

sample1.8s

Algorithm
intervals
Results
1.5s8453×body80valid