Details

simplify1.1hr

Calls

22243 calls:

Slowest
2.3s
(/ (* (* (* (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)))))
2.2s
(/ (* (* (* (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)))))
2.1s
(* (* (* (+ (+ (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) 0.9999999999998099) (/ -1259.1392167224028 (- z -1))) (/ 676.5203681218851 z)) (/ -176.6150291621406 (+ 3 z))) (+ (+ (/ 12.507343278686905 (+ z 4)) (/ -0.13857109526572012 (- z -5))) (/ 1.5056327351493116e-07 (+ z 7)))) (/ 9.984369578019572e-06 (+ z 6))) (pow (- (+ z 0.5) -6) (+ 0.5 (+ -1 z)))) (* (+ (+ (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) 0.9999999999998099) (/ -1259.1392167224028 (- z -1))) (/ 676.5203681218851 z)) (/ -176.6150291621406 (+ 3 z))) (+ (+ (/ 12.507343278686905 (+ z 4)) (/ -0.13857109526572012 (- z -5))) (/ 1.5056327351493116e-07 (+ z 7)))) (/ 9.984369578019572e-06 (+ z 6))) (pow (- (+ z 0.5) -6) (+ 0.5 (+ -1 z))))) (* (+ (+ (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) 0.9999999999998099) (/ -1259.1392167224028 (- z -1))) (/ 676.5203681218851 z)) (/ -176.6150291621406 (+ 3 z))) (+ (+ (/ 12.507343278686905 (+ z 4)) (/ -0.13857109526572012 (- z -5))) (/ 1.5056327351493116e-07 (+ z 7)))) (/ 9.984369578019572e-06 (+ z 6))) (pow (- (+ z 0.5) -6) (+ 0.5 (+ -1 z)))))
2.1s
(* (* (* (* (/ (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))) (+ (fma 2 i (+ alpha beta)) (sqrt 1.0))) (/ (/ (+ (+ alpha beta) i) (sqrt (fma 2 i (+ alpha beta)))) 1)) (* (/ (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))) (+ (fma 2 i (+ alpha beta)) (sqrt 1.0))) (/ (/ (+ (+ alpha beta) i) (sqrt (fma 2 i (+ alpha beta)))) 1))) (* (/ (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))) (+ (fma 2 i (+ alpha beta)) (sqrt 1.0))) (/ (/ (+ (+ alpha beta) i) (sqrt (fma 2 i (+ alpha beta)))) 1))) (/ (/ (* (* i i) i) (* (* (sqrt (fma 2 i (+ alpha beta))) (sqrt (fma 2 i (+ alpha beta)))) (sqrt (fma 2 i (+ alpha beta))))) (* (* (- (fma 2 i (+ alpha beta)) (sqrt 1.0)) (- (fma 2 i (+ alpha beta)) (sqrt 1.0))) (- (fma 2 i (+ alpha beta)) (sqrt 1.0)))))
1.9s
(* (* (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))) (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))) (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))))

sample9.2m

Algorithm
89×intervals
Results
6.4m100341×body10240exit
1.2m395340×body80valid
25.9s22306×body1280valid
15.7s17664×body640valid
11.9s70193×body80nan
6.2s1507×body1280nan
4.5s9535×body320valid
3.9s9102×body160valid
3.2s1255×body640nan
1.9s41536×pre80true
1.7s666×body320nan
1.2s1384×body2560valid
568.0ms657×body5120valid
444.0ms322×body160nan

rewrite4.8m

Algorithm
146×rewrite-expression-head
Calls

432 calls:

