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 50 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 53 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (second).
 * CONSTANTS[0] is R_cm in component cell (dimensionless).
 * CONSTANTS[1] is R in component cell (kilojoule_per_mole_kelvin).
 * CONSTANTS[2] is T in component cell (kelvin).
 * CONSTANTS[3] is F in component cell (kilojoule_per_mole_millivolt).
 * CONSTANTS[50] is S in component cell (kilojoule_per_mole).
 * CONSTANTS[51] is Z in component cell (millivolt).
 * ALGEBRAIC[8] is electric_potential in component cell (millivolt).
 * CONSTANTS[4] is protonmotive_force in component cell (millivolt).
 * ALGEBRAIC[9] is ex_membrane_potential in component cell (millivolt).
 * ALGEBRAIC[10] is in_membrane_potential in component cell (millivolt).
 * CONSTANTS[5] is c_buffi in component cell (molar_proton_per_pH_unit).
 * CONSTANTS[6] is c_buffe in component cell (molar_proton_per_pH_unit).
 * ALGEBRAIC[0] is pH_e in component cell (dimensionless).
 * ALGEBRAIC[4] is pH_i in component cell (dimensionless).
 * CONSTANTS[7] is pKa in component cell (dimensionless).
 * STATES[0] is He in component He (micromolar).
 * STATES[1] is Hi in component Hi (micromolar).
 * ALGEBRAIC[7] is delta_pH in component cell (dimensionless).
 * CONSTANTS[8] is dpH in component cell (dimensionless).
 * ALGEBRAIC[5] is C0_i in component cell (molar_proton_per_pH_unit).
 * ALGEBRAIC[2] is C0_e in component cell (molar_proton_per_pH_unit).
 * ALGEBRAIC[6] is r_buffi in component cell (dimensionless).
 * ALGEBRAIC[3] is r_buffe in component cell (dimensionless).
 * CONSTANTS[9] is BN in component cell (dimensionless).
 * ALGEBRAIC[11] is u in component cell (dimensionless).
 * ALGEBRAIC[13] is EmN in component redox_potentials (millivolt).
 * ALGEBRAIC[32] is EmU in component redox_potentials (millivolt).
 * ALGEBRAIC[29] is Emc in component redox_potentials (millivolt).
 * ALGEBRAIC[31] is Ema in component redox_potentials (millivolt).
 * CONSTANTS[10] is EmN0 in component redox_potentials (millivolt).
 * CONSTANTS[11] is EmU0 in component redox_potentials (millivolt).
 * CONSTANTS[12] is Emc0 in component redox_potentials (millivolt).
 * ALGEBRAIC[12] is NAD in component NAD (micromolar).
 * STATES[2] is NADH in component NADH (micromolar).
 * ALGEBRAIC[30] is UQ in component UQ (micromolar).
 * STATES[3] is UQH2 in component UQH2 (micromolar).
 * STATES[4] is c_2 in component c_2 (micromolar).
 * ALGEBRAIC[28] is c_3 in component c_3 (micromolar).
 * CONSTANTS[13] is Nt in component NAD (micromolar).
 * ALGEBRAIC[34] is vDH in component vDH (flux).
 * ALGEBRAIC[36] is vC1 in component vC1 (flux).
 * STATES[5] is O2 in component O2 (micromolar).
 * ALGEBRAIC[39] is vC4 in component vC4 (flux).
 * CONSTANTS[14] is nA in component vSN (dimensionless).
 * ALGEBRAIC[38] is vC3 in component vC3 (flux).
 * ALGEBRAIC[43] is vSN in component vSN (flux).
 * ALGEBRAIC[44] is vEX in component vEX (flux).
 * ALGEBRAIC[47] is vPI in component vPI (flux).
 * CONSTANTS[52] is vLK in component vLK (flux).
 * ALGEBRAIC[48] is vCK in component vCK (flux).
 * ALGEBRAIC[49] is vEFF in component vEFF (flux).
 * ALGEBRAIC[17] is ADP_mi in component ADP_mi (micromolar).
 * ALGEBRAIC[14] is ADP_ti in component ADP_ti (micromolar).
 * ALGEBRAIC[15] is ADP_fi in component ADP_fi (micromolar).
 * CONSTANTS[15] is kDDi in component ADP_fi (micromolar).
 * CONSTANTS[16] is Mg_fi in component Mg_fi (micromolar).
 * CONSTANTS[17] is Ai_SUM in component ADP_ti (micromolar).
 * STATES[6] is ATP_ti in component ATP_ti (micromolar).
 * ALGEBRAIC[19] is ATP_mi in component ATP_mi (micromolar).
 * ALGEBRAIC[16] is ATP_fi in component ATP_fi (micromolar).
 * CONSTANTS[18] is kDTi in component ATP_fi (micromolar).
 * ALGEBRAIC[20] is ADP_me in component ADP_me (micromolar).
 * STATES[7] is ADP_te in component ADP_te (micromolar).
 * ALGEBRAIC[18] is ADP_fe in component ADP_fe (micromolar).
 * CONSTANTS[19] is kDDe in component ADP_fe (micromolar).
 * CONSTANTS[20] is Mg_fe in component Mg_fe (micromolar).
 * ALGEBRAIC[45] is vUT in component vUT (flux).
 * ALGEBRAIC[46] is vAK in component vAK (flux).
 * ALGEBRAIC[22] is ATP_me in component ATP_me (micromolar).
 * STATES[8] is ATP_te in component ATP_te (micromolar).
 * ALGEBRAIC[21] is ATP_fe in component ATP_fe (micromolar).
 * CONSTANTS[21] is kDTe in component ATP_fe (micromolar).
 * ALGEBRAIC[23] is AMP_e in component AMP_e (micromolar).
 * CONSTANTS[22] is Ae_SUM in component AMP_e (micromolar).
 * ALGEBRAIC[24] is Cr in component Cr (micromolar).
 * CONSTANTS[23] is C_SUM in component Cr (micromolar).
 * STATES[9] is PCr in component PCr (micromolar).
 * ALGEBRAIC[26] is Pi_ji in component Pi_ji (micromolar).
 * STATES[10] is Pi_ti in component Pi_ti (micromolar).
 * ALGEBRAIC[27] is Pi_je in component Pi_je (micromolar).
 * STATES[11] is Pi_te in component Pi_te (micromolar).
 * ALGEBRAIC[25] is P_SUM in component P_SUM (micromolar).
 * CONSTANTS[24] is ct in component c_3 (micromolar).
 * CONSTANTS[25] is Ut in component UQ (micromolar).
 * STATES[12] is a_2 in component a_2 (micromolar).
 * ALGEBRAIC[33] is A3_2 in component a_2 (dimensionless).
 * CONSTANTS[26] is Ema0 in component a_2 (millivolt).
 * CONSTANTS[27] is at in component a_2 (micromolar).
 * ALGEBRAIC[1] is a_3 in component a_3 (micromolar).
 * CONSTANTS[28] is kDH in component vDH (flux).
 * CONSTANTS[29] is KmN in component vDH (micromolar).
 * CONSTANTS[30] is pD in component vDH (dimensionless).
 * CONSTANTS[31] is kC1 in component vC1 (flux).
 * ALGEBRAIC[35] is delta_GC1 in component vC1 (millivolt).
 * CONSTANTS[32] is kC3 in component vC3 (flux).
 * ALGEBRAIC[37] is delta_GC3 in component vC3 (millivolt).
 * CONSTANTS[33] is kC4 in component vC4 (flux).
 * CONSTANTS[34] is KmO in component vC4 (micromolar).
 * CONSTANTS[35] is kSN in component vSN (flux).
 * ALGEBRAIC[41] is delta_GSN in component vSN (millivolt).
 * ALGEBRAIC[40] is delta_Gp in component vSN (kilojoule_per_mole).
 * CONSTANTS[36] is delta_Gp0 in component vSN (kilojoule_per_mole).
 * ALGEBRAIC[42] is gamma in component vSN (dimensionless).
 * CONSTANTS[37] is kEX in component vEX (flux).
 * CONSTANTS[38] is km_ADP in component vEX (micromolar).
 * CONSTANTS[39] is km_A in component vUT (micromolar).
 * CONSTANTS[40] is kUT in component vUT (flux).
 * CONSTANTS[41] is kf_AK in component vAK (second_order_rate_constant).
 * CONSTANTS[42] is kb_AK in component vAK (second_order_rate_constant).
 * CONSTANTS[43] is kL1 in component vLK (flux).
 * CONSTANTS[44] is kL2 in component vLK (per_millivolt).
 * CONSTANTS[45] is kPI in component vPI (second_order_rate_constant).
 * CONSTANTS[46] is kf_CK in component vCK (third_order_rate_constant).
 * CONSTANTS[47] is kb_CK in component vCK (second_order_rate_constant).
 * CONSTANTS[48] is pH_o in component vEFF (dimensionless).
 * CONSTANTS[49] is k_EFF in component vEFF (flux).
 * RATES[2] is d/dt NADH in component NADH (micromolar).
 * RATES[5] is d/dt O2 in component O2 (micromolar).
 * RATES[1] is d/dt Hi in component Hi (micromolar).
 * RATES[0] is d/dt He in component He (micromolar).
 * RATES[6] is d/dt ATP_ti in component ATP_ti (micromolar).
 * RATES[7] is d/dt ADP_te in component ADP_te (micromolar).
 * RATES[8] is d/dt ATP_te in component ATP_te (micromolar).
 * RATES[9] is d/dt PCr in component PCr (micromolar).
 * RATES[10] is d/dt Pi_ti in component Pi_ti (micromolar).
 * RATES[11] is d/dt Pi_te in component Pi_te (micromolar).
 * RATES[4] is d/dt c_2 in component c_2 (micromolar).
 * RATES[3] is d/dt UQH2 in component UQH2 (micromolar).
 * RATES[12] is d/dt a_2 in component a_2 (micromolar).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 15.0;
