Details

simplify32.4m

Calls

10990 calls:

Slowest
2.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))))) (* (* (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0) (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0)) (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0)))
2.4s
(* 1 (* (* (pow (+ (- z -6) 0.5) (+ (- z 1) 0.5)) (sqrt (* PI 2))) (+ (pow (+ (+ (+ (/ 771.3234287776531 (+ z 2)) (/ -1259.1392167224028 (+ z 1))) (+ 0.9999999999998099 (/ 676.5203681218851 z))) (+ (/ -176.6150291621406 (+ z 3)) (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))))) 3) (pow (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))) 3))))
2.4s
(/ (/ (* (* (* (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))))) (* (* (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0) (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0)) (- (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) 1.0)))
1.7s
(* 1 (* (* (pow (+ (- z -6) 0.5) z) (sqrt (* PI 2))) (+ (pow (+ (+ (+ (/ 771.3234287776531 (+ z 2)) (/ -1259.1392167224028 (+ z 1))) (+ 0.9999999999998099 (/ 676.5203681218851 z))) (+ (/ -176.6150291621406 (+ z 3)) (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))))) 3) (pow (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))) 3))))
1.5s
(* (+ (* (* x.re x.re) (* x.re x.re)) (+ (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))) (- (* x.re x.im) (* x.im x.re)))

sample9.1m

Algorithm
89×intervals
Results
6.4m99874×body10240exit
1.2m398799×body80valid
24.9s22562×body1280valid
13.2s18431×body640valid
12.9s70534×body80nan
5.6s1584×body1280nan
4.7s9479×body320valid
4.1s1334×body640nan
3.9s8897×body160valid
1.8s41536×pre80true
1.3s650×body320nan
1.1s1351×body2560valid
588.0ms596×body5120valid
418.0ms345×body160nan

prune3.5m

series57.3s

Calls

415 calls:

Slowest
1.2s
(log (exp (- 1 (/ (/ (fma (/ (* (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1))))) (* (cbrt (fma 0.3275911 (fabs x) 1)) (cbrt (fma 0.3275911 (fabs x) 1)))) (/ (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (fma 0.3275911 (fabs x) 1))) 0.254829592) (fma 0.3275911 (fabs x) 1)) (exp (* (fabs x) (fabs x)))))))
1.2s
(- 1 (/ (/ (fma (/ (* (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1))))) (* (cbrt (fma 0.3275911 (fabs x) 1)) (cbrt (fma 0.3275911 (fabs x) 1)))) (/ (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (fma 0.3275911 (fabs x) 1))) 0.254829592) (fma 0.3275911 (fabs x) 1)) (exp (* (fabs x) (fabs x)))))
1.2s
(* 1/6 (cbrt (pow (* (* (* -2 (log u1)) (* -2 (log u1))) (* -2 (log u1))) 0.5)))
1.2s
(- 1 (/ (/ (fma (/ (* (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1))))) (* (cbrt (fma 0.3275911 (fabs x) 1)) (cbrt (fma 0.3275911 (fabs x) 1)))) (/ (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (fma 0.3275911 (fabs x) 1))) 0.254829592) (fma 0.3275911 (fabs x) 1)) (exp (* (fabs x) (fabs x)))))
1.2s
(- 1 (/ (/ (fma (/ (* (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1))))) (* (cbrt (fma 0.3275911 (fabs x) 1)) (cbrt (fma 0.3275911 (fabs x) 1)))) (/ (cbrt (+ -0.284496736 (/ (+ (/ (+ (/ 1.061405429 (fma 0.3275911 (fabs x) 1)) -1.453152027) (fma 0.3275911 (fabs x) 1)) 1.421413741) (fma 0.3275911 (fabs x) 1)))) (cbrt (fma 0.3275911 (fabs x) 1))) 0.254829592) (fma 0.3275911 (fabs x) 1)) (exp (* (fabs x) (fabs x)))))

rewrite22.0s

Algorithm
142×rewrite-expression-head
Calls

415 calls:

Slowest
2.5s
(* (/ (+ (+ (+ (+ (+ 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)
2.5s
(/ (+ (+ (+ (+ (+ 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)))))
2.3s
(/ (* (+ (+ (+ (+ (+ 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) (+ (+ (+ (+ (+ (+ 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.7s
(* (exp (- (+ (- z -6) 0.5))) (* (* (pow (+ (- z -6) 0.5) (+ (- z 1) 0.5)) (sqrt (* PI 2))) (+ (+ (+ (+ (/ 771.3234287776531 (+ z 2)) (/ -1259.1392167224028 (+ z 1))) (+ 0.9999999999998099 (/ 676.5203681218851 z))) (+ (/ -176.6150291621406 (+ z 3)) (+ (/ -0.13857109526572012 (- z -5)) (/ 12.507343278686905 (+ z 4))))) (+ (/ 9.984369578019572e-06 (- z -6)) (/ 1.5056327351493116e-07 (+ z 7))))))
1.4s
(* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
Rules
47214×times-frac
19030×*-un-lft-identity
19014×add-sqr-sqrt
18972×add-cube-cbrt
17660×sqrt-prod
4213×frac-add
3272×flip-+ flip3-+
3028×associate-/r/
1859×div-inv
1546×frac-times
1519×associate-*r/
1270×add-exp-log
1193×pow1
1055×add-cbrt-cube
1032×associate-*l/
673×associate-/r*
522×associate-+l-
518×pow-sub
515×add-log-exp
465×associate-/l*
438×associate-*l*
425×associate-/l/
415×expm1-log1p-u insert-posit16 log1p-expm1-u
374×flip3-- flip--
366×cbrt-div
363×associate-*r*
353×prod-exp
295×log-pow
264×exp-diff
258×neg-sub0 exp-neg
250×cbrt-unprod
249×prod-diff
229×pow-prod-down
219×div-exp
168×cbrt-undiv
154×sqrt-div
141×fma-def
125×*-commutative
123×distribute-rgt-in distribute-lft-in
117×cbrt-prod
98×frac-2neg clear-num
85×pow-prod-up
83×pow1/3
81×fma-neg
79×sub-neg
63×rec-exp
62×associate-+r+
60×pow-plus
57×pow2
55×unpow3 cube-mult
51×fma-udef
48×unpow-prod-down
45×log-prod
43×pow1/2
40×pow-exp pow-to-exp
36×pow-div +-commutative
35×pow-flip sum-log
34×exp-sum
31×inv-pow
22×frac-sub
21×difference-of-squares
19×distribute-lft-out diff-log
16×div-sub
15×associate-+l+ cube-prod distribute-lft-out-- exp-prod
14×distribute-rgt-out
13×associate--l+ rem-sqrt-square
12×sin-sum
11×distribute-rgt1-in
pow3
rem-log-exp
difference-cubes hypot-def
associate--l- sqrt-unprod associate--r+ log-div
cube-unmult difference-of-sqr-1 distribute-rgt-neg-in un-div-inv hypot-udef expm1-def distribute-lft-neg-in
associate-+r- distribute-lft1-in unpow-prod-up remove-double-div distribute-neg-frac rem-square-sqrt rem-cbrt-cube
distribute-lft-neg-out neg-mul-1 pow-pow rem-exp-log cos-sum distribute-neg-in associate--r-

regimes8.3s

Accuracy

Total 29.9b remaining (23.5%)

7.0b36.2%_divideComplex, imaginary part
6.8b35%_divideComplex, real part
5.4b17%Octave 3.8, jcobi/2
3.1b75.4%Octave 3.8, jcobi/1
1.5b0%Jmat.Real.lambertw, newton loop step

localize3.7s

bsearch1.8s

end3.0ms