Details

prune7.3m (37.5%)

series7.0m (36.4%)

Calls

338 calls:

6.3m
(/ (/ i n) (cbrt (/ (/ (+ (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))))
15.7s
(/ (/ (/ (+ (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.0s
(/ (/ (+ (pow (+ 1.0 (/ i n)) (* 2 n)) (- (* 1.0 1.0))) (+ (pow (+ 1.0 (/ i n)) n) 1.0)) (/ i n))
1.3s
(/ (+ (* (* (* (* 2.0 x1) (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1)) (- (/ (- (+ (* (* 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))) 6.0)) (* (+ (* x1 x1) 1.0) (* (* x1 x1) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))) (* (- (* (* x1 x1) (* x1 x1)) (* 1.0 1.0)) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))
795.0ms
(/ (+ (* (* (* (* 2.0 x1) (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1)) (- (/ (- (+ (* (* 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))) 6.0)) (* (+ (* x1 x1) 1.0) (* (* x1 x1) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))) (* (+ (* x1 x1) 1.0) (+ (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0)))

simplify2.3m (12.1%)

Algorithm
182×egg-herbie

rewrite2.1m (10.8%)

Algorithm
113×rewrite-expression-head
Calls

338 calls:

39.1s
(+ (* (* 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)))) (* (* (+ (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)))) (* (* (+ (* -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))))))))
13.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))) (- (* 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)))))))
10.0s
(- (* (- (+ (* 5.5 (pow 33096.0 8.0)) (/ 77617.0 (* 2.0 33096.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)))) (* (* (+ (* -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)))))))
5.6s
(/ (+ (* (* (* (* 2.0 x1) (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1)) (- (/ (- (+ (* (* 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))) 6.0)) (* (+ (* x1 x1) 1.0) (* (* x1 x1) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))) (* (- (* (* x1 x1) (* x1 x1)) (* 1.0 1.0)) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))
5.2s
(/ (+ (* (* (* (* 2.0 x1) (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1)) (- (/ (- (+ (* (* 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))) 6.0)) (* (+ (* x1 x1) 1.0) (* (* x1 x1) (- (* (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0)))) (* 6.0 6.0))))) (* (+ (* x1 x1) 1.0) (+ (* 4.0 (/ (- (+ (* (* 3.0 x1) x1) (* 2.0 x2)) x1) (+ (* x1 x1) 1.0))) 6.0)))
Rules
76902×associate-*l/
67217×frac-times
44281×associate-*r/
34930×flip-+ flip3-+
29043×flip-- flip3--
20895×frac-sub
17120×frac-add
13719×times-frac
12960×distribute-neg-frac
9696×*-un-lft-identity
7715×add-sqr-sqrt
5998×add-cube-cbrt
2295×add-exp-log
1721×add-cbrt-cube
1472×distribute-lft-out
1311×sqrt-prod
1277×cbrt-prod
1039×associate-*r*
922×unpow-prod-down
846×pow1
836×associate-/r/
772×prod-exp
751×add-log-exp
687×div-exp
671×div-inv
643×associate-/r*
636×difference-of-squares
536×associate-*l*
529×cbrt-unprod
506×associate-/l/
457×associate-/l*
420×cbrt-undiv
414×distribute-lft-out--
373×sqr-pow
267×cube-prod
220×swap-sqr
206×unpow2
200×unswap-sqr
192×pow-prod-down
169×sqrt-div
152×sum-log
103×sub-neg
97×pow-exp
91×1-exp
87×diff-log
83×pow-to-exp
80×*-commutative
70×clear-num frac-2neg
66×distribute-rgt-in distribute-lft-in
61×rec-exp
58×log-prod
56×distribute-rgt-neg-in
47×+-commutative sqrt-pow1
46×pow1/2
40×div-sub
36×pow-unpow rem-sqrt-square exp-sum
35×pow-prod-up
33×associate-+l+
30×distribute-lft-neg-in
29×pow-sqr
27×associate-+r+
24×cube-div pow-pow
23×pow-plus cbrt-div
22×unpow3 cube-mult
21×pow2
19×associate--r+
17×rem-cube-cbrt
16×neg-sub0
15×pow1/3
14×difference-cubes
12×log-pow exp-prod log-div
11×distribute-rgt-out-- neg-log
10×neg-mul-1
associate--l- associate-+r-
pow-flip
associate--l+
inv-pow unsub-neg rem-cbrt-cube associate-+l-
un-div-inv sum-cubes rem-log-exp
exp-diff distribute-lft-neg-out distribute-frac-neg exp-to-pow
rem-exp-log
distribute-lft1-in pow3 distribute-rgt-out associate--r-
sqrt-unprod cube-unmult sub-div rem-square-sqrt +-inverses

sample31.6s (2.7%)

Algorithm
72×intervals
Results
9.2s294154×body80valid
4.6s13600×body1280valid
2.4s3836×body2560valid
1.8s9624×body640valid
1.3s100608×pre80true
995.0ms2128×body10240exit
732.0ms6915×body320valid
526.0ms19193×body80nan
509.0ms8884×body160valid
101.0ms250×body5120valid
3.0ms100×pre80false

regimes3.5s (0.3%)

Accuracy

Total 26.2b remaining (7%)

Threshold costs 3.7b (1%)

10.9b47.8%Compound Interest
4.7b76.5%Kahan p9 Example
2.2b25.6%Complex division, real part
1.4b0%Rosa's DopplerBench
1.2b95%The quadratic formula (r2)

localize1.7s (0.1%)

bsearch1.0s (0.1%)

end1.0ms (0.0%)