Details

simplify41.9m

Calls

16968 calls:

Slowest
3.9s
(* (/ (* (/ (* (* 1 1) 1) (* (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)) (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))) (/ (* (* (* (/ 1 (fma 0.3275911 (fabs x) 1)) (/ 1 (fma 0.3275911 (fabs x) 1))) (/ 1 (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
2.6s
(* (/ (* (* (* (/ 1 (fma 0.3275911 (fabs x) 1)) (/ 1 (fma 0.3275911 (fabs x) 1))) (/ 1 (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))) (* (* (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x)))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))))
2.6s
(* (* (* (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x)))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))) (/ (* (/ (* (* 1 1) 1) (* (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)) (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
2.6s
(* (* (* (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x)))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))) (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))) (/ (* (* (* (/ 1 (fma 0.3275911 (fabs x) 1)) (/ 1 (fma 0.3275911 (fabs x) 1))) (/ 1 (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
2.4s
(* (/ (* (* (* (/ 1 (fma 0.3275911 (fabs x) 1)) (/ 1 (fma 0.3275911 (fabs x) 1))) (/ 1 (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))) (/ (* (* (* (/ 1 (fma 0.3275911 (fabs x) 1)) (/ 1 (fma 0.3275911 (fabs x) 1))) (/ 1 (fma 0.3275911 (fabs x) 1))) (* (* (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))

sample9.3m

Algorithm
89×intervals
Results
6.4m99400×body10240exit
1.0m389231×body80valid
38.4s26188×body1280valid
19.8s20044×body640valid
12.3s71197×body80nan
7.2s10710×body320valid
5.4s1636×body1280nan
5.0s9550×body160valid
3.7s1290×body640nan
2.3s41536×pre80true
1.2s1363×body2560valid
1.1s635×body5120valid
1.1s667×body320nan
367.0ms341×body160nan

rewrite7.6m

Algorithm
150×rewrite-expression-head
Calls

460 calls:

Slowest
1.3m
(* (/ 1 (exp (+ (- (- 1 z) -6) 0.5))) (+ (+ (/ 771.3234287776531 (+ (- 1 z) 2)) (+ (+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z))) (/ -176.6150291621406 (- 5 (+ z 1))))) (+ (+ (/ -0.13857109526572012 (- 7 (+ z 1))) (/ 12.507343278686905 (- 6 (+ z 1)))) (+ (/ 1.5056327351493116e-07 (- 9 (+ z 1))) (/ 9.984369578019572e-06 (- (- 1 z) -6))))))
1.2m
(* (/ 1 (exp (+ (- (- 1 z) -6) 0.5))) (+ (+ (/ 771.3234287776531 (+ (- 1 z) 2)) (+ (+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z))) (/ -176.6150291621406 (- 5 (+ z 1))))) (+ (+ (/ -0.13857109526572012 (- 7 (+ z 1))) (/ 12.507343278686905 (- 6 (+ z 1)))) (+ (/ 1.5056327351493116e-07 (- 9 (+ z 1))) (/ 9.984369578019572e-06 (- (- 1 z) -6))))))
49.0s
(- (log (+ (+ (+ (/ 771.3234287776531 (- 3 z)) (+ (+ (/ -176.6150291621406 (+ (+ (- 6 z) -1) -1)) (/ 676.5203681218851 (- 1 z))) (+ 0.9999999999998099 (/ -1259.1392167224028 (- 2 z))))) (/ 1.5056327351493116e-07 (- 8 z))) (+ (/ 9.984369578019572e-06 (- 7 z)) (+ (/ -0.13857109526572012 (- 6 z)) (/ 12.507343278686905 (+ (- 6 z) -1)))))) (+ 0.5 (- 7 z)))
46.6s
(* (/ 1 (exp (+ (- (- 1 z) -6) 0.5))) (+ (+ (/ 771.3234287776531 (+ (- 1 z) 2)) (+ (+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z))) (/ -176.6150291621406 (- 5 (+ z 1))))) (+ (+ (/ -0.13857109526572012 (- 7 (+ z 1))) (/ 12.507343278686905 (- 6 (+ z 1)))) (+ (/ 1.5056327351493116e-07 (- 9 (+ z 1))) (/ 9.984369578019572e-06 (- (- 1 z) -6))))))
29.1s
(* (* (/ 1 (sqrt (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))) (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (sqrt (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))))) x)
Rules
14379×*-un-lft-identity
10405×times-frac
6967×add-sqr-sqrt
5506×add-cube-cbrt
5008×distribute-lft-out
4073×pow1
2875×add-exp-log
2368×frac-add
2122×pow-prod-up
1725×add-cbrt-cube
1422×sqrt-prod
1162×prod-exp
979×flip-+ flip3-+
959×prod-diff
896×pow-plus
851×associate-*r*
834×associate-*l*
824×div-exp
713×associate-/l*
678×sqrt-pow1
673×add-log-exp
618×cbrt-prod
534×cbrt-unprod
505×pow-prod-down
500×div-inv
470×associate-/r*
467×distribute-lft-out--
461×expm1-log1p-u log1p-expm1-u
460×insert-posit16
419×associate-*r/
374×pow1/2
362×frac-times
353×associate-/r/
334×difference-of-squares pow-sqr
327×pow-exp
313×cbrt-undiv
307×unswap-sqr
289×swap-sqr
261×distribute-rgt-in distribute-lft-in
209×log-pow
197×pow2
191×fma-def
178×unpow-prod-down
177×associate-*l/
175×pow-to-exp
167×sqrt-div
158×1-exp rec-exp
154×flip3-- flip--
149×exp-sum
138×*-commutative fma-neg
135×log-prod
92×pow1/3
91×frac-2neg clear-num associate-/l/
85×cbrt-div
83×fma-udef
76×sub-neg
74×sum-log
71×cube-unmult
65×sqr-pow
64×log-div
63×associate--l-
52×diff-log
38×associate--l+
35×rem-sqrt-square
32×pow-div
29×distribute-rgt-out
27×+-commutative
25×exp-prod
23×associate-+l+ distribute-rgt1-in
22×frac-sub pow-flip
21×inv-pow
17×div-sub
15×associate-+r+
14×sqrt-unprod
12×associate-+l-
11×sin-sum associate--r+
10×rem-square-sqrt
pow-unpow hypot-def
rem-log-exp
pow3
pow-pow hypot-udef pow-sub
unpow-prod-up
exp-diff
associate-+r-
expm1-log1p expm1-udef distribute-lft1-in log1p-expm1 cos-sum associate--r- log1p-udef
neg-sub0 remove-posit16 neg-log un-div-inv distribute-rgt-out-- rem-exp-log sin-mult rem-cbrt-cube unsub-neg

prune4.9m

series1.3m

Calls

456 calls:

Slowest
1.3s
(pow (* (pow (log u1) 1.0) (pow -2 1.0)) 0.5)
1.2s
(expm1 (log1p (sqrt (* (fma (sqrt (hypot re im)) (sqrt (hypot re im)) re) 2.0))))
1.2s
(* (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x)))) (sqrt (/ (* (/ 1 (fma 0.3275911 (fabs x) 1)) (fma (fma (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) -0.284496736) (/ 1 (fma 0.3275911 (fabs x) 1)) 0.254829592)) (exp (* (fabs x) (fabs x))))))
1.1s
(/ 1 (* (pow -2 1.0) (pow (log u1) 1.0)))
1.1s
(/ 6 (pow (* -2 (log u1)) 0.5))

regimes8.5s

Accuracy

Total 33.3b remaining (27.5%)

8.8b16%_divideComplex, imaginary part
6.7b-7.5%Octave 3.8, jcobi/2
6.6b36.4%_divideComplex, real part
3.2b73.9%Octave 3.8, jcobi/1
2.7b0%Octave 3.8, jcobi/4

localize6.8s

bsearch2.1s

end1.0ms