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 21 entries in the algebraic variable array.
   There are a total of 21 entries in each of the rate and state variable arrays.
   There are a total of 116 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * STATES[0] is GLY in component GLY (millimolar).
 * ALGEBRAIC[18] is flux_GP in component flux_GP (flux).
 * STATES[1] is G1P in component G1P (millimolar).
 * ALGEBRAIC[3] is V_PGLM in component V_PGLM (flux).
 * STATES[2] is G6P in component G6P (millimolar).
 * ALGEBRAIC[4] is V_PGI in component V_PGI (flux).
 * STATES[3] is F6P in component F6P (millimolar).
 * ALGEBRAIC[19] is V_PFK in component V_PFK (flux).
 * STATES[4] is FBP in component FBP (millimolar).
 * ALGEBRAIC[8] is V_ALD in component V_ALD (flux).
 * STATES[5] is DHAP in component DHAP (millimolar).
 * ALGEBRAIC[9] is V_TPI in component V_TPI (flux).
 * STATES[6] is GAP in component GAP (millimolar).
 * ALGEBRAIC[20] is V_GAPDH in component V_GAPDH (flux).
 * STATES[7] is Thirteen_BPG in component Thirteen_BPG (millimolar).
 * ALGEBRAIC[11] is V_PGK in component V_PGK (flux).
 * STATES[8] is three_PG in component three_PG (millimolar).
 * ALGEBRAIC[12] is V_PGM in component V_PGM (flux).
 * STATES[9] is two_PG in component two_PG (millimolar).
 * ALGEBRAIC[13] is V_ENOL in component V_ENOL (flux).
 * STATES[10] is PEP in component PEP (millimolar).
 * ALGEBRAIC[14] is V_PK in component V_PK (flux).
 * STATES[11] is PYR in component PYR (millimolar).
 * ALGEBRAIC[15] is V_LDH in component V_LDH (flux).
 * STATES[12] is LAC in component LAC (millimolar).
 * ALGEBRAIC[0] is output in component LAC (flux).
 * STATES[13] is Pi in component Pi (millimolar).
 * CONSTANTS[0] is V_ATPase in component V_ATPase (flux).
 * STATES[14] is ADP in component ADP (millimolar).
 * ALGEBRAIC[17] is V_ADK in component V_ADK (flux).
 * ALGEBRAIC[16] is V_CK in component V_CK (flux).
 * STATES[15] is ATP in component ATP (millimolar).
 * STATES[16] is AMP in component AMP (millimolar).
 * STATES[17] is PCr in component PCr (millimolar).
 * STATES[18] is Cr in component Cr (millimolar).
 * STATES[19] is NADH in component NADH (millimolar).
 * STATES[20] is NAD in component NAD (millimolar).
 * CONSTANTS[1] is frac_a in component flux_GP (dimensionless).
 * CONSTANTS[2] is frac_b in component flux_GP (dimensionless).
 * ALGEBRAIC[1] is V_GPa in component V_GPa (flux).
 * ALGEBRAIC[2] is V_GPb in component V_GPb (flux).
 * CONSTANTS[3] is Ki_GLY_f in component V_GPa (millimolar).
 * CONSTANTS[4] is Ki_GLY_b in component V_GPa (millimolar).
 * CONSTANTS[5] is K_GLY_f in component V_GPa (millimolar).
 * CONSTANTS[6] is K_GLY_b in component V_GPa (millimolar).
 * CONSTANTS[7] is Keq_GP in component V_GPa (dimensionless).
 * CONSTANTS[8] is Ki_Pi in component V_GPa (millimolar).
 * CONSTANTS[9] is K_Pi in component V_GPa (millimolar).
 * CONSTANTS[10] is Ki_G1P in component V_GPa (millimolar).
 * CONSTANTS[100] is V_max_r in component V_GPa (flux).
 * CONSTANTS[11] is V_max_f in component V_GPa (flux).
 * CONSTANTS[12] is Ki_GLY_f in component V_GPb (millimolar).
 * CONSTANTS[13] is Ki_GLY_b in component V_GPb (millimolar).
 * CONSTANTS[14] is K_GLY_f in component V_GPb (millimolar).
 * CONSTANTS[15] is Keq_GP in component V_GPb (dimensionless).
 * CONSTANTS[16] is nH in component V_GPb (dimensionless).
 * CONSTANTS[17] is K_AMP in component V_GPb (millimolar_1_75).
 * CONSTANTS[18] is K_GLY_b in component V_GPb (millimolar).
 * CONSTANTS[19] is Ki_Pi in component V_GPb (millimolar).
 * CONSTANTS[20] is K_Pi in component V_GPb (millimolar).
 * CONSTANTS[21] is Ki_G1P in component V_GPb (millimolar).
 * CONSTANTS[22] is K_G1P in component V_GPb (millimolar).
 * CONSTANTS[101] is V_max_r in component V_GPb (flux).
 * CONSTANTS[23] is V_max_f in component V_GPb (flux).
 * CONSTANTS[24] is K_G1P in component V_PGLM (millimolar).
 * CONSTANTS[25] is K_G6P in component V_PGLM (millimolar).
 * CONSTANTS[26] is Keq_PGLM in component V_PGLM (dimensionless).
 * CONSTANTS[102] is V_max_r in component V_PGLM (flux).
 * CONSTANTS[27] is V_max_f in component V_PGLM (flux).
 * CONSTANTS[28] is K_G6P in component V_PGI (millimolar).
 * CONSTANTS[29] is K_F6P in component V_PGI (millimolar).
 * CONSTANTS[30] is Keq_PGI in component V_PGI (dimensionless).
 * CONSTANTS[31] is V_max_r in component V_PGI (flux).
 * CONSTANTS[103] is V_max_f in component V_PGI (flux).
 * CONSTANTS[32] is K_FBP in component V_PFK (millimolar).
 * CONSTANTS[33] is K_FBP_ in component V_PFK (millimolar).
 * CONSTANTS[34] is K_F6P in component V_PFK (millimolar).
 * CONSTANTS[35] is K_ATP in component V_PFK (millimolar).
 * CONSTANTS[36] is K_F6P_ in component V_PFK (millimolar).
 * CONSTANTS[37] is K_ATP_ in component V_PFK (millimolar).
 * CONSTANTS[38] is K_ADP in component V_PFK (millimolar).
 * CONSTANTS[39] is K_ADP_ in component V_PFK (millimolar).
 * CONSTANTS[40] is Ki_ATP in component V_PFK (millimolar).
 * CONSTANTS[41] is Ka_AMP in component V_PFK (millimolar).
 * CONSTANTS[104] is V_max_r in component V_PFK (flux).
 * CONSTANTS[42] is V_max_f in component V_PFK (flux).
 * CONSTANTS[105] is alpha in component V_PFK (dimensionless).
 * ALGEBRAIC[7] is L in component V_PFK (dimensionless).
 * CONSTANTS[43] is Lo in component V_PFK (dimensionless).
 * ALGEBRAIC[5] is delta in component V_PFK (dimensionless).
 * ALGEBRAIC[6] is delta_ in component V_PFK (dimensionless).
 * CONSTANTS[44] is d in component V_PFK (dimensionless).
 * CONSTANTS[45] is var_e in component V_PFK (dimensionless).
 * CONSTANTS[46] is K_GAP in component V_ALD (millimolar).
 * CONSTANTS[47] is K_FBP in component V_ALD (millimolar).
 * CONSTANTS[48] is K_DHAP in component V_ALD (millimolar).
 * CONSTANTS[49] is Keq_ALD in component V_ALD (millimolar).
 * CONSTANTS[106] is V_max_r in component V_ALD (flux).
 * CONSTANTS[50] is V_max_f in component V_ALD (flux).
 * CONSTANTS[51] is K_GAP in component V_TPI (millimolar).
 * CONSTANTS[52] is K_DHAP in component V_TPI (millimolar).
 * CONSTANTS[53] is Keq_TPI in component V_TPI (dimensionless).
 * CONSTANTS[107] is V_max_r in component V_TPI (flux).
 * CONSTANTS[54] is V_max_f in component V_TPI (flux).
 * ALGEBRAIC[10] is D_GAPDH in component V_GAPDH (dimensionless).
 * CONSTANTS[55] is K_GAP in component V_GAPDH (millimolar).
 * CONSTANTS[56] is K_Pi in component V_GAPDH (millimolar).
 * CONSTANTS[57] is K_NAD in component V_GAPDH (millimolar).
 * CONSTANTS[58] is K_NADH in component V_GAPDH (millimolar).
 * CONSTANTS[59] is K_Thirteen_BPG in component V_GAPDH (millimolar).
 * CONSTANTS[60] is Keq_GAPDH in component V_GAPDH (dimensionless).
 * CONSTANTS[108] is V_max_r in component V_GAPDH (flux).
 * CONSTANTS[61] is V_max_f in component V_GAPDH (flux).
 * CONSTANTS[62] is K_three_PG in component V_PGK (millimolar).
 * CONSTANTS[63] is K_ADP in component V_PGK (millimolar).
 * CONSTANTS[64] is K_ATP in component V_PGK (millimolar).
 * CONSTANTS[65] is K_Thirteen_BPG in component V_PGK (millimolar).
 * CONSTANTS[66] is Keq_PGK in component V_PGK (dimensionless).
 * CONSTANTS[67] is V_max_r in component V_PGK (flux).
 * CONSTANTS[109] is V_max_f in component V_PGK (flux).
 * CONSTANTS[68] is K_two_PG in component V_PGM (millimolar).
 * CONSTANTS[69] is K_three_PG in component V_PGM (millimolar).
 * CONSTANTS[70] is Keq_PGM in component V_PGM (dimensionless).
 * CONSTANTS[110] is V_max_r in component V_PGM (flux).
 * CONSTANTS[71] is V_max_f in component V_PGM (flux).
 * CONSTANTS[72] is K_PEP in component V_ENOL (millimolar).
 * CONSTANTS[73] is K_two_PG in component V_ENOL (millimolar).
 * CONSTANTS[74] is Keq_ENOL in component V_ENOL (dimensionless).
 * CONSTANTS[111] is V_max_r in component V_ENOL (flux).
 * CONSTANTS[75] is V_max_f in component V_ENOL (flux).
 * CONSTANTS[76] is K_PYR in component V_PK (millimolar).
 * CONSTANTS[77] is K_ADP in component V_PK (millimolar).
 * CONSTANTS[78] is K_ATP in component V_PK (millimolar).
 * CONSTANTS[79] is K_PEP in component V_PK (millimolar).
 * CONSTANTS[80] is Keq_PK in component V_PK (dimensionless).
 * CONSTANTS[112] is V_max_r in component V_PK (flux).
 * CONSTANTS[81] is V_max_f in component V_PK (flux).
 * CONSTANTS[82] is K_LAC in component V_LDH (millimolar).
 * CONSTANTS[83] is K_NADH in component V_LDH (millimolar).
 * CONSTANTS[84] is K_NAD in component V_LDH (millimolar).
 * CONSTANTS[85] is K_PYR in component V_LDH (millimolar).
 * CONSTANTS[86] is Keq_LDH in component V_LDH (dimensionless).
 * CONSTANTS[113] is V_max_r in component V_LDH (flux).
 * CONSTANTS[87] is V_max_f in component V_LDH (flux).
 * CONSTANTS[88] is Ki_ADP in component V_CK (millimolar).
 * CONSTANTS[89] is K_Cr in component V_CK (millimolar).
 * CONSTANTS[90] is K_PCr in component V_CK (millimolar).
 * CONSTANTS[91] is Ki_PCr in component V_CK (millimolar).
 * CONSTANTS[92] is Ki_ATP in component V_CK (millimolar).
 * CONSTANTS[93] is Keq_CK in component V_CK (dimensionless).
 * CONSTANTS[94] is V_max_r in component V_CK (flux).
 * CONSTANTS[114] is V_max_f in component V_CK (flux).
 * CONSTANTS[95] is K_ADP in component V_ADK (millimolar).
 * CONSTANTS[96] is K_AMP in component V_ADK (millimolar).
 * CONSTANTS[97] is K_ATP in component V_ADK (millimolar).
 * CONSTANTS[98] is Keq_ADK in component V_ADK (dimensionless).
 * CONSTANTS[115] is V_max_r in component V_ADK (flux).
 * CONSTANTS[99] is V_max_f in component V_ADK (flux).
 * RATES[0] is d/dt GLY in component GLY (millimolar).
 * RATES[1] is d/dt G1P in component G1P (millimolar).
 * RATES[2] is d/dt G6P in component G6P (millimolar).
 * RATES[3] is d/dt F6P in component F6P (millimolar).
 * RATES[4] is d/dt FBP in component FBP (millimolar).
 * RATES[5] is d/dt DHAP in component DHAP (millimolar).
 * RATES[6] is d/dt GAP in component GAP (millimolar).
 * RATES[7] is d/dt Thirteen_BPG in component Thirteen_BPG (millimolar).
 * RATES[8] is d/dt three_PG in component three_PG (millimolar).
 * RATES[9] is d/dt two_PG in component two_PG (millimolar).
 * RATES[10] is d/dt PEP in component PEP (millimolar).
 * RATES[11] is d/dt PYR in component PYR (millimolar).
 * RATES[12] is d/dt LAC in component LAC (millimolar).
 * RATES[13] is d/dt Pi in component Pi (millimolar).
 * RATES[14] is d/dt ADP in component ADP (millimolar).
 * RATES[15] is d/dt ATP in component ATP (millimolar).
 * RATES[16] is d/dt AMP in component AMP (millimolar).
 * RATES[17] is d/dt PCr in component PCr (millimolar).
 * RATES[18] is d/dt Cr in component Cr (millimolar).
 * RATES[19] is d/dt NADH in component NADH (millimolar).
 * RATES[20] is d/dt NAD in component NAD (millimolar).
 * There are a total of 0 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 112.0;
