Details

simplify9.3m

Calls

6309 calls:

Slowest
1.8s
(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.6s
(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.1s
(- (* (* (- (* (/ 1 (+ x 1)) (/ 1 (+ x 1))) (* (/ 2 x) (/ 2 x))) (- (* 1 x) (* (+ x 1) 2))) (- (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))) (* (* (+ (/ 1 (+ x 1)) (/ 2 x)) (* (+ x 1) x)) (* (- (* (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))) (* (/ 1 (- x 1)) (/ 1 (- x 1)))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))))
938.0ms
(/ (* (* (- (* (- (/ 1 (+ x 1)) (/ 2 x)) (- (/ 1 (+ x 1)) (/ 2 x))) (* (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))) (- (* (- (/ 1 (+ x 1)) (/ 2 x)) (- (/ 1 (+ x 1)) (/ 2 x))) (* (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))))) (- (* (- (/ 1 (+ x 1)) (/ 2 x)) (- (/ 1 (+ x 1)) (/ 2 x))) (* (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))))) (* (* (- (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))) (- (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))) (- (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))))
912.0ms
(/ (* (* (* (sin x) (sin x)) (sin x)) (* (* (sin x) (sin x)) (sin x))) (* (* (* (* x x) (+ 1 (cos x))) (* (* x x) (+ 1 (cos x)))) (* (* x x) (+ 1 (cos x)))))

sample5.0m

Algorithm
56×intervals
16×halfpoints
Results
1.0m66937×body1280valid
40.6s17805×body2560valid
26.2s41960×body640valid
13.2s12470×body10240exit
11.9s94031×body80valid
9.9s20299×body320valid
6.0s64141×body80nan
3.0s10402×body160valid
1.9s47376×pre80true
810.0ms488×body5120valid
741.0ms667×body1280nan
635.0ms693×body640nan
150.0ms336×body320nan
82.0ms192×body160nan

prune1.7m

series28.8s

Calls

350 calls:

Slowest
1.1s
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
1.1s
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
1.1s
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
1.0s
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
835.0ms
(/ (- (* (- (/ 1 (+ x 1)) (/ 2 x)) (- (/ 1 (+ x 1)) (/ 2 x))) (* (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))) (- (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))))

regimes4.3s

Accuracy

Total 25.7b remaining (18.2%)

4.6b83.3%quadp (p42, positive)
4.6b83.6%quadm (p42, negative)
3.7b86.7%quad2p (problem 3.2.1, positive)
3.6b-4.5%expq3 (problem 3.4.2)
3.4b69.9%2nthrt (problem 3.4.6)

rewrite3.6s

Algorithm
112×rewrite-expression-head
Calls

350 calls:

Slowest
466.0ms
(/ (- x (sin x)) (- x (tan x)))
131.0ms
(- (* (* (sqrt (* (cbrt (+ x 1)) (cbrt (+ x 1)))) (sqrt (cbrt (+ x 1)))) (* (sqrt (* (cbrt (+ x 1)) (cbrt (+ x 1)))) (sqrt (cbrt (+ x 1))))) (* (sqrt x) (sqrt x)))
112.0ms
(/ (- (* (- (/ 1 (+ x 1)) (/ 2 x)) (- (/ 1 (+ x 1)) (/ 2 x))) (* (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1))))) (- (- (/ 1 (+ x 1)) (/ 2 x)) (+ (fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))))) (/ 1 (- x 1)))))
106.0ms
(- (cbrt (* (* (cbrt (* (cbrt (+ x 1)) (cbrt (+ x 1)))) (* (cbrt (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt (+ x 1)))) (cbrt x))
102.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (/ (* (tan x) (sin eps)) (cos eps)))) (tan x))
Rules
3151×cbrt-div
2454×frac-times
2328×sqrt-div
1722×flip-+ flip3-+
1457×*-un-lft-identity
1268×add-sqr-sqrt
1138×add-cube-cbrt
924×associate-*l/
632×pow1
594×add-exp-log
585×associate-*r/
568×prod-diff
533×add-cbrt-cube
449×add-log-exp
352×times-frac
346×log1p-expm1-u
344×expm1-log1p-u
343×insert-posit16
275×div-inv
224×sqrt-prod
223×frac-sub
213×associate-*l*
208×fma-neg
199×flip3-- flip--
189×cbrt-prod
173×associate-*r*
167×associate-/r*
152×associate-/l/
146×associate-/r/
131×distribute-lft-out--
111×distribute-lft-out
102×associate-/l*
92×pow-prod-down
85×prod-exp
79×cbrt-unprod
78×pow1/3
67×pow1/2
65×sub-neg
61×difference-of-squares frac-2neg clear-num
58×log-pow
57×*-commutative
56×pow-prod-up
52×associate-+l+
49×log-prod
48×fma-def
45×div-exp
43×diff-log
40×cbrt-undiv
39×fma-udef
36×pow-flip
35×pow-plus
33×rem-sqrt-square
31×pow2 neg-mul-1
28×pow-unpow
27×log-div
25×tan-quot rec-exp
24×inv-pow
22×unpow-prod-down
20×frac-add
18×div-sub
16×+-commutative
15×sum-log
11×rem-log-exp
10×un-div-inv
associate--l- sqrt-unprod sin-mult
associate--r-
associate--l+ pow-to-exp
neg-sub0 pow3 distribute-rgt-in difference-of-sqr-1 exp-prod distribute-lft-in
cos-mult
expm1-udef log1p-def
expm1-log1p associate-+r+ pow-exp pow-pow associate-+l- rem-square-sqrt cos-sum
remove-posit16 sin-sum sub-div +.c-commutative associate--r+ sqr-sin tan-sum expm1-def log1p-udef
diff-atan exp-sum log1p-expm1 frac-2neg-c diff-sin rem-cbrt-cube diff-cos

localize3.2s

bsearch2.1s

end1.0ms