Details

prune7.1m (55.2%)

rewrite2.6m (20.2%)

Algorithm
106×rewrite-expression-head
Calls

300 calls:

39.8s
(+ (* (* 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))))))))
14.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)))))))
11.3s
(cbrt (pow (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)))) 3))
10.2s
(- (* (- (+ (* 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.7s
(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))))
Rules
77114×associate-*l/
67997×frac-times
45298×associate-*r/
34522×flip-+ flip3-+
29803×flip-- flip3--
20974×frac-sub
17582×frac-add
12960×distribute-neg-frac
3881×*-un-lft-identity
3561×times-frac
3559×add-sqr-sqrt
2634×cbrt-div
2547×add-exp-log
2264×add-cbrt-cube
2191×add-cube-cbrt
1048×prod-exp
965×associate-*r*
894×cbrt-unprod
834×pow1
671×associate-*l*
668×add-log-exp
659×div-exp
587×cbrt-undiv
572×distribute-lft-out
506×difference-of-squares
452×unpow-prod-down
390×cbrt-prod
324×associate-/r*
289×distribute-lft-out--
282×associate-/l*
258×associate-/r/
245×cube-prod swap-sqr
235×sqrt-prod
224×sqr-pow
204×div-inv
194×pow-prod-down unswap-sqr
164×distribute-rgt-neg-in
146×sum-log
129×distribute-lft-neg-in
120×cube-div
110×sqrt-div
109×associate-/l/
85×sub-neg
84×*-commutative
76×exp-neg
70×diff-log
67×neg-sub0
66×pow-prod-up
65×distribute-rgt-in distribute-lft-in
59×pow-to-exp pow-exp
57×exp-diff clear-num unpow2 frac-2neg
53×log-prod
46×pow-sqr
45×+-commutative
43×neg-mul-1
41×pow-plus
37×pow1/3
33×pow2
29×un-div-inv associate-+r+ sqrt-pow1
28×pow1/2
26×rec-exp 1-exp
24×pow-unpow
23×unpow3 cube-mult
22×exp-sum
21×log-pow
19×associate-+l+
18×rem-sqrt-square exp-prod
17×div-sub pow-pow
15×associate--r+
14×difference-cubes
12×sum-cubes
neg-log rem-cbrt-cube associate--l+ log-div
associate--l-
inv-pow pow-flip rem-log-exp
rem-cube-cbrt distribute-lft-neg-out associate-+r- distribute-frac-neg distribute-rgt-out
associate-+l-
distribute-lft1-in pow3 distribute-rgt-out--
sqrt-unprod distribute-rgt1-in unsub-neg rem-square-sqrt

simplify2.1m (16.2%)

sample32.2s (4.1%)

Algorithm
72×intervals
Results
9.5s294754×body80valid
4.6s13607×body1280valid
2.6s3981×body2560valid
1.7s9368×body640valid
1.3s100594×pre80true
1.0s2210×body10240exit
740.0ms7042×body320valid
526.0ms19273×body80nan
487.0ms8718×body160valid
81.0ms240×body5120valid
3.0ms100×pre80false

series27.1s (3.5%)

Calls

300 calls:

447.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))))
447.0ms
(cbrt (pow (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)))) 3))
446.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))))
441.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))))
438.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))))

regimes2.9s (0.4%)

Accuracy

Total 34.2b remaining (9.5%)

Threshold costs 3.6b (1%)

11.7b48.6%Compound Interest
5.0b76.5%Kahan p9 Example
4.4b84.8%The quadratic formula (r2)
4.3b83.8%The quadratic formula (r1)
2.8b0%Complex division, real part

localize1.5s (0.2%)

bsearch868.0ms (0.1%)

end1.0ms (0.0%)