Details

simplify31.1m

Calls

20963 calls:

Slowest
1.9s
(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
(/ (/ (/ (* (* (* (* a a) a) (* (* 4 4) 4)) (* (* c c) c)) (* (* (- (sqrt (fma a (* c -4) (* b b))) b) (- (sqrt (fma a (* c -4) (* b b))) b)) (- (sqrt (fma a (* c -4) (* b b))) b))) (* (* 2 2) 2)) (* (* a a) a))
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.6s
(* (* (/ 1 (/ a (/ (- (sqrt (fma (* a c) -4 (* b b))) b) 2))) (/ 1 (/ a (/ (- (sqrt (fma (* a c) -4 (* b b))) b) 2)))) (/ 1 (/ a (/ (- (sqrt (fma (* a c) -4 (* b b))) b) 2))))
1.4s
(/ (/ (/ (* (* (* (* a 4) (* a 4)) (* a 4)) (* (* c c) c)) (* (* (- (sqrt (fma a (* c -4) (* b b))) b) (- (sqrt (fma a (* c -4) (* b b))) b)) (- (sqrt (fma a (* c -4) (* b b))) b))) (* (* 2 2) 2)) (* (* a a) a))

sample5.0m

Algorithm
56×intervals
16×halfpoints
Results
1.1m66348×body1280valid
41.4s17732×body2560valid
28.3s41347×body640valid
13.5s12498×body10240exit
10.7s94091×body80valid
8.8s21111×body320valid
7.2s63469×body80nan
3.3s10728×body160valid
1.8s47412×pre80true
819.0ms690×body1280nan
535.0ms650×body640nan
497.0ms440×body5120valid
198.0ms353×body320nan
91.0ms222×body160nan

prune2.5m

series32.6s

Calls

315 calls:

Slowest
953.0ms
(fma (* (cbrt x) (cbrt x)) (cbrt x) (- (tan x)))
807.0ms
(/ (- x (sin x)) (fma (* (cbrt x) (cbrt x)) (cbrt x) (- (tan x))))
669.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
624.0ms
(/ (/ (* (expm1 (* (+ a b) eps)) eps) (expm1 (* eps a))) (expm1 (* eps b)))
500.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (log (exp (* (tan x) (tan eps))))))) (tan x))

rewrite8.4s

Algorithm
108×rewrite-expression-head
Calls

315 calls:

Slowest
353.0ms
(+ (- (exp x) 2) (exp (- x)))
267.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))
155.0ms
(* (+ (sqrt (+ x 1)) (sqrt x)) (+ (sqrt (+ x 1)) (sqrt x)))
153.0ms
(* (* (* x (sqrt (sqrt (fma x (* 1/45 x) 1/3)))) (sqrt (sqrt (fma x (* 1/45 x) 1/3)))) (sqrt (fma x (* 1/45 x) 1/3)))
133.0ms
(* (sqrt (/ 1 (+ (sqrt (+ x 1)) (sqrt x)))) (sqrt (/ 1 (+ (sqrt (+ x 1)) (sqrt x)))))
Rules
9778×times-frac
8280×*-un-lft-identity
7837×add-sqr-sqrt
6390×add-cube-cbrt
3457×sqrt-prod
2638×prod-diff
1104×pow1
1086×add-exp-log
956×add-cbrt-cube
633×distribute-lft-out
600×div-inv
528×associate-/l*
522×difference-of-squares
461×add-log-exp
417×associate-/r*
392×associate-*l*
367×associate-*r*
348×fma-neg
312×log1p-expm1-u
311×distribute-lft-out--
310×expm1-log1p-u
309×insert-posit16
300×cbrt-prod
295×associate-+l+
290×associate-/r/
260×div-exp
232×unpow-prod-down
229×pow-prod-down
222×prod-exp
214×swap-sqr
209×cbrt-unprod
200×log-prod
193×cbrt-undiv
155×pow-prod-up
137×tan-quot
135×unswap-sqr
133×sqrt-pow1
129×flip-+ flip3-+
122×distribute-rgt-neg-in
118×flip3-- flip--
109×sqrt-div
99×distribute-lft-neg-in
91×fma-def pow1/2 pow-sqr
78×pow-unpow sqr-pow
75×frac-2neg clear-num
73×frac-times
67×pow-plus
63×*-commutative
61×associate-*r/
59×associate-*l/ diff-log
58×log-pow
57×sub-neg
56×associate-+r+
53×cbrt-div
48×associate-/l/
47×pow1/3
46×pow-flip
44×pow2
38×exp-prod
32×1-exp
31×rec-exp
30×neg-mul-1 rem-sqrt-square
29×inv-pow
24×sum-log
22×div-sub
18×fma-udef
15×+-commutative log-div
13×pow-exp
12×pow-to-exp
11×frac-sub pow-pow frac-add
10×rem-log-exp
difference-of-sqr-1
distribute-rgt-in distribute-lft-in
neg-sub0 exp-sum
pow-div sqrt-unprod associate--r+
expm1-log1p expm1-udef exp-diff log1p-udef associate--l- associate-+l- hypot-def sin-mult
neg-log sqr-sin
sin-sum associate-+r- pow3 +.c-commutative tan-sum exp-neg rem-exp-log log1p-def rem-square-sqrt cos-sum
diff-atan cos-mult associate--l+ log1p-expm1 distribute-frac-neg un-div-inv exp-to-pow diff-sin rem-cbrt-cube diff-cos associate--r- expm1-def

regimes4.1s

Accuracy

Total 21.4b remaining (19.9%)

Threshold costs 3.1b (2.9%)

3.8b84.1%quad2m (problem 3.2.1, negative)
3.6b70%2nthrt (problem 3.4.6)
3.5b87.1%quadp (p42, positive)
3.4b87.6%quad2p (problem 3.2.1, positive)
2.9b11%expq3 (problem 3.4.2)

localize3.8s

bsearch3.2s

end1.0ms