Details

prune7.2m (60.6%)

simplify2.4m (20.3%)

Algorithm
179×egg-herbie

rewrite1.2m (9.8%)

Algorithm
110×rewrite-expression-head
Calls

317 calls:

27.4s
(+ (* (* (* (+ (pow -2.0 3) (pow (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))) 3)) (* 77617.0 77617.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))))) (* 77617.0 77617.0))) (* 333.75 (pow 33096.0 6.0))) (- (* (* (* (+ (pow -2.0 3) (pow (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))) 3)) (* 77617.0 77617.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))))) (* 77617.0 77617.0))) (- (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.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)))) (* -2.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 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))))) (* (- (* (* 333.75 (pow 33096.0 6.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))))) (+ (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))))))))
7.2s
(- (* (* (* (+ (pow -2.0 3) (pow (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))) 3)) (* 77617.0 77617.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))))) (* 77617.0 77617.0))) (- (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.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)))) (* -2.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 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))))) (* (- (* (* 333.75 (pow 33096.0 6.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))))) (+ (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0)))))))
6.9s
(- (* (* (* (+ (pow -2.0 3) (pow (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))) 3)) (* 77617.0 77617.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))))) (* 77617.0 77617.0))) (- (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.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)))) (* -2.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 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))))) (* (- (* (* 333.75 (pow 33096.0 6.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))))) (+ (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0)))))))
2.7s
(* (* (+ (* -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)))) (* -2.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 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))))) (* (- (* (* 333.75 (pow 33096.0 6.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))))) (+ (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))))))
2.5s
(* (* (+ (* -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)))) (* -2.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 (+ (* -121.0 (pow 33096.0 4.0)) (- (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (pow 33096.0 6.0))))) (* (- (* (* 333.75 (pow 33096.0 6.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))))) (+ (* 333.75 (pow 33096.0 6.0)) (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.0))))))
Rules
97980×associate-*l/
67366×frac-times
34579×flip-+ flip3-+
28910×flip-- flip3--
22966×associate-*r/
21203×frac-sub
16964×frac-add
12960×distribute-neg-frac
3471×*-un-lft-identity
2860×add-sqr-sqrt
2764×times-frac
1874×add-cube-cbrt
1537×add-exp-log
1288×add-cbrt-cube
828×pow1
694×add-log-exp
692×associate-*r*
610×distribute-lft-out
543×prod-exp
513×cbrt-div
479×associate-*l*
428×sqrt-div
417×cbrt-unprod
382×unpow-prod-down
379×difference-of-squares
368×exp-neg
344×associate-/r*
332×neg-sub0
322×exp-diff
286×div-exp
268×distribute-lft-out--
235×cbrt-prod cbrt-undiv
227×associate-/l*
221×pow-prod-down
198×sqrt-prod
196×associate-/r/
179×swap-sqr
177×div-inv
146×sqr-pow
137×sum-log
133×unswap-sqr
109×un-div-inv
104×cube-prod
102×sub-neg
96×associate-/l/
85×diff-log
81×*-commutative
77×distribute-rgt-in distribute-lft-in
68×unpow2
62×pow-unpow
59×clear-num frac-2neg
57×pow-to-exp pow-exp
44×distribute-rgt-neg-in
43×log-prod
37×+-commutative
31×pow-prod-up pow1/3
30×distribute-lft-neg-in
28×cube-div
26×sqrt-pow1
25×associate-+l+ pow-plus
24×pow1/2
21×pow-sqr log-pow associate-+r+ div-sub
20×rem-sqrt-square
19×associate--r+
18×pow2 unpow3 cube-mult
17×pow-pow log-div
16×associate--l+
13×rec-exp 1-exp
10×neg-mul-1
rem-log-exp
neg-log associate-+l-
exp-prod rem-cbrt-cube
pow-flip
distribute-lft-neg-out associate-+r-
associate--l- inv-pow distribute-neg-in
rem-cube-cbrt distribute-frac-neg
distribute-rgt-out-- associate--r- exp-sum sum-cubes
sqrt-pow2 distribute-lft1-in pow3 cube-unmult unsub-neg

sample30.3s (4.2%)

Algorithm
72×intervals
Results
9.5s294972×body80valid
4.8s13707×body1280valid
2.5s3824×body2560valid
1.8s9576×body640valid
1.4s100664×pre80true
1.0s2188×body10240exit
743.0ms6848×body320valid
562.0ms19492×body80nan
499.0ms8855×body160valid
78.0ms213×body5120valid
3.0ms100×pre80false

series29.8s (4.2%)

Calls

317 calls:

633.0ms
(* 100.0 (* (/ (+ (pow (+ 1.0 (/ i n)) (/ n 2)) (sqrt 1.0)) i) (* (- (pow (+ 1.0 (/ i n)) (/ n 2)) (sqrt 1.0)) n)))
619.0ms
(- (* (+ (+ e d) (+ c b)) (+ (+ e d) (+ c b))) (* a a))
476.0ms
(/ (+ 0 (* 1 (* 4.0 (* a c)))) (* (+ (- b) (* (fabs (cbrt (- (* b b) (* 4.0 (* a c))))) (sqrt (cbrt (- (* b b) (* 4.0 (* a c))))))) (* 2.0 a)))
449.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))))
439.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))))

regimes3.4s (0.5%)

Accuracy

Total 35.5b remaining (9.2%)

Threshold costs 3.4b (0.9%)

11.8b45.3%Compound Interest
4.7b75.9%Kahan p9 Example
4.4b85%The quadratic formula (r1)
4.2b85.4%The quadratic formula (r2)
2.4b27.2%Complex division, imag part

bsearch1.5s (0.2%)

localize1.5s (0.2%)

end1.0ms (0.0%)