Details

simplify57.9m

Calls

21174 calls:

Slowest
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.0s
(* (+ (* (* 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)))
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.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)))))
1.6s
(/ (* (* (* (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)))))

sample9.5m

Algorithm
89×intervals
Results
6.5m101865×body10240exit
1.1m390818×body80valid
39.1s26606×body1280valid
19.4s20356×body640valid
12.4s68958×body80nan
6.8s1655×body1280nan
6.4s10531×body320valid
4.4s9485×body160valid
2.9s1305×body640nan
2.1s41536×pre80true
1.6s1463×body2560valid
1.3s662×body320nan
629.0ms607×body5120valid
366.0ms333×body160nan

prune5.2m

rewrite2.1m

Algorithm
147×rewrite-expression-head
Calls

458 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))))))
19.1s
(* (exp (+ (- (- 1 z) -6) 0.5)) (* (* (+ (- 1 z) 2) (* (* (- (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (- 1 z)) (- 5 (+ z 1)))) (* (* (- 7 (+ z 1)) (- 6 (+ z 1))) (* (- 9 (+ z 1)) (- (- 1 z) -6)))))
3.0s
(+ (+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z))) (/ -176.6150291621406 (- 5 (+ z 1))))
1.7s
(* (/ 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)))))
674.0ms
(+ (+ (/ -1259.1392167224028 (+ (- 1 z) 1)) 0.9999999999998099) (/ 676.5203681218851 (- 1 z)))
Rules
65556×frac-times
31773×flip3-- flip--
22858×associate-*r/
16367×associate-*l/
14644×*-un-lft-identity
13754×times-frac
9583×add-sqr-sqrt
7293×add-cube-cbrt
6829×exp-diff
6568×associate-+l-
5301×flip-+ flip3-+
3746×distribute-lft-out
3106×pow1
2958×sqrt-prod
2905×add-exp-log
2082×add-cbrt-cube
1581×frac-add
1525×prod-diff
1375×associate-*r*
1202×prod-exp
1137×distribute-rgt-in distribute-lft-in
1087×associate-*l*
762×associate-/l*
759×pow-prod-down
731×cbrt-unprod
699×div-exp
676×difference-of-squares pow-prod-up
622×add-log-exp
579×associate-/r*
540×div-inv
528×fma-def
504×associate-/r/
484×log-pow
459×log1p-expm1-u
458×expm1-log1p-u insert-posit16
447×distribute-lft-out--
395×cbrt-prod
369×cbrt-undiv
333×sqrt-pow1
327×unswap-sqr
308×exp-neg
302×unpow-prod-down
289×pow-plus
265×neg-sub0
244×pow1/2
230×pow-sqr
186×swap-sqr
181×associate--l+
159×*-commutative
155×fma-neg
141×exp-sum
126×pow2
121×1-exp rec-exp
119×sqr-pow
102×pow-exp
96×frac-2neg clear-num
91×sub-neg
87×sqrt-div
73×associate--r+
71×associate-/l/ fma-udef
63×pow-to-exp
59×cbrt-div
56×associate-+l+ pow1/3
55×log-prod
52×sum-log
49×un-div-inv
37×+-commutative
36×diff-log
34×pow-flip
32×pow-div
29×exp-prod
28×cube-unmult inv-pow
22×frac-sub rem-sqrt-square
17×div-sub
15×distribute-rgt-out
14×distribute-rgt1-in
12×sin-sum pow-unpow
11×hypot-udef
10×hypot-def
associate-+r+ sqrt-unprod
pow-pow
pow-sub
rem-exp-log rem-square-sqrt
unpow-prod-up rem-log-exp
pow3 associate--r-
sqrt-undiv cos-sum log-div
expm1-log1p expm1-udef remove-posit16 associate-+r- log1p-expm1 neg-log unsub-neg log1p-udef

series1.8m

Calls

458 calls:

Slowest
12.1s
(- (* 1 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))))))))) (* (* (/ 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)))))) (* (exp (* (fabs x) (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)))))))))))
8.3s
(exp (log (- (* 1 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))))))))) (* (* (/ 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)))))) (* (exp (* (fabs x) (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)))))))))))))
8.1s
(- (* 1 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))))))))) (* (* (/ 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)))))) (* (exp (* (fabs x) (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)))))))))))
2.5s
(- (* 1 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))))) (* (* (/ 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.8s
(pow (* (* (pow -2 1.0) (pow (- (log u1)) 1.0)) (pow -1 1.0)) 0.5)

regimes8.8s

Accuracy

Total 30.0b remaining (22%)

10.8b25%_divideComplex, real part
5.4b16.7%Octave 3.8, jcobi/2
3.1b75.8%Octave 3.8, jcobi/1
2.7b0%_divideComplex, imaginary part
1.7b0%Jmat.Real.lambertw, newton loop step

localize7.0s

bsearch1.5s

end1.0ms