Details

simplify5.9m (43.9%)

rewrite2.9m (21.7%)

Algorithm
159×rewrite-expression-head
Calls

461 calls:

56.7s
(* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp (+ (+ (- z 1.0) 7.0) 0.5))) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099))))))
44.9s
(* (* (/ (* (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5)) (sqrt (* PI 2.0))) (exp z)) (exp (- (- 1.0 7.0) 0.5))) (+ (+ (+ (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0)) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (+ (/ -176.6150291621406 (+ (- z 1.0) 4.0)) (+ (+ (/ -0.13857109526572012 (+ (- z 1.0) 6.0)) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (+ (/ 676.5203681218851 z) (+ (/ -1259.1392167224028 (+ (- z 1.0) 2.0)) 0.9999999999998099))))))
15.5s
(+ (/ -1259.1392167224028 (+ (- z) 2.0)) (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))) (/ -176.6150291621406 (+ 4.0 (- z)))) (/ 771.3234287776531 (+ 3.0 (- z)))) (+ (/ 12.507343278686905 (+ 5.0 (- z))) (+ (/ 1.5056327351493116e-07 (+ 8.0 (- z))) (+ (/ 9.984369578019572e-06 (+ (- z) 7.0)) (/ -0.13857109526572012 (+ 6.0 (- z))))))))
15.1s
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x)
8.5s
(/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))
Rules
25466×times-frac
18882×*-un-lft-identity
14341×add-sqr-sqrt
12495×add-cube-cbrt
7739×sqrt-prod
3059×distribute-lft-out
2680×add-exp-log
2169×frac-add
2032×add-cbrt-cube
1783×associate-*r*
1568×associate-/l*
1536×pow1
1131×prod-diff
989×associate-*l*
964×prod-exp
824×flip-+ flip3-+
757×cbrt-prod
686×cbrt-unprod
666×add-log-exp
639×div-inv
617×div-exp
609×associate-/r*
534×difference-of-squares
528×frac-times
525×associate-*r/
494×pow-prod-down
462×log1p-expm1-u
461×expm1-log1p-u
431×unpow-prod-down
405×cbrt-undiv
359×distribute-lft-out--
326×distribute-rgt-in distribute-lft-in
295×unswap-sqr
291×associate-/r/
208×associate-*l/
198×log-pow
194×sqrt-div
188×exp-sum
173×exp-diff
161×cube-prod
153×associate--l+
152×swap-sqr
139×*-commutative
124×sqrt-pow1
117×sqr-pow
115×flip3-- clear-num fma-neg frac-2neg flip--
108×pow-exp
104×sum-log
102×fma-def
97×exp-prod
92×cbrt-div
90×pow1/3
83×fma-udef
79×associate-/l/
74×pow-to-exp
72×rec-exp sub-neg 1-exp
62×pow1/2
60×log-prod
56×pow-flip
50×pow-prod-up
49×pow-unpow
37×diff-log
36×pow-sqr
26×pow-pow inv-pow
25×pow-plus
22×rem-sqrt-square unpow3 cube-mult
19×unpow2
18×distribute-rgt-neg-in div-sub
17×pow2
15×rem-cube-cbrt
14×cube-div +-commutative
13×associate-+l-
10×associate--r+
sin-sum
un-div-inv
distribute-lft-neg-in pow-sub associate-+l+
sqrt-unprod rem-log-exp associate--l-
cos-sum distribute-neg-in unpow-prod-up
sqrt-undiv associate-+r- unsub-neg neg-sub0
pow3 associate-+r+ hypot-def distribute-rgt-out-- neg-mul-1 distribute-rgt-neg-out log-div
sum-cubes log1p-udef log1p-expm1 expm1-log1p rem-square-sqrt neg-log associate--r- rem-cbrt-cube expm1-udef

sample1.9m (14.5%)

