Details

prune7.3m (60.3%)

simplify2.4m (20.1%)

Algorithm
179×egg-herbie

rewrite1.3m (10.5%)

Algorithm
110×rewrite-expression-head
Calls

321 calls:

27.0s
(+ (* (* (* (+ (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.1s
(- (* (* (* (+ (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.7s
(- (* (* (* (+ (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.6s
(* (* (+ (* -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.6s
(+ (* (* (* 2.0 x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* (* (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0)) (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0))) (cbrt (- (/ (- (+ (* (* 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)))
Rules
97915×associate-*l/
67512×frac-times
34576×flip-+ flip3-+
29385×flip3-- flip--
23704×associate-*r/
20902×frac-sub
17282×frac-add
12961×distribute-neg-frac
4372×*-un-lft-identity
4223×times-frac
3809×add-sqr-sqrt
2477×add-cube-cbrt
1709×add-exp-log
1497×cbrt-div
1435×add-cbrt-cube
905×associate-*r*
839×pow1
746×add-log-exp
664×distribute-lft-out
581×prod-exp
571×associate-*l*
523×unpow-prod-down
522×difference-of-squares
441×cbrt-unprod
412×cbrt-prod
378×div-exp
326×associate-/r/
321×associate-/l* distribute-lft-out--
306×cbrt-undiv
289×sqrt-prod
286×associate-/r*
276×sqrt-div
272×cube-prod
252×div-inv
224×pow-prod-down
177×sqr-pow
167×sum-log
155×associate-/l/
154×unswap-sqr
151×swap-sqr
122×distribute-rgt-neg-in
111×distribute-lft-neg-in
108×sub-neg
86×diff-log
82×distribute-rgt-in distribute-lft-in
76×*-commutative
70×sqrt-pow1
68×clear-num frac-2neg
64×pow1/2
51×pow-exp
49×pow-to-exp
46×+-commutative
45×pow-prod-up
36×unpow2
34×cube-div neg-mul-1
33×associate-+r+
32×pow-unpow
31×rem-sqrt-square
30×unpow3
29×pow-sqr
28×1-exp rec-exp
25×pow-plus
24×cube-mult div-sub
23×associate-+l+
20×pow1/3
18×pow2
17×associate--l+ associate--r+
16×log-prod
11×distribute-rgt-out pow-pow
10×neg-sub0 log-div
sqrt-unprod
associate--l- rem-cbrt-cube
distribute-rgt-out-- neg-log
associate-+r- sum-cubes
rem-cube-cbrt inv-pow distribute-lft-neg-out pow-flip exp-prod
exp-diff distribute-neg-in log-pow pow-sub unsub-neg distribute-frac-neg
un-div-inv rem-square-sqrt unpow-prod-up exp-sum
rem-exp-log associate-+l- exp-to-pow
sqrt-undiv e-exp-1 pow3 cube-unmult sub-div associate--r- cube-neg rem-log-exp

series30.7s (4.2%)

Calls

321 calls:

2.0s
(/ (/ (+ (pow (+ 1.0 (/ i n)) (* 2 n)) (- (* 1.0 1.0))) (+ (pow (+ 1.0 (/ i n)) n) 1.0)) (/ i n))
844.0ms
(* (+ (sqrt (pow x 4.0)) (pow y (/ 4.0 2))) (- (sqrt (pow x 4.0)) (pow y (/ 4.0 2))))
636.0ms
(/ (* 4.0 (* a c)) (* a (- (sqrt 0) (sqrt (+ b (sqrt (- (* b b) (* (* 4.0 a) c))))))))
433.0ms
(cbrt (+ (* (* (* 2.0 x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* (* (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0)) (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0))) (cbrt (- (/ (- (+ (* (* 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))))
432.0ms
(cbrt (+ (* (* (* 2.0 x1) (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* (* (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0)) (cbrt (- (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)) 3.0))) (cbrt (- (/ (- (+ (* (* 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))))

sample29.7s (4.1%)

Algorithm
72×intervals
Results
9.8s293868×body80valid
4.6s13589×body1280valid
2.2s3601×body2560valid
2.0s9198×body640valid
1.5s100642×pre80true
801.0ms7105×body320valid
581.0ms19564×body80nan
544.0ms8878×body160valid
225.0ms200×body10240exit
154.0ms3041×body80overflowed
92.0ms233×body5120valid
3.0ms100×pre80false

regimes3.1s (0.4%)

Accuracy

Total 36.8b remaining (10.8%)

Threshold costs 3.5b (1%)

13.1b46%Compound Interest
8.1b60%Kahan p9 Example
3.8b84.5%The quadratic formula (r1)
3.1b0%Complex division, real part
2.7b0%Complex division, imag part

localize1.5s (0.2%)

bsearch1.0s (0.1%)

end1.0ms (0.0%)