Personal tools
You are here: Home Model Repository
 
Views

A Computer Model for the Action Potential of Mouse Ventricular Myocytes

Generated code

Programming Language

Download this code
  • The required array sizes are:
    • VARIABLES[113]
    • CONSTANTS[71]
    • BOUND[1]
    • RATES[41]
  • The following variables are defined:
    • Variable VNSR(CONSTANTS[0])
    • Variable Vss(CONSTANTS[1])
    • Variable Acap(CONSTANTS[2])
    • Variable Ko(CONSTANTS[3])
    • Variable Nao(CONSTANTS[4])
    • Variable Cao(CONSTANTS[5])
    • Variable R(CONSTANTS[6])
    • Variable T(CONSTANTS[7])
    • Variable F(CONSTANTS[8])
    • Variable i_stim(VARIABLES[41]; recomputed after rate changes)
    • Variable time(BOUND[0])
    • Variable V(RATES[0] and VARIABLES[0])
    • Variable Cm(CONSTANTS[9])
    • Variable Vmyo(CONSTANTS[10])
    • Variable VJSR(CONSTANTS[11])
    • Variable Km_CSQN(CONSTANTS[12])
    • Variable J_leak(VARIABLES[42]; recomputed after rate changes)
    • Variable J_rel(VARIABLES[43]; recomputed after rate changes)
    • Variable J_up(VARIABLES[44]; recomputed after rate changes)
    • Variable J_tr(VARIABLES[45]; recomputed after rate changes)
    • Variable J_trpn(VARIABLES[46]; recomputed after rate changes)
    • Variable P_O1(RATES[1] and VARIABLES[1])
    • Variable P_O2(RATES[2] and VARIABLES[2])
    • Variable P_C1(VARIABLES[47]; recomputed after rate changes)
    • Variable P_C2(RATES[3] and VARIABLES[3])
    • Variable k_plus_a(CONSTANTS[13])
    • Variable k_minus_a(CONSTANTS[14])
    • Variable k_plus_b(CONSTANTS[15])
    • Variable k_minus_b(CONSTANTS[16])
    • Variable k_plus_c(CONSTANTS[17])
    • Variable k_minus_c(CONSTANTS[18])
    • Variable m(CONSTANTS[19])
    • Variable n(CONSTANTS[20])
    • Variable i_CaL(VARIABLES[48]; recomputed after rate changes)
    • Variable i_CaL_max(CONSTANTS[21])
    • Variable E_CaL(CONSTANTS[22])
    • Variable g_CaL(CONSTANTS[23])
    • Variable O(RATES[4] and VARIABLES[4])
    • Variable C1(VARIABLES[49]; recomputed after rate changes)
    • Variable C2(RATES[5] and VARIABLES[5])
    • Variable C3(RATES[6] and VARIABLES[6])
    • Variable C4(RATES[7] and VARIABLES[7])
    • Variable I1(RATES[8] and VARIABLES[8])
    • Variable I2(RATES[9] and VARIABLES[9])
    • Variable I3(RATES[10] and VARIABLES[10])
    • Variable alpha(VARIABLES[50]; recomputed after rate changes)
    • Variable beta(VARIABLES[51]; recomputed after rate changes)
    • Variable gamma(VARIABLES[52]; recomputed after rate changes)
    • Variable Kpcf(VARIABLES[53]; recomputed after rate changes)
    • Variable stim_start(CONSTANTS[24])
    • Variable stim_end(CONSTANTS[25])
    • Variable stim_period(CONSTANTS[26])
    • Variable stim_duration(CONSTANTS[27])
    • Variable stim_amplitude(CONSTANTS[28])
    • Variable Cai(RATES[11] and VARIABLES[11])
    • Variable Cass(RATES[12] and VARIABLES[12])
    • Variable CaJSR(RATES[13] and VARIABLES[13])
    • Variable CaNSR(RATES[14] and VARIABLES[14])
    • Variable Bi(VARIABLES[54]; recomputed after rate changes)
    • Variable Bss(VARIABLES[55]; recomputed after rate changes)
    • Variable BJSR(VARIABLES[56]; recomputed after rate changes)
    • Variable CMDN_tot(CONSTANTS[29])
    • Variable CSQN_tot(CONSTANTS[30])
    • Variable Km_CMDN(CONSTANTS[31])
    • Variable i_Na(VARIABLES[57]; recomputed after rate changes)
    • Variable E_Na(VARIABLES[58]; recomputed after rate changes)
    • Variable g_Na(CONSTANTS[32])
    • Variable O_Na(RATES[15] and VARIABLES[15])
    • Variable C_Na1(RATES[16] and VARIABLES[16])
    • Variable C_Na2(RATES[17] and VARIABLES[17])
    • Variable C_Na3(VARIABLES[59]; recomputed after rate changes)
    • Variable I1_Na(RATES[18] and VARIABLES[18])
    • Variable I2_Na(RATES[19] and VARIABLES[19])
    • Variable IF_Na(RATES[20] and VARIABLES[20])
    • Variable IC_Na2(RATES[21] and VARIABLES[21])
    • Variable IC_Na3(RATES[22] and VARIABLES[22])
    • Variable alpha_Na11(VARIABLES[60]; recomputed after rate changes)
    • Variable beta_Na11(VARIABLES[61]; recomputed after rate changes)
    • Variable alpha_Na12(VARIABLES[62]; recomputed after rate changes)
    • Variable beta_Na12(VARIABLES[63]; recomputed after rate changes)
    • Variable alpha_Na13(VARIABLES[64]; recomputed after rate changes)
    • Variable beta_Na13(VARIABLES[65]; recomputed after rate changes)
    • Variable alpha_Na3(VARIABLES[66]; recomputed after rate changes)
    • Variable beta_Na3(VARIABLES[67]; recomputed after rate changes)
    • Variable alpha_Na2(VARIABLES[68]; recomputed after rate changes)
    • Variable beta_Na2(VARIABLES[69]; recomputed after rate changes)
    • Variable alpha_Na4(VARIABLES[70]; recomputed after rate changes)
    • Variable beta_Na4(VARIABLES[71]; recomputed after rate changes)
    • Variable alpha_Na5(VARIABLES[72]; recomputed after rate changes)
    • Variable beta_Na5(VARIABLES[73]; recomputed after rate changes)
    • Variable i_Nab(VARIABLES[74]; recomputed after rate changes)
    • Variable g_Nab(CONSTANTS[33])
    • Variable Ki(RATES[23] and VARIABLES[23])
    • Variable i_Kto_f(VARIABLES[75]; recomputed after rate changes)
    • Variable E_K(VARIABLES[76]; recomputed after rate changes)
    • Variable g_Kto_f(CONSTANTS[34])
    • Variable ato_f(RATES[24] and VARIABLES[24])
    • Variable ito_f(RATES[25] and VARIABLES[25])
    • Variable alpha_a(VARIABLES[77]; recomputed after rate changes)
    • Variable beta_a(VARIABLES[78]; recomputed after rate changes)
    • Variable alpha_i(VARIABLES[79]; recomputed after rate changes)
    • Variable beta_i(VARIABLES[80]; recomputed after rate changes)
    • Variable i_Kto_s(VARIABLES[81]; recomputed after rate changes)
    • Variable ass(VARIABLES[82]; recomputed after rate changes)
    • Variable iss(VARIABLES[83]; recomputed after rate changes)
    • Variable g_Kto_s(CONSTANTS[35])
    • Variable ato_s(RATES[26] and VARIABLES[26])
    • Variable ito_s(RATES[27] and VARIABLES[27])
    • Variable tau_ta_s(VARIABLES[84]; recomputed after rate changes)
    • Variable tau_ti_s(VARIABLES[85]; recomputed after rate changes)
    • Variable i_K1(VARIABLES[86]; recomputed after rate changes)
    • Variable i_Ks(VARIABLES[87]; recomputed after rate changes)
    • Variable g_Ks(CONSTANTS[36])
    • Variable nKs(RATES[28] and VARIABLES[28])
    • Variable alpha_n(VARIABLES[88]; recomputed after rate changes)
    • Variable beta_n(VARIABLES[89]; recomputed after rate changes)
    • Variable i_Kur(VARIABLES[90]; recomputed after rate changes)
    • Variable g_Kur(CONSTANTS[37])
    • Variable aur(RATES[29] and VARIABLES[29])
    • Variable iur(RATES[30] and VARIABLES[30])
    • Variable tau_aur(VARIABLES[91]; recomputed after rate changes)
    • Variable tau_iur(VARIABLES[92]; recomputed after rate changes)
    • Variable i_Kss(VARIABLES[93]; recomputed after rate changes)
    • Variable g_Kss(CONSTANTS[38])
    • Variable aKss(RATES[31] and VARIABLES[31])
    • Variable iKss(RATES[32] and VARIABLES[32])
    • Variable tau_Kss(VARIABLES[94]; recomputed after rate changes)
    • Variable i_Kr(VARIABLES[95]; recomputed after rate changes)
    • Variable g_Kr(CONSTANTS[39])
    • Variable O_K(RATES[33] and VARIABLES[33])
    • Variable C_K1(RATES[34] and VARIABLES[34])
    • Variable C_K2(RATES[35] and VARIABLES[35])
    • Variable C_K0(VARIABLES[96]; recomputed after rate changes)
    • Variable I_K(RATES[36] and VARIABLES[36])
    • Variable alpha_a0(VARIABLES[97]; recomputed after rate changes)
    • Variable beta_a0(VARIABLES[98]; recomputed after rate changes)
    • Variable kb(CONSTANTS[40])
    • Variable kf(CONSTANTS[41])
    • Variable alpha_a1(VARIABLES[99]; recomputed after rate changes)
    • Variable beta_a1(VARIABLES[100]; recomputed after rate changes)
    • Variable alpha_i(VARIABLES[101]; recomputed after rate changes)
    • Variable beta_i(VARIABLES[102]; recomputed after rate changes)
    • Variable i_NaK(VARIABLES[103]; recomputed after rate changes)
    • Variable i_NaK_max(CONSTANTS[42])
    • Variable Km_Nai(CONSTANTS[43])
    • Variable Km_Ko(CONSTANTS[44])
    • Variable f_NaK(VARIABLES[104]; recomputed after rate changes)
    • Variable sigma(VARIABLES[105]; computed once)
    • Variable i_ClCa(VARIABLES[106]; recomputed after rate changes)
    • Variable g_ClCa(CONSTANTS[45])
    • Variable O_ClCa(VARIABLES[107]; recomputed after rate changes)
    • Variable E_Cl(CONSTANTS[46])
    • Variable Km_Cl(CONSTANTS[47])
    • Variable J_xfer(VARIABLES[108]; recomputed after rate changes)
    • Variable k_plus_htrpn(CONSTANTS[48])
    • Variable k_minus_htrpn(CONSTANTS[49])
    • Variable k_plus_ltrpn(CONSTANTS[50])
    • Variable k_minus_ltrpn(CONSTANTS[51])
    • Variable P_RyR(RATES[37] and VARIABLES[37])
    • Variable v1(CONSTANTS[52])
    • Variable tau_tr(CONSTANTS[53])
    • Variable v2(CONSTANTS[54])
    • Variable tau_xfer(CONSTANTS[55])
    • Variable v3(CONSTANTS[56])
    • Variable Km_up(CONSTANTS[57])
    • Variable LTRPN_tot(CONSTANTS[58])
    • Variable HTRPN_tot(CONSTANTS[59])
    • Variable LTRPN_Ca(RATES[38] and VARIABLES[38])
    • Variable HTRPN_Ca(RATES[39] and VARIABLES[39])
    • Variable Kpcb(CONSTANTS[60])
    • Variable Kpc_max(CONSTANTS[61])
    • Variable Kpc_half(CONSTANTS[62])
    • Variable i_pCa(VARIABLES[109]; recomputed after rate changes)
    • Variable i_pCa_max(CONSTANTS[63])
    • Variable Km_pCa(CONSTANTS[64])
    • Variable i_NaCa(VARIABLES[110]; recomputed after rate changes)
    • Variable k_NaCa(CONSTANTS[65])
    • Variable K_mNa(CONSTANTS[66])
    • Variable K_mCa(CONSTANTS[67])
    • Variable k_sat(CONSTANTS[68])
    • Variable eta(CONSTANTS[69])
    • Variable i_Cab(VARIABLES[111]; recomputed after rate changes)
    • Variable g_Cab(CONSTANTS[70])
    • Variable E_CaN(VARIABLES[112]; recomputed after rate changes)
    • Variable Nai(RATES[40] and VARIABLES[40])
  • No equation needed for Newton-Raphson evaluation.
