% TOGAC18_MSD_SymbolicAydinetalStab.m % This file was an attempt to capture the stability of the transfer % function G(s) seen in the towards collaborative drilling Aydin et al % paper 2020. instead of using matlab TF functions or any internal transfer % function analysis methods. % This approach uses matlabs' symbolic toolbox to isolate where the % transfer function is stable. The results were no different than seen with % the stability analysis using TF methods in TOGAC19_MSD_StabilityofAydinetal.m % Created by Brevin Banks % Modified 3/11/2023 %% Create symbolic variables for all variables used to build the controller in Aydin et al syms m_ad b_ad m b k mp1 bp1 kp1 mp2 bp2 kp2 mp3 bp3 kp3 mh bh kh ke s real syms a1 b1 a2 b2 a3 b3 bnum1 bnum2 bnum3 bden1 bden2 bden3 k2 k4 k6 real % Grab the control parameters from the paper symbolically A = 1/(m_ad*s + b_ad) % Admittance Controller Ys P1 = k2*(a1*s + b1)/(mp1*s^2 + bp1*s + kp1) % T2 P2 = k4*(a2*s + b2)/(mp2*s^2 + bp2*s + kp2) % T4 P3 = k6*(a3*s + b3)/(mp3*s^2 + bp3*s + kp3) % T6 G = P1+P2+P3 % Total TF Zeq = mh*s + bh + kh/s + ke/s % Impedance H = (bnum1*s^2 + bnum2*s + bnum3)/(bden1*s^2 + bden2*s + bden3) % Filter simplifyFraction(A*G/(1+A*G*H*Zeq)) Expression = (s*(bden1*s^2 + bden2*s + bden3)*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2 + b1*bp2*k2*kp3*s + b1*bp3*k2*kp2*s + b2*bp1*k4*kp3*s + b2*bp3*k4*kp1*s + b3*bp1*k6*kp2*s + b3*bp2*k6*kp1*s + a1*k2*kp2*kp3*s + a2*k4*kp1*kp3*s + a3*k6*kp1*kp2*s + a1*bp2*bp3*k2*s^3 + a2*bp1*bp3*k4*s^3 + a3*bp1*bp2*k6*s^3 + b1*bp2*bp3*k2*s^2 + b2*bp1*bp3*k4*s^2 + b3*bp1*bp2*k6*s^2 + a1*bp2*k2*kp3*s^2 + a1*bp3*k2*kp2*s^2 + a2*bp1*k4*kp3*s^2 + a2*bp3*k4*kp1*s^2 + a3*bp1*k6*kp2*s^2 + a3*bp2*k6*kp1*s^2 + a1*bp2*k2*mp3*s^4 + a1*bp3*k2*mp2*s^4 + a2*bp1*k4*mp3*s^4 + a2*bp3*k4*mp1*s^4 + a3*bp1*k6*mp2*s^4 + a3*bp2*k6*mp1*s^4 + b1*bp2*k2*mp3*s^3 + b1*bp3*k2*mp2*s^3 + b2*bp1*k4*mp3*s^3 + b2*bp3*k4*mp1*s^3 + b3*bp1*k6*mp2*s^3 + b3*bp2*k6*mp1*s^3 + a1*k2*kp2*mp3*s^3 + a1*k2*kp3*mp2*s^3 + a2*k4*kp1*mp3*s^3 + a2*k4*kp3*mp1*s^3 + a3*k6*kp1*mp2*s^3 + a3*k6*kp2*mp1*s^3 + b1*k2*kp2*mp3*s^2 + b1*k2*kp3*mp2*s^2 + b2*k4*kp1*mp3*s^2 + b2*k4*kp3*mp1*s^2 + b3*k6*kp1*mp2*s^2 + b3*k6*kp2*mp1*s^2 + a1*k2*mp2*mp3*s^5 + a2*k4*mp1*mp3*s^5 + a3*k6*mp1*mp2*s^5 + b1*k2*mp2*mp3*s^4 + b2*k4*mp1*mp3*s^4 + b3*k6*mp1*mp2*s^4))/(b_ad*bden1*bp1*bp2*bp3*s^6 + b_ad*bden2*bp1*bp2*bp3*s^5 + b_ad*bden3*bp1*bp2*bp3*s^4 + b_ad*bden1*bp1*bp2*kp3*s^5 + b_ad*bden1*bp1*bp3*kp2*s^5 + b_ad*bden1*bp2*bp3*kp1*s^5 + b_ad*bden2*bp1*bp2*kp3*s^4 + b_ad*bden2*bp1*bp3*kp2*s^4 + b_ad*bden2*bp2*bp3*kp1*s^4 + b_ad*bden3*bp1*bp2*kp3*s^3 + b_ad*bden3*bp1*bp3*kp2*s^3 + b_ad*bden3*bp2*bp3*kp1*s^3 + b_ad*bden1*bp1*bp2*mp3*s^7 + b_ad*bden1*bp1*bp3*mp2*s^7 + b_ad*bden1*bp2*bp3*mp1*s^7 + b_ad*bden2*bp1*bp2*mp3*s^6 + b_ad*bden2*bp1*bp3*mp2*s^6 + b_ad*bden2*bp2*bp3*mp1*s^6 + b_ad*bden3*bp1*bp2*mp3*s^5 + b_ad*bden3*bp1*bp3*mp2*s^5 + b_ad*bden3*bp2*bp3*mp1*s^5 + bden1*bp1*bp2*bp3*m_ad*s^7 + bden2*bp1*bp2*bp3*m_ad*s^6 + bden3*bp1*bp2*bp3*m_ad*s^5 + b_ad*bden1*bp1*kp2*kp3*s^4 + b_ad*bden1*bp2*kp1*kp3*s^4 + b_ad*bden1*bp3*kp1*kp2*s^4 + b_ad*bden2*bp1*kp2*kp3*s^3 + b_ad*bden2*bp2*kp1*kp3*s^3 + b_ad*bden2*bp3*kp1*kp2*s^3 + b_ad*bden3*bp1*kp2*kp3*s^2 + b_ad*bden3*bp2*kp1*kp3*s^2 + b_ad*bden3*bp3*kp1*kp2*s^2 + b_ad*bden1*bp1*kp2*mp3*s^6 + b_ad*bden1*bp1*kp3*mp2*s^6 + b_ad*bden1*bp2*kp1*mp3*s^6 + b_ad*bden1*bp2*kp3*mp1*s^6 + b_ad*bden1*bp3*kp1*mp2*s^6 + b_ad*bden1*bp3*kp2*mp1*s^6 + b_ad*bden2*bp1*kp2*mp3*s^5 + b_ad*bden2*bp1*kp3*mp2*s^5 + b_ad*bden2*bp2*kp1*mp3*s^5 + b_ad*bden2*bp2*kp3*mp1*s^5 + b_ad*bden2*bp3*kp1*mp2*s^5 + b_ad*bden2*bp3*kp2*mp1*s^5 + b_ad*bden3*bp1*kp2*mp3*s^4 + b_ad*bden3*bp1*kp3*mp2*s^4 + b_ad*bden3*bp2*kp1*mp3*s^4 + b_ad*bden3*bp2*kp3*mp1*s^4 + b_ad*bden3*bp3*kp1*mp2*s^4 + b_ad*bden3*bp3*kp2*mp1*s^4 + bden1*bp1*bp2*kp3*m_ad*s^6 + bden1*bp1*bp3*kp2*m_ad*s^6 + bden1*bp2*bp3*kp1*m_ad*s^6 + bden2*bp1*bp2*kp3*m_ad*s^5 + bden2*bp1*bp3*kp2*m_ad*s^5 + bden2*bp2*bp3*kp1*m_ad*s^5 + bden3*bp1*bp2*kp3*m_ad*s^4 + bden3*bp1*bp3*kp2*m_ad*s^4 + bden3*bp2*bp3*kp1*m_ad*s^4 + b_ad*bden1*bp1*mp2*mp3*s^8 + b_ad*bden1*bp2*mp1*mp3*s^8 + b_ad*bden1*bp3*mp1*mp2*s^8 + b_ad*bden2*bp1*mp2*mp3*s^7 + b_ad*bden2*bp2*mp1*mp3*s^7 + b_ad*bden2*bp3*mp1*mp2*s^7 + b_ad*bden3*bp1*mp2*mp3*s^6 + b_ad*bden3*bp2*mp1*mp3*s^6 + b_ad*bden3*bp3*mp1*mp2*s^6 + bden1*bp1*bp2*m_ad*mp3*s^8 + bden1*bp1*bp3*m_ad*mp2*s^8 + bden1*bp2*bp3*m_ad*mp1*s^8 + bden2*bp1*bp2*m_ad*mp3*s^7 + bden2*bp1*bp3*m_ad*mp2*s^7 + bden2*bp2*bp3*m_ad*mp1*s^7 + bden3*bp1*bp2*m_ad*mp3*s^6 + bden3*bp1*bp3*m_ad*mp2*s^6 + bden3*bp2*bp3*m_ad*mp1*s^6 + b_ad*bden1*kp1*kp2*kp3*s^3 + b_ad*bden2*kp1*kp2*kp3*s^2 + b_ad*bden1*kp1*kp2*mp3*s^5 + b_ad*bden1*kp1*kp3*mp2*s^5 + b_ad*bden1*kp2*kp3*mp1*s^5 + b_ad*bden2*kp1*kp2*mp3*s^4 + b_ad*bden2*kp1*kp3*mp2*s^4 + b_ad*bden2*kp2*kp3*mp1*s^4 + b_ad*bden3*kp1*kp2*mp3*s^3 + b_ad*bden3*kp1*kp3*mp2*s^3 + b_ad*bden3*kp2*kp3*mp1*s^3 + bden1*bp1*kp2*kp3*m_ad*s^5 + bden1*bp2*kp1*kp3*m_ad*s^5 + bden1*bp3*kp1*kp2*m_ad*s^5 + bden2*bp1*kp2*kp3*m_ad*s^4 + bden2*bp2*kp1*kp3*m_ad*s^4 + bden2*bp3*kp1*kp2*m_ad*s^4 + bden3*bp1*kp2*kp3*m_ad*s^3 + bden3*bp2*kp1*kp3*m_ad*s^3 + bden3*bp3*kp1*kp2*m_ad*s^3 + b_ad*bden1*kp1*mp2*mp3*s^7 + b_ad*bden1*kp2*mp1*mp3*s^7 + b_ad*bden1*kp3*mp1*mp2*s^7 + b_ad*bden2*kp1*mp2*mp3*s^6 + b_ad*bden2*kp2*mp1*mp3*s^6 + b_ad*bden2*kp3*mp1*mp2*s^6 + b_ad*bden3*kp1*mp2*mp3*s^5 + b_ad*bden3*kp2*mp1*mp3*s^5 + b_ad*bden3*kp3*mp1*mp2*s^5 + bden1*bp1*kp2*m_ad*mp3*s^7 + bden1*bp1*kp3*m_ad*mp2*s^7 + bden1*bp2*kp1*m_ad*mp3*s^7 + bden1*bp2*kp3*m_ad*mp1*s^7 + bden1*bp3*kp1*m_ad*mp2*s^7 + bden1*bp3*kp2*m_ad*mp1*s^7 + bden2*bp1*kp2*m_ad*mp3*s^6 + bden2*bp1*kp3*m_ad*mp2*s^6 + bden2*bp2*kp1*m_ad*mp3*s^6 + bden2*bp2*kp3*m_ad*mp1*s^6 + bden2*bp3*kp1*m_ad*mp2*s^6 + bden2*bp3*kp2*m_ad*mp1*s^6 + bden3*bp1*kp2*m_ad*mp3*s^5 + bden3*bp1*kp3*m_ad*mp2*s^5 + bden3*bp2*kp1*m_ad*mp3*s^5 + bden3*bp2*kp3*m_ad*mp1*s^5 + bden3*bp3*kp1*m_ad*mp2*s^5 + bden3*bp3*kp2*m_ad*mp1*s^5 + b_ad*bden1*mp1*mp2*mp3*s^9 + b_ad*bden2*mp1*mp2*mp3*s^8 + b_ad*bden3*mp1*mp2*mp3*s^7 + bden1*bp1*m_ad*mp2*mp3*s^9 + bden1*bp2*m_ad*mp1*mp3*s^9 + bden1*bp3*m_ad*mp1*mp2*s^9 + bden2*bp1*m_ad*mp2*mp3*s^8 + bden2*bp2*m_ad*mp1*mp3*s^8 + bden2*bp3*m_ad*mp1*mp2*s^8 + bden3*bp1*m_ad*mp2*mp3*s^7 + bden3*bp2*m_ad*mp1*mp3*s^7 + bden3*bp3*m_ad*mp1*mp2*s^7 + bden1*kp1*kp2*kp3*m_ad*s^4 + bden2*kp1*kp2*kp3*m_ad*s^3 + bden3*kp1*kp2*kp3*m_ad*s^2 + bden1*kp1*kp2*m_ad*mp3*s^6 + bden1*kp1*kp3*m_ad*mp2*s^6 + bden1*kp2*kp3*m_ad*mp1*s^6 + bden2*kp1*kp2*m_ad*mp3*s^5 + bden2*kp1*kp3*m_ad*mp2*s^5 + bden2*kp2*kp3*m_ad*mp1*s^5 + bden3*kp1*kp2*m_ad*mp3*s^4 + bden3*kp1*kp3*m_ad*mp2*s^4 + bden3*kp2*kp3*m_ad*mp1*s^4 + bden1*kp1*m_ad*mp2*mp3*s^8 + bden1*kp2*m_ad*mp1*mp3*s^8 + bden1*kp3*m_ad*mp1*mp2*s^8 + bden2*kp1*m_ad*mp2*mp3*s^7 + bden2*kp2*m_ad*mp1*mp3*s^7 + bden2*kp3*m_ad*mp1*mp2*s^7 + bden3*kp1*m_ad*mp2*mp3*s^6 + bden3*kp2*m_ad*mp1*mp3*s^6 + bden3*kp3*m_ad*mp1*mp2*s^6 + bden1*m_ad*mp1*mp2*mp3*s^10 + bden2*m_ad*mp1*mp2*mp3*s^9 + bden3*m_ad*mp1*mp2*mp3*s^8 + b1*bnum3*k2*ke*kp2*kp3 + b2*bnum3*k4*ke*kp1*kp3 + b3*bnum3*k6*ke*kp1*kp2 + b1*bnum3*k2*kh*kp2*kp3 + b2*bnum3*k4*kh*kp1*kp3 + b3*bnum3*k6*kh*kp1*kp2 + b_ad*bden3*kp1*kp2*kp3*s + b1*bnum3*bp2*k2*ke*kp3*s + b1*bnum3*bp3*k2*ke*kp2*s + b2*bnum3*bp1*k4*ke*kp3*s + b2*bnum3*bp3*k4*ke*kp1*s + b3*bnum3*bp1*k6*ke*kp2*s + b3*bnum3*bp2*k6*ke*kp1*s + b1*bh*bnum3*k2*kp2*kp3*s + b1*bnum3*bp2*k2*kh*kp3*s + b1*bnum3*bp3*k2*kh*kp2*s + b2*bh*bnum3*k4*kp1*kp3*s + b2*bnum3*bp1*k4*kh*kp3*s + b2*bnum3*bp3*k4*kh*kp1*s + b3*bh*bnum3*k6*kp1*kp2*s + b3*bnum3*bp1*k6*kh*kp2*s + b3*bnum3*bp2*k6*kh*kp1*s + a1*bnum3*k2*ke*kp2*kp3*s + a2*bnum3*k4*ke*kp1*kp3*s + a3*bnum3*k6*ke*kp1*kp2*s + a1*bnum3*k2*kh*kp2*kp3*s + a2*bnum3*k4*kh*kp1*kp3*s + a3*bnum3*k6*kh*kp1*kp2*s + b1*bnum2*k2*ke*kp2*kp3*s + b2*bnum2*k4*ke*kp1*kp3*s + b3*bnum2*k6*ke*kp1*kp2*s + b1*bnum2*k2*kh*kp2*kp3*s + b2*bnum2*k4*kh*kp1*kp3*s + b3*bnum2*k6*kh*kp1*kp2*s + a1*bh*bnum1*bp2*bp3*k2*s^6 + a1*bh*bnum2*bp2*bp3*k2*s^5 + a1*bh*bnum3*bp2*bp3*k2*s^4 + a2*bh*bnum1*bp1*bp3*k4*s^6 + a2*bh*bnum2*bp1*bp3*k4*s^5 + a2*bh*bnum3*bp1*bp3*k4*s^4 + a3*bh*bnum1*bp1*bp2*k6*s^6 + a3*bh*bnum2*bp1*bp2*k6*s^5 + a3*bh*bnum3*bp1*bp2*k6*s^4 + b1*bh*bnum1*bp2*bp3*k2*s^5 + b1*bh*bnum2*bp2*bp3*k2*s^4 + b1*bh*bnum3*bp2*bp3*k2*s^3 + b2*bh*bnum1*bp1*bp3*k4*s^5 + b2*bh*bnum2*bp1*bp3*k4*s^4 + b2*bh*bnum3*bp1*bp3*k4*s^3 + b3*bh*bnum1*bp1*bp2*k6*s^5 + b3*bh*bnum2*bp1*bp2*k6*s^4 + b3*bh*bnum3*bp1*bp2*k6*s^3 + a1*bnum1*bp2*bp3*k2*ke*s^5 + a1*bnum2*bp2*bp3*k2*ke*s^4 + a1*bnum3*bp2*bp3*k2*ke*s^3 + a2*bnum1*bp1*bp3*k4*ke*s^5 + a2*bnum2*bp1*bp3*k4*ke*s^4 + a2*bnum3*bp1*bp3*k4*ke*s^3 + a3*bnum1*bp1*bp2*k6*ke*s^5 + a3*bnum2*bp1*bp2*k6*ke*s^4 + a3*bnum3*bp1*bp2*k6*ke*s^3 + a1*bh*bnum1*bp2*k2*kp3*s^5 + a1*bh*bnum1*bp3*k2*kp2*s^5 + a1*bh*bnum2*bp2*k2*kp3*s^4 + a1*bh*bnum2*bp3*k2*kp2*s^4 + a1*bh*bnum3*bp2*k2*kp3*s^3 + a1*bh*bnum3*bp3*k2*kp2*s^3 + a1*bnum1*bp2*bp3*k2*kh*s^5 + a1*bnum2*bp2*bp3*k2*kh*s^4 + a1*bnum3*bp2*bp3*k2*kh*s^3 + a2*bh*bnum1*bp1*k4*kp3*s^5 + a2*bh*bnum1*bp3*k4*kp1*s^5 + a2*bh*bnum2*bp1*k4*kp3*s^4 + a2*bh*bnum2*bp3*k4*kp1*s^4 + a2*bh*bnum3*bp1*k4*kp3*s^3 + a2*bh*bnum3*bp3*k4*kp1*s^3 + a2*bnum1*bp1*bp3*k4*kh*s^5 + a2*bnum2*bp1*bp3*k4*kh*s^4 + a2*bnum3*bp1*bp3*k4*kh*s^3 + a3*bh*bnum1*bp1*k6*kp2*s^5 + a3*bh*bnum1*bp2*k6*kp1*s^5 + a3*bh*bnum2*bp1*k6*kp2*s^4 + a3*bh*bnum2*bp2*k6*kp1*s^4 + a3*bh*bnum3*bp1*k6*kp2*s^3 + a3*bh*bnum3*bp2*k6*kp1*s^3 + a3*bnum1*bp1*bp2*k6*kh*s^5 + a3*bnum2*bp1*bp2*k6*kh*s^4 + a3*bnum3*bp1*bp2*k6*kh*s^3 + b1*bnum1*bp2*bp3*k2*ke*s^4 + b1*bnum2*bp2*bp3*k2*ke*s^3 + b1*bnum3*bp2*bp3*k2*ke*s^2 + b2*bnum1*bp1*bp3*k4*ke*s^4 + b2*bnum2*bp1*bp3*k4*ke*s^3 + b2*bnum3*bp1*bp3*k4*ke*s^2 + b3*bnum1*bp1*bp2*k6*ke*s^4 + b3*bnum2*bp1*bp2*k6*ke*s^3 + b3*bnum3*bp1*bp2*k6*ke*s^2 + b1*bh*bnum1*bp2*k2*kp3*s^4 + b1*bh*bnum1*bp3*k2*kp2*s^4 + b1*bh*bnum2*bp2*k2*kp3*s^3 + b1*bh*bnum2*bp3*k2*kp2*s^3 + b1*bh*bnum3*bp2*k2*kp3*s^2 + b1*bh*bnum3*bp3*k2*kp2*s^2 + b1*bnum1*bp2*bp3*k2*kh*s^4 + b1*bnum2*bp2*bp3*k2*kh*s^3 + b1*bnum3*bp2*bp3*k2*kh*s^2 + b2*bh*bnum1*bp1*k4*kp3*s^4 + b2*bh*bnum1*bp3*k4*kp1*s^4 + b2*bh*bnum2*bp1*k4*kp3*s^3 + b2*bh*bnum2*bp3*k4*kp1*s^3 + b2*bh*bnum3*bp1*k4*kp3*s^2 + b2*bh*bnum3*bp3*k4*kp1*s^2 + b2*bnum1*bp1*bp3*k4*kh*s^4 + b2*bnum2*bp1*bp3*k4*kh*s^3 + b2*bnum3*bp1*bp3*k4*kh*s^2 + b3*bh*bnum1*bp1*k6*kp2*s^4 + b3*bh*bnum1*bp2*k6*kp1*s^4 + b3*bh*bnum2*bp1*k6*kp2*s^3 + b3*bh*bnum2*bp2*k6*kp1*s^3 + b3*bh*bnum3*bp1*k6*kp2*s^2 + b3*bh*bnum3*bp2*k6*kp1*s^2 + b3*bnum1*bp1*bp2*k6*kh*s^4 + b3*bnum2*bp1*bp2*k6*kh*s^3 + b3*bnum3*bp1*bp2*k6*kh*s^2 + a1*bh*bnum1*bp2*k2*mp3*s^7 + a1*bh*bnum1*bp3*k2*mp2*s^7 + a1*bh*bnum2*bp2*k2*mp3*s^6 + a1*bh*bnum2*bp3*k2*mp2*s^6 + a1*bh*bnum3*bp2*k2*mp3*s^5 + a1*bh*bnum3*bp3*k2*mp2*s^5 + a1*bnum1*bp2*bp3*k2*mh*s^7 + a1*bnum2*bp2*bp3*k2*mh*s^6 + a1*bnum3*bp2*bp3*k2*mh*s^5 + a2*bh*bnum1*bp1*k4*mp3*s^7 + a2*bh*bnum1*bp3*k4*mp1*s^7 + a2*bh*bnum2*bp1*k4*mp3*s^6 + a2*bh*bnum2*bp3*k4*mp1*s^6 + a2*bh*bnum3*bp1*k4*mp3*s^5 + a2*bh*bnum3*bp3*k4*mp1*s^5 + a2*bnum1*bp1*bp3*k4*mh*s^7 + a2*bnum2*bp1*bp3*k4*mh*s^6 + a2*bnum3*bp1*bp3*k4*mh*s^5 + a3*bh*bnum1*bp1*k6*mp2*s^7 + a3*bh*bnum1*bp2*k6*mp1*s^7 + a3*bh*bnum2*bp1*k6*mp2*s^6 + a3*bh*bnum2*bp2*k6*mp1*s^6 + a3*bh*bnum3*bp1*k6*mp2*s^5 + a3*bh*bnum3*bp2*k6*mp1*s^5 + a3*bnum1*bp1*bp2*k6*mh*s^7 + a3*bnum2*bp1*bp2*k6*mh*s^6 + a3*bnum3*bp1*bp2*k6*mh*s^5 + b1*bh*bnum1*bp2*k2*mp3*s^6 + b1*bh*bnum1*bp3*k2*mp2*s^6 + b1*bh*bnum2*bp2*k2*mp3*s^5 + b1*bh*bnum2*bp3*k2*mp2*s^5 + b1*bh*bnum3*bp2*k2*mp3*s^4 + b1*bh*bnum3*bp3*k2*mp2*s^4 + b1*bnum1*bp2*bp3*k2*mh*s^6 + b1*bnum2*bp2*bp3*k2*mh*s^5 + b1*bnum3*bp2*bp3*k2*mh*s^4 + b2*bh*bnum1*bp1*k4*mp3*s^6 + b2*bh*bnum1*bp3*k4*mp1*s^6 + b2*bh*bnum2*bp1*k4*mp3*s^5 + b2*bh*bnum2*bp3*k4*mp1*s^5 + b2*bh*bnum3*bp1*k4*mp3*s^4 + b2*bh*bnum3*bp3*k4*mp1*s^4 + b2*bnum1*bp1*bp3*k4*mh*s^6 + b2*bnum2*bp1*bp3*k4*mh*s^5 + b2*bnum3*bp1*bp3*k4*mh*s^4 + b3*bh*bnum1*bp1*k6*mp2*s^6 + b3*bh*bnum1*bp2*k6*mp1*s^6 + b3*bh*bnum2*bp1*k6*mp2*s^5 + b3*bh*bnum2*bp2*k6*mp1*s^5 + b3*bh*bnum3*bp1*k6*mp2*s^4 + b3*bh*bnum3*bp2*k6*mp1*s^4 + b3*bnum1*bp1*bp2*k6*mh*s^6 + b3*bnum2*bp1*bp2*k6*mh*s^5 + b3*bnum3*bp1*bp2*k6*mh*s^4 + a1*bnum1*bp2*k2*ke*kp3*s^4 + a1*bnum1*bp3*k2*ke*kp2*s^4 + a1*bnum2*bp2*k2*ke*kp3*s^3 + a1*bnum2*bp3*k2*ke*kp2*s^3 + a1*bnum3*bp2*k2*ke*kp3*s^2 + a1*bnum3*bp3*k2*ke*kp2*s^2 + a2*bnum1*bp1*k4*ke*kp3*s^4 + a2*bnum1*bp3*k4*ke*kp1*s^4 + a2*bnum2*bp1*k4*ke*kp3*s^3 + a2*bnum2*bp3*k4*ke*kp1*s^3 + a2*bnum3*bp1*k4*ke*kp3*s^2 + a2*bnum3*bp3*k4*ke*kp1*s^2 + a3*bnum1*bp1*k6*ke*kp2*s^4 + a3*bnum1*bp2*k6*ke*kp1*s^4 + a3*bnum2*bp1*k6*ke*kp2*s^3 + a3*bnum2*bp2*k6*ke*kp1*s^3 + a3*bnum3*bp1*k6*ke*kp2*s^2 + a3*bnum3*bp2*k6*ke*kp1*s^2 + a1*bh*bnum1*k2*kp2*kp3*s^4 + a1*bh*bnum2*k2*kp2*kp3*s^3 + a1*bh*bnum3*k2*kp2*kp3*s^2 + a1*bnum1*bp2*k2*kh*kp3*s^4 + a1*bnum1*bp3*k2*kh*kp2*s^4 + a1*bnum2*bp2*k2*kh*kp3*s^3 + a1*bnum2*bp3*k2*kh*kp2*s^3 + a1*bnum3*bp2*k2*kh*kp3*s^2 + a1*bnum3*bp3*k2*kh*kp2*s^2 + a2*bh*bnum1*k4*kp1*kp3*s^4 + a2*bh*bnum2*k4*kp1*kp3*s^3 + a2*bh*bnum3*k4*kp1*kp3*s^2 + a2*bnum1*bp1*k4*kh*kp3*s^4 + a2*bnum1*bp3*k4*kh*kp1*s^4 + a2*bnum2*bp1*k4*kh*kp3*s^3 + a2*bnum2*bp3*k4*kh*kp1*s^3 + a2*bnum3*bp1*k4*kh*kp3*s^2 + a2*bnum3*bp3*k4*kh*kp1*s^2 + a3*bh*bnum1*k6*kp1*kp2*s^4 + a3*bh*bnum2*k6*kp1*kp2*s^3 + a3*bh*bnum3*k6*kp1*kp2*s^2 + a3*bnum1*bp1*k6*kh*kp2*s^4 + a3*bnum1*bp2*k6*kh*kp1*s^4 + a3*bnum2*bp1*k6*kh*kp2*s^3 + a3*bnum2*bp2*k6*kh*kp1*s^3 + a3*bnum3*bp1*k6*kh*kp2*s^2 + a3*bnum3*bp2*k6*kh*kp1*s^2 + b1*bnum1*bp2*k2*ke*kp3*s^3 + b1*bnum1*bp3*k2*ke*kp2*s^3 + b1*bnum2*bp2*k2*ke*kp3*s^2 + b1*bnum2*bp3*k2*ke*kp2*s^2 + b2*bnum1*bp1*k4*ke*kp3*s^3 + b2*bnum1*bp3*k4*ke*kp1*s^3 + b2*bnum2*bp1*k4*ke*kp3*s^2 + b2*bnum2*bp3*k4*ke*kp1*s^2 + b3*bnum1*bp1*k6*ke*kp2*s^3 + b3*bnum1*bp2*k6*ke*kp1*s^3 + b3*bnum2*bp1*k6*ke*kp2*s^2 + b3*bnum2*bp2*k6*ke*kp1*s^2 + b1*bh*bnum1*k2*kp2*kp3*s^3 + b1*bh*bnum2*k2*kp2*kp3*s^2 + b1*bnum1*bp2*k2*kh*kp3*s^3 + b1*bnum1*bp3*k2*kh*kp2*s^3 + b1*bnum2*bp2*k2*kh*kp3*s^2 + b1*bnum2*bp3*k2*kh*kp2*s^2 + b2*bh*bnum1*k4*kp1*kp3*s^3 + b2*bh*bnum2*k4*kp1*kp3*s^2 + b2*bnum1*bp1*k4*kh*kp3*s^3 + b2*bnum1*bp3*k4*kh*kp1*s^3 + b2*bnum2*bp1*k4*kh*kp3*s^2 + b2*bnum2*bp3*k4*kh*kp1*s^2 + b3*bh*bnum1*k6*kp1*kp2*s^3 + b3*bh*bnum2*k6*kp1*kp2*s^2 + b3*bnum1*bp1*k6*kh*kp2*s^3 + b3*bnum1*bp2*k6*kh*kp1*s^3 + b3*bnum2*bp1*k6*kh*kp2*s^2 + b3*bnum2*bp2*k6*kh*kp1*s^2 + a1*bnum1*bp2*k2*ke*mp3*s^6 + a1*bnum1*bp3*k2*ke*mp2*s^6 + a1*bnum2*bp2*k2*ke*mp3*s^5 + a1*bnum2*bp3*k2*ke*mp2*s^5 + a1*bnum3*bp2*k2*ke*mp3*s^4 + a1*bnum3*bp3*k2*ke*mp2*s^4 + a2*bnum1*bp1*k4*ke*mp3*s^6 + a2*bnum1*bp3*k4*ke*mp1*s^6 + a2*bnum2*bp1*k4*ke*mp3*s^5 + a2*bnum2*bp3*k4*ke*mp1*s^5 + a2*bnum3*bp1*k4*ke*mp3*s^4 + a2*bnum3*bp3*k4*ke*mp1*s^4 + a3*bnum1*bp1*k6*ke*mp2*s^6 + a3*bnum1*bp2*k6*ke*mp1*s^6 + a3*bnum2*bp1*k6*ke*mp2*s^5 + a3*bnum2*bp2*k6*ke*mp1*s^5 + a3*bnum3*bp1*k6*ke*mp2*s^4 + a3*bnum3*bp2*k6*ke*mp1*s^4 + a1*bh*bnum1*k2*kp2*mp3*s^6 + a1*bh*bnum1*k2*kp3*mp2*s^6 + a1*bh*bnum2*k2*kp2*mp3*s^5 + a1*bh*bnum2*k2*kp3*mp2*s^5 + a1*bh*bnum3*k2*kp2*mp3*s^4 + a1*bh*bnum3*k2*kp3*mp2*s^4 + a1*bnum1*bp2*k2*kh*mp3*s^6 + a1*bnum1*bp2*k2*kp3*mh*s^6 + a1*bnum1*bp3*k2*kh*mp2*s^6 + a1*bnum1*bp3*k2*kp2*mh*s^6 + a1*bnum2*bp2*k2*kh*mp3*s^5 + a1*bnum2*bp2*k2*kp3*mh*s^5 + a1*bnum2*bp3*k2*kh*mp2*s^5 + a1*bnum2*bp3*k2*kp2*mh*s^5 + a1*bnum3*bp2*k2*kh*mp3*s^4 + a1*bnum3*bp2*k2*kp3*mh*s^4 + a1*bnum3*bp3*k2*kh*mp2*s^4 + a1*bnum3*bp3*k2*kp2*mh*s^4 + a2*bh*bnum1*k4*kp1*mp3*s^6 + a2*bh*bnum1*k4*kp3*mp1*s^6 + a2*bh*bnum2*k4*kp1*mp3*s^5 + a2*bh*bnum2*k4*kp3*mp1*s^5 + a2*bh*bnum3*k4*kp1*mp3*s^4 + a2*bh*bnum3*k4*kp3*mp1*s^4 + a2*bnum1*bp1*k4*kh*mp3*s^6 + a2*bnum1*bp1*k4*kp3*mh*s^6 + a2*bnum1*bp3*k4*kh*mp1*s^6 + a2*bnum1*bp3*k4*kp1*mh*s^6 + a2*bnum2*bp1*k4*kh*mp3*s^5 + a2*bnum2*bp1*k4*kp3*mh*s^5 + a2*bnum2*bp3*k4*kh*mp1*s^5 + a2*bnum2*bp3*k4*kp1*mh*s^5 + a2*bnum3*bp1*k4*kh*mp3*s^4 + a2*bnum3*bp1*k4*kp3*mh*s^4 + a2*bnum3*bp3*k4*kh*mp1*s^4 + a2*bnum3*bp3*k4*kp1*mh*s^4 + a3*bh*bnum1*k6*kp1*mp2*s^6 + a3*bh*bnum1*k6*kp2*mp1*s^6 + a3*bh*bnum2*k6*kp1*mp2*s^5 + a3*bh*bnum2*k6*kp2*mp1*s^5 + a3*bh*bnum3*k6*kp1*mp2*s^4 + a3*bh*bnum3*k6*kp2*mp1*s^4 + a3*bnum1*bp1*k6*kh*mp2*s^6 + a3*bnum1*bp1*k6*kp2*mh*s^6 + a3*bnum1*bp2*k6*kh*mp1*s^6 + a3*bnum1*bp2*k6*kp1*mh*s^6 + a3*bnum2*bp1*k6*kh*mp2*s^5 + a3*bnum2*bp1*k6*kp2*mh*s^5 + a3*bnum2*bp2*k6*kh*mp1*s^5 + a3*bnum2*bp2*k6*kp1*mh*s^5 + a3*bnum3*bp1*k6*kh*mp2*s^4 + a3*bnum3*bp1*k6*kp2*mh*s^4 + a3*bnum3*bp2*k6*kh*mp1*s^4 + a3*bnum3*bp2*k6*kp1*mh*s^4 + b1*bnum1*bp2*k2*ke*mp3*s^5 + b1*bnum1*bp3*k2*ke*mp2*s^5 + b1*bnum2*bp2*k2*ke*mp3*s^4 + b1*bnum2*bp3*k2*ke*mp2*s^4 + b1*bnum3*bp2*k2*ke*mp3*s^3 + b1*bnum3*bp3*k2*ke*mp2*s^3 + b2*bnum1*bp1*k4*ke*mp3*s^5 + b2*bnum1*bp3*k4*ke*mp1*s^5 + b2*bnum2*bp1*k4*ke*mp3*s^4 + b2*bnum2*bp3*k4*ke*mp1*s^4 + b2*bnum3*bp1*k4*ke*mp3*s^3 + b2*bnum3*bp3*k4*ke*mp1*s^3 + b3*bnum1*bp1*k6*ke*mp2*s^5 + b3*bnum1*bp2*k6*ke*mp1*s^5 + b3*bnum2*bp1*k6*ke*mp2*s^4 + b3*bnum2*bp2*k6*ke*mp1*s^4 + b3*bnum3*bp1*k6*ke*mp2*s^3 + b3*bnum3*bp2*k6*ke*mp1*s^3 + b1*bh*bnum1*k2*kp2*mp3*s^5 + b1*bh*bnum1*k2*kp3*mp2*s^5 + b1*bh*bnum2*k2*kp2*mp3*s^4 + b1*bh*bnum2*k2*kp3*mp2*s^4 + b1*bh*bnum3*k2*kp2*mp3*s^3 + b1*bh*bnum3*k2*kp3*mp2*s^3 + b1*bnum1*bp2*k2*kh*mp3*s^5 + b1*bnum1*bp2*k2*kp3*mh*s^5 + b1*bnum1*bp3*k2*kh*mp2*s^5 + b1*bnum1*bp3*k2*kp2*mh*s^5 + b1*bnum2*bp2*k2*kh*mp3*s^4 + b1*bnum2*bp2*k2*kp3*mh*s^4 + b1*bnum2*bp3*k2*kh*mp2*s^4 + b1*bnum2*bp3*k2*kp2*mh*s^4 + b1*bnum3*bp2*k2*kh*mp3*s^3 + b1*bnum3*bp2*k2*kp3*mh*s^3 + b1*bnum3*bp3*k2*kh*mp2*s^3 + b1*bnum3*bp3*k2*kp2*mh*s^3 + b2*bh*bnum1*k4*kp1*mp3*s^5 + b2*bh*bnum1*k4*kp3*mp1*s^5 + b2*bh*bnum2*k4*kp1*mp3*s^4 + b2*bh*bnum2*k4*kp3*mp1*s^4 + b2*bh*bnum3*k4*kp1*mp3*s^3 + b2*bh*bnum3*k4*kp3*mp1*s^3 + b2*bnum1*bp1*k4*kh*mp3*s^5 + b2*bnum1*bp1*k4*kp3*mh*s^5 + b2*bnum1*bp3*k4*kh*mp1*s^5 + b2*bnum1*bp3*k4*kp1*mh*s^5 + b2*bnum2*bp1*k4*kh*mp3*s^4 + b2*bnum2*bp1*k4*kp3*mh*s^4 + b2*bnum2*bp3*k4*kh*mp1*s^4 + b2*bnum2*bp3*k4*kp1*mh*s^4 + b2*bnum3*bp1*k4*kh*mp3*s^3 + b2*bnum3*bp1*k4*kp3*mh*s^3 + b2*bnum3*bp3*k4*kh*mp1*s^3 + b2*bnum3*bp3*k4*kp1*mh*s^3 + b3*bh*bnum1*k6*kp1*mp2*s^5 + b3*bh*bnum1*k6*kp2*mp1*s^5 + b3*bh*bnum2*k6*kp1*mp2*s^4 + b3*bh*bnum2*k6*kp2*mp1*s^4 + b3*bh*bnum3*k6*kp1*mp2*s^3 + b3*bh*bnum3*k6*kp2*mp1*s^3 + b3*bnum1*bp1*k6*kh*mp2*s^5 + b3*bnum1*bp1*k6*kp2*mh*s^5 + b3*bnum1*bp2*k6*kh*mp1*s^5 + b3*bnum1*bp2*k6*kp1*mh*s^5 + b3*bnum2*bp1*k6*kh*mp2*s^4 + b3*bnum2*bp1*k6*kp2*mh*s^4 + b3*bnum2*bp2*k6*kh*mp1*s^4 + b3*bnum2*bp2*k6*kp1*mh*s^4 + b3*bnum3*bp1*k6*kh*mp2*s^3 + b3*bnum3*bp1*k6*kp2*mh*s^3 + b3*bnum3*bp2*k6*kh*mp1*s^3 + b3*bnum3*bp2*k6*kp1*mh*s^3 + a1*bh*bnum1*k2*mp2*mp3*s^8 + a1*bh*bnum2*k2*mp2*mp3*s^7 + a1*bh*bnum3*k2*mp2*mp3*s^6 + a1*bnum1*bp2*k2*mh*mp3*s^8 + a1*bnum1*bp3*k2*mh*mp2*s^8 + a1*bnum2*bp2*k2*mh*mp3*s^7 + a1*bnum2*bp3*k2*mh*mp2*s^7 + a1*bnum3*bp2*k2*mh*mp3*s^6 + a1*bnum3*bp3*k2*mh*mp2*s^6 + a2*bh*bnum1*k4*mp1*mp3*s^8 + a2*bh*bnum2*k4*mp1*mp3*s^7 + a2*bh*bnum3*k4*mp1*mp3*s^6 + a2*bnum1*bp1*k4*mh*mp3*s^8 + a2*bnum1*bp3*k4*mh*mp1*s^8 + a2*bnum2*bp1*k4*mh*mp3*s^7 + a2*bnum2*bp3*k4*mh*mp1*s^7 + a2*bnum3*bp1*k4*mh*mp3*s^6 + a2*bnum3*bp3*k4*mh*mp1*s^6 + a3*bh*bnum1*k6*mp1*mp2*s^8 + a3*bh*bnum2*k6*mp1*mp2*s^7 + a3*bh*bnum3*k6*mp1*mp2*s^6 + a3*bnum1*bp1*k6*mh*mp2*s^8 + a3*bnum1*bp2*k6*mh*mp1*s^8 + a3*bnum2*bp1*k6*mh*mp2*s^7 + a3*bnum2*bp2*k6*mh*mp1*s^7 + a3*bnum3*bp1*k6*mh*mp2*s^6 + a3*bnum3*bp2*k6*mh*mp1*s^6 + b1*bh*bnum1*k2*mp2*mp3*s^7 + b1*bh*bnum2*k2*mp2*mp3*s^6 + b1*bh*bnum3*k2*mp2*mp3*s^5 + b1*bnum1*bp2*k2*mh*mp3*s^7 + b1*bnum1*bp3*k2*mh*mp2*s^7 + b1*bnum2*bp2*k2*mh*mp3*s^6 + b1*bnum2*bp3*k2*mh*mp2*s^6 + b1*bnum3*bp2*k2*mh*mp3*s^5 + b1*bnum3*bp3*k2*mh*mp2*s^5 + b2*bh*bnum1*k4*mp1*mp3*s^7 + b2*bh*bnum2*k4*mp1*mp3*s^6 + b2*bh*bnum3*k4*mp1*mp3*s^5 + b2*bnum1*bp1*k4*mh*mp3*s^7 + b2*bnum1*bp3*k4*mh*mp1*s^7 + b2*bnum2*bp1*k4*mh*mp3*s^6 + b2*bnum2*bp3*k4*mh*mp1*s^6 + b2*bnum3*bp1*k4*mh*mp3*s^5 + b2*bnum3*bp3*k4*mh*mp1*s^5 + b3*bh*bnum1*k6*mp1*mp2*s^7 + b3*bh*bnum2*k6*mp1*mp2*s^6 + b3*bh*bnum3*k6*mp1*mp2*s^5 + b3*bnum1*bp1*k6*mh*mp2*s^7 + b3*bnum1*bp2*k6*mh*mp1*s^7 + b3*bnum2*bp1*k6*mh*mp2*s^6 + b3*bnum2*bp2*k6*mh*mp1*s^6 + b3*bnum3*bp1*k6*mh*mp2*s^5 + b3*bnum3*bp2*k6*mh*mp1*s^5 + a1*bnum1*k2*ke*kp2*kp3*s^3 + a1*bnum2*k2*ke*kp2*kp3*s^2 + a2*bnum1*k4*ke*kp1*kp3*s^3 + a2*bnum2*k4*ke*kp1*kp3*s^2 + a3*bnum1*k6*ke*kp1*kp2*s^3 + a3*bnum2*k6*ke*kp1*kp2*s^2 + a1*bnum1*k2*kh*kp2*kp3*s^3 + a1*bnum2*k2*kh*kp2*kp3*s^2 + a2*bnum1*k4*kh*kp1*kp3*s^3 + a2*bnum2*k4*kh*kp1*kp3*s^2 + a3*bnum1*k6*kh*kp1*kp2*s^3 + a3*bnum2*k6*kh*kp1*kp2*s^2 + b1*bnum1*k2*ke*kp2*kp3*s^2 + b2*bnum1*k4*ke*kp1*kp3*s^2 + b3*bnum1*k6*ke*kp1*kp2*s^2 + b1*bnum1*k2*kh*kp2*kp3*s^2 + b2*bnum1*k4*kh*kp1*kp3*s^2 + b3*bnum1*k6*kh*kp1*kp2*s^2 + a1*bnum1*k2*ke*kp2*mp3*s^5 + a1*bnum1*k2*ke*kp3*mp2*s^5 + a1*bnum2*k2*ke*kp2*mp3*s^4 + a1*bnum2*k2*ke*kp3*mp2*s^4 + a1*bnum3*k2*ke*kp2*mp3*s^3 + a1*bnum3*k2*ke*kp3*mp2*s^3 + a2*bnum1*k4*ke*kp1*mp3*s^5 + a2*bnum1*k4*ke*kp3*mp1*s^5 + a2*bnum2*k4*ke*kp1*mp3*s^4 + a2*bnum2*k4*ke*kp3*mp1*s^4 + a2*bnum3*k4*ke*kp1*mp3*s^3 + a2*bnum3*k4*ke*kp3*mp1*s^3 + a3*bnum1*k6*ke*kp1*mp2*s^5 + a3*bnum1*k6*ke*kp2*mp1*s^5 + a3*bnum2*k6*ke*kp1*mp2*s^4 + a3*bnum2*k6*ke*kp2*mp1*s^4 + a3*bnum3*k6*ke*kp1*mp2*s^3 + a3*bnum3*k6*ke*kp2*mp1*s^3 + a1*bnum1*k2*kh*kp2*mp3*s^5 + a1*bnum1*k2*kh*kp3*mp2*s^5 + a1*bnum1*k2*kp2*kp3*mh*s^5 + a1*bnum2*k2*kh*kp2*mp3*s^4 + a1*bnum2*k2*kh*kp3*mp2*s^4 + a1*bnum2*k2*kp2*kp3*mh*s^4 + a1*bnum3*k2*kh*kp2*mp3*s^3 + a1*bnum3*k2*kh*kp3*mp2*s^3 + a1*bnum3*k2*kp2*kp3*mh*s^3 + a2*bnum1*k4*kh*kp1*mp3*s^5 + a2*bnum1*k4*kh*kp3*mp1*s^5 + a2*bnum1*k4*kp1*kp3*mh*s^5 + a2*bnum2*k4*kh*kp1*mp3*s^4 + a2*bnum2*k4*kh*kp3*mp1*s^4 + a2*bnum2*k4*kp1*kp3*mh*s^4 + a2*bnum3*k4*kh*kp1*mp3*s^3 + a2*bnum3*k4*kh*kp3*mp1*s^3 + a2*bnum3*k4*kp1*kp3*mh*s^3 + a3*bnum1*k6*kh*kp1*mp2*s^5 + a3*bnum1*k6*kh*kp2*mp1*s^5 + a3*bnum1*k6*kp1*kp2*mh*s^5 + a3*bnum2*k6*kh*kp1*mp2*s^4 + a3*bnum2*k6*kh*kp2*mp1*s^4 + a3*bnum2*k6*kp1*kp2*mh*s^4 + a3*bnum3*k6*kh*kp1*mp2*s^3 + a3*bnum3*k6*kh*kp2*mp1*s^3 + a3*bnum3*k6*kp1*kp2*mh*s^3 + b1*bnum1*k2*ke*kp2*mp3*s^4 + b1*bnum1*k2*ke*kp3*mp2*s^4 + b1*bnum2*k2*ke*kp2*mp3*s^3 + b1*bnum2*k2*ke*kp3*mp2*s^3 + b1*bnum3*k2*ke*kp2*mp3*s^2 + b1*bnum3*k2*ke*kp3*mp2*s^2 + b2*bnum1*k4*ke*kp1*mp3*s^4 + b2*bnum1*k4*ke*kp3*mp1*s^4 + b2*bnum2*k4*ke*kp1*mp3*s^3 + b2*bnum2*k4*ke*kp3*mp1*s^3 + b2*bnum3*k4*ke*kp1*mp3*s^2 + b2*bnum3*k4*ke*kp3*mp1*s^2 + b3*bnum1*k6*ke*kp1*mp2*s^4 + b3*bnum1*k6*ke*kp2*mp1*s^4 + b3*bnum2*k6*ke*kp1*mp2*s^3 + b3*bnum2*k6*ke*kp2*mp1*s^3 + b3*bnum3*k6*ke*kp1*mp2*s^2 + b3*bnum3*k6*ke*kp2*mp1*s^2 + b1*bnum1*k2*kh*kp2*mp3*s^4 + b1*bnum1*k2*kh*kp3*mp2*s^4 + b1*bnum1*k2*kp2*kp3*mh*s^4 + b1*bnum2*k2*kh*kp2*mp3*s^3 + b1*bnum2*k2*kh*kp3*mp2*s^3 + b1*bnum2*k2*kp2*kp3*mh*s^3 + b1*bnum3*k2*kh*kp2*mp3*s^2 + b1*bnum3*k2*kh*kp3*mp2*s^2 + b1*bnum3*k2*kp2*kp3*mh*s^2 + b2*bnum1*k4*kh*kp1*mp3*s^4 + b2*bnum1*k4*kh*kp3*mp1*s^4 + b2*bnum1*k4*kp1*kp3*mh*s^4 + b2*bnum2*k4*kh*kp1*mp3*s^3 + b2*bnum2*k4*kh*kp3*mp1*s^3 + b2*bnum2*k4*kp1*kp3*mh*s^3 + b2*bnum3*k4*kh*kp1*mp3*s^2 + b2*bnum3*k4*kh*kp3*mp1*s^2 + b2*bnum3*k4*kp1*kp3*mh*s^2 + b3*bnum1*k6*kh*kp1*mp2*s^4 + b3*bnum1*k6*kh*kp2*mp1*s^4 + b3*bnum1*k6*kp1*kp2*mh*s^4 + b3*bnum2*k6*kh*kp1*mp2*s^3 + b3*bnum2*k6*kh*kp2*mp1*s^3 + b3*bnum2*k6*kp1*kp2*mh*s^3 + b3*bnum3*k6*kh*kp1*mp2*s^2 + b3*bnum3*k6*kh*kp2*mp1*s^2 + b3*bnum3*k6*kp1*kp2*mh*s^2 + a1*bnum1*k2*ke*mp2*mp3*s^7 + a1*bnum2*k2*ke*mp2*mp3*s^6 + a1*bnum3*k2*ke*mp2*mp3*s^5 + a2*bnum1*k4*ke*mp1*mp3*s^7 + a2*bnum2*k4*ke*mp1*mp3*s^6 + a2*bnum3*k4*ke*mp1*mp3*s^5 + a3*bnum1*k6*ke*mp1*mp2*s^7 + a3*bnum2*k6*ke*mp1*mp2*s^6 + a3*bnum3*k6*ke*mp1*mp2*s^5 + a1*bnum1*k2*kh*mp2*mp3*s^7 + a1*bnum1*k2*kp2*mh*mp3*s^7 + a1*bnum1*k2*kp3*mh*mp2*s^7 + a1*bnum2*k2*kh*mp2*mp3*s^6 + a1*bnum2*k2*kp2*mh*mp3*s^6 + a1*bnum2*k2*kp3*mh*mp2*s^6 + a1*bnum3*k2*kh*mp2*mp3*s^5 + a1*bnum3*k2*kp2*mh*mp3*s^5 + a1*bnum3*k2*kp3*mh*mp2*s^5 + a2*bnum1*k4*kh*mp1*mp3*s^7 + a2*bnum1*k4*kp1*mh*mp3*s^7 + a2*bnum1*k4*kp3*mh*mp1*s^7 + a2*bnum2*k4*kh*mp1*mp3*s^6 + a2*bnum2*k4*kp1*mh*mp3*s^6 + a2*bnum2*k4*kp3*mh*mp1*s^6 + a2*bnum3*k4*kh*mp1*mp3*s^5 + a2*bnum3*k4*kp1*mh*mp3*s^5 + a2*bnum3*k4*kp3*mh*mp1*s^5 + a3*bnum1*k6*kh*mp1*mp2*s^7 + a3*bnum1*k6*kp1*mh*mp2*s^7 + a3*bnum1*k6*kp2*mh*mp1*s^7 + a3*bnum2*k6*kh*mp1*mp2*s^6 + a3*bnum2*k6*kp1*mh*mp2*s^6 + a3*bnum2*k6*kp2*mh*mp1*s^6 + a3*bnum3*k6*kh*mp1*mp2*s^5 + a3*bnum3*k6*kp1*mh*mp2*s^5 + a3*bnum3*k6*kp2*mh*mp1*s^5 + b1*bnum1*k2*ke*mp2*mp3*s^6 + b1*bnum2*k2*ke*mp2*mp3*s^5 + b1*bnum3*k2*ke*mp2*mp3*s^4 + b2*bnum1*k4*ke*mp1*mp3*s^6 + b2*bnum2*k4*ke*mp1*mp3*s^5 + b2*bnum3*k4*ke*mp1*mp3*s^4 + b3*bnum1*k6*ke*mp1*mp2*s^6 + b3*bnum2*k6*ke*mp1*mp2*s^5 + b3*bnum3*k6*ke*mp1*mp2*s^4 + b1*bnum1*k2*kh*mp2*mp3*s^6 + b1*bnum1*k2*kp2*mh*mp3*s^6 + b1*bnum1*k2*kp3*mh*mp2*s^6 + b1*bnum2*k2*kh*mp2*mp3*s^5 + b1*bnum2*k2*kp2*mh*mp3*s^5 + b1*bnum2*k2*kp3*mh*mp2*s^5 + b1*bnum3*k2*kh*mp2*mp3*s^4 + b1*bnum3*k2*kp2*mh*mp3*s^4 + b1*bnum3*k2*kp3*mh*mp2*s^4 + b2*bnum1*k4*kh*mp1*mp3*s^6 + b2*bnum1*k4*kp1*mh*mp3*s^6 + b2*bnum1*k4*kp3*mh*mp1*s^6 + b2*bnum2*k4*kh*mp1*mp3*s^5 + b2*bnum2*k4*kp1*mh*mp3*s^5 + b2*bnum2*k4*kp3*mh*mp1*s^5 + b2*bnum3*k4*kh*mp1*mp3*s^4 + b2*bnum3*k4*kp1*mh*mp3*s^4 + b2*bnum3*k4*kp3*mh*mp1*s^4 + b3*bnum1*k6*kh*mp1*mp2*s^6 + b3*bnum1*k6*kp1*mh*mp2*s^6 + b3*bnum1*k6*kp2*mh*mp1*s^6 + b3*bnum2*k6*kh*mp1*mp2*s^5 + b3*bnum2*k6*kp1*mh*mp2*s^5 + b3*bnum2*k6*kp2*mh*mp1*s^5 + b3*bnum3*k6*kh*mp1*mp2*s^4 + b3*bnum3*k6*kp1*mh*mp2*s^4 + b3*bnum3*k6*kp2*mh*mp1*s^4 + a1*bnum1*k2*mh*mp2*mp3*s^9 + a1*bnum2*k2*mh*mp2*mp3*s^8 + a1*bnum3*k2*mh*mp2*mp3*s^7 + a2*bnum1*k4*mh*mp1*mp3*s^9 + a2*bnum2*k4*mh*mp1*mp3*s^8 + a2*bnum3*k4*mh*mp1*mp3*s^7 + a3*bnum1*k6*mh*mp1*mp2*s^9 + a3*bnum2*k6*mh*mp1*mp2*s^8 + a3*bnum3*k6*mh*mp1*mp2*s^7 + b1*bnum1*k2*mh*mp2*mp3*s^8 + b1*bnum2*k2*mh*mp2*mp3*s^7 + b1*bnum3*k2*mh*mp2*mp3*s^6 + b2*bnum1*k4*mh*mp1*mp3*s^8 + b2*bnum2*k4*mh*mp1*mp3*s^7 + b2*bnum3*k4*mh*mp1*mp3*s^6 + b3*bnum1*k6*mh*mp1*mp2*s^8 + b3*bnum2*k6*mh*mp1*mp2*s^7 + b3*bnum3*k6*mh*mp1*mp2*s^6) %Denominator is a 10th order DS0 = b1*bnum3*k2*ke*kp2*kp3 + b2*bnum3*k4*ke*kp1*kp3 + b3*bnum3*k6*ke*kp1*kp2 + b1*bnum3*k2*kh*kp2*kp3 + b2*bnum3*k4*kh*kp1*kp3 + b3*bnum3*k6*kh*kp1*kp2; DS1 = b_ad*bden3*kp1*kp2*kp3 + b1*bnum3*bp2*k2*ke*kp3 + b1*bnum3*bp3*k2*ke*kp2 + b2*bnum3*bp1*k4*ke*kp3 + b2*bnum3*bp3*k4*ke*kp1 + b3*bnum3*bp1*k6*ke*kp2 + b3*bnum3*bp2*k6*ke*kp1 + b1*bh*bnum3*k2*kp2*kp3 + b1*bnum3*bp2*k2*kh*kp3 + b1*bnum3*bp3*k2*kh*kp2 + b2*bh*bnum3*k4*kp1*kp3 + b2*bnum3*bp1*k4*kh*kp3 + b2*bnum3*bp3*k4*kh*kp1 + b3*bh*bnum3*k6*kp1*kp2 + b3*bnum3*bp1*k6*kh*kp2 + b3*bnum3*bp2*k6*kh*kp1 + a1*bnum3*k2*ke*kp2*kp3 + a2*bnum3*k4*ke*kp1*kp3 + a3*bnum3*k6*ke*kp1*kp2 + a1*bnum3*k2*kh*kp2*kp3 + a2*bnum3*k4*kh*kp1*kp3 + a3*bnum3*k6*kh*kp1*kp2 + b1*bnum2*k2*ke*kp2*kp3 + b2*bnum2*k4*ke*kp1*kp3 + b3*bnum2*k6*ke*kp1*kp2 + b1*bnum2*k2*kh*kp2*kp3 + b2*bnum2*k4*kh*kp1*kp3 + b3*bnum2*k6*kh*kp1*kp2; DS2 = b_ad*bden3*bp1*kp2*kp3 + b_ad*bden3*bp2*kp1*kp3 + b_ad*bden3*bp3*kp1*kp2 + b_ad*bden2*kp1*kp2*kp3 + bden3*kp1*kp2*kp3*m_ad + b1*bnum3*bp2*bp3*k2*ke + b2*bnum3*bp1*bp3*k4*ke + b3*bnum3*bp1*bp2*k6*ke + b1*bh*bnum3*bp2*k2*kp3 + b1*bh*bnum3*bp3*k2*kp2 + b1*bnum3*bp2*bp3*k2*kh + b2*bh*bnum3*bp1*k4*kp3 + b2*bh*bnum3*bp3*k4*kp1 + b2*bnum3*bp1*bp3*k4*kh + b3*bh*bnum3*bp1*k6*kp2 + b3*bh*bnum3*bp2*k6*kp1 + b3*bnum3*bp1*bp2*k6*kh + a1*bnum3*bp2*k2*ke*kp3 + a1*bnum3*bp3*k2*ke*kp2 + a2*bnum3*bp1*k4*ke*kp3 + a2*bnum3*bp3*k4*ke*kp1 + a3*bnum3*bp1*k6*ke*kp2 + a3*bnum3*bp2*k6*ke*kp1 + a1*bh*bnum3*k2*kp2*kp3 + a1*bnum3*bp2*k2*kh*kp3 + a1*bnum3*bp3*k2*kh*kp2 + a2*bh*bnum3*k4*kp1*kp3 + a2*bnum3*bp1*k4*kh*kp3 + a2*bnum3*bp3*k4*kh*kp1 + a3*bh*bnum3*k6*kp1*kp2 + a3*bnum3*bp1*k6*kh*kp2 + a3*bnum3*bp2*k6*kh*kp1 + b1*bnum2*bp2*k2*ke*kp3 + b1*bnum2*bp3*k2*ke*kp2 + b2*bnum2*bp1*k4*ke*kp3 + b2*bnum2*bp3*k4*ke*kp1 + b3*bnum2*bp1*k6*ke*kp2 + b3*bnum2*bp2*k6*ke*kp1 + b1*bh*bnum2*k2*kp2*kp3 + b1*bnum2*bp2*k2*kh*kp3 + b1*bnum2*bp3*k2*kh*kp2 + b2*bh*bnum2*k4*kp1*kp3 + b2*bnum2*bp1*k4*kh*kp3 + b2*bnum2*bp3*k4*kh*kp1 + b3*bh*bnum2*k6*kp1*kp2 + b3*bnum2*bp1*k6*kh*kp2 + b3*bnum2*bp2*k6*kh*kp1 + a1*bnum2*k2*ke*kp2*kp3 + a2*bnum2*k4*ke*kp1*kp3 + a3*bnum2*k6*ke*kp1*kp2 + a1*bnum2*k2*kh*kp2*kp3 + a2*bnum2*k4*kh*kp1*kp3 + a3*bnum2*k6*kh*kp1*kp2 + b1*bnum1*k2*ke*kp2*kp3 + b2*bnum1*k4*ke*kp1*kp3 + b3*bnum1*k6*ke*kp1*kp2 + b1*bnum1*k2*kh*kp2*kp3 + b2*bnum1*k4*kh*kp1*kp3 + b3*bnum1*k6*kh*kp1*kp2 + b1*bnum3*k2*ke*kp2*mp3 + b1*bnum3*k2*ke*kp3*mp2 + b2*bnum3*k4*ke*kp1*mp3 + b2*bnum3*k4*ke*kp3*mp1 + b3*bnum3*k6*ke*kp1*mp2 + b3*bnum3*k6*ke*kp2*mp1 + b1*bnum3*k2*kh*kp2*mp3 + b1*bnum3*k2*kh*kp3*mp2 + b1*bnum3*k2*kp2*kp3*mh + b2*bnum3*k4*kh*kp1*mp3 + b2*bnum3*k4*kh*kp3*mp1 + b2*bnum3*k4*kp1*kp3*mh + b3*bnum3*k6*kh*kp1*mp2 + b3*bnum3*k6*kh*kp2*mp1 + b3*bnum3*k6*kp1*kp2*mh; DS3 = b_ad*bden3*bp1*bp2*kp3 + b_ad*bden3*bp1*bp3*kp2 + b_ad*bden3*bp2*bp3*kp1 + b_ad*bden2*bp1*kp2*kp3 + b_ad*bden2*bp2*kp1*kp3 + b_ad*bden2*bp3*kp1*kp2 + b_ad*bden1*kp1*kp2*kp3 + b_ad*bden3*kp1*kp2*mp3 + b_ad*bden3*kp1*kp3*mp2 + b_ad*bden3*kp2*kp3*mp1 + bden3*bp1*kp2*kp3*m_ad + bden3*bp2*kp1*kp3*m_ad + bden3*bp3*kp1*kp2*m_ad + bden2*kp1*kp2*kp3*m_ad + b1*bh*bnum3*bp2*bp3*k2 + b2*bh*bnum3*bp1*bp3*k4 + b3*bh*bnum3*bp1*bp2*k6 + a1*bnum3*bp2*bp3*k2*ke + a2*bnum3*bp1*bp3*k4*ke + a3*bnum3*bp1*bp2*k6*ke + a1*bh*bnum3*bp2*k2*kp3 + a1*bh*bnum3*bp3*k2*kp2 + a1*bnum3*bp2*bp3*k2*kh + a2*bh*bnum3*bp1*k4*kp3 + a2*bh*bnum3*bp3*k4*kp1 + a2*bnum3*bp1*bp3*k4*kh + a3*bh*bnum3*bp1*k6*kp2 + a3*bh*bnum3*bp2*k6*kp1 + a3*bnum3*bp1*bp2*k6*kh + b1*bnum2*bp2*bp3*k2*ke + b2*bnum2*bp1*bp3*k4*ke + b3*bnum2*bp1*bp2*k6*ke + b1*bh*bnum2*bp2*k2*kp3 + b1*bh*bnum2*bp3*k2*kp2 + b1*bnum2*bp2*bp3*k2*kh + b2*bh*bnum2*bp1*k4*kp3 + b2*bh*bnum2*bp3*k4*kp1 + b2*bnum2*bp1*bp3*k4*kh + b3*bh*bnum2*bp1*k6*kp2 + b3*bh*bnum2*bp2*k6*kp1 + b3*bnum2*bp1*bp2*k6*kh + a1*bnum2*bp2*k2*ke*kp3 + a1*bnum2*bp3*k2*ke*kp2 + a2*bnum2*bp1*k4*ke*kp3 + a2*bnum2*bp3*k4*ke*kp1 + a3*bnum2*bp1*k6*ke*kp2 + a3*bnum2*bp2*k6*ke*kp1 + a1*bh*bnum2*k2*kp2*kp3 + a1*bnum2*bp2*k2*kh*kp3 + a1*bnum2*bp3*k2*kh*kp2 + a2*bh*bnum2*k4*kp1*kp3 + a2*bnum2*bp1*k4*kh*kp3 + a2*bnum2*bp3*k4*kh*kp1 + a3*bh*bnum2*k6*kp1*kp2 + a3*bnum2*bp1*k6*kh*kp2 + a3*bnum2*bp2*k6*kh*kp1 + b1*bnum1*bp2*k2*ke*kp3 + b1*bnum1*bp3*k2*ke*kp2 + b2*bnum1*bp1*k4*ke*kp3 + b2*bnum1*bp3*k4*ke*kp1 + b3*bnum1*bp1*k6*ke*kp2 + b3*bnum1*bp2*k6*ke*kp1 + b1*bh*bnum1*k2*kp2*kp3 + b1*bnum1*bp2*k2*kh*kp3 + b1*bnum1*bp3*k2*kh*kp2 + b2*bh*bnum1*k4*kp1*kp3 + b2*bnum1*bp1*k4*kh*kp3 + b2*bnum1*bp3*k4*kh*kp1 + b3*bh*bnum1*k6*kp1*kp2 + b3*bnum1*bp1*k6*kh*kp2 + b3*bnum1*bp2*k6*kh*kp1 + b1*bnum3*bp2*k2*ke*mp3 + b1*bnum3*bp3*k2*ke*mp2 + b2*bnum3*bp1*k4*ke*mp3 + b2*bnum3*bp3*k4*ke*mp1 + b3*bnum3*bp1*k6*ke*mp2 + b3*bnum3*bp2*k6*ke*mp1 + b1*bh*bnum3*k2*kp2*mp3 + b1*bh*bnum3*k2*kp3*mp2 + b1*bnum3*bp2*k2*kh*mp3 + b1*bnum3*bp2*k2*kp3*mh + b1*bnum3*bp3*k2*kh*mp2 + b1*bnum3*bp3*k2*kp2*mh + b2*bh*bnum3*k4*kp1*mp3 + b2*bh*bnum3*k4*kp3*mp1 + b2*bnum3*bp1*k4*kh*mp3 + b2*bnum3*bp1*k4*kp3*mh + b2*bnum3*bp3*k4*kh*mp1 + b2*bnum3*bp3*k4*kp1*mh + b3*bh*bnum3*k6*kp1*mp2 + b3*bh*bnum3*k6*kp2*mp1 + b3*bnum3*bp1*k6*kh*mp2 + b3*bnum3*bp1*k6*kp2*mh + b3*bnum3*bp2*k6*kh*mp1 + b3*bnum3*bp2*k6*kp1*mh + a1*bnum1*k2*ke*kp2*kp3 + a2*bnum1*k4*ke*kp1*kp3 + a3*bnum1*k6*ke*kp1*kp2 + a1*bnum1*k2*kh*kp2*kp3 + a2*bnum1*k4*kh*kp1*kp3 + a3*bnum1*k6*kh*kp1*kp2 + a1*bnum3*k2*ke*kp2*mp3 + a1*bnum3*k2*ke*kp3*mp2 + a2*bnum3*k4*ke*kp1*mp3 + a2*bnum3*k4*ke*kp3*mp1 + a3*bnum3*k6*ke*kp1*mp2 + a3*bnum3*k6*ke*kp2*mp1 + a1*bnum3*k2*kh*kp2*mp3 + a1*bnum3*k2*kh*kp3*mp2 + a1*bnum3*k2*kp2*kp3*mh + a2*bnum3*k4*kh*kp1*mp3 + a2*bnum3*k4*kh*kp3*mp1 + a2*bnum3*k4*kp1*kp3*mh + a3*bnum3*k6*kh*kp1*mp2 + a3*bnum3*k6*kh*kp2*mp1 + a3*bnum3*k6*kp1*kp2*mh + b1*bnum2*k2*ke*kp2*mp3 + b1*bnum2*k2*ke*kp3*mp2 + b2*bnum2*k4*ke*kp1*mp3 + b2*bnum2*k4*ke*kp3*mp1 + b3*bnum2*k6*ke*kp1*mp2 + b3*bnum2*k6*ke*kp2*mp1 + b1*bnum2*k2*kh*kp2*mp3 + b1*bnum2*k2*kh*kp3*mp2 + b1*bnum2*k2*kp2*kp3*mh + b2*bnum2*k4*kh*kp1*mp3 + b2*bnum2*k4*kh*kp3*mp1 + b2*bnum2*k4*kp1*kp3*mh + b3*bnum2*k6*kh*kp1*mp2 + b3*bnum2*k6*kh*kp2*mp1 + b3*bnum2*k6*kp1*kp2*mh; DS4 = b_ad*bden3*bp1*bp2*bp3 + b_ad*bden2*bp1*bp2*kp3 + b_ad*bden2*bp1*bp3*kp2 + b_ad*bden2*bp2*bp3*kp1 + b_ad*bden1*bp1*kp2*kp3 + b_ad*bden1*bp2*kp1*kp3 + b_ad*bden1*bp3*kp1*kp2 + b_ad*bden3*bp1*kp2*mp3 + b_ad*bden3*bp1*kp3*mp2 + b_ad*bden3*bp2*kp1*mp3 + b_ad*bden3*bp2*kp3*mp1 + b_ad*bden3*bp3*kp1*mp2 + b_ad*bden3*bp3*kp2*mp1 + bden3*bp1*bp2*kp3*m_ad + bden3*bp1*bp3*kp2*m_ad + bden3*bp2*bp3*kp1*m_ad + b_ad*bden2*kp1*kp2*mp3 + b_ad*bden2*kp1*kp3*mp2 + b_ad*bden2*kp2*kp3*mp1 + bden2*bp1*kp2*kp3*m_ad + bden2*bp2*kp1*kp3*m_ad + bden2*bp3*kp1*kp2*m_ad + bden1*kp1*kp2*kp3*m_ad + bden3*kp1*kp2*m_ad*mp3 + bden3*kp1*kp3*m_ad*mp2 + bden3*kp2*kp3*m_ad*mp1 + a1*bh*bnum3*bp2*bp3*k2 + a2*bh*bnum3*bp1*bp3*k4 + a3*bh*bnum3*bp1*bp2*k6 + b1*bh*bnum2*bp2*bp3*k2 + b2*bh*bnum2*bp1*bp3*k4 + b3*bh*bnum2*bp1*bp2*k6 + a1*bnum2*bp2*bp3*k2*ke + a2*bnum2*bp1*bp3*k4*ke + a3*bnum2*bp1*bp2*k6*ke + a1*bh*bnum2*bp2*k2*kp3 + a1*bh*bnum2*bp3*k2*kp2 + a1*bnum2*bp2*bp3*k2*kh + a2*bh*bnum2*bp1*k4*kp3 + a2*bh*bnum2*bp3*k4*kp1 + a2*bnum2*bp1*bp3*k4*kh + a3*bh*bnum2*bp1*k6*kp2 + a3*bh*bnum2*bp2*k6*kp1 + a3*bnum2*bp1*bp2*k6*kh + b1*bnum1*bp2*bp3*k2*ke + b2*bnum1*bp1*bp3*k4*ke + b3*bnum1*bp1*bp2*k6*ke + b1*bh*bnum1*bp2*k2*kp3 + b1*bh*bnum1*bp3*k2*kp2 + b1*bnum1*bp2*bp3*k2*kh + b2*bh*bnum1*bp1*k4*kp3 + b2*bh*bnum1*bp3*k4*kp1 + b2*bnum1*bp1*bp3*k4*kh + b3*bh*bnum1*bp1*k6*kp2 + b3*bh*bnum1*bp2*k6*kp1 + b3*bnum1*bp1*bp2*k6*kh + b1*bh*bnum3*bp2*k2*mp3 + b1*bh*bnum3*bp3*k2*mp2 + b1*bnum3*bp2*bp3*k2*mh + b2*bh*bnum3*bp1*k4*mp3 + b2*bh*bnum3*bp3*k4*mp1 + b2*bnum3*bp1*bp3*k4*mh + b3*bh*bnum3*bp1*k6*mp2 + b3*bh*bnum3*bp2*k6*mp1 + b3*bnum3*bp1*bp2*k6*mh + a1*bnum1*bp2*k2*ke*kp3 + a1*bnum1*bp3*k2*ke*kp2 + a2*bnum1*bp1*k4*ke*kp3 + a2*bnum1*bp3*k4*ke*kp1 + a3*bnum1*bp1*k6*ke*kp2 + a3*bnum1*bp2*k6*ke*kp1 + a1*bh*bnum1*k2*kp2*kp3 + a1*bnum1*bp2*k2*kh*kp3 + a1*bnum1*bp3*k2*kh*kp2 + a2*bh*bnum1*k4*kp1*kp3 + a2*bnum1*bp1*k4*kh*kp3 + a2*bnum1*bp3*k4*kh*kp1 + a3*bh*bnum1*k6*kp1*kp2 + a3*bnum1*bp1*k6*kh*kp2 + a3*bnum1*bp2*k6*kh*kp1 + a1*bnum3*bp2*k2*ke*mp3 + a1*bnum3*bp3*k2*ke*mp2 + a2*bnum3*bp1*k4*ke*mp3 + a2*bnum3*bp3*k4*ke*mp1 + a3*bnum3*bp1*k6*ke*mp2 + a3*bnum3*bp2*k6*ke*mp1 + a1*bh*bnum3*k2*kp2*mp3 + a1*bh*bnum3*k2*kp3*mp2 + a1*bnum3*bp2*k2*kh*mp3 + a1*bnum3*bp2*k2*kp3*mh + a1*bnum3*bp3*k2*kh*mp2 + a1*bnum3*bp3*k2*kp2*mh + a2*bh*bnum3*k4*kp1*mp3 + a2*bh*bnum3*k4*kp3*mp1 + a2*bnum3*bp1*k4*kh*mp3 + a2*bnum3*bp1*k4*kp3*mh + a2*bnum3*bp3*k4*kh*mp1 + a2*bnum3*bp3*k4*kp1*mh + a3*bh*bnum3*k6*kp1*mp2 + a3*bh*bnum3*k6*kp2*mp1 + a3*bnum3*bp1*k6*kh*mp2 + a3*bnum3*bp1*k6*kp2*mh + a3*bnum3*bp2*k6*kh*mp1 + a3*bnum3*bp2*k6*kp1*mh + b1*bnum2*bp2*k2*ke*mp3 + b1*bnum2*bp3*k2*ke*mp2 + b2*bnum2*bp1*k4*ke*mp3 + b2*bnum2*bp3*k4*ke*mp1 + b3*bnum2*bp1*k6*ke*mp2 + b3*bnum2*bp2*k6*ke*mp1 + b1*bh*bnum2*k2*kp2*mp3 + b1*bh*bnum2*k2*kp3*mp2 + b1*bnum2*bp2*k2*kh*mp3 + b1*bnum2*bp2*k2*kp3*mh + b1*bnum2*bp3*k2*kh*mp2 + b1*bnum2*bp3*k2*kp2*mh + b2*bh*bnum2*k4*kp1*mp3 + b2*bh*bnum2*k4*kp3*mp1 + b2*bnum2*bp1*k4*kh*mp3 + b2*bnum2*bp1*k4*kp3*mh + b2*bnum2*bp3*k4*kh*mp1 + b2*bnum2*bp3*k4*kp1*mh + b3*bh*bnum2*k6*kp1*mp2 + b3*bh*bnum2*k6*kp2*mp1 + b3*bnum2*bp1*k6*kh*mp2 + b3*bnum2*bp1*k6*kp2*mh + b3*bnum2*bp2*k6*kh*mp1 + b3*bnum2*bp2*k6*kp1*mh + a1*bnum2*k2*ke*kp2*mp3 + a1*bnum2*k2*ke*kp3*mp2 + a2*bnum2*k4*ke*kp1*mp3 + a2*bnum2*k4*ke*kp3*mp1 + a3*bnum2*k6*ke*kp1*mp2 + a3*bnum2*k6*ke*kp2*mp1 + a1*bnum2*k2*kh*kp2*mp3 + a1*bnum2*k2*kh*kp3*mp2 + a1*bnum2*k2*kp2*kp3*mh + a2*bnum2*k4*kh*kp1*mp3 + a2*bnum2*k4*kh*kp3*mp1 + a2*bnum2*k4*kp1*kp3*mh + a3*bnum2*k6*kh*kp1*mp2 + a3*bnum2*k6*kh*kp2*mp1 + a3*bnum2*k6*kp1*kp2*mh + b1*bnum1*k2*ke*kp2*mp3 + b1*bnum1*k2*ke*kp3*mp2 + b2*bnum1*k4*ke*kp1*mp3 + b2*bnum1*k4*ke*kp3*mp1 + b3*bnum1*k6*ke*kp1*mp2 + b3*bnum1*k6*ke*kp2*mp1 + b1*bnum1*k2*kh*kp2*mp3 + b1*bnum1*k2*kh*kp3*mp2 + b1*bnum1*k2*kp2*kp3*mh + b2*bnum1*k4*kh*kp1*mp3 + b2*bnum1*k4*kh*kp3*mp1 + b2*bnum1*k4*kp1*kp3*mh + b3*bnum1*k6*kh*kp1*mp2 + b3*bnum1*k6*kh*kp2*mp1 + b3*bnum1*k6*kp1*kp2*mh + b1*bnum3*k2*ke*mp2*mp3 + b2*bnum3*k4*ke*mp1*mp3 + b3*bnum3*k6*ke*mp1*mp2 + b1*bnum3*k2*kh*mp2*mp3 + b1*bnum3*k2*kp2*mh*mp3 + b1*bnum3*k2*kp3*mh*mp2 + b2*bnum3*k4*kh*mp1*mp3 + b2*bnum3*k4*kp1*mh*mp3 + b2*bnum3*k4*kp3*mh*mp1 + b3*bnum3*k6*kh*mp1*mp2 + b3*bnum3*k6*kp1*mh*mp2 + b3*bnum3*k6*kp2*mh*mp1; DS5 = b_ad*bden2*bp1*bp2*bp3 + b_ad*bden1*bp1*bp2*kp3 + b_ad*bden1*bp1*bp3*kp2 + b_ad*bden1*bp2*bp3*kp1 + b_ad*bden3*bp1*bp2*mp3 + b_ad*bden3*bp1*bp3*mp2 + b_ad*bden3*bp2*bp3*mp1 + bden3*bp1*bp2*bp3*m_ad + b_ad*bden2*bp1*kp2*mp3 + b_ad*bden2*bp1*kp3*mp2 + b_ad*bden2*bp2*kp1*mp3 + b_ad*bden2*bp2*kp3*mp1 + b_ad*bden2*bp3*kp1*mp2 + b_ad*bden2*bp3*kp2*mp1 + bden2*bp1*bp2*kp3*m_ad + bden2*bp1*bp3*kp2*m_ad + bden2*bp2*bp3*kp1*m_ad + b_ad*bden1*kp1*kp2*mp3 + b_ad*bden1*kp1*kp3*mp2 + b_ad*bden1*kp2*kp3*mp1 + bden1*bp1*kp2*kp3*m_ad + bden1*bp2*kp1*kp3*m_ad + bden1*bp3*kp1*kp2*m_ad + b_ad*bden3*kp1*mp2*mp3 + b_ad*bden3*kp2*mp1*mp3 + b_ad*bden3*kp3*mp1*mp2 + bden3*bp1*kp2*m_ad*mp3 + bden3*bp1*kp3*m_ad*mp2 + bden3*bp2*kp1*m_ad*mp3 + bden3*bp2*kp3*m_ad*mp1 + bden3*bp3*kp1*m_ad*mp2 + bden3*bp3*kp2*m_ad*mp1 + bden2*kp1*kp2*m_ad*mp3 + bden2*kp1*kp3*m_ad*mp2 + bden2*kp2*kp3*m_ad*mp1 + a1*bh*bnum2*bp2*bp3*k2 + a2*bh*bnum2*bp1*bp3*k4 + a3*bh*bnum2*bp1*bp2*k6 + b1*bh*bnum1*bp2*bp3*k2 + b2*bh*bnum1*bp1*bp3*k4 + b3*bh*bnum1*bp1*bp2*k6 + a1*bnum1*bp2*bp3*k2*ke + a2*bnum1*bp1*bp3*k4*ke + a3*bnum1*bp1*bp2*k6*ke + a1*bh*bnum1*bp2*k2*kp3 + a1*bh*bnum1*bp3*k2*kp2 + a1*bnum1*bp2*bp3*k2*kh + a2*bh*bnum1*bp1*k4*kp3 + a2*bh*bnum1*bp3*k4*kp1 + a2*bnum1*bp1*bp3*k4*kh + a3*bh*bnum1*bp1*k6*kp2 + a3*bh*bnum1*bp2*k6*kp1 + a3*bnum1*bp1*bp2*k6*kh + a1*bh*bnum3*bp2*k2*mp3 + a1*bh*bnum3*bp3*k2*mp2 + a1*bnum3*bp2*bp3*k2*mh + a2*bh*bnum3*bp1*k4*mp3 + a2*bh*bnum3*bp3*k4*mp1 + a2*bnum3*bp1*bp3*k4*mh + a3*bh*bnum3*bp1*k6*mp2 + a3*bh*bnum3*bp2*k6*mp1 + a3*bnum3*bp1*bp2*k6*mh + b1*bh*bnum2*bp2*k2*mp3 + b1*bh*bnum2*bp3*k2*mp2 + b1*bnum2*bp2*bp3*k2*mh + b2*bh*bnum2*bp1*k4*mp3 + b2*bh*bnum2*bp3*k4*mp1 + b2*bnum2*bp1*bp3*k4*mh + b3*bh*bnum2*bp1*k6*mp2 + b3*bh*bnum2*bp2*k6*mp1 + b3*bnum2*bp1*bp2*k6*mh + a1*bnum2*bp2*k2*ke*mp3 + a1*bnum2*bp3*k2*ke*mp2 + a2*bnum2*bp1*k4*ke*mp3 + a2*bnum2*bp3*k4*ke*mp1 + a3*bnum2*bp1*k6*ke*mp2 + a3*bnum2*bp2*k6*ke*mp1 + a1*bh*bnum2*k2*kp2*mp3 + a1*bh*bnum2*k2*kp3*mp2 + a1*bnum2*bp2*k2*kh*mp3 + a1*bnum2*bp2*k2*kp3*mh + a1*bnum2*bp3*k2*kh*mp2 + a1*bnum2*bp3*k2*kp2*mh + a2*bh*bnum2*k4*kp1*mp3 + a2*bh*bnum2*k4*kp3*mp1 + a2*bnum2*bp1*k4*kh*mp3 + a2*bnum2*bp1*k4*kp3*mh + a2*bnum2*bp3*k4*kh*mp1 + a2*bnum2*bp3*k4*kp1*mh + a3*bh*bnum2*k6*kp1*mp2 + a3*bh*bnum2*k6*kp2*mp1 + a3*bnum2*bp1*k6*kh*mp2 + a3*bnum2*bp1*k6*kp2*mh + a3*bnum2*bp2*k6*kh*mp1 + a3*bnum2*bp2*k6*kp1*mh + b1*bnum1*bp2*k2*ke*mp3 + b1*bnum1*bp3*k2*ke*mp2 + b2*bnum1*bp1*k4*ke*mp3 + b2*bnum1*bp3*k4*ke*mp1 + b3*bnum1*bp1*k6*ke*mp2 + b3*bnum1*bp2*k6*ke*mp1 + b1*bh*bnum1*k2*kp2*mp3 + b1*bh*bnum1*k2*kp3*mp2 + b1*bnum1*bp2*k2*kh*mp3 + b1*bnum1*bp2*k2*kp3*mh + b1*bnum1*bp3*k2*kh*mp2 + b1*bnum1*bp3*k2*kp2*mh + b2*bh*bnum1*k4*kp1*mp3 + b2*bh*bnum1*k4*kp3*mp1 + b2*bnum1*bp1*k4*kh*mp3 + b2*bnum1*bp1*k4*kp3*mh + b2*bnum1*bp3*k4*kh*mp1 + b2*bnum1*bp3*k4*kp1*mh + b3*bh*bnum1*k6*kp1*mp2 + b3*bh*bnum1*k6*kp2*mp1 + b3*bnum1*bp1*k6*kh*mp2 + b3*bnum1*bp1*k6*kp2*mh + b3*bnum1*bp2*k6*kh*mp1 + b3*bnum1*bp2*k6*kp1*mh + b1*bh*bnum3*k2*mp2*mp3 + b1*bnum3*bp2*k2*mh*mp3 + b1*bnum3*bp3*k2*mh*mp2 + b2*bh*bnum3*k4*mp1*mp3 + b2*bnum3*bp1*k4*mh*mp3 + b2*bnum3*bp3*k4*mh*mp1 + b3*bh*bnum3*k6*mp1*mp2 + b3*bnum3*bp1*k6*mh*mp2 + b3*bnum3*bp2*k6*mh*mp1 + a1*bnum1*k2*ke*kp2*mp3 + a1*bnum1*k2*ke*kp3*mp2 + a2*bnum1*k4*ke*kp1*mp3 + a2*bnum1*k4*ke*kp3*mp1 + a3*bnum1*k6*ke*kp1*mp2 + a3*bnum1*k6*ke*kp2*mp1 + a1*bnum1*k2*kh*kp2*mp3 + a1*bnum1*k2*kh*kp3*mp2 + a1*bnum1*k2*kp2*kp3*mh + a2*bnum1*k4*kh*kp1*mp3 + a2*bnum1*k4*kh*kp3*mp1 + a2*bnum1*k4*kp1*kp3*mh + a3*bnum1*k6*kh*kp1*mp2 + a3*bnum1*k6*kh*kp2*mp1 + a3*bnum1*k6*kp1*kp2*mh + a1*bnum3*k2*ke*mp2*mp3 + a2*bnum3*k4*ke*mp1*mp3 + a3*bnum3*k6*ke*mp1*mp2 + a1*bnum3*k2*kh*mp2*mp3 + a1*bnum3*k2*kp2*mh*mp3 + a1*bnum3*k2*kp3*mh*mp2 + a2*bnum3*k4*kh*mp1*mp3 + a2*bnum3*k4*kp1*mh*mp3 + a2*bnum3*k4*kp3*mh*mp1 + a3*bnum3*k6*kh*mp1*mp2 + a3*bnum3*k6*kp1*mh*mp2 + a3*bnum3*k6*kp2*mh*mp1 + b1*bnum2*k2*ke*mp2*mp3 + b2*bnum2*k4*ke*mp1*mp3 + b3*bnum2*k6*ke*mp1*mp2 + b1*bnum2*k2*kh*mp2*mp3 + b1*bnum2*k2*kp2*mh*mp3 + b1*bnum2*k2*kp3*mh*mp2 + b2*bnum2*k4*kh*mp1*mp3 + b2*bnum2*k4*kp1*mh*mp3 + b2*bnum2*k4*kp3*mh*mp1 + b3*bnum2*k6*kh*mp1*mp2 + b3*bnum2*k6*kp1*mh*mp2 + b3*bnum2*k6*kp2*mh*mp1; DS6 = b_ad*bden1*bp1*bp2*bp3 + b_ad*bden2*bp1*bp2*mp3 + b_ad*bden2*bp1*bp3*mp2 + b_ad*bden2*bp2*bp3*mp1 + bden2*bp1*bp2*bp3*m_ad + b_ad*bden1*bp1*kp2*mp3 + b_ad*bden1*bp1*kp3*mp2 + b_ad*bden1*bp2*kp1*mp3 + b_ad*bden1*bp2*kp3*mp1 + b_ad*bden1*bp3*kp1*mp2 + b_ad*bden1*bp3*kp2*mp1 + bden1*bp1*bp2*kp3*m_ad + bden1*bp1*bp3*kp2*m_ad + bden1*bp2*bp3*kp1*m_ad + b_ad*bden3*bp1*mp2*mp3 + b_ad*bden3*bp2*mp1*mp3 + b_ad*bden3*bp3*mp1*mp2 + bden3*bp1*bp2*m_ad*mp3 + bden3*bp1*bp3*m_ad*mp2 + bden3*bp2*bp3*m_ad*mp1 + b_ad*bden2*kp1*mp2*mp3 + b_ad*bden2*kp2*mp1*mp3 + b_ad*bden2*kp3*mp1*mp2 + bden2*bp1*kp2*m_ad*mp3 + bden2*bp1*kp3*m_ad*mp2 + bden2*bp2*kp1*m_ad*mp3 + bden2*bp2*kp3*m_ad*mp1 + bden2*bp3*kp1*m_ad*mp2 + bden2*bp3*kp2*m_ad*mp1 + bden1*kp1*kp2*m_ad*mp3 + bden1*kp1*kp3*m_ad*mp2 + bden1*kp2*kp3*m_ad*mp1 + bden3*kp1*m_ad*mp2*mp3 + bden3*kp2*m_ad*mp1*mp3 + bden3*kp3*m_ad*mp1*mp2 + a1*bh*bnum1*bp2*bp3*k2 + a2*bh*bnum1*bp1*bp3*k4 + a3*bh*bnum1*bp1*bp2*k6 + a1*bh*bnum2*bp2*k2*mp3 + a1*bh*bnum2*bp3*k2*mp2 + a1*bnum2*bp2*bp3*k2*mh + a2*bh*bnum2*bp1*k4*mp3 + a2*bh*bnum2*bp3*k4*mp1 + a2*bnum2*bp1*bp3*k4*mh + a3*bh*bnum2*bp1*k6*mp2 + a3*bh*bnum2*bp2*k6*mp1 + a3*bnum2*bp1*bp2*k6*mh + b1*bh*bnum1*bp2*k2*mp3 + b1*bh*bnum1*bp3*k2*mp2 + b1*bnum1*bp2*bp3*k2*mh + b2*bh*bnum1*bp1*k4*mp3 + b2*bh*bnum1*bp3*k4*mp1 + b2*bnum1*bp1*bp3*k4*mh + b3*bh*bnum1*bp1*k6*mp2 + b3*bh*bnum1*bp2*k6*mp1 + b3*bnum1*bp1*bp2*k6*mh + a1*bnum1*bp2*k2*ke*mp3 + a1*bnum1*bp3*k2*ke*mp2 + a2*bnum1*bp1*k4*ke*mp3 + a2*bnum1*bp3*k4*ke*mp1 + a3*bnum1*bp1*k6*ke*mp2 + a3*bnum1*bp2*k6*ke*mp1 + a1*bh*bnum1*k2*kp2*mp3 + a1*bh*bnum1*k2*kp3*mp2 + a1*bnum1*bp2*k2*kh*mp3 + a1*bnum1*bp2*k2*kp3*mh + a1*bnum1*bp3*k2*kh*mp2 + a1*bnum1*bp3*k2*kp2*mh + a2*bh*bnum1*k4*kp1*mp3 + a2*bh*bnum1*k4*kp3*mp1 + a2*bnum1*bp1*k4*kh*mp3 + a2*bnum1*bp1*k4*kp3*mh + a2*bnum1*bp3*k4*kh*mp1 + a2*bnum1*bp3*k4*kp1*mh + a3*bh*bnum1*k6*kp1*mp2 + a3*bh*bnum1*k6*kp2*mp1 + a3*bnum1*bp1*k6*kh*mp2 + a3*bnum1*bp1*k6*kp2*mh + a3*bnum1*bp2*k6*kh*mp1 + a3*bnum1*bp2*k6*kp1*mh + a1*bh*bnum3*k2*mp2*mp3 + a1*bnum3*bp2*k2*mh*mp3 + a1*bnum3*bp3*k2*mh*mp2 + a2*bh*bnum3*k4*mp1*mp3 + a2*bnum3*bp1*k4*mh*mp3 + a2*bnum3*bp3*k4*mh*mp1 + a3*bh*bnum3*k6*mp1*mp2 + a3*bnum3*bp1*k6*mh*mp2 + a3*bnum3*bp2*k6*mh*mp1 + b1*bh*bnum2*k2*mp2*mp3 + b1*bnum2*bp2*k2*mh*mp3 + b1*bnum2*bp3*k2*mh*mp2 + b2*bh*bnum2*k4*mp1*mp3 + b2*bnum2*bp1*k4*mh*mp3 + b2*bnum2*bp3*k4*mh*mp1 + b3*bh*bnum2*k6*mp1*mp2 + b3*bnum2*bp1*k6*mh*mp2 + b3*bnum2*bp2*k6*mh*mp1 + a1*bnum2*k2*ke*mp2*mp3 + a2*bnum2*k4*ke*mp1*mp3 + a3*bnum2*k6*ke*mp1*mp2 + a1*bnum2*k2*kh*mp2*mp3 + a1*bnum2*k2*kp2*mh*mp3 + a1*bnum2*k2*kp3*mh*mp2 + a2*bnum2*k4*kh*mp1*mp3 + a2*bnum2*k4*kp1*mh*mp3 + a2*bnum2*k4*kp3*mh*mp1 + a3*bnum2*k6*kh*mp1*mp2 + a3*bnum2*k6*kp1*mh*mp2 + a3*bnum2*k6*kp2*mh*mp1 + b1*bnum1*k2*ke*mp2*mp3 + b2*bnum1*k4*ke*mp1*mp3 + b3*bnum1*k6*ke*mp1*mp2 + b1*bnum1*k2*kh*mp2*mp3 + b1*bnum1*k2*kp2*mh*mp3 + b1*bnum1*k2*kp3*mh*mp2 + b2*bnum1*k4*kh*mp1*mp3 + b2*bnum1*k4*kp1*mh*mp3 + b2*bnum1*k4*kp3*mh*mp1 + b3*bnum1*k6*kh*mp1*mp2 + b3*bnum1*k6*kp1*mh*mp2 + b3*bnum1*k6*kp2*mh*mp1 + b1*bnum3*k2*mh*mp2*mp3 + b2*bnum3*k4*mh*mp1*mp3 + b3*bnum3*k6*mh*mp1*mp2; DS7 = b_ad*bden1*bp1*bp2*mp3 + b_ad*bden1*bp1*bp3*mp2 + b_ad*bden1*bp2*bp3*mp1 + bden1*bp1*bp2*bp3*m_ad + b_ad*bden2*bp1*mp2*mp3 + b_ad*bden2*bp2*mp1*mp3 + b_ad*bden2*bp3*mp1*mp2 + bden2*bp1*bp2*m_ad*mp3 + bden2*bp1*bp3*m_ad*mp2 + bden2*bp2*bp3*m_ad*mp1 + b_ad*bden1*kp1*mp2*mp3 + b_ad*bden1*kp2*mp1*mp3 + b_ad*bden1*kp3*mp1*mp2 + bden1*bp1*kp2*m_ad*mp3 + bden1*bp1*kp3*m_ad*mp2 + bden1*bp2*kp1*m_ad*mp3 + bden1*bp2*kp3*m_ad*mp1 + bden1*bp3*kp1*m_ad*mp2 + bden1*bp3*kp2*m_ad*mp1 + b_ad*bden3*mp1*mp2*mp3 + bden3*bp1*m_ad*mp2*mp3 + bden3*bp2*m_ad*mp1*mp3 + bden3*bp3*m_ad*mp1*mp2 + bden2*kp1*m_ad*mp2*mp3 + bden2*kp2*m_ad*mp1*mp3 + bden2*kp3*m_ad*mp1*mp2 + a1*bh*bnum1*bp2*k2*mp3 + a1*bh*bnum1*bp3*k2*mp2 + a1*bnum1*bp2*bp3*k2*mh + a2*bh*bnum1*bp1*k4*mp3 + a2*bh*bnum1*bp3*k4*mp1 + a2*bnum1*bp1*bp3*k4*mh + a3*bh*bnum1*bp1*k6*mp2 + a3*bh*bnum1*bp2*k6*mp1 + a3*bnum1*bp1*bp2*k6*mh + a1*bh*bnum2*k2*mp2*mp3 + a1*bnum2*bp2*k2*mh*mp3 + a1*bnum2*bp3*k2*mh*mp2 + a2*bh*bnum2*k4*mp1*mp3 + a2*bnum2*bp1*k4*mh*mp3 + a2*bnum2*bp3*k4*mh*mp1 + a3*bh*bnum2*k6*mp1*mp2 + a3*bnum2*bp1*k6*mh*mp2 + a3*bnum2*bp2*k6*mh*mp1 + b1*bh*bnum1*k2*mp2*mp3 + b1*bnum1*bp2*k2*mh*mp3 + b1*bnum1*bp3*k2*mh*mp2 + b2*bh*bnum1*k4*mp1*mp3 + b2*bnum1*bp1*k4*mh*mp3 + b2*bnum1*bp3*k4*mh*mp1 + b3*bh*bnum1*k6*mp1*mp2 + b3*bnum1*bp1*k6*mh*mp2 + b3*bnum1*bp2*k6*mh*mp1 + a1*bnum1*k2*ke*mp2*mp3 + a2*bnum1*k4*ke*mp1*mp3 + a3*bnum1*k6*ke*mp1*mp2 + a1*bnum1*k2*kh*mp2*mp3 + a1*bnum1*k2*kp2*mh*mp3 + a1*bnum1*k2*kp3*mh*mp2 + a2*bnum1*k4*kh*mp1*mp3 + a2*bnum1*k4*kp1*mh*mp3 + a2*bnum1*k4*kp3*mh*mp1 + a3*bnum1*k6*kh*mp1*mp2 + a3*bnum1*k6*kp1*mh*mp2 + a3*bnum1*k6*kp2*mh*mp1 + a1*bnum3*k2*mh*mp2*mp3 + a2*bnum3*k4*mh*mp1*mp3 + a3*bnum3*k6*mh*mp1*mp2 + b1*bnum2*k2*mh*mp2*mp3 + b2*bnum2*k4*mh*mp1*mp3 + b3*bnum2*k6*mh*mp1*mp2; DS8 = b_ad*bden1*bp1*mp2*mp3 + b_ad*bden1*bp2*mp1*mp3 + b_ad*bden1*bp3*mp1*mp2 + bden1*bp1*bp2*m_ad*mp3 + bden1*bp1*bp3*m_ad*mp2 + bden1*bp2*bp3*m_ad*mp1 + b_ad*bden2*mp1*mp2*mp3 + bden2*bp1*m_ad*mp2*mp3 + bden2*bp2*m_ad*mp1*mp3 + bden2*bp3*m_ad*mp1*mp2 + bden1*kp1*m_ad*mp2*mp3 + bden1*kp2*m_ad*mp1*mp3 + bden1*kp3*m_ad*mp1*mp2 + bden3*m_ad*mp1*mp2*mp3 + a1*bh*bnum1*k2*mp2*mp3 + a1*bnum1*bp2*k2*mh*mp3 + a1*bnum1*bp3*k2*mh*mp2 + a2*bh*bnum1*k4*mp1*mp3 + a2*bnum1*bp1*k4*mh*mp3 + a2*bnum1*bp3*k4*mh*mp1 + a3*bh*bnum1*k6*mp1*mp2 + a3*bnum1*bp1*k6*mh*mp2 + a3*bnum1*bp2*k6*mh*mp1 + a1*bnum2*k2*mh*mp2*mp3 + a2*bnum2*k4*mh*mp1*mp3 + a3*bnum2*k6*mh*mp1*mp2 + b1*bnum1*k2*mh*mp2*mp3 + b2*bnum1*k4*mh*mp1*mp3 + b3*bnum1*k6*mh*mp1*mp2; DS9 = b_ad*bden1*mp1*mp2*mp3 + bden1*bp1*m_ad*mp2*mp3 + bden1*bp2*m_ad*mp1*mp3 + bden1*bp3*m_ad*mp1*mp2 + bden2*m_ad*mp1*mp2*mp3 + a1*bnum1*k2*mh*mp2*mp3 + a2*bnum1*k4*mh*mp1*mp3 + a3*bnum1*k6*mh*mp1*mp2; DS10 = bden1*m_ad*mp1*mp2*mp3; %Numerator is an 8th order NS0 = 0; NS1 = bden3*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2); NS2 = bden3*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden2*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2); NS3 = bden2*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden1*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2) + bden3*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1); NS4 = bden1*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden2*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1) + bden3*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS5 = bden3*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden1*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1) + bden2*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS6 = bden2*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden3*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2) + bden1*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS7 = bden1*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden2*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2); NS8 = bden1*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2); %% Apply the values from the paper to the symbolic function mp1=1; bp1=129.04; kp1 = 752.7; mp2 = 1; bp2= 72.97; kp2= 1723; mp3 = 1; bp3 = 95.39; kp3 = 6513; mh = 5; bh = 41; kh = 401; ke = 16599; a1=25.69; b1=749.3; a2=65.99; b2 =1679; a3 =63.77; b3=6564; [bnum,bden] = butter(2,5/(30/2)); bnum1 = bnum(1); bnum2 = bnum(2); bnum3 = bnum(3); bden1 = bden(1); bden2 = bden(2); bden3 = bden(3); k2 = -0.1896; k4 = 1.6550; k6 = -0.4654; m_ad = 50; b_ad = 900; %% Make the symbolic function appear more manageable VDS0 = vpa(eval(DS0)) VDS1 = vpa(eval(DS1)) VDS2 = vpa(eval(DS2)) VDS3 = vpa(eval(DS3)) VDS4 = vpa(eval(DS4)) VDS5 = vpa(eval(DS5)) VDS6 = vpa(eval(DS6)) VDS7 = vpa(eval(DS7)) VDS8 = vpa(eval(DS8)) VDS9 = vpa(eval(DS9)); VDS10 = vpa(eval(DS10)); VDS0 =21261399472196.24609375; VDS1 =2030661611.8014128143008105498168*b_ad + 47949294906007.275762557983398438; VDS2 =2030661611.8014132976531982421875*m_ad - 4774822762.6207298610944516119581*b_ad + 32408242353192.444770203903317451; VDS3 =7275324064.0530543483563131864256*b_ad - 4774822762.620730355381965637207*m_ad + 6020904970365.1409040717408061028; VDS4 =1864921570.4989068050254456076256*b_ad + 7275324064.0530547559610567986965*m_ad + 307402224757.44137989897171792109; VDS5 =103513306.51251661538944404178597*b_ad + 1864921570.4989066019788879202679*m_ad + 6982873848.042935041883708890964; VDS6 =2704011.1156877219385823286339487*b_ad + 103513306.51251660590529013461492*m_ad + 140333460.89426495867903099679097; VDS7 =37490.274408007260285118178444463*b_ad + 2704011.1156877217273759583804349*m_ad + 1647313.2932705096305219250041318; VDS8 =296.77979589711327110812533192075*b_ad + 37490.274408007258229824643080974*m_ad + 13984.612338569021811274240008061; VDS9 = b_ad + 296.77979589711327110812533192075*m_ad + 57.883701639767129787372823557234; VDS10 =m_ad; %Numerator is an 8th order VNS0 = 0; VNS1 = eval(NS1); VNS2 = eval(NS2); VNS3 = eval(NS3); VNS4 = eval(NS4); VNS5 = eval(NS5); VNS6 = eval(NS6); VNS7 = eval(NS7); VNS8 = eval(NS8); %% evaluate the stability for the case with no impedance applied masses = 0:5:200; dampers = 0:10:1000; unstable = zeros(length(masses),length(dampers)) for massval = 1:length(masses) for dampval = 1:length(dampers) dampval mad = masses(massval); bad = dampers(dampval); EDS0 =21261399472196.24609375; EDS1 =2030661611.8014128143008105498168*bad + 47949294906007.275762557983398438; EDS2 =2030661611.8014132976531982421875*mad - 4774822762.6207298610944516119581*bad + 32408242353192.444770203903317451; EDS3 =7275324064.0530543483563131864256*bad - 4774822762.620730355381965637207*mad + 6020904970365.1409040717408061028; EDS4 =1864921570.4989068050254456076256*bad + 7275324064.0530547559610567986965*mad + 307402224757.44137989897171792109; EDS5 =103513306.51251661538944404178597*bad + 1864921570.4989066019788879202679*mad + 6982873848.042935041883708890964; EDS6 =2704011.1156877219385823286339487*bad + 103513306.51251660590529013461492*mad + 140333460.89426495867903099679097; EDS7 =37490.274408007260285118178444463*bad + 2704011.1156877217273759583804349*mad + 1647313.2932705096305219250041318; EDS8 =296.77979589711327110812533192075*bad + 37490.274408007258229824643080974*mad + 13984.612338569021811274240008061; EDS9 = bad + 296.77979589711327110812533192075*mad + 57.883701639767129787372823557234; EDS10 =mad; denominator = vpa((EDS10)*s^10 + (EDS9)*s^9 + (EDS8)*s^8 + (EDS7)*s^7 + (EDS6)*s^6 + (EDS5)*s^5 + (EDS4)*s^4 + (EDS3)*s^3 + (EDS2)*s^2 + (EDS1)*s +(EDS0)); % Grab the poles and evaluate if any poles are unstable poles = solve(denominator,s); realpoles = real(poles); unstable(massval,dampval) = ~(any(realpoles(:)>0)); end end %% Apply the values to the symbolic transfer function this time including Impedance mp1=1; bp1=129.04; kp1 = 752.7; mp2 = 1; bp2= 72.97; kp2= 1723; mp3 = 1; bp3 = 95.39; kp3 = 6513; mh = 5; bh = 41; kh = 401; ke = 16599; a1=25.69; b1=749.3; a2=65.99; b2 =1679; a3 =63.77; b3=6564; [bnum,bden] = butter(2,5/(30/2)); bnum1 = bnum(1); bnum2 = bnum(2); bnum3 = bnum(3); bden1 = bden(1); bden2 = bden(2); bden3 = bden(3); k2 = -0.1896; k4 = 1.6550; k6 = -0.4654; masses = 0:5:200; dampers = 0:10:1000; unstable = zeros(length(masses),length(dampers),8); % Grab the type of impedance then run through the stability analysis for impedance_type =1:8 switch impedance_type case 1 %Extreme Case set 1 full Ze and Zh mh = 5; bh = 41; kh = 401; me = 0; be = 0; ke = 16599; masses = 0:5:200; dampers = 0:10:1000; case 2 %Extreme Case set 2 full Ze and Zh with only mass mh = 5; bh = 0; kh = 401; me = 0; be = 0; ke = 16599; case 3 %Extreme Case set 3 full Ze no Zh mass mh = 0; bh = 41; kh = 401; me = 0; be = 0; ke = 16599; case 4 %Extreme Case set 4 full Ze no Zh mass or damping mh = 0; bh = 0; kh = 401; me = 0; be = 0; ke = 16599; case 5 %Extreme Case set 5 no Ze only Zh mass and damping mh = 5; bh = 41; kh = 401; me = 0; be = 0; ke = 0; masses = linspace(0,25,41); dampers = linspace(0,30,101); case 6 %Extreme Case set 6 no Ze only Zh mass mh = 5; bh = 0; kh = 401; me = 0; be = 0; ke = 0; case 7 %Extreme Case set 7 no Ze only Zh damping mh = 0; bh = 41; kh = 401; me = 0; be = 0; ke = 0; case 8 %Extreme Case set 8 no Ze or Zh mh = 0; bh = 0; kh = 401; me = 0; be = 0; ke = 0; end for massval = 1:length(masses) for dampval = 1:length(dampers) dampval m_ad = masses(massval); b_ad = dampers(dampval); %Denominator is a 10th order DS0 = b1*bnum3*k2*ke*kp2*kp3 + b2*bnum3*k4*ke*kp1*kp3 + b3*bnum3*k6*ke*kp1*kp2 + b1*bnum3*k2*kh*kp2*kp3 + b2*bnum3*k4*kh*kp1*kp3 + b3*bnum3*k6*kh*kp1*kp2; DS1 = b_ad*bden3*kp1*kp2*kp3 + b1*bnum3*bp2*k2*ke*kp3 + b1*bnum3*bp3*k2*ke*kp2 + b2*bnum3*bp1*k4*ke*kp3 + b2*bnum3*bp3*k4*ke*kp1 + b3*bnum3*bp1*k6*ke*kp2 + b3*bnum3*bp2*k6*ke*kp1 + b1*bh*bnum3*k2*kp2*kp3 + b1*bnum3*bp2*k2*kh*kp3 + b1*bnum3*bp3*k2*kh*kp2 + b2*bh*bnum3*k4*kp1*kp3 + b2*bnum3*bp1*k4*kh*kp3 + b2*bnum3*bp3*k4*kh*kp1 + b3*bh*bnum3*k6*kp1*kp2 + b3*bnum3*bp1*k6*kh*kp2 + b3*bnum3*bp2*k6*kh*kp1 + a1*bnum3*k2*ke*kp2*kp3 + a2*bnum3*k4*ke*kp1*kp3 + a3*bnum3*k6*ke*kp1*kp2 + a1*bnum3*k2*kh*kp2*kp3 + a2*bnum3*k4*kh*kp1*kp3 + a3*bnum3*k6*kh*kp1*kp2 + b1*bnum2*k2*ke*kp2*kp3 + b2*bnum2*k4*ke*kp1*kp3 + b3*bnum2*k6*ke*kp1*kp2 + b1*bnum2*k2*kh*kp2*kp3 + b2*bnum2*k4*kh*kp1*kp3 + b3*bnum2*k6*kh*kp1*kp2; DS2 = b_ad*bden3*bp1*kp2*kp3 + b_ad*bden3*bp2*kp1*kp3 + b_ad*bden3*bp3*kp1*kp2 + b_ad*bden2*kp1*kp2*kp3 + bden3*kp1*kp2*kp3*m_ad + b1*bnum3*bp2*bp3*k2*ke + b2*bnum3*bp1*bp3*k4*ke + b3*bnum3*bp1*bp2*k6*ke + b1*bh*bnum3*bp2*k2*kp3 + b1*bh*bnum3*bp3*k2*kp2 + b1*bnum3*bp2*bp3*k2*kh + b2*bh*bnum3*bp1*k4*kp3 + b2*bh*bnum3*bp3*k4*kp1 + b2*bnum3*bp1*bp3*k4*kh + b3*bh*bnum3*bp1*k6*kp2 + b3*bh*bnum3*bp2*k6*kp1 + b3*bnum3*bp1*bp2*k6*kh + a1*bnum3*bp2*k2*ke*kp3 + a1*bnum3*bp3*k2*ke*kp2 + a2*bnum3*bp1*k4*ke*kp3 + a2*bnum3*bp3*k4*ke*kp1 + a3*bnum3*bp1*k6*ke*kp2 + a3*bnum3*bp2*k6*ke*kp1 + a1*bh*bnum3*k2*kp2*kp3 + a1*bnum3*bp2*k2*kh*kp3 + a1*bnum3*bp3*k2*kh*kp2 + a2*bh*bnum3*k4*kp1*kp3 + a2*bnum3*bp1*k4*kh*kp3 + a2*bnum3*bp3*k4*kh*kp1 + a3*bh*bnum3*k6*kp1*kp2 + a3*bnum3*bp1*k6*kh*kp2 + a3*bnum3*bp2*k6*kh*kp1 + b1*bnum2*bp2*k2*ke*kp3 + b1*bnum2*bp3*k2*ke*kp2 + b2*bnum2*bp1*k4*ke*kp3 + b2*bnum2*bp3*k4*ke*kp1 + b3*bnum2*bp1*k6*ke*kp2 + b3*bnum2*bp2*k6*ke*kp1 + b1*bh*bnum2*k2*kp2*kp3 + b1*bnum2*bp2*k2*kh*kp3 + b1*bnum2*bp3*k2*kh*kp2 + b2*bh*bnum2*k4*kp1*kp3 + b2*bnum2*bp1*k4*kh*kp3 + b2*bnum2*bp3*k4*kh*kp1 + b3*bh*bnum2*k6*kp1*kp2 + b3*bnum2*bp1*k6*kh*kp2 + b3*bnum2*bp2*k6*kh*kp1 + a1*bnum2*k2*ke*kp2*kp3 + a2*bnum2*k4*ke*kp1*kp3 + a3*bnum2*k6*ke*kp1*kp2 + a1*bnum2*k2*kh*kp2*kp3 + a2*bnum2*k4*kh*kp1*kp3 + a3*bnum2*k6*kh*kp1*kp2 + b1*bnum1*k2*ke*kp2*kp3 + b2*bnum1*k4*ke*kp1*kp3 + b3*bnum1*k6*ke*kp1*kp2 + b1*bnum1*k2*kh*kp2*kp3 + b2*bnum1*k4*kh*kp1*kp3 + b3*bnum1*k6*kh*kp1*kp2 + b1*bnum3*k2*ke*kp2*mp3 + b1*bnum3*k2*ke*kp3*mp2 + b2*bnum3*k4*ke*kp1*mp3 + b2*bnum3*k4*ke*kp3*mp1 + b3*bnum3*k6*ke*kp1*mp2 + b3*bnum3*k6*ke*kp2*mp1 + b1*bnum3*k2*kh*kp2*mp3 + b1*bnum3*k2*kh*kp3*mp2 + b1*bnum3*k2*kp2*kp3*mh + b2*bnum3*k4*kh*kp1*mp3 + b2*bnum3*k4*kh*kp3*mp1 + b2*bnum3*k4*kp1*kp3*mh + b3*bnum3*k6*kh*kp1*mp2 + b3*bnum3*k6*kh*kp2*mp1 + b3*bnum3*k6*kp1*kp2*mh; DS3 = b_ad*bden3*bp1*bp2*kp3 + b_ad*bden3*bp1*bp3*kp2 + b_ad*bden3*bp2*bp3*kp1 + b_ad*bden2*bp1*kp2*kp3 + b_ad*bden2*bp2*kp1*kp3 + b_ad*bden2*bp3*kp1*kp2 + b_ad*bden1*kp1*kp2*kp3 + b_ad*bden3*kp1*kp2*mp3 + b_ad*bden3*kp1*kp3*mp2 + b_ad*bden3*kp2*kp3*mp1 + bden3*bp1*kp2*kp3*m_ad + bden3*bp2*kp1*kp3*m_ad + bden3*bp3*kp1*kp2*m_ad + bden2*kp1*kp2*kp3*m_ad + b1*bh*bnum3*bp2*bp3*k2 + b2*bh*bnum3*bp1*bp3*k4 + b3*bh*bnum3*bp1*bp2*k6 + a1*bnum3*bp2*bp3*k2*ke + a2*bnum3*bp1*bp3*k4*ke + a3*bnum3*bp1*bp2*k6*ke + a1*bh*bnum3*bp2*k2*kp3 + a1*bh*bnum3*bp3*k2*kp2 + a1*bnum3*bp2*bp3*k2*kh + a2*bh*bnum3*bp1*k4*kp3 + a2*bh*bnum3*bp3*k4*kp1 + a2*bnum3*bp1*bp3*k4*kh + a3*bh*bnum3*bp1*k6*kp2 + a3*bh*bnum3*bp2*k6*kp1 + a3*bnum3*bp1*bp2*k6*kh + b1*bnum2*bp2*bp3*k2*ke + b2*bnum2*bp1*bp3*k4*ke + b3*bnum2*bp1*bp2*k6*ke + b1*bh*bnum2*bp2*k2*kp3 + b1*bh*bnum2*bp3*k2*kp2 + b1*bnum2*bp2*bp3*k2*kh + b2*bh*bnum2*bp1*k4*kp3 + b2*bh*bnum2*bp3*k4*kp1 + b2*bnum2*bp1*bp3*k4*kh + b3*bh*bnum2*bp1*k6*kp2 + b3*bh*bnum2*bp2*k6*kp1 + b3*bnum2*bp1*bp2*k6*kh + a1*bnum2*bp2*k2*ke*kp3 + a1*bnum2*bp3*k2*ke*kp2 + a2*bnum2*bp1*k4*ke*kp3 + a2*bnum2*bp3*k4*ke*kp1 + a3*bnum2*bp1*k6*ke*kp2 + a3*bnum2*bp2*k6*ke*kp1 + a1*bh*bnum2*k2*kp2*kp3 + a1*bnum2*bp2*k2*kh*kp3 + a1*bnum2*bp3*k2*kh*kp2 + a2*bh*bnum2*k4*kp1*kp3 + a2*bnum2*bp1*k4*kh*kp3 + a2*bnum2*bp3*k4*kh*kp1 + a3*bh*bnum2*k6*kp1*kp2 + a3*bnum2*bp1*k6*kh*kp2 + a3*bnum2*bp2*k6*kh*kp1 + b1*bnum1*bp2*k2*ke*kp3 + b1*bnum1*bp3*k2*ke*kp2 + b2*bnum1*bp1*k4*ke*kp3 + b2*bnum1*bp3*k4*ke*kp1 + b3*bnum1*bp1*k6*ke*kp2 + b3*bnum1*bp2*k6*ke*kp1 + b1*bh*bnum1*k2*kp2*kp3 + b1*bnum1*bp2*k2*kh*kp3 + b1*bnum1*bp3*k2*kh*kp2 + b2*bh*bnum1*k4*kp1*kp3 + b2*bnum1*bp1*k4*kh*kp3 + b2*bnum1*bp3*k4*kh*kp1 + b3*bh*bnum1*k6*kp1*kp2 + b3*bnum1*bp1*k6*kh*kp2 + b3*bnum1*bp2*k6*kh*kp1 + b1*bnum3*bp2*k2*ke*mp3 + b1*bnum3*bp3*k2*ke*mp2 + b2*bnum3*bp1*k4*ke*mp3 + b2*bnum3*bp3*k4*ke*mp1 + b3*bnum3*bp1*k6*ke*mp2 + b3*bnum3*bp2*k6*ke*mp1 + b1*bh*bnum3*k2*kp2*mp3 + b1*bh*bnum3*k2*kp3*mp2 + b1*bnum3*bp2*k2*kh*mp3 + b1*bnum3*bp2*k2*kp3*mh + b1*bnum3*bp3*k2*kh*mp2 + b1*bnum3*bp3*k2*kp2*mh + b2*bh*bnum3*k4*kp1*mp3 + b2*bh*bnum3*k4*kp3*mp1 + b2*bnum3*bp1*k4*kh*mp3 + b2*bnum3*bp1*k4*kp3*mh + b2*bnum3*bp3*k4*kh*mp1 + b2*bnum3*bp3*k4*kp1*mh + b3*bh*bnum3*k6*kp1*mp2 + b3*bh*bnum3*k6*kp2*mp1 + b3*bnum3*bp1*k6*kh*mp2 + b3*bnum3*bp1*k6*kp2*mh + b3*bnum3*bp2*k6*kh*mp1 + b3*bnum3*bp2*k6*kp1*mh + a1*bnum1*k2*ke*kp2*kp3 + a2*bnum1*k4*ke*kp1*kp3 + a3*bnum1*k6*ke*kp1*kp2 + a1*bnum1*k2*kh*kp2*kp3 + a2*bnum1*k4*kh*kp1*kp3 + a3*bnum1*k6*kh*kp1*kp2 + a1*bnum3*k2*ke*kp2*mp3 + a1*bnum3*k2*ke*kp3*mp2 + a2*bnum3*k4*ke*kp1*mp3 + a2*bnum3*k4*ke*kp3*mp1 + a3*bnum3*k6*ke*kp1*mp2 + a3*bnum3*k6*ke*kp2*mp1 + a1*bnum3*k2*kh*kp2*mp3 + a1*bnum3*k2*kh*kp3*mp2 + a1*bnum3*k2*kp2*kp3*mh + a2*bnum3*k4*kh*kp1*mp3 + a2*bnum3*k4*kh*kp3*mp1 + a2*bnum3*k4*kp1*kp3*mh + a3*bnum3*k6*kh*kp1*mp2 + a3*bnum3*k6*kh*kp2*mp1 + a3*bnum3*k6*kp1*kp2*mh + b1*bnum2*k2*ke*kp2*mp3 + b1*bnum2*k2*ke*kp3*mp2 + b2*bnum2*k4*ke*kp1*mp3 + b2*bnum2*k4*ke*kp3*mp1 + b3*bnum2*k6*ke*kp1*mp2 + b3*bnum2*k6*ke*kp2*mp1 + b1*bnum2*k2*kh*kp2*mp3 + b1*bnum2*k2*kh*kp3*mp2 + b1*bnum2*k2*kp2*kp3*mh + b2*bnum2*k4*kh*kp1*mp3 + b2*bnum2*k4*kh*kp3*mp1 + b2*bnum2*k4*kp1*kp3*mh + b3*bnum2*k6*kh*kp1*mp2 + b3*bnum2*k6*kh*kp2*mp1 + b3*bnum2*k6*kp1*kp2*mh; DS4 = b_ad*bden3*bp1*bp2*bp3 + b_ad*bden2*bp1*bp2*kp3 + b_ad*bden2*bp1*bp3*kp2 + b_ad*bden2*bp2*bp3*kp1 + b_ad*bden1*bp1*kp2*kp3 + b_ad*bden1*bp2*kp1*kp3 + b_ad*bden1*bp3*kp1*kp2 + b_ad*bden3*bp1*kp2*mp3 + b_ad*bden3*bp1*kp3*mp2 + b_ad*bden3*bp2*kp1*mp3 + b_ad*bden3*bp2*kp3*mp1 + b_ad*bden3*bp3*kp1*mp2 + b_ad*bden3*bp3*kp2*mp1 + bden3*bp1*bp2*kp3*m_ad + bden3*bp1*bp3*kp2*m_ad + bden3*bp2*bp3*kp1*m_ad + b_ad*bden2*kp1*kp2*mp3 + b_ad*bden2*kp1*kp3*mp2 + b_ad*bden2*kp2*kp3*mp1 + bden2*bp1*kp2*kp3*m_ad + bden2*bp2*kp1*kp3*m_ad + bden2*bp3*kp1*kp2*m_ad + bden1*kp1*kp2*kp3*m_ad + bden3*kp1*kp2*m_ad*mp3 + bden3*kp1*kp3*m_ad*mp2 + bden3*kp2*kp3*m_ad*mp1 + a1*bh*bnum3*bp2*bp3*k2 + a2*bh*bnum3*bp1*bp3*k4 + a3*bh*bnum3*bp1*bp2*k6 + b1*bh*bnum2*bp2*bp3*k2 + b2*bh*bnum2*bp1*bp3*k4 + b3*bh*bnum2*bp1*bp2*k6 + a1*bnum2*bp2*bp3*k2*ke + a2*bnum2*bp1*bp3*k4*ke + a3*bnum2*bp1*bp2*k6*ke + a1*bh*bnum2*bp2*k2*kp3 + a1*bh*bnum2*bp3*k2*kp2 + a1*bnum2*bp2*bp3*k2*kh + a2*bh*bnum2*bp1*k4*kp3 + a2*bh*bnum2*bp3*k4*kp1 + a2*bnum2*bp1*bp3*k4*kh + a3*bh*bnum2*bp1*k6*kp2 + a3*bh*bnum2*bp2*k6*kp1 + a3*bnum2*bp1*bp2*k6*kh + b1*bnum1*bp2*bp3*k2*ke + b2*bnum1*bp1*bp3*k4*ke + b3*bnum1*bp1*bp2*k6*ke + b1*bh*bnum1*bp2*k2*kp3 + b1*bh*bnum1*bp3*k2*kp2 + b1*bnum1*bp2*bp3*k2*kh + b2*bh*bnum1*bp1*k4*kp3 + b2*bh*bnum1*bp3*k4*kp1 + b2*bnum1*bp1*bp3*k4*kh + b3*bh*bnum1*bp1*k6*kp2 + b3*bh*bnum1*bp2*k6*kp1 + b3*bnum1*bp1*bp2*k6*kh + b1*bh*bnum3*bp2*k2*mp3 + b1*bh*bnum3*bp3*k2*mp2 + b1*bnum3*bp2*bp3*k2*mh + b2*bh*bnum3*bp1*k4*mp3 + b2*bh*bnum3*bp3*k4*mp1 + b2*bnum3*bp1*bp3*k4*mh + b3*bh*bnum3*bp1*k6*mp2 + b3*bh*bnum3*bp2*k6*mp1 + b3*bnum3*bp1*bp2*k6*mh + a1*bnum1*bp2*k2*ke*kp3 + a1*bnum1*bp3*k2*ke*kp2 + a2*bnum1*bp1*k4*ke*kp3 + a2*bnum1*bp3*k4*ke*kp1 + a3*bnum1*bp1*k6*ke*kp2 + a3*bnum1*bp2*k6*ke*kp1 + a1*bh*bnum1*k2*kp2*kp3 + a1*bnum1*bp2*k2*kh*kp3 + a1*bnum1*bp3*k2*kh*kp2 + a2*bh*bnum1*k4*kp1*kp3 + a2*bnum1*bp1*k4*kh*kp3 + a2*bnum1*bp3*k4*kh*kp1 + a3*bh*bnum1*k6*kp1*kp2 + a3*bnum1*bp1*k6*kh*kp2 + a3*bnum1*bp2*k6*kh*kp1 + a1*bnum3*bp2*k2*ke*mp3 + a1*bnum3*bp3*k2*ke*mp2 + a2*bnum3*bp1*k4*ke*mp3 + a2*bnum3*bp3*k4*ke*mp1 + a3*bnum3*bp1*k6*ke*mp2 + a3*bnum3*bp2*k6*ke*mp1 + a1*bh*bnum3*k2*kp2*mp3 + a1*bh*bnum3*k2*kp3*mp2 + a1*bnum3*bp2*k2*kh*mp3 + a1*bnum3*bp2*k2*kp3*mh + a1*bnum3*bp3*k2*kh*mp2 + a1*bnum3*bp3*k2*kp2*mh + a2*bh*bnum3*k4*kp1*mp3 + a2*bh*bnum3*k4*kp3*mp1 + a2*bnum3*bp1*k4*kh*mp3 + a2*bnum3*bp1*k4*kp3*mh + a2*bnum3*bp3*k4*kh*mp1 + a2*bnum3*bp3*k4*kp1*mh + a3*bh*bnum3*k6*kp1*mp2 + a3*bh*bnum3*k6*kp2*mp1 + a3*bnum3*bp1*k6*kh*mp2 + a3*bnum3*bp1*k6*kp2*mh + a3*bnum3*bp2*k6*kh*mp1 + a3*bnum3*bp2*k6*kp1*mh + b1*bnum2*bp2*k2*ke*mp3 + b1*bnum2*bp3*k2*ke*mp2 + b2*bnum2*bp1*k4*ke*mp3 + b2*bnum2*bp3*k4*ke*mp1 + b3*bnum2*bp1*k6*ke*mp2 + b3*bnum2*bp2*k6*ke*mp1 + b1*bh*bnum2*k2*kp2*mp3 + b1*bh*bnum2*k2*kp3*mp2 + b1*bnum2*bp2*k2*kh*mp3 + b1*bnum2*bp2*k2*kp3*mh + b1*bnum2*bp3*k2*kh*mp2 + b1*bnum2*bp3*k2*kp2*mh + b2*bh*bnum2*k4*kp1*mp3 + b2*bh*bnum2*k4*kp3*mp1 + b2*bnum2*bp1*k4*kh*mp3 + b2*bnum2*bp1*k4*kp3*mh + b2*bnum2*bp3*k4*kh*mp1 + b2*bnum2*bp3*k4*kp1*mh + b3*bh*bnum2*k6*kp1*mp2 + b3*bh*bnum2*k6*kp2*mp1 + b3*bnum2*bp1*k6*kh*mp2 + b3*bnum2*bp1*k6*kp2*mh + b3*bnum2*bp2*k6*kh*mp1 + b3*bnum2*bp2*k6*kp1*mh + a1*bnum2*k2*ke*kp2*mp3 + a1*bnum2*k2*ke*kp3*mp2 + a2*bnum2*k4*ke*kp1*mp3 + a2*bnum2*k4*ke*kp3*mp1 + a3*bnum2*k6*ke*kp1*mp2 + a3*bnum2*k6*ke*kp2*mp1 + a1*bnum2*k2*kh*kp2*mp3 + a1*bnum2*k2*kh*kp3*mp2 + a1*bnum2*k2*kp2*kp3*mh + a2*bnum2*k4*kh*kp1*mp3 + a2*bnum2*k4*kh*kp3*mp1 + a2*bnum2*k4*kp1*kp3*mh + a3*bnum2*k6*kh*kp1*mp2 + a3*bnum2*k6*kh*kp2*mp1 + a3*bnum2*k6*kp1*kp2*mh + b1*bnum1*k2*ke*kp2*mp3 + b1*bnum1*k2*ke*kp3*mp2 + b2*bnum1*k4*ke*kp1*mp3 + b2*bnum1*k4*ke*kp3*mp1 + b3*bnum1*k6*ke*kp1*mp2 + b3*bnum1*k6*ke*kp2*mp1 + b1*bnum1*k2*kh*kp2*mp3 + b1*bnum1*k2*kh*kp3*mp2 + b1*bnum1*k2*kp2*kp3*mh + b2*bnum1*k4*kh*kp1*mp3 + b2*bnum1*k4*kh*kp3*mp1 + b2*bnum1*k4*kp1*kp3*mh + b3*bnum1*k6*kh*kp1*mp2 + b3*bnum1*k6*kh*kp2*mp1 + b3*bnum1*k6*kp1*kp2*mh + b1*bnum3*k2*ke*mp2*mp3 + b2*bnum3*k4*ke*mp1*mp3 + b3*bnum3*k6*ke*mp1*mp2 + b1*bnum3*k2*kh*mp2*mp3 + b1*bnum3*k2*kp2*mh*mp3 + b1*bnum3*k2*kp3*mh*mp2 + b2*bnum3*k4*kh*mp1*mp3 + b2*bnum3*k4*kp1*mh*mp3 + b2*bnum3*k4*kp3*mh*mp1 + b3*bnum3*k6*kh*mp1*mp2 + b3*bnum3*k6*kp1*mh*mp2 + b3*bnum3*k6*kp2*mh*mp1; DS5 = b_ad*bden2*bp1*bp2*bp3 + b_ad*bden1*bp1*bp2*kp3 + b_ad*bden1*bp1*bp3*kp2 + b_ad*bden1*bp2*bp3*kp1 + b_ad*bden3*bp1*bp2*mp3 + b_ad*bden3*bp1*bp3*mp2 + b_ad*bden3*bp2*bp3*mp1 + bden3*bp1*bp2*bp3*m_ad + b_ad*bden2*bp1*kp2*mp3 + b_ad*bden2*bp1*kp3*mp2 + b_ad*bden2*bp2*kp1*mp3 + b_ad*bden2*bp2*kp3*mp1 + b_ad*bden2*bp3*kp1*mp2 + b_ad*bden2*bp3*kp2*mp1 + bden2*bp1*bp2*kp3*m_ad + bden2*bp1*bp3*kp2*m_ad + bden2*bp2*bp3*kp1*m_ad + b_ad*bden1*kp1*kp2*mp3 + b_ad*bden1*kp1*kp3*mp2 + b_ad*bden1*kp2*kp3*mp1 + bden1*bp1*kp2*kp3*m_ad + bden1*bp2*kp1*kp3*m_ad + bden1*bp3*kp1*kp2*m_ad + b_ad*bden3*kp1*mp2*mp3 + b_ad*bden3*kp2*mp1*mp3 + b_ad*bden3*kp3*mp1*mp2 + bden3*bp1*kp2*m_ad*mp3 + bden3*bp1*kp3*m_ad*mp2 + bden3*bp2*kp1*m_ad*mp3 + bden3*bp2*kp3*m_ad*mp1 + bden3*bp3*kp1*m_ad*mp2 + bden3*bp3*kp2*m_ad*mp1 + bden2*kp1*kp2*m_ad*mp3 + bden2*kp1*kp3*m_ad*mp2 + bden2*kp2*kp3*m_ad*mp1 + a1*bh*bnum2*bp2*bp3*k2 + a2*bh*bnum2*bp1*bp3*k4 + a3*bh*bnum2*bp1*bp2*k6 + b1*bh*bnum1*bp2*bp3*k2 + b2*bh*bnum1*bp1*bp3*k4 + b3*bh*bnum1*bp1*bp2*k6 + a1*bnum1*bp2*bp3*k2*ke + a2*bnum1*bp1*bp3*k4*ke + a3*bnum1*bp1*bp2*k6*ke + a1*bh*bnum1*bp2*k2*kp3 + a1*bh*bnum1*bp3*k2*kp2 + a1*bnum1*bp2*bp3*k2*kh + a2*bh*bnum1*bp1*k4*kp3 + a2*bh*bnum1*bp3*k4*kp1 + a2*bnum1*bp1*bp3*k4*kh + a3*bh*bnum1*bp1*k6*kp2 + a3*bh*bnum1*bp2*k6*kp1 + a3*bnum1*bp1*bp2*k6*kh + a1*bh*bnum3*bp2*k2*mp3 + a1*bh*bnum3*bp3*k2*mp2 + a1*bnum3*bp2*bp3*k2*mh + a2*bh*bnum3*bp1*k4*mp3 + a2*bh*bnum3*bp3*k4*mp1 + a2*bnum3*bp1*bp3*k4*mh + a3*bh*bnum3*bp1*k6*mp2 + a3*bh*bnum3*bp2*k6*mp1 + a3*bnum3*bp1*bp2*k6*mh + b1*bh*bnum2*bp2*k2*mp3 + b1*bh*bnum2*bp3*k2*mp2 + b1*bnum2*bp2*bp3*k2*mh + b2*bh*bnum2*bp1*k4*mp3 + b2*bh*bnum2*bp3*k4*mp1 + b2*bnum2*bp1*bp3*k4*mh + b3*bh*bnum2*bp1*k6*mp2 + b3*bh*bnum2*bp2*k6*mp1 + b3*bnum2*bp1*bp2*k6*mh + a1*bnum2*bp2*k2*ke*mp3 + a1*bnum2*bp3*k2*ke*mp2 + a2*bnum2*bp1*k4*ke*mp3 + a2*bnum2*bp3*k4*ke*mp1 + a3*bnum2*bp1*k6*ke*mp2 + a3*bnum2*bp2*k6*ke*mp1 + a1*bh*bnum2*k2*kp2*mp3 + a1*bh*bnum2*k2*kp3*mp2 + a1*bnum2*bp2*k2*kh*mp3 + a1*bnum2*bp2*k2*kp3*mh + a1*bnum2*bp3*k2*kh*mp2 + a1*bnum2*bp3*k2*kp2*mh + a2*bh*bnum2*k4*kp1*mp3 + a2*bh*bnum2*k4*kp3*mp1 + a2*bnum2*bp1*k4*kh*mp3 + a2*bnum2*bp1*k4*kp3*mh + a2*bnum2*bp3*k4*kh*mp1 + a2*bnum2*bp3*k4*kp1*mh + a3*bh*bnum2*k6*kp1*mp2 + a3*bh*bnum2*k6*kp2*mp1 + a3*bnum2*bp1*k6*kh*mp2 + a3*bnum2*bp1*k6*kp2*mh + a3*bnum2*bp2*k6*kh*mp1 + a3*bnum2*bp2*k6*kp1*mh + b1*bnum1*bp2*k2*ke*mp3 + b1*bnum1*bp3*k2*ke*mp2 + b2*bnum1*bp1*k4*ke*mp3 + b2*bnum1*bp3*k4*ke*mp1 + b3*bnum1*bp1*k6*ke*mp2 + b3*bnum1*bp2*k6*ke*mp1 + b1*bh*bnum1*k2*kp2*mp3 + b1*bh*bnum1*k2*kp3*mp2 + b1*bnum1*bp2*k2*kh*mp3 + b1*bnum1*bp2*k2*kp3*mh + b1*bnum1*bp3*k2*kh*mp2 + b1*bnum1*bp3*k2*kp2*mh + b2*bh*bnum1*k4*kp1*mp3 + b2*bh*bnum1*k4*kp3*mp1 + b2*bnum1*bp1*k4*kh*mp3 + b2*bnum1*bp1*k4*kp3*mh + b2*bnum1*bp3*k4*kh*mp1 + b2*bnum1*bp3*k4*kp1*mh + b3*bh*bnum1*k6*kp1*mp2 + b3*bh*bnum1*k6*kp2*mp1 + b3*bnum1*bp1*k6*kh*mp2 + b3*bnum1*bp1*k6*kp2*mh + b3*bnum1*bp2*k6*kh*mp1 + b3*bnum1*bp2*k6*kp1*mh + b1*bh*bnum3*k2*mp2*mp3 + b1*bnum3*bp2*k2*mh*mp3 + b1*bnum3*bp3*k2*mh*mp2 + b2*bh*bnum3*k4*mp1*mp3 + b2*bnum3*bp1*k4*mh*mp3 + b2*bnum3*bp3*k4*mh*mp1 + b3*bh*bnum3*k6*mp1*mp2 + b3*bnum3*bp1*k6*mh*mp2 + b3*bnum3*bp2*k6*mh*mp1 + a1*bnum1*k2*ke*kp2*mp3 + a1*bnum1*k2*ke*kp3*mp2 + a2*bnum1*k4*ke*kp1*mp3 + a2*bnum1*k4*ke*kp3*mp1 + a3*bnum1*k6*ke*kp1*mp2 + a3*bnum1*k6*ke*kp2*mp1 + a1*bnum1*k2*kh*kp2*mp3 + a1*bnum1*k2*kh*kp3*mp2 + a1*bnum1*k2*kp2*kp3*mh + a2*bnum1*k4*kh*kp1*mp3 + a2*bnum1*k4*kh*kp3*mp1 + a2*bnum1*k4*kp1*kp3*mh + a3*bnum1*k6*kh*kp1*mp2 + a3*bnum1*k6*kh*kp2*mp1 + a3*bnum1*k6*kp1*kp2*mh + a1*bnum3*k2*ke*mp2*mp3 + a2*bnum3*k4*ke*mp1*mp3 + a3*bnum3*k6*ke*mp1*mp2 + a1*bnum3*k2*kh*mp2*mp3 + a1*bnum3*k2*kp2*mh*mp3 + a1*bnum3*k2*kp3*mh*mp2 + a2*bnum3*k4*kh*mp1*mp3 + a2*bnum3*k4*kp1*mh*mp3 + a2*bnum3*k4*kp3*mh*mp1 + a3*bnum3*k6*kh*mp1*mp2 + a3*bnum3*k6*kp1*mh*mp2 + a3*bnum3*k6*kp2*mh*mp1 + b1*bnum2*k2*ke*mp2*mp3 + b2*bnum2*k4*ke*mp1*mp3 + b3*bnum2*k6*ke*mp1*mp2 + b1*bnum2*k2*kh*mp2*mp3 + b1*bnum2*k2*kp2*mh*mp3 + b1*bnum2*k2*kp3*mh*mp2 + b2*bnum2*k4*kh*mp1*mp3 + b2*bnum2*k4*kp1*mh*mp3 + b2*bnum2*k4*kp3*mh*mp1 + b3*bnum2*k6*kh*mp1*mp2 + b3*bnum2*k6*kp1*mh*mp2 + b3*bnum2*k6*kp2*mh*mp1; DS6 = b_ad*bden1*bp1*bp2*bp3 + b_ad*bden2*bp1*bp2*mp3 + b_ad*bden2*bp1*bp3*mp2 + b_ad*bden2*bp2*bp3*mp1 + bden2*bp1*bp2*bp3*m_ad + b_ad*bden1*bp1*kp2*mp3 + b_ad*bden1*bp1*kp3*mp2 + b_ad*bden1*bp2*kp1*mp3 + b_ad*bden1*bp2*kp3*mp1 + b_ad*bden1*bp3*kp1*mp2 + b_ad*bden1*bp3*kp2*mp1 + bden1*bp1*bp2*kp3*m_ad + bden1*bp1*bp3*kp2*m_ad + bden1*bp2*bp3*kp1*m_ad + b_ad*bden3*bp1*mp2*mp3 + b_ad*bden3*bp2*mp1*mp3 + b_ad*bden3*bp3*mp1*mp2 + bden3*bp1*bp2*m_ad*mp3 + bden3*bp1*bp3*m_ad*mp2 + bden3*bp2*bp3*m_ad*mp1 + b_ad*bden2*kp1*mp2*mp3 + b_ad*bden2*kp2*mp1*mp3 + b_ad*bden2*kp3*mp1*mp2 + bden2*bp1*kp2*m_ad*mp3 + bden2*bp1*kp3*m_ad*mp2 + bden2*bp2*kp1*m_ad*mp3 + bden2*bp2*kp3*m_ad*mp1 + bden2*bp3*kp1*m_ad*mp2 + bden2*bp3*kp2*m_ad*mp1 + bden1*kp1*kp2*m_ad*mp3 + bden1*kp1*kp3*m_ad*mp2 + bden1*kp2*kp3*m_ad*mp1 + bden3*kp1*m_ad*mp2*mp3 + bden3*kp2*m_ad*mp1*mp3 + bden3*kp3*m_ad*mp1*mp2 + a1*bh*bnum1*bp2*bp3*k2 + a2*bh*bnum1*bp1*bp3*k4 + a3*bh*bnum1*bp1*bp2*k6 + a1*bh*bnum2*bp2*k2*mp3 + a1*bh*bnum2*bp3*k2*mp2 + a1*bnum2*bp2*bp3*k2*mh + a2*bh*bnum2*bp1*k4*mp3 + a2*bh*bnum2*bp3*k4*mp1 + a2*bnum2*bp1*bp3*k4*mh + a3*bh*bnum2*bp1*k6*mp2 + a3*bh*bnum2*bp2*k6*mp1 + a3*bnum2*bp1*bp2*k6*mh + b1*bh*bnum1*bp2*k2*mp3 + b1*bh*bnum1*bp3*k2*mp2 + b1*bnum1*bp2*bp3*k2*mh + b2*bh*bnum1*bp1*k4*mp3 + b2*bh*bnum1*bp3*k4*mp1 + b2*bnum1*bp1*bp3*k4*mh + b3*bh*bnum1*bp1*k6*mp2 + b3*bh*bnum1*bp2*k6*mp1 + b3*bnum1*bp1*bp2*k6*mh + a1*bnum1*bp2*k2*ke*mp3 + a1*bnum1*bp3*k2*ke*mp2 + a2*bnum1*bp1*k4*ke*mp3 + a2*bnum1*bp3*k4*ke*mp1 + a3*bnum1*bp1*k6*ke*mp2 + a3*bnum1*bp2*k6*ke*mp1 + a1*bh*bnum1*k2*kp2*mp3 + a1*bh*bnum1*k2*kp3*mp2 + a1*bnum1*bp2*k2*kh*mp3 + a1*bnum1*bp2*k2*kp3*mh + a1*bnum1*bp3*k2*kh*mp2 + a1*bnum1*bp3*k2*kp2*mh + a2*bh*bnum1*k4*kp1*mp3 + a2*bh*bnum1*k4*kp3*mp1 + a2*bnum1*bp1*k4*kh*mp3 + a2*bnum1*bp1*k4*kp3*mh + a2*bnum1*bp3*k4*kh*mp1 + a2*bnum1*bp3*k4*kp1*mh + a3*bh*bnum1*k6*kp1*mp2 + a3*bh*bnum1*k6*kp2*mp1 + a3*bnum1*bp1*k6*kh*mp2 + a3*bnum1*bp1*k6*kp2*mh + a3*bnum1*bp2*k6*kh*mp1 + a3*bnum1*bp2*k6*kp1*mh + a1*bh*bnum3*k2*mp2*mp3 + a1*bnum3*bp2*k2*mh*mp3 + a1*bnum3*bp3*k2*mh*mp2 + a2*bh*bnum3*k4*mp1*mp3 + a2*bnum3*bp1*k4*mh*mp3 + a2*bnum3*bp3*k4*mh*mp1 + a3*bh*bnum3*k6*mp1*mp2 + a3*bnum3*bp1*k6*mh*mp2 + a3*bnum3*bp2*k6*mh*mp1 + b1*bh*bnum2*k2*mp2*mp3 + b1*bnum2*bp2*k2*mh*mp3 + b1*bnum2*bp3*k2*mh*mp2 + b2*bh*bnum2*k4*mp1*mp3 + b2*bnum2*bp1*k4*mh*mp3 + b2*bnum2*bp3*k4*mh*mp1 + b3*bh*bnum2*k6*mp1*mp2 + b3*bnum2*bp1*k6*mh*mp2 + b3*bnum2*bp2*k6*mh*mp1 + a1*bnum2*k2*ke*mp2*mp3 + a2*bnum2*k4*ke*mp1*mp3 + a3*bnum2*k6*ke*mp1*mp2 + a1*bnum2*k2*kh*mp2*mp3 + a1*bnum2*k2*kp2*mh*mp3 + a1*bnum2*k2*kp3*mh*mp2 + a2*bnum2*k4*kh*mp1*mp3 + a2*bnum2*k4*kp1*mh*mp3 + a2*bnum2*k4*kp3*mh*mp1 + a3*bnum2*k6*kh*mp1*mp2 + a3*bnum2*k6*kp1*mh*mp2 + a3*bnum2*k6*kp2*mh*mp1 + b1*bnum1*k2*ke*mp2*mp3 + b2*bnum1*k4*ke*mp1*mp3 + b3*bnum1*k6*ke*mp1*mp2 + b1*bnum1*k2*kh*mp2*mp3 + b1*bnum1*k2*kp2*mh*mp3 + b1*bnum1*k2*kp3*mh*mp2 + b2*bnum1*k4*kh*mp1*mp3 + b2*bnum1*k4*kp1*mh*mp3 + b2*bnum1*k4*kp3*mh*mp1 + b3*bnum1*k6*kh*mp1*mp2 + b3*bnum1*k6*kp1*mh*mp2 + b3*bnum1*k6*kp2*mh*mp1 + b1*bnum3*k2*mh*mp2*mp3 + b2*bnum3*k4*mh*mp1*mp3 + b3*bnum3*k6*mh*mp1*mp2; DS7 = b_ad*bden1*bp1*bp2*mp3 + b_ad*bden1*bp1*bp3*mp2 + b_ad*bden1*bp2*bp3*mp1 + bden1*bp1*bp2*bp3*m_ad + b_ad*bden2*bp1*mp2*mp3 + b_ad*bden2*bp2*mp1*mp3 + b_ad*bden2*bp3*mp1*mp2 + bden2*bp1*bp2*m_ad*mp3 + bden2*bp1*bp3*m_ad*mp2 + bden2*bp2*bp3*m_ad*mp1 + b_ad*bden1*kp1*mp2*mp3 + b_ad*bden1*kp2*mp1*mp3 + b_ad*bden1*kp3*mp1*mp2 + bden1*bp1*kp2*m_ad*mp3 + bden1*bp1*kp3*m_ad*mp2 + bden1*bp2*kp1*m_ad*mp3 + bden1*bp2*kp3*m_ad*mp1 + bden1*bp3*kp1*m_ad*mp2 + bden1*bp3*kp2*m_ad*mp1 + b_ad*bden3*mp1*mp2*mp3 + bden3*bp1*m_ad*mp2*mp3 + bden3*bp2*m_ad*mp1*mp3 + bden3*bp3*m_ad*mp1*mp2 + bden2*kp1*m_ad*mp2*mp3 + bden2*kp2*m_ad*mp1*mp3 + bden2*kp3*m_ad*mp1*mp2 + a1*bh*bnum1*bp2*k2*mp3 + a1*bh*bnum1*bp3*k2*mp2 + a1*bnum1*bp2*bp3*k2*mh + a2*bh*bnum1*bp1*k4*mp3 + a2*bh*bnum1*bp3*k4*mp1 + a2*bnum1*bp1*bp3*k4*mh + a3*bh*bnum1*bp1*k6*mp2 + a3*bh*bnum1*bp2*k6*mp1 + a3*bnum1*bp1*bp2*k6*mh + a1*bh*bnum2*k2*mp2*mp3 + a1*bnum2*bp2*k2*mh*mp3 + a1*bnum2*bp3*k2*mh*mp2 + a2*bh*bnum2*k4*mp1*mp3 + a2*bnum2*bp1*k4*mh*mp3 + a2*bnum2*bp3*k4*mh*mp1 + a3*bh*bnum2*k6*mp1*mp2 + a3*bnum2*bp1*k6*mh*mp2 + a3*bnum2*bp2*k6*mh*mp1 + b1*bh*bnum1*k2*mp2*mp3 + b1*bnum1*bp2*k2*mh*mp3 + b1*bnum1*bp3*k2*mh*mp2 + b2*bh*bnum1*k4*mp1*mp3 + b2*bnum1*bp1*k4*mh*mp3 + b2*bnum1*bp3*k4*mh*mp1 + b3*bh*bnum1*k6*mp1*mp2 + b3*bnum1*bp1*k6*mh*mp2 + b3*bnum1*bp2*k6*mh*mp1 + a1*bnum1*k2*ke*mp2*mp3 + a2*bnum1*k4*ke*mp1*mp3 + a3*bnum1*k6*ke*mp1*mp2 + a1*bnum1*k2*kh*mp2*mp3 + a1*bnum1*k2*kp2*mh*mp3 + a1*bnum1*k2*kp3*mh*mp2 + a2*bnum1*k4*kh*mp1*mp3 + a2*bnum1*k4*kp1*mh*mp3 + a2*bnum1*k4*kp3*mh*mp1 + a3*bnum1*k6*kh*mp1*mp2 + a3*bnum1*k6*kp1*mh*mp2 + a3*bnum1*k6*kp2*mh*mp1 + a1*bnum3*k2*mh*mp2*mp3 + a2*bnum3*k4*mh*mp1*mp3 + a3*bnum3*k6*mh*mp1*mp2 + b1*bnum2*k2*mh*mp2*mp3 + b2*bnum2*k4*mh*mp1*mp3 + b3*bnum2*k6*mh*mp1*mp2; DS8 = b_ad*bden1*bp1*mp2*mp3 + b_ad*bden1*bp2*mp1*mp3 + b_ad*bden1*bp3*mp1*mp2 + bden1*bp1*bp2*m_ad*mp3 + bden1*bp1*bp3*m_ad*mp2 + bden1*bp2*bp3*m_ad*mp1 + b_ad*bden2*mp1*mp2*mp3 + bden2*bp1*m_ad*mp2*mp3 + bden2*bp2*m_ad*mp1*mp3 + bden2*bp3*m_ad*mp1*mp2 + bden1*kp1*m_ad*mp2*mp3 + bden1*kp2*m_ad*mp1*mp3 + bden1*kp3*m_ad*mp1*mp2 + bden3*m_ad*mp1*mp2*mp3 + a1*bh*bnum1*k2*mp2*mp3 + a1*bnum1*bp2*k2*mh*mp3 + a1*bnum1*bp3*k2*mh*mp2 + a2*bh*bnum1*k4*mp1*mp3 + a2*bnum1*bp1*k4*mh*mp3 + a2*bnum1*bp3*k4*mh*mp1 + a3*bh*bnum1*k6*mp1*mp2 + a3*bnum1*bp1*k6*mh*mp2 + a3*bnum1*bp2*k6*mh*mp1 + a1*bnum2*k2*mh*mp2*mp3 + a2*bnum2*k4*mh*mp1*mp3 + a3*bnum2*k6*mh*mp1*mp2 + b1*bnum1*k2*mh*mp2*mp3 + b2*bnum1*k4*mh*mp1*mp3 + b3*bnum1*k6*mh*mp1*mp2; DS9 = b_ad*bden1*mp1*mp2*mp3 + bden1*bp1*m_ad*mp2*mp3 + bden1*bp2*m_ad*mp1*mp3 + bden1*bp3*m_ad*mp1*mp2 + bden2*m_ad*mp1*mp2*mp3 + a1*bnum1*k2*mh*mp2*mp3 + a2*bnum1*k4*mh*mp1*mp3 + a3*bnum1*k6*mh*mp1*mp2; DS10 = bden1*m_ad*mp1*mp2*mp3; %Numerator is an 8th order NS0 = 0; NS1 = bden3*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2); NS2 = bden3*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden2*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2); NS3 = bden2*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden1*(b1*k2*kp2*kp3 + b2*k4*kp1*kp3 + b3*k6*kp1*kp2) + bden3*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1); NS4 = bden1*(a1*k2*kp2*kp3 + a2*k4*kp1*kp3 + a3*k6*kp1*kp2 + b1*bp2*k2*kp3 + b1*bp3*k2*kp2 + b2*bp1*k4*kp3 + b2*bp3*k4*kp1 + b3*bp1*k6*kp2 + b3*bp2*k6*kp1) + bden2*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1) + bden3*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS5 = bden3*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden1*(b1*k2*kp2*mp3 + b1*k2*kp3*mp2 + b2*k4*kp1*mp3 + b2*k4*kp3*mp1 + b3*k6*kp1*mp2 + b3*k6*kp2*mp1 + b1*bp2*bp3*k2 + b2*bp1*bp3*k4 + b3*bp1*bp2*k6 + a1*bp2*k2*kp3 + a1*bp3*k2*kp2 + a2*bp1*k4*kp3 + a2*bp3*k4*kp1 + a3*bp1*k6*kp2 + a3*bp2*k6*kp1) + bden2*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS6 = bden2*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden3*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2) + bden1*(a1*k2*kp2*mp3 + a1*k2*kp3*mp2 + a2*k4*kp1*mp3 + a2*k4*kp3*mp1 + a3*k6*kp1*mp2 + a3*k6*kp2*mp1 + a1*bp2*bp3*k2 + a2*bp1*bp3*k4 + a3*bp1*bp2*k6 + b1*bp2*k2*mp3 + b1*bp3*k2*mp2 + b2*bp1*k4*mp3 + b2*bp3*k4*mp1 + b3*bp1*k6*mp2 + b3*bp2*k6*mp1); NS7 = bden1*(b1*k2*mp2*mp3 + b2*k4*mp1*mp3 + b3*k6*mp1*mp2 + a1*bp2*k2*mp3 + a1*bp3*k2*mp2 + a2*bp1*k4*mp3 + a2*bp3*k4*mp1 + a3*bp1*k6*mp2 + a3*bp2*k6*mp1) + bden2*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2); NS8 = bden1*(a1*k2*mp2*mp3 + a2*k4*mp1*mp3 + a3*k6*mp1*mp2); AydinTF = tf([(NS8) (NS7) (NS6) (NS5) (NS4) (NS3) (NS2) (NS1) 0],[(DS10) (DS9) (DS8) (DS7) (DS6) (DS5) (DS4) (DS3) (DS2) (DS1) (DS0)]); % Grab the poles and evaluate if any poles are unstable poles = pole(AydinTF); realpoles = real(poles); unstable(massval,dampval,impedance_type) = ~(any(realpoles(:)>0)); end end end %% Create figures that output the results of the stability analysis figcount = 0; for impedance_type=1:8 switch impedance_type case 1 masses = 0:5:200; dampers = 0:10:1000; case 5 masses = linspace(0,25,41); dampers = linspace(0,30,101); end edgecase = []; for jim = 1:length(masses) jeff = 1; while unstable(jim,jeff,impedance_type)~=1 jeff = jeff+1; if jeff==length(unstable) jeff = jeff-1; break; end edgecase(jim) = jeff; end end stab_bs = [] for bit = 1:length(edgecase) if edgecase(bit)==0 stab_bs(bit) = 1; else stab_bs(bit) = dampers(edgecase(bit)); end end if figcount <4 figure(1) hold on plot(stab_bs,masses) legend else figure(2) hold on plot(stab_bs,masses) xlim([0 30]) ylim([0 25]) legend end figcount = figcount+1; end