Slowest
2.2m
(* (+ (+ (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) 0.9999999999998099) (/ -1259.1392167224028 (- z -1))) (/ 676.5203681218851 z)) (/ -176.6150291621406 (+ 3 z))) (+ (+ (/ 12.507343278686905 (+ z 4)) (/ -0.13857109526572012 (- z -5))) (/ 1.5056327351493116e-07 (+ z 7)))) (/ 9.984369578019572e-06 (+ z 6))) (pow (- (+ z 0.5) -6) (+ 0.5 (+ -1 z))))
2.1m
(* (* (+ (+ (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) 0.9999999999998099) (/ -1259.1392167224028 (- z -1))) (/ 676.5203681218851 z)) (/ -176.6150291621406 (+ 3 z))) (+ (+ (/ 12.507343278686905 (+ z 4)) (/ -0.13857109526572012 (- z -5))) (/ 1.5056327351493116e-07 (+ z 7)))) (/ 9.984369578019572e-06 (+ z 6))) (pow (- (+ z 0.5) -6) (+ 0.5 (+ -1 z)))) (/ (sqrt (* PI 2)) (exp (- (+ z 0.5) -6))))
2.5s
(+ (+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z))) (/ -176.6150291621406 (- 5 (+ z 1))))
2.4s
(* (* (* (* (* d1 (* d1 d1)) d1) d1) (* d1 d1)) d1)
1.8s
(* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))
Rules
31359×*-un-lft-identity
27585×times-frac
12591×add-sqr-sqrt
11111×add-cube-cbrt
10919×distribute-lft-out
6120×sqrt-prod
2733×add-exp-log
2579×pow1
1786×add-cbrt-cube
1771×prod-diff
1083×associate-*r*
1012×prod-exp
855×distribute-lft-out--
836×pow-prod-up
817×associate-*l*
796×div-exp
751×div-inv
629×distribute-rgt-in distribute-lft-in
623×add-log-exp
621×frac-add
603×associate-/r*
577×associate-/r/
559×cbrt-unprod
498×associate-/l*
496×flip-+ flip3-+
452×pow-prod-down
444×pow-plus
433×log1p-expm1-u
432×expm1-log1p-u insert-posit16
401×exp-sum
387×cbrt-prod
374×difference-of-squares
371×cbrt-undiv
366×associate-*l/
272×unswap-sqr
241×pow-exp
227×sqrt-pow1
214×log-prod
201×swap-sqr
197×fma-neg
187×log-pow
179×associate--l+ fma-def
178×1-exp
170×pow-sqr
157×rec-exp
150×unpow-prod-down
147×flip3-- flip--
137×*-commutative
135×associate-*r/
131×frac-times
127×pow2
123×sqrt-div
114×pow-to-exp pow1/2
92×pow1/3
91×sub-neg
84×frac-2neg clear-num
81×cbrt-div
76×associate--r+
73×fma-udef
66×sum-log exp-prod
64×sqr-pow
52×associate-/l/
49×cube-unmult
46×pow-flip
45×diff-log
36×rem-sqrt-square
32×pow-div
31×inv-pow
28×cube-prod
25×+-commutative
23×distribute-rgt1-in distribute-rgt-out
19×pow3
15×associate--r-
14×exp-diff div-sub log-div
12×associate-+l+ hypot-def
10×sin-sum rem-log-exp
unpow3 cube-mult
un-div-inv
associate-+r+ associate-+l-
frac-sub sqrt-unprod pow-unpow
distribute-lft1-in difference-cubes
unpow-prod-up pow-pow
associate--l- rem-exp-log rem-square-sqrt rem-cbrt-cube pow-sub
difference-of-sqr-1 exp-neg cos-sum sin-mult expm1-def
neg-sub0 expm1-log1p expm1-udef log1p-expm1 log1p-udef

prune4.7m

series1.5m

Calls

432 calls:

Slowest
10.2s
(* (/ (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))) (+ (fma 2 i (+ alpha beta)) (sqrt 1.0))) (sqrt (/ (/ (* (+ (+ alpha beta) i) i) (fma 2 i (+ alpha beta))) (- (fma 2 i (+ alpha beta)) (sqrt 1.0)))))
2.3s
(- (* (* d1 (- d2 (- d3 d4))) (* (* d1 (- d2 (- d3 d4))) (* d1 (- d2 (- d3 d4))))) (* (* (* d1 d1) d1) (* (* d1 d1) d1)))
1.5s
(/ (pow (* -2 (log u1)) 0.5) 6)
1.4s
(fma (pow (* (pow (log u1) 1.0) (pow -2 1.0)) 0.5) (- 1/6 (* (* (* u2 PI) (* u2 PI)) 1/3)) 0.5)
1.1s
(/ 1 (* (pow -2 1.0) (pow (log u1) 1.0)))

regimes7.8s

Accuracy

Total 30.1b remaining (24.3%)

Threshold costs 4.1b (3.3%)

8.9b34.5%Octave 3.8, jcobi/4
5.4b12.1%Octave 3.8, jcobi/2
2.9b0%_divideComplex, real part
2.9b78.5%Octave 3.8, jcobi/1
2.8b0%_divideComplex, imaginary part

localize7.3s

bsearch1.1s

end3.0ms