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 5 entries in the algebraic variable array.
   There are a total of 48 entries in each of the rate and state variable arrays.
   There are a total of 101 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (day).
 * ALGEBRAIC[0] is FAt in component FAt (litre_per_day).
 * CONSTANTS[0] is FA1 in component FAt (litre_per_day).
 * CONSTANTS[1] is tA in component FAt (day).
 * CONSTANTS[2] is FA2 in component FAt (litre_per_day).
 * ALGEBRAIC[1] is FBt in component FBt (litre_per_day).
 * CONSTANTS[3] is FB1 in component FBt (litre_per_day).
 * CONSTANTS[4] is tB in component FBt (day).
 * CONSTANTS[5] is FB2 in component FBt (litre_per_day).
 * ALGEBRAIC[2] is F0t in component F0t (litre_per_day).
 * STATES[0] is c15 in component c15 (micromole_per_litre).
 * CONSTANTS[6] is p0 in component model_parameters (litre_per_day).
 * CONSTANTS[7] is V2 in component model_parameters (litre).
 * STATES[1] is c015 in component c015 (micromole_per_litre).
 * CONSTANTS[8] is p16 in component model_parameters (per_day).
 * STATES[2] is c16 in component c16 (micromole_per_litre).
 * CONSTANTS[9] is p18 in component model_parameters (per_day).
 * STATES[3] is c17 in component c17 (micromole_per_litre).
 * CONSTANTS[10] is p15 in component model_parameters (per_day_per_micromole_litre).
 * STATES[4] is c19 in component c19 (micromole_per_litre).
 * CONSTANTS[11] is p17 in component model_parameters (per_day).
 * CONSTANTS[12] is p19 in component model_parameters (per_day_per_micromole_litre).
 * CONSTANTS[13] is p20 in component model_parameters (micromole_per_litre).
 * CONSTANTS[14] is p29 in component model_parameters (per_day).
 * CONSTANTS[15] is pAA15 in component model_parameters (dimensionless).
 * ALGEBRAIC[3] is pp in component pp (dimensionless).
 * STATES[5] is c016 in component c016 (micromole_per_litre).
 * CONSTANTS[16] is pAA16 in component model_parameters (dimensionless).
 * STATES[6] is c017 in component c017 (micromole_per_litre).
 * CONSTANTS[17] is p22 in component model_parameters (per_day).
 * STATES[7] is c18 in component c18 (micromole_per_litre).
 * CONSTANTS[18] is p21 in component model_parameters (per_day).
 * CONSTANTS[19] is p23 in component model_parameters (per_day).
 * CONSTANTS[20] is p1 in component model_parameters (per_day).
 * CONSTANTS[21] is s1 in component c17 (dimensionless).
 * STATES[8] is c1 in component c1 (micromole_per_litre).
 * CONSTANTS[22] is p2 in component model_parameters (per_day).
 * CONSTANTS[23] is s2 in component c17 (dimensionless).
 * STATES[9] is c2 in component c2 (micromole_per_litre).
 * CONSTANTS[24] is p3 in component model_parameters (per_day).
 * CONSTANTS[25] is s3 in component c17 (dimensionless).
 * STATES[10] is c3 in component c3 (micromole_per_litre).
 * CONSTANTS[26] is p4 in component model_parameters (per_day).
 * CONSTANTS[27] is s4 in component c17 (dimensionless).
 * STATES[11] is c4 in component c4 (micromole_per_litre).
 * CONSTANTS[28] is p5 in component model_parameters (per_day).
 * CONSTANTS[29] is s5 in component c17 (dimensionless).
 * STATES[12] is c5 in component c5 (micromole_per_litre).
 * CONSTANTS[30] is p6 in component model_parameters (per_day).
 * CONSTANTS[31] is s6 in component c17 (dimensionless).
 * STATES[13] is c6 in component c6 (micromole_per_litre).
 * CONSTANTS[32] is p7 in component model_parameters (per_day).
 * CONSTANTS[33] is s7 in component c17 (dimensionless).
 * STATES[14] is c7 in component c7 (micromole_per_litre).
 * CONSTANTS[34] is p8 in component model_parameters (per_day).
 * CONSTANTS[35] is s8 in component c17 (dimensionless).
 * STATES[15] is c8 in component c8 (micromole_per_litre).
 * CONSTANTS[36] is p9 in component model_parameters (per_day).
 * CONSTANTS[37] is s9 in component c17 (dimensionless).
 * STATES[16] is c9 in component c9 (micromole_per_litre).
 * CONSTANTS[38] is p14 in component model_parameters (per_day).
 * CONSTANTS[39] is s14 in component c17 (dimensionless).
 * STATES[17] is c14 in component c14 (micromole_per_litre).
 * CONSTANTS[40] is p25 in component model_parameters (per_day_per_micromole_litre).
 * CONSTANTS[41] is p26 in component model_parameters (per_day).
 * CONSTANTS[42] is p28 in component model_parameters (per_day).
 * CONSTANTS[43] is pAA17 in component model_parameters (dimensionless).
 * STATES[18] is c018 in component c018 (micromole_per_litre).
 * CONSTANTS[44] is pAA18 in component model_parameters (dimensionless).
 * STATES[19] is c019 in component c019 (micromole_per_litre).
 * ALGEBRAIC[4] is gt in component gt (dimensionless).
 * CONSTANTS[45] is p11 in component model_parameters (per_day).
 * CONSTANTS[46] is s11 in component c19 (dimensionless).
 * STATES[20] is c11 in component c11 (micromole_per_litre).
 * CONSTANTS[47] is p12 in component model_parameters (per_day).
 * CONSTANTS[48] is s12 in component c19 (dimensionless).
 * STATES[21] is c12 in component c12 (micromole_per_litre).
 * CONSTANTS[49] is p13 in component model_parameters (per_day).
 * CONSTANTS[50] is s13 in component c19 (dimensionless).
 * STATES[22] is c13 in component c13 (micromole_per_litre).
 * CONSTANTS[51] is p10 in component model_parameters (per_day).
 * CONSTANTS[52] is s10 in component c19 (dimensionless).
 * STATES[23] is c10 in component c10 (micromole_per_litre).
 * STATES[24] is c20 in component c20 (micromole_per_litre).
 * STATES[25] is c020 in component c020 (micromole_per_litre).
 * STATES[26] is c21 in component c21 (micromole_per_litre).
 * STATES[27] is c021 in component c021 (micromole_per_litre).
 * STATES[28] is c22 in component c22 (micromole_per_litre).
 * STATES[29] is c022 in component c022 (micromole_per_litre).
 * STATES[30] is c23 in component c23 (micromole_per_litre).
 * STATES[31] is c023 in component c023 (micromole_per_litre).
 * CONSTANTS[53] is p31 in component model_parameters (per_day).
 * STATES[32] is c24 in component c24 (micromole_per_litre).
 * STATES[33] is c024 in component c024 (micromole_per_litre).
 * CONSTANTS[54] is p30 in component model_parameters (dimensionless).
 * CONSTANTS[55] is p32 in component model_parameters (per_day).
 * CONSTANTS[56] is p24 in component model_parameters (per_day).
 * CONSTANTS[57] is p33 in component pp (micromole_per_litre_per_day).
 * CONSTANTS[58] is t1 in component pp (day).
 * CONSTANTS[59] is p27 in component model_parameters (dimensionless).
 * STATES[34] is c01 in component c01 (micromole_per_litre).
 * CONSTANTS[60] is pAA1 in component model_parameters (dimensionless).
 * STATES[35] is c02 in component c02 (micromole_per_litre).
 * CONSTANTS[61] is pAA2 in component model_parameters (dimensionless).
 * STATES[36] is c03 in component c03 (micromole_per_litre).
 * CONSTANTS[62] is pAA3 in component model_parameters (dimensionless).
 * STATES[37] is c04 in component c04 (micromole_per_litre).
 * CONSTANTS[63] is pAA4 in component model_parameters (dimensionless).
 * STATES[38] is c05 in component c05 (micromole_per_litre).
 * CONSTANTS[64] is pAA5 in component model_parameters (dimensionless).
 * STATES[39] is c06 in component c06 (micromole_per_litre).
 * CONSTANTS[65] is pAA6 in component model_parameters (dimensionless).
 * STATES[40] is c07 in component c07 (micromole_per_litre).
 * CONSTANTS[66] is pAA7 in component model_parameters (dimensionless).
 * STATES[41] is c08 in component c08 (micromole_per_litre).
 * CONSTANTS[67] is pAA8 in component model_parameters (dimensionless).
 * STATES[42] is c09 in component c09 (micromole_per_litre).
 * CONSTANTS[68] is pAA9 in component model_parameters (dimensionless).
 * STATES[43] is c010 in component c010 (micromole_per_litre).
 * CONSTANTS[69] is pAA10 in component model_parameters (dimensionless).
 * STATES[44] is c011 in component c011 (micromole_per_litre).
 * CONSTANTS[70] is pAA11 in component model_parameters (dimensionless).
 * STATES[45] is c012 in component c012 (micromole_per_litre).
 * CONSTANTS[71] is pAA12 in component model_parameters (dimensionless).
 * STATES[46] is c013 in component c013 (micromole_per_litre).
 * CONSTANTS[72] is pAA13 in component model_parameters (dimensionless).
 * STATES[47] is c014 in component c014 (micromole_per_litre).
 * CONSTANTS[73] is pAA14 in component model_parameters (dimensionless).
 * CONSTANTS[74] is V1 in component model_parameters (litre).
 * CONSTANTS[75] is CA1 in component c01 (micromole_per_litre).
 * CONSTANTS[76] is CB1 in component model_parameters (micromole_per_litre).
 * CONSTANTS[77] is CA2 in component c02 (micromole_per_litre).
 * CONSTANTS[78] is CA3 in component c03 (micromole_per_litre).
 * CONSTANTS[79] is CA4 in component c04 (micromole_per_litre).
 * CONSTANTS[80] is CA5 in component c05 (micromole_per_litre).
 * CONSTANTS[81] is CA6 in component c06 (micromole_per_litre).
 * CONSTANTS[82] is CA7 in component c07 (micromole_per_litre).
 * CONSTANTS[83] is CA8 in component c08 (micromole_per_litre).
 * CONSTANTS[84] is CA9 in component c09 (micromole_per_litre).
 * CONSTANTS[85] is CA10 in component c010 (micromole_per_litre).
 * CONSTANTS[86] is CA11 in component c011 (micromole_per_litre).
 * CONSTANTS[87] is CA12 in component c012 (micromole_per_litre).
 * CONSTANTS[88] is CA13 in component c013 (micromole_per_litre).
 * CONSTANTS[89] is CA14 in component c014 (micromole_per_litre).
 * CONSTANTS[90] is CA15 in component c015 (micromole_per_litre).
 * CONSTANTS[91] is CB15 in component model_parameters (micromole_per_litre).
 * CONSTANTS[92] is CA16 in component c016 (micromole_per_litre).
 * CONSTANTS[93] is CA17 in component c017 (micromole_per_litre).
 * CONSTANTS[94] is CA18 in component c018 (micromole_per_litre).
 * CONSTANTS[95] is CA19 in component c019 (micromole_per_litre).
 * CONSTANTS[96] is CA20 in component c020 (micromole_per_litre).
 * CONSTANTS[97] is CA21 in component c021 (micromole_per_litre).
 * CONSTANTS[98] is CA22 in component c022 (micromole_per_litre).
 * CONSTANTS[99] is CA23 in component c023 (micromole_per_litre).
 * CONSTANTS[100] is CA24 in component c024 (micromole_per_litre).
 * RATES[0] is d/dt c15 in component c15 (micromole_per_litre).
 * RATES[2] is d/dt c16 in component c16 (micromole_per_litre).
 * RATES[3] is d/dt c17 in component c17 (micromole_per_litre).
 * RATES[7] is d/dt c18 in component c18 (micromole_per_litre).
 * RATES[4] is d/dt c19 in component c19 (micromole_per_litre).
 * RATES[24] is d/dt c20 in component c20 (micromole_per_litre).
 * RATES[26] is d/dt c21 in component c21 (micromole_per_litre).
 * RATES[28] is d/dt c22 in component c22 (micromole_per_litre).
 * RATES[30] is d/dt c23 in component c23 (micromole_per_litre).
 * RATES[32] is d/dt c24 in component c24 (micromole_per_litre).
 * RATES[8] is d/dt c1 in component c1 (micromole_per_litre).
 * RATES[9] is d/dt c2 in component c2 (micromole_per_litre).
 * RATES[10] is d/dt c3 in component c3 (micromole_per_litre).
 * RATES[11] is d/dt c4 in component c4 (micromole_per_litre).
 * RATES[12] is d/dt c5 in component c5 (micromole_per_litre).
 * RATES[13] is d/dt c6 in component c6 (micromole_per_litre).
 * RATES[14] is d/dt c7 in component c7 (micromole_per_litre).
 * RATES[15] is d/dt c8 in component c8 (micromole_per_litre).
 * RATES[16] is d/dt c9 in component c9 (micromole_per_litre).
 * RATES[23] is d/dt c10 in component c10 (micromole_per_litre).
 * RATES[20] is d/dt c11 in component c11 (micromole_per_litre).
 * RATES[21] is d/dt c12 in component c12 (micromole_per_litre).
 * RATES[22] is d/dt c13 in component c13 (micromole_per_litre).
 * RATES[17] is d/dt c14 in component c14 (micromole_per_litre).
 * RATES[34] is d/dt c01 in component c01 (micromole_per_litre).
 * RATES[35] is d/dt c02 in component c02 (micromole_per_litre).
 * RATES[36] is d/dt c03 in component c03 (micromole_per_litre).
 * RATES[37] is d/dt c04 in component c04 (micromole_per_litre).
 * RATES[38] is d/dt c05 in component c05 (micromole_per_litre).
 * RATES[39] is d/dt c06 in component c06 (micromole_per_litre).
 * RATES[40] is d/dt c07 in component c07 (micromole_per_litre).
 * RATES[41] is d/dt c08 in component c08 (micromole_per_litre).
 * RATES[42] is d/dt c09 in component c09 (micromole_per_litre).
 * RATES[43] is d/dt c010 in component c010 (micromole_per_litre).
 * RATES[44] is d/dt c011 in component c011 (micromole_per_litre).
 * RATES[45] is d/dt c012 in component c012 (micromole_per_litre).
 * RATES[46] is d/dt c013 in component c013 (micromole_per_litre).
 * RATES[47] is d/dt c014 in component c014 (micromole_per_litre).
 * RATES[1] is d/dt c015 in component c015 (micromole_per_litre).
 * RATES[5] is d/dt c016 in component c016 (micromole_per_litre).
 * RATES[6] is d/dt c017 in component c017 (micromole_per_litre).
 * RATES[18] is d/dt c018 in component c018 (micromole_per_litre).
 * RATES[19] is d/dt c019 in component c019 (micromole_per_litre).
 * RATES[25] is d/dt c020 in component c020 (micromole_per_litre).
 * RATES[27] is d/dt c021 in component c021 (micromole_per_litre).
 * RATES[29] is d/dt c022 in component c022 (micromole_per_litre).
 * RATES[31] is d/dt c023 in component c023 (micromole_per_litre).
 * RATES[33] is d/dt c024 in component c024 (micromole_per_litre).
 * There are a total of 4 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 3.6;
