Details

simplify26.2m

Calls

14820 calls:

Slowest
1.5s
(* (* (+ (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)))) (* (* (* (* (* a x) (* a x)) (* (* a x) (* a x))) (* (* a x) (* a x))) 1/8)) (+ (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)))) (* (* (* (* (* a x) (* a x)) (* (* a x) (* a x))) (* (* a x) (* a x))) 1/8))) (+ (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)))) (* (* (* (* (* a x) (* a x)) (* (* a x) (* a x))) (* (* a x) (* a x))) 1/8)))
1.4s
(* (/ (/ (* (* (sin x) (sin x)) (sin x)) (* (* (cos x) (cos x)) (cos x))) (* (* (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps)))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))))) (* (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (cos eps) (cos eps)) (cos eps))) (* (* (/ (sin eps) (cos eps)) (/ (sin eps) (cos eps))) (/ (sin eps) (cos eps)))))
1.4s
(* (* (* (+ (+ (* eps (* (* 1/6 a) (* (* a eps) (* a eps)))) (* a eps)) (* 1/2 (* (* a eps) (* a eps)))) (+ (+ (* eps (* (* 1/6 a) (* (* a eps) (* a eps)))) (* a eps)) (* 1/2 (* (* a eps) (* a eps))))) (+ (+ (* eps (* (* 1/6 a) (* (* a eps) (* a eps)))) (* a eps)) (* 1/2 (* (* a eps) (* a eps))))) (* (* (- (exp (* b eps)) 1) (- (exp (* b eps)) 1)) (- (exp (* b eps)) 1)))
1.4s
(* (/ (/ (* (* (sin x) (sin x)) (sin x)) (* (* (cos x) (cos x)) (cos x))) (* (* (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps)))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))))) (* (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (cos eps) (cos eps)) (cos eps))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (cos eps) (cos eps)) (cos eps)))))
1.3s
(* (/ (/ (* (* (sin x) (sin x)) (sin x)) (* (* (cos x) (cos x)) (cos x))) (* (* (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps)))))) (- 1 (* (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))) (* (/ (sin x) (cos x)) (/ (sin eps) (cos eps))))))) (* (* (* (/ (sin eps) (cos eps)) (/ (sin eps) (cos eps))) (/ (sin eps) (cos eps))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (cos eps) (cos eps)) (cos eps)))))

sample5.2m

Algorithm
56×intervals
16×halfpoints
Results
1.2m67132×body1280valid
40.0s17267×body2560valid
28.7s42290×body640valid
13.8s94122×body80valid
13.8s12984×body10240exit
9.5s20523×body320valid
6.3s62817×body80nan
3.1s10502×body160valid
2.0s47598×pre80true
955.0ms690×body640nan
825.0ms680×body1280nan
570.0ms461×body5120valid
207.0ms415×body320nan
53.0ms183×body160nan

prune2.2m

series42.6s

Calls

385 calls:

Slowest
1.3s
(- (* (/ (+ (tan x) (tan eps)) (- (* 1 1) (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (+ 1 (* (tan x) (tan eps)))) (tan x))
682.0ms
(log (exp (* (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ 1 x) (/ 1 n)) (pow x (/ 1 n)))))))
494.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))
477.0ms
(log (- 1 (* x (* x x))))
433.0ms
(/ (* x (+ 1/27 (* (* 1/91125 (* x x)) (* (* x x) (* x x))))) (+ (* 1/3 1/3) (- (* (* 1/45 (* x x)) (* 1/45 (* x x))) (* 1/3 (* 1/45 (* x x))))))

rewrite37.4s

Algorithm
119×rewrite-expression-head
Calls

385 calls:

