Details

simplify35.9m

Calls

25123 calls:

Slowest
2.1s
(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)))
2.0s
(/ (* (* (* (* a c) (* a c)) (* a c)) (* (* -2 -2) -2)) (* (* (* a (+ (sqrt (fma (* -4 c) a (* b b))) b)) (* a (+ (sqrt (fma (* -4 c) a (* b b))) b))) (* a (+ (sqrt (fma (* -4 c) a (* b b))) b))))
2.0s
(/ (* (* (* (* a c) -2) (* (* a c) -2)) (* (* a c) -2)) (* (* (* a (+ (sqrt (fma (* -4 c) a (* b b))) b)) (* a (+ (sqrt (fma (* -4 c) a (* b b))) b))) (* a (+ (sqrt (fma (* -4 c) a (* b b))) b))))
1.9s
(/ (* (* (- (* a c)) (- (* a c))) (- (* a c))) (* (* (* a (+ (sqrt (- (* b_2 b_2) (* a c))) b_2)) (* a (+ (sqrt (- (* b_2 b_2) (* a c))) b_2))) (* a (+ (sqrt (- (* b_2 b_2) (* a c))) b_2))))
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)))

sample4.8m

Algorithm
52×intervals
15×halfpoints
Results
1.1m61965×body1280valid
40.4s16982×body2560valid
25.2s35943×body640valid
14.9s12619×body10240exit
10.4s77589×body80valid
7.5s17760×body320valid
5.8s47580×body80nan
2.5s9569×body160valid
1.9s47426×pre80true
872.0ms414×body5120valid
741.0ms651×body1280nan
625.0ms661×body640nan
181.0ms359×body320nan
58.0ms186×body160nan

prune3.6m

series34.1s

Calls

330 calls:

Slowest
1.4s
(- (fma (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan eps) (tan x)) (* (* (tan eps) (tan x)) (* (tan eps) (tan x)))))) (fma (* (tan eps) (tan x)) (* (tan eps) (tan x)) (* (tan eps) (tan x))) (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan eps) (tan x)) (* (* (tan eps) (tan x)) (* (tan eps) (tan x))))))) (tan x))
1.1s
(- (* (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1))))) (* (cbrt x) (cbrt x)))
618.0ms
(/ (/ (* (expm1 (* (+ a b) eps)) eps) (expm1 (* eps a))) (expm1 (* eps b)))
517.0ms
(fma (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n))) (- (* (pow x (/ (/ 1 n) 2)) (pow x (/ (/ 1 n) 2)))))
488.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

rewrite25.1s

Algorithm
108×rewrite-expression-head
Calls

330 calls:

Slowest
5.4s
(- (* (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1))))) (* (cbrt x) (cbrt x)))
1.4s
(* (sqrt (* eps (- (* (* eps -2/3) eps) 2))) (sqrt (* eps (- (* (* eps -2/3) eps) 2))))
891.0ms
(- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))
483.0ms
(/ (- (* a c)) (* a (+ (sqrt (- (* b_2 b_2) (* a c))) b_2)))
417.0ms
(* -2 (* (sin (/ (+ x (+ eps x)) 2)) (sin (/ eps 2))))
Rules
150023×add-sqr-sqrt
92607×cbrt-prod
68237×unswap-sqr
61131×sqrt-prod
52405×*-un-lft-identity
38412×times-frac
36186×add-cube-cbrt
34074×prod-diff
22058×associate-*l*
20312×swap-sqr
17932×associate-/r*
14617×associate-*r*
10401×frac-sub
9226×associate-/l*
8615×difference-of-squares
7894×frac-add
6989×*-commutative
5185×distribute-lft-out
3390×frac-times
2762×clear-num
2602×frac-2neg
1358×associate-*r/
1306×fma-neg
1268×distribute-lft-out--
1211×pow1
1117×cbrt-div
930×add-exp-log
867×div-inv
860×add-cbrt-cube
730×associate-/l/
648×sqrt-div
524×distribute-rgt-neg-in
510×add-log-exp
487×distribute-lft-neg-in
478×associate-*l/
416×associate-/r/
415×un-div-inv
332×flip-+ flip3-+
328×expm1-log1p-u log1p-expm1-u
323×insert-posit16
276×associate-+r+
252×pow-prod-down
236×associate-+l+
204×cbrt-unprod prod-exp
195×unpow-prod-down
192×pow-prod-up
162×div-exp
148×fma-def
146×sub-div
139×flip3-- flip--
126×pow-unpow pow-sqr
125×cbrt-undiv
120×neg-mul-1
118×tan-quot
114×distribute-rgt-in distribute-lft-in
110×distribute-neg-frac
103×difference-of-sqr-1
101×log-prod
94×pow-plus
75×sqrt-pow1
69×diff-log
68×pow2
65×sub-neg
62×exp-prod
60×sqr-pow
58×distribute-rgt-out--
53×pow1/2
48×pow1/3
46×fma-udef log-div
36×+-commutative
29×sum-log rem-sqrt-square
26×pow-flip
23×pow-pow div-sub
20×pow-exp log-pow
19×cube-prod 1-exp associate--l+ rec-exp
13×inv-pow
12×pow-to-exp
11×associate--l- sin-sum rem-log-exp
10×neg-sub0
log-rec cube-div
expm1-udef pow3 hypot-def
exp-sum log1p-udef
log1p-expm1 neg-log rem-cbrt-cube sin-mult
expm1-log1p
rem-cube-cbrt associate--r+ tan-sum rem-exp-log cos-sum
associate-+r- sin-cos-mult unpow3 sqrt-unprod cube-mult expm1-def
remove-double-div +.c-commutative sqr-sin log1p-def rem-square-sqrt
distribute-lft-neg-out diff-atan sqrt-undiv distribute-frac-neg frac-2neg-c associate-+l- diff-sin diff-cos unsub-neg

localize4.1s

regimes3.9s

Accuracy

Total 25.2b remaining (16.7%)

4.8b-32.6%expq3 (problem 3.4.2)
4.5b84.6%quadm (p42, negative)
4.5b84.2%quad2m (problem 3.2.1, negative)
3.3b70.7%2nthrt (problem 3.4.6)
1.4b94.1%quad2p (problem 3.2.1, positive)

bsearch2.6s

end1.0ms