Details

simplify21.6m

Calls

14537 calls:

Slowest
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.6s
(/ (* (* (- 0 (* a c)) (- 0 (* a c))) (- 0 (* a c))) (* (* a a) a))
1.5s
(fma (sqrt (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))))))) (sqrt (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))))))) (- (* (sqrt (/ (sin x) (cos x))) (sqrt (/ (sin x) (cos x))))))
1.4s
(fma (* (cbrt (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))))))) (cbrt (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))))))) (cbrt (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))))))) (- (* (sqrt (/ (sin x) (cos x))) (sqrt (/ (sin x) (cos x))))))

sample5.0m

Algorithm
56×intervals
16×halfpoints
Results
1.1m66803×body1280valid
39.0s17450×body2560valid
27.4s42512×body640valid
13.3s13045×body10240exit
11.9s94061×body80valid
9.7s20359×body320valid
7.3s63239×body80nan
3.2s10698×body160valid
1.9s47566×pre80true
830.0ms623×body1280nan
617.0ms475×body5120valid
584.0ms684×body640nan
163.0ms350×body320nan
53.0ms198×body160nan

prune2.4m

series33.5s

Calls

334 calls:

Slowest
1.7s
(- (fma (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (fma (/ (sin x) (cos x)) (/ (/ (* (sin eps) (sin eps)) (* (cos eps) (cos eps))) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps))))) (+ (fma (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (* (* (sin eps) (sin eps)) (sin eps)) (* (* (* (cos eps) (cos eps)) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin eps) (cos eps)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))) (/ (/ (sin x) (cos x)) (- 1 (/ (* (* (* (/ (sin x) (cos x)) (/ (sin x) (cos x))) (/ (sin x) (cos x))) (* (* (sin eps) (sin eps)) (sin eps))) (* (* (cos eps) (cos eps)) (cos eps)))))))) (/ (sin x) (cos x)))
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)))
752.0ms
(fma (- (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (cbrt (/ 2 x))) (* (cbrt (/ 2 x)) (* (cbrt (/ 2 x)) (cbrt (/ 2 x)))))
569.0ms
(/ (/ (* (expm1 (* (+ a b) eps)) eps) (expm1 (* eps a))) (expm1 (* eps b)))
489.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

rewrite8.4s

Algorithm
111×rewrite-expression-head
Calls

334 calls:

Slowest
375.0ms
(- (cos (+ x eps)) (cos x))
298.0ms
(* (* (* (* a x) (* a x)) x) a)
226.0ms
(- (+ (/ -1/2 (* N N)) (/ 1 N)) (/ -1/3 (* (* N N) N)))
189.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))
154.0ms
(+ (- (/ 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))))
Rules
6859×*-un-lft-identity
6416×add-sqr-sqrt
6031×times-frac
5023×add-cube-cbrt
2972×prod-diff
1922×sqrt-prod
1595×pow1
1193×add-exp-log
1043×add-cbrt-cube
569×distribute-lft-out
527×cbrt-prod
514×add-log-exp
472×associate-+l+
450×difference-of-squares
443×associate-*l*
439×div-inv
431×associate-*r*
367×associate-/l*
363×unpow-prod-down
346×distribute-lft-out--
339×pow-prod-down
332×prod-exp
331×log1p-expm1-u
329×expm1-log1p-u
328×insert-posit16
304×fma-neg
298×cbrt-unprod
296×pow-prod-up
294×log-prod
248×associate-/r*
223×swap-sqr associate-/r/
216×div-exp
212×distribute-rgt-neg-in
184×pow-sqr
163×flip-+ flip3-+
162×cbrt-undiv
159×unswap-sqr
154×pow-plus
144×distribute-lft-neg-in
143×pow-unpow
123×exp-sum sqr-pow fma-def
111×pow2
106×sqrt-div
101×flip-- flip3--
72×*-commutative
66×sqrt-pow1
65×frac-2neg clear-num diff-log
64×cbrt-div
60×pow1/2
58×sub-neg
57×associate-*r/
54×associate-*l/
53×frac-times
50×pow1/3 log-pow
48×neg-mul-1
41×tan-quot
39×associate-/l/
34×sum-log
32×pow-flip
29×1-exp
27×rem-sqrt-square fma-udef
26×rec-exp
23×pow-exp exp-prod
21×div-sub
19×+-commutative pow-to-exp rem-log-exp
16×log-div
15×frac-sub associate--l+ frac-add
12×inv-pow hypot-def
11×pow-pow
difference-of-sqr-1 hypot-udef
associate--l- sqrt-unprod
neg-sub0
neg-log
associate-+r+ log1p-def sin-mult
expm1-log1p expm1-udef cos-mult pow-div pow3 distribute-rgt-in associate--r+ rem-square-sqrt distribute-lft-in
sqr-cos rem-cbrt-cube
sin-sum distribute-frac-neg sqr-sin exp-to-pow +.c-commutative associate-+l- cos-sum tan-sum log1p-udef
exp-diff diff-atan cube-unmult log1p-expm1 sub-div un-div-inv sub0-neg diff-sin diff-cos expm1-def e-exp-1

localize4.1s

regimes3.8s

Accuracy

Total 26.0b remaining (19.6%)

4.8b81.2%quadp (p42, positive)
4.6b83.2%quad2m (problem 3.2.1, negative)
4.5b80.8%quad2p (problem 3.2.1, positive)
3.7b-7.9%expq3 (problem 3.4.2)
2.8b88%quadm (p42, negative)

bsearch3.1s

end1.0ms