Slowest
12.0s
(/ (+ (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)))) (* (* (* (* (* a x) (* a x)) (* (* a x) (* a x))) (* (* a x) (* a x))) 1/8)) (+ (* (+ (* (* (* a x) (* (* a x) (* a x))) 1/6) (* a x)) (+ (* (* (* a x) (* (* a x) (* a x))) 1/6) (* a x))) (* (* (* (* a x) 1/2) (* a x)) (- (* (* (* a x) 1/2) (* a x)) (+ (* (* (* a x) (* (* a x) (* a x))) 1/6) (* a x))))))
4.7s
(+ (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (* (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)) (+ (* (* 1/6 (* (* a x) (* a x))) (* a x)) (* a x)))) (* (* (* (* (* a x) (* a x)) (* (* a x) (* a x))) (* (* a x) (* a x))) 1/8))
3.6s
(* (+ (+ (* eps (* (* 1/6 a) (* (* a eps) (* a eps)))) (* a eps)) (* 1/2 (* (* a eps) (* a eps)))) (- (exp (* b eps)) 1))
1.2s
(+ (+ (* eps (* (* 1/6 a) (* (* a eps) (* a eps)))) (* a eps)) (* 1/2 (* (* a eps) (* a eps))))
835.0ms
(/ (* x (+ 1/27 (* (* 1/91125 (* x x)) (* (* x x) (* x x))))) (+ (* 1/3 1/3) (- (* (* 1/45 (* x x)) (* 1/45 (* x x))) (* 1/3 (* 1/45 (* x x))))))
Rules
4594×*-un-lft-identity
4093×add-sqr-sqrt
4051×times-frac
2684×add-cube-cbrt
1527×add-exp-log
1437×pow1
1345×add-cbrt-cube
1079×sqrt-prod
789×associate-*l*
698×associate-*r*
674×distribute-lft-out
643×add-log-exp
635×cbrt-prod
492×prod-exp
443×difference-of-squares
439×cbrt-unprod
431×pow-prod-down
373×insert-posit16
330×associate-/l*
299×associate-/r*
282×div-exp
276×distribute-lft-out--
244×swap-sqr
242×flip-+ flip3-+
236×associate-/r/ associate-*l/
224×flip3-- flip--
216×div-inv
211×unswap-sqr
206×cbrt-undiv
195×exp-prod
194×log-prod
180×sqrt-div
169×pow-prod-up
166×frac-times
131×unpow-prod-down associate-*r/
111×pow-sqr
110×*-commutative
103×sub-neg
100×log-pow
93×diff-log
73×sqr-pow distribute-rgt-neg-in
65×pow-plus
63×sqrt-pow1 frac-2neg clear-num pow1/2
61×associate-/l/
60×tan-quot
59×pow1/3
57×frac-add
55×pow-unpow
52×pow2
50×sum-log
48×distribute-lft-neg-in
44×distribute-rgt-in distribute-lft-in
42×cbrt-div
41×difference-of-sqr-1
37×1-exp rec-exp
36×pow-flip
30×+-commutative neg-mul-1
24×rem-log-exp log-div
23×distribute-rgt-out
21×rem-sqrt-square
17×div-sub
16×associate-+l+ associate--l+
15×frac-sub
14×inv-pow
13×complex-mul-def
10×pow-exp pow-pow exp-to-pow
pow-to-exp associate--r+
neg-sub0 distribute-lft1-in
associate--l-
sin-sum
associate-+r+ distribute-frac-neg sqrt-unprod sin-mult rem-exp-log
exp-diff exp-sum cube-unmult *.c-commutative neg-log sqr-sin +.c-commutative distribute-rgt-out-- associate-+l-
associate-*l*.c pow3 tan-sum frac-2neg-c exp-neg complex-add-def rem-square-sqrt cos-sum rem-cbrt-cube e-exp-1 distribute-rgt1-in
remove-posit16 diff-atan cos-mult sin-cos-mult sub0-neg sub-div un-div-inv associate-+l+.c diff-sin diff-cos

localize5.3s

regimes4.3s

Accuracy

Total 15.7b remaining (10.5%)

Threshold costs 8.9b (5.9%)

4.9b45.4%expq3 (problem 3.4.2)
2.0b77.1%2nthrt (problem 3.4.6)
1.0b95.9%quad2p (problem 3.2.1, positive)
0.9b96%quadp (p42, positive)
0.9b96.1%quadm (p42, negative)

bsearch2.8s

end1.0ms