Details

simplify27.1m

Calls

16368 calls:

Slowest
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
(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.4s
(/ (* (* (* (sin x) (/ (sin x) x)) (* (sin x) (/ (sin x) x))) (* (sin x) (/ (sin x) x))) (* (* (* (+ (cos x) 1) x) (* (+ (cos x) 1) x)) (* (+ (cos x) 1) x)))
1.4s
(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.3s
(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))))))))) (- (* (cbrt (/ (sin x) (cos x))) (* (cbrt (/ (sin x) (cos x))) (cbrt (/ (sin x) (cos x)))))))

sample5.0m

Algorithm
56×intervals
16×halfpoints
Results
1.1m66512×body1280valid
39.5s16978×body2560valid
26.2s42491×body640valid
13.1s12661×body10240exit
11.8s93713×body80valid
8.6s21110×body320valid
6.7s63554×body80nan
3.5s10954×body160valid
1.9s47441×pre80true
537.0ms478×body5120valid
498.0ms621×body1280nan
389.0ms679×body640nan
122.0ms388×body320nan
36.0ms196×body160nan

prune2.7m

series39.1s

Calls

360 calls:

Slowest
1.8s
(- (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.1s
(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)))
825.0ms
(log (exp (* (cbrt (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))) (cbrt (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))))))
741.0ms
(/ (- x (sin x)) (fma (* (cbrt x) (cbrt x)) (cbrt x) (- (tan x))))
653.0ms
(cbrt (* (/ (/ (expm1 (* (+ b a) eps)) (/ (expm1 (* eps a)) eps)) (expm1 (* eps b))) (* (/ (/ (expm1 (* (+ b a) eps)) (/ (expm1 (* eps a)) eps)) (expm1 (* eps b))) (/ (/ (expm1 (* (+ b a) eps)) (/ (expm1 (* eps a)) eps)) (expm1 (* eps b))))))

rewrite9.5s

Algorithm
115×rewrite-expression-head
Calls

360 calls:

Slowest
229.0ms
(+ (- (/ 1 (+ x 1)) (/ 2 x)) (/ 1 (- x 1)))
202.0ms
(cbrt (* (* (* (expm1 (* a x)) (expm1 (* a x))) (expm1 (* a x))) (* (exp (log (* (expm1 (* a x)) (expm1 (* a x))))) (expm1 (* a x)))))
151.0ms
(* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) (/ 1 a))
149.0ms
(* (/ 1 a) (- (+ b_2 (sqrt (- (* b_2 b_2) (* a c))))))
131.0ms
(/ (- (sqrt (- (* b_2 b_2) (* a c))) b_2) a)
Rules
7841×*-un-lft-identity
7344×add-sqr-sqrt
7287×times-frac
5598×add-cube-cbrt
2920×prod-diff
2089×sqrt-prod
1567×pow1
1284×add-exp-log
1139×add-cbrt-cube
668×unpow-prod-down
664×distribute-lft-out
638×difference-of-squares
580×associate-*l*
547×add-log-exp
472×distribute-lft-out--
456×associate-/r*
455×associate-*r*
425×div-inv
373×associate-/l*
361×fma-neg
359×log1p-expm1-u
354×expm1-log1p-u insert-posit16
324×pow-prod-down
323×prod-exp
295×cbrt-unprod
279×div-exp
274×pow-prod-up
258×associate-+l+
257×associate-/r/
247×swap-sqr
222×sqr-pow
202×cbrt-undiv
200×log-prod
194×distribute-rgt-neg-in
170×unswap-sqr
168×cbrt-prod
162×pow-sqr
148×sqrt-pow1
145×flip-+ flip3-+
127×sqrt-div
122×pow-plus
118×flip3-- flip--
113×distribute-lft-neg-in
107×fma-def
105×associate-*r/
103×pow1/2
95×tan-quot
91×pow2
88×log-pow
85×*-commutative
81×frac-times
75×associate-*l/
71×diff-log
70×sub-neg
67×exp-sum
65×pow-unpow
64×frac-2neg clear-num
53×exp-prod
39×associate-/l/
38×pow-flip 1-exp
37×neg-mul-1
36×pow1/3
35×rec-exp rem-sqrt-square
28×sum-log
27×inv-pow
23×fma-udef
22×div-sub
21×log-div
19×+-commutative
17×cbrt-div
16×rem-log-exp
15×frac-add
11×associate--l+
10×pow-exp distribute-rgt-in associate--l- pow-to-exp distribute-lft-in
neg-sub0 pow3 difference-of-sqr-1 sqrt-unprod rem-cbrt-cube
expm1-udef frac-sub distribute-neg-frac
exp-diff sin-mult associate--r+
expm1-log1p neg-log sqr-sin pow-pow
exp-neg exp-to-pow rem-square-sqrt
associate-+r+ cube-unmult rem-exp-log associate-+l- hypot-def
sin-sum log1p-expm1 log1p-udef +.c-commutative un-div-inv tan-sum log1p-def cos-sum distribute-neg-in
distribute-lft-neg-out diff-atan cos-mult exp-sqrt distribute-rgt-neg-out hypot-udef diff-sin diff-cos expm1-def distribute-rgt-out--

localize5.0s

regimes4.4s

Accuracy

Total 25.6b remaining (23%)

5.5b80.6%quadp (p42, positive)
4.1b85.4%quadm (p42, negative)
4.0b85.8%quad2m (problem 3.2.1, negative)
3.5b87.6%quad2p (problem 3.2.1, positive)
3.3b-0.7%expq3 (problem 3.4.2)

bsearch3.4s

end1.0ms