Generated Code

The following is c code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 88 entries in the algebraic variable array.
   There are a total of 14 entries in each of the rate and state variable arrays.
   There are a total of 51 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (millisecond).
 * STATES[0] is Vm in component membrane (millivolt).
 * ALGEBRAIC[76] is I_tot in component membrane (picoampere).
 * CONSTANTS[0] is I_ext in component membrane (picoampere).
 * CONSTANTS[1] is Cm in component membrane (picofarad).
 * ALGEBRAIC[36] is I_Ki in component I_Ki (picoampere).
 * ALGEBRAIC[48] is I_CaL in component I_CaL (picoampere).
 * ALGEBRAIC[59] is I_VDDR in component I_VDDR (picoampere).
 * ALGEBRAIC[64] is I_AI in component I_AI (picoampere).
 * ALGEBRAIC[70] is I_NaCa in component I_NaCa (picoampere).
 * ALGEBRAIC[72] is I_NaK in component I_NaK (picoampere).
 * ALGEBRAIC[73] is I_PMCA in component I_PMCA (picoampere).
 * STATES[1] is Na_i in component internal_ion_concentrations (millimolar).
 * STATES[2] is K_i in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[0] is Ca_i in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[2] is Na_CF in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[7] is K_CF in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[11] is Ca_CF in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[74] is Inet_Na in component internal_ion_concentrations (picoampere).
 * ALGEBRAIC[75] is Inet_K in component internal_ion_concentrations (picoampere).
 * ALGEBRAIC[77] is Inet_Ca in component internal_ion_concentrations (picoampere).
 * STATES[3] is Cai_A in component internal_ion_concentrations (millimolar).
 * ALGEBRAIC[45] is I_CaL_Na in component I_CaL (picoampere).
 * ALGEBRAIC[42] is I_CaL_K in component I_CaL (picoampere).
 * ALGEBRAIC[39] is I_CaL_Ca in component I_CaL (picoampere).
 * ALGEBRAIC[63] is I_AI_Na in component I_AI (picoampere).
 * ALGEBRAIC[62] is I_AI_K in component I_AI (picoampere).
 * ALGEBRAIC[61] is I_AI_Ca in component I_AI (picoampere).
 * ALGEBRAIC[86] is I_IP3R in component I_IP3R (picoampere).
 * ALGEBRAIC[80] is I_up in component I_up (picoampere).
 * ALGEBRAIC[84] is I_leak in component I_leak (picoampere).
 * CONSTANTS[2] is Vi in component model_parameters (micrometre3).
 * CONSTANTS[3] is T in component model_parameters (kelvin).
 * CONSTANTS[4] is R in component model_parameters (coulomb_millivolt_kelvin_millimole).
 * CONSTANTS[5] is F in component model_parameters (coulomb_millimole).
 * CONSTANTS[6] is Na_o in component model_parameters (millimolar).
 * CONSTANTS[7] is K_o in component model_parameters (millimolar).
 * CONSTANTS[8] is Ca_o in component model_parameters (millimolar).
 * CONSTANTS[9] is ZNa in component model_parameters (dimensionless).
 * CONSTANTS[10] is ZK in component model_parameters (dimensionless).
 * CONSTANTS[11] is ZCa in component model_parameters (dimensionless).
 * ALGEBRAIC[20] is fU in component I_Ki (dimensionless).
 * ALGEBRAIC[14] is E_K in component I_Ki (millivolt).
 * CONSTANTS[12] is g_Ki in component I_Ki (picoampere_per_millivolt).
 * ALGEBRAIC[16] is mu in component I_Ki (dimensionless).
 * ALGEBRAIC[18] is lambda in component I_Ki (dimensionless).
 * ALGEBRAIC[34] is n in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[22] is n_1 in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[30] is n_2 in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[32] is n_3 in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[24] is a in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[26] is b in component I_Ki_n_gate (dimensionless).
 * ALGEBRAIC[28] is AB in component I_Ki_n_gate (dimensionless).
 * CONSTANTS[13] is PCaL in component I_CaL (picoampere_per_millimolar).
 * STATES[4] is m in component I_CaL_m_gate (dimensionless).
 * STATES[5] is h in component I_CaL_h_gate (dimensionless).
 * ALGEBRAIC[1] is alpha_m in component I_CaL_m_gate (first_order_rate_constant).
 * ALGEBRAIC[3] is beta_m in component I_CaL_m_gate (first_order_rate_constant).
 * ALGEBRAIC[4] is alpha_h in component I_CaL_h_gate (first_order_rate_constant).
 * ALGEBRAIC[8] is beta_h in component I_CaL_h_gate (first_order_rate_constant).
 * CONSTANTS[14] is PVDDR in component I_VDDR (picoampere_per_millimolar).
 * ALGEBRAIC[53] is m in component I_VDDR_m_gate (dimensionless).
 * ALGEBRAIC[58] is h in component I_VDDR_h_gate (dimensionless).
 * ALGEBRAIC[51] is alpha_m in component I_VDDR_m_gate (first_order_rate_constant).
 * ALGEBRAIC[52] is beta_m in component I_VDDR_m_gate (first_order_rate_constant).
 * ALGEBRAIC[49] is m2 in component I_VDDR_m_gate (first_order_rate_constant).
 * ALGEBRAIC[50] is m3 in component I_VDDR_m_gate (dimensionless).
 * ALGEBRAIC[56] is alpha_h in component I_VDDR_h_gate (first_order_rate_constant).
 * ALGEBRAIC[57] is beta_h in component I_VDDR_h_gate (first_order_rate_constant).
 * ALGEBRAIC[54] is h2 in component I_VDDR_h_gate (first_order_rate_constant).
 * ALGEBRAIC[55] is h3 in component I_VDDR_h_gate (dimensionless).
 * ALGEBRAIC[60] is po in component I_AI (dimensionless).
 * CONSTANTS[15] is PAI in component I_AI (picoampere_per_millimolar).
 * CONSTANTS[16] is Km_Ca_i in component I_AI (millimolar).
 * CONSTANTS[17] is PNaCa in component I_NaCa (picoampere).
 * CONSTANTS[18] is Km_Na_i in component I_NaCa (millimolar3).
 * CONSTANTS[19] is Km_Na_o in component I_NaCa (millimolar3).
 * CONSTANTS[20] is Km_Ca_i in component I_NaCa (millimolar).
 * CONSTANTS[21] is Km_Ca_o in component I_NaCa (millimolar).
 * CONSTANTS[42] is p_E2Na in component I_NaCa (dimensionless).
 * ALGEBRAIC[65] is p_E1Na in component I_NaCa (dimensionless).
 * ALGEBRAIC[66] is p_E1Ca in component I_NaCa (dimensionless).
 * CONSTANTS[43] is p_E2Ca in component I_NaCa (dimensionless).
 * STATES[6] is y in component I_NaCa_y_gate (dimensionless).
 * ALGEBRAIC[67] is m in component I_NaCa_y_gate (dimensionless).
 * ALGEBRAIC[69] is h in component I_NaCa_y_gate (dimensionless).
 * ALGEBRAIC[71] is alpha_y in component I_NaCa_y_gate (first_order_rate_constant).
 * ALGEBRAIC[68] is beta_y in component I_NaCa_y_gate (first_order_rate_constant).
 * CONSTANTS[22] is pNaK in component I_NaK (picoampere).
 * CONSTANTS[23] is Km_Na_i in component I_NaK (millimolar).
 * CONSTANTS[24] is Km_K_o in component I_NaK (millimolar).
 * CONSTANTS[25] is pPMCA in component I_PMCA (picoampere).
 * CONSTANTS[26] is Km_Ca_i in component I_PMCA (millimolar).
 * CONSTANTS[27] is Pup in component I_up (picoampere_millisecond).
 * CONSTANTS[28] is Km_Ca_i in component I_up (millimolar).
 * CONSTANTS[29] is Km_Ca_o in component I_up (millimolar).
 * ALGEBRAIC[83] is p_E2 in component I_up (first_order_rate_constant).
 * ALGEBRAIC[81] is p_E1 in component I_up (first_order_rate_constant).
 * ALGEBRAIC[78] is p_E1Ca in component I_up (first_order_rate_constant).
 * ALGEBRAIC[79] is p_E2Ca in component I_up (first_order_rate_constant).
 * STATES[7] is Ca_up in component calcium_concentrations_in_the_SR (millimolar).
 * STATES[8] is y in component I_up_y_gate (dimensionless).
 * ALGEBRAIC[85] is alpha_y in component I_up_y_gate (first_order_rate_constant).
 * ALGEBRAIC[87] is beta_y in component I_up_y_gate (first_order_rate_constant).
 * ALGEBRAIC[82] is I_tr in component I_tr (picoampere).
 * CONSTANTS[30] is ptr in component I_tr (picoampere_per_millimolar).
 * STATES[9] is Ca_rel in component calcium_concentrations_in_the_SR (millimolar).
 * CONSTANTS[31] is pleak in component I_leak (picoampere_per_millimolar).
 * CONSTANTS[32] is PIP3R in component I_IP3R (picoampere_per_millimolar).
 * ALGEBRAIC[5] is kco in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[33] is koi in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[9] is kic in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[34] is kci in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[25] is SC_0 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[38] is SC_3 in component I_IP3R (dimensionless).
 * ALGEBRAIC[37] is SC_2 in component I_IP3R (dimensionless).
 * ALGEBRAIC[27] is SC_1 in component I_IP3R (first_order_rate_constant).
 * STATES[10] is m in component I_IP3R (dimensionless).
 * STATES[11] is h in component I_IP3R (dimensionless).
 * ALGEBRAIC[46] is m_original in component I_IP3R (dimensionless).
 * ALGEBRAIC[47] is h_original in component I_IP3R (dimensionless).
 * ALGEBRAIC[40] is stO in component I_IP3R (dimensionless).
 * ALGEBRAIC[41] is stA in component I_IP3R (dimensionless).
 * ALGEBRAIC[43] is ndO in component I_IP3R (dimensionless).
 * ALGEBRAIC[44] is ndA in component I_IP3R (dimensionless).
 * ALGEBRAIC[17] is OrgO_N4 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[19] is OrgA_N4 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[29] is state_c1 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[31] is state_c2 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[33] is state_c3 in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[47] is state_d1 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[35] is state_d2 in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[48] is state_d3 in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[21] is state_bf in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[23] is state_sbf in component I_IP3R (per_millisecond2).
 * CONSTANTS[41] is kab in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[44] is kba in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[12] is kbc in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[45] is kcb in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[46] is kac in component I_IP3R (first_order_rate_constant).
 * ALGEBRAIC[15] is kca in component I_IP3R (first_order_rate_constant).
 * CONSTANTS[35] is dt in component I_IP3R (millisecond).
 * CONSTANTS[36] is dt_CellML in component I_IP3R (millisecond).
 * STATES[12] is IP3 in component IP3_metabolism (millimolar).
 * CONSTANTS[49] is Vup in component model_parameters (micrometre3).
 * CONSTANTS[50] is Vrel in component model_parameters (micrometre3).
 * STATES[13] is PIP2 in component IP3_metabolism (millimolar).
 * ALGEBRAIC[6] is PIP2_IP3 in component IP3_metabolism (first_order_rate_constant).
 * ALGEBRAIC[10] is IP3_PIP2 in component IP3_metabolism (first_order_rate_constant).
 * CONSTANTS[37] is IP3_IP4 in component IP3_metabolism (first_order_rate_constant).
 * CONSTANTS[38] is PIP2_IP4 in component IP3_metabolism (first_order_rate_constant).
 * ALGEBRAIC[13] is IP4_PIP2 in component IP3_metabolism (first_order_rate_constant).
 * CONSTANTS[39] is IP3total in component IP3_metabolism (millimolar).
 * CONSTANTS[40] is Km_Ca_i in component IP3_metabolism (millimolar).
 * RATES[0] is d/dt Vm in component membrane (millivolt).
 * RATES[1] is d/dt Na_i in component internal_ion_concentrations (millimolar).
 * RATES[2] is d/dt K_i in component internal_ion_concentrations (millimolar).
 * RATES[3] is d/dt Cai_A in component internal_ion_concentrations (millimolar).
 * RATES[4] is d/dt m in component I_CaL_m_gate (dimensionless).
 * RATES[5] is d/dt h in component I_CaL_h_gate (dimensionless).
 * RATES[6] is d/dt y in component I_NaCa_y_gate (dimensionless).
 * RATES[8] is d/dt y in component I_up_y_gate (dimensionless).
 * RATES[10] is d/dt m in component I_IP3R (dimensionless).
 * RATES[11] is d/dt h in component I_IP3R (dimensionless).
 * RATES[7] is d/dt Ca_up in component calcium_concentrations_in_the_SR (millimolar).
 * RATES[9] is d/dt Ca_rel in component calcium_concentrations_in_the_SR (millimolar).
 * RATES[12] is d/dt IP3 in component IP3_metabolism (millimolar).
 * RATES[13] is d/dt PIP2 in component IP3_metabolism (millimolar).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = -68.0;
