Details

simplify21.2m (44.5%)

prune9.4m (19.8%)

rewrite5.9m (12.4%)

Algorithm
170×rewrite-expression-head
Calls

532 calls:

3.0m
(* (/ (pow (+ 0.5 (+ z 6)) (- z (- 1 0.5))) (exp (+ 0.5 (+ z 6)))) (* (sqrt (* PI 2)) (+ (+ (+ (/ 9.984369578019572e-06 (+ z 6)) (/ 1.5056327351493116e-07 (+ z 7))) (+ (/ 12.507343278686905 (+ 4 z)) (+ (+ (+ (+ (/ -176.6150291621406 (+ z 3)) 0.9999999999998099) (/ -1259.1392167224028 (+ 1 z))) (/ 771.3234287776531 (+ 2 z))) (/ 676.5203681218851 z)))) (/ -0.13857109526572012 (- z -5)))))
27.5s
(* (* d1 (* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1)) d1)
16.8s
(* (/ (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))))) (/ (+ (+ (+ (+ (+ (+ 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)
16.4s
(* (/ (+ (+ (+ (+ (+ 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)))) (+ (+ (+ (+ (+ (+ 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)
14.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))))) (* (/ 1 (/ (+ (+ (+ (+ (+ (+ 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))
Rules
211657×*-un-lft-identity
189842×times-frac
94854×distribute-lft-out
59238×add-sqr-sqrt
56479×add-cube-cbrt
45050×sqrt-prod
24040×frac-times
15989×associate-*r/
10324×flip-+ flip3-+
9528×associate-*l/
7581×exp-neg
6842×frac-add
6592×associate-/r/
6504×exp-diff
6498×neg-sub0
6462×pow1
3916×add-exp-log
3381×div-inv
3180×sqrt-div
2964×pow-prod-up
2898×add-cbrt-cube
1887×associate-/r*
1877×prod-exp
1470×pow-plus
1462×associate-*l*
1273×associate-*r*
1260×cbrt-unprod
1165×pow-prod-down
1107×un-div-inv
1006×difference-of-squares
809×add-log-exp
808×associate-/l*
759×div-exp
643×unpow-prod-down
540×pow-sqr
532×insert-posit16
521×cbrt-prod
510×distribute-lft-out--
493×sqrt-pow1
449×cbrt-undiv
429×pow2
426×cube-prod
367×sqr-pow
358×cbrt-div
311×unswap-sqr
231×swap-sqr
211×log-pow
190×pow1/3
179×1-exp
177×flip3-- rec-exp flip--
169×*-commutative
119×unpow-prod-up pow1/2
113×sum-log
110×associate-/l/
100×sub-neg
93×exp-sum
92×frac-2neg clear-num
86×log-prod
84×cube-unmult
81×distribute-rgt-in distribute-lft-in
73×pow3
69×rem-sqrt-square
55×+-commutative
48×pow-flip diff-log
47×pow-exp
46×associate--l+
39×inv-pow
38×frac-sub
34×exp-prod
32×associate--r-
29×pow-to-exp
24×div-sub
21×log-div
18×cube-div
15×pow-unpow
12×associate-+l+ associate--r+
11×sin-sum pow-pow
10×distribute-rgt-out
rem-log-exp cube-mult
associate-+r+ distribute-rgt1-in
associate-+l- pow-sub
associate--l-
rem-cube-cbrt remove-posit16 difference-of-sqr-1
associate-+r- difference-cubes rem-exp-log
sqrt-undiv pow-div rem-cbrt-cube
remove-double-div unpow3 sqrt-unprod rem-square-sqrt cos-sum count-2

sample5.4m (11.4%)

Algorithm
98×intervals
Results
1.7m15765×body10240exit
1.5m462219×body80valid
45.6s30461×body1280valid
23.7s23826×body640valid
12.0s3115×body1280nan
11.1s70532×body80nan
8.6s11700×body320valid
7.6s2621×body640nan
3.1s1241×body320nan
2.7s6060×body160valid
1.7s41536×pre80true
1.3s1439×body2560valid
1.0s592×body5120valid
732.0ms615×body160nan

series5.2m (10.9%)

Calls

528 calls:

18.0s
(- (pow 1 3) (/ (pow (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (- (* 0.254829592 0.254829592) (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))) 3) (pow (- 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429)))))))) 3)))
4.0s
(- (pow 1 3) (pow (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))) 3))
3.7s
(+ (* (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))) (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))) (* 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))
3.1s
(* (/ (/ i (/ (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) 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))))
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))))

regimes13.3s (0.5%)

Accuracy

Total 102.4b remaining (45.7%)

Threshold costs 4.6b (2%)

19.2b44.9%math.sqrt on complex, imaginary part, im greater than 0 branch
10.4b36%Octave 3.8, jcobi/4
9.9b57.8%math.log10 on complex, real part
9.7b58.4%math.log/1 on complex, real part
9.6b56.1%math.abs on complex

localize8.8s (0.3%)

bsearch3.7s (0.1%)

end1.0ms (0.0%)