Details

simplify57.5m

Calls

21112 calls:

Slowest
2.1s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i)) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))))
1.9s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma (+ (+ alpha beta) i) i (* beta alpha))) (fma (+ (+ alpha beta) i) i (* beta alpha))) (* (* (* (+ (+ alpha beta) i) i) (* (+ (+ alpha beta) i) i)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))))
1.8s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma (+ (+ alpha beta) i) i (* beta alpha))) (fma (+ (+ alpha beta) i) i (* beta alpha))) (* (* (* (+ (+ alpha beta) i) i) (* (+ (+ alpha beta) i) i)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta))) (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta)))))
1.8s
(* (sqrt PI) (* (+ (* (+ (* 2 (fabs x)) (* (* (* (fabs x) (fabs x)) (fabs x)) 2/3)) (+ (* 2 (fabs x)) (* (* (* (fabs x) (fabs x)) (fabs x)) 2/3))) (- (* (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (+ (* 2 (fabs x)) (* (* (* (fabs x) (fabs x)) (fabs x)) 2/3)) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))) (sqrt 21)))
1.7s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i)) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta))) (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta)))))

sample9.2m

Algorithm
86×intervals
Results
6.4m100064×body10240exit
57.5s370206×body80valid
36.3s26060×body1280valid
21.0s20460×body640valid
11.5s69108×body80nan
8.1s10876×body320valid
5.7s1629×body1280nan
4.0s1344×body640nan
2.2s5800×body160valid
1.8s33536×pre80true
1.7s1424×body2560valid
1.1s661×body320nan
528.0ms624×body5120valid
408.0ms334×body160nan

rewrite6.9m

Algorithm
142×rewrite-expression-head
Calls

432 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.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))))))
40.3s
(* (+ (/ 12.507343278686905 (+ z 4)) (+ (+ (+ (/ 771.3234287776531 (+ z 2)) (+ (/ 676.5203681218851 z) (+ 0.9999999999998099 (/ -1259.1392167224028 (- z -1))))) (/ -176.6150291621406 (+ z 3))) (/ -0.13857109526572012 (- z -5)))) (* (* (pow (+ (+ 7 (- z 1)) 0.5) (- z 1)) (* (pow (+ (+ 7 (- z 1)) 0.5) 0.5) (* (sqrt PI) (sqrt 2)))) (exp (- (+ (+ 7 (- z 1)) 0.5)))))
25.2s
(* (/ 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))
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)
Rules
93622×add-exp-log
69751×prod-exp
26627×frac-times
25374×div-exp
18442×*-un-lft-identity
16912×times-frac
16628×associate-*r/
12419×1-exp rec-exp
12071×associate-*l/
11176×add-sqr-sqrt
8184×frac-add
8051×flip-+ flip3-+
8003×add-cube-cbrt
7620×exp-neg
6535×exp-diff
6524×neg-sub0
6058×add-cbrt-cube
5667×distribute-lft-out
4665×pow1
3434×cbrt-unprod
2214×cbrt-div
2212×sqrt-prod
1608×associate-*l*
1461×pow-prod-down
1414×pow-prod-up
1350×prod-diff
1261×un-div-inv
1250×associate-*r*
1218×cbrt-undiv
973×difference-of-squares
874×flip3-- flip--
773×pow-plus
735×associate-/l*
661×associate-/r*
653×div-inv
629×add-log-exp
519×distribute-lft-out--
510×cbrt-prod
433×expm1-log1p-u log1p-expm1-u
432×insert-posit16
421×associate-/r/
337×unswap-sqr
312×pow-sqr
290×distribute-rgt-in distribute-lft-in
242×swap-sqr
203×pow2
189×sqrt-pow1
186×unpow-prod-down
168×fma-def
157×fma-neg log-pow
151×*-commutative
142×exp-sum
97×associate-+l+ sqr-pow
89×pow1/3
88×pow1/2
87×frac-2neg clear-num
84×sum-log
74×associate-/l/
72×pow-exp
69×associate--r+
68×log-prod
62×fma-udef
54×cube-unmult
53×sqrt-div sub-neg exp-prod
48×pow-to-exp
46×associate-+r+
44×cube-prod pow-sub
39×+-commutative
32×pow-div
29×diff-log
27×rem-sqrt-square
26×frac-sub
24×pow-flip
23×cube-mult inv-pow
22×pow-unpow unpow3
18×cube-div distribute-rgt-out
17×pow3 div-sub
14×distribute-rgt1-in
12×associate-+l-
11×sin-sum
pow-pow log-div
rem-log-exp hypot-def
unpow-prod-up sqrt-unprod associate--l+
rem-cube-cbrt rem-square-sqrt
associate--r-
expm1-log1p expm1-udef log1p-expm1 rem-cbrt-cube log1p-udef
distribute-lft1-in sin-mult associate-+r- difference-cubes distribute-rgt-out-- rem-exp-log cos-sum

prune5.5m

series1.5m

Calls

432 calls:

Slowest
4.2s
(- (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.8s
(+ (* (* (* (/ 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.0s
(* (/ 1 (/ (+ (fma 2 i (+ alpha beta)) (sqrt 1.0)) (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))))) (/ (/ (+ (+ alpha beta) i) (/ (fma 2 i (+ alpha beta)) i)) (- (fma 2 i (+ alpha beta)) (sqrt 1.0))))
3.0s
(* (/ 1 (/ (+ (fma 2 i (+ alpha beta)) (sqrt 1.0)) (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))))) (/ (/ (* (+ (+ alpha beta) i) i) (fma 2 i (+ alpha beta))) (- (fma 2 i (+ alpha beta)) (sqrt 1.0))))
1.2s
(expm1 (log1p (/ (pow (* -2 (log u1)) 0.5) 6)))

regimes7.0s

Accuracy

Total 35.4b remaining (32.8%)

10.0b25.8%_divideComplex, real part
8.6b18.6%_divideComplex, imaginary part
5.7b8.6%Octave 3.8, jcobi/2
2.9b77.4%Octave 3.8, jcobi/1
2.2b23.2%math.cos on complex, imaginary part

localize6.6s

bsearch1.3s

end1.0ms