Details

simplify25.3m

Calls

15807 calls:

Slowest
1.7s
(/ (* (* (* (- 0 (* a (* c -4))) -1/2) (* (- 0 (* a (* c -4))) -1/2)) (* (- 0 (* a (* c -4))) -1/2)) (* (* (* (- b (sqrt (fma a (* c -4) (* b b)))) a) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)) (* (- b (sqrt (fma a (* c -4) (* b b)))) a)))
1.7s
(im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0)))
1.7s
(re (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0)))
1.5s
(/ (* (* (* a c) (* a c)) (* a c)) (* (* (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))))
1.4s
(* (* (* (sin (* eps 1/2)) (sin (* eps 1/2))) (sin (* eps 1/2))) (* (* (- (* (cos (* 1/2 eps)) (cos x)) (* (sin (* 1/2 eps)) (sin x))) (- (* (cos (* 1/2 eps)) (cos x)) (* (sin (* 1/2 eps)) (sin x)))) (- (* (cos (* 1/2 eps)) (cos x)) (* (sin (* 1/2 eps)) (sin x)))))

sample5.1m

Algorithm
56×intervals
16×halfpoints
Results
1.1m66418×body1280valid
39.9s17056×body2560valid
26.3s42807×body640valid
14.9s12984×body10240exit
12.7s93471×body80valid
10.4s20760×body320valid
7.3s63052×body80nan
3.9s11201×body160valid
2.1s47573×pre80true
545.0ms670×body1280nan
539.0ms455×body5120valid
396.0ms649×body640nan
153.0ms372×body320nan
61.0ms190×body160nan

prune2.8m

series36.8s

Calls

359 calls:

Slowest
1.2s
(fma (/ (+ (tan x) (tan eps)) (- 1 (* (* (* (tan eps) (tan x)) (* (tan eps) (tan x))) (* (tan eps) (tan x))))) (+ (* 1 1) (+ (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* 1 (* (tan x) (tan eps))))) (- (tan x)))
700.0ms
(cbrt (* (/ (* (expm1 (* (+ a b) eps)) (expm1 (* (+ a b) eps))) (* (/ (expm1 (* eps b)) eps) (expm1 (* eps a)))) (/ (expm1 (* (+ a b) eps)) (* (* (/ (expm1 (* eps b)) eps) (expm1 (* eps a))) (* (/ (expm1 (* eps b)) eps) (expm1 (* eps a)))))))
664.0ms
(/ (* (expm1 (* (+ b a) eps)) (/ eps (expm1 (* eps a)))) (expm1 (* eps b)))
648.0ms
(/ c (- (sqrt (- (* b_2 b_2) (* a c))) b_2))
597.0ms
(/ (/ (* (expm1 (* (+ a b) eps)) eps) (expm1 (* eps a))) (expm1 (* eps b)))

rewrite10.0s

Algorithm
115×rewrite-expression-head
Calls

359 calls:

Slowest
420.0ms
(- (/ 1 x) (/ 1 (tan x)))
266.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))
253.0ms
(* eps (* (cbrt (- (* (* eps -2/3) eps) 2)) (cbrt (- (* (* eps -2/3) eps) 2))))
181.0ms
(* (sin (* eps 1/2)) (- (* (cos (* 1/2 eps)) (cos x)) (* (sin (* 1/2 eps)) (sin x))))
151.0ms
(+ (- (* (/ 1 (sqrt (+ x 1))) (/ 1 (sqrt (+ x 1)))) (/ 2 x)) (/ 1 (- x 1)))
Rules
7226×*-un-lft-identity
6809×add-sqr-sqrt
5891×times-frac
5157×add-cube-cbrt
3413×prod-diff
1826×sqrt-prod
1666×pow1
1279×add-exp-log
1077×add-cbrt-cube
618×unpow-prod-down
598×distribute-lft-out
562×difference-of-squares
548×add-log-exp
524×cbrt-prod
485×associate-*r*
448×associate-*l*
422×div-inv
418×distribute-lft-out--
390×fma-neg
358×log1p-expm1-u
353×expm1-log1p-u insert-posit16
345×pow-prod-down
342×prod-exp
331×associate-/r/
308×associate-/l*
296×pow-prod-up
280×cbrt-unprod
268×associate-/r*
265×associate-+l+
255×div-exp
215×swap-sqr
202×sqr-pow
201×log-prod
186×pow-sqr
178×flip3-- flip--
177×unswap-sqr
174×cbrt-undiv
149×pow-plus
144×flip-+ flip3-+
139×associate-*r/
129×sqrt-div
120×fma-def
108×pow2
101×tan-quot
100×sqrt-pow1
86×frac-times
85×associate-*l/
82×pow1/2
81×*-commutative
80×sub-neg
76×diff-log
74×pow-unpow
71×distribute-rgt-neg-in
64×frac-2neg clear-num
62×pow-flip
59×exp-neg
52×distribute-lft-neg-in
51×associate-+r+
50×1-exp rec-exp log-pow
44×frac-sub cbrt-div
42×neg-sub0 rem-sqrt-square
39×exp-diff
35×exp-prod
34×distribute-rgt-in associate-/l/ distribute-lft-in
33×fma-udef
32×pow1/3
27×inv-pow
26×sum-log
24×un-div-inv
19×cube-prod +-commutative
18×sub-div pow-pow div-sub log-div
17×neg-mul-1
14×frac-add
13×associate--l+ rem-log-exp
12×pow-exp pow-to-exp
difference-of-sqr-1 sin-mult
hypot-def
expm1-udef
cos-mult cube-mult
expm1-log1p sin-sum unpow3 sqrt-unprod distribute-rgt-out-- log1p-def
associate--l- pow3 associate--r+ distribute-neg-frac associate-+l- rem-cbrt-cube
rem-cube-cbrt sin-cos-mult neg-log cos-sum pow-div
distribute-lft-neg-out +.c-commutative sqr-sin tan-sum rem-square-sqrt cube-div
diff-atan associate-+r- sub0-neg log1p-udef distribute-frac-neg sum-cubes exp-to-pow diff-sin sqr-cos diff-cos expm1-def

localize4.6s

regimes4.2s

Accuracy

Total 24.0b remaining (17.6%)

5.4b80.8%quad2p (problem 3.2.1, positive)
5.0b81.9%quadp (p42, positive)
3.4b0%expq3 (problem 3.4.2)
2.9b60.2%2tan (problem 3.3.2)
1.4b94.2%quadm (p42, negative)

bsearch2.9s

end41.0ms