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 93 entries in the algebraic variable array.
There are a total of 38 entries in each of the rate and state variable arrays.
There are a total of 21 entries in the constant variable array.
*/
/*
* VOI is time in component environment (second).
* STATES[0] is NatP in component NatP (molecules).
* CONSTANTS[17] is v1 in component v1 (flux).
* ALGEBRAIC[0] is v2 in component v2 (flux).
* ALGEBRAIC[1] is v3 in component v3 (flux).
* STATES[1] is MisP in component MisP (molecules).
* ALGEBRAIC[3] is v5 in component v5 (flux).
* ALGEBRAIC[21] is v23 in component v23 (flux).
* ALGEBRAIC[2] is v4 in component v4 (flux).
* ALGEBRAIC[37] is v39 in component v39 (flux).
* ALGEBRAIC[38] is v40 in component v40 (flux).
* ALGEBRAIC[47] is v49 in component v49 (flux).
* ALGEBRAIC[48] is v50 in component v50 (flux).
* ALGEBRAIC[49] is v51 in component v51 (flux).
* ALGEBRAIC[50] is v52 in component v52 (flux).
* ALGEBRAIC[51] is v53 in component v53 (flux).
* ALGEBRAIC[52] is v54 in component v54 (flux).
* ALGEBRAIC[53] is v55 in component v55 (flux).
* ALGEBRAIC[54] is v56 in component v56 (flux).
* STATES[2] is Ub in component Ub (molecules).
* ALGEBRAIC[14] is v16 in component v16 (flux).
* ALGEBRAIC[15] is v17 in component v17 (flux).
* ALGEBRAIC[16] is v18 in component v18 (flux).
* ALGEBRAIC[17] is v19 in component v19 (flux).
* ALGEBRAIC[18] is v20 in component v20 (flux).
* ALGEBRAIC[19] is v21 in component v21 (flux).
* ALGEBRAIC[20] is v22 in component v22 (flux).
* ALGEBRAIC[27] is v29 in component v29 (flux).
* ALGEBRAIC[28] is v30 in component v30 (flux).
* ALGEBRAIC[29] is v31 in component v31 (flux).
* ALGEBRAIC[30] is v32 in component v32 (flux).
* ALGEBRAIC[31] is v33 in component v33 (flux).
* ALGEBRAIC[32] is v34 in component v34 (flux).
* ALGEBRAIC[33] is v35 in component v35 (flux).
* ALGEBRAIC[34] is v36 in component v36 (flux).
* ALGEBRAIC[35] is v37 in component v37 (flux).
* ALGEBRAIC[36] is v38 in component v38 (flux).
* ALGEBRAIC[4] is v6 in component v6 (flux).
* STATES[3] is E1 in component E1 (molecules).
* ALGEBRAIC[5] is v7 in component v7 (flux).
* STATES[4] is E2 in component E2 (molecules).
* ALGEBRAIC[6] is v8 in component v8 (flux).
* ALGEBRAIC[7] is v9 in component v9 (flux).
* ALGEBRAIC[8] is v10 in component v10 (flux).
* ALGEBRAIC[9] is v11 in component v11 (flux).
* ALGEBRAIC[10] is v12 in component v12 (flux).
* ALGEBRAIC[11] is v13 in component v13 (flux).
* ALGEBRAIC[12] is v14 in component v14 (flux).
* ALGEBRAIC[13] is v15 in component v15 (flux).
* STATES[5] is E3 in component E3 (molecules).
* STATES[6] is DUB in component DUB (molecules).
* STATES[7] is Proteasome in component Proteasome (molecules).
* ALGEBRAIC[22] is v24 in component v24 (flux).
* ALGEBRAIC[23] is v25 in component v25 (flux).
* ALGEBRAIC[24] is v26 in component v26 (flux).
* ALGEBRAIC[25] is v27 in component v27 (flux).
* ALGEBRAIC[26] is v28 in component v28 (flux).
* ALGEBRAIC[92] is v94 in component v94 (flux).
* STATES[8] is ROS in component ROS (molecules).
* STATES[9] is E1_Ub in component E1_Ub (molecules).
* STATES[10] is E2_Ub in component E2_Ub (molecules).
* STATES[11] is E3_MisP in component E3_MisP (molecules).
* STATES[12] is MisP_Ub in component MisP_Ub (molecules).
* ALGEBRAIC[39] is v41 in component v41 (flux).
* ALGEBRAIC[55] is v57 in component v57 (flux).
* ALGEBRAIC[63] is v65 in component v65 (flux).
* ALGEBRAIC[64] is v66 in component v66 (flux).
* ALGEBRAIC[65] is v67 in component v67 (flux).
* ALGEBRAIC[66] is v68 in component v68 (flux).
* ALGEBRAIC[67] is v69 in component v69 (flux).
* ALGEBRAIC[68] is v70 in component v70 (flux).
* ALGEBRAIC[69] is v71 in component v71 (flux).
* STATES[13] is MisP_Ub2 in component MisP_Ub2 (molecules).
* ALGEBRAIC[40] is v42 in component v42 (flux).
* ALGEBRAIC[56] is v58 in component v58 (flux).
* ALGEBRAIC[70] is v72 in component v72 (flux).
* ALGEBRAIC[71] is v73 in component v73 (flux).
* ALGEBRAIC[72] is v74 in component v74 (flux).
* ALGEBRAIC[73] is v75 in component v75 (flux).
* ALGEBRAIC[74] is v76 in component v76 (flux).
* ALGEBRAIC[75] is v77 in component v77 (flux).
* STATES[14] is MisP_Ub3 in component MisP_Ub3 (molecules).
* ALGEBRAIC[41] is v43 in component v43 (flux).
* ALGEBRAIC[57] is v59 in component v59 (flux).
* ALGEBRAIC[76] is v78 in component v78 (flux).
* ALGEBRAIC[77] is v79 in component v79 (flux).
* ALGEBRAIC[78] is v80 in component v80 (flux).
* ALGEBRAIC[79] is v81 in component v81 (flux).
* ALGEBRAIC[80] is v82 in component v82 (flux).
* STATES[15] is MisP_Ub4 in component MisP_Ub4 (molecules).
* ALGEBRAIC[42] is v44 in component v44 (flux).
* ALGEBRAIC[58] is v60 in component v60 (flux).
* ALGEBRAIC[81] is v83 in component v83 (flux).
* ALGEBRAIC[82] is v84 in component v84 (flux).
* ALGEBRAIC[83] is v85 in component v85 (flux).
* ALGEBRAIC[84] is v86 in component v86 (flux).
* STATES[16] is MisP_Ub5 in component MisP_Ub5 (molecules).
* ALGEBRAIC[43] is v45 in component v45 (flux).
* ALGEBRAIC[59] is v61 in component v61 (flux).
* ALGEBRAIC[85] is v87 in component v87 (flux).
* ALGEBRAIC[86] is v88 in component v88 (flux).
* ALGEBRAIC[87] is v89 in component v89 (flux).
* STATES[17] is MisP_Ub6 in component MisP_Ub6 (molecules).
* ALGEBRAIC[44] is v46 in component v46 (flux).
* ALGEBRAIC[60] is v62 in component v62 (flux).
* ALGEBRAIC[88] is v90 in component v90 (flux).
* ALGEBRAIC[89] is v91 in component v91 (flux).
* STATES[18] is MisP_Ub7 in component MisP_Ub7 (molecules).
* ALGEBRAIC[45] is v47 in component v47 (flux).
* ALGEBRAIC[61] is v63 in component v63 (flux).
* ALGEBRAIC[90] is v92 in component v92 (flux).
* STATES[19] is MisP_Ub8 in component MisP_Ub8 (molecules).
* ALGEBRAIC[46] is v48 in component v48 (flux).
* ALGEBRAIC[62] is v64 in component v64 (flux).
* STATES[20] is MisP_Ub4_Proteasome in component MisP_Ub4_Proteasome (molecules).
* STATES[21] is MisP_Ub5_Proteasome in component MisP_Ub5_Proteasome (molecules).
* STATES[22] is MisP_Ub6_Proteasome in component MisP_Ub6_Proteasome (molecules).
* STATES[23] is MisP_Ub7_Proteasome in component MisP_Ub7_Proteasome (molecules).
* STATES[24] is MisP_Ub8_Proteasome in component MisP_Ub8_Proteasome (molecules).
* STATES[25] is ATP in component ATP (molecules).
* STATES[26] is ADP in component ADP (molecules).
* STATES[27] is AMP in component AMP (molecules).
* STATES[28] is degUb4 in component degUb4 (molecules).
* STATES[29] is degUb5 in component degUb5 (molecules).
* STATES[30] is degUb6 in component degUb6 (molecules).
* STATES[31] is degUb7 in component degUb7 (molecules).
* STATES[32] is degUb8 in component degUb8 (molecules).
* STATES[33] is MisP_total in component MisP_total (molecules).
* STATES[34] is NatP_refolded in component NatP_refolded (molecules).
* STATES[35] is AggP in component AggP (molecules).
* ALGEBRAIC[91] is v93 in component v93 (flux).
* STATES[36] is SeqAggP in component SeqAggP (molecules).
* STATES[37] is AggP_Proteasome in component AggP_Proteasome (molecules).
* CONSTANTS[0] is k1 in component kinetic_parameters (flux).
* CONSTANTS[1] is k2 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[2] is k3 in component kinetic_parameters (first_order_rate_constant).
* CONSTANTS[3] is k61 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[4] is k61r in component kinetic_parameters (first_order_rate_constant).
* CONSTANTS[5] is k62 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[6] is k63 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[7] is k64 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[8] is k65 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[9] is k66 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[10] is k67 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[11] is k68 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[12] is k69 in component kinetic_parameters (first_order_rate_constant).
* CONSTANTS[13] is k71 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[14] is k72 in component kinetic_parameters (second_order_rate_constant).
* CONSTANTS[15] is k73 in component kinetic_parameters (first_order_rate_constant).
* CONSTANTS[16] is k74 in component kinetic_parameters (second_order_rate_constant).
* RATES[0] is d/dt NatP in component NatP (molecules).
* RATES[1] is d/dt MisP in component MisP (molecules).
* RATES[2] is d/dt Ub in component Ub (molecules).
* RATES[3] is d/dt E1 in component E1 (molecules).
* RATES[4] is d/dt E2 in component E2 (molecules).
* RATES[5] is d/dt E3 in component E3 (molecules).
* RATES[6] is d/dt DUB in component DUB (molecules).
* RATES[7] is d/dt Proteasome in component Proteasome (molecules).
* RATES[8] is d/dt ROS in component ROS (molecules).
* RATES[9] is d/dt E1_Ub in component E1_Ub (molecules).
* RATES[10] is d/dt E2_Ub in component E2_Ub (molecules).
* RATES[11] is d/dt E3_MisP in component E3_MisP (molecules).
* RATES[12] is d/dt MisP_Ub in component MisP_Ub (molecules).
* RATES[13] is d/dt MisP_Ub2 in component MisP_Ub2 (molecules).
* RATES[14] is d/dt MisP_Ub3 in component MisP_Ub3 (molecules).
* RATES[15] is d/dt MisP_Ub4 in component MisP_Ub4 (molecules).
* RATES[16] is d/dt MisP_Ub5 in component MisP_Ub5 (molecules).
* RATES[17] is d/dt MisP_Ub6 in component MisP_Ub6 (molecules).
* RATES[18] is d/dt MisP_Ub7 in component MisP_Ub7 (molecules).
* RATES[19] is d/dt MisP_Ub8 in component MisP_Ub8 (molecules).
* RATES[20] is d/dt MisP_Ub4_Proteasome in component MisP_Ub4_Proteasome (molecules).
* RATES[21] is d/dt MisP_Ub5_Proteasome in component MisP_Ub5_Proteasome (molecules).
* RATES[22] is d/dt MisP_Ub6_Proteasome in component MisP_Ub6_Proteasome (molecules).
* RATES[23] is d/dt MisP_Ub7_Proteasome in component MisP_Ub7_Proteasome (molecules).
* RATES[24] is d/dt MisP_Ub8_Proteasome in component MisP_Ub8_Proteasome (molecules).
* RATES[25] is d/dt ATP in component ATP (molecules).
* RATES[26] is d/dt ADP in component ADP (molecules).
* RATES[27] is d/dt AMP in component AMP (molecules).
* RATES[28] is d/dt degUb4 in component degUb4 (molecules).
* RATES[29] is d/dt degUb5 in component degUb5 (molecules).
* RATES[30] is d/dt degUb6 in component degUb6 (molecules).
* RATES[31] is d/dt degUb7 in component degUb7 (molecules).
* RATES[32] is d/dt degUb8 in component degUb8 (molecules).
* RATES[33] is d/dt MisP_total in component MisP_total (molecules).
* RATES[34] is d/dt NatP_refolded in component NatP_refolded (molecules).
* RATES[35] is d/dt AggP in component AggP (molecules).
* RATES[36] is d/dt SeqAggP in component SeqAggP (molecules).
* RATES[37] is d/dt AggP_Proteasome in component AggP_Proteasome (molecules).
* There are a total of 0 condition variables.
*/
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 500;
STATES[1] = 0;
STATES[2] = 500;
STATES[3] = 100;
STATES[4] = 100;
STATES[5] = 100;
STATES[6] = 200;
STATES[7] = 100;
STATES[8] = 10;
STATES[9] = 0;
STATES[10] = 0;
STATES[11] = 0;
STATES[12] = 0;
STATES[13] = 0;
STATES[14] = 0;
STATES[15] = 0;
STATES[16] = 0;
STATES[17] = 0;
STATES[18] = 0;
STATES[19] = 0;
STATES[20] = 0;
STATES[21] = 0;
STATES[22] = 0;
STATES[23] = 0;
STATES[24] = 0;
STATES[25] = 10000;
STATES[26] = 1000;
STATES[27] = 1000;
STATES[28] = 0;
STATES[29] = 0;
STATES[30] = 0;
STATES[31] = 0;
STATES[32] = 0;
STATES[33] = 0;
STATES[34] = 0;
STATES[35] = 0;
STATES[36] = 0;
STATES[37] = 0;
CONSTANTS[0] = 0.01;
CONSTANTS[1] = 2e-6;
CONSTANTS[2] = 4e-6;
CONSTANTS[3] = 1.7e-5;
CONSTANTS[4] = 2e-4;
CONSTANTS[5] = 2e-4;
CONSTANTS[6] = 1e-3;
CONSTANTS[7] = 1e-3;
CONSTANTS[8] = 1e-3;
CONSTANTS[9] = 1e-5;
CONSTANTS[10] = 1e-5;
CONSTANTS[11] = 1e-5;
CONSTANTS[12] = 0;
CONSTANTS[13] = 1e-8;
CONSTANTS[14] = 1e-8;
CONSTANTS[15] = 1e-3;
CONSTANTS[16] = 1e-5;
CONSTANTS[17] = CONSTANTS[0];
CONSTANTS[18] = 0.00000;
CONSTANTS[19] = 0.00000;
CONSTANTS[20] = 0.00000;
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;
RATES[21] = 0.1001;
RATES[22] = 0.1001;
RATES[23] = 0.1001;
RATES[24] = 0.1001;
RATES[28] = 0.1001;
RATES[29] = 0.1001;
RATES[30] = 0.1001;
RATES[31] = 0.1001;
RATES[32] = 0.1001;
RATES[33] = 0.1001;
RATES[34] = 0.1001;
RATES[35] = 0.1001;
RATES[36] = 0.1001;
RATES[37] = 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[17]+ALGEBRAIC[1]) - ALGEBRAIC[0];
resid[1] = RATES[1] - (ALGEBRAIC[0]+ALGEBRAIC[3]+ALGEBRAIC[21]) - (ALGEBRAIC[1]+ALGEBRAIC[2]+ 2.00000*ALGEBRAIC[37]+ALGEBRAIC[38]+ALGEBRAIC[47]+ALGEBRAIC[48]+ALGEBRAIC[49]+ALGEBRAIC[50]+ALGEBRAIC[51]+ALGEBRAIC[52]+ALGEBRAIC[53]+ALGEBRAIC[54]);
resid[2] = RATES[2] - (ALGEBRAIC[14]+ALGEBRAIC[15]+ALGEBRAIC[16]+ALGEBRAIC[17]+ALGEBRAIC[18]+ALGEBRAIC[19]+ALGEBRAIC[20]+ALGEBRAIC[21]+ALGEBRAIC[27]+ALGEBRAIC[28]+ALGEBRAIC[29]+ALGEBRAIC[30]+ALGEBRAIC[31]+ 4.00000*ALGEBRAIC[32]+ 5.00000*ALGEBRAIC[33]+ 6.00000*ALGEBRAIC[34]+ 7.00000*ALGEBRAIC[35]+ 8.00000*ALGEBRAIC[36]) - ALGEBRAIC[4];
resid[3] = RATES[3] - ALGEBRAIC[5] - ALGEBRAIC[4];
resid[4] = RATES[4] - (ALGEBRAIC[6]+ALGEBRAIC[7]+ALGEBRAIC[8]+ALGEBRAIC[9]+ALGEBRAIC[10]+ALGEBRAIC[11]+ALGEBRAIC[12]+ALGEBRAIC[13]) - ALGEBRAIC[5];
resid[5] = RATES[5] - (ALGEBRAIC[3]+ALGEBRAIC[6]) - ALGEBRAIC[2];
resid[6] = RATES[6] - (ALGEBRAIC[14]+ALGEBRAIC[15]+ALGEBRAIC[16]+ALGEBRAIC[17]+ALGEBRAIC[18]+ALGEBRAIC[19]+ALGEBRAIC[20]+ALGEBRAIC[21]+ALGEBRAIC[27]+ALGEBRAIC[28]+ALGEBRAIC[29]+ALGEBRAIC[30]+ALGEBRAIC[31]) - (ALGEBRAIC[14]+ALGEBRAIC[15]+ALGEBRAIC[16]+ALGEBRAIC[17]+ALGEBRAIC[18]+ALGEBRAIC[19]+ALGEBRAIC[20]+ALGEBRAIC[21]+ALGEBRAIC[27]+ALGEBRAIC[28]+ALGEBRAIC[29]+ALGEBRAIC[30]+ALGEBRAIC[31]);
resid[7] = RATES[7] - (ALGEBRAIC[27]+ALGEBRAIC[32]+ALGEBRAIC[33]+ALGEBRAIC[34]+ALGEBRAIC[35]+ALGEBRAIC[36]) - (ALGEBRAIC[22]+ALGEBRAIC[23]+ALGEBRAIC[24]+ALGEBRAIC[25]+ALGEBRAIC[26]+ALGEBRAIC[92]);
resid[8] = RATES[8] - ALGEBRAIC[0] - ALGEBRAIC[0];
resid[9] = RATES[9] - ALGEBRAIC[4] - ALGEBRAIC[5];
resid[10] = RATES[10] - (((((((ALGEBRAIC[5] - ALGEBRAIC[6]) - ALGEBRAIC[7]) - ALGEBRAIC[8]) - ALGEBRAIC[9]) - ALGEBRAIC[10]) - ALGEBRAIC[11]) - ALGEBRAIC[12]) - ALGEBRAIC[13];
resid[11] = RATES[11] - (ALGEBRAIC[2] - ALGEBRAIC[3]) - ALGEBRAIC[6];
resid[12] = RATES[12] - (ALGEBRAIC[6]+ALGEBRAIC[20]) - (ALGEBRAIC[7]+ALGEBRAIC[21]+ 2.00000*ALGEBRAIC[39]+ALGEBRAIC[47]+ALGEBRAIC[55]+ALGEBRAIC[63]+ALGEBRAIC[64]+ALGEBRAIC[65]+ALGEBRAIC[66]+ALGEBRAIC[67]+ALGEBRAIC[68]+ALGEBRAIC[69]);
resid[13] = RATES[13] - (ALGEBRAIC[7]+ALGEBRAIC[19]) - (ALGEBRAIC[8]+ALGEBRAIC[20]+ 2.00000*ALGEBRAIC[40]+ALGEBRAIC[48]+ALGEBRAIC[56]+ALGEBRAIC[63]+ALGEBRAIC[70]+ALGEBRAIC[71]+ALGEBRAIC[72]+ALGEBRAIC[73]+ALGEBRAIC[74]+ALGEBRAIC[75]);
resid[14] = RATES[14] - (ALGEBRAIC[8]+ALGEBRAIC[18]+ALGEBRAIC[27]) - (ALGEBRAIC[9]+ALGEBRAIC[19]+ 2.00000*ALGEBRAIC[41]+ALGEBRAIC[49]+ALGEBRAIC[57]+ALGEBRAIC[64]+ALGEBRAIC[70]+ALGEBRAIC[76]+ALGEBRAIC[77]+ALGEBRAIC[78]+ALGEBRAIC[79]+ALGEBRAIC[80]);
resid[15] = RATES[15] - (ALGEBRAIC[9]+ALGEBRAIC[17]) - (ALGEBRAIC[10]+ALGEBRAIC[18]+ALGEBRAIC[22]+ 2.00000*ALGEBRAIC[42]+ALGEBRAIC[50]+ALGEBRAIC[58]+ALGEBRAIC[65]+ALGEBRAIC[71]+ALGEBRAIC[76]+ALGEBRAIC[81]+ALGEBRAIC[82]+ALGEBRAIC[83]+ALGEBRAIC[84]);
resid[16] = RATES[16] - (ALGEBRAIC[10]+ALGEBRAIC[16]) - (ALGEBRAIC[11]+ALGEBRAIC[17]+ALGEBRAIC[23]+ 2.00000*ALGEBRAIC[43]+ALGEBRAIC[51]+ALGEBRAIC[59]+ALGEBRAIC[66]+ALGEBRAIC[72]+ALGEBRAIC[77]+ALGEBRAIC[81]+ALGEBRAIC[85]+ALGEBRAIC[86]+ALGEBRAIC[87]);
resid[17] = RATES[17] - (ALGEBRAIC[11]+ALGEBRAIC[15]) - (ALGEBRAIC[12]+ALGEBRAIC[16]+ALGEBRAIC[24]+ 2.00000*ALGEBRAIC[44]+ALGEBRAIC[52]+ALGEBRAIC[60]+ALGEBRAIC[67]+ALGEBRAIC[73]+ALGEBRAIC[78]+ALGEBRAIC[82]+ALGEBRAIC[85]+ALGEBRAIC[88]+ALGEBRAIC[89]);
resid[18] = RATES[18] - (ALGEBRAIC[12]+ALGEBRAIC[14]) - (ALGEBRAIC[13]+ALGEBRAIC[15]+ALGEBRAIC[25]+ 2.00000*ALGEBRAIC[45]+ALGEBRAIC[53]+ALGEBRAIC[61]+ALGEBRAIC[68]+ALGEBRAIC[74]+ALGEBRAIC[79]+ALGEBRAIC[83]+ALGEBRAIC[86]+ALGEBRAIC[88]+ALGEBRAIC[90]);
resid[19] = RATES[19] - ALGEBRAIC[13] - (ALGEBRAIC[14]+ALGEBRAIC[26]+ 2.00000*ALGEBRAIC[46]+ALGEBRAIC[54]+ALGEBRAIC[62]+ALGEBRAIC[69]+ALGEBRAIC[75]+ALGEBRAIC[80]+ALGEBRAIC[84]+ALGEBRAIC[87]+ALGEBRAIC[89]+ALGEBRAIC[90]);
resid[20] = RATES[20] - (ALGEBRAIC[22]+ALGEBRAIC[28]) - (ALGEBRAIC[27]+ALGEBRAIC[32]);
resid[21] = RATES[21] - (ALGEBRAIC[23]+ALGEBRAIC[29]) - (ALGEBRAIC[28]+ALGEBRAIC[33]);
resid[22] = RATES[22] - (ALGEBRAIC[24]+ALGEBRAIC[30]) - (ALGEBRAIC[29]+ALGEBRAIC[34]);
resid[23] = RATES[23] - (ALGEBRAIC[25]+ALGEBRAIC[31]) - (ALGEBRAIC[30]+ALGEBRAIC[35]);
resid[24] = RATES[24] - ALGEBRAIC[26] - (ALGEBRAIC[31]+ALGEBRAIC[36]);
resid[25] = RATES[28] - ALGEBRAIC[32];
resid[26] = RATES[29] - ALGEBRAIC[33];
resid[27] = RATES[30] - ALGEBRAIC[34];
resid[28] = RATES[31] - ALGEBRAIC[35];
resid[29] = RATES[32] - ALGEBRAIC[36];
resid[30] = RATES[33] - ALGEBRAIC[0];
resid[31] = RATES[34] - ALGEBRAIC[1];
resid[32] = RATES[35] - (ALGEBRAIC[37]+ 2.00000*ALGEBRAIC[38]+ALGEBRAIC[39]+ALGEBRAIC[40]+ALGEBRAIC[41]+ALGEBRAIC[42]+ALGEBRAIC[43]+ALGEBRAIC[44]+ALGEBRAIC[45]+ALGEBRAIC[46]+ALGEBRAIC[47]+ALGEBRAIC[48]+ALGEBRAIC[49]+ALGEBRAIC[50]+ALGEBRAIC[51]+ALGEBRAIC[52]+ALGEBRAIC[53]+ALGEBRAIC[54]+ 2.00000*ALGEBRAIC[55]+ 2.00000*ALGEBRAIC[56]+ 2.00000*ALGEBRAIC[57]+ 2.00000*ALGEBRAIC[58]+ 2.00000*ALGEBRAIC[59]+ 2.00000*ALGEBRAIC[60]+ 2.00000*ALGEBRAIC[61]+ 2.00000*ALGEBRAIC[62]+ALGEBRAIC[63]+ALGEBRAIC[64]+ALGEBRAIC[65]+ALGEBRAIC[66]+ALGEBRAIC[67]+ALGEBRAIC[68]+ALGEBRAIC[69]+ALGEBRAIC[70]+ALGEBRAIC[71]+ALGEBRAIC[72]+ALGEBRAIC[73]+ALGEBRAIC[74]+ALGEBRAIC[75]+ALGEBRAIC[76]+ALGEBRAIC[77]+ALGEBRAIC[78]+ALGEBRAIC[79]+ALGEBRAIC[80]+ALGEBRAIC[81]+ALGEBRAIC[82]+ALGEBRAIC[83]+ALGEBRAIC[84]+ALGEBRAIC[85]+ALGEBRAIC[86]+ALGEBRAIC[87]+ALGEBRAIC[88]+ALGEBRAIC[89]+ALGEBRAIC[90]) - (ALGEBRAIC[38]+ALGEBRAIC[55]+ALGEBRAIC[56]+ALGEBRAIC[57]+ALGEBRAIC[58]+ALGEBRAIC[59]+ALGEBRAIC[60]+ALGEBRAIC[61]+ALGEBRAIC[62]+ALGEBRAIC[91]+ALGEBRAIC[92]);
resid[33] = RATES[36] - ALGEBRAIC[91];
resid[34] = RATES[37] - ALGEBRAIC[92];
resid[35] = RATES[25] - CONSTANTS[18];
resid[36] = RATES[26] - CONSTANTS[19];
resid[37] = RATES[27] - CONSTANTS[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] = CONSTANTS[1]*STATES[0]*STATES[8];
ALGEBRAIC[1] = CONSTANTS[2]*STATES[1];
ALGEBRAIC[2] = CONSTANTS[3]*STATES[5]*STATES[1];
ALGEBRAIC[3] = CONSTANTS[4]*STATES[11];
ALGEBRAIC[4] = ( CONSTANTS[5]*STATES[3]*STATES[2]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[5] = CONSTANTS[6]*STATES[4]*STATES[9];
ALGEBRAIC[6] = CONSTANTS[7]*STATES[10]*STATES[11];
ALGEBRAIC[7] = CONSTANTS[8]*STATES[10]*STATES[12];
ALGEBRAIC[8] = CONSTANTS[8]*STATES[10]*STATES[13];
ALGEBRAIC[9] = CONSTANTS[8]*STATES[10]*STATES[14];
ALGEBRAIC[10] = CONSTANTS[8]*STATES[10]*STATES[15];
ALGEBRAIC[11] = CONSTANTS[8]*STATES[10]*STATES[16];
ALGEBRAIC[12] = CONSTANTS[8]*STATES[10]*STATES[17];
ALGEBRAIC[13] = CONSTANTS[8]*STATES[10]*STATES[18];
ALGEBRAIC[14] = CONSTANTS[9]*STATES[6]*STATES[19];
ALGEBRAIC[15] = CONSTANTS[9]*STATES[6]*STATES[18];
ALGEBRAIC[16] = CONSTANTS[9]*STATES[6]*STATES[17];
ALGEBRAIC[17] = CONSTANTS[9]*STATES[6]*STATES[16];
ALGEBRAIC[18] = CONSTANTS[9]*STATES[6]*STATES[15];
ALGEBRAIC[19] = CONSTANTS[9]*STATES[6]*STATES[14];
ALGEBRAIC[20] = CONSTANTS[9]*STATES[6]*STATES[13];
ALGEBRAIC[21] = CONSTANTS[9]*STATES[6]*STATES[12];
ALGEBRAIC[22] = CONSTANTS[10]*STATES[15]*STATES[7];
ALGEBRAIC[23] = CONSTANTS[10]*STATES[16]*STATES[7];
ALGEBRAIC[24] = CONSTANTS[10]*STATES[17]*STATES[7];
ALGEBRAIC[25] = CONSTANTS[10]*STATES[18]*STATES[7];
ALGEBRAIC[26] = CONSTANTS[10]*STATES[19]*STATES[7];
ALGEBRAIC[27] = CONSTANTS[11]*STATES[6]*STATES[20];
ALGEBRAIC[28] = CONSTANTS[11]*STATES[6]*STATES[21];
ALGEBRAIC[29] = CONSTANTS[11]*STATES[6]*STATES[22];
ALGEBRAIC[30] = CONSTANTS[11]*STATES[6]*STATES[23];
ALGEBRAIC[31] = CONSTANTS[11]*STATES[6]*STATES[24];
ALGEBRAIC[32] = ( CONSTANTS[12]*STATES[20]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[33] = ( CONSTANTS[12]*STATES[21]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[34] = ( CONSTANTS[12]*STATES[22]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[35] = ( CONSTANTS[12]*STATES[23]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[36] = ( CONSTANTS[12]*STATES[24]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[37] = ( CONSTANTS[13]*STATES[1]*(STATES[1] - 1.00000))/2.00000;
ALGEBRAIC[38] = CONSTANTS[13]*STATES[1]*STATES[35];
ALGEBRAIC[39] = ( CONSTANTS[14]*STATES[12]*(STATES[12] - 1.00000))/2.00000;
ALGEBRAIC[40] = ( CONSTANTS[14]*STATES[13]*(STATES[13] - 1.00000))/2.00000;
ALGEBRAIC[41] = ( CONSTANTS[14]*STATES[14]*(STATES[14] - 1.00000))/2.00000;
ALGEBRAIC[42] = ( CONSTANTS[14]*STATES[15]*(STATES[15] - 1.00000))/2.00000;
ALGEBRAIC[43] = ( CONSTANTS[14]*STATES[16]*(STATES[16] - 1.00000))/2.00000;
ALGEBRAIC[44] = ( CONSTANTS[14]*STATES[17]*(STATES[17] - 1.00000))/2.00000;
ALGEBRAIC[45] = ( CONSTANTS[14]*STATES[18]*(STATES[18] - 1.00000))/2.00000;
ALGEBRAIC[46] = ( CONSTANTS[14]*STATES[19]*(STATES[19] - 1.00000))/2.00000;
ALGEBRAIC[47] = CONSTANTS[14]*STATES[1]*STATES[12];
ALGEBRAIC[48] = CONSTANTS[14]*STATES[1]*STATES[13];
ALGEBRAIC[49] = CONSTANTS[14]*STATES[1]*STATES[14];
ALGEBRAIC[50] = CONSTANTS[14]*STATES[1]*STATES[15];
ALGEBRAIC[51] = CONSTANTS[14]*STATES[1]*STATES[16];
ALGEBRAIC[52] = CONSTANTS[14]*STATES[1]*STATES[17];
ALGEBRAIC[53] = CONSTANTS[14]*STATES[1]*STATES[18];
ALGEBRAIC[54] = CONSTANTS[14]*STATES[1]*STATES[19];
ALGEBRAIC[55] = CONSTANTS[14]*STATES[35]*STATES[12];
ALGEBRAIC[56] = CONSTANTS[14]*STATES[35]*STATES[13];
ALGEBRAIC[57] = CONSTANTS[14]*STATES[35]*STATES[14];
ALGEBRAIC[58] = CONSTANTS[14]*STATES[35]*STATES[15];
ALGEBRAIC[59] = CONSTANTS[14]*STATES[35]*STATES[16];
ALGEBRAIC[60] = CONSTANTS[14]*STATES[35]*STATES[17];
ALGEBRAIC[61] = CONSTANTS[14]*STATES[35]*STATES[18];
ALGEBRAIC[62] = CONSTANTS[14]*STATES[35]*STATES[19];
ALGEBRAIC[63] = CONSTANTS[14]*STATES[12]*STATES[13];
ALGEBRAIC[64] = CONSTANTS[14]*STATES[12]*STATES[14];
ALGEBRAIC[65] = CONSTANTS[14]*STATES[12]*STATES[15];
ALGEBRAIC[66] = CONSTANTS[14]*STATES[12]*STATES[16];
ALGEBRAIC[67] = CONSTANTS[14]*STATES[12]*STATES[17];
ALGEBRAIC[68] = CONSTANTS[14]*STATES[12]*STATES[18];
ALGEBRAIC[69] = CONSTANTS[14]*STATES[12]*STATES[19];
ALGEBRAIC[70] = CONSTANTS[14]*STATES[13]*STATES[14];
ALGEBRAIC[71] = CONSTANTS[14]*STATES[13]*STATES[15];
ALGEBRAIC[72] = CONSTANTS[14]*STATES[13]*STATES[16];
ALGEBRAIC[73] = CONSTANTS[14]*STATES[13]*STATES[17];
ALGEBRAIC[74] = CONSTANTS[14]*STATES[13]*STATES[18];
ALGEBRAIC[75] = CONSTANTS[14]*STATES[13]*STATES[19];
ALGEBRAIC[76] = CONSTANTS[14]*STATES[14]*STATES[15];
ALGEBRAIC[77] = CONSTANTS[14]*STATES[14]*STATES[16];
ALGEBRAIC[78] = CONSTANTS[14]*STATES[14]*STATES[17];
ALGEBRAIC[79] = CONSTANTS[14]*STATES[14]*STATES[18];
ALGEBRAIC[80] = CONSTANTS[14]*STATES[14]*STATES[19];
ALGEBRAIC[81] = CONSTANTS[14]*STATES[15]*STATES[16];
ALGEBRAIC[82] = CONSTANTS[14]*STATES[15]*STATES[17];
ALGEBRAIC[83] = CONSTANTS[14]*STATES[15]*STATES[18];
ALGEBRAIC[84] = CONSTANTS[14]*STATES[15]*STATES[19];
ALGEBRAIC[85] = CONSTANTS[14]*STATES[16]*STATES[17];
ALGEBRAIC[86] = CONSTANTS[14]*STATES[16]*STATES[18];
ALGEBRAIC[87] = CONSTANTS[14]*STATES[16]*STATES[19];
ALGEBRAIC[88] = CONSTANTS[14]*STATES[17]*STATES[18];
ALGEBRAIC[89] = CONSTANTS[14]*STATES[17]*STATES[19];
ALGEBRAIC[90] = CONSTANTS[14]*STATES[18]*STATES[19];
ALGEBRAIC[91] = CONSTANTS[15]*STATES[35];
ALGEBRAIC[92] = CONSTANTS[16]*STATES[35]*STATES[7];
}
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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}
