Details

rewrite10.5m (57.2%)

Algorithm
110×rewrite-expression-head
Calls

316 calls:

2.4m
(- (* (+ (* (/ 77617.0 (* 2.0 33096.0)) (- (/ 77617.0 (* 2.0 33096.0)) (* 5.5 (pow 33096.0 8.0)))) (* (pow 33096.0 (* 2 8.0)) (* 5.5 5.5))) (* (+ (pow (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) 3) (pow (* 333.75 (pow 33096.0 6.0)) 3)) (+ (pow (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) 3) (pow (* 333.75 (pow 33096.0 6.0)) 3)))) (* (+ (* (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))) (* (* 333.75 (pow 33096.0 6.0)) (- (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))))) (* (* (+ (pow (* 5.5 (pow 33096.0 8.0)) 3) (pow (/ 77617.0 (* 2.0 33096.0)) 3)) (+ (* (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))) (* (* 333.75 (pow 33096.0 6.0)) (- (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))))))) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))))))
14.3s
(* (+ (* (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))) (* (* 333.75 (pow 33096.0 6.0)) (- (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))))) (* (+ (* (/ 77617.0 (* 2.0 33096.0)) (- (/ 77617.0 (* 2.0 33096.0)) (* 5.5 (pow 33096.0 8.0)))) (* (pow 33096.0 (* 2 8.0)) (* 5.5 5.5))) (+ (* (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0)))) (* (* 333.75 (pow 33096.0 6.0)) (- (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))))))))
5.3s
(/ (- (* (+ (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* 333.75 (pow 33096.0 6.0))) (+ (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* 333.75 (pow 33096.0 6.0)))) (* (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))))) (- (+ (* (* 77617.0 77617.0) (+ (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)) (+ (* -121.0 (pow 33096.0 4.0)) -2.0))) (* 333.75 (pow 33096.0 6.0))) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0)))))
5.1s
(+ (+ (* (* (* 2.0 x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0)) (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* x1 x1))) (* (- 6.0) (* x1 x1)))
4.2s
(+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0)))
Rules
6339×times-frac
5617×*-un-lft-identity
5280×add-sqr-sqrt
3197×add-cube-cbrt
1608×add-exp-log
1504×associate-*r/
1370×add-cbrt-cube
1132×frac-times
1034×difference-of-squares
864×cbrt-div
797×flip-+ flip3-+
793×distribute-lft-out
738×add-log-exp
712×pow1
701×associate-*r*
646×unpow-prod-down
625×associate-*l*
618×flip-- flip3--
531×prod-exp
501×associate-*l/
481×frac-add
466×distribute-lft-out--
413×cbrt-unprod
393×associate-/r*
392×sqr-pow
387×distribute-rgt-neg-in
378×cbrt-prod
369×distribute-lft-neg-in
366×div-exp
357×sqrt-prod
347×associate-/l*
332×associate-/r/
304×div-inv
303×cbrt-undiv
225×cube-prod
168×pow-prod-down
164×associate-/l/
161×frac-sub
145×sum-log
125×unswap-sqr
123×neg-mul-1
121×unpow2
114×sub-neg
99×diff-log
87×sqrt-div
72×swap-sqr
67×clear-num log-pow frac-2neg
66×*-commutative
61×distribute-rgt-in distribute-lft-in
52×exp-prod
47×pow-exp
42×log-prod
41×+-commutative
40×pow-to-exp unpow3
39×cube-mult
37×pow-unpow
30×pow1/3
28×associate-+l+ associate-+r+
26×div-sub
25×associate--l+
24×rem-sqrt-square rec-exp 1-exp
23×pow1/2 exp-sum sqrt-pow1
20×distribute-rgt-out--
19×pow-prod-up
18×cube-div
17×pow-pow
15×pow-sqr
13×associate--l-
12×rem-cube-cbrt pow-plus
11×pow2
10×rem-exp-log exp-to-pow
log-div
rem-cbrt-cube associate--r+
un-div-inv neg-sub0
rem-log-exp
distribute-lft-neg-out distribute-frac-neg
neg-log
exp-diff associate--r- associate-+l-
distribute-lft1-in associate-+r- pow-flip distribute-rgt-out
unsub-neg pow3 inv-pow cube-unmult sub-div unpow-prod-up

simplify5.0m (27.2%)

sample1.2m (6.7%)

Algorithm
72×intervals
Results
28.4s294792×body80valid
8.9s13889×body1280valid
4.0s9364×body640valid
4.0s3872×body2560valid
3.4s2182×body10240exit
3.3s100661×pre80true
2.2s8858×body160valid
1.9s6830×body320valid
1.9s19374×body80nan
202.0ms234×body5120valid
6.0ms100×pre80false

prune49.5s (4.5%)

series39.7s (3.6%)

Calls

312 calls:

1.1s
(cbrt (/ (- (+ (* 1.0 i) (+ (* 0.5 (pow i 2)) (* (log 1.0) n))) (* 0.5 (* (pow i 2) (log 1.0)))) (/ 1 n)))
854.0ms
(+ (* (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) (+ (* (* 3.0 x1) x1) (* (* (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0) (* 2.0 x1)) (+ (* x1 x1) 1.0)))) (* (+ (* x1 x1) 1.0) (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0))))
819.0ms
(cbrt (* (- (+ (* 1.0 i) (+ (* 0.5 (pow i 2)) (* (log 1.0) n))) (* 0.5 (* (pow i 2) (log 1.0)))) n))
819.0ms
(cbrt (* (- (+ (* 1.0 i) (+ (* 0.5 (pow i 2)) (* (log 1.0) n))) (* 0.5 (* (pow i 2) (log 1.0)))) n))
717.0ms
(+ (* (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) (+ (* (* 3.0 x1) x1) (* (* (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0) (* 2.0 x1)) (+ (* x1 x1) 1.0)))) (* (+ (* x1 x1) 1.0) (* (* (cbrt (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0))) (cbrt (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0)))) (cbrt (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0))))))

regimes4.6s (0.4%)

Accuracy

Total 30.4b remaining (8.2%)

Threshold costs 4.3b (1.2%)

11.5b54.9%Compound Interest
5.2b73.7%Kahan p9 Example
2.9b0%Complex division, imag part
2.9b3.8%Complex division, real part
1.4b0%Rosa's DopplerBench

localize2.4s (0.2%)

bsearch1.5s (0.1%)

end0.0ms (0.0%)