CONSTANTS[1] = 0.0083;
CONSTANTS[2] = 289.0;
CONSTANTS[3] = 0.0965;
CONSTANTS[4] = 190.0;
CONSTANTS[5] = 0.022;
CONSTANTS[6] = 0.025;
CONSTANTS[7] = 6.8;
STATES[0] = 1.00;
STATES[1] = 1.00;
CONSTANTS[8] = 0.001;
CONSTANTS[9] = 5.0;
CONSTANTS[10] = -320.0;
CONSTANTS[11] = 85.0;
CONSTANTS[12] = 250.0;
STATES[2] = 500.0;
STATES[3] = 1.00;
STATES[4] = 1.00;
CONSTANTS[13] = 2970.0;
STATES[5] = 1.00;
CONSTANTS[14] = 2.5;
CONSTANTS[15] = 282;
CONSTANTS[16] = 380.0;
CONSTANTS[17] = 16260.0;
STATES[6] = 1.00;
CONSTANTS[18] = 17;
STATES[7] = 1.00;
CONSTANTS[19] = 347;
CONSTANTS[20] = 4000.0;
STATES[8] = 1.00;
CONSTANTS[21] = 24;
CONSTANTS[22] = 1600.2;
CONSTANTS[23] = 35000.0;
STATES[9] = 1.00;
STATES[10] = 1.00;
STATES[11] = 1.00;
CONSTANTS[24] = 270.0;
CONSTANTS[25] = 1350.0;
STATES[12] = 1.00;
CONSTANTS[26] = 540.0;
CONSTANTS[27] = 135.0;
CONSTANTS[28] = 28074;
CONSTANTS[29] = 100.0;
CONSTANTS[30] = 0.8;
CONSTANTS[31] = 238.95;
CONSTANTS[32] = 136.41;
CONSTANTS[33] = 136.41;
CONSTANTS[34] = 120.0;
CONSTANTS[35] = 34316.0;
CONSTANTS[36] = 31.9;
CONSTANTS[37] = 54572;
CONSTANTS[38] = 3.5;
CONSTANTS[39] = 150.0;
CONSTANTS[40] = 686.5;
CONSTANTS[41] = 862.10;
CONSTANTS[42] = 22.747;
CONSTANTS[43] = 2.5;
CONSTANTS[44] = 0.038;
CONSTANTS[45] = 69.421;
CONSTANTS[46] = 1.9258;
CONSTANTS[47] = 0.00087538;
CONSTANTS[48] = 7.0;
CONSTANTS[49] = 1.9258;
CONSTANTS[50] =  2.30300*CONSTANTS[1]*CONSTANTS[2];
CONSTANTS[51] =  2.30300*CONSTANTS[1]*(CONSTANTS[2]/CONSTANTS[3]);
CONSTANTS[52] =  CONSTANTS[43]*(exp( CONSTANTS[44]*CONSTANTS[4]) - 1.00000);
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = - arbitrary_log(STATES[0]/1.00000e+06, 10);
ALGEBRAIC[4] = - arbitrary_log(STATES[1]/1.00000e+06, 10);
ALGEBRAIC[7] =  CONSTANTS[51]*(ALGEBRAIC[4] - ALGEBRAIC[0]);
ALGEBRAIC[8] = - (CONSTANTS[4] - ALGEBRAIC[7]);
ALGEBRAIC[11] = ALGEBRAIC[8]/CONSTANTS[4];
ALGEBRAIC[28] = CONSTANTS[24] - STATES[4];
ALGEBRAIC[29] = CONSTANTS[12]+ CONSTANTS[51]*arbitrary_log(ALGEBRAIC[28]/STATES[4], 10);
ALGEBRAIC[31] = ALGEBRAIC[29]+ CONSTANTS[4]*((2.00000+ 2.00000*ALGEBRAIC[11])/2.00000);
ALGEBRAIC[33] = pow(10.0000, (ALGEBRAIC[31] - CONSTANTS[26])/CONSTANTS[51]);
RATES[12] = CONSTANTS[27]/(1.00000+ALGEBRAIC[33]);
ALGEBRAIC[12] = CONSTANTS[13] - STATES[2];
ALGEBRAIC[34] =  CONSTANTS[28]*(1.00000/pow(1.00000+CONSTANTS[29]/(ALGEBRAIC[12]/STATES[2]), CONSTANTS[30]));
ALGEBRAIC[13] = CONSTANTS[10]+ (CONSTANTS[51]/2.00000)*arbitrary_log(ALGEBRAIC[12]/STATES[2], 10);
ALGEBRAIC[30] = CONSTANTS[25] - STATES[3];
ALGEBRAIC[32] = CONSTANTS[11]+ (CONSTANTS[51]/2.00000)*arbitrary_log(ALGEBRAIC[30]/STATES[3], 10);
ALGEBRAIC[35] = ALGEBRAIC[32] - (ALGEBRAIC[13]+ CONSTANTS[4]*(4.00000/2.00000));
ALGEBRAIC[36] =  CONSTANTS[31]*ALGEBRAIC[35];
RATES[2] =  (ALGEBRAIC[34] - ALGEBRAIC[36])*(CONSTANTS[0]/CONSTANTS[9]);
ALGEBRAIC[37] = ALGEBRAIC[29] - (ALGEBRAIC[32]+ CONSTANTS[4]*((4.00000 -  2.00000*ALGEBRAIC[11])/2.00000));
ALGEBRAIC[38] =  CONSTANTS[32]*ALGEBRAIC[37];
RATES[3] =  CONSTANTS[0]*(ALGEBRAIC[36] - ALGEBRAIC[38]);
ALGEBRAIC[39] =  CONSTANTS[33]*STATES[12]*STATES[4]*(1.00000/(1.00000+CONSTANTS[34]/STATES[5]));
RATES[5] = - ALGEBRAIC[39];
RATES[4] =  (ALGEBRAIC[38]+ ALGEBRAIC[39]*2.00000)*CONSTANTS[0]*2.00000;
ALGEBRAIC[14] = CONSTANTS[17] - STATES[6];
ALGEBRAIC[40] = CONSTANTS[36]/(CONSTANTS[3]+ CONSTANTS[51]*arbitrary_log( 1.00000e+06*(STATES[6]/( ALGEBRAIC[14]*STATES[10])), 10));
ALGEBRAIC[41] =  CONSTANTS[14]*CONSTANTS[4] - ALGEBRAIC[40];
ALGEBRAIC[42] = pow(10.0000, ALGEBRAIC[41]/CONSTANTS[51]);
ALGEBRAIC[43] =  CONSTANTS[35]*((ALGEBRAIC[42] - 1.00000)/(ALGEBRAIC[42]+1.00000));
ALGEBRAIC[10] =  0.650000*ALGEBRAIC[8];
ALGEBRAIC[15] = ALGEBRAIC[14]/(1.00000+CONSTANTS[16]/CONSTANTS[15]);
ALGEBRAIC[16] = STATES[6]/(1.00000+CONSTANTS[16]/CONSTANTS[18]);
ALGEBRAIC[18] = STATES[7]/(1.00000+CONSTANTS[20]/CONSTANTS[19]);
ALGEBRAIC[21] = STATES[8]/(1.00000+CONSTANTS[20]/CONSTANTS[21]);
ALGEBRAIC[44] =  CONSTANTS[37]*(ALGEBRAIC[18]/(ALGEBRAIC[18]+ ALGEBRAIC[21]*pow(10.0000, - ALGEBRAIC[10]/CONSTANTS[51])) - ALGEBRAIC[15]/(ALGEBRAIC[15]+ ALGEBRAIC[16]*pow(10.0000, - ALGEBRAIC[10]/CONSTANTS[51])))*(1.00000/(1.00000+CONSTANTS[38]/ALGEBRAIC[18]));
RATES[6] =  (ALGEBRAIC[43] - ALGEBRAIC[44])*CONSTANTS[0];
ALGEBRAIC[5] = (pow(10.0000, - ALGEBRAIC[4]) - pow(10.0000, - ALGEBRAIC[4] - CONSTANTS[8]))/CONSTANTS[8];
ALGEBRAIC[6] = CONSTANTS[5]/ALGEBRAIC[5];
ALGEBRAIC[26] = STATES[10]/(1.00000+pow(10.0000, ALGEBRAIC[4] - CONSTANTS[7]));
ALGEBRAIC[27] = STATES[11]/(1.00000+pow(10.0000, ALGEBRAIC[0] - CONSTANTS[7]));
ALGEBRAIC[47] =  CONSTANTS[45]*( STATES[0]*ALGEBRAIC[27] -  STATES[1]*ALGEBRAIC[26]);
RATES[1] = ( (( (4.00000 -  2.00000*ALGEBRAIC[11])*ALGEBRAIC[38]+ 4.00000*ALGEBRAIC[36]) - ( 2.00000*(2.00000+ 2.00000*ALGEBRAIC[11])*ALGEBRAIC[39]+ CONSTANTS[14]*ALGEBRAIC[43]+ ALGEBRAIC[11]*ALGEBRAIC[44]+ (1.00000 - ALGEBRAIC[11])*ALGEBRAIC[47]+CONSTANTS[52]))*CONSTANTS[0])/ALGEBRAIC[6];
RATES[10] =  (ALGEBRAIC[47] - ALGEBRAIC[43])*CONSTANTS[0];
ALGEBRAIC[45] =  CONSTANTS[40]*(1.00000/(1.00000+CONSTANTS[39]/STATES[8]));
RATES[11] = ALGEBRAIC[45] - ALGEBRAIC[47];
ALGEBRAIC[24] = CONSTANTS[23] - STATES[9];
ALGEBRAIC[48] =  CONSTANTS[46]*STATES[7]*STATES[9]*STATES[0] -  CONSTANTS[47]*STATES[8]*ALGEBRAIC[24];
ALGEBRAIC[20] = STATES[7] - ALGEBRAIC[18];
ALGEBRAIC[22] = STATES[8] - ALGEBRAIC[21];
ALGEBRAIC[23] = CONSTANTS[22] - (STATES[8]+STATES[7]);
ALGEBRAIC[46] =  CONSTANTS[41]*ALGEBRAIC[20]*ALGEBRAIC[18] -  CONSTANTS[42]*ALGEBRAIC[22]*ALGEBRAIC[23];
RATES[7] = ALGEBRAIC[45] - (ALGEBRAIC[44]+ 2.00000*ALGEBRAIC[46]+ALGEBRAIC[48]);
RATES[8] = (ALGEBRAIC[44]+ALGEBRAIC[46]+ALGEBRAIC[48]) - ALGEBRAIC[45];
RATES[9] = - ALGEBRAIC[48];
ALGEBRAIC[2] = (pow(10.0000, - ALGEBRAIC[0]) - pow(10.0000, - ALGEBRAIC[0] - CONSTANTS[8]))/CONSTANTS[8];
ALGEBRAIC[3] = CONSTANTS[6]/ALGEBRAIC[2];
ALGEBRAIC[49] =  CONSTANTS[49]*(CONSTANTS[48] - ALGEBRAIC[0]);
RATES[0] = (( 2.00000*(2.00000+ 2.00000*ALGEBRAIC[11])*ALGEBRAIC[39]+ (4.00000 -  2.00000*ALGEBRAIC[11])*ALGEBRAIC[38]+ 4.00000*ALGEBRAIC[36]) - ( CONSTANTS[14]*ALGEBRAIC[43]+ ALGEBRAIC[11]*ALGEBRAIC[44]+ (1.00000 - ALGEBRAIC[11])*ALGEBRAIC[47]+CONSTANTS[52]+ALGEBRAIC[48]+ALGEBRAIC[49]))/ALGEBRAIC[3];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = - arbitrary_log(STATES[0]/1.00000e+06, 10);
ALGEBRAIC[4] = - arbitrary_log(STATES[1]/1.00000e+06, 10);
ALGEBRAIC[7] =  CONSTANTS[51]*(ALGEBRAIC[4] - ALGEBRAIC[0]);
ALGEBRAIC[8] = - (CONSTANTS[4] - ALGEBRAIC[7]);
ALGEBRAIC[11] = ALGEBRAIC[8]/CONSTANTS[4];
ALGEBRAIC[28] = CONSTANTS[24] - STATES[4];
ALGEBRAIC[29] = CONSTANTS[12]+ CONSTANTS[51]*arbitrary_log(ALGEBRAIC[28]/STATES[4], 10);
ALGEBRAIC[31] = ALGEBRAIC[29]+ CONSTANTS[4]*((2.00000+ 2.00000*ALGEBRAIC[11])/2.00000);
ALGEBRAIC[33] = pow(10.0000, (ALGEBRAIC[31] - CONSTANTS[26])/CONSTANTS[51]);
ALGEBRAIC[12] = CONSTANTS[13] - STATES[2];
ALGEBRAIC[34] =  CONSTANTS[28]*(1.00000/pow(1.00000+CONSTANTS[29]/(ALGEBRAIC[12]/STATES[2]), CONSTANTS[30]));
ALGEBRAIC[13] = CONSTANTS[10]+ (CONSTANTS[51]/2.00000)*arbitrary_log(ALGEBRAIC[12]/STATES[2], 10);
ALGEBRAIC[30] = CONSTANTS[25] - STATES[3];
ALGEBRAIC[32] = CONSTANTS[11]+ (CONSTANTS[51]/2.00000)*arbitrary_log(ALGEBRAIC[30]/STATES[3], 10);
ALGEBRAIC[35] = ALGEBRAIC[32] - (ALGEBRAIC[13]+ CONSTANTS[4]*(4.00000/2.00000));
ALGEBRAIC[36] =  CONSTANTS[31]*ALGEBRAIC[35];
ALGEBRAIC[37] = ALGEBRAIC[29] - (ALGEBRAIC[32]+ CONSTANTS[4]*((4.00000 -  2.00000*ALGEBRAIC[11])/2.00000));
ALGEBRAIC[38] =  CONSTANTS[32]*ALGEBRAIC[37];
ALGEBRAIC[39] =  CONSTANTS[33]*STATES[12]*STATES[4]*(1.00000/(1.00000+CONSTANTS[34]/STATES[5]));
ALGEBRAIC[14] = CONSTANTS[17] - STATES[6];
ALGEBRAIC[40] = CONSTANTS[36]/(CONSTANTS[3]+ CONSTANTS[51]*arbitrary_log( 1.00000e+06*(STATES[6]/( ALGEBRAIC[14]*STATES[10])), 10));
ALGEBRAIC[41] =  CONSTANTS[14]*CONSTANTS[4] - ALGEBRAIC[40];
ALGEBRAIC[42] = pow(10.0000, ALGEBRAIC[41]/CONSTANTS[51]);
ALGEBRAIC[43] =  CONSTANTS[35]*((ALGEBRAIC[42] - 1.00000)/(ALGEBRAIC[42]+1.00000));
ALGEBRAIC[10] =  0.650000*ALGEBRAIC[8];
ALGEBRAIC[15] = ALGEBRAIC[14]/(1.00000+CONSTANTS[16]/CONSTANTS[15]);
ALGEBRAIC[16] = STATES[6]/(1.00000+CONSTANTS[16]/CONSTANTS[18]);
ALGEBRAIC[18] = STATES[7]/(1.00000+CONSTANTS[20]/CONSTANTS[19]);
ALGEBRAIC[21] = STATES[8]/(1.00000+CONSTANTS[20]/CONSTANTS[21]);
ALGEBRAIC[44] =  CONSTANTS[37]*(ALGEBRAIC[18]/(ALGEBRAIC[18]+ ALGEBRAIC[21]*pow(10.0000, - ALGEBRAIC[10]/CONSTANTS[51])) - ALGEBRAIC[15]/(ALGEBRAIC[15]+ ALGEBRAIC[16]*pow(10.0000, - ALGEBRAIC[10]/CONSTANTS[51])))*(1.00000/(1.00000+CONSTANTS[38]/ALGEBRAIC[18]));
ALGEBRAIC[5] = (pow(10.0000, - ALGEBRAIC[4]) - pow(10.0000, - ALGEBRAIC[4] - CONSTANTS[8]))/CONSTANTS[8];
ALGEBRAIC[6] = CONSTANTS[5]/ALGEBRAIC[5];
ALGEBRAIC[26] = STATES[10]/(1.00000+pow(10.0000, ALGEBRAIC[4] - CONSTANTS[7]));
ALGEBRAIC[27] = STATES[11]/(1.00000+pow(10.0000, ALGEBRAIC[0] - CONSTANTS[7]));
ALGEBRAIC[47] =  CONSTANTS[45]*( STATES[0]*ALGEBRAIC[27] -  STATES[1]*ALGEBRAIC[26]);
ALGEBRAIC[45] =  CONSTANTS[40]*(1.00000/(1.00000+CONSTANTS[39]/STATES[8]));
ALGEBRAIC[24] = CONSTANTS[23] - STATES[9];
ALGEBRAIC[48] =  CONSTANTS[46]*STATES[7]*STATES[9]*STATES[0] -  CONSTANTS[47]*STATES[8]*ALGEBRAIC[24];
ALGEBRAIC[20] = STATES[7] - ALGEBRAIC[18];
ALGEBRAIC[22] = STATES[8] - ALGEBRAIC[21];
ALGEBRAIC[23] = CONSTANTS[22] - (STATES[8]+STATES[7]);
ALGEBRAIC[46] =  CONSTANTS[41]*ALGEBRAIC[20]*ALGEBRAIC[18] -  CONSTANTS[42]*ALGEBRAIC[22]*ALGEBRAIC[23];
ALGEBRAIC[2] = (pow(10.0000, - ALGEBRAIC[0]) - pow(10.0000, - ALGEBRAIC[0] - CONSTANTS[8]))/CONSTANTS[8];
ALGEBRAIC[3] = CONSTANTS[6]/ALGEBRAIC[2];
ALGEBRAIC[49] =  CONSTANTS[49]*(CONSTANTS[48] - ALGEBRAIC[0]);
ALGEBRAIC[1] = CONSTANTS[27] - STATES[12];
ALGEBRAIC[9] =  -0.350000*ALGEBRAIC[8];
ALGEBRAIC[17] = ALGEBRAIC[14] - ALGEBRAIC[15];
ALGEBRAIC[19] = STATES[6] - ALGEBRAIC[16];
ALGEBRAIC[25] = STATES[9]+ STATES[8]*3.00000+ STATES[7]*2.00000+ALGEBRAIC[23]+STATES[11]+( STATES[6]*3.00000+ ALGEBRAIC[14]*2.00000+STATES[10])/CONSTANTS[0];
}