Details

Time bar (total: 3.9m)

sample47.0ms

Algorithm
intervals
Results
33.0ms271×body80valid

simplify9.0ms

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

prune7.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 24.9b

localize55.0ms

Local error

Found 2 expressions with local error:

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

rewrite72.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* flip3-+ flip-+ associate-/l*
pow1 associate-/r/ insert-posit16 associate-/l/
cbrt-undiv +-commutative clear-num sum-log frac-2neg div-exp div-inv
Counts
2 → 44
Calls
2 calls:
Slowest
56.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))

series164.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
128.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))

simplify1.8s

Counts
36 → 50
Calls
36 calls:
Slowest
342.0ms
(- (* (* x.re y.re) (* x.re y.re)) (* (* x.im y.im) (* x.im y.im)))
257.0ms
(/ (* (* (+ (* x.re y.re) (* x.im y.im)) (+ (* x.re y.re) (* x.im y.im))) (+ (* x.re y.re) (* x.im y.im))) (* (* (+ (* y.re y.re) (* y.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re y.re) (* y.im y.im))))
251.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))))
235.0ms
(+ (pow (* x.re y.re) 3) (pow (* x.im y.im) 3))
167.0ms
(* (exp (* y.re y.re)) (exp (* y.im y.im)))

prune659.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 24.5b

localize52.0ms

Local error

Found 4 expressions with local error:

30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
15.9b
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
0.1b
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im))))

rewrite152.0ms

Algorithm
rewrite-expression-head
Rules
288×times-frac
164×add-sqr-sqrt
162×*-un-lft-identity add-cube-cbrt
156×sqrt-prod
27×associate-/l*
22×sqrt-div
18×associate-/r/
12×associate-/r* flip3-+ flip-+
11×add-cbrt-cube add-exp-log
div-inv
pow1
cbrt-undiv div-exp insert-posit16 add-log-exp
associate-/l/
rem-sqrt-square clear-num frac-2neg sqrt-pow1 pow1/2
Counts
4 → 268
Calls
4 calls:
Slowest
63.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im))))
60.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
12.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
12.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

series332.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
130.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
99.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im))))
56.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
47.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

simplify24.9s

Counts
400 → 280
Calls
400 calls:
Slowest
439.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))))) (* (* (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im)))))
391.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))) (sqrt (* (cbrt (+ (* y.re y.re) (* y.im y.im))) (cbrt (+ (* y.re y.re) (* y.im y.im))))))
378.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))) (* (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im)))) (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im))))))
351.0ms
(/ (/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (pow (* y.re y.re) 3) (pow (* y.im y.im) 3)))) (sqrt 1))
338.0ms
(- (* (* x.re y.re) (* x.re y.re)) (* (* x.im y.im) (* x.im y.im)))

prune3.6s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 23.0b

localize30.0ms

Local error

Found 4 expressions with local error:

30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
15.9b
(* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))
0.1b
(/ (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im))))) (sqrt (+ (* y.re y.re) (* y.im y.im))))

rewrite105.0ms

Algorithm
rewrite-expression-head
Rules
38×add-sqr-sqrt
28×times-frac add-exp-log
26×*-un-lft-identity
24×associate-*r* add-cube-cbrt
23×sqrt-prod
18×add-cbrt-cube
div-exp
pow1 flip3-+ sqrt-div prod-exp flip-+
associate-/r* associate-/l/
cbrt-undiv unswap-sqr
frac-times associate-*l/ associate-/r/ cbrt-unprod insert-posit16 add-log-exp
associate-*l*
rem-sqrt-square rec-exp sqrt-pow1 pow1/2 1-exp associate-*r/ un-div-inv div-inv
clear-num frac-2neg pow-prod-down *-commutative associate-/l*
Counts
4 → 126
Calls
4 calls:
Slowest
43.0ms
(* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))
43.0ms
(/ (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im))))) (sqrt (+ (* y.re y.re) (* y.im y.im))))
7.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
7.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

series750.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
551.0ms
(* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))
106.0ms
(/ (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im))))) (sqrt (+ (* y.re y.re) (* y.im y.im))))
49.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
43.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

simplify9.7s

