Details

simplify30.1m

Calls

16243 calls:

Slowest
2.1s
(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.7s
(/ (* (* (* 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.6s
(/ (* (* (* (- 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.3s
(/ (* (* (* a c) (* a c)) (* a c)) (* (* (* a a) a) (* (* (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))) (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))))

sample5.0m

Algorithm
56×intervals
16×halfpoints
Results
1.1m66642×body1280valid
41.1s17315×body2560valid
28.4s42415×body640valid
13.9s12557×body10240exit
10.3s94224×body80valid
9.4s20724×body320valid
6.4s63679×body80nan
3.1s10643×body160valid
1.9s47289×pre80true
714.0ms669×body1280nan
500.0ms429×body5120valid
429.0ms683×body640nan
194.0ms366×body320nan
48.0ms198×body160nan

prune2.8m

series41.5s

Calls

360 calls:

Slowest
1.2s
(fma (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (* (tan x) (tan eps)) (- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x)))
1.1s
(pow (* (* (fma (* (* x x) (* x x)) 1/12 (* x x)) (fma (* (* x x) (* x x)) 1/12 (* x x))) (fma (* (* x x) (* x x)) 1/12 (* x x))) 1/3)
981.0ms
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
880.0ms
(fma (- (/ (cbrt 2) (cbrt x))) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x))) (* (/ (cbrt 2) (cbrt x)) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x)))))
851.0ms
(* (cbrt (/ 1/2 (sqrt 2))) (* (/ (fma 1/60 (pow x 5) (* x (fma 1/3 (* x x) 2))) (sqrt 2)) (sin y)))

rewrite9.8s

Algorithm
113×rewrite-expression-head
Calls

360 calls:

Slowest
306.0ms
(* (* (* (* a x) (* a x)) x) a)
285.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))
219.0ms
(+ (- (/ 1 (+ 1 x)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (+ (fma (- (/ (cbrt 2) (cbrt x))) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x))) (* (/ (cbrt 2) (cbrt x)) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x))))) (/ 1 (- x 1)))))
193.0ms
(exp (log (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))
163.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (/ (cbrt 2) (cbrt x))) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x))) (* (/ (cbrt 2) (cbrt x)) (/ (* (cbrt 2) (cbrt 2)) (* (cbrt x) (cbrt x))))) (/ 1 (- x 1))))
Rules
8037×*-un-lft-identity
7261×times-frac
7171×add-sqr-sqrt
5756×add-cube-cbrt
3722×prod-diff
1700×pow1
1688×sqrt-prod
1216×add-exp-log
1050×add-cbrt-cube
762×distribute-lft-out
720×associate-+l+
565×add-log-exp
555×difference-of-squares
549×div-inv
441×cbrt-prod
427×unpow-prod-down
415×fma-neg
410×associate-*l*
394×pow-prod-down
380×distribute-lft-out--
359×log1p-expm1-u
353×expm1-log1p-u
352×insert-posit16
346×associate-/r*
334×associate-*r*
321×associate-/l*
315×prod-exp
312×associate-/r/
282×pow-prod-up
277×cbrt-unprod
245×div-exp
242×flip-+ flip3-+
203×frac-times
190×tan-quot
180×pow-sqr
179×cbrt-div
166×cbrt-undiv
165×swap-sqr
162×sqrt-div
153×associate-*r/
151×flip3-- flip--
150×pow-plus
141×sqr-pow associate-*l/
130×unswap-sqr
129×log-pow
128×fma-def
126×log-prod distribute-rgt-neg-in
121×exp-prod
102×pow2
94×pow-unpow
78×sqrt-pow1
71×diff-log
70×distribute-lft-neg-in frac-2neg clear-num *-commutative
67×sub-neg
57×pow1/2
51×pow1/3
47×sum-log
46×associate-/l/
42×fma-udef log-div
39×1-exp rec-exp
30×pow-flip
29×rem-sqrt-square
23×frac-sub neg-mul-1 div-sub
22×frac-add
21×+-commutative
19×exp-diff distribute-rgt-in pow-pow distribute-lft-in
17×rem-log-exp
16×inv-pow
10×expm1-udef pow-exp hypot-def
expm1-log1p pow3 difference-of-sqr-1 sin-mult
pow-to-exp
associate-+l-
neg-sub0 associate--l- associate--r+ rem-cbrt-cube
cos-mult associate-+r+ associate--l+ sqrt-unprod sub-div
exp-sum neg-log distribute-neg-frac
cos-sum log1p-udef
distribute-lft-neg-out sin-sum log1p-def +.c-commutative sqr-sin frac-2neg-c exp-neg distribute-rgt-out-- rem-exp-log rem-square-sqrt tan-sum
diff-atan sub0-neg log1p-expm1 distribute-frac-neg hypot-udef unpow1/3 diff-sin diff-cos expm1-def

localize4.7s

regimes3.8s

Accuracy

Total 17.7b remaining (14.8%)

5.7b79.3%quad2p (problem 3.2.1, positive)
3.3b0%expq3 (problem 3.4.2)
1.6b86.2%2nthrt (problem 3.4.6)
1.1b95.5%quadm (p42, negative)
0.9b96.8%quadp (p42, positive)

bsearch3.4s

end1.0ms