CONSTANTS[0] = 0.0;
CONSTANTS[1] = 25.0;
STATES[1] = 5.4;
STATES[2] = 140.0;
STATES[3] = 0.0035;
CONSTANTS[2] = 715.5;
CONSTANTS[3] = 309.15;
CONSTANTS[4] = 8.314;
CONSTANTS[5] = 96.485;
CONSTANTS[6] = 140.0;
CONSTANTS[7] = 5.4;
CONSTANTS[8] = 1.8;
CONSTANTS[9] = 1.0;
CONSTANTS[10] = 1.0;
CONSTANTS[11] = 2.0;
CONSTANTS[12] = 4.32;
CONSTANTS[13] = 5.76;
STATES[4] = 0.0;
STATES[5] = 0.0;
CONSTANTS[14] = 7.92;
CONSTANTS[15] = 15.61;
CONSTANTS[16] = 0.003;
CONSTANTS[17] = 8.458;
CONSTANTS[18] = 670.0;
CONSTANTS[19] = 670000.0;
CONSTANTS[20] = 0.00138;
CONSTANTS[21] = 1.38;
STATES[6] = 0.9459136;
CONSTANTS[22] = 79.0;
CONSTANTS[23] = 11.0;
CONSTANTS[24] = 0.27;
CONSTANTS[25] = 927.4;
CONSTANTS[26] = 0.008;
CONSTANTS[27] = 7728.0;
CONSTANTS[28] = 0.08;
CONSTANTS[29] = 0.002;
STATES[7] = 4.6;
STATES[8] = 0.1;
CONSTANTS[30] = 20.5;
STATES[9] = 13.1;
CONSTANTS[31] = 0.45;
CONSTANTS[32] = 217.2;
CONSTANTS[33] = 0.02;
CONSTANTS[34] = 0.000849;
STATES[10] = 0.0;
STATES[11] = 1.0;
CONSTANTS[35] = 0.2;
CONSTANTS[36] = 0.01;
STATES[12] = 0.0002682;
STATES[13] = 0.002664;
CONSTANTS[37] = 0.004;
CONSTANTS[38] = 0.00;
CONSTANTS[39] = 0.0033;
CONSTANTS[40] = 0.00001;
CONSTANTS[41] = CONSTANTS[33];
CONSTANTS[42] = 1.00000/(1.00000+(1.00000+CONSTANTS[8]/CONSTANTS[21])/(pow(CONSTANTS[6], 3.00000)/CONSTANTS[19]));
CONSTANTS[43] = 1.00000/(1.00000+(1.00000+pow(CONSTANTS[6], 3.00000)/CONSTANTS[19])/(CONSTANTS[8]/CONSTANTS[21]));
CONSTANTS[44] = 0.00000;
CONSTANTS[45] = CONSTANTS[34];
CONSTANTS[46] = 0.00000;
CONSTANTS[47] = - (CONSTANTS[44]+CONSTANTS[41]+CONSTANTS[46]);
CONSTANTS[48] = CONSTANTS[44];
CONSTANTS[49] =  0.100000*CONSTANTS[2];
CONSTANTS[50] =  0.0100000*CONSTANTS[2];
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[1] = (STATES[0]==-30.0000 ?  0.00217500*((STATES[0]+30.0000)/(1.00000 - exp((STATES[0]+30.0000)/- 2.50000))) : 0.00418927);
ALGEBRAIC[3] = (STATES[0]==0.00000 ? 0.00157896 :  0.000631500*(STATES[0]/(exp(STATES[0]/2.50000) - 1.00000)));
RATES[4] =  ALGEBRAIC[1]*(1.00000 - STATES[4]) -  ALGEBRAIC[3]*STATES[4];
ALGEBRAIC[4] = (STATES[0]==-34.0000 ? 1.00010e-05 :  1.77500e-06*((STATES[0]+34.0000)/(exp((STATES[0]+34.0000)/5.63300) - 1.00000)));
ALGEBRAIC[0] = (STATES[3]<=0.00000 ? 1.00000e-12 : STATES[3]);
ALGEBRAIC[8] =  0.427000*ALGEBRAIC[0]*((STATES[0]+64.0000)/(exp((STATES[0]+44.0000)/- 4.16000)+1.00000));
RATES[5] =  ALGEBRAIC[4]*(1.00000 - STATES[5]) -  ALGEBRAIC[8]*STATES[5];
ALGEBRAIC[6] =  0.200000*exp((STATES[0]+48.5000)/18.1000)*(ALGEBRAIC[0]/(ALGEBRAIC[0]+CONSTANTS[40]));
ALGEBRAIC[10] =  0.500000*exp((STATES[0]+100.000)/-28.5000);
RATES[12] =  ALGEBRAIC[6]*STATES[13] -  (ALGEBRAIC[10]+CONSTANTS[37])*STATES[12];
ALGEBRAIC[13] =  0.00350000*exp((STATES[0]+100.000)/-25.5000);
RATES[13] = ( ALGEBRAIC[10]*STATES[12]+ ALGEBRAIC[13]*(CONSTANTS[39] - (STATES[12]+STATES[13]))) -  (CONSTANTS[38]+ALGEBRAIC[6])*STATES[13];
ALGEBRAIC[9] =  0.0250000*pow(STATES[12]/0.00100000, 3.00000)*(STATES[9]/1.00000);
ALGEBRAIC[12] = ALGEBRAIC[9];
ALGEBRAIC[5] =  0.147000*pow(ALGEBRAIC[0]/5.70000e-05, 3.00000);
ALGEBRAIC[15] = ALGEBRAIC[5];
ALGEBRAIC[21] = CONSTANTS[41]+CONSTANTS[44]+CONSTANTS[46]+ALGEBRAIC[15]+ALGEBRAIC[12]+CONSTANTS[45];
ALGEBRAIC[23] = pow(ALGEBRAIC[21], 2.00000) -  4.00000*( (ALGEBRAIC[12]+CONSTANTS[45]+ALGEBRAIC[15])*(CONSTANTS[44]+CONSTANTS[41]+CONSTANTS[46]) -  (CONSTANTS[46] - ALGEBRAIC[12])*(ALGEBRAIC[15]+CONSTANTS[44]));
ALGEBRAIC[25] = (ALGEBRAIC[21]+pow(fabs(ALGEBRAIC[23]), 0.500000))/2.00000;
ALGEBRAIC[29] = CONSTANTS[46] - ALGEBRAIC[12];
ALGEBRAIC[31] = - (ALGEBRAIC[12]+CONSTANTS[45]+ALGEBRAIC[15]);
ALGEBRAIC[33] = ALGEBRAIC[12];
ALGEBRAIC[35] = ALGEBRAIC[15] - CONSTANTS[44];
ALGEBRAIC[37] = ( ALGEBRAIC[31]*CONSTANTS[48] -  ALGEBRAIC[33]*ALGEBRAIC[35])/( ALGEBRAIC[29]*ALGEBRAIC[35] -  ALGEBRAIC[31]*CONSTANTS[47]);
ALGEBRAIC[27] = (ALGEBRAIC[21] - pow(fabs(ALGEBRAIC[23]), 0.500000))/2.00000;
ALGEBRAIC[17] =  ALGEBRAIC[5]*STATES[11] -  CONSTANTS[33]*STATES[10];
ALGEBRAIC[40] = ((ALGEBRAIC[17]+ ALGEBRAIC[27]*STATES[10]) -  ALGEBRAIC[37]*ALGEBRAIC[27])/(ALGEBRAIC[27] - ALGEBRAIC[25]);
ALGEBRAIC[43] = ((ALGEBRAIC[17]+ ALGEBRAIC[25]*STATES[10]) -  ALGEBRAIC[37]*ALGEBRAIC[25])/(ALGEBRAIC[25] - ALGEBRAIC[27]);
ALGEBRAIC[46] =  ALGEBRAIC[40]*exp( - ALGEBRAIC[25]*CONSTANTS[35])+ ALGEBRAIC[43]*exp( - ALGEBRAIC[27]*CONSTANTS[35])+ALGEBRAIC[37];
RATES[10] = (ALGEBRAIC[46] - STATES[10])/CONSTANTS[36];
ALGEBRAIC[38] = ( ALGEBRAIC[29]*CONSTANTS[48] -  ALGEBRAIC[33]*CONSTANTS[47])/( ALGEBRAIC[31]*CONSTANTS[47] -  ALGEBRAIC[29]*ALGEBRAIC[35]);
ALGEBRAIC[19] =  ALGEBRAIC[9]*(1.00000 - (STATES[11]+STATES[10])) -  (CONSTANTS[34]+ALGEBRAIC[5])*STATES[11];
ALGEBRAIC[41] = ((ALGEBRAIC[19]+ ALGEBRAIC[27]*STATES[11]) -  ALGEBRAIC[38]*ALGEBRAIC[27])/(ALGEBRAIC[27] - ALGEBRAIC[25]);
ALGEBRAIC[44] = ((ALGEBRAIC[19]+ ALGEBRAIC[25]*STATES[11]) -  ALGEBRAIC[38]*ALGEBRAIC[25])/(ALGEBRAIC[25] - ALGEBRAIC[27]);
ALGEBRAIC[47] =  ALGEBRAIC[41]*exp( - ALGEBRAIC[25]*CONSTANTS[35])+ ALGEBRAIC[44]*exp( - ALGEBRAIC[27]*CONSTANTS[35])+ALGEBRAIC[38];
RATES[11] = (ALGEBRAIC[47] - STATES[11])/CONSTANTS[36];
ALGEBRAIC[69] =  CONSTANTS[42]*exp( (0.320000 - 1.00000)*(STATES[0]/(( CONSTANTS[4]*CONSTANTS[3])/CONSTANTS[5])));
ALGEBRAIC[71] =  1.00000*(ALGEBRAIC[69]+CONSTANTS[43]);
ALGEBRAIC[66] = 1.00000/(1.00000+(1.00000+pow(STATES[1], 3.00000)/CONSTANTS[18])/(ALGEBRAIC[0]/CONSTANTS[20]));
ALGEBRAIC[65] = 1.00000/(1.00000+(1.00000+ALGEBRAIC[0]/CONSTANTS[20])/(pow(STATES[1], 3.00000)/CONSTANTS[18]));
ALGEBRAIC[67] =  ALGEBRAIC[65]*exp( 0.320000*(STATES[0]/(( CONSTANTS[4]*CONSTANTS[3])/CONSTANTS[5])));
ALGEBRAIC[68] =  1.00000*(ALGEBRAIC[67]+ALGEBRAIC[66]);
RATES[6] =  ALGEBRAIC[71]*(1.00000 - STATES[6]) -  ALGEBRAIC[68]*STATES[6];
ALGEBRAIC[70] =  CONSTANTS[17]*( ALGEBRAIC[67]*STATES[6] -  ALGEBRAIC[69]*(1.00000 - STATES[6]));
ALGEBRAIC[72] =  (CONSTANTS[22]/(1.00000+pow(CONSTANTS[23]/STATES[1], 1.36000)))*((1.00000 - pow((STATES[0]+50.0000)/250.000, 2.00000))/(1.00000+CONSTANTS[24]/CONSTANTS[7]));
ALGEBRAIC[2] =  (( CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((STATES[1] -  CONSTANTS[6]*exp(( - CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[45] =  5.00000e-05*CONSTANTS[13]*ALGEBRAIC[2]*STATES[4]*STATES[5];
ALGEBRAIC[60] = 0.00170000+(1.00000 - 0.00170000)/(1.00000+CONSTANTS[16]/ALGEBRAIC[0]);
ALGEBRAIC[63] =  0.400000*CONSTANTS[15]*ALGEBRAIC[2]*ALGEBRAIC[60];
ALGEBRAIC[74] = ALGEBRAIC[45]+ALGEBRAIC[63]+ 3.00000*ALGEBRAIC[72]+ 3.00000*ALGEBRAIC[70];
RATES[1] = - ALGEBRAIC[74]/( CONSTANTS[9]*CONSTANTS[5]*CONSTANTS[2]);
ALGEBRAIC[14] =  (( CONSTANTS[4]*CONSTANTS[3])/( 1.00000*CONSTANTS[5]))*log(CONSTANTS[7]/STATES[2]);
ALGEBRAIC[16] =  3.30000*exp((STATES[0] - (ALGEBRAIC[14]+6.00000))/15.0000);
ALGEBRAIC[18] =  26.0000*exp((STATES[0] - (ALGEBRAIC[14]+6.00000))/52.0000);
ALGEBRAIC[20] = ALGEBRAIC[16]/(ALGEBRAIC[16]+ALGEBRAIC[18]);
ALGEBRAIC[22] = 1.00000/(1.00000+ 0.100000*exp((STATES[0] - ALGEBRAIC[14])/15.0000)+ 0.0480000*exp((STATES[0] - ALGEBRAIC[14])/7.00000));
ALGEBRAIC[24] = 2.50000/( 4.70000*exp((STATES[0] - ALGEBRAIC[14])/28.7000));
ALGEBRAIC[26] = 2.50000/( 6.00000*exp((ALGEBRAIC[14] - STATES[0])/25.8000));
ALGEBRAIC[28] = ALGEBRAIC[24]+ALGEBRAIC[26];
ALGEBRAIC[30] =  ALGEBRAIC[22]*ALGEBRAIC[28];
ALGEBRAIC[32] = ALGEBRAIC[28] - ALGEBRAIC[30];
ALGEBRAIC[34] = ALGEBRAIC[30]/( (ALGEBRAIC[30]+ALGEBRAIC[32])*pow(1.00000 - ALGEBRAIC[20], 3.00000));
ALGEBRAIC[36] =  CONSTANTS[12]*pow(CONSTANTS[7]/5.40000, 0.620000)*(STATES[0] - ALGEBRAIC[14])*ALGEBRAIC[34]*ALGEBRAIC[20];
ALGEBRAIC[7] =  (( CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((STATES[2] -  CONSTANTS[7]*exp(( - CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[42] =  0.00100000*CONSTANTS[13]*ALGEBRAIC[7]*STATES[4]*STATES[5];
ALGEBRAIC[62] =  0.360000*CONSTANTS[15]*ALGEBRAIC[7]*ALGEBRAIC[60];
ALGEBRAIC[75] = (ALGEBRAIC[36]+ALGEBRAIC[42]+ALGEBRAIC[62]) -  2.00000*ALGEBRAIC[72];
RATES[2] = - ALGEBRAIC[75]/( CONSTANTS[10]*CONSTANTS[5]*CONSTANTS[2]);
ALGEBRAIC[11] =  (( CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((ALGEBRAIC[0] -  CONSTANTS[8]*exp(( - CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[39] =  CONSTANTS[13]*ALGEBRAIC[11]*STATES[4]*STATES[5];
ALGEBRAIC[48] = ALGEBRAIC[39]+ALGEBRAIC[42]+ALGEBRAIC[45];
ALGEBRAIC[49] = 1.00000/(1.00000+exp(- (STATES[0]+23.0000)/6.10000));
ALGEBRAIC[50] =  (4.43000 - 0.660000)*exp(- pow(STATES[0]+150.000, 2.00000)/7118.00)+0.660000;
ALGEBRAIC[51] = ALGEBRAIC[49]/(ALGEBRAIC[50]+pow(10.0000, -20.0000));
ALGEBRAIC[52] = (1.00000 - ALGEBRAIC[49])/(ALGEBRAIC[50]+pow(10.0000, -20.0000));
ALGEBRAIC[53] = ALGEBRAIC[51]/(ALGEBRAIC[51]+ALGEBRAIC[52]);
ALGEBRAIC[54] = 1.00000/(1.00000+exp(- (STATES[0]+75.0000)/- 6.60000));
ALGEBRAIC[55] =  (40.8000 - 0.840000)*exp(- pow(STATES[0]+106.000, 2.00000)/2292.00)+0.840000;
ALGEBRAIC[56] = ALGEBRAIC[54]/(ALGEBRAIC[55]+pow(10.0000, -20.0000));
ALGEBRAIC[57] = (1.00000 - ALGEBRAIC[54])/(ALGEBRAIC[55]+pow(10.0000, -20.0000));
ALGEBRAIC[58] = ALGEBRAIC[56]/(ALGEBRAIC[56]+ALGEBRAIC[57]);
ALGEBRAIC[59] =  CONSTANTS[14]*ALGEBRAIC[11]*ALGEBRAIC[53]*ALGEBRAIC[58];
ALGEBRAIC[61] =  CONSTANTS[15]*ALGEBRAIC[11]*ALGEBRAIC[60];
ALGEBRAIC[64] = ALGEBRAIC[61]+ALGEBRAIC[62]+ALGEBRAIC[63];
ALGEBRAIC[73] = CONSTANTS[25]/(1.00000+pow(CONSTANTS[26]/ALGEBRAIC[0], 2.00000));
ALGEBRAIC[76] = ALGEBRAIC[70]+ALGEBRAIC[72]+ALGEBRAIC[73]+ALGEBRAIC[59]+ALGEBRAIC[64]+ALGEBRAIC[36]+ALGEBRAIC[48];
RATES[0] = - (ALGEBRAIC[76]+CONSTANTS[0])/CONSTANTS[1];
ALGEBRAIC[78] = 0.0100000/(1.00000+CONSTANTS[28]/STATES[7]);
ALGEBRAIC[79] = 1.00000/(1.00000+CONSTANTS[29]/ALGEBRAIC[0]);
ALGEBRAIC[80] =  1.50000*CONSTANTS[27]*( ALGEBRAIC[79]*(1.00000 - STATES[8]) -  ALGEBRAIC[78]*STATES[8]);
ALGEBRAIC[84] =  CONSTANTS[31]*(STATES[7] - ALGEBRAIC[0]);
ALGEBRAIC[82] =  2.80000*CONSTANTS[30]*(STATES[7] - STATES[9]);
RATES[7] = (ALGEBRAIC[80] - (ALGEBRAIC[82]+ALGEBRAIC[84]))/( CONSTANTS[11]*CONSTANTS[49]*CONSTANTS[5]);
ALGEBRAIC[77] = (ALGEBRAIC[39]+ALGEBRAIC[59]+ALGEBRAIC[61]+ALGEBRAIC[73]) -  2.00000*ALGEBRAIC[70];
ALGEBRAIC[86] =  CONSTANTS[32]*(STATES[9] - ALGEBRAIC[0])*STATES[10];
RATES[3] = - ((ALGEBRAIC[77]+ALGEBRAIC[80]) - (ALGEBRAIC[86]+ALGEBRAIC[84]))/( CONSTANTS[11]*CONSTANTS[5]*CONSTANTS[2]);
ALGEBRAIC[83] = 0.0100000/(1.00000+ALGEBRAIC[0]/CONSTANTS[29]);
ALGEBRAIC[85] = ALGEBRAIC[79]+ALGEBRAIC[83];
ALGEBRAIC[81] = 1.00000/(1.00000+STATES[7]/CONSTANTS[28]);
ALGEBRAIC[87] = ALGEBRAIC[78]+ALGEBRAIC[81];
RATES[8] =  ALGEBRAIC[85]*(1.00000 - STATES[8]) -  ALGEBRAIC[87]*STATES[8];
RATES[9] = (ALGEBRAIC[82] - ALGEBRAIC[86])/( CONSTANTS[11]*CONSTANTS[50]*CONSTANTS[5]);
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[1] = (STATES[0]==-30.0000 ?  0.00217500*((STATES[0]+30.0000)/(1.00000 - exp((STATES[0]+30.0000)/- 2.50000))) : 0.00418927);
ALGEBRAIC[3] = (STATES[0]==0.00000 ? 0.00157896 :  0.000631500*(STATES[0]/(exp(STATES[0]/2.50000) - 1.00000)));
ALGEBRAIC[4] = (STATES[0]==-34.0000 ? 1.00010e-05 :  1.77500e-06*((STATES[0]+34.0000)/(exp((STATES[0]+34.0000)/5.63300) - 1.00000)));
ALGEBRAIC[0] = (STATES[3]<=0.00000 ? 1.00000e-12 : STATES[3]);
ALGEBRAIC[8] =  0.427000*ALGEBRAIC[0]*((STATES[0]+64.0000)/(exp((STATES[0]+44.0000)/- 4.16000)+1.00000));
ALGEBRAIC[6] =  0.200000*exp((STATES[0]+48.5000)/18.1000)*(ALGEBRAIC[0]/(ALGEBRAIC[0]+CONSTANTS[40]));
ALGEBRAIC[10] =  0.500000*exp((STATES[0]+100.000)/-28.5000);
ALGEBRAIC[13] =  0.00350000*exp((STATES[0]+100.000)/-25.5000);
ALGEBRAIC[9] =  0.0250000*pow(STATES[12]/0.00100000, 3.00000)*(STATES[9]/1.00000);
ALGEBRAIC[12] = ALGEBRAIC[9];
ALGEBRAIC[5] =  0.147000*pow(ALGEBRAIC[0]/5.70000e-05, 3.00000);
ALGEBRAIC[15] = ALGEBRAIC[5];
ALGEBRAIC[21] = CONSTANTS[41]+CONSTANTS[44]+CONSTANTS[46]+ALGEBRAIC[15]+ALGEBRAIC[12]+CONSTANTS[45];
ALGEBRAIC[23] = pow(ALGEBRAIC[21], 2.00000) -  4.00000*( (ALGEBRAIC[12]+CONSTANTS[45]+ALGEBRAIC[15])*(CONSTANTS[44]+CONSTANTS[41]+CONSTANTS[46]) -  (CONSTANTS[46] - ALGEBRAIC[12])*(ALGEBRAIC[15]+CONSTANTS[44]));
ALGEBRAIC[25] = (ALGEBRAIC[21]+pow(fabs(ALGEBRAIC[23]), 0.500000))/2.00000;
ALGEBRAIC[29] = CONSTANTS[46] - ALGEBRAIC[12];
ALGEBRAIC[31] = - (ALGEBRAIC[12]+CONSTANTS[45]+ALGEBRAIC[15]);
ALGEBRAIC[33] = ALGEBRAIC[12];
ALGEBRAIC[35] = ALGEBRAIC[15] - CONSTANTS[44];
ALGEBRAIC[37] = ( ALGEBRAIC[31]*CONSTANTS[48] -  ALGEBRAIC[33]*ALGEBRAIC[35])/( ALGEBRAIC[29]*ALGEBRAIC[35] -  ALGEBRAIC[31]*CONSTANTS[47]);
ALGEBRAIC[27] = (ALGEBRAIC[21] - pow(fabs(ALGEBRAIC[23]), 0.500000))/2.00000;
ALGEBRAIC[17] =  ALGEBRAIC[5]*STATES[11] -  CONSTANTS[33]*STATES[10];
ALGEBRAIC[40] = ((ALGEBRAIC[17]+ ALGEBRAIC[27]*STATES[10]) -  ALGEBRAIC[37]*ALGEBRAIC[27])/(ALGEBRAIC[27] - ALGEBRAIC[25]);
ALGEBRAIC[43] = ((ALGEBRAIC[17]+ ALGEBRAIC[25]*STATES[10]) -  ALGEBRAIC[37]*ALGEBRAIC[25])/(ALGEBRAIC[25] - ALGEBRAIC[27]);
ALGEBRAIC[46] =  ALGEBRAIC[40]*exp( - ALGEBRAIC[25]*CONSTANTS[35])+ ALGEBRAIC[43]*exp( - ALGEBRAIC[27]*CONSTANTS[35])+ALGEBRAIC[37];
ALGEBRAIC[38] = ( ALGEBRAIC[29]*CONSTANTS[48] -  ALGEBRAIC[33]*CONSTANTS[47])/( ALGEBRAIC[31]*CONSTANTS[47] -  ALGEBRAIC[29]*ALGEBRAIC[35]);
ALGEBRAIC[19] =  ALGEBRAIC[9]*(1.00000 - (STATES[11]+STATES[10])) -  (CONSTANTS[34]+ALGEBRAIC[5])*STATES[11];
ALGEBRAIC[41] = ((ALGEBRAIC[19]+ ALGEBRAIC[27]*STATES[11]) -  ALGEBRAIC[38]*ALGEBRAIC[27])/(ALGEBRAIC[27] - ALGEBRAIC[25]);
ALGEBRAIC[44] = ((ALGEBRAIC[19]+ ALGEBRAIC[25]*STATES[11]) -  ALGEBRAIC[38]*ALGEBRAIC[25])/(ALGEBRAIC[25] - ALGEBRAIC[27]);
ALGEBRAIC[47] =  ALGEBRAIC[41]*exp( - ALGEBRAIC[25]*CONSTANTS[35])+ ALGEBRAIC[44]*exp( - ALGEBRAIC[27]*CONSTANTS[35])+ALGEBRAIC[38];
ALGEBRAIC[69] =  CONSTANTS[42]*exp( (0.320000 - 1.00000)*(STATES[0]/(( CONSTANTS[4]*CONSTANTS[3])/CONSTANTS[5])));
ALGEBRAIC[71] =  1.00000*(ALGEBRAIC[69]+CONSTANTS[43]);
ALGEBRAIC[66] = 1.00000/(1.00000+(1.00000+pow(STATES[1], 3.00000)/CONSTANTS[18])/(ALGEBRAIC[0]/CONSTANTS[20]));
ALGEBRAIC[65] = 1.00000/(1.00000+(1.00000+ALGEBRAIC[0]/CONSTANTS[20])/(pow(STATES[1], 3.00000)/CONSTANTS[18]));
ALGEBRAIC[67] =  ALGEBRAIC[65]*exp( 0.320000*(STATES[0]/(( CONSTANTS[4]*CONSTANTS[3])/CONSTANTS[5])));
ALGEBRAIC[68] =  1.00000*(ALGEBRAIC[67]+ALGEBRAIC[66]);
ALGEBRAIC[70] =  CONSTANTS[17]*( ALGEBRAIC[67]*STATES[6] -  ALGEBRAIC[69]*(1.00000 - STATES[6]));
ALGEBRAIC[72] =  (CONSTANTS[22]/(1.00000+pow(CONSTANTS[23]/STATES[1], 1.36000)))*((1.00000 - pow((STATES[0]+50.0000)/250.000, 2.00000))/(1.00000+CONSTANTS[24]/CONSTANTS[7]));
ALGEBRAIC[2] =  (( CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((STATES[1] -  CONSTANTS[6]*exp(( - CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[9]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[45] =  5.00000e-05*CONSTANTS[13]*ALGEBRAIC[2]*STATES[4]*STATES[5];
ALGEBRAIC[60] = 0.00170000+(1.00000 - 0.00170000)/(1.00000+CONSTANTS[16]/ALGEBRAIC[0]);
ALGEBRAIC[63] =  0.400000*CONSTANTS[15]*ALGEBRAIC[2]*ALGEBRAIC[60];
ALGEBRAIC[74] = ALGEBRAIC[45]+ALGEBRAIC[63]+ 3.00000*ALGEBRAIC[72]+ 3.00000*ALGEBRAIC[70];
ALGEBRAIC[14] =  (( CONSTANTS[4]*CONSTANTS[3])/( 1.00000*CONSTANTS[5]))*log(CONSTANTS[7]/STATES[2]);
ALGEBRAIC[16] =  3.30000*exp((STATES[0] - (ALGEBRAIC[14]+6.00000))/15.0000);
ALGEBRAIC[18] =  26.0000*exp((STATES[0] - (ALGEBRAIC[14]+6.00000))/52.0000);
ALGEBRAIC[20] = ALGEBRAIC[16]/(ALGEBRAIC[16]+ALGEBRAIC[18]);
ALGEBRAIC[22] = 1.00000/(1.00000+ 0.100000*exp((STATES[0] - ALGEBRAIC[14])/15.0000)+ 0.0480000*exp((STATES[0] - ALGEBRAIC[14])/7.00000));
ALGEBRAIC[24] = 2.50000/( 4.70000*exp((STATES[0] - ALGEBRAIC[14])/28.7000));
ALGEBRAIC[26] = 2.50000/( 6.00000*exp((ALGEBRAIC[14] - STATES[0])/25.8000));
ALGEBRAIC[28] = ALGEBRAIC[24]+ALGEBRAIC[26];
ALGEBRAIC[30] =  ALGEBRAIC[22]*ALGEBRAIC[28];
ALGEBRAIC[32] = ALGEBRAIC[28] - ALGEBRAIC[30];
ALGEBRAIC[34] = ALGEBRAIC[30]/( (ALGEBRAIC[30]+ALGEBRAIC[32])*pow(1.00000 - ALGEBRAIC[20], 3.00000));
ALGEBRAIC[36] =  CONSTANTS[12]*pow(CONSTANTS[7]/5.40000, 0.620000)*(STATES[0] - ALGEBRAIC[14])*ALGEBRAIC[34]*ALGEBRAIC[20];
ALGEBRAIC[7] =  (( CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((STATES[2] -  CONSTANTS[7]*exp(( - CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[10]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[42] =  0.00100000*CONSTANTS[13]*ALGEBRAIC[7]*STATES[4]*STATES[5];
ALGEBRAIC[62] =  0.360000*CONSTANTS[15]*ALGEBRAIC[7]*ALGEBRAIC[60];
ALGEBRAIC[75] = (ALGEBRAIC[36]+ALGEBRAIC[42]+ALGEBRAIC[62]) -  2.00000*ALGEBRAIC[72];
ALGEBRAIC[11] =  (( CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))*((ALGEBRAIC[0] -  CONSTANTS[8]*exp(( - CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3])))/(1.00000 - exp(( - CONSTANTS[11]*CONSTANTS[5]*STATES[0])/( CONSTANTS[4]*CONSTANTS[3]))));
ALGEBRAIC[39] =  CONSTANTS[13]*ALGEBRAIC[11]*STATES[4]*STATES[5];
ALGEBRAIC[48] = ALGEBRAIC[39]+ALGEBRAIC[42]+ALGEBRAIC[45];
ALGEBRAIC[49] = 1.00000/(1.00000+exp(- (STATES[0]+23.0000)/6.10000));
ALGEBRAIC[50] =  (4.43000 - 0.660000)*exp(- pow(STATES[0]+150.000, 2.00000)/7118.00)+0.660000;
ALGEBRAIC[51] = ALGEBRAIC[49]/(ALGEBRAIC[50]+pow(10.0000, -20.0000));
ALGEBRAIC[52] = (1.00000 - ALGEBRAIC[49])/(ALGEBRAIC[50]+pow(10.0000, -20.0000));
ALGEBRAIC[53] = ALGEBRAIC[51]/(ALGEBRAIC[51]+ALGEBRAIC[52]);
ALGEBRAIC[54] = 1.00000/(1.00000+exp(- (STATES[0]+75.0000)/- 6.60000));
ALGEBRAIC[55] =  (40.8000 - 0.840000)*exp(- pow(STATES[0]+106.000, 2.00000)/2292.00)+0.840000;
ALGEBRAIC[56] = ALGEBRAIC[54]/(ALGEBRAIC[55]+pow(10.0000, -20.0000));
ALGEBRAIC[57] = (1.00000 - ALGEBRAIC[54])/(ALGEBRAIC[55]+pow(10.0000, -20.0000));
ALGEBRAIC[58] = ALGEBRAIC[56]/(ALGEBRAIC[56]+ALGEBRAIC[57]);
ALGEBRAIC[59] =  CONSTANTS[14]*ALGEBRAIC[11]*ALGEBRAIC[53]*ALGEBRAIC[58];
ALGEBRAIC[61] =  CONSTANTS[15]*ALGEBRAIC[11]*ALGEBRAIC[60];
ALGEBRAIC[64] = ALGEBRAIC[61]+ALGEBRAIC[62]+ALGEBRAIC[63];
ALGEBRAIC[73] = CONSTANTS[25]/(1.00000+pow(CONSTANTS[26]/ALGEBRAIC[0], 2.00000));
ALGEBRAIC[76] = ALGEBRAIC[70]+ALGEBRAIC[72]+ALGEBRAIC[73]+ALGEBRAIC[59]+ALGEBRAIC[64]+ALGEBRAIC[36]+ALGEBRAIC[48];
ALGEBRAIC[78] = 0.0100000/(1.00000+CONSTANTS[28]/STATES[7]);
ALGEBRAIC[79] = 1.00000/(1.00000+CONSTANTS[29]/ALGEBRAIC[0]);
ALGEBRAIC[80] =  1.50000*CONSTANTS[27]*( ALGEBRAIC[79]*(1.00000 - STATES[8]) -  ALGEBRAIC[78]*STATES[8]);
ALGEBRAIC[84] =  CONSTANTS[31]*(STATES[7] - ALGEBRAIC[0]);
ALGEBRAIC[82] =  2.80000*CONSTANTS[30]*(STATES[7] - STATES[9]);
ALGEBRAIC[77] = (ALGEBRAIC[39]+ALGEBRAIC[59]+ALGEBRAIC[61]+ALGEBRAIC[73]) -  2.00000*ALGEBRAIC[70];
ALGEBRAIC[86] =  CONSTANTS[32]*(STATES[9] - ALGEBRAIC[0])*STATES[10];
ALGEBRAIC[83] = 0.0100000/(1.00000+ALGEBRAIC[0]/CONSTANTS[29]);
ALGEBRAIC[85] = ALGEBRAIC[79]+ALGEBRAIC[83];
ALGEBRAIC[81] = 1.00000/(1.00000+STATES[7]/CONSTANTS[28]);
ALGEBRAIC[87] = ALGEBRAIC[78]+ALGEBRAIC[81];
}