CONSTANTS[1] = 1;
CONSTANTS[2] = 1.2;
CONSTANTS[3] = 0;
CONSTANTS[4] = 3;
CONSTANTS[5] = 0.024;
STATES[0] = 284;
CONSTANTS[6] = 1191.072;
CONSTANTS[7] = 0.9;
STATES[1] = 284;
CONSTANTS[8] = 3.593;
STATES[2] = 168;
CONSTANTS[9] = 56.73;
STATES[3] = 265;
CONSTANTS[10] = 0.0009;
STATES[4] = 41;
CONSTANTS[11] = 50.08;
CONSTANTS[12] = 225.76;
CONSTANTS[13] = 5;
CONSTANTS[14] = 2.8119;
CONSTANTS[15] = 0.31;
STATES[5] = 168;
CONSTANTS[16] = 0.25;
STATES[6] = 265;
CONSTANTS[17] = 0.0205;
STATES[7] = 687;
CONSTANTS[18] = 0.0033;
CONSTANTS[19] = 40.68;
CONSTANTS[20] = 1.816;
CONSTANTS[21] = 1;
STATES[8] = 2258;
CONSTANTS[22] = 16.29;
CONSTANTS[23] = 3;
STATES[9] = 940;
CONSTANTS[24] = 100;
CONSTANTS[25] = 4;
STATES[10] = 2604;
CONSTANTS[26] = 1.147;
CONSTANTS[27] = 1;
STATES[11] = 987;
CONSTANTS[28] = 15.99;
CONSTANTS[29] = 2;
STATES[12] = 464;
CONSTANTS[30] = 4.148;
CONSTANTS[31] = 1;
STATES[13] = 1300;
CONSTANTS[32] = 3.723;
CONSTANTS[33] = 1;
STATES[14] = 500;
CONSTANTS[34] = 1.573;
CONSTANTS[35] = 1;
STATES[15] = 1825;
CONSTANTS[36] = 1.135;
CONSTANTS[37] = 1;
STATES[16] = 2215;
CONSTANTS[38] = 9.326;
CONSTANTS[39] = 1;
STATES[17] = 859;
CONSTANTS[40] = 0;
CONSTANTS[41] = 0;
CONSTANTS[42] = 38.05;
CONSTANTS[43] = 1.27;
STATES[18] = 687;
CONSTANTS[44] = 0.06;
STATES[19] = 41;
CONSTANTS[45] = 34.53;
CONSTANTS[46] = 1;
STATES[20] = 259;
CONSTANTS[47] = 10.8;
CONSTANTS[48] = 1;
STATES[21] = 861;
CONSTANTS[49] = 10.76;
CONSTANTS[50] = 1;
STATES[22] = 1957;
CONSTANTS[51] = 0.192;
CONSTANTS[52] = 1;
STATES[23] = 327;
STATES[24] = 0;
STATES[25] = 0;
STATES[26] = 0;
STATES[27] = 0;
STATES[28] = 0;
STATES[29] = 0;
STATES[30] = 8159;
STATES[31] = 0;
CONSTANTS[53] = 1.31;
STATES[32] = 8159;
STATES[33] = 0;
CONSTANTS[54] = 0;
CONSTANTS[55] = 478.7;
CONSTANTS[56] = 0.5474;
CONSTANTS[57] = 0;
CONSTANTS[58] = 1;
CONSTANTS[59] = 0.6804;
STATES[34] = 2258;
CONSTANTS[60] = 1.4;
STATES[35] = 940;
CONSTANTS[61] = 0.18;
STATES[36] = 2604;
CONSTANTS[62] = 0;
STATES[37] = 987;
CONSTANTS[63] = 1.19;
STATES[38] = 464;
CONSTANTS[64] = 0.45;
STATES[39] = 1300;
CONSTANTS[65] = 1.05;
STATES[40] = 500;
CONSTANTS[66] = 0.62;
STATES[41] = 1825;
CONSTANTS[67] = 1.15;
STATES[42] = 2215;
CONSTANTS[68] = 1;
STATES[43] = 327;
CONSTANTS[69] = 0.15;
STATES[44] = 259;
CONSTANTS[70] = 0.77;
STATES[45] = 861;
CONSTANTS[71] = 1.55;
STATES[46] = 1957;
CONSTANTS[72] = 0.78;
STATES[47] = 859;
CONSTANTS[73] = 1.81;
CONSTANTS[74] = 0.6;
CONSTANTS[75] = 2258;
CONSTANTS[76] = 0;
CONSTANTS[77] = 940;
CONSTANTS[78] = 2604;
CONSTANTS[79] = 987;
CONSTANTS[80] = 464;
CONSTANTS[81] = 1300;
CONSTANTS[82] = 500;
CONSTANTS[83] = 1825;
CONSTANTS[84] = 2215;
CONSTANTS[85] = 327;
CONSTANTS[86] = 259;
CONSTANTS[87] = 861;
CONSTANTS[88] = 1957;
CONSTANTS[89] = 859;
CONSTANTS[90] = 284;
CONSTANTS[91] = 1500;
CONSTANTS[92] = 168;
CONSTANTS[93] = 265;
CONSTANTS[94] = 687;
CONSTANTS[95] = 41;
CONSTANTS[96] = 0;
CONSTANTS[97] = 0;
CONSTANTS[98] = 0;
CONSTANTS[99] = 0;
CONSTANTS[100] = 0;
RATES[0] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[7] = 0.1001;
RATES[4] = 0.1001;
RATES[24] = 0.1001;
RATES[26] = 0.1001;
RATES[28] = 0.1001;
RATES[30] = 0.1001;
RATES[32] = 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[23] = 0.1001;
RATES[20] = 0.1001;
RATES[21] = 0.1001;
RATES[22] = 0.1001;
RATES[17] = 0.1001;
RATES[34] = 0.1001;
RATES[35] = 0.1001;
RATES[36] = 0.1001;
RATES[37] = 0.1001;
RATES[38] = 0.1001;
RATES[39] = 0.1001;
RATES[40] = 0.1001;
RATES[41] = 0.1001;
RATES[42] = 0.1001;
RATES[43] = 0.1001;
RATES[44] = 0.1001;
RATES[45] = 0.1001;
RATES[46] = 0.1001;
RATES[47] = 0.1001;
RATES[1] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[18] = 0.1001;
RATES[19] = 0.1001;
RATES[25] = 0.1001;
RATES[27] = 0.1001;
RATES[29] = 0.1001;
RATES[31] = 0.1001;
RATES[33] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[1] - STATES[0])+ CONSTANTS[8]*STATES[2]+ CONSTANTS[11]*STATES[3]+ CONSTANTS[15]*ALGEBRAIC[3]) -  ( CONSTANTS[10]*STATES[4]+CONSTANTS[9]+( CONSTANTS[12]*STATES[4])/(CONSTANTS[13]+STATES[0])+CONSTANTS[14])*STATES[0];
resid[1] = RATES[2] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[5] - STATES[2])+ CONSTANTS[10]*STATES[0]*STATES[4]) -  CONSTANTS[8]*STATES[2])+ CONSTANTS[16]*ALGEBRAIC[3];
resid[2] = RATES[3] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[6] - STATES[3])+ CONSTANTS[20]*CONSTANTS[21]*STATES[8]+ CONSTANTS[22]*CONSTANTS[23]*STATES[9]+ CONSTANTS[24]*CONSTANTS[25]*STATES[10]+ CONSTANTS[26]*CONSTANTS[27]*STATES[11]+ CONSTANTS[28]*CONSTANTS[29]*STATES[12]+ CONSTANTS[30]*CONSTANTS[31]*STATES[13]+ CONSTANTS[32]*CONSTANTS[33]*STATES[14]+ CONSTANTS[34]*CONSTANTS[35]*STATES[15]+ CONSTANTS[36]*CONSTANTS[37]*STATES[16]+ CONSTANTS[38]*CONSTANTS[39]*STATES[17]+ CONSTANTS[9]*STATES[0]+ CONSTANTS[41]*STATES[7]) -  (CONSTANTS[11]+ CONSTANTS[40]*STATES[4]+CONSTANTS[42])*STATES[3])+ CONSTANTS[43]*ALGEBRAIC[3];
resid[3] = RATES[7] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[18] - STATES[7])+ CONSTANTS[40]*STATES[3]*STATES[4]) -  CONSTANTS[41]*STATES[7])+ CONSTANTS[44]*ALGEBRAIC[3];
resid[4] = RATES[4] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[19] - STATES[4])+ CONSTANTS[45]*CONSTANTS[46]*STATES[20]+ CONSTANTS[47]*CONSTANTS[48]*STATES[21]+ CONSTANTS[49]*STATES[22]*CONSTANTS[50]+ CONSTANTS[51]*STATES[23]*CONSTANTS[52]+ CONSTANTS[19]*(1.00000 - ALGEBRAIC[4])*STATES[3]+ CONSTANTS[8]*STATES[2]+ CONSTANTS[41]*STATES[7]) -  (( CONSTANTS[12]*STATES[0])/(CONSTANTS[13]+STATES[0])+ CONSTANTS[10]*STATES[0]+ CONSTANTS[40]*STATES[3])*STATES[4];
resid[5] = RATES[24] -  (CONSTANTS[6]/CONSTANTS[7])*(STATES[25] - STATES[24])+ (( CONSTANTS[12]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4];
resid[6] = RATES[26] -  (CONSTANTS[6]/CONSTANTS[7])*(STATES[27] - STATES[26]) -  CONSTANTS[18]*STATES[26];
resid[7] = RATES[28] -  (CONSTANTS[6]/CONSTANTS[7])*(STATES[29] - STATES[28]) -  CONSTANTS[17]*STATES[28];
resid[8] = RATES[30] - (( (CONSTANTS[6]/CONSTANTS[7])*(STATES[31] - STATES[30])+ CONSTANTS[18]*STATES[26]+ CONSTANTS[17]*STATES[28]) -  CONSTANTS[19]*STATES[30])+ (( CONSTANTS[53]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4];
resid[9] = RATES[32] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[33] - STATES[32])+ 2.00000*CONSTANTS[54]*CONSTANTS[19]*STATES[30]+ (( CONSTANTS[55]*STATES[0])/(CONSTANTS[13]+STATES[0]))*STATES[4]) -  CONSTANTS[56]*STATES[32];
resid[10] = RATES[8] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[34] - STATES[8]) -  CONSTANTS[20]*STATES[8])+ CONSTANTS[60]*ALGEBRAIC[3];
resid[11] = RATES[9] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[35] - STATES[9]) -  CONSTANTS[22]*STATES[9])+ CONSTANTS[61]*ALGEBRAIC[3];
resid[12] = RATES[10] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[36] - STATES[10]) -  CONSTANTS[24]*STATES[10])+ CONSTANTS[62]*ALGEBRAIC[3];
resid[13] = RATES[11] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[37] - STATES[11]) -  CONSTANTS[26]*STATES[11])+ CONSTANTS[63]*ALGEBRAIC[3];
resid[14] = RATES[12] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[38] - STATES[12]) -  CONSTANTS[28]*STATES[12])+ CONSTANTS[64]*ALGEBRAIC[3];
resid[15] = RATES[13] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[39] - STATES[13]) -  CONSTANTS[30]*STATES[13])+ CONSTANTS[65]*ALGEBRAIC[3];
resid[16] = RATES[14] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[40] - STATES[14]) -  CONSTANTS[32]*STATES[14])+ CONSTANTS[66]*ALGEBRAIC[3];
resid[17] = RATES[15] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[41] - STATES[15]) -  CONSTANTS[34]*STATES[15])+ CONSTANTS[67]*ALGEBRAIC[3];
resid[18] = RATES[16] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[42] - STATES[16]) -  CONSTANTS[36]*STATES[16])+ CONSTANTS[68]*ALGEBRAIC[3];
resid[19] = RATES[23] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[43] - STATES[23]) -  CONSTANTS[51]*STATES[23])+ CONSTANTS[69]*ALGEBRAIC[3];
resid[20] = RATES[20] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[44] - STATES[20]) -  CONSTANTS[45]*STATES[20])+ CONSTANTS[70]*ALGEBRAIC[3];
resid[21] = RATES[21] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[45] - STATES[21]) -  CONSTANTS[47]*STATES[21])+ CONSTANTS[71]*ALGEBRAIC[3];
resid[22] = RATES[22] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[46] - STATES[22]) -  CONSTANTS[49]*STATES[22])+ CONSTANTS[72]*ALGEBRAIC[3];
resid[23] = RATES[17] - ( (CONSTANTS[6]/CONSTANTS[7])*(STATES[47] - STATES[17]) -  CONSTANTS[38]*STATES[17])+ CONSTANTS[73]*ALGEBRAIC[3];
resid[24] = RATES[34] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[75]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[34]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[34] - STATES[8]);
resid[25] = RATES[35] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[77]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[35]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[35] - STATES[9]);
resid[26] = RATES[36] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[78]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[36]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[36] - STATES[10]);
resid[27] = RATES[37] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[79]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[37]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[37] - STATES[11]);
resid[28] = RATES[38] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[80]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[38]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[38] - STATES[12]);
resid[29] = RATES[39] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[81]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[39]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[39] - STATES[13]);
resid[30] = RATES[40] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[82]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[40]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[40] - STATES[14]);
resid[31] = RATES[41] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[83]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[41]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[41] - STATES[15]);
resid[32] = RATES[42] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[84]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[42]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[42] - STATES[16]);
resid[33] = RATES[43] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[85]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[43]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[43] - STATES[23]);
resid[34] = RATES[44] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[86]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[44]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[44] - STATES[20]);
resid[35] = RATES[45] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[87]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[45]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[45] - STATES[21]);
resid[36] = RATES[46] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[88]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[46]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[46] - STATES[22]);
resid[37] = RATES[47] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[89]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[47]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[47] - STATES[17]);
resid[38] = RATES[1] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[90]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[91]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[1]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[1] - STATES[0]);
resid[39] = RATES[5] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[92]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[5]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[5] - STATES[2]);
resid[40] = RATES[6] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[93]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[6]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[6] - STATES[3]);
resid[41] = RATES[18] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[94]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[18]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[18] - STATES[7]);
resid[42] = RATES[19] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[95]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[19]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[19] - STATES[4]);
resid[43] = RATES[25] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[96]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[25]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[25] - STATES[24]);
resid[44] = RATES[27] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[97]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[27]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[27] - STATES[26]);
resid[45] = RATES[29] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[98]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[29]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[29] - STATES[28]);
resid[46] = RATES[31] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[99]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[31]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[31] - STATES[30]);
resid[47] = RATES[33] - (( (ALGEBRAIC[0]/CONSTANTS[74])*CONSTANTS[100]+ (ALGEBRAIC[1]/CONSTANTS[74])*CONSTANTS[76]) -  (ALGEBRAIC[2]/CONSTANTS[74])*STATES[33]) -  (CONSTANTS[6]/CONSTANTS[74])*(STATES[33] - STATES[32]);
}
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] = (CONDVAR[0]>=0.00000 ? CONSTANTS[2] : CONSTANTS[0]);
ALGEBRAIC[1] = (CONDVAR[1]>=0.00000 ? CONSTANTS[5] : CONSTANTS[3]);
ALGEBRAIC[2] = ALGEBRAIC[0]+ALGEBRAIC[1];
ALGEBRAIC[3] = (CONDVAR[2]<0.00000 ? CONSTANTS[57] : 0.00000);
ALGEBRAIC[4] = (CONDVAR[3]<0.00000 ? 0.00000 : CONSTANTS[59]);
}
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;
SI[21] = 1.0;
SI[22] = 1.0;
SI[23] = 1.0;
SI[24] = 1.0;
SI[25] = 1.0;
SI[26] = 1.0;
SI[27] = 1.0;
SI[28] = 1.0;
SI[29] = 1.0;
SI[30] = 1.0;
SI[31] = 1.0;
SI[32] = 1.0;
SI[33] = 1.0;
SI[34] = 1.0;
SI[35] = 1.0;
SI[36] = 1.0;
SI[37] = 1.0;
SI[38] = 1.0;
SI[39] = 1.0;
SI[40] = 1.0;
SI[41] = 1.0;
SI[42] = 1.0;
SI[43] = 1.0;
SI[44] = 1.0;
SI[45] = 1.0;
SI[46] = 1.0;
SI[47] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = VOI - CONSTANTS[1];
CONDVAR[1] = VOI - CONSTANTS[4];
CONDVAR[2] = VOI - CONSTANTS[58];
CONDVAR[3] = VOI - 3.00000;
}