Generated Code

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

The raw code is available.

/*
   There are a total of 23 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 90 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * CONSTANTS[0] is GLCo in component GLCo (millimolar).
 * STATES[0] is GLCi in component GLCi (millimolar).
 * ALGEBRAIC[12] is v_GLT in component v_GLT (flux).
 * ALGEBRAIC[8] is v_GLK in component v_GLK (flux).
 * STATES[1] is G6P in component G6P (millimolar).
 * ALGEBRAIC[5] is v_PGI in component v_PGI (flux).
 * CONSTANTS[1] is v_trehalose in component v_trehalose (flux).
 * CONSTANTS[2] is v_glycogen in component v_glycogen (flux).
 * STATES[2] is F6P in component F6P (millimolar).
 * ALGEBRAIC[22] is v_PFK in component v_PFK (flux).
 * STATES[3] is F16P in component F16P (millimolar).
 * ALGEBRAIC[13] is v_ALD in component v_ALD (flux).
 * CONSTANTS[3] is F26P in component F26P (millimolar).
 * STATES[4] is TRIO in component TRIO (millimolar).
 * ALGEBRAIC[9] is v_GAPDH in component v_GAPDH (flux).
 * ALGEBRAIC[20] is v_G3PDH in component v_G3PDH (flux).
 * STATES[5] is BPG in component BPG (millimolar).
 * ALGEBRAIC[10] is v_PGK in component v_PGK (flux).
 * STATES[6] is P3G in component P3G (millimolar).
 * ALGEBRAIC[6] is v_PGM in component v_PGM (flux).
 * STATES[7] is P2G in component P2G (millimolar).
 * ALGEBRAIC[7] is v_ENO in component v_ENO (flux).
 * STATES[8] is PEP in component PEP (millimolar).
 * ALGEBRAIC[11] is v_PYK in component v_PYK (flux).
 * STATES[9] is PYR in component PYR (millimolar).
 * ALGEBRAIC[14] is v_PDC in component v_PDC (flux).
 * STATES[10] is ACE in component ACE (millimolar).
 * ALGEBRAIC[15] is v_ADH in component v_ADH (flux).
 * ALGEBRAIC[21] is v_succinate in component v_succinate (flux).
 * STATES[11] is P in component P (millimolar).
 * ALGEBRAIC[16] is v_ATP in component v_ATP (flux).
 * STATES[12] is NADH in component NADH (millimolar).
 * STATES[13] is NAD in component NAD (millimolar).
 * ALGEBRAIC[0] is DHAP in component DHAP (millimolar).
 * CONSTANTS[4] is Keq_TPI in component DHAP (dimensionless).
 * ALGEBRAIC[1] is GAP in component GAP (millimolar).
 * ALGEBRAIC[2] is ADP in component ADP (millimolar).
 * CONSTANTS[5] is SUM_P in component ADP (millimolar).
 * CONSTANTS[6] is Keq_AK in component ADP (dimensionless).
 * ALGEBRAIC[3] is ATP in component ATP (millimolar).
 * ALGEBRAIC[4] is AMP in component AMP (millimolar).
 * CONSTANTS[7] is ETOH in component ETOH (millimolar).
 * CONSTANTS[8] is GLY in component GLY (millimolar).
 * CONSTANTS[9] is Km_G6P in component v_PGI (millimolar).
 * CONSTANTS[10] is Km_F6P in component v_PGI (millimolar).
 * CONSTANTS[11] is Keq_PGI in component v_PGI (dimensionless).
 * CONSTANTS[12] is v_max in component v_PGI (flux).
 * CONSTANTS[13] is Km_P3G in component v_PGM (millimolar).
 * CONSTANTS[14] is Km_P2G in component v_PGM (millimolar).
 * CONSTANTS[15] is Keq_PGM in component v_PGM (dimensionless).
 * CONSTANTS[16] is v_max in component v_PGM (flux).
 * CONSTANTS[17] is Km_P2G in component v_ENO (millimolar).
 * CONSTANTS[18] is Km_PEP in component v_ENO (millimolar).
 * CONSTANTS[19] is Keq_ENO in component v_ENO (dimensionless).
 * CONSTANTS[20] is v_max in component v_ENO (flux).
 * CONSTANTS[21] is Km_GLCi in component v_GLK (millimolar).
 * CONSTANTS[22] is Km_G6P in component v_GLK (millimolar).
 * CONSTANTS[23] is Km_ATP in component v_GLK (millimolar).
 * CONSTANTS[24] is Km_ADP in component v_GLK (millimolar).
 * CONSTANTS[25] is Keq_GLK in component v_GLK (dimensionless).
 * CONSTANTS[26] is v_max in component v_GLK (flux).
 * CONSTANTS[27] is Km_GAP in component v_GAPDH (millimolar).
 * CONSTANTS[28] is Km_BPG in component v_GAPDH (millimolar).
 * CONSTANTS[29] is Km_NAD in component v_GAPDH (millimolar).
 * CONSTANTS[30] is Km_NADH in component v_GAPDH (millimolar).
 * CONSTANTS[31] is v_max_f in component v_GAPDH (flux).
 * CONSTANTS[32] is v_max_r in component v_GAPDH (flux).
 * CONSTANTS[33] is Km_BPG in component v_PGK (millimolar).
 * CONSTANTS[34] is Km_P3G in component v_PGK (millimolar).
 * CONSTANTS[35] is Km_ADP in component v_PGK (millimolar).
 * CONSTANTS[36] is Km_ATP in component v_PGK (millimolar).
 * CONSTANTS[37] is Keq_PGK in component v_PGK (dimensionless).
 * CONSTANTS[38] is v_max in component v_PGK (flux).
 * CONSTANTS[39] is Km_PEP in component v_PYK (millimolar).
 * CONSTANTS[40] is Km_PYR in component v_PYK (millimolar).
 * CONSTANTS[41] is Km_ADP in component v_PYK (millimolar).
 * CONSTANTS[42] is Km_ATP in component v_PYK (millimolar).
 * CONSTANTS[43] is Keq_PYK in component v_PYK (dimensionless).
 * CONSTANTS[44] is v_max in component v_PYK (flux).
 * CONSTANTS[45] is Km_Glco in component v_GLT (millimolar).
 * CONSTANTS[46] is Km_Glci in component v_GLT (millimolar).
 * CONSTANTS[47] is Keq_Glc in component v_GLT (dimensionless).
 * CONSTANTS[48] is v_max in component v_GLT (flux).
 * CONSTANTS[49] is Km_F16P in component v_ALD (millimolar).
 * CONSTANTS[50] is Km_GAP in component v_ALD (millimolar).
 * CONSTANTS[51] is Km_GAPi in component v_ALD (millimolar).
 * CONSTANTS[52] is Km_DHAP in component v_ALD (millimolar).
 * CONSTANTS[53] is Keq_ALD in component v_ALD (millimolar).
 * CONSTANTS[54] is v_max in component v_ALD (flux).
 * CONSTANTS[55] is nPDC in component v_PDC (dimensionless).
 * CONSTANTS[56] is Km_PYR in component v_PDC (millimolar).
 * CONSTANTS[57] is v_max in component v_PDC (flux).
 * CONSTANTS[58] is Km_NAD in component v_ADH (millimolar).
 * CONSTANTS[59] is Km_NADH in component v_ADH (millimolar).
 * CONSTANTS[60] is Km_ACE in component v_ADH (millimolar).
 * CONSTANTS[61] is Km_ETOH in component v_ADH (millimolar).
 * CONSTANTS[62] is Ki_NADH in component v_ADH (millimolar).
 * CONSTANTS[63] is Ki_NAD in component v_ADH (millimolar).
 * CONSTANTS[64] is Ki_ACE in component v_ADH (millimolar).
 * CONSTANTS[65] is Ki_ETOH in component v_ADH (millimolar).
 * CONSTANTS[66] is v_max in component v_ADH (flux).
 * CONSTANTS[67] is Keq_ADH in component v_ADH (dimensionless).
 * CONSTANTS[68] is Km_ATPase in component v_ATP (first_order_rate_constant).
 * CONSTANTS[69] is v_max in component v_PFK (flux).
 * CONSTANTS[70] is gR in component v_PFK (dimensionless).
 * CONSTANTS[71] is L0 in component v_PFK (per_millimolar2).
 * CONSTANTS[72] is Km_F6P in component v_PFK (millimolar).
 * CONSTANTS[73] is Km_ATP in component v_PFK (millimolar).
 * CONSTANTS[74] is CATP in component v_PFK (millimolar).
 * CONSTANTS[75] is Km_AMP in component v_PFK (millimolar).
 * CONSTANTS[76] is CAMP in component v_PFK (dimensionless).
 * CONSTANTS[77] is Ki_ATP in component v_PFK (millimolar).
 * CONSTANTS[78] is Ci_ATP in component v_PFK (dimensionless).
 * CONSTANTS[79] is Km_F26BP in component v_PFK (millimolar).
 * CONSTANTS[80] is CF26BP in component v_PFK (dimensionless).
 * CONSTANTS[81] is Km_F16BP in component v_PFK (millimolar).
 * CONSTANTS[82] is CF16BP in component v_PFK (dimensionless).
 * ALGEBRAIC[18] is L in component v_PFK (per_millimolar2).
 * ALGEBRAIC[17] is R in component v_PFK (dimensionless).
 * ALGEBRAIC[19] is T in component v_PFK (millimolar).
 * CONSTANTS[83] is Km_DHAP in component v_G3PDH (millimolar).
 * CONSTANTS[84] is Km_GLY in component v_G3PDH (millimolar).
 * CONSTANTS[85] is Km_NADH in component v_G3PDH (millimolar).
 * CONSTANTS[86] is Km_NAD in component v_G3PDH (millimolar).
 * CONSTANTS[87] is Keq_G3PDH in component v_G3PDH (dimensionless).
 * CONSTANTS[88] is v_max in component v_G3PDH (flux).
 * CONSTANTS[89] is Km_succinate in component v_succinate (first_order_rate_constant).
 * RATES[0] is d/dt GLCi in component GLCi (millimolar).
 * RATES[1] is d/dt G6P in component G6P (millimolar).
 * RATES[2] is d/dt F6P in component F6P (millimolar).
 * RATES[3] is d/dt F16P in component F16P (millimolar).
 * RATES[4] is d/dt TRIO in component TRIO (millimolar).
 * RATES[5] is d/dt BPG in component BPG (millimolar).
 * RATES[6] is d/dt P3G in component P3G (millimolar).
 * RATES[7] is d/dt P2G in component P2G (millimolar).
 * RATES[8] is d/dt PEP in component PEP (millimolar).
 * RATES[9] is d/dt PYR in component PYR (millimolar).
 * RATES[10] is d/dt ACE in component ACE (millimolar).
 * RATES[11] is d/dt P in component P (millimolar).
 * RATES[12] is d/dt NADH in component NADH (millimolar).
 * RATES[13] is d/dt NAD in component NAD (millimolar).
 * There are a total of 0 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 50.0;
STATES[0] = 0.087;
STATES[1] = 2.45;
CONSTANTS[1] = 2.4;
CONSTANTS[2] = 6.0;
STATES[2] = 0.62;
STATES[3] = 5.51;
CONSTANTS[3] = 0.02;
STATES[4] = 0.96;
STATES[5] = 0.0;
STATES[6] = 0.9;
STATES[7] = 0.12;
STATES[8] = 0.07;
STATES[9] = 1.85;
STATES[10] = 0.17;
STATES[11] = 6.31;
STATES[12] = 0.39;
STATES[13] = 1.20;
CONSTANTS[4] = 0.045;
CONSTANTS[5] = 4.1;
CONSTANTS[6] = 0.450;
CONSTANTS[7] = 50.0;
CONSTANTS[8] = 0.15;
CONSTANTS[9] = 1.4;
CONSTANTS[10] = 0.3;
CONSTANTS[11] = 0.314;
CONSTANTS[12] = 339.677;
CONSTANTS[13] = 1.2;
CONSTANTS[14] = 0.08;
CONSTANTS[15] = 0.19;
CONSTANTS[16] = 2525.81;
CONSTANTS[17] = 0.04;
CONSTANTS[18] = 0.5;
CONSTANTS[19] = 6.7;
CONSTANTS[20] = 365.806;
CONSTANTS[21] = 0.08;
CONSTANTS[22] = 30.0;
CONSTANTS[23] = 0.15;
CONSTANTS[24] = 0.23;
CONSTANTS[25] = 3800;
CONSTANTS[26] = 226.452;
CONSTANTS[27] = 0.21;
CONSTANTS[28] = 0.0098;
CONSTANTS[29] = 0.09;
CONSTANTS[30] = 0.06;
CONSTANTS[31] = 1184.52;
CONSTANTS[32] = 6549.68;
CONSTANTS[33] = 0.003;
CONSTANTS[34] = 0.53;
CONSTANTS[35] = 0.2;
CONSTANTS[36] = 0.3;
CONSTANTS[37] = 3200;
CONSTANTS[38] = 1306.45;
CONSTANTS[39] = 0.14;
CONSTANTS[40] = 21.0;
CONSTANTS[41] = 0.53;
CONSTANTS[42] = 1.5;
CONSTANTS[43] = 6500;
CONSTANTS[44] = 1088.71;
CONSTANTS[45] = 1.1918;
CONSTANTS[46] = 1.1918;
CONSTANTS[47] = 1;
CONSTANTS[48] = 97.264;
CONSTANTS[49] = 0.3;
CONSTANTS[50] = 2.0;
CONSTANTS[51] = 10.0;
CONSTANTS[52] = 2.4;
CONSTANTS[53] = 0.069;
CONSTANTS[54] = 322.258;
CONSTANTS[55] = 1.9;
CONSTANTS[56] = 4.33;
CONSTANTS[57] = 174.194;
CONSTANTS[58] = 0.17;
CONSTANTS[59] = 0.11;
CONSTANTS[60] = 1.11;
CONSTANTS[61] = 17.0;
CONSTANTS[62] = 0.031;
CONSTANTS[63] = 0.92;
CONSTANTS[64] = 1.1;
CONSTANTS[65] = 90.0;
CONSTANTS[66] = 810.0;
CONSTANTS[67] = 0.000069;
CONSTANTS[68] = 33.7;
CONSTANTS[69] = 182.903;
CONSTANTS[70] = 5.12;
CONSTANTS[71] = 0.66;
CONSTANTS[72] = 0.1;
CONSTANTS[73] = 0.71;
CONSTANTS[74] = 3.0;
CONSTANTS[75] = 0.0995;
CONSTANTS[76] = 0.0845;
CONSTANTS[77] = 0.65;
CONSTANTS[78] = 100.0;
CONSTANTS[79] = 0.000682;
CONSTANTS[80] = 0.0174;
CONSTANTS[81] = 0.111;
CONSTANTS[82] = 0.397;
CONSTANTS[83] = 0.4;
CONSTANTS[84] = 1;
CONSTANTS[85] = 0.023;
CONSTANTS[86] = 0.93;
CONSTANTS[87] = 4300;
CONSTANTS[88] = 70.15;
CONSTANTS[89] = 21.4;
RATES[0] = 0.1001;
RATES[1] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[4] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 0.1001;
RATES[9] = 0.1001;
RATES[10] = 0.1001;
RATES[11] = 0.1001;
RATES[12] = 0.1001;
RATES[13] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - ALGEBRAIC[12] - ALGEBRAIC[8];
resid[1] = RATES[1] - ALGEBRAIC[8] - (ALGEBRAIC[5]+ 2.00000*CONSTANTS[1]+CONSTANTS[2]);
resid[2] = RATES[2] - ALGEBRAIC[5] - ALGEBRAIC[22];
resid[3] = RATES[3] - ALGEBRAIC[22] - ALGEBRAIC[13];
resid[4] = RATES[4] -  2.00000*ALGEBRAIC[13] - (ALGEBRAIC[9]+ALGEBRAIC[20]);
resid[5] = RATES[5] - ALGEBRAIC[9] - ALGEBRAIC[10];
resid[6] = RATES[6] - ALGEBRAIC[10] - ALGEBRAIC[6];
resid[7] = RATES[7] - ALGEBRAIC[6] - ALGEBRAIC[7];
resid[8] = RATES[8] - ALGEBRAIC[7] - ALGEBRAIC[11];
resid[9] = RATES[9] - ALGEBRAIC[11] - ALGEBRAIC[14];
resid[10] = RATES[10] - ALGEBRAIC[14] - (ALGEBRAIC[15]+ 2.00000*ALGEBRAIC[21]);
resid[11] = RATES[11] - (ALGEBRAIC[10]+ALGEBRAIC[11]) - (ALGEBRAIC[8]+ALGEBRAIC[22]+ALGEBRAIC[16]+CONSTANTS[1]+CONSTANTS[2]+ 4.00000*ALGEBRAIC[21]);
resid[12] = RATES[12] - (ALGEBRAIC[9]+ 3.00000*ALGEBRAIC[21]) - (ALGEBRAIC[15]+ALGEBRAIC[20]);
resid[13] = RATES[13] - (ALGEBRAIC[15]+ALGEBRAIC[20]) - (ALGEBRAIC[9]+ 3.00000*ALGEBRAIC[21]);
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = STATES[4]/(1.00000+CONSTANTS[4]);
ALGEBRAIC[1] = ( STATES[4]*CONSTANTS[4])/(1.00000+CONSTANTS[4]);
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[5] = ( (CONSTANTS[12]/CONSTANTS[9])*(STATES[1] - STATES[2]/CONSTANTS[11]))/(1.00000+STATES[1]/CONSTANTS[9]+STATES[2]/CONSTANTS[10]);
ALGEBRAIC[6] = ( (CONSTANTS[16]/CONSTANTS[13])*(STATES[6] - STATES[7]/CONSTANTS[15]))/(1.00000+STATES[6]/CONSTANTS[13]+STATES[7]/CONSTANTS[14]);
ALGEBRAIC[7] = ( (CONSTANTS[20]/CONSTANTS[17])*(STATES[7] - STATES[8]/CONSTANTS[19]))/(1.00000+STATES[7]/CONSTANTS[17]+STATES[8]/CONSTANTS[18]);
ALGEBRAIC[2] = (CONSTANTS[5] -  pow(( pow(STATES[11], 2.00000)*(1.00000 -  4.00000*CONSTANTS[6])+ 2.00000*CONSTANTS[5]*STATES[11]*( 4.00000*CONSTANTS[6] - 1.00000)+pow(CONSTANTS[5], 2.00000)), 1.0 / 2))/(1.00000 -  4.00000*CONSTANTS[6]);
ALGEBRAIC[3] = (STATES[11] - ALGEBRAIC[2])/2.00000;
ALGEBRAIC[8] = ( (CONSTANTS[26]/( CONSTANTS[21]*CONSTANTS[23]))*( STATES[0]*ALGEBRAIC[3] - ( STATES[1]*ALGEBRAIC[2])/CONSTANTS[25]))/( (1.00000+STATES[0]/CONSTANTS[21]+STATES[1]/CONSTANTS[22])*(1.00000+ALGEBRAIC[3]/CONSTANTS[23]+ALGEBRAIC[2]/CONSTANTS[24]));
ALGEBRAIC[9] = (( CONSTANTS[31]*(CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4]*STATES[13])/( CONSTANTS[27]*CONSTANTS[29]) - ( CONSTANTS[32]*STATES[5]*STATES[12])/( CONSTANTS[28]*CONSTANTS[30]))/( (1.00000+( (CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4])/CONSTANTS[27]+STATES[5]/CONSTANTS[28])*(1.00000+STATES[13]/CONSTANTS[29]+STATES[12]/CONSTANTS[30]));
ALGEBRAIC[10] = ( (CONSTANTS[38]/( CONSTANTS[34]*CONSTANTS[36]))*( CONSTANTS[37]*STATES[5]*ALGEBRAIC[2] -  STATES[6]*ALGEBRAIC[3]))/( (1.00000+STATES[5]/CONSTANTS[33]+STATES[6]/CONSTANTS[34])*(1.00000+ALGEBRAIC[3]/CONSTANTS[36]+ALGEBRAIC[2]/CONSTANTS[35]));
ALGEBRAIC[11] = ( (CONSTANTS[44]/( CONSTANTS[39]*CONSTANTS[41]))*( STATES[8]*ALGEBRAIC[2] - ( STATES[9]*ALGEBRAIC[3])/CONSTANTS[43]))/( (1.00000+STATES[8]/CONSTANTS[39]+STATES[9]/CONSTANTS[40])*(1.00000+ALGEBRAIC[3]/CONSTANTS[42]+ALGEBRAIC[2]/CONSTANTS[41]));
ALGEBRAIC[12] = ( CONSTANTS[48]*(CONSTANTS[0] - STATES[0]/CONSTANTS[47]))/( CONSTANTS[45]*(1.00000+CONSTANTS[0]/CONSTANTS[45]+STATES[0]/CONSTANTS[46]+( 0.910000*CONSTANTS[0]*STATES[0])/( CONSTANTS[46]*CONSTANTS[45])));
ALGEBRAIC[13] = ( (CONSTANTS[54]/CONSTANTS[49])*(STATES[3] - ( (CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4]*(1.00000/(1.00000+CONSTANTS[4]))*STATES[4])/CONSTANTS[53]))/(1.00000+STATES[3]/CONSTANTS[49]+( (CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4])/CONSTANTS[50]+( (1.00000/(1.00000+CONSTANTS[4]))*STATES[4])/CONSTANTS[52]+( (CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4]*(1.00000/(1.00000+CONSTANTS[4]))*STATES[4])/( CONSTANTS[50]*CONSTANTS[52])+( STATES[3]*(CONSTANTS[4]/(1.00000+CONSTANTS[4]))*STATES[4])/( CONSTANTS[51]*CONSTANTS[49]));
ALGEBRAIC[14] = ( CONSTANTS[57]*(pow(STATES[9], CONSTANTS[55])/pow(CONSTANTS[56], CONSTANTS[55])))/(1.00000+pow(STATES[9], CONSTANTS[55])/pow(CONSTANTS[56], CONSTANTS[55]));
ALGEBRAIC[15] = - ( (CONSTANTS[66]/( CONSTANTS[63]*CONSTANTS[61]))*(( STATES[13]*CONSTANTS[7] - ( STATES[12]*STATES[10])/CONSTANTS[67])/(1.00000+STATES[13]/CONSTANTS[63]+( CONSTANTS[58]*CONSTANTS[7])/( CONSTANTS[63]*CONSTANTS[61])+( CONSTANTS[59]*STATES[10])/( CONSTANTS[62]*CONSTANTS[60])+STATES[12]/CONSTANTS[62]+( STATES[13]*CONSTANTS[7])/( CONSTANTS[63]*CONSTANTS[61])+( CONSTANTS[59]*STATES[13]*STATES[10])/( CONSTANTS[63]*CONSTANTS[62]*CONSTANTS[60])+( CONSTANTS[58]*CONSTANTS[7]*STATES[12])/( CONSTANTS[63]*CONSTANTS[61]*CONSTANTS[62])+( STATES[12]*STATES[10])/( CONSTANTS[62]*CONSTANTS[60])+( STATES[13]*CONSTANTS[7]*STATES[10])/( CONSTANTS[63]*CONSTANTS[61]*CONSTANTS[64])+( CONSTANTS[7]*STATES[12]*STATES[10])/( CONSTANTS[65]*CONSTANTS[62]*CONSTANTS[60]))));
ALGEBRAIC[16] =  CONSTANTS[68]*ALGEBRAIC[3];
ALGEBRAIC[20] = ( (CONSTANTS[88]/( CONSTANTS[83]*CONSTANTS[85]))*( (1.00000/(1.00000+CONSTANTS[4]))*STATES[4]*STATES[12] - ( CONSTANTS[8]*STATES[13])/CONSTANTS[87]))/( (1.00000+( (1.00000/(1.00000+CONSTANTS[4]))*STATES[4])/CONSTANTS[83]+CONSTANTS[8]/CONSTANTS[84])*(1.00000+STATES[12]/CONSTANTS[85]+STATES[13]/CONSTANTS[86]));
ALGEBRAIC[21] =  CONSTANTS[89]*STATES[10];
ALGEBRAIC[4] = CONSTANTS[5] - (ALGEBRAIC[3]+ALGEBRAIC[2]);
ALGEBRAIC[18] =  CONSTANTS[71]*pow((1.00000+ CONSTANTS[78]*(ALGEBRAIC[3]/CONSTANTS[77]))/(1.00000+ALGEBRAIC[3]/CONSTANTS[77]), 2.00000)*pow((1.00000+ CONSTANTS[76]*(ALGEBRAIC[4]/CONSTANTS[75]))/(1.00000+ALGEBRAIC[4]/CONSTANTS[75]), 2.00000)*pow((1.00000+ CONSTANTS[80]*(CONSTANTS[3]/CONSTANTS[79])+ CONSTANTS[82]*(STATES[3]/CONSTANTS[81]))/(1.00000+CONSTANTS[3]/CONSTANTS[79]+STATES[3]/CONSTANTS[81]), 2.00000);
ALGEBRAIC[17] = 1.00000+STATES[2]/CONSTANTS[72]+ALGEBRAIC[3]/CONSTANTS[73]+ CONSTANTS[70]*(STATES[2]/CONSTANTS[72])*(ALGEBRAIC[3]/CONSTANTS[73]);
ALGEBRAIC[19] = 1.00000+ CONSTANTS[74]*(ALGEBRAIC[3]/CONSTANTS[73]);
ALGEBRAIC[22] =  CONSTANTS[69]*CONSTANTS[70]*(STATES[2]/CONSTANTS[72])*(ALGEBRAIC[3]/CONSTANTS[73])*(ALGEBRAIC[17]/(pow(ALGEBRAIC[17], 2.00000)+ ALGEBRAIC[18]*pow(ALGEBRAIC[19], 2.00000)));
}
void
getStateInformation(double* SI)
{
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
SI[3] = 1.0;
SI[4] = 1.0;
SI[5] = 1.0;
SI[6] = 1.0;
SI[7] = 1.0;
SI[8] = 1.0;
SI[9] = 1.0;
SI[10] = 1.0;
SI[11] = 1.0;
SI[12] = 1.0;
SI[13] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}