Algorithm
100×intervals
Results
46.6s15632×body10240exit
20.6s484854×body80valid
13.6s30655×body1280valid
6.4s23092×body640valid
2.5s3043×body1280nan
2.4s70005×body80nan
2.0s11729×body320valid
1.5s2477×body640nan
1.1s10026×body160valid
607.0ms49536×pre80true
560.0ms1297×body320nan
344.0ms1489×body2560valid
179.0ms624×body160nan
135.0ms620×body5120valid

prune1.4m (10.4%)

series1.1m (8.3%)

Calls

461 calls:

2.3s
(* (/ i (* (+ (sqrt 1.0) (fma 2.0 i (+ alpha beta))) (/ (fma 2.0 i (+ alpha beta)) (sqrt (fma beta alpha (* i (+ (+ alpha beta) i))))))) (/ (/ (+ (+ alpha beta) i) (/ (fma 2.0 i (+ alpha beta)) (sqrt (fma beta alpha (* i (+ (+ alpha beta) i)))))) (- (fma 2.0 i (+ alpha beta)) (sqrt 1.0))))
1.7s
(fma -1259.1392167224028 (* (fma (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ 771.3234287776531 (- 3.0 z)) (- (/ 771.3234287776531 (- 3.0 z)) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))))))) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z)))))) (* (+ (- z) 2.0) (fma (+ (pow (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) 3) (pow (/ 771.3234287776531 (- 3.0 z)) 3)) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (fma (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ 771.3234287776531 (- 3.0 z)) (- (/ 771.3234287776531 (- 3.0 z)) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))))))) (+ (pow (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) 3) (pow (/ 12.507343278686905 (- 5.0 z)) 3))))))
1.7s
(fma -1259.1392167224028 (* (fma (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ 771.3234287776531 (- 3.0 z)) (- (/ 771.3234287776531 (- 3.0 z)) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))))))) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z)))))) (* (+ (- z) 2.0) (fma (+ (pow (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) 3) (pow (/ 771.3234287776531 (- 3.0 z)) 3)) (fma (/ 12.507343278686905 (- 5.0 z)) (/ 12.507343278686905 (- 5.0 z)) (* (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (- (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) (/ 12.507343278686905 (- 5.0 z))))) (* (fma (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z)))) (* (/ 771.3234287776531 (- 3.0 z)) (- (/ 771.3234287776531 (- 3.0 z)) (+ (/ -176.6150291621406 (- 4.0 z)) (+ 0.9999999999998099 (/ 676.5203681218851 (- 1.0 z))))))) (+ (pow (+ (+ (/ 1.5056327351493116e-07 (- 8.0 z)) (/ 9.984369578019572e-06 (+ (- z) 7.0))) (/ -0.13857109526572012 (- 6.0 z))) 3) (pow (/ 12.507343278686905 (- 5.0 z)) 3))))))
867.0ms
(- (fma (exp (- (pow (fabs x) 2))) (+ (/ 1.453152027 (pow (fma (fabs x) 0.3275911 1.0) 4)) (/ 0.284496736 (pow (fma (fabs x) 0.3275911 1.0) 2))) 1.0) (fma (exp (- (pow (fabs x) 2))) (+ (/ 1.061405429 (pow (fma 0.3275911 (fabs x) 1.0) 5)) (/ 0.254829592 (fma (fabs x) 0.3275911 1.0))) (/ 1.421413741 (* (pow (fma (fabs x) 0.3275911 1.0) 3) (exp (pow (fabs x) 2))))))
855.0ms
(/ (/ (* i (+ (+ alpha beta) i)) (/ (* (fma 2.0 i (+ alpha beta)) (fma 2.0 i (+ alpha beta))) (fma beta alpha (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0))

regimes5.4s (0.7%)

Accuracy

Total 29.4b remaining (21.4%)

Threshold costs 7.0b (5.1%)

8.1b33.1%_divideComplex, imaginary part
7.3b34.8%_divideComplex, real part
3.3b74.6%Octave 3.8, jcobi/1
2.4b35.9%Octave 3.8, jcobi/4
1.3b49.7%Octave 3.8, jcobi/3

localize2.7s (0.3%)

bsearch1.1s (0.1%)

end1.0ms (0.0%)