void SetupFixedConstants(double* CONSTANTS)
{
CONSTANTS[0] = 2.098e-06;
CONSTANTS[1] = 1.485e-09;
CONSTANTS[2] = 0.0001534;
CONSTANTS[3] = 5400;
CONSTANTS[4] = 140000;
CONSTANTS[5] = 1800;
CONSTANTS[6] = 8.314;
CONSTANTS[7] = 298;
CONSTANTS[8] = 96.5;
CONSTANTS[9] = 1;
CONSTANTS[10] = 2.584e-05;
CONSTANTS[11] = 1.2e-07;
CONSTANTS[12] = 800;
CONSTANTS[13] = 0.006075;
CONSTANTS[14] = 0.07125;
CONSTANTS[15] = 0.00405;
CONSTANTS[16] = 0.965;
CONSTANTS[17] = 0.009;
CONSTANTS[18] = 0.0008;
CONSTANTS[19] = 3;
CONSTANTS[20] = 4;
CONSTANTS[21] = 7;
CONSTANTS[22] = 63;
CONSTANTS[23] = 0.1729;
CONSTANTS[24] = 20;
CONSTANTS[25] = 100000;
CONSTANTS[26] = 71.43;
CONSTANTS[27] = 0.5;
CONSTANTS[28] = -80;
CONSTANTS[29] = 50;
CONSTANTS[30] = 15000;
CONSTANTS[31] = 0.238;
CONSTANTS[32] = 13;
CONSTANTS[33] = 0.0026;
CONSTANTS[34] = 0.0798;
CONSTANTS[35] = 0.0629;
CONSTANTS[36] = 0.00575;
CONSTANTS[37] = 0.0975;
CONSTANTS[38] = 0.0324;
CONSTANTS[39] = 0.078;
CONSTANTS[40] = 0.036778;
CONSTANTS[41] = 0.023761;
CONSTANTS[42] = 0.88;
CONSTANTS[43] = 21000;
CONSTANTS[44] = 1500;
CONSTANTS[45] = 10;
CONSTANTS[46] = -40;
CONSTANTS[47] = 10;
CONSTANTS[48] = 0.00237;
CONSTANTS[49] = 3.2e-05;
CONSTANTS[50] = 0.0327;
CONSTANTS[51] = 0.0196;
CONSTANTS[52] = 4.5;
CONSTANTS[53] = 20;
CONSTANTS[54] = 1.74e-05;
CONSTANTS[55] = 8;
CONSTANTS[56] = 0.45;
CONSTANTS[57] = 0.5;
CONSTANTS[58] = 70;
CONSTANTS[59] = 140;
CONSTANTS[60] = 0.0005;
CONSTANTS[61] = 0.23324;
CONSTANTS[62] = 20;
CONSTANTS[63] = 1;
CONSTANTS[64] = 0.5;
CONSTANTS[65] = 292.8;
CONSTANTS[66] = 87500;
CONSTANTS[67] = 1380;
CONSTANTS[68] = 0.1;
CONSTANTS[69] = 0.35;
CONSTANTS[70] = 0.000367;
}

