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 86 entries in the algebraic variable array.
   There are a total of 44 entries in each of the rate and state variable arrays.
   There are a total of 96 entries in the constant variable array.
 */
/*
 * VOI is time in component Circ_Environment (ms).
 * CONSTANTS[0] is HR in component Circ_Environment (ratepm).
 * CONSTANTS[91] is hrf in component Circ_Environment (Hz).
 * ALGEBRAIC[0] is beattime in component LATiming (ms).
 * CONSTANTS[1] is Esys in component LAElastanceFunction (elastance).
 * CONSTANTS[2] is Edia in component LAElastanceFunction (elastance).
 * CONSTANTS[3] is TsK in component LAElastanceFunction (ms).
 * CONSTANTS[92] is Ts in component LAElastanceFunction (ms).
 * ALGEBRAIC[1] is E_LA in component LAElastanceFunction (elastance).
 * ALGEBRAIC[64] is P_PV in component PulmonaryVein (mmHg).
 * ALGEBRAIC[8] is F_LV in component LeftVentricle (flow).
 * CONSTANTS[4] is P_LA_ext in component LeftAtrium (mmHg).
 * STATES[0] is V_LA in component LeftAtrium (mL).
 * CONSTANTS[5] is V_LA_0 in component LeftAtrium (mL).
 * ALGEBRAIC[3] is P_LA in component LeftAtrium (mmHg).
 * ALGEBRAIC[65] is F_LA in component LeftAtrium (flow).
 * CONSTANTS[6] is R_LA in component LeftAtrium (resistance).
 * ALGEBRAIC[2] is conc_X_LA in component LeftAtrium (concentration).
 * ALGEBRAIC[63] is conc_X_PV in component PulmonaryVein (concentration).
 * STATES[1] is sub_X_LA in component LeftAtrium (mL).
 * CONSTANTS[7] is PRint in component LVTiming (ms).
 * ALGEBRAIC[4] is beattime in component LVTiming (ms).
 * CONSTANTS[8] is Esys in component LVElastanceFunction (elastance).
 * CONSTANTS[9] is Edia in component LVElastanceFunction (elastance).
 * CONSTANTS[10] is TsK in component LVElastanceFunction (second).
 * CONSTANTS[93] is Ts in component LVElastanceFunction (second).
 * ALGEBRAIC[5] is E_LV in component LVElastanceFunction (elastance).
 * ALGEBRAIC[67] is F_AO in component Aorta (flow).
 * ALGEBRAIC[13] is F_CO in component CoronaryCirc (flow).
 * CONSTANTS[11] is pLVPext in component LeftVentricle (mmHg).
 * STATES[2] is V_LV in component LeftVentricle (mL).
 * CONSTANTS[12] is V_LV_0 in component LeftVentricle (mL).
 * ALGEBRAIC[7] is P_LV in component LeftVentricle (mmHg).
 * CONSTANTS[13] is R_LV in component LeftVentricle (resistance).
 * ALGEBRAIC[6] is conc_X_LV in component LeftVentricle (concentration).
 * STATES[3] is sub_X_LV in component LeftVentricle (mL).
 * ALGEBRAIC[66] is fiber_stress in component LeftVentricle (mmHg).
 * ALGEBRAIC[17] is F_CR in component CarotidCirc (flow).
 * ALGEBRAIC[20] is F_AR in component Arteries (flow).
 * CONSTANTS[14] is C_AO in component Aorta (capacitance).
 * CONSTANTS[15] is L_AO in component Aorta (inductance).
 * CONSTANTS[16] is R_AO in component Aorta (resistance).
 * CONSTANTS[17] is V_AO_0 in component Aorta (mL).
 * STATES[4] is V_AO in component Aorta (mL).
 * STATES[5] is F_AOalways in component Aorta (flow).
 * ALGEBRAIC[10] is P_AO in component Aorta (mmHg).
 * ALGEBRAIC[9] is conc_X_AO in component Aorta (concentration).
 * STATES[6] is sub_X_AO in component Aorta (mL).
 * ALGEBRAIC[49] is P_RA in component RightAtrium (mmHg).
 * CONSTANTS[18] is R_CO in component CoronaryCirc (resistance).
 * CONSTANTS[19] is R_COV in component CoronaryCirc (resistance).
 * CONSTANTS[20] is V_CO_0 in component CoronaryCirc (mL).
 * CONSTANTS[21] is C_CO in component CoronaryCirc (capacitance).
 * ALGEBRAIC[68] is F_COV in component CoronaryCirc (flow).
 * STATES[7] is V_CO in component CoronaryCirc (mL).
 * ALGEBRAIC[12] is P_CO in component CoronaryCirc (mmHg).
 * ALGEBRAIC[11] is conc_X_CO in component CoronaryCirc (concentration).
 * STATES[8] is sub_X_CO in component CoronaryCirc (mL).
 * ALGEBRAIC[45] is P_VC in component VenaCava (mmHg).
 * CONSTANTS[22] is R_CR in component CarotidCirc (resistance).
 * CONSTANTS[23] is R_CRV in component CarotidCirc (resistance).
 * CONSTANTS[24] is V_CR_0 in component CarotidCirc (mL).
 * CONSTANTS[25] is C_CR in component CarotidCirc (capacitance).
 * ALGEBRAIC[69] is F_CRV in component CarotidCirc (flow).
 * STATES[9] is V_CR in component CarotidCirc (mL).
 * ALGEBRAIC[16] is P_CR in component CarotidCirc (mmHg).
 * ALGEBRAIC[15] is conc_X_CR in component CarotidCirc (concentration).
 * STATES[10] is sub_X_CR in component CarotidCirc (mL).
 * ALGEBRAIC[14] is conc_X_CRtissue in component CarotidCirc (concentration).
 * CONSTANTS[26] is D_CRtissue in component CarotidCirc (flow).
 * CONSTANTS[27] is V_CRtissue in component CarotidCirc (mL).
 * STATES[11] is sub_X_CRtissue in component CarotidCirc (mL).
 * ALGEBRAIC[23] is F_AD in component Adipose (flow).
 * ALGEBRAIC[26] is F_MU in component Muscle (flow).
 * ALGEBRAIC[29] is F_GI in component GutIntestine (flow).
 * ALGEBRAIC[32] is F_LI in component Liver (flow).
 * ALGEBRAIC[35] is F_KI in component Kidney (flow).
 * ALGEBRAIC[41] is F_OT in component OtherTissue (flow).
 * ALGEBRAIC[38] is F_SK in component Skin (flow).
 * CONSTANTS[28] is R_AR in component Arteries (resistance).
 * CONSTANTS[29] is C_AR in component Arteries (capacitance).
 * CONSTANTS[30] is V_AR_0 in component Arteries (mL).
 * STATES[12] is V_AR in component Arteries (mL).
 * ALGEBRAIC[19] is P_AR in component Arteries (mmHg).
 * ALGEBRAIC[18] is conc_X_AR in component Arteries (concentration).
 * STATES[13] is sub_X_AR in component Arteries (mL).
 * ALGEBRAIC[43] is P_VE in component Veins (mmHg).
 * CONSTANTS[31] is C_AD in component Adipose (capacitance).
 * CONSTANTS[32] is R_AD in component Adipose (resistance).
 * CONSTANTS[33] is R_ADV in component Adipose (resistance).
 * CONSTANTS[34] is V_AD_0 in component Adipose (mL).
 * STATES[14] is V_AD in component Adipose (mL).
 * ALGEBRAIC[70] is F_ADV in component Adipose (flow).
 * ALGEBRAIC[22] is P_AD in component Adipose (mmHg).
 * ALGEBRAIC[21] is conc_X_AD in component Adipose (concentration).
 * STATES[15] is sub_X_AD in component Adipose (mL).
 * CONSTANTS[35] is C_MU in component Muscle (capacitance).
 * CONSTANTS[36] is R_MU in component Muscle (resistance).
 * CONSTANTS[37] is R_MUV in component Muscle (resistance).
 * CONSTANTS[38] is V_MU_0 in component Muscle (mL).
 * STATES[16] is V_MU in component Muscle (mL).
 * ALGEBRAIC[71] is F_MUV in component Muscle (flow).
 * ALGEBRAIC[25] is P_MU in component Muscle (mmHg).
 * ALGEBRAIC[24] is conc_X_MU in component Muscle (concentration).
 * STATES[17] is sub_X_MU in component Muscle (mL).
 * ALGEBRAIC[31] is P_LI in component Liver (mmHg).
 * CONSTANTS[39] is C_GI in component GutIntestine (capacitance).
 * CONSTANTS[40] is R_GI in component GutIntestine (resistance).
 * CONSTANTS[41] is R_GIV in component GutIntestine (resistance).
 * CONSTANTS[42] is V_GI_0 in component GutIntestine (mL).
 * STATES[18] is V_GI in component GutIntestine (mL).
 * ALGEBRAIC[72] is F_GIV in component GutIntestine (flow).
 * ALGEBRAIC[28] is P_GI in component GutIntestine (mmHg).
 * ALGEBRAIC[27] is conc_X_GI in component GutIntestine (concentration).
 * STATES[19] is sub_X_GI in component GutIntestine (mL).
 * CONSTANTS[43] is C_LI in component Liver (capacitance).
 * CONSTANTS[44] is R_LI in component Liver (resistance).
 * CONSTANTS[45] is R_LIV in component Liver (resistance).
 * CONSTANTS[46] is V_LI_0 in component Liver (mL).
 * STATES[20] is V_LI in component Liver (mL).
 * ALGEBRAIC[73] is F_LIV in component Liver (flow).
 * ALGEBRAIC[30] is conc_X_LI in component Liver (concentration).
 * STATES[21] is sub_X_LI in component Liver (mL).
 * CONSTANTS[47] is metabolism in component Liver (flow).
 * CONSTANTS[48] is C_KI in component Kidney (capacitance).
 * CONSTANTS[49] is R_KI in component Kidney (resistance).
 * CONSTANTS[50] is V_KI_0 in component Kidney (mL).
 * CONSTANTS[51] is R_KIV in component Kidney (resistance).
 * STATES[22] is V_KI in component Kidney (mL).
 * ALGEBRAIC[74] is F_KIV in component Kidney (flow).
 * ALGEBRAIC[34] is P_KI in component Kidney (mmHg).
 * ALGEBRAIC[33] is conc_X_KI in component Kidney (concentration).
 * STATES[23] is sub_X_KI in component Kidney (mL).
 * CONSTANTS[52] is C_SK in component Skin (capacitance).
 * CONSTANTS[53] is R_SK in component Skin (resistance).
 * CONSTANTS[54] is R_SKV in component Skin (resistance).
 * CONSTANTS[55] is V_SK_0 in component Skin (mL).
 * STATES[24] is V_SK in component Skin (mL).
 * ALGEBRAIC[75] is F_SKV in component Skin (flow).
 * ALGEBRAIC[37] is P_SK in component Skin (mmHg).
 * ALGEBRAIC[36] is conc_X_SK in component Skin (concentration).
 * STATES[25] is sub_X_SK in component Skin (mL).
 * CONSTANTS[56] is C_OT in component OtherTissue (capacitance).
 * CONSTANTS[57] is R_OT in component OtherTissue (resistance).
 * CONSTANTS[58] is R_OTV in component OtherTissue (resistance).
 * CONSTANTS[59] is V_OT_0 in component OtherTissue (mL).
 * STATES[26] is V_OT in component OtherTissue (mL).
 * ALGEBRAIC[76] is F_OTV in component OtherTissue (flow).
 * ALGEBRAIC[40] is P_OT in component OtherTissue (mmHg).
 * ALGEBRAIC[39] is conc_X_OT in component OtherTissue (concentration).
 * STATES[27] is sub_X_OT in component OtherTissue (mL).
 * CONSTANTS[60] is R_VEV in component Veins (resistance).
 * STATES[28] is V_VE in component Veins (mL).
 * CONSTANTS[61] is C_VE in component Veins (capacitance).
 * CONSTANTS[62] is V_VE_0 in component Veins (mL).
 * ALGEBRAIC[77] is F_VE in component Veins (flow).
 * ALGEBRAIC[78] is F_VEV in component Veins (flow).
 * ALGEBRAIC[42] is conc_X_VE in component Veins (concentration).
 * STATES[29] is sub_X_VE in component Veins (mL).
 * CONSTANTS[63] is R_VCV in component VenaCava (resistance).
 * STATES[30] is V_VC in component VenaCava (mL).
 * CONSTANTS[64] is V_VC_0 in component VenaCava (mL).
 * CONSTANTS[65] is C_VC in component VenaCava (capacitance).
 * ALGEBRAIC[79] is F_VC in component VenaCava (flow).
 * ALGEBRAIC[80] is F_VCV in component VenaCava (flow).
 * ALGEBRAIC[44] is conc_X_VC in component VenaCava (concentration).
 * STATES[31] is sub_X_VC in component VenaCava (mL).
 * ALGEBRAIC[46] is beattime in component RATiming (ms).
 * CONSTANTS[66] is Esys in component RAElastanceFunction (elastance).
 * CONSTANTS[67] is Edia in component RAElastanceFunction (elastance).
 * CONSTANTS[68] is TsK in component RAElastanceFunction (second).
 * CONSTANTS[94] is Ts in component RAElastanceFunction (second).
 * ALGEBRAIC[47] is E_RA in component RAElastanceFunction (elastance).
 * ALGEBRAIC[54] is F_RV in component RightVentricle (flow).
 * CONSTANTS[69] is P_RA_ext in component RightAtrium (mmHg).
 * STATES[32] is V_RA in component RightAtrium (mL).
 * CONSTANTS[70] is V_RA_0 in component RightAtrium (mL).
 * ALGEBRAIC[81] is F_RA in component RightAtrium (flow).
 * ALGEBRAIC[48] is conc_X_RA in component RightAtrium (concentration).
 * STATES[33] is sub_X_RA in component RightAtrium (mL).
 * CONSTANTS[71] is PRinterval in component RVTiming (second).
 * ALGEBRAIC[50] is beattime in component RVTiming (ms).
 * CONSTANTS[72] is Esys in component RVElastanceFunction (elastance).
 * CONSTANTS[73] is Edia in component RVElastanceFunction (elastance).
 * CONSTANTS[74] is TsK in component RVElastanceFunction (second).
 * CONSTANTS[95] is Ts in component RVElastanceFunction (second).
 * ALGEBRAIC[51] is E_RV in component RVElastanceFunction (elastance).
 * ALGEBRAIC[82] is F_PA in component PulmonaryArtery (flow).
 * CONSTANTS[75] is P_RV_ext in component RightVentricle (mmHg).
 * STATES[34] is V_RV in component RightVentricle (mL).
 * CONSTANTS[76] is V_RV_0 in component RightVentricle (mL).
 * ALGEBRAIC[53] is P_RV in component RightVentricle (mmHg).
 * CONSTANTS[77] is R_RV in component RightVentricle (resistance).
 * ALGEBRAIC[52] is conc_X_RV in component RightVentricle (concentration).
 * STATES[35] is sub_X_RV in component RightVentricle (mL).
 * ALGEBRAIC[59] is F_Pa in component PulmonaryArteries (flow).
 * CONSTANTS[78] is R_PA in component PulmonaryArtery (resistance).
 * CONSTANTS[79] is C_PA in component PulmonaryArtery (capacitance).
 * CONSTANTS[80] is V_PA_0 in component PulmonaryArtery (mL).
 * STATES[36] is V_PA in component PulmonaryArtery (mL).
 * ALGEBRAIC[56] is P_PA in component PulmonaryArtery (mmHg).
 * ALGEBRAIC[55] is conc_X_PA in component PulmonaryArtery (concentration).
 * STATES[37] is sub_X_PA in component PulmonaryArtery (mL).
 * ALGEBRAIC[62] is F_PC in component PulmonaryCapillaries (flow).
 * ALGEBRAIC[83] is F_SH in component Shunt (flow).
 * STATES[38] is V_Pa in component PulmonaryArteries (mL).
 * CONSTANTS[81] is C_Pa in component PulmonaryArteries (capacitance).
 * CONSTANTS[82] is R_Pa in component PulmonaryArteries (resistance).
 * CONSTANTS[83] is V_Pa_0 in component PulmonaryArteries (mL).
 * ALGEBRAIC[58] is P_Pa in component PulmonaryArteries (mmHg).
 * ALGEBRAIC[57] is conc_X_Pa in component PulmonaryArteries (concentration).
 * STATES[39] is sub_X_Pa in component PulmonaryArteries (mL).
 * CONSTANTS[84] is R_SH in component Shunt (resistance).
 * ALGEBRAIC[61] is P_PC in component PulmonaryCapillaries (mmHg).
 * CONSTANTS[85] is C_PC in component PulmonaryCapillaries (capacitance).
 * CONSTANTS[86] is R_PC in component PulmonaryCapillaries (resistance).
 * CONSTANTS[87] is R_PCV in component PulmonaryCapillaries (resistance).
 * CONSTANTS[88] is V_PC_0 in component PulmonaryCapillaries (mL).
 * STATES[40] is V_PC in component PulmonaryCapillaries (mL).
 * ALGEBRAIC[84] is F_PCV in component PulmonaryCapillaries (flow).
 * ALGEBRAIC[60] is conc_X_PC in component PulmonaryCapillaries (concentration).
 * STATES[41] is sub_X_PC in component PulmonaryCapillaries (mL).
 * CONSTANTS[89] is C_PV in component PulmonaryVein (capacitance).
 * CONSTANTS[90] is V_PV_0 in component PulmonaryVein (mL).
 * STATES[42] is V_PV in component PulmonaryVein (mL).
 * ALGEBRAIC[85] is F_PV in component PulmonaryVein (flow).
 * STATES[43] is sub_X_PV in component PulmonaryVein (mL).
 * RATES[1] is d/dt sub_X_LA in component LeftAtrium (mL).
 * RATES[0] is d/dt V_LA in component LeftAtrium (mL).
 * RATES[3] is d/dt sub_X_LV in component LeftVentricle (mL).
 * RATES[2] is d/dt V_LV in component LeftVentricle (mL).
 * RATES[6] is d/dt sub_X_AO in component Aorta (mL).
 * RATES[5] is d/dt F_AOalways in component Aorta (flow).
 * RATES[4] is d/dt V_AO in component Aorta (mL).
 * RATES[8] is d/dt sub_X_CO in component CoronaryCirc (mL).
 * RATES[7] is d/dt V_CO in component CoronaryCirc (mL).
 * RATES[11] is d/dt sub_X_CRtissue in component CarotidCirc (mL).
 * RATES[10] is d/dt sub_X_CR in component CarotidCirc (mL).
 * RATES[9] is d/dt V_CR in component CarotidCirc (mL).
 * RATES[13] is d/dt sub_X_AR in component Arteries (mL).
 * RATES[12] is d/dt V_AR in component Arteries (mL).
 * RATES[15] is d/dt sub_X_AD in component Adipose (mL).
 * RATES[14] is d/dt V_AD in component Adipose (mL).
 * RATES[17] is d/dt sub_X_MU in component Muscle (mL).
 * RATES[16] is d/dt V_MU in component Muscle (mL).
 * RATES[19] is d/dt sub_X_GI in component GutIntestine (mL).
 * RATES[18] is d/dt V_GI in component GutIntestine (mL).
 * RATES[21] is d/dt sub_X_LI in component Liver (mL).
 * RATES[20] is d/dt V_LI in component Liver (mL).
 * RATES[23] is d/dt sub_X_KI in component Kidney (mL).
 * RATES[22] is d/dt V_KI in component Kidney (mL).
 * RATES[25] is d/dt sub_X_SK in component Skin (mL).
 * RATES[24] is d/dt V_SK in component Skin (mL).
 * RATES[27] is d/dt sub_X_OT in component OtherTissue (mL).
 * RATES[26] is d/dt V_OT in component OtherTissue (mL).
 * RATES[29] is d/dt sub_X_VE in component Veins (mL).
 * RATES[28] is d/dt V_VE in component Veins (mL).
 * RATES[31] is d/dt sub_X_VC in component VenaCava (mL).
 * RATES[30] is d/dt V_VC in component VenaCava (mL).
 * RATES[33] is d/dt sub_X_RA in component RightAtrium (mL).
 * RATES[32] is d/dt V_RA in component RightAtrium (mL).
 * RATES[35] is d/dt sub_X_RV in component RightVentricle (mL).
 * RATES[34] is d/dt V_RV in component RightVentricle (mL).
 * RATES[37] is d/dt sub_X_PA in component PulmonaryArtery (mL).
 * RATES[36] is d/dt V_PA in component PulmonaryArtery (mL).
 * RATES[39] is d/dt sub_X_Pa in component PulmonaryArteries (mL).
 * RATES[38] is d/dt V_Pa in component PulmonaryArteries (mL).
 * RATES[41] is d/dt sub_X_PC in component PulmonaryCapillaries (mL).
 * RATES[40] is d/dt V_PC in component PulmonaryCapillaries (mL).
 * RATES[43] is d/dt sub_X_PV in component PulmonaryVein (mL).
 * RATES[42] is d/dt V_PV in component PulmonaryVein (mL).
 * There are a total of 21 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 77;
CONSTANTS[1] = 0.145;
CONSTANTS[2] = 0.131;
CONSTANTS[3] = 0.2;
CONSTANTS[4] = 0;
STATES[0] = 144.038898121062;
CONSTANTS[5] = 15;
CONSTANTS[6] = 0.01;
STATES[1] = 0;
CONSTANTS[7] = 0.12;
CONSTANTS[8] = 5.6;
CONSTANTS[9] = 0.19;
CONSTANTS[10] = 0.35;
CONSTANTS[11] = 0;
STATES[2] = 118.75315693072;
CONSTANTS[12] = 30;
CONSTANTS[13] = 0.001;
STATES[3] = 0;
CONSTANTS[14] = 1.2;
CONSTANTS[15] = 5e-5;
CONSTANTS[16] = 0.01;
CONSTANTS[17] = 200;
STATES[4] = 302.714548324312;
STATES[5] = -6898.97886842467;
STATES[6] = 0;
CONSTANTS[18] = 1;
CONSTANTS[19] = 0.2;
CONSTANTS[20] = 10;
CONSTANTS[21] = 0.1;
STATES[7] = 11.4012164759732;
STATES[8] = 0;
CONSTANTS[22] = 5;
CONSTANTS[23] = 0.02;
CONSTANTS[24] = 10;
CONSTANTS[25] = 1;
STATES[9] = 27.2147903053333;
STATES[10] = 0;
CONSTANTS[26] = 1;
CONSTANTS[27] = 1;
STATES[11] = 0;
CONSTANTS[28] = 1.5;
CONSTANTS[29] = 0.5;
CONSTANTS[30] = 370;
STATES[12] = 383.557125288364;
STATES[13] = 0;
CONSTANTS[31] = 1.81;
CONSTANTS[32] = 1;
CONSTANTS[33] = 0.33;
CONSTANTS[34] = 75;
STATES[14] = 111.639088723426;
STATES[15] = 0;
CONSTANTS[35] = 1.81;
CONSTANTS[36] = 1;
CONSTANTS[37] = 0.33;
CONSTANTS[38] = 75;
STATES[16] = 111.639088723426;
STATES[17] = 0;
CONSTANTS[39] = 1.81;
CONSTANTS[40] = 1;
CONSTANTS[41] = 0.33;
CONSTANTS[42] = 75;
STATES[18] = 111.639088723426;
STATES[19] = 0;
CONSTANTS[43] = 1.81;
CONSTANTS[44] = 1;
CONSTANTS[45] = 0.33;
CONSTANTS[46] = 75;
STATES[20] = 111.639088723426;
STATES[21] = 0;
CONSTANTS[47] = 0;
CONSTANTS[48] = 1.81;
CONSTANTS[49] = 1;
CONSTANTS[50] = 75;
CONSTANTS[51] = 0.33;
STATES[22] = 111.639088723426;
STATES[23] = 0;
CONSTANTS[52] = 1.81;
CONSTANTS[53] = 1;
CONSTANTS[54] = 0.33;
CONSTANTS[55] = 75;
STATES[24] = 111.639088723426;
STATES[25] = 0;
CONSTANTS[56] = 1.81;
CONSTANTS[57] = 1;
CONSTANTS[58] = 0.33;
CONSTANTS[59] = 75;
STATES[26] = 111.639088723426;
STATES[27] = 0;
CONSTANTS[60] = 0.0223;
STATES[28] = 833.291684587657;
CONSTANTS[61] = 13.24;
CONSTANTS[62] = 596;
STATES[29] = 5;
CONSTANTS[63] = 0.0267;
STATES[30] = 1849.93788284599;
CONSTANTS[64] = 600;
CONSTANTS[65] = 73.88;
STATES[31] = 0;
CONSTANTS[66] = 0.11;
CONSTANTS[67] = 0.099;
CONSTANTS[68] = 0.2;
CONSTANTS[69] = 0;
STATES[32] = 152.150765432928;
CONSTANTS[70] = 15;
STATES[33] = 0;
CONSTANTS[71] = 0.12;
CONSTANTS[72] = 0.67;
CONSTANTS[73] = 0.104;
CONSTANTS[74] = 0.35;
CONSTANTS[75] = 0;
STATES[34] = 154.337916417774;
CONSTANTS[76] = 25;
CONSTANTS[77] = 0.002;
STATES[35] = 0;
CONSTANTS[78] = 0.0227;
CONSTANTS[79] = 2.222;
CONSTANTS[80] = 50;
STATES[36] = 112.059036699839;
STATES[37] = 0;
STATES[38] = 66.9910537203609;
CONSTANTS[81] = 1.481;
CONSTANTS[82] = 0.053;
CONSTANTS[83] = 30;
STATES[39] = 0;
CONSTANTS[84] = 2;
CONSTANTS[85] = 1.778;
CONSTANTS[86] = 0.0379;
CONSTANTS[87] = 0.0379;
CONSTANTS[88] = 53;
STATES[40] = 91.7784213531534;
STATES[41] = 0;
CONSTANTS[89] = 5;
CONSTANTS[90] = 150;
STATES[42] = 239.25897115602;
STATES[43] = 0;
CONSTANTS[91] = CONSTANTS[0]/0.0600000;
CONSTANTS[92] =  CONSTANTS[3]* pow((CONSTANTS[91]/1000.00), 1.0 / 2);
CONSTANTS[93] =  CONSTANTS[10]* pow((CONSTANTS[91]/1000.00), 1.0 / 2);
CONSTANTS[94] =  CONSTANTS[68]* pow((CONSTANTS[91]/1000.00), 1.0 / 2);
CONSTANTS[95] =  CONSTANTS[74]* pow((CONSTANTS[91]/1000.00), 1.0 / 2);
RATES[1] = 0.1001;
RATES[0] = 0.1001;
RATES[3] = 0.1001;
RATES[2] = 0.1001;
RATES[6] = 0.1001;
RATES[5] = 0.1001;
RATES[4] = 0.1001;
RATES[8] = 0.1001;
RATES[7] = 0.1001;
RATES[11] = 0.1001;
RATES[10] = 0.1001;
RATES[9] = 0.1001;
RATES[13] = 0.1001;
RATES[12] = 0.1001;
RATES[15] = 0.1001;
RATES[14] = 0.1001;
RATES[17] = 0.1001;
RATES[16] = 0.1001;
RATES[19] = 0.1001;
RATES[18] = 0.1001;
RATES[21] = 0.1001;
RATES[20] = 0.1001;
RATES[23] = 0.1001;
RATES[22] = 0.1001;
RATES[25] = 0.1001;
RATES[24] = 0.1001;
RATES[27] = 0.1001;
RATES[26] = 0.1001;
RATES[29] = 0.1001;
RATES[28] = 0.1001;
RATES[31] = 0.1001;
RATES[30] = 0.1001;
RATES[33] = 0.1001;
RATES[32] = 0.1001;
RATES[35] = 0.1001;
RATES[34] = 0.1001;
RATES[37] = 0.1001;
RATES[36] = 0.1001;
RATES[39] = 0.1001;
RATES[38] = 0.1001;
RATES[41] = 0.1001;
RATES[40] = 0.1001;
RATES[43] = 0.1001;
RATES[42] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[1] - ( ALGEBRAIC[63]*ALGEBRAIC[65] -  ALGEBRAIC[2]*ALGEBRAIC[8])/1000.00;
resid[1] = RATES[0] - (ALGEBRAIC[65] - ALGEBRAIC[8])/1000.00;
resid[2] = RATES[3] - ( ALGEBRAIC[2]*ALGEBRAIC[8] -  ALGEBRAIC[6]*(ALGEBRAIC[67]+ALGEBRAIC[13]))/1000.00;
resid[3] = RATES[2] - ((ALGEBRAIC[8] - ALGEBRAIC[67]) - ALGEBRAIC[13])/1000.00;
resid[4] = RATES[6] - ( ALGEBRAIC[6]*ALGEBRAIC[67] -  ALGEBRAIC[9]*(ALGEBRAIC[17]+ALGEBRAIC[20]))/1000.00;
resid[5] = RATES[5] - ( (1.00000/CONSTANTS[15])*(ALGEBRAIC[7] - ALGEBRAIC[10]) -  (CONSTANTS[16]/CONSTANTS[15])*STATES[5])/1000.00;
resid[6] = RATES[4] - ((ALGEBRAIC[67] - ALGEBRAIC[20]) - ALGEBRAIC[17])/1000.00;
resid[7] = RATES[8] - ( ALGEBRAIC[6]*ALGEBRAIC[13] -  ALGEBRAIC[11]*ALGEBRAIC[68])/1000.00;
resid[8] = RATES[7] - (ALGEBRAIC[13] - ALGEBRAIC[68])/1000.00;
resid[9] = RATES[11] - ( (ALGEBRAIC[15] - ALGEBRAIC[14])*CONSTANTS[26])/1000.00;
resid[10] = RATES[10] - (( ALGEBRAIC[9]*ALGEBRAIC[17] -  ALGEBRAIC[15]*ALGEBRAIC[69]) -  (ALGEBRAIC[15] - ALGEBRAIC[14])*CONSTANTS[26])/1000.00;
resid[11] = RATES[9] - (ALGEBRAIC[17] - ALGEBRAIC[69])/1000.00;
resid[12] = RATES[13] - ( ALGEBRAIC[9]*ALGEBRAIC[20] -  ALGEBRAIC[18]*(ALGEBRAIC[38]+ALGEBRAIC[23]+ALGEBRAIC[26]+ALGEBRAIC[29]+ALGEBRAIC[32]+ALGEBRAIC[35]+ALGEBRAIC[41]))/1000.00;
resid[13] = RATES[12] - (((((((ALGEBRAIC[20] - ALGEBRAIC[23]) - ALGEBRAIC[26]) - ALGEBRAIC[29]) - ALGEBRAIC[32]) - ALGEBRAIC[35]) - ALGEBRAIC[41]) - ALGEBRAIC[38])/1000.00;
resid[14] = RATES[15]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[23] -  ALGEBRAIC[21]*ALGEBRAIC[70])/1000.00;
resid[15] = RATES[14]*1000.00 - (ALGEBRAIC[23] - ALGEBRAIC[70])/1000.00;
resid[16] = RATES[17]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[26] -  ALGEBRAIC[24]*ALGEBRAIC[71])/1000.00;
resid[17] = RATES[16]*1000.00 - (ALGEBRAIC[26] - ALGEBRAIC[71])/1000.00;
resid[18] = RATES[19]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[29] -  ALGEBRAIC[27]*ALGEBRAIC[72])/1000.00;
resid[19] = RATES[18]*1000.00 - (ALGEBRAIC[29] - ALGEBRAIC[72])/1000.00;
resid[20] = RATES[21]*1000.00 - ((( ALGEBRAIC[27]*ALGEBRAIC[72]+ ALGEBRAIC[18]*ALGEBRAIC[32]) -  ALGEBRAIC[30]*ALGEBRAIC[73])+ ALGEBRAIC[30]*CONSTANTS[47])/1000.00;
resid[21] = RATES[20]*1000.00 - ((ALGEBRAIC[72]+ALGEBRAIC[32]) - ALGEBRAIC[73])/1000.00;
resid[22] = RATES[23]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[35] -  ALGEBRAIC[33]*ALGEBRAIC[74])/1000.00;
resid[23] = RATES[22]*1000.00 - (ALGEBRAIC[35] - ALGEBRAIC[74])/1000.00;
resid[24] = RATES[25]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[38] -  ALGEBRAIC[36]*ALGEBRAIC[75])/1000.00;
resid[25] = RATES[24]*1000.00 - (ALGEBRAIC[38] - ALGEBRAIC[75])/1000.00;
resid[26] = RATES[27]*1000.00 - ( ALGEBRAIC[18]*ALGEBRAIC[41] -  ALGEBRAIC[39]*ALGEBRAIC[76])/1000.00;
resid[27] = RATES[26]*1000.00 - (ALGEBRAIC[41] - ALGEBRAIC[76])/1000.00;
resid[28] = RATES[29] - (( ALGEBRAIC[36]*ALGEBRAIC[75]+ ALGEBRAIC[21]*ALGEBRAIC[70]+ ALGEBRAIC[24]*ALGEBRAIC[71]+ ALGEBRAIC[30]*ALGEBRAIC[73]+ ALGEBRAIC[33]*ALGEBRAIC[74]+ ALGEBRAIC[39]*ALGEBRAIC[76]) -  ALGEBRAIC[42]*ALGEBRAIC[78])/1000.00;
resid[29] = RATES[28] - (ALGEBRAIC[77] - ALGEBRAIC[78])/1000.00;
resid[30] = RATES[31] - (( ALGEBRAIC[42]*ALGEBRAIC[78]+ ALGEBRAIC[15]*ALGEBRAIC[69]) -  ALGEBRAIC[44]*ALGEBRAIC[80])/1000.00;
resid[31] = RATES[30] - (ALGEBRAIC[79] - ALGEBRAIC[80])/1000.00;
resid[32] = RATES[33] - (( ALGEBRAIC[44]*ALGEBRAIC[80]+ ALGEBRAIC[11]*ALGEBRAIC[68]) -  ALGEBRAIC[48]*ALGEBRAIC[54])/1000.00;
resid[33] = RATES[32] - (ALGEBRAIC[81] - ALGEBRAIC[54])/1000.00;
resid[34] = RATES[35] - ( ALGEBRAIC[48]*ALGEBRAIC[54] -  ALGEBRAIC[52]*ALGEBRAIC[82])/1000.00;
resid[35] = RATES[34] - (ALGEBRAIC[54] - ALGEBRAIC[82])/1000.00;
resid[36] = RATES[37] - ( ALGEBRAIC[52]*ALGEBRAIC[82] -  ALGEBRAIC[55]*ALGEBRAIC[59])/1000.00;
resid[37] = RATES[36] - (ALGEBRAIC[82] - ALGEBRAIC[59])/1000.00;
resid[38] = RATES[39] - ( ALGEBRAIC[55]*ALGEBRAIC[59] -  ALGEBRAIC[57]*(ALGEBRAIC[62]+ALGEBRAIC[83]))/1000.00;
resid[39] = RATES[38] - ((ALGEBRAIC[59] - ALGEBRAIC[62]) - ALGEBRAIC[83])/1000.00;
resid[40] = RATES[41] - ( ALGEBRAIC[57]*ALGEBRAIC[62] -  ALGEBRAIC[60]*ALGEBRAIC[84])/1000.00;
resid[41] = RATES[40] - (ALGEBRAIC[62] - ALGEBRAIC[84])/1000.00;
resid[42] = RATES[43] - (( ALGEBRAIC[60]*ALGEBRAIC[84]+ ALGEBRAIC[57]*ALGEBRAIC[83]) -  ALGEBRAIC[63]*ALGEBRAIC[65])/1000.00;
resid[43] = RATES[42] - (ALGEBRAIC[85] - ALGEBRAIC[65])/1000.00;
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[66] =  ALGEBRAIC[7]*(1.00000+( 3.00000*STATES[2])/200.000);
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[2] = STATES[1]/STATES[0];
ALGEBRAIC[6] = STATES[3]/STATES[2];
ALGEBRAIC[4] = (VOI -  floor(VOI/CONSTANTS[91])*CONSTANTS[91])/1000.00 - CONSTANTS[7];
ALGEBRAIC[5] = (CONDVAR[4]>=0.00000&&CONDVAR[5]<=0.00000 ? CONSTANTS[9]+( (CONSTANTS[8] - CONSTANTS[9])*(1.00000 - cos((  3.14159265358979*(ALGEBRAIC[4]*0.00100000))/CONSTANTS[93])))/2.00000 : CONDVAR[6]<0.00000&&CONDVAR[7]>=0.00000 ? CONSTANTS[9]+( (CONSTANTS[8] - CONSTANTS[9])*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[4]*0.00100000 - CONSTANTS[93]))/CONSTANTS[93])))/2.00000 : CONSTANTS[9]);
ALGEBRAIC[7] =  ALGEBRAIC[5]*(STATES[2] - CONSTANTS[12])+CONSTANTS[11];
ALGEBRAIC[0] = (VOI -  floor(VOI/CONSTANTS[91])*CONSTANTS[91])/1000.00;
ALGEBRAIC[1] = (CONDVAR[0]>=0.00000&&CONDVAR[1]<=0.00000 ? CONSTANTS[2]+( (CONSTANTS[1] - CONSTANTS[2])*(1.00000 - cos((  3.14159265358979*ALGEBRAIC[0])/CONSTANTS[92])))/2.00000 : CONDVAR[2]<0.00000&&CONDVAR[3]>=0.00000 ? CONSTANTS[2]+( (CONSTANTS[1] - CONSTANTS[2])*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[0] - CONSTANTS[92]))/CONSTANTS[92])))/2.00000 : CONSTANTS[2]);
ALGEBRAIC[3] =  ALGEBRAIC[1]*(STATES[0] - CONSTANTS[5])+CONSTANTS[4];
ALGEBRAIC[8] = (CONDVAR[8]>0.00000 ? (ALGEBRAIC[3] - ALGEBRAIC[7])/CONSTANTS[13] : 0.00000);
ALGEBRAIC[9] = STATES[6]/STATES[4];
ALGEBRAIC[10] =  (1.00000/CONSTANTS[14])*(STATES[4] - CONSTANTS[17]);
ALGEBRAIC[11] = STATES[8]/STATES[7];
ALGEBRAIC[12] =  (1.00000/CONSTANTS[21])*(STATES[7] - CONSTANTS[20]);
ALGEBRAIC[13] = (CONDVAR[10]>0.00000 ? (ALGEBRAIC[7] - ALGEBRAIC[12])/CONSTANTS[18] : 0.00000);
ALGEBRAIC[14] = STATES[11]/CONSTANTS[27];
ALGEBRAIC[15] = STATES[10]/STATES[9];
ALGEBRAIC[16] =  (1.00000/CONSTANTS[25])*(STATES[9] - CONSTANTS[24]);
ALGEBRAIC[17] = (ALGEBRAIC[10] - ALGEBRAIC[16])/CONSTANTS[22];
ALGEBRAIC[18] = STATES[13]/STATES[12];
ALGEBRAIC[19] =  (1.00000/CONSTANTS[29])*(STATES[12] - CONSTANTS[30]);
ALGEBRAIC[20] = (ALGEBRAIC[10] - ALGEBRAIC[19])/CONSTANTS[28];
ALGEBRAIC[21] = STATES[15]/STATES[14];
ALGEBRAIC[22] =  (1.00000/CONSTANTS[31])*(STATES[14] - CONSTANTS[34]);
ALGEBRAIC[23] = (ALGEBRAIC[19] - ALGEBRAIC[22])/CONSTANTS[32];
ALGEBRAIC[24] = STATES[17]/STATES[16];
ALGEBRAIC[25] =  (1.00000/CONSTANTS[35])*(STATES[16] - CONSTANTS[38]);
ALGEBRAIC[26] = (ALGEBRAIC[19] - ALGEBRAIC[25])/CONSTANTS[36];
ALGEBRAIC[27] = STATES[19]/STATES[18];
ALGEBRAIC[28] =  (1.00000/CONSTANTS[39])*(STATES[18] - CONSTANTS[42]);
ALGEBRAIC[29] = (ALGEBRAIC[19] - ALGEBRAIC[28])/CONSTANTS[40];
ALGEBRAIC[30] = STATES[21]/STATES[20];
ALGEBRAIC[31] =  (1.00000/CONSTANTS[43])*(STATES[20] - CONSTANTS[46]);
ALGEBRAIC[32] = (ALGEBRAIC[19] - ALGEBRAIC[31])/CONSTANTS[44];
ALGEBRAIC[33] = STATES[23]/STATES[22];
ALGEBRAIC[34] =  (1.00000/CONSTANTS[48])*(STATES[22] - CONSTANTS[50]);
ALGEBRAIC[35] = (ALGEBRAIC[19] - ALGEBRAIC[34])/CONSTANTS[49];
ALGEBRAIC[36] = STATES[25]/STATES[24];
ALGEBRAIC[37] =  (1.00000/CONSTANTS[52])*(STATES[24] - CONSTANTS[55]);
ALGEBRAIC[38] = (ALGEBRAIC[19] - ALGEBRAIC[37])/CONSTANTS[53];
ALGEBRAIC[39] = STATES[27]/STATES[26];
ALGEBRAIC[40] =  (1.00000/CONSTANTS[56])*(STATES[26] - CONSTANTS[59]);
ALGEBRAIC[41] = (ALGEBRAIC[19] - ALGEBRAIC[40])/CONSTANTS[57];
ALGEBRAIC[42] = STATES[29]/STATES[28];
ALGEBRAIC[44] = STATES[31]/STATES[30];
ALGEBRAIC[48] = STATES[33]/STATES[32];
ALGEBRAIC[52] = STATES[35]/STATES[34];
ALGEBRAIC[46] = (VOI -  floor(VOI/CONSTANTS[91])*CONSTANTS[91])/1000.00;
ALGEBRAIC[47] = (CONDVAR[11]>=0.00000&&CONDVAR[12]<=0.00000 ? CONSTANTS[67]+( (CONSTANTS[66] - CONSTANTS[67])*(1.00000 - cos((  3.14159265358979*(ALGEBRAIC[46]*0.00100000))/CONSTANTS[94])))/2.00000 : CONDVAR[13]<0.00000&&CONDVAR[14]>=0.00000 ? CONSTANTS[67]+( (CONSTANTS[66] - CONSTANTS[67])*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[46]*0.00100000 - CONSTANTS[94]))/CONSTANTS[94])))/2.00000 : CONSTANTS[67]);
ALGEBRAIC[49] =  ALGEBRAIC[47]*(STATES[32] - CONSTANTS[70])+CONSTANTS[69];
ALGEBRAIC[50] = (VOI -  floor(VOI/CONSTANTS[91])*CONSTANTS[91])/1000.00 - CONSTANTS[71];
ALGEBRAIC[51] = (CONDVAR[15]>=0.00000&&CONDVAR[16]<=0.00000 ? CONSTANTS[73]+( (CONSTANTS[72] - CONSTANTS[73])*(1.00000 - cos((  3.14159265358979*(ALGEBRAIC[50]*0.00100000))/CONSTANTS[95])))/2.00000 : CONDVAR[17]<0.00000&&CONDVAR[18]>=0.00000 ? CONSTANTS[73]+( (CONSTANTS[72] - CONSTANTS[73])*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[50]*0.00100000 - CONSTANTS[95]))/CONSTANTS[95])))/2.00000 : CONSTANTS[73]);
ALGEBRAIC[53] =  ALGEBRAIC[51]*(STATES[34] - CONSTANTS[76])+CONSTANTS[75];
ALGEBRAIC[54] = (CONDVAR[19]>0.00000 ? (ALGEBRAIC[49] - ALGEBRAIC[53])/CONSTANTS[77] : 0.00000);
ALGEBRAIC[55] = STATES[37]/STATES[36];
ALGEBRAIC[57] = STATES[39]/STATES[38];
ALGEBRAIC[56] =  (1.00000/CONSTANTS[79])*(STATES[36] - CONSTANTS[80]);
ALGEBRAIC[58] =  (1.00000/CONSTANTS[81])*(STATES[38] - CONSTANTS[83]);
ALGEBRAIC[59] = (ALGEBRAIC[56] - ALGEBRAIC[58])/CONSTANTS[82];
ALGEBRAIC[60] = STATES[41]/STATES[40];
ALGEBRAIC[61] =  (1.00000/CONSTANTS[85])*(STATES[40] - CONSTANTS[88]);
ALGEBRAIC[62] = (ALGEBRAIC[58] - ALGEBRAIC[61])/CONSTANTS[86];
ALGEBRAIC[63] = STATES[43]/STATES[42];
ALGEBRAIC[64] =  (1.00000/CONSTANTS[89])*(STATES[42] - CONSTANTS[90]);
ALGEBRAIC[65] = (ALGEBRAIC[64] - ALGEBRAIC[3])/CONSTANTS[6];
ALGEBRAIC[67] = (CONDVAR[9]>0.00000 ? STATES[5] : 0.00000);
ALGEBRAIC[68] = (ALGEBRAIC[12] - ALGEBRAIC[49])/CONSTANTS[19];
ALGEBRAIC[45] =  (1.00000/CONSTANTS[65])*(STATES[30] - CONSTANTS[64]);
ALGEBRAIC[69] = (ALGEBRAIC[16] - ALGEBRAIC[45])/CONSTANTS[23];
ALGEBRAIC[43] =  (1.00000/CONSTANTS[61])*(STATES[28] - CONSTANTS[62]);
ALGEBRAIC[70] = (ALGEBRAIC[22] - ALGEBRAIC[43])/CONSTANTS[33];
ALGEBRAIC[71] = (ALGEBRAIC[25] - ALGEBRAIC[43])/CONSTANTS[37];
ALGEBRAIC[72] = (ALGEBRAIC[28] - ALGEBRAIC[31])/CONSTANTS[41];
ALGEBRAIC[73] = (ALGEBRAIC[31] - ALGEBRAIC[43])/CONSTANTS[45];
ALGEBRAIC[74] = (ALGEBRAIC[34] - ALGEBRAIC[43])/CONSTANTS[51];
ALGEBRAIC[75] = (ALGEBRAIC[37] - ALGEBRAIC[43])/CONSTANTS[54];
ALGEBRAIC[76] = (ALGEBRAIC[40] - ALGEBRAIC[43])/CONSTANTS[58];
ALGEBRAIC[77] = ALGEBRAIC[75]+ALGEBRAIC[70]+ALGEBRAIC[71]+ALGEBRAIC[73]+ALGEBRAIC[74]+ALGEBRAIC[76];
ALGEBRAIC[78] = (ALGEBRAIC[43] - ALGEBRAIC[45])/CONSTANTS[60];
ALGEBRAIC[79] = ALGEBRAIC[69]+ALGEBRAIC[78];
ALGEBRAIC[80] = (ALGEBRAIC[45] - ALGEBRAIC[49])/CONSTANTS[63];
ALGEBRAIC[81] = ALGEBRAIC[80]+ALGEBRAIC[68];
ALGEBRAIC[82] = (CONDVAR[20]>0.00000 ? (ALGEBRAIC[53] - ALGEBRAIC[56])/CONSTANTS[78] : 0.00000);
ALGEBRAIC[83] = (ALGEBRAIC[58] - ALGEBRAIC[61])/CONSTANTS[84];
ALGEBRAIC[84] = (ALGEBRAIC[61] - ALGEBRAIC[64])/CONSTANTS[87];
ALGEBRAIC[85] = ALGEBRAIC[84]+ALGEBRAIC[83];
}
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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = ALGEBRAIC[0] - 0.00000;
CONDVAR[1] = ALGEBRAIC[0] - CONSTANTS[92];
CONDVAR[2] = ALGEBRAIC[0] -  1.50000*CONSTANTS[92];
CONDVAR[3] = ALGEBRAIC[0] - CONSTANTS[92];
CONDVAR[4] = ALGEBRAIC[4]*0.00100000 - 0.00000;
CONDVAR[5] = ALGEBRAIC[4]*0.00100000 - CONSTANTS[93];
CONDVAR[6] = ALGEBRAIC[4]*0.00100000 -  1.50000*CONSTANTS[93];
CONDVAR[7] = ALGEBRAIC[4]*0.00100000 - CONSTANTS[93];
CONDVAR[8] = ALGEBRAIC[3] - ALGEBRAIC[7];
CONDVAR[9] = ALGEBRAIC[7] - ALGEBRAIC[10];
CONDVAR[10] = ALGEBRAIC[7] - ALGEBRAIC[12];
CONDVAR[11] = ALGEBRAIC[46]*0.00100000 - 0.00000;
CONDVAR[12] = ALGEBRAIC[46]*0.00100000 - CONSTANTS[94];
CONDVAR[13] = ALGEBRAIC[46]*0.00100000 -  1.50000*CONSTANTS[94];
CONDVAR[14] = ALGEBRAIC[46]*0.00100000 - CONSTANTS[94];
CONDVAR[15] = ALGEBRAIC[50]*0.00100000 - 0.00000;
CONDVAR[16] = ALGEBRAIC[50]*0.00100000 - CONSTANTS[95];
CONDVAR[17] = ALGEBRAIC[50]*0.00100000 -  1.50000*CONSTANTS[95];
CONDVAR[18] = ALGEBRAIC[50]*0.00100000 - CONSTANTS[95];
CONDVAR[19] = ALGEBRAIC[49] - ALGEBRAIC[53];
CONDVAR[20] = ALGEBRAIC[53] - ALGEBRAIC[56];
}