Details

simplify56.8m

Calls

20433 calls:

Slowest
2.2s
(* (* (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (/ (/ (* (* (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592)) (* (* (+ 1 (* (fabs x) 0.3275911)) (+ 1 (* (fabs x) 0.3275911))) (+ 1 (* (fabs x) 0.3275911)))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
2.1s
(/ (* (* (- (* beta (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0)) (* (+ (+ alpha beta) 2.0) (- (* (/ alpha (+ (+ alpha beta) 2.0)) (/ alpha (+ (+ alpha beta) 2.0))) (* 1.0 1.0)))) (- (* beta (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0)) (* (+ (+ alpha beta) 2.0) (- (* (/ alpha (+ (+ alpha beta) 2.0)) (/ alpha (+ (+ alpha beta) 2.0))) (* 1.0 1.0))))) (- (* beta (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0)) (* (+ (+ alpha beta) 2.0) (- (* (/ alpha (+ (+ alpha beta) 2.0)) (/ alpha (+ (+ alpha beta) 2.0))) (* 1.0 1.0))))) (* (* (* 2.0 (* (+ (+ alpha beta) 2.0) (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0))) (* 2.0 (* (+ (+ alpha beta) 2.0) (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0)))) (* 2.0 (* (+ (+ alpha beta) 2.0) (+ (/ alpha (+ (+ alpha beta) 2.0)) 1.0)))))
1.9s
(* (* (* (/ (/ i 1) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (/ i 1) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))) (/ (/ i 1) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))) (* (* (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))) (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))))
1.9s
(- (pow 1 (/ 3 2)) (sqrt (pow (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) 3)))
1.8s
(* (/ (* (* (/ i 1) (/ i 1)) (/ i 1)) (* (* (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))) (* (* (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (+ (* (+ alpha beta) 1/4) (* 1/2 i)) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (+ (* (+ alpha beta) 1/4) (* 1/2 i)) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))) (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (+ (* (+ alpha beta) 1/4) (* 1/2 i)) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))))

rewrite5.5m

Algorithm
150×rewrite-expression-head
Calls

474 calls:

Slowest
29.7s
(* (/ (sqrt (+ (+ (+ (+ (+ 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)))) (sqrt (+ (+ (+ (+ (+ 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)))) (sqrt (+ (+ (+ (+ (+ 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))))))))) x)
28.6s
(* (/ 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)))))))
26.6s
(* (+ (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))) (+ (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))) (+ (+ (/ 771.3234287776531 (+ z 2)) (+ (/ 676.5203681218851 z) (+ 0.9999999999998099 (/ -1259.1392167224028 (- z -1))))) (/ -176.6150291621406 (+ z 3))))) (exp (- (+ (- z -6) 0.5))))
25.5s
(* (* (/ 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)
20.6s
(* (* (pow (+ (- z -6) 0.5) (- z (- 1 0.5))) (sqrt (* PI 2))) (* (+ (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))) (+ (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))) (+ (+ (/ 771.3234287776531 (+ z 2)) (+ (/ 676.5203681218851 z) (+ 0.9999999999998099 (/ -1259.1392167224028 (- z -1))))) (/ -176.6150291621406 (+ z 3))))) (exp (- (+ (- z -6) 0.5)))))
Rules
23442×*-un-lft-identity
18231×times-frac
9793×add-sqr-sqrt
9233×distribute-lft-out
7533×add-cube-cbrt
6307×sqrt-prod
3587×frac-add
3437×add-exp-log
3385×pow1
2293×add-cbrt-cube
2250×flip-+ flip3-+
2214×associate-*r*
2204×associate-*l/
1868×associate-*l*
1711×frac-times
1466×prod-exp
1233×pow-prod-up
1114×cbrt-div
892×associate-/l*
855×associate-*r/
827×associate-/r/
804×div-exp
758×cbrt-unprod
715×add-log-exp
701×div-inv
601×pow-plus
553×sqrt-pow1
552×difference-of-squares
529×cbrt-undiv
523×pow-prod-down
504×flip3-- flip--
474×insert-posit16
418×log-pow
395×swap-sqr
391×associate-/r*
387×cbrt-prod
375×unswap-sqr
373×sqrt-div
336×distribute-lft-out--
316×pow1/2
311×pow-sqr
300×unpow-prod-down
247×pow-exp
246×exp-diff exp-neg
245×pow-sub
243×neg-sub0
223×cube-prod
211×pow2
159×associate-/l/
157×*-commutative
138×pow1/3
123×pow-to-exp
105×sub-neg
91×diff-log
85×frac-2neg clear-num
82×log-prod
78×associate--l+
75×distribute-rgt-in distribute-lft-in
74×frac-sub
69×sqr-pow
61×rem-sqrt-square
53×cube-unmult
50×1-exp
42×sum-log div-sub
34×+-commutative
29×log-div
27×pow-unpow
25×rec-exp
17×associate--l- pow-pow exp-prod
15×difference-of-sqr-1
14×rem-cube-cbrt
13×exp-sum
12×pow-flip pow3 associate--r+
pow-div inv-pow
distribute-rgt-out rem-log-exp
sqrt-unprod cube-div un-div-inv
cube-mult rem-square-sqrt distribute-rgt1-in
sin-sum unpow3 sub-div rem-exp-log
associate-+l+ unpow-prod-up distribute-lft-neg-in distribute-rgt-neg-in associate-+l-
sqrt-undiv associate-+r+ difference-cubes sum-cubes exp-to-pow associate--r-
distribute-lft-neg-out sqrt-pow2 cos-sum neg-mul-1 distribute-rgt-out-- remove-posit16 distribute-neg-in unpow1/3

prune5.2m

sample3.7m

Algorithm
86×intervals
Results
1.2m23074×body10240exit
1.0m377648×body80valid
27.3s22851×body1280valid
13.8s18317×body640valid
11.9s70009×body80nan
5.9s1602×body1280nan
4.6s9242×body320valid
4.0s1340×body640nan
2.0s4923×body160valid
1.9s41536×pre80true
1.8s674×body320nan
1.2s1384×body2560valid
666.0ms613×body5120valid
368.0ms302×body160nan

series1.7m

Calls

474 calls:

Slowest
4.5s
(- (pow 1 3) (pow (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) 3))
3.7s
(- (pow 1 3) (* (sqrt (pow (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) 3)) (sqrt (pow (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) 3))))
3.4s
(* (/ (/ i 1) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (* (/ (/ (+ (+ alpha beta) i) (+ (+ alpha beta) (* 2 i))) (sqrt (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0)))))
3.1s
(+ (* (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x)))) (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))) (* 1 (/ (/ (+ (/ (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (+ 1 (* (fabs x) 0.3275911))) -1.453152027) (+ 1 (* (fabs x) 0.3275911))) 1.421413741) (+ 1 (* (fabs x) 0.3275911)))) (+ 1 (* (fabs x) 0.3275911))) 0.254829592) (+ 1 (* (fabs x) 0.3275911))) (exp (* (fabs x) (fabs x))))))
3.1s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2 i))) (- (+ (+ alpha beta) (* 2 i)) (sqrt 1.0))))

regimes12.5s

Accuracy

Total 91.4b remaining (42.9%)

12.8b53.4%math.sqrt on complex, real part
10.9b54%math.log10 on complex, real part
10.8b54.4%math.log/1 on complex, real part
10.2b54.1%math.abs on complex
9.9b40.2%math.sqrt on complex, imaginary part, im greater than 0 branch

localize8.0s

bsearch3.1s

end1.0ms