/* There are a total of 51 entries in the algebraic variable array. There are a total of 13 entries in each of the rate and state variable arrays. There are a total of 58 entries in the constant variable array. */ /* * VOI is t in component environment (ms). * CONSTANTS[0] is R in component environment (mJ_per_mole_kelvin). * CONSTANTS[1] is T in component environment (kelvin). * CONSTANTS[2] is F in component environment (coulomb_per_mole). * CONSTANTS[48] is V_tau in component environment (mV). * CONSTANTS[3] is Ca_o in component environment (mM). * CONSTANTS[4] is Na_o in component environment (mM). * CONSTANTS[5] is K_o in component environment (mM). * CONSTANTS[49] is vol_cyt in component environment (pl). * CONSTANTS[6] is vol_pmu in component environment (pl). * CONSTANTS[7] is fr_cyt in component environment (dimensionless). * STATES[0] is V in component Membrane (mV). * ALGEBRAIC[0] is VD in component Membrane (dimensionless). * CONSTANTS[8] is C_sp in component Membrane (pF_per_sqcm). * STATES[1] is Ca_i in component Cytosol (mM). * STATES[2] is Na_i in component Cytosol (mM). * STATES[3] is K_i in component Cytosol (mM). * ALGEBRAIC[2] is V_Ca in component Membrane (dimensionless). * ALGEBRAIC[4] is V_Na in component Membrane (dimensionless). * ALGEBRAIC[6] is V_K in component Membrane (dimensionless). * CONSTANTS[55] is A_pmu in component Membrane (sqcm). * CONSTANTS[9] is SVR_pmu in component Membrane (per_cm). * ALGEBRAIC[40] is J_Ca in component calcium_dynamics (mM_per_ms). * ALGEBRAIC[48] is J_Na in component sodium_dynamics (mM_per_ms). * ALGEBRAIC[50] is J_K in component potassium_dynamics (mM_per_ms). * CONSTANTS[10] is atp in component Cytosol (mM). * ALGEBRAIC[39] is J_ca in component calcium_dynamics (mM_per_ms). * ALGEBRAIC[19] is I_CaL in component L_type_Ca_channel (pA). * ALGEBRAIC[34] is I_pmca in component PMCA (pA). * ALGEBRAIC[38] is I_xm in component NaCa (pA). * ALGEBRAIC[15] is J_calb in component calcium_buffer_dynamics (mM_per_ms). * ALGEBRAIC[17] is J_cam in component calcium_buffer_dynamics (mM_per_ms). * ALGEBRAIC[21] is I_Na in component transient_Na_channel (pA). * ALGEBRAIC[22] is I_Nalk in component Leak_Na_channel (pA). * ALGEBRAIC[23] is I_NaHCN in component HCN_channel (pA). * ALGEBRAIC[46] is I_nk in component sodium_pump (pA). * ALGEBRAIC[30] is I_K in component potassium_dynamics (pA). * ALGEBRAIC[25] is I_Ksk in component SK_K_channel (pA). * ALGEBRAIC[27] is I_Kdr in component DR_K_channel (pA). * ALGEBRAIC[29] is I_Kir in component IR_K_channel (pA). * STATES[4] is Calb in component calcium_buffer_dynamics (mM). * STATES[5] is Cam in component calcium_buffer_dynamics (mM). * CONSTANTS[11] is Calbtot in component calcium_buffer_dynamics (mM). * CONSTANTS[12] is Camtot in component calcium_buffer_dynamics (mM). * ALGEBRAIC[14] is CaCalb in component calcium_buffer_dynamics (mM). * ALGEBRAIC[16] is CaCam in component calcium_buffer_dynamics (mM). * CONSTANTS[13] is kcal_1 in component calcium_buffer_dynamics (per_mM_ms). * CONSTANTS[14] is kcal_2 in component calcium_buffer_dynamics (per_ms). * ALGEBRAIC[8] is kcam_cb in component calcium_buffer_dynamics (per_ms). * CONSTANTS[15] is kcam_cd in component calcium_buffer_dynamics (per_ms). * ALGEBRAIC[10] is kcam_nb in component calcium_buffer_dynamics (per_ms). * CONSTANTS[16] is kcam_nd in component calcium_buffer_dynamics (per_ms). * ALGEBRAIC[12] is alpha_cam in component calcium_buffer_dynamics (per_ms). * ALGEBRAIC[13] is beta_cam in component calcium_buffer_dynamics (per_ms). * STATES[6] is m_cal in component L_type_Ca_channel (dimensionless). * ALGEBRAIC[18] is h_cal in component L_type_Ca_channel (dimensionless). * CONSTANTS[17] is g_cal in component L_type_Ca_channel (pA_per_mM). * CONSTANTS[18] is g_na in component transient_Na_channel (pA_per_mM). * ALGEBRAIC[20] is O_na in component transient_Na_channel (dimensionless). * STATES[7] is m_na in component transient_Na_channel (dimensionless). * STATES[8] is h_na in component transient_Na_channel (dimensionless). * CONSTANTS[19] is A_mna in component transient_Na_channel (per_ms). * CONSTANTS[20] is B_mna in component transient_Na_channel (per_ms). * CONSTANTS[21] is A_hna in component transient_Na_channel (per_ms). * CONSTANTS[22] is B_hna in component transient_Na_channel (per_ms). * CONSTANTS[23] is za_mna in component transient_Na_channel (dimensionless). * CONSTANTS[24] is zb_mna in component transient_Na_channel (dimensionless). * CONSTANTS[25] is za_hna in component transient_Na_channel (dimensionless). * CONSTANTS[26] is zb_hna in component transient_Na_channel (dimensionless). * CONSTANTS[27] is g_nalk in component Leak_Na_channel (pA_per_mM). * CONSTANTS[28] is g_nahcn in component HCN_channel (pA_per_mM). * STATES[9] is O_hcn in component HCN_channel (dimensionless). * ALGEBRAIC[7] is kf_hcn in component HCN_channel (per_ms). * ALGEBRAIC[11] is kr_hcn in component HCN_channel (per_ms). * ALGEBRAIC[1] is kf_free in component HCN_channel (per_ms). * ALGEBRAIC[3] is kr_free in component HCN_channel (per_ms). * ALGEBRAIC[5] is kf_bnd in component HCN_channel (per_ms). * ALGEBRAIC[9] is kr_bnd in component HCN_channel (per_ms). * CONSTANTS[50] is P_c in component HCN_channel (dimensionless). * CONSTANTS[51] is P_o in component HCN_channel (dimensionless). * CONSTANTS[29] is cAMP in component HCN_channel (mM). * ALGEBRAIC[24] is O_sk in component SK_K_channel (dimensionless). * CONSTANTS[30] is g_ksk in component SK_K_channel (pA_per_mM). * ALGEBRAIC[26] is O_kdr in component DR_K_channel (dimensionless). * STATES[10] is m_kdr in component DR_K_channel (dimensionless). * CONSTANTS[31] is g_kdr in component DR_K_channel (nS). * ALGEBRAIC[28] is O_kir in component IR_K_channel (dimensionless). * CONSTANTS[32] is g_kir in component IR_K_channel (nS). * STATES[11] is y_pc in component PMCA (dimensionless). * ALGEBRAIC[31] is K_pmca in component PMCA (pA). * CONSTANTS[52] is k_1pc in component PMCA (per_ms). * CONSTANTS[33] is k_2pc in component PMCA (per_ms). * CONSTANTS[34] is k_3pc in component PMCA (per_ms). * CONSTANTS[35] is k_4pc in component PMCA (per_ms). * ALGEBRAIC[33] is P_E1Spc in component PMCA (dimensionless). * CONSTANTS[53] is P_E2Spc in component PMCA (dimensionless). * ALGEBRAIC[35] is P_E1pc in component PMCA (dimensionless). * CONSTANTS[56] is P_E2pc in component PMCA (dimensionless). * ALGEBRAIC[37] is alpha_pc in component PMCA (per_ms). * CONSTANTS[57] is beta_pc in component PMCA (per_ms). * ALGEBRAIC[32] is K_pci in component PMCA (mM). * CONSTANTS[36] is K_pco in component PMCA (mM). * CONSTANTS[37] is k_pmca in component PMCA (dimensionless). * CONSTANTS[38] is del in component NaCa (dimensionless). * CONSTANTS[39] is k_xm in component NaCa (pA). * ALGEBRAIC[36] is Dr in component NaCa (mM4). * ALGEBRAIC[41] is Na_eff in component sodium_pump (mM). * STATES[12] is y_nk in component sodium_pump (dimensionless). * ALGEBRAIC[44] is alpha_nk in component sodium_pump (per_ms). * ALGEBRAIC[49] is beta_nk in component sodium_pump (per_ms). * ALGEBRAIC[42] is P_E1Snk in component sodium_pump (dimensionless). * ALGEBRAIC[45] is P_E2Snk in component sodium_pump (dimensionless). * ALGEBRAIC[43] is P_E1Dnk in component sodium_pump (dimensionless). * ALGEBRAIC[47] is P_E2Dnk in component sodium_pump (dimensionless). * CONSTANTS[54] is k_1nk in component sodium_pump (per_ms). * CONSTANTS[40] is k_2nk in component sodium_pump (per_ms). * CONSTANTS[41] is k_3nk in component sodium_pump (per_ms). * CONSTANTS[42] is k_4nk in component sodium_pump (per_ms). * CONSTANTS[43] is K_nknai in component sodium_pump (mM). * CONSTANTS[44] is K_nknao in component sodium_pump (mM). * CONSTANTS[45] is K_nkki in component sodium_pump (mM). * CONSTANTS[46] is K_nkko in component sodium_pump (mM). * CONSTANTS[47] is k_nk in component sodium_pump (pA). * RATES[0] is d/dt V in component Membrane (mV). * RATES[1] is d/dt Ca_i in component Cytosol (mM). * RATES[2] is d/dt Na_i in component Cytosol (mM). * RATES[3] is d/dt K_i in component Cytosol (mM). * RATES[4] is d/dt Calb in component calcium_buffer_dynamics (mM). * RATES[5] is d/dt Cam in component calcium_buffer_dynamics (mM). * RATES[6] is d/dt m_cal in component L_type_Ca_channel (dimensionless). * RATES[7] is d/dt m_na in component transient_Na_channel (dimensionless). * RATES[8] is d/dt h_na in component transient_Na_channel (dimensionless). * RATES[9] is d/dt O_hcn in component HCN_channel (dimensionless). * RATES[10] is d/dt m_kdr in component DR_K_channel (dimensionless). * RATES[11] is d/dt y_pc in component PMCA (dimensionless). * RATES[12] is d/dt y_nk in component sodium_pump (dimensionless). */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { CONSTANTS[0] = 8314.472; CONSTANTS[1] = 310.15; CONSTANTS[2] = 96485.30929; CONSTANTS[3] = 1.8; CONSTANTS[4] = 137; CONSTANTS[5] = 5.4; CONSTANTS[6] = 5; CONSTANTS[7] = 0.5; STATES[0] = -49.42; CONSTANTS[8] = 0.9e6; STATES[1] = 0.000188; STATES[2] = 4.6876; STATES[3] = 126.05893; CONSTANTS[9] = 1.6667e4; CONSTANTS[10] = 2; STATES[4] = 0.0026; STATES[5] = 0.0222; CONSTANTS[11] = 0.005; CONSTANTS[12] = 0.0235; CONSTANTS[13] = 10; CONSTANTS[14] = 2e-3; CONSTANTS[15] = 0.003; CONSTANTS[16] = 3; STATES[6] = 0.006271; CONSTANTS[17] = 2101.2; CONSTANTS[18] = 907.68; STATES[7] = 0.0952; STATES[8] = 0.1848; CONSTANTS[19] = 1.9651; CONSTANTS[20] = 0.0424; CONSTANTS[21] = 9.566e-5; CONSTANTS[22] = 0.5296; CONSTANTS[23] = 1.7127; CONSTANTS[24] = 1.5581; CONSTANTS[25] = -2.4317; CONSTANTS[26] = -1.1868; CONSTANTS[27] = 0.0053; CONSTANTS[28] = 51.1; STATES[9] = 0.003; CONSTANTS[29] = 1e-5; CONSTANTS[30] = 2.2515; STATES[10] = 0.0932; CONSTANTS[31] = 31.237; CONSTANTS[32] = 13.816; STATES[11] = 0.483; CONSTANTS[33] = 0.001; CONSTANTS[34] = 0.001; CONSTANTS[35] = 1; CONSTANTS[36] = 2; CONSTANTS[37] = 2.233; CONSTANTS[38] = 0.35; CONSTANTS[39] = 0.0166; STATES[12] = 0.6213; CONSTANTS[40] = 0.04; CONSTANTS[41] = 0.01; CONSTANTS[42] = 0.165; CONSTANTS[43] = 4.05; CONSTANTS[44] = 69.8; CONSTANTS[45] = 32.88; CONSTANTS[46] = 0.258; CONSTANTS[47] = 1085.7; CONSTANTS[48] = ( CONSTANTS[0]*CONSTANTS[1])/CONSTANTS[2]; CONSTANTS[49] = CONSTANTS[7]*CONSTANTS[6]; CONSTANTS[50] = 1.00000/(1.00000+CONSTANTS[29]/0.00116300); CONSTANTS[51] = 1.00000/(1.00000+CONSTANTS[29]/1.45000e-05); CONSTANTS[52] = 1.00000/(1.00000+0.100000/CONSTANTS[10]); CONSTANTS[53] = 1.00000/(1.00000+CONSTANTS[36]/CONSTANTS[3]); CONSTANTS[54] = 0.370000/(1.00000+0.0940000/CONSTANTS[10]); CONSTANTS[55] = ( CONSTANTS[9]*CONSTANTS[6]*0.00100000*0.00100000*0.00100000)/1.00000; CONSTANTS[56] = 1.00000 - CONSTANTS[53]; CONSTANTS[57] = CONSTANTS[33]*CONSTANTS[53]+ CONSTANTS[35]*CONSTANTS[56]; } void computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { RATES[6] = (1.00000/(1.00000+exp(- (STATES[0]+15.0000)/7.00000)) - STATES[6])/( 7.68000*exp(- pow((STATES[0]+65.0000)/17.3300, 2.00000))+0.723100); RATES[10] = (1.00000/(1.00000+exp(- (STATES[0]+25.0000)/12.0000)) - STATES[10])/(18.0000/(1.00000+exp((STATES[0]+39.0000)/8.00000))+1.00000); ALGEBRAIC[0] = STATES[0]/CONSTANTS[48]; RATES[7] = CONSTANTS[19]*exp( CONSTANTS[23]*ALGEBRAIC[0])*(1.00000 - STATES[7]) - CONSTANTS[20]*exp( - CONSTANTS[24]*ALGEBRAIC[0])*STATES[7]; RATES[8] = CONSTANTS[21]*exp( CONSTANTS[25]*ALGEBRAIC[0])*(1.00000 - STATES[8]) - CONSTANTS[22]*exp( - CONSTANTS[26]*ALGEBRAIC[0])*STATES[8]; ALGEBRAIC[1] = 0.00600000/(1.00000+exp((STATES[0]+87.7000)/6.45000)); ALGEBRAIC[5] = 0.0268000/(1.00000+exp((STATES[0]+94.2000)/13.3000)); ALGEBRAIC[7] = ALGEBRAIC[1]*CONSTANTS[50]+ ALGEBRAIC[5]*(1.00000 - CONSTANTS[50]); ALGEBRAIC[3] = 0.0800000/(1.00000+exp(- (STATES[0]+51.7000)/7.00000)); ALGEBRAIC[9] = 0.0800000/(1.00000+exp(- (STATES[0]+35.5000)/7.00000)); ALGEBRAIC[11] = ALGEBRAIC[3]*CONSTANTS[51]+ ALGEBRAIC[9]*(1.00000 - CONSTANTS[51]); RATES[9] = ALGEBRAIC[7]*(1.00000 - STATES[9]) - ALGEBRAIC[11]*STATES[9]; ALGEBRAIC[14] = CONSTANTS[11] - STATES[4]; ALGEBRAIC[15] = CONSTANTS[13]*STATES[4]*STATES[1] - CONSTANTS[14]*ALGEBRAIC[14]; RATES[4] = - ALGEBRAIC[15]; ALGEBRAIC[16] = CONSTANTS[12] - STATES[5]; ALGEBRAIC[8] = 12000.0*pow(STATES[1], 2.00000); ALGEBRAIC[10] = 3.70000e+06*pow(STATES[1], 2.00000); ALGEBRAIC[12] = ALGEBRAIC[8]*ALGEBRAIC[10]*(1.00000/(ALGEBRAIC[8]+CONSTANTS[16])+1.00000/(CONSTANTS[15]+CONSTANTS[16])); ALGEBRAIC[13] = CONSTANTS[15]*CONSTANTS[16]*(1.00000/(ALGEBRAIC[8]+CONSTANTS[16])+1.00000/(CONSTANTS[15]+CONSTANTS[16])); ALGEBRAIC[17] = ALGEBRAIC[12]*STATES[5] - ALGEBRAIC[13]*ALGEBRAIC[16]; RATES[5] = - ALGEBRAIC[17]; ALGEBRAIC[32] = (173.600/(1.00000+ALGEBRAIC[16]/5.00000e-05)+6.40000)*1.00000e-05; ALGEBRAIC[33] = 1.00000/(1.00000+ALGEBRAIC[32]/STATES[1]); ALGEBRAIC[35] = 1.00000 - ALGEBRAIC[33]; ALGEBRAIC[37] = CONSTANTS[52]*ALGEBRAIC[33]+ CONSTANTS[34]*ALGEBRAIC[35]; RATES[11] = CONSTANTS[57]*(1.00000 - STATES[11]) - ALGEBRAIC[37]*STATES[11]; ALGEBRAIC[2] = 0.500000*log(CONSTANTS[3]/STATES[1]); ALGEBRAIC[18] = 0.000450000/(0.000450000+STATES[1]); ALGEBRAIC[19] = ( CONSTANTS[17]*STATES[6]*ALGEBRAIC[18]* pow(( STATES[1]*CONSTANTS[3]), 1.0 / 2)* sinh(ALGEBRAIC[0] - ALGEBRAIC[2]))/( sinh(ALGEBRAIC[0])/ALGEBRAIC[0]); ALGEBRAIC[31] = CONSTANTS[37]*(( 10.5600*ALGEBRAIC[16])/(ALGEBRAIC[16]+5.00000e-05)+1.20000); ALGEBRAIC[34] = ALGEBRAIC[31]*( CONSTANTS[52]*ALGEBRAIC[33]*STATES[11] - CONSTANTS[33]*CONSTANTS[53]*(1.00000 - STATES[11]))*1.00000; ALGEBRAIC[36] = (1.00000+ 0.00100000*( pow(STATES[2], 3.00000)*CONSTANTS[3]+ pow(CONSTANTS[4], 3.00000)*STATES[1]))*(1.00000+STATES[1]/0.00690000); ALGEBRAIC[38] = ( CONSTANTS[39]*( pow(STATES[2], 3.00000)*CONSTANTS[3]*exp( CONSTANTS[38]*ALGEBRAIC[0]) - pow(CONSTANTS[4], 3.00000)*STATES[1]*exp( (CONSTANTS[38] - 1.00000)*ALGEBRAIC[0])))/ALGEBRAIC[36]; ALGEBRAIC[39] = (- 1.00000/( 2.00000*CONSTANTS[2]*CONSTANTS[49]))*((ALGEBRAIC[19]+ 2.00000*ALGEBRAIC[34]) - 2.00000*ALGEBRAIC[38]); ALGEBRAIC[40] = ALGEBRAIC[39] - (ALGEBRAIC[15]+ 4.00000*ALGEBRAIC[17]); RATES[1] = ALGEBRAIC[40]; ALGEBRAIC[4] = log(CONSTANTS[4]/STATES[2]); ALGEBRAIC[20] = pow(STATES[7], 3.00000)*STATES[8]; ALGEBRAIC[21] = ( CONSTANTS[18]*ALGEBRAIC[20]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[22] = ( CONSTANTS[27]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[23] = ( CONSTANTS[28]*STATES[9]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[42] = 1.00000/(1.00000+ (CONSTANTS[43]/STATES[2])*(1.00000+STATES[3]/CONSTANTS[45])); ALGEBRAIC[41] = CONSTANTS[4]*exp( - 0.820000*ALGEBRAIC[0]); ALGEBRAIC[45] = 1.00000/(1.00000+ (CONSTANTS[44]/ALGEBRAIC[41])*(1.00000+CONSTANTS[5]/CONSTANTS[46])); ALGEBRAIC[46] = CONSTANTS[47]*( CONSTANTS[54]*ALGEBRAIC[42]*STATES[12] - CONSTANTS[40]*ALGEBRAIC[45]*(1.00000 - STATES[12]))*1.00000; ALGEBRAIC[48] = (- 1.00000/( CONSTANTS[2]*CONSTANTS[49]))*( 3.00000*ALGEBRAIC[46]+ 3.00000*ALGEBRAIC[38]+ALGEBRAIC[21]+ALGEBRAIC[22]+ALGEBRAIC[23]); RATES[2] = ALGEBRAIC[48]; ALGEBRAIC[43] = 1.00000/(1.00000+ (CONSTANTS[45]/STATES[3])*(1.00000+STATES[2]/CONSTANTS[43])); ALGEBRAIC[44] = CONSTANTS[54]*ALGEBRAIC[42]+ CONSTANTS[41]*ALGEBRAIC[43]; ALGEBRAIC[47] = 1.00000/(1.00000+ (CONSTANTS[46]/CONSTANTS[5])*(1.00000+ALGEBRAIC[41]/CONSTANTS[44])); ALGEBRAIC[49] = CONSTANTS[40]*ALGEBRAIC[45]+ CONSTANTS[42]*ALGEBRAIC[47]; RATES[12] = ALGEBRAIC[49]*(1.00000 - STATES[12]) - ALGEBRAIC[44]*STATES[12]; ALGEBRAIC[6] = log(CONSTANTS[5]/STATES[3]); ALGEBRAIC[24] = pow(STATES[1], 4.20000)/(pow(0.000350000, 4.20000)+pow(STATES[1], 4.20000)); ALGEBRAIC[25] = ( CONSTANTS[30]*ALGEBRAIC[24]* pow(( STATES[3]*CONSTANTS[5]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[6])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[26] = pow(STATES[10], 3.00000); ALGEBRAIC[27] = CONSTANTS[31]*ALGEBRAIC[26]*(STATES[0] - ALGEBRAIC[6]*CONSTANTS[48]); ALGEBRAIC[28] = 1.00000/(1.00000+exp((STATES[0]+85.0000)/12.1000)); ALGEBRAIC[29] = CONSTANTS[32]*ALGEBRAIC[28]*(STATES[0] - ALGEBRAIC[6]*CONSTANTS[48]); ALGEBRAIC[30] = ALGEBRAIC[25]+ALGEBRAIC[27]+ALGEBRAIC[29]; ALGEBRAIC[50] = (- 1.00000/( CONSTANTS[2]*CONSTANTS[49]))*(ALGEBRAIC[30] - 2.00000*ALGEBRAIC[46]); RATES[0] = (( CONSTANTS[2]*CONSTANTS[49])/( CONSTANTS[8]*CONSTANTS[55]))*(ALGEBRAIC[48]+ALGEBRAIC[50]+ 2.00000*ALGEBRAIC[40]); RATES[3] = ALGEBRAIC[50]; } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[0] = STATES[0]/CONSTANTS[48]; ALGEBRAIC[1] = 0.00600000/(1.00000+exp((STATES[0]+87.7000)/6.45000)); ALGEBRAIC[5] = 0.0268000/(1.00000+exp((STATES[0]+94.2000)/13.3000)); ALGEBRAIC[7] = ALGEBRAIC[1]*CONSTANTS[50]+ ALGEBRAIC[5]*(1.00000 - CONSTANTS[50]); ALGEBRAIC[3] = 0.0800000/(1.00000+exp(- (STATES[0]+51.7000)/7.00000)); ALGEBRAIC[9] = 0.0800000/(1.00000+exp(- (STATES[0]+35.5000)/7.00000)); ALGEBRAIC[11] = ALGEBRAIC[3]*CONSTANTS[51]+ ALGEBRAIC[9]*(1.00000 - CONSTANTS[51]); ALGEBRAIC[14] = CONSTANTS[11] - STATES[4]; ALGEBRAIC[15] = CONSTANTS[13]*STATES[4]*STATES[1] - CONSTANTS[14]*ALGEBRAIC[14]; ALGEBRAIC[16] = CONSTANTS[12] - STATES[5]; ALGEBRAIC[8] = 12000.0*pow(STATES[1], 2.00000); ALGEBRAIC[10] = 3.70000e+06*pow(STATES[1], 2.00000); ALGEBRAIC[12] = ALGEBRAIC[8]*ALGEBRAIC[10]*(1.00000/(ALGEBRAIC[8]+CONSTANTS[16])+1.00000/(CONSTANTS[15]+CONSTANTS[16])); ALGEBRAIC[13] = CONSTANTS[15]*CONSTANTS[16]*(1.00000/(ALGEBRAIC[8]+CONSTANTS[16])+1.00000/(CONSTANTS[15]+CONSTANTS[16])); ALGEBRAIC[17] = ALGEBRAIC[12]*STATES[5] - ALGEBRAIC[13]*ALGEBRAIC[16]; ALGEBRAIC[32] = (173.600/(1.00000+ALGEBRAIC[16]/5.00000e-05)+6.40000)*1.00000e-05; ALGEBRAIC[33] = 1.00000/(1.00000+ALGEBRAIC[32]/STATES[1]); ALGEBRAIC[35] = 1.00000 - ALGEBRAIC[33]; ALGEBRAIC[37] = CONSTANTS[52]*ALGEBRAIC[33]+ CONSTANTS[34]*ALGEBRAIC[35]; ALGEBRAIC[2] = 0.500000*log(CONSTANTS[3]/STATES[1]); ALGEBRAIC[18] = 0.000450000/(0.000450000+STATES[1]); ALGEBRAIC[19] = ( CONSTANTS[17]*STATES[6]*ALGEBRAIC[18]* pow(( STATES[1]*CONSTANTS[3]), 1.0 / 2)* sinh(ALGEBRAIC[0] - ALGEBRAIC[2]))/( sinh(ALGEBRAIC[0])/ALGEBRAIC[0]); ALGEBRAIC[31] = CONSTANTS[37]*(( 10.5600*ALGEBRAIC[16])/(ALGEBRAIC[16]+5.00000e-05)+1.20000); ALGEBRAIC[34] = ALGEBRAIC[31]*( CONSTANTS[52]*ALGEBRAIC[33]*STATES[11] - CONSTANTS[33]*CONSTANTS[53]*(1.00000 - STATES[11]))*1.00000; ALGEBRAIC[36] = (1.00000+ 0.00100000*( pow(STATES[2], 3.00000)*CONSTANTS[3]+ pow(CONSTANTS[4], 3.00000)*STATES[1]))*(1.00000+STATES[1]/0.00690000); ALGEBRAIC[38] = ( CONSTANTS[39]*( pow(STATES[2], 3.00000)*CONSTANTS[3]*exp( CONSTANTS[38]*ALGEBRAIC[0]) - pow(CONSTANTS[4], 3.00000)*STATES[1]*exp( (CONSTANTS[38] - 1.00000)*ALGEBRAIC[0])))/ALGEBRAIC[36]; ALGEBRAIC[39] = (- 1.00000/( 2.00000*CONSTANTS[2]*CONSTANTS[49]))*((ALGEBRAIC[19]+ 2.00000*ALGEBRAIC[34]) - 2.00000*ALGEBRAIC[38]); ALGEBRAIC[40] = ALGEBRAIC[39] - (ALGEBRAIC[15]+ 4.00000*ALGEBRAIC[17]); ALGEBRAIC[4] = log(CONSTANTS[4]/STATES[2]); ALGEBRAIC[20] = pow(STATES[7], 3.00000)*STATES[8]; ALGEBRAIC[21] = ( CONSTANTS[18]*ALGEBRAIC[20]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[22] = ( CONSTANTS[27]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[23] = ( CONSTANTS[28]*STATES[9]* pow(( STATES[2]*CONSTANTS[4]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[4])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[42] = 1.00000/(1.00000+ (CONSTANTS[43]/STATES[2])*(1.00000+STATES[3]/CONSTANTS[45])); ALGEBRAIC[41] = CONSTANTS[4]*exp( - 0.820000*ALGEBRAIC[0]); ALGEBRAIC[45] = 1.00000/(1.00000+ (CONSTANTS[44]/ALGEBRAIC[41])*(1.00000+CONSTANTS[5]/CONSTANTS[46])); ALGEBRAIC[46] = CONSTANTS[47]*( CONSTANTS[54]*ALGEBRAIC[42]*STATES[12] - CONSTANTS[40]*ALGEBRAIC[45]*(1.00000 - STATES[12]))*1.00000; ALGEBRAIC[48] = (- 1.00000/( CONSTANTS[2]*CONSTANTS[49]))*( 3.00000*ALGEBRAIC[46]+ 3.00000*ALGEBRAIC[38]+ALGEBRAIC[21]+ALGEBRAIC[22]+ALGEBRAIC[23]); ALGEBRAIC[43] = 1.00000/(1.00000+ (CONSTANTS[45]/STATES[3])*(1.00000+STATES[2]/CONSTANTS[43])); ALGEBRAIC[44] = CONSTANTS[54]*ALGEBRAIC[42]+ CONSTANTS[41]*ALGEBRAIC[43]; ALGEBRAIC[47] = 1.00000/(1.00000+ (CONSTANTS[46]/CONSTANTS[5])*(1.00000+ALGEBRAIC[41]/CONSTANTS[44])); ALGEBRAIC[49] = CONSTANTS[40]*ALGEBRAIC[45]+ CONSTANTS[42]*ALGEBRAIC[47]; ALGEBRAIC[6] = log(CONSTANTS[5]/STATES[3]); ALGEBRAIC[24] = pow(STATES[1], 4.20000)/(pow(0.000350000, 4.20000)+pow(STATES[1], 4.20000)); ALGEBRAIC[25] = ( CONSTANTS[30]*ALGEBRAIC[24]* pow(( STATES[3]*CONSTANTS[5]), 1.0 / 2)* sinh( 0.500000*(ALGEBRAIC[0] - ALGEBRAIC[6])))/( sinh( 0.500000*ALGEBRAIC[0])/( 0.500000*ALGEBRAIC[0])); ALGEBRAIC[26] = pow(STATES[10], 3.00000); ALGEBRAIC[27] = CONSTANTS[31]*ALGEBRAIC[26]*(STATES[0] - ALGEBRAIC[6]*CONSTANTS[48]); ALGEBRAIC[28] = 1.00000/(1.00000+exp((STATES[0]+85.0000)/12.1000)); ALGEBRAIC[29] = CONSTANTS[32]*ALGEBRAIC[28]*(STATES[0] - ALGEBRAIC[6]*CONSTANTS[48]); ALGEBRAIC[30] = ALGEBRAIC[25]+ALGEBRAIC[27]+ALGEBRAIC[29]; ALGEBRAIC[50] = (- 1.00000/( CONSTANTS[2]*CONSTANTS[49]))*(ALGEBRAIC[30] - 2.00000*ALGEBRAIC[46]); }