Counts
112 → 138
Calls
112 calls:
Slowest
533.0ms
(/ (* (* (* (+ (* x.re y.re) (* x.im y.im)) (+ (* x.re y.re) (* x.im y.im))) (+ (* x.re y.re) (* x.im y.im))) (/ (* (* 1 1) 1) (* (* (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im)))))) (* (* (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im)))))
478.0ms
(* (+ (pow (* x.re y.re) 3) (pow (* x.im y.im) 3)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))
473.0ms
(* (+ (pow (* x.re y.re) 3) (pow (* x.im y.im) 3)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))
424.0ms
(/ (* (* (* (+ (* x.re y.re) (* x.im y.im)) (+ (* x.re y.re) (* x.im y.im))) (+ (* x.re y.re) (* x.im y.im))) (* (* (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im))))) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))) (* (* (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im)))))
383.0ms
(/ (* (* (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im))))) (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))) (* (+ (* x.re y.re) (* x.im y.im)) (/ 1 (sqrt (+ (* y.re y.re) (* y.im y.im)))))) (* (* (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* y.re y.re) (* y.im y.im)))) (sqrt (+ (* y.re y.re) (* y.im y.im)))))

prune1.7s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 23.0b

localize56.0ms

Local error

Found 4 expressions with local error:

30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
30.1b
(sqrt (+ (* y.re y.re) (* y.im y.im)))
15.9b
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
0.4b
(/ 1 (/ (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))))))

rewrite151.0ms

Algorithm
rewrite-expression-head
Rules
1473×times-frac
681×add-sqr-sqrt
679×*-un-lft-identity add-cube-cbrt
522×sqrt-prod
155×associate-/r*
55×associate-/r/
54×sqrt-div
30×div-inv
28×flip3-+ flip-+
27×add-exp-log
16×div-exp
15×add-cbrt-cube
pow1 cbrt-undiv
associate-/l*
insert-posit16 add-log-exp
rec-exp 1-exp
rem-sqrt-square clear-num frac-2neg sqrt-pow1 pow1/2 associate-/l/
pow-flip inv-pow
Counts
4 → 701
Calls
4 calls:
Slowest
60.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
26.0ms
(/ 1 (/ (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))))))
12.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
12.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

series455.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
199.0ms
(/ 1 (/ (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))))))
140.0ms
(/ (+ (* x.re y.re) (* x.im y.im)) (sqrt (+ (* y.re y.re) (* y.im y.im))))
65.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))
51.0ms
(sqrt (+ (* y.re y.re) (* y.im y.im)))

simplify2.9m

Counts
1132 → 713
Calls
1132 calls:
Slowest
1.1s
(/ (sqrt 1) (/ (* (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im)))) (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im))))) (/ (* (cbrt (+ (* x.re y.re) (* x.im y.im))) (cbrt (+ (* x.re y.re) (* x.im y.im)))) (sqrt (* (cbrt (+ (* y.re y.re) (* y.im y.im))) (cbrt (+ (* y.re y.re) (* y.im y.im))))))))
706.0ms
(/ (sqrt 1) (/ 1 (/ (* (cbrt (+ (* x.re y.re) (* x.im y.im))) (cbrt (+ (* x.re y.re) (* x.im y.im)))) (* (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im)))) (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im))))))))
661.0ms
(/ (sqrt 1) (/ (sqrt (+ (* y.re y.re) (* y.im y.im))) (sqrt (+ (* (* y.re y.re) (* y.re y.re)) (- (* (* y.im y.im) (* y.im y.im)) (* (* y.re y.re) (* y.im y.im)))))))
637.0ms
(/ (sqrt 1) (/ (* (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im)))) (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im))))) (/ (* (cbrt (+ (* x.re y.re) (* x.im y.im))) (cbrt (+ (* x.re y.re) (* x.im y.im)))) (sqrt (sqrt (+ (* y.re y.re) (* y.im y.im)))))))
625.0ms
(/ (sqrt 1) (/ (* (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im)))) (cbrt (sqrt (+ (* y.re y.re) (* y.im y.im))))) (/ (* (cbrt (+ (* x.re y.re) (* x.im y.im))) (cbrt (+ (* x.re y.re) (* x.im y.im)))) (sqrt (sqrt (+ (* y.re y.re) (* y.im y.im)))))))

prune10.6s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 23.0b

regimes539.0ms

Accuracy

0% (2.5b remaining)

Error of 25.4b against oracle of 22.9b and baseline of 25.4b

bsearch7.0ms

end0.0ms

sample1.5s

Algorithm
intervals
Results
1.2s8507×body80valid