void SetupComputedConstants(double* CONSTANTS, double* VARIABLES)
{
VARIABLES[105] = ((1.00000/7.00000)*(exp((CONSTANTS[4]/67300.0))-1.00000));
VARIABLES[0] = -82.4202;
VARIABLES[1] = 1.49102e-05;
VARIABLES[2] = 9.51726e-11;
VARIABLES[3] = 0.000167740;
VARIABLES[4] = 9.30308e-19;
VARIABLES[5] = 0.000124216;
VARIABLES[6] = 5.78679e-09;
VARIABLES[7] = 1.19816e-13;
VARIABLES[8] = 4.97923e-19;
VARIABLES[9] = 3.45847e-14;
VARIABLES[10] = 1.85106e-14;
VARIABLES[11] = 0.115001;
VARIABLES[12] = 0.115001;
VARIABLES[13] = 1299.50;
VARIABLES[14] = 1299.50;
VARIABLES[15] = 7.13483e-07;
VARIABLES[16] = 0.000279132;
VARIABLES[17] = 0.0207520;
VARIABLES[18] = 6.73345e-07;
VARIABLES[19] = 1.55787e-09;
VARIABLES[20] = 0.000153176;
VARIABLES[21] = 0.0113879;
VARIABLES[22] = 0.342780;
VARIABLES[23] = 143720.;
VARIABLES[24] = 0.00265563;
VARIABLES[25] = 0.999977;
VARIABLES[26] = 0.000417069;
VARIABLES[27] = 0.998543;
VARIABLES[28] = 0.000262753;
VARIABLES[29] = 0.000417069;
VARIABLES[30] = 0.998543;
VARIABLES[31] = 0.000417069;
VARIABLES[32] = 1.00000;
VARIABLES[33] = 0.000175298;
VARIABLES[34] = 0.000992513;
VARIABLES[35] = 0.000641229;
VARIABLES[36] = 3.19129e-05;
VARIABLES[37] = 0.00000;
VARIABLES[38] = 11.2684;
VARIABLES[39] = 125.290;
VARIABLES[40] = 14237.1;
}