STATES[1] = 0.0589;
STATES[2] = 0.75;
STATES[3] = 0.228;
STATES[4] = 0.0723;
STATES[5] = 0.0764;
STATES[6] = 0.0355;
STATES[7] = 0.065;
STATES[8] = 0.052;
STATES[9] = 0.005;
STATES[10] = 0.0194;
STATES[11] = 0.0994;
STATES[12] = 1.3;
STATES[13] = 4.1;
CONSTANTS[0] = 600.0;
STATES[14] = 0.013;
STATES[15] = 8.2;
STATES[16] = 0.99;
STATES[17] = 34.67;
STATES[18] = 35.0;
STATES[19] = 0.001;
STATES[20] = 0.5;
CONSTANTS[1] = 0.4;
CONSTANTS[2] = 0.6;
CONSTANTS[3] = 2.0;
CONSTANTS[4] = 2.0;
CONSTANTS[5] = 1.7;
CONSTANTS[6] = 0.15;
CONSTANTS[7] = 0.42;
CONSTANTS[8] = 4.7;
CONSTANTS[9] = 4.0;
CONSTANTS[10] = 10.1;
CONSTANTS[11] = 20.0;
CONSTANTS[12] = 15.0;
CONSTANTS[13] = 4.4;
CONSTANTS[14] = 1.7;
CONSTANTS[15] = 0.42;
CONSTANTS[16] = 1.75;
CONSTANTS[17] = 1.9E-6;
CONSTANTS[18] = 0.15;
CONSTANTS[19] = 4.6;
CONSTANTS[20] = 0.2;
CONSTANTS[21] = 7.4;
CONSTANTS[22] = 1.5;
CONSTANTS[23] = 30.0;
CONSTANTS[24] = 0.063;
CONSTANTS[25] = 0.03;
CONSTANTS[26] = 16.62;
CONSTANTS[27] = 480.0;
CONSTANTS[28] = 0.18;
CONSTANTS[29] = 0.119;
CONSTANTS[30] = 0.45;
CONSTANTS[31] = 880.0;
CONSTANTS[32] = 4.02;
CONSTANTS[33] = 4.02;
CONSTANTS[34] = 0.18;
CONSTANTS[35] = 0.08;
CONSTANTS[36] = 20.0;
CONSTANTS[37] = 0.25;
CONSTANTS[38] = 2.7;
CONSTANTS[39] = 2.7;
CONSTANTS[40] = 0.87;
CONSTANTS[41] = 0.06;
CONSTANTS[42] = 56.0;
CONSTANTS[43] = 13.0;
CONSTANTS[44] = 0.01;
CONSTANTS[45] = 0.01;
CONSTANTS[46] = 1.0;
CONSTANTS[47] = 0.05;
CONSTANTS[48] = 2.0;
CONSTANTS[49] = 9.5E-5;
CONSTANTS[50] = 104.0;
CONSTANTS[51] = 0.32;
CONSTANTS[52] = 0.61;
CONSTANTS[53] = 0.052;
CONSTANTS[54] = 12000.0;
CONSTANTS[55] = 0.0025;
CONSTANTS[56] = 0.29;
CONSTANTS[57] = 0.09;
CONSTANTS[58] = 0.0033;
CONSTANTS[59] = 0.0008;
CONSTANTS[60] = 0.089;
CONSTANTS[61] = 1265.0;
CONSTANTS[62] = 1.2;
CONSTANTS[63] = 0.008;
CONSTANTS[64] = 0.35;
CONSTANTS[65] = 0.002;
CONSTANTS[66] = 57109.0;
CONSTANTS[67] = 1120.0;
CONSTANTS[68] = 0.014;
CONSTANTS[69] = 0.2;
CONSTANTS[70] = 0.18;
CONSTANTS[71] = 1120.0;
CONSTANTS[72] = 0.37;
CONSTANTS[73] = 0.1;
CONSTANTS[74] = 0.49;
CONSTANTS[75] = 192.0;
CONSTANTS[76] = 7.05;
CONSTANTS[77] = 0.3;
CONSTANTS[78] = 1.13;
CONSTANTS[79] = 0.08;
CONSTANTS[80] = 10304.0;
CONSTANTS[81] = 1440.0;
CONSTANTS[82] = 17.0;
CONSTANTS[83] = 0.002;
CONSTANTS[84] = 0.849;
CONSTANTS[85] = 0.335;
CONSTANTS[86] = 16198.0;
CONSTANTS[87] = 1920.0;
CONSTANTS[88] = 0.135;
CONSTANTS[89] = 3.8;
CONSTANTS[90] = 1.11;
CONSTANTS[91] = 3.9;
CONSTANTS[92] = 3.5;
CONSTANTS[93] = 233.0;
CONSTANTS[94] = 500.0;
CONSTANTS[95] = 0.35;
CONSTANTS[96] = 0.32;
CONSTANTS[97] = 0.27;
CONSTANTS[98] = 2.21;
CONSTANTS[99] = 880.0;
CONSTANTS[100] = ( CONSTANTS[11]*CONSTANTS[6]*CONSTANTS[10])/( CONSTANTS[3]*CONSTANTS[9]*CONSTANTS[7]);
CONSTANTS[101] = ( CONSTANTS[23]*CONSTANTS[13]*CONSTANTS[22])/( CONSTANTS[14]*CONSTANTS[19]*CONSTANTS[15]);
CONSTANTS[102] = ( CONSTANTS[27]*CONSTANTS[25])/( CONSTANTS[24]*CONSTANTS[26]);
CONSTANTS[103] = ( CONSTANTS[31]*CONSTANTS[28]*CONSTANTS[30])/CONSTANTS[29];
CONSTANTS[104] = ( CONSTANTS[42]*CONSTANTS[38]*CONSTANTS[32])/( CONSTANTS[35]*CONSTANTS[34]);
CONSTANTS[105] = ( CONSTANTS[34]*CONSTANTS[35])/( CONSTANTS[36]*CONSTANTS[37]);
CONSTANTS[106] = ( CONSTANTS[50]*CONSTANTS[48]*CONSTANTS[46])/( CONSTANTS[47]*CONSTANTS[49]);
CONSTANTS[107] = ( CONSTANTS[54]*CONSTANTS[52])/( CONSTANTS[51]*CONSTANTS[53]);
CONSTANTS[108] = ( CONSTANTS[61]*1.00000*CONSTANTS[59]*CONSTANTS[58])/( CONSTANTS[55]*CONSTANTS[57]*CONSTANTS[56]*CONSTANTS[60]);
CONSTANTS[109] = ( CONSTANTS[67]*CONSTANTS[65]*CONSTANTS[63]*CONSTANTS[66])/( CONSTANTS[62]*CONSTANTS[64]);
CONSTANTS[110] = ( CONSTANTS[71]*CONSTANTS[68])/( CONSTANTS[69]*CONSTANTS[70]);
CONSTANTS[111] = ( CONSTANTS[75]*CONSTANTS[72])/( CONSTANTS[73]*CONSTANTS[74]);
CONSTANTS[112] = ( CONSTANTS[81]*CONSTANTS[78]*CONSTANTS[76])/( CONSTANTS[79]*CONSTANTS[77]*CONSTANTS[80]);
CONSTANTS[113] = ( CONSTANTS[87]*CONSTANTS[82]*CONSTANTS[84])/( CONSTANTS[85]*CONSTANTS[83]*CONSTANTS[86]);
CONSTANTS[114] = ( CONSTANTS[94]*CONSTANTS[92]*CONSTANTS[89]*CONSTANTS[93])/( CONSTANTS[88]*CONSTANTS[90]);
CONSTANTS[115] = ( CONSTANTS[99]*pow(CONSTANTS[95], 2.00000))/( CONSTANTS[97]*CONSTANTS[96]*CONSTANTS[98]);
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;
RATES[14] = 0.1001;
RATES[15] = 0.1001;
RATES[16] = 0.1001;
RATES[17] = 0.1001;
RATES[18] = 0.1001;
RATES[19] = 0.1001;
RATES[20] = 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[18];
resid[1] = RATES[1] - ALGEBRAIC[18] - ALGEBRAIC[3];
resid[2] = RATES[2] - ALGEBRAIC[3] - ALGEBRAIC[4];
resid[3] = RATES[3] - ALGEBRAIC[4] - ALGEBRAIC[19];
resid[4] = RATES[4] - ALGEBRAIC[19] - ALGEBRAIC[8];
resid[5] = RATES[5] - ALGEBRAIC[8]+ALGEBRAIC[9];
resid[6] = RATES[6] - ALGEBRAIC[8] - (ALGEBRAIC[9]+ALGEBRAIC[20]);
resid[7] = RATES[7] - ALGEBRAIC[20] - ALGEBRAIC[11];
resid[8] = RATES[8] - ALGEBRAIC[11] - ALGEBRAIC[12];
resid[9] = RATES[9] - ALGEBRAIC[12] - ALGEBRAIC[13];
resid[10] = RATES[10] - ALGEBRAIC[13] - ALGEBRAIC[14];
resid[11] = RATES[11] - ALGEBRAIC[14] - ALGEBRAIC[15];
resid[12] = RATES[12] - ALGEBRAIC[15] - ALGEBRAIC[0];
resid[13] = RATES[13] - CONSTANTS[0] - (ALGEBRAIC[18]+ALGEBRAIC[20]);
resid[14] = RATES[14] - ALGEBRAIC[19]+ 2.00000*ALGEBRAIC[17]+ALGEBRAIC[16]+CONSTANTS[0]+- (ALGEBRAIC[11]+ALGEBRAIC[14]);
resid[15] = RATES[15] - ALGEBRAIC[11]+ALGEBRAIC[14]+- (ALGEBRAIC[19]+ALGEBRAIC[17]+ALGEBRAIC[16]+CONSTANTS[0]);
resid[16] = RATES[16] - - ALGEBRAIC[17];
resid[17] = RATES[17] - ALGEBRAIC[16];
resid[18] = RATES[18] - - ALGEBRAIC[16];
resid[19] = RATES[19] - ALGEBRAIC[20] - ALGEBRAIC[15];
resid[20] = RATES[20] - ALGEBRAIC[15] - ALGEBRAIC[20];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] =  0.200000*STATES[12];
ALGEBRAIC[3] = ( CONSTANTS[27]*(STATES[1]/CONSTANTS[24]) -  CONSTANTS[102]*(STATES[2]/CONSTANTS[25]))/(1.00000+STATES[1]/CONSTANTS[24]+STATES[2]/CONSTANTS[25]);
ALGEBRAIC[4] = ( CONSTANTS[103]*(STATES[2]/CONSTANTS[28]) -  CONSTANTS[31]*(STATES[3]/CONSTANTS[29]))/(1.00000+STATES[2]/CONSTANTS[28]+STATES[3]/CONSTANTS[29]);
ALGEBRAIC[8] = ( CONSTANTS[50]*(STATES[4]/CONSTANTS[47]) -  CONSTANTS[106]*(( STATES[5]*STATES[6])/( CONSTANTS[48]*CONSTANTS[46])))/(1.00000+STATES[4]/CONSTANTS[47]+STATES[5]/CONSTANTS[48]+STATES[6]/CONSTANTS[46]);
ALGEBRAIC[9] = ( CONSTANTS[54]*(STATES[6]/CONSTANTS[51]) -  CONSTANTS[107]*(STATES[5]/CONSTANTS[52]))/(1.00000+STATES[5]/CONSTANTS[52]+STATES[6]/CONSTANTS[51]);
ALGEBRAIC[11] = ( CONSTANTS[109]*(( STATES[7]*STATES[14])/( CONSTANTS[65]*CONSTANTS[63])) -  CONSTANTS[67]*(( STATES[8]*STATES[15])/( CONSTANTS[62]*CONSTANTS[64])))/(1.00000+STATES[7]/CONSTANTS[65]+STATES[14]/CONSTANTS[63]+( STATES[7]*STATES[14])/( CONSTANTS[65]*CONSTANTS[63])+STATES[8]/CONSTANTS[62]+STATES[15]/CONSTANTS[64]+( STATES[8]*STATES[15])/( CONSTANTS[62]*CONSTANTS[64]));
ALGEBRAIC[12] = ( CONSTANTS[71]*(STATES[8]/CONSTANTS[69]) -  CONSTANTS[110]*(STATES[9]/CONSTANTS[68]))/(1.00000+STATES[8]/CONSTANTS[69]+STATES[9]/CONSTANTS[68]);
ALGEBRAIC[13] = ( CONSTANTS[75]*(STATES[9]/CONSTANTS[73]) -  CONSTANTS[111]*(STATES[10]/CONSTANTS[72]))/(1.00000+STATES[9]/CONSTANTS[73]+STATES[10]/CONSTANTS[72]);
ALGEBRAIC[14] = ( CONSTANTS[81]*(( STATES[10]*STATES[14])/( CONSTANTS[79]*CONSTANTS[77])) -  CONSTANTS[112]*(( STATES[11]*STATES[15])/( CONSTANTS[76]*CONSTANTS[78])))/(1.00000+STATES[10]/CONSTANTS[79]+STATES[14]/CONSTANTS[77]+( STATES[10]*STATES[14])/( CONSTANTS[79]*CONSTANTS[77])+STATES[11]/CONSTANTS[76]+STATES[15]/CONSTANTS[78]+( STATES[11]*STATES[15])/( CONSTANTS[76]*CONSTANTS[78]));
ALGEBRAIC[15] = ( CONSTANTS[87]*(( STATES[11]*STATES[19])/( CONSTANTS[85]*CONSTANTS[83])) -  CONSTANTS[113]*(( STATES[12]*STATES[20])/( CONSTANTS[82]*CONSTANTS[84])))/(1.00000+STATES[11]/CONSTANTS[85]+STATES[19]/CONSTANTS[83]+( STATES[11]*STATES[19])/( CONSTANTS[85]*CONSTANTS[83])+STATES[12]/CONSTANTS[82]+STATES[20]/CONSTANTS[84]+( STATES[12]*STATES[20])/( CONSTANTS[82]*CONSTANTS[84]));
ALGEBRAIC[16] = ( CONSTANTS[114]*(( STATES[15]*STATES[18])/( CONSTANTS[92]*CONSTANTS[89])) -  CONSTANTS[94]*(( STATES[14]*STATES[17])/( CONSTANTS[88]*CONSTANTS[90])))/(1.00000+STATES[14]/CONSTANTS[88]+STATES[17]/CONSTANTS[91]+( STATES[14]*STATES[17])/( CONSTANTS[88]*CONSTANTS[90])+STATES[15]/CONSTANTS[92]+( STATES[15]*STATES[18])/( CONSTANTS[92]*CONSTANTS[89]));
ALGEBRAIC[17] = ( CONSTANTS[99]*(( STATES[15]*STATES[16])/( CONSTANTS[97]*CONSTANTS[96])) -  CONSTANTS[115]*(pow(STATES[14], 2.00000)/pow(CONSTANTS[95], 2.00000)))/(1.00000+STATES[15]/CONSTANTS[97]+STATES[16]/CONSTANTS[96]+( STATES[15]*STATES[16])/( CONSTANTS[97]*CONSTANTS[96])+( 2.00000*STATES[14])/CONSTANTS[95]+pow(STATES[14], 2.00000)/pow(CONSTANTS[95], 2.00000));
ALGEBRAIC[1] = ( CONSTANTS[11]*(( STATES[0]*STATES[13])/( CONSTANTS[3]*CONSTANTS[9])) -  CONSTANTS[100]*(( STATES[0]*STATES[1])/( CONSTANTS[4]*CONSTANTS[10])))/(1.00000+STATES[0]/CONSTANTS[3]+STATES[13]/CONSTANTS[8]+STATES[0]/CONSTANTS[4]+STATES[1]/CONSTANTS[10]+( STATES[0]*STATES[13])/( CONSTANTS[5]*CONSTANTS[8])+( STATES[0]*STATES[1])/( CONSTANTS[6]*CONSTANTS[10]));
ALGEBRAIC[2] =  (( CONSTANTS[23]*(( STATES[0]*STATES[13])/( CONSTANTS[12]*CONSTANTS[20])) -  CONSTANTS[101]*(( STATES[0]*STATES[1])/( CONSTANTS[13]*CONSTANTS[21])))/(1.00000+STATES[0]/CONSTANTS[12]+STATES[13]/CONSTANTS[19]+STATES[0]/CONSTANTS[13]+STATES[1]/CONSTANTS[21]+( STATES[0]*STATES[13])/( CONSTANTS[14]*CONSTANTS[19])+( STATES[0]*STATES[1])/( CONSTANTS[18]*CONSTANTS[21])))*((pow(STATES[16], CONSTANTS[16])/CONSTANTS[17])/(1.00000+pow(STATES[16], CONSTANTS[16])/CONSTANTS[17]));
ALGEBRAIC[18] =  CONSTANTS[1]*ALGEBRAIC[1]+ CONSTANTS[2]*ALGEBRAIC[2];
ALGEBRAIC[7] =  CONSTANTS[43]*pow( ((1.00000+STATES[15]/CONSTANTS[40])/(1.00000+ CONSTANTS[44]*(STATES[15]/CONSTANTS[40])))*((1.00000+ CONSTANTS[45]*(STATES[16]/CONSTANTS[41]))/(1.00000+STATES[16]/CONSTANTS[41])), 4.00000);
ALGEBRAIC[5] =  (1.00000+STATES[3]/CONSTANTS[34])*(1.00000+STATES[15]/CONSTANTS[35])+STATES[14]/CONSTANTS[38]+ (STATES[4]/CONSTANTS[32])*(1.00000+STATES[14]/CONSTANTS[38]);
ALGEBRAIC[6] =  (1.00000+STATES[3]/CONSTANTS[36])*(1.00000+STATES[15]/CONSTANTS[37])+STATES[14]/CONSTANTS[39]+ (STATES[4]/CONSTANTS[33])*(1.00000+STATES[14]/CONSTANTS[39]);
ALGEBRAIC[19] =  (( CONSTANTS[42]*(( STATES[15]*STATES[3])/( CONSTANTS[35]*CONSTANTS[34])) -  CONSTANTS[104]*(( STATES[14]*STATES[4])/( CONSTANTS[38]*CONSTANTS[32])))/ALGEBRAIC[5])*((1.00000+ CONSTANTS[105]*ALGEBRAIC[7]*pow(ALGEBRAIC[6]/ALGEBRAIC[5], 3.00000))/(1.00000+ ALGEBRAIC[7]*pow(ALGEBRAIC[6]/ALGEBRAIC[5], 4.00000)));
ALGEBRAIC[10] = 1.00000+STATES[6]/CONSTANTS[55]+STATES[20]/CONSTANTS[57]+STATES[13]/CONSTANTS[56]+( STATES[6]*STATES[20])/( CONSTANTS[55]*CONSTANTS[57])+( STATES[6]*STATES[20]*STATES[13])/( CONSTANTS[55]*CONSTANTS[57]*CONSTANTS[56])+STATES[7]/CONSTANTS[59]+STATES[19]/CONSTANTS[58]+( STATES[7]*STATES[19])/( CONSTANTS[59]*CONSTANTS[58]);
ALGEBRAIC[20] = ( CONSTANTS[61]*(( STATES[6]*STATES[20]*STATES[13])/( CONSTANTS[55]*CONSTANTS[57]*CONSTANTS[56])) -  CONSTANTS[108]*(( STATES[7]*STATES[19])/( CONSTANTS[59]*CONSTANTS[58])))/ALGEBRAIC[10];
}
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;
SI[14] = 1.0;
SI[15] = 1.0;
SI[16] = 1.0;
SI[17] = 1.0;
SI[18] = 1.0;
SI[19] = 1.0;
SI[20] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}