Details

rewrite18.3m (54.4%)

Algorithm
170×rewrite-expression-head
Calls

526 calls:

2.2m
(* (+ (+ (+ (+ (+ (/ 676.5203681218851 (- 1.0 z)) (/ -1259.1392167224028 (+ 2.0 (- z)))) (/ 771.3234287776531 (+ 3.0 (- z)))) 0.9999999999998099) (/ 12.507343278686905 (+ (- z) 5.0))) (+ (/ -176.6150291621406 (+ (- z) 4.0)) (+ (+ (/ -0.13857109526572012 (+ 6.0 (- z))) (/ 1.5056327351493116e-07 (+ 8.0 (- z)))) (/ 9.984369578019572e-06 (+ 7.0 (- z)))))) (sqrt (* 2.0 PI)))
1.7m
(* (+ (+ (+ (+ (+ (/ 676.5203681218851 (- 1.0 z)) (/ -1259.1392167224028 (+ 2.0 (- z)))) (/ 771.3234287776531 (+ 3.0 (- z)))) 0.9999999999998099) (/ 12.507343278686905 (+ (- z) 5.0))) (+ (/ -176.6150291621406 (+ (- z) 4.0)) (+ (+ (/ -0.13857109526572012 (+ 6.0 (- z))) (/ 1.5056327351493116e-07 (+ 8.0 (- z)))) (/ 9.984369578019572e-06 (+ 7.0 (- z)))))) (sqrt (* 2.0 PI)))
33.0s
(* (/ (sqrt 1.0) (sqrt 21.0)) (* (/ (sqrt 1.0) (sqrt 21.0)) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))
24.5s
(* (* (/ (+ (* (* (* x x) (* x x)) (+ (+ (* (* (* x x) (* (* x x) (* x x))) 0.0001789971) (* 0.0005064034 (* (* x x) (* x x)))) 0.0424060604)) (+ (* (* x x) 0.1049934947) (+ (* 0.0072644182 (* (* x x) (* (* x x) (* x x)))) 1.0))) (+ (pow 1.0 3) (pow (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442))) 3))) (+ (* 1.0 1.0) (- (* (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442))) (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442)))) (* 1.0 (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442))))))) x)
24.4s
(* (/ (+ (* (* (* x x) (* x x)) (+ (+ (* (* (* x x) (* (* x x) (* x x))) 0.0001789971) (* 0.0005064034 (* (* x x) (* x x)))) 0.0424060604)) (+ (* (* x x) 0.1049934947) (+ (* 0.0072644182 (* (* x x) (* (* x x) (* x x)))) 1.0))) (+ (pow 1.0 3) (pow (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442))) 3))) (+ (* 1.0 1.0) (- (* (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442))) (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442)))) (* 1.0 (+ (* (* x x) (+ (+ (* (* x x) 0.2909738639) (* 0.0694555761 (* (* x x) (* x x)))) 0.7715471019)) (* (* (* (* x x) (* x x)) (* (* x x) (* x x))) (+ (* (* x x) (+ 0.0008327945 (* 0.0001789971 (* (* x x) 2.0)))) 0.0140005442)))))))
Rules
20283×*-un-lft-identity
15563×times-frac
7701×add-sqr-sqrt
6209×distribute-lft-out
6119×add-cube-cbrt
5628×add-exp-log
3070×add-cbrt-cube
3028×prod-exp
2924×pow1
2259×sqrt-prod
2003×associate-*r/
1832×flip-+ flip3-+
1609×associate-*r*
1583×associate-*l*
1311×cbrt-unprod
1149×frac-times
1097×div-exp
1011×associate-*l/
960×distribute-rgt-neg-in
906×swap-sqr
895×frac-add
884×distribute-lft-out--
756×add-log-exp
737×pow-prod-down
695×cbrt-div
693×associate-/r/
688×associate-/r*
614×cbrt-undiv
576×associate-/l*
552×pow-prod-up
460×div-inv
392×cbrt-prod
366×unswap-sqr
330×pow-exp
317×sqrt-div
310×frac-sub
298×pow-plus
278×difference-of-squares
250×flip3-- flip--
228×log-pow
216×sqrt-pow1
180×*-commutative
172×pow-to-exp
169×log-prod
168×pow-sqr
154×unpow-prod-down
149×pow1/3
136×associate-/l/
110×pow2
100×pow1/2
94×distribute-rgt-in distribute-lft-in
91×sum-log frac-2neg clear-num
78×cube-prod
66×rem-sqrt-square
61×exp-sum
57×1-exp sub-neg
52×+-commutative
45×sqr-pow
42×diff-log
41×cube-unmult
40×exp-prod
31×div-sub
29×rec-exp
28×pow3
18×log-div
15×pow-unpow associate--l+
14×associate-+l+
13×associate--r+ distribute-lft-neg-in
12×sub-div rem-log-exp
11×sum-cubes
exp-diff distribute-rgt-out
associate-+r+ associate-+l- cube-div
associate-+r- pow-sub
unpow-prod-up pow-pow un-div-inv rem-exp-log rem-cbrt-cube
pow-flip inv-pow difference-cubes distribute-rgt1-in
neg-sub0 sin-sum rem-cube-cbrt cos-sum
exp-neg unpow3 cube-mult associate--r-
sqrt-undiv distribute-neg-frac unsub-neg
associate--l- distribute-rgt-out-- distribute-rgt-neg-out sqrt-unprod neg-mul-1 rem-square-sqrt count-2 distribute-neg-in unpow1/3

simplify6.7m (19.8%)

sample3.3m (9.8%)

Algorithm
99×intervals
Results
54.3s459403×body80valid
51.5s12220×body10240exit
23.8s27609×body1280valid
14.5s21307×body640valid
8.5s68964×body80nan
4.4s10566×body320valid
4.1s1645×body1280nan
2.5s9559×body160valid
2.4s1398×body640nan
2.2s49536×pre80true
933.0ms1531×body2560valid
515.0ms602×body320nan
425.0ms597×body5120valid
229.0ms337×body160nan

prune2.6m (7.7%)

series2.2m (6.7%)

Calls

524 calls:

18.5s
(- (* 1.0 1.0) (* (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x)))))))
11.3s
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (log (/ (exp 0.254829592) (exp (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))))) (exp (- (* (fabs x) (fabs x))))))
8.2s
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))))
3.6s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))))
2.9s
(* (/ (/ (* i (+ (+ alpha beta) i)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0))) (sqrt (/ (/ (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (+ alpha beta) (* 2.0 i))) (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)))))

regimes18.0s (0.9%)

Accuracy

Total 99.3b remaining (36.1%)

Threshold costs 3.7b (1.3%)

12.9b54%math.sqrt on complex, imaginary part, im greater than 0 branch
12.8b56.5%math.sqrt on complex, real part
10.8b56.1%math.log/2 on complex, real part
10.2b58.6%math.log10 on complex, real part
9.9b59.4%math.log/1 on complex, real part

localize11.3s (0.6%)

bsearch2.9s (0.1%)

end1.0ms (0.0%)