void ComputeRates(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
RATES[0] = (-(VARIABLES[48]+VARIABLES[109]+VARIABLES[110]+VARIABLES[111]+VARIABLES[57]+VARIABLES[74]+VARIABLES[103]+VARIABLES[75]+VARIABLES[81]+VARIABLES[86]+VARIABLES[87]+VARIABLES[90]+VARIABLES[93]+VARIABLES[95]+VARIABLES[106]+VARIABLES[41]));
RATES[11] = (VARIABLES[54]*((VARIABLES[42]+VARIABLES[108])-(VARIABLES[44]+VARIABLES[46]+((((VARIABLES[111]+VARIABLES[109])-(2.00000*VARIABLES[110]))*CONSTANTS[2]*CONSTANTS[9])/(2.00000*CONSTANTS[10]*CONSTANTS[8])))));
RATES[12] = (VARIABLES[55]*(((VARIABLES[43]*CONSTANTS[11])/CONSTANTS[1])-(((VARIABLES[108]*CONSTANTS[10])/CONSTANTS[1])+((VARIABLES[48]*CONSTANTS[2]*CONSTANTS[9])/(2.00000*CONSTANTS[1]*CONSTANTS[8])))));
RATES[13] = (VARIABLES[56]*(VARIABLES[45]-VARIABLES[43]));
RATES[14] = ((((VARIABLES[44]-VARIABLES[42])*CONSTANTS[10])/CONSTANTS[0])-((VARIABLES[45]*CONSTANTS[11])/CONSTANTS[0]));
RATES[37] = (((-0.0400000)*VARIABLES[37])-(((0.100000*VARIABLES[48])/CONSTANTS[21])*exp(((-pow((VARIABLES[0]-5.00000),2.00000))/648.000))));
RATES[38] = ((CONSTANTS[50]*VARIABLES[11]*(CONSTANTS[58]-VARIABLES[38]))-(CONSTANTS[51]*VARIABLES[38]));
RATES[39] = ((CONSTANTS[48]*VARIABLES[11]*(CONSTANTS[59]-VARIABLES[39]))-(CONSTANTS[49]*VARIABLES[39]));
RATES[1] = (((CONSTANTS[13]*pow(VARIABLES[12],CONSTANTS[20])*VARIABLES[47])+(CONSTANTS[16]*VARIABLES[2])+(CONSTANTS[18]*VARIABLES[3]))-((CONSTANTS[14]*VARIABLES[1])+(CONSTANTS[15]*pow(VARIABLES[12],CONSTANTS[19])*VARIABLES[1])+(CONSTANTS[17]*VARIABLES[1])));
RATES[2] = ((CONSTANTS[15]*pow(VARIABLES[12],CONSTANTS[19])*VARIABLES[1])-(CONSTANTS[16]*VARIABLES[2]));
RATES[3] = ((CONSTANTS[17]*VARIABLES[1])-(CONSTANTS[18]*VARIABLES[3]));
RATES[4] = (((VARIABLES[50]*VARIABLES[7])+(CONSTANTS[60]*VARIABLES[8])+(0.00100000*((VARIABLES[50]*VARIABLES[9])-(VARIABLES[53]*VARIABLES[4]))))-((4.00000*VARIABLES[51]*VARIABLES[4])+(VARIABLES[52]*VARIABLES[4])));
RATES[5] = (((4.00000*VARIABLES[50]*VARIABLES[49])+(2.00000*VARIABLES[51]*VARIABLES[6]))-((VARIABLES[51]*VARIABLES[5])+(3.00000*VARIABLES[50]*VARIABLES[5])));
RATES[6] = (((3.00000*VARIABLES[50]*VARIABLES[5])+(3.00000*VARIABLES[51]*VARIABLES[7]))-((2.00000*VARIABLES[51]*VARIABLES[6])+(2.00000*VARIABLES[50]*VARIABLES[6])));
RATES[7] = (((2.00000*VARIABLES[50]*VARIABLES[6])+(4.00000*VARIABLES[51]*VARIABLES[4])+(0.0100000*((4.00000*CONSTANTS[60]*VARIABLES[51]*VARIABLES[8])-(VARIABLES[50]*VARIABLES[52]*VARIABLES[7])))+(0.00200000*((4.00000*VARIABLES[51]*VARIABLES[9])-(VARIABLES[53]*VARIABLES[7])))+(4.00000*VARIABLES[51]*CONSTANTS[60]*VARIABLES[10]))-((3.00000*VARIABLES[51]*VARIABLES[7])+(VARIABLES[50]*VARIABLES[7])+(1.00000*VARIABLES[52]*VARIABLES[53]*VARIABLES[7])));
RATES[8] = (((VARIABLES[52]*VARIABLES[4])+(0.00100000*((VARIABLES[50]*VARIABLES[10])-(VARIABLES[53]*VARIABLES[8])))+(0.0100000*((VARIABLES[50]*VARIABLES[52]*VARIABLES[7])-(4.00000*VARIABLES[51]*VARIABLES[53]*VARIABLES[8]))))-(CONSTANTS[60]*VARIABLES[8]));
RATES[9] = (((0.00100000*((VARIABLES[53]*VARIABLES[4])-(VARIABLES[50]*VARIABLES[9])))+(CONSTANTS[60]*VARIABLES[10])+(0.00200000*((VARIABLES[53]*VARIABLES[7])-(4.00000*VARIABLES[51]*VARIABLES[9]))))-(VARIABLES[52]*VARIABLES[9]));
RATES[10] = (((0.00100000*((VARIABLES[53]*VARIABLES[8])-(VARIABLES[50]*VARIABLES[10])))+(VARIABLES[52]*VARIABLES[9])+(1.00000*VARIABLES[52]*VARIABLES[53]*VARIABLES[7]))-((4.00000*VARIABLES[51]*CONSTANTS[60]*VARIABLES[10])+(CONSTANTS[60]*VARIABLES[10])));
RATES[40] = (((-(VARIABLES[57]+VARIABLES[74]+(3.00000*VARIABLES[103])+(3.00000*VARIABLES[110])))*CONSTANTS[2]*CONSTANTS[9])/(CONSTANTS[10]*CONSTANTS[8]));
RATES[17] = (((VARIABLES[60]*VARIABLES[59])+(VARIABLES[63]*VARIABLES[16])+(VARIABLES[66]*VARIABLES[21]))-((VARIABLES[61]*VARIABLES[17])+(VARIABLES[62]*VARIABLES[17])+(VARIABLES[67]*VARIABLES[17])));
RATES[16] = (((VARIABLES[62]*VARIABLES[17])+(VARIABLES[65]*VARIABLES[15])+(VARIABLES[66]*VARIABLES[20]))-((VARIABLES[63]*VARIABLES[16])+(VARIABLES[64]*VARIABLES[16])+(VARIABLES[67]*VARIABLES[16])));
RATES[15] = (((VARIABLES[64]*VARIABLES[16])+(VARIABLES[69]*VARIABLES[20]))-((VARIABLES[65]*VARIABLES[15])+(VARIABLES[68]*VARIABLES[15])));
RATES[20] = (((VARIABLES[68]*VARIABLES[15])+(VARIABLES[67]*VARIABLES[16])+(VARIABLES[71]*VARIABLES[18])+(VARIABLES[62]*VARIABLES[21]))-((VARIABLES[69]*VARIABLES[20])+(VARIABLES[66]*VARIABLES[20])+(VARIABLES[70]*VARIABLES[20])+(VARIABLES[63]*VARIABLES[20])));
RATES[18] = (((VARIABLES[70]*VARIABLES[20])+(VARIABLES[73]*VARIABLES[19]))-((VARIABLES[71]*VARIABLES[18])+(VARIABLES[72]*VARIABLES[18])));
RATES[19] = ((VARIABLES[72]*VARIABLES[18])-(VARIABLES[73]*VARIABLES[19]));
RATES[21] = (((VARIABLES[60]*VARIABLES[22])+(VARIABLES[63]*VARIABLES[20])+(VARIABLES[67]*VARIABLES[21]))-((VARIABLES[61]*VARIABLES[21])+(VARIABLES[62]*VARIABLES[21])+(VARIABLES[66]*VARIABLES[21])));
RATES[22] = (((VARIABLES[61]*VARIABLES[21])+(VARIABLES[67]*VARIABLES[59]))-((VARIABLES[60]*VARIABLES[22])+(VARIABLES[66]*VARIABLES[22])));
RATES[23] = (((-((VARIABLES[75]+VARIABLES[81]+VARIABLES[86]+VARIABLES[87]+VARIABLES[93]+VARIABLES[90]+VARIABLES[95])-(2.00000*VARIABLES[103])))*CONSTANTS[2]*CONSTANTS[9])/(CONSTANTS[10]*CONSTANTS[8]));
RATES[24] = ((VARIABLES[77]*(1.00000-VARIABLES[24]))-(VARIABLES[78]*VARIABLES[24]));
RATES[25] = ((VARIABLES[79]*(1.00000-VARIABLES[25]))-(VARIABLES[80]*VARIABLES[25]));
RATES[26] = ((VARIABLES[82]-VARIABLES[26])/VARIABLES[84]);
RATES[27] = ((VARIABLES[83]-VARIABLES[27])/VARIABLES[85]);
RATES[28] = ((VARIABLES[88]*(1.00000-VARIABLES[28]))-(VARIABLES[89]*VARIABLES[28]));
RATES[29] = ((VARIABLES[82]-VARIABLES[29])/VARIABLES[91]);
RATES[30] = ((VARIABLES[83]-VARIABLES[30])/VARIABLES[92]);
RATES[31] = ((VARIABLES[82]-VARIABLES[31])/VARIABLES[94]);
RATES[32] = 0.00000;
RATES[35] = (((CONSTANTS[41]*VARIABLES[34])+(VARIABLES[100]*VARIABLES[33]))-((CONSTANTS[40]*VARIABLES[35])+(VARIABLES[99]*VARIABLES[35])));
RATES[34] = (((VARIABLES[97]*VARIABLES[96])+(CONSTANTS[40]*VARIABLES[35]))-((VARIABLES[98]*VARIABLES[34])+(CONSTANTS[41]*VARIABLES[34])));
RATES[33] = (((VARIABLES[99]*VARIABLES[35])+(VARIABLES[102]*VARIABLES[36]))-((VARIABLES[100]*VARIABLES[33])+(VARIABLES[101]*VARIABLES[33])));
RATES[36] = ((VARIABLES[101]*VARIABLES[33])-(VARIABLES[102]*VARIABLES[36]));
}

