Details

rewrite10.4m (57.4%)

Algorithm
113×rewrite-expression-head
Calls

326 calls:

1.7m
(+ (* (/ (- (* (* (+ (* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (* (* 77617.0 77617.0) (+ (pow (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) 3) (pow -2.0 3))))) (+ (* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (* (* 77617.0 77617.0) (+ (pow (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) 3) (pow -2.0 3)))))) (* 2.0 2.0)) (* (* (* 4.0 (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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))))) (* (* 11.0 (pow 33096.0 8.0)) (* 11.0 (pow 33096.0 8.0))))) (* (* (* 2.0 2.0) (* (* 4.0 (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) 4.0)) (- (* -2.0 -2.0) (- (* -2.0 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)))) (* (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))) (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0)))))))) (* 2.0 33096.0)) (* (- (+ (* (/ 1335.0 4.0) (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))) (* (/ 11.0 2.0) (pow 33096.0 8.0))) 77617.0))
50.5s
(- (* (* (+ (* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (* (* 77617.0 77617.0) (+ (pow (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) 3) (pow -2.0 3))))) (+ (* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (* (* 77617.0 77617.0) (+ (pow (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) 3) (pow -2.0 3)))))) (* 2.0 2.0)) (* (* (* 4.0 (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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)))) (* 4.0 (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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))))) (* (* 11.0 (pow 33096.0 8.0)) (* 11.0 (pow 33096.0 8.0)))))
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)))
2.4s
(* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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))))
2.4s
(* (* 1335.0 (pow 33096.0 6.0)) (+ (* (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.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 -2.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))))
Rules
4569676×associate-*r/
2833839×frac-add
2015011×flip-+ flip3-+
1924077×frac-times
1591572×associate-*l/
911712×flip-- flip3--
547390×frac-sub
16395×times-frac
12778×*-un-lft-identity
8076×add-sqr-sqrt
6885×add-cube-cbrt
2726×distribute-lft-out
2421×add-exp-log
1826×add-cbrt-cube
1157×unpow-prod-down
937×associate-*r*
914×prod-exp
805×associate-*l*
775×pow1
763×cube-prod
726×add-log-exp
682×div-inv
681×associate-/l*
647×div-exp
642×cbrt-unprod
584×associate-/r/
458×cbrt-undiv
444×sqrt-prod
371×distribute-rgt-neg-in
351×difference-of-squares
345×distribute-lft-neg-in
289×cbrt-prod
283×associate-/r*
248×distribute-lft-out--
219×swap-sqr
197×unswap-sqr
180×sqr-pow
168×sum-cubes
166×pow-prod-down
161×cbrt-div
155×sum-log
115×neg-mul-1
105×unpow2
100×sub-neg
96×sqrt-div
85×pow-exp
81×*-commutative
80×exp-neg
79×associate-/l/ neg-sub0
78×diff-log
69×distribute-rgt-in distribute-lft-in
68×pow-to-exp
60×exp-diff
56×clear-num frac-2neg
55×1-exp
48×+-commutative
40×div-sub sqrt-pow1
38×pow-unpow
32×pow1/2
31×rem-sqrt-square
30×log-prod
27×pow1/3
26×associate-+l+
25×pow-prod-up
24×un-div-inv
23×rec-exp
22×pow-pow
21×associate-+r+ pow-plus
20×pow-sqr pow2
18×cube-div
15×log-pow
14×rem-cube-cbrt unpow3 cube-mult associate--l+
11×neg-log
10×associate--r+ rem-log-exp
pow-div distribute-frac-neg associate-+l- log-div
unsub-neg rem-cbrt-cube
inv-pow associate-+r- pow-flip
associate--l-
distribute-lft-neg-out exp-prod
e-exp-1 distribute-lft1-in distribute-rgt-out cube-neg
cube-unmult distribute-rgt-out-- sub-div exp-sum distribute-neg-frac

simplify3.4m (18.8%)

series1.9m (10.5%)

Calls

326 calls:

49.0s
(/ (/ (/ (+ (pow (pow (+ 1.0 (/ i n)) (* 2 n)) 3) (pow (- (* 1.0 1.0)) 3)) (+ (* (- (* 1.0 1.0)) (- (- (* 1.0 1.0)) (pow (+ 1.0 (/ i n)) (* 2 n)))) (pow (+ 1.0 (/ i n)) (* 2 (* 2 n))))) (+ (pow (+ 1.0 (/ i n)) n) 1.0)) (/ i n))
18.2s
(/ (/ (/ (+ (pow (+ 1.0 (/ i n)) (* 2 (* 2 n))) (- (* (* 1.0 1.0) (* 1.0 1.0)))) (+ (pow (+ 1.0 (/ i n)) (* 2 n)) (* 1.0 1.0))) (+ (pow (+ 1.0 (/ i n)) n) 1.0)) (/ i n))
2.7s
(/ (/ (+ (pow (+ 1.0 (/ i n)) (* 2 n)) (- (* 1.0 1.0))) (+ (pow (+ 1.0 (/ i n)) n) 1.0)) (/ i n))
758.0ms
(cbrt (+ (* (* (* 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)) (* (* x1 x1) (- (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0))))
747.0ms
(- (* 9.0 (pow x 4.0)) (pow y 4.0))

sample1.2m (6.5%)

Algorithm
72×intervals
Results
26.6s293166×body80valid
10.4s13730×body1280valid
5.6s9648×body640valid
3.3s3825×body2560valid
2.5s100591×pre80true
2.5s2085×body10240exit
2.4s19379×body80nan
1.6s6894×body320valid
1.6s8763×body160valid
163.0ms239×body5120valid
9.0ms100×pre80false

prune1.0m (5.7%)

regimes5.9s (0.5%)

Accuracy

Total 33.2b remaining (8.4%)

Threshold costs 4.2b (1.1%)

11.7b44.1%Compound Interest
4.2b78.4%Kahan p9 Example
3.4b88.5%The quadratic formula (r2)
3.2b-88.9%Complex division, imag part
3.1b89.1%The quadratic formula (r1)

localize3.4s (0.3%)

bsearch1.9s (0.2%)

end1.0ms (0.0%)