void ComputeVariables(double* BOUND, double* RATES, double* CONSTANTS, double* VARIABLES)
{
VARIABLES[84] = ((0.493000*exp(((-0.0629000)*VARIABLES[0])))+2.05800);
VARIABLES[85] = (270.000+(1050.00/(1.00000+exp(((VARIABLES[0]+45.2000)/5.70000)))));
VARIABLES[76] = (((CONSTANTS[6]*CONSTANTS[7])/CONSTANTS[8])*log((CONSTANTS[3]/VARIABLES[23])));
VARIABLES[86] = ((((0.293800*CONSTANTS[3])/(CONSTANTS[3]+210.000))*(VARIABLES[0]-VARIABLES[76]))/(1.00000+exp((0.0896000*(VARIABLES[0]-VARIABLES[76])))));
VARIABLES[87] = (CONSTANTS[36]*pow(VARIABLES[28],2.00000)*(VARIABLES[0]-VARIABLES[76]));
VARIABLES[88] = ((4.81333e-06*(VARIABLES[0]+26.5000))/(1.00000-exp(((-0.128000)*(VARIABLES[0]+26.5000)))));
VARIABLES[89] = (9.53333e-05*exp(((-0.0380000)*(VARIABLES[0]+26.5000))));
VARIABLES[90] = (CONSTANTS[37]*VARIABLES[29]*VARIABLES[30]*(VARIABLES[0]-VARIABLES[76]));
VARIABLES[91] = ((0.493000*exp(((-0.0629000)*VARIABLES[0])))+2.05800);
VARIABLES[92] = (1200.00-(170.000/(1.00000+exp(((VARIABLES[0]+45.2000)/5.70000)))));
VARIABLES[93] = (CONSTANTS[38]*VARIABLES[31]*VARIABLES[32]*(VARIABLES[0]-VARIABLES[76]));
VARIABLES[94] = ((39.3000*exp(((-0.0862000)*VARIABLES[0])))+13.1700);
VARIABLES[95] = (CONSTANTS[39]*VARIABLES[33]*(VARIABLES[0]-(((CONSTANTS[6]*CONSTANTS[7])/CONSTANTS[8])*log((((0.980000*CONSTANTS[3])+(0.0200000*CONSTANTS[4]))/((0.980000*VARIABLES[23])+(0.0200000*VARIABLES[40])))))));
VARIABLES[96] = (1.00000-(VARIABLES[34]+VARIABLES[35]+VARIABLES[33]+VARIABLES[36]));
VARIABLES[97] = (0.0223480*exp((0.0117600*VARIABLES[0])));
VARIABLES[98] = (0.0470020*exp(((-0.0631000)*VARIABLES[0])));
VARIABLES[99] = (0.0137330*exp((0.0381980*VARIABLES[0])));
VARIABLES[100] = (6.89000e-05*exp(((-0.0417800)*VARIABLES[0])));
VARIABLES[101] = (0.0908210*exp((0.0233910*(VARIABLES[0]+5.00000))));
VARIABLES[102] = (0.00649700*exp(((-0.0326800)*(VARIABLES[0]+5.00000))));
VARIABLES[104] = (1.00000/(1.00000+(0.124500*exp((((-0.100000)*VARIABLES[0]*CONSTANTS[8])/(CONSTANTS[6]*CONSTANTS[7]))))+(0.0365000*VARIABLES[105]*exp((((-VARIABLES[0])*CONSTANTS[8])/(CONSTANTS[6]*CONSTANTS[7]))))));
VARIABLES[103] = ((((CONSTANTS[42]*VARIABLES[104]*1.00000)/(1.00000+pow((CONSTANTS[43]/VARIABLES[40]),1.50000)))*CONSTANTS[3])/(CONSTANTS[3]+CONSTANTS[44]));
VARIABLES[107] = (0.200000/(1.00000+exp(((-(VARIABLES[0]-46.7000))/7.80000))));
VARIABLES[106] = (((CONSTANTS[45]*VARIABLES[107]*VARIABLES[11])/(VARIABLES[11]+CONSTANTS[47]))*(VARIABLES[0]-CONSTANTS[46]));
VARIABLES[108] = ((VARIABLES[12]-VARIABLES[11])/CONSTANTS[55]);
VARIABLES[109] = ((CONSTANTS[63]*pow(VARIABLES[11],2.00000))/(pow(CONSTANTS[64],2.00000)+pow(VARIABLES[11],2.00000)));
VARIABLES[110] = (((((((CONSTANTS[65]*1.00000)/(pow(CONSTANTS[66],3.00000)+pow(CONSTANTS[4],3.00000)))*1.00000)/(CONSTANTS[67]+CONSTANTS[5]))*1.00000)/(1.00000+(CONSTANTS[68]*exp((((CONSTANTS[69]-1.00000)*VARIABLES[0]*CONSTANTS[8])/(CONSTANTS[6]*CONSTANTS[7]))))))*((exp(((CONSTANTS[69]*VARIABLES[0]*CONSTANTS[8])/(CONSTANTS[6]*CONSTANTS[7])))*pow(VARIABLES[40],3.00000)*CONSTANTS[5])-(exp((((CONSTANTS[69]-1.00000)*VARIABLES[0]*CONSTANTS[8])/(CONSTANTS[6]*CONSTANTS[7])))*pow(CONSTANTS[4],3.00000)*VARIABLES[11])));
VARIABLES[112] = (((CONSTANTS[6]*CONSTANTS[7])/(2.00000*CONSTANTS[8]))*log((CONSTANTS[5]/VARIABLES[11])));
VARIABLES[111] = (CONSTANTS[70]*(VARIABLES[0]-VARIABLES[112]));
VARIABLES[41] = ((((BOUND[0]>=CONSTANTS[24]))&&((BOUND[0]<=CONSTANTS[25]))&&((((BOUND[0]-CONSTANTS[24])-(floor(((BOUND[0]-CONSTANTS[24])/CONSTANTS[26]))*CONSTANTS[26]))<=CONSTANTS[27])))) ? (CONSTANTS[28]) : (0.00000);
VARIABLES[42] = (CONSTANTS[54]*(VARIABLES[14]-VARIABLES[11]));
VARIABLES[43] = (CONSTANTS[52]*(VARIABLES[1]+VARIABLES[2])*(VARIABLES[13]-VARIABLES[12])*VARIABLES[37]);
VARIABLES[44] = ((CONSTANTS[56]*pow(VARIABLES[11],2.00000))/(pow(CONSTANTS[57],2.00000)+pow(VARIABLES[11],2.00000)));
VARIABLES[45] = ((VARIABLES[14]-VARIABLES[13])/CONSTANTS[53]);
VARIABLES[46] = (((CONSTANTS[48]*VARIABLES[11]*(CONSTANTS[59]-VARIABLES[39]))+(CONSTANTS[50]*VARIABLES[11]*(CONSTANTS[58]-VARIABLES[38])))-((CONSTANTS[49]*VARIABLES[39])+(CONSTANTS[51]*VARIABLES[38])));
VARIABLES[47] = (1.00000-(VARIABLES[3]+VARIABLES[1]+VARIABLES[2]));
VARIABLES[48] = (CONSTANTS[23]*VARIABLES[4]*(VARIABLES[0]-CONSTANTS[22]));
VARIABLES[49] = (1.00000-(VARIABLES[4]+VARIABLES[5]+VARIABLES[5]+VARIABLES[6]+VARIABLES[7]+VARIABLES[8]+VARIABLES[9]+VARIABLES[10]));
VARIABLES[50] = ((0.400000*exp(((VARIABLES[0]+12.0000)/10.0000))*((1.00000+(0.700000*exp(((-pow((VARIABLES[0]+40.0000),2.00000))/10.0000))))-(0.750000*exp(((-pow((VARIABLES[0]+20.0000),2.00000))/400.000)))))/(1.00000+(0.120000*exp(((VARIABLES[0]+12.0000)/10.0000)))));
VARIABLES[51] = (0.0500000*exp(((-(VARIABLES[0]+12.0000))/13.0000)));
VARIABLES[52] = ((CONSTANTS[61]*VARIABLES[12])/(CONSTANTS[62]+VARIABLES[12]));
VARIABLES[53] = (13.0000*(1.00000-exp(((-pow((VARIABLES[0]+14.5000),2.00000))/100.000))));
VARIABLES[54] = pow((1.00000+((CONSTANTS[29]*CONSTANTS[31])/pow((CONSTANTS[31]+VARIABLES[11]),2.00000))),(-1.00000));
VARIABLES[55] = pow((1.00000+((CONSTANTS[29]*CONSTANTS[31])/pow((CONSTANTS[31]+VARIABLES[12]),2.00000))),(-1.00000));
VARIABLES[56] = pow((1.00000+((CONSTANTS[30]*CONSTANTS[12])/pow((CONSTANTS[12]+VARIABLES[13]),2.00000))),(-1.00000));
VARIABLES[58] = (((CONSTANTS[6]*CONSTANTS[7])/CONSTANTS[8])*log((((0.900000*CONSTANTS[4])+(0.100000*CONSTANTS[3]))/((0.900000*VARIABLES[40])+(0.100000*VARIABLES[23])))));
VARIABLES[57] = (CONSTANTS[32]*VARIABLES[15]*(VARIABLES[0]-VARIABLES[58]));
VARIABLES[59] = (1.00000-(VARIABLES[15]+VARIABLES[16]+VARIABLES[17]+VARIABLES[20]+VARIABLES[18]+VARIABLES[19]+VARIABLES[21]+VARIABLES[22]));
VARIABLES[60] = (3.80200/((0.102700*exp(((-(VARIABLES[0]+2.50000))/17.0000)))+(0.200000*exp(((-(VARIABLES[0]+2.50000))/150.000)))));
VARIABLES[61] = (0.191700*exp(((-(VARIABLES[0]+2.50000))/20.3000)));
VARIABLES[62] = (3.80200/((0.102700*exp(((-(VARIABLES[0]+2.50000))/15.0000)))+(0.230000*exp(((-(VARIABLES[0]+2.50000))/150.000)))));
VARIABLES[63] = (0.200000*exp(((-(VARIABLES[0]-2.50000))/20.3000)));
VARIABLES[64] = (3.80200/((0.102700*exp(((-(VARIABLES[0]+2.50000))/12.0000)))+(0.250000*exp(((-(VARIABLES[0]+2.50000))/150.000)))));
VARIABLES[65] = (0.220000*exp(((-(VARIABLES[0]-7.50000))/20.3000)));
VARIABLES[66] = (7.00000e-07*exp(((-(VARIABLES[0]+7.00000))/7.70000)));
VARIABLES[67] = (0.00840000+(2.00000e-05*(VARIABLES[0]+7.00000)));
VARIABLES[68] = (1.00000/((0.188495*exp(((-(VARIABLES[0]+7.00000))/16.6000)))+0.393956));
VARIABLES[69] = ((VARIABLES[64]*VARIABLES[68]*VARIABLES[66])/(VARIABLES[65]*VARIABLES[67]));
VARIABLES[70] = (VARIABLES[68]/1000.00);
VARIABLES[71] = VARIABLES[66];
VARIABLES[72] = (VARIABLES[68]/95000.0);
VARIABLES[73] = (VARIABLES[66]/50.0000);
VARIABLES[74] = (CONSTANTS[33]*(VARIABLES[0]-VARIABLES[58]));
VARIABLES[75] = (CONSTANTS[34]*pow(VARIABLES[24],3.00000)*VARIABLES[25]*(VARIABLES[0]-VARIABLES[76]));
VARIABLES[77] = (0.180640*exp((0.0357700*(VARIABLES[0]+30.0000))));
VARIABLES[78] = (0.395600*exp(((-0.0623700)*(VARIABLES[0]+30.0000))));
VARIABLES[79] = ((0.000152000*exp(((-(VARIABLES[0]+13.5000))/7.00000)))/((0.00670830*exp(((-(VARIABLES[0]+33.5000))/7.00000)))+1.00000));
VARIABLES[80] = ((0.000950000*exp(((VARIABLES[0]+33.5000)/7.00000)))/((0.0513350*exp(((VARIABLES[0]+33.5000)/7.00000)))+1.00000));
VARIABLES[81] = (CONSTANTS[35]*VARIABLES[26]*VARIABLES[27]*(VARIABLES[0]-VARIABLES[76]));
VARIABLES[82] = (1.00000/(1.00000+exp(((-(VARIABLES[0]+22.5000))/7.70000))));
VARIABLES[83] = (1.00000/(1.00000+exp(((VARIABLES[0]+45.2000)/5.70000))));
#ifndef VARIABLES_FOR_RATES_ONLY
#endif
}