Generated Code

The following is c 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).
 */
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;
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[25] = CONSTANTS[18];
RATES[26] = CONSTANTS[19];
RATES[27] = CONSTANTS[20];
ALGEBRAIC[0] =  CONSTANTS[1]*STATES[0]*STATES[8];
RATES[8] = ALGEBRAIC[0] - ALGEBRAIC[0];
RATES[33] = ALGEBRAIC[0];
ALGEBRAIC[1] =  CONSTANTS[2]*STATES[1];
RATES[0] = (CONSTANTS[17]+ALGEBRAIC[1]) - ALGEBRAIC[0];
RATES[34] = ALGEBRAIC[1];
ALGEBRAIC[4] = ( CONSTANTS[5]*STATES[3]*STATES[2]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[5] =  CONSTANTS[6]*STATES[4]*STATES[9];
RATES[3] = ALGEBRAIC[5] - ALGEBRAIC[4];
RATES[9] = ALGEBRAIC[4] - ALGEBRAIC[5];
ALGEBRAIC[3] =  CONSTANTS[4]*STATES[11];
ALGEBRAIC[2] =  CONSTANTS[3]*STATES[5]*STATES[1];
ALGEBRAIC[6] =  CONSTANTS[7]*STATES[10]*STATES[11];
RATES[5] = (ALGEBRAIC[3]+ALGEBRAIC[6]) - ALGEBRAIC[2];
RATES[11] = (ALGEBRAIC[2] - ALGEBRAIC[3]) - ALGEBRAIC[6];
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];
RATES[4] = (ALGEBRAIC[6]+ALGEBRAIC[7]+ALGEBRAIC[8]+ALGEBRAIC[9]+ALGEBRAIC[10]+ALGEBRAIC[11]+ALGEBRAIC[12]+ALGEBRAIC[13]) - ALGEBRAIC[5];
RATES[10] = (((((((ALGEBRAIC[5] - ALGEBRAIC[6]) - ALGEBRAIC[7]) - ALGEBRAIC[8]) - ALGEBRAIC[9]) - ALGEBRAIC[10]) - ALGEBRAIC[11]) - ALGEBRAIC[12]) - ALGEBRAIC[13];
ALGEBRAIC[21] =  CONSTANTS[9]*STATES[6]*STATES[12];
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[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];
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]);
ALGEBRAIC[32] = ( CONSTANTS[12]*STATES[20]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[22] =  CONSTANTS[10]*STATES[15]*STATES[7];
RATES[20] = (ALGEBRAIC[22]+ALGEBRAIC[28]) - (ALGEBRAIC[27]+ALGEBRAIC[32]);
RATES[28] = ALGEBRAIC[32];
ALGEBRAIC[33] = ( CONSTANTS[12]*STATES[21]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[23] =  CONSTANTS[10]*STATES[16]*STATES[7];
RATES[21] = (ALGEBRAIC[23]+ALGEBRAIC[29]) - (ALGEBRAIC[28]+ALGEBRAIC[33]);
RATES[29] = ALGEBRAIC[33];
ALGEBRAIC[34] = ( CONSTANTS[12]*STATES[22]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[24] =  CONSTANTS[10]*STATES[17]*STATES[7];
RATES[22] = (ALGEBRAIC[24]+ALGEBRAIC[30]) - (ALGEBRAIC[29]+ALGEBRAIC[34]);
RATES[30] = ALGEBRAIC[34];
ALGEBRAIC[35] = ( CONSTANTS[12]*STATES[23]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[25] =  CONSTANTS[10]*STATES[18]*STATES[7];
RATES[23] = (ALGEBRAIC[25]+ALGEBRAIC[31]) - (ALGEBRAIC[30]+ALGEBRAIC[35]);
RATES[31] = ALGEBRAIC[35];
ALGEBRAIC[36] = ( CONSTANTS[12]*STATES[24]*STATES[25])/(5000.00+STATES[25]);
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];
ALGEBRAIC[26] =  CONSTANTS[10]*STATES[19]*STATES[7];
RATES[24] = ALGEBRAIC[26] - (ALGEBRAIC[31]+ALGEBRAIC[36]);
RATES[32] = ALGEBRAIC[36];
ALGEBRAIC[37] = ( CONSTANTS[13]*STATES[1]*(STATES[1] - 1.00000))/2.00000;
ALGEBRAIC[38] =  CONSTANTS[13]*STATES[1]*STATES[35];
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];
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]);
ALGEBRAIC[39] = ( CONSTANTS[14]*STATES[12]*(STATES[12] - 1.00000))/2.00000;
ALGEBRAIC[55] =  CONSTANTS[14]*STATES[35]*STATES[12];
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];
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]);
ALGEBRAIC[40] = ( CONSTANTS[14]*STATES[13]*(STATES[13] - 1.00000))/2.00000;
ALGEBRAIC[56] =  CONSTANTS[14]*STATES[35]*STATES[13];
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];
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]);
ALGEBRAIC[41] = ( CONSTANTS[14]*STATES[14]*(STATES[14] - 1.00000))/2.00000;
ALGEBRAIC[57] =  CONSTANTS[14]*STATES[35]*STATES[14];
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];
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]);
ALGEBRAIC[42] = ( CONSTANTS[14]*STATES[15]*(STATES[15] - 1.00000))/2.00000;
ALGEBRAIC[58] =  CONSTANTS[14]*STATES[35]*STATES[15];
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];
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]);
ALGEBRAIC[43] = ( CONSTANTS[14]*STATES[16]*(STATES[16] - 1.00000))/2.00000;
ALGEBRAIC[59] =  CONSTANTS[14]*STATES[35]*STATES[16];
ALGEBRAIC[85] =  CONSTANTS[14]*STATES[16]*STATES[17];
ALGEBRAIC[86] =  CONSTANTS[14]*STATES[16]*STATES[18];
ALGEBRAIC[87] =  CONSTANTS[14]*STATES[16]*STATES[19];
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]);
ALGEBRAIC[44] = ( CONSTANTS[14]*STATES[17]*(STATES[17] - 1.00000))/2.00000;
ALGEBRAIC[60] =  CONSTANTS[14]*STATES[35]*STATES[17];
ALGEBRAIC[88] =  CONSTANTS[14]*STATES[17]*STATES[18];
ALGEBRAIC[89] =  CONSTANTS[14]*STATES[17]*STATES[19];
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]);
ALGEBRAIC[45] = ( CONSTANTS[14]*STATES[18]*(STATES[18] - 1.00000))/2.00000;
ALGEBRAIC[61] =  CONSTANTS[14]*STATES[35]*STATES[18];
ALGEBRAIC[90] =  CONSTANTS[14]*STATES[18]*STATES[19];
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]);
ALGEBRAIC[46] = ( CONSTANTS[14]*STATES[19]*(STATES[19] - 1.00000))/2.00000;
ALGEBRAIC[62] =  CONSTANTS[14]*STATES[35]*STATES[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]);
ALGEBRAIC[91] =  CONSTANTS[15]*STATES[35];
RATES[36] = ALGEBRAIC[91];
ALGEBRAIC[92] =  CONSTANTS[16]*STATES[35]*STATES[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]);
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]);
RATES[37] = ALGEBRAIC[92];
}
void
computeVariables(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[4] = ( CONSTANTS[5]*STATES[3]*STATES[2]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[5] =  CONSTANTS[6]*STATES[4]*STATES[9];
ALGEBRAIC[3] =  CONSTANTS[4]*STATES[11];
ALGEBRAIC[2] =  CONSTANTS[3]*STATES[5]*STATES[1];
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[21] =  CONSTANTS[9]*STATES[6]*STATES[12];
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[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[22] =  CONSTANTS[10]*STATES[15]*STATES[7];
ALGEBRAIC[33] = ( CONSTANTS[12]*STATES[21]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[23] =  CONSTANTS[10]*STATES[16]*STATES[7];
ALGEBRAIC[34] = ( CONSTANTS[12]*STATES[22]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[24] =  CONSTANTS[10]*STATES[17]*STATES[7];
ALGEBRAIC[35] = ( CONSTANTS[12]*STATES[23]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[25] =  CONSTANTS[10]*STATES[18]*STATES[7];
ALGEBRAIC[36] = ( CONSTANTS[12]*STATES[24]*STATES[25])/(5000.00+STATES[25]);
ALGEBRAIC[26] =  CONSTANTS[10]*STATES[19]*STATES[7];
ALGEBRAIC[37] = ( CONSTANTS[13]*STATES[1]*(STATES[1] - 1.00000))/2.00000;
ALGEBRAIC[38] =  CONSTANTS[13]*STATES[1]*STATES[35];
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[39] = ( CONSTANTS[14]*STATES[12]*(STATES[12] - 1.00000))/2.00000;
ALGEBRAIC[55] =  CONSTANTS[14]*STATES[35]*STATES[12];
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[40] = ( CONSTANTS[14]*STATES[13]*(STATES[13] - 1.00000))/2.00000;
ALGEBRAIC[56] =  CONSTANTS[14]*STATES[35]*STATES[13];
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[41] = ( CONSTANTS[14]*STATES[14]*(STATES[14] - 1.00000))/2.00000;
ALGEBRAIC[57] =  CONSTANTS[14]*STATES[35]*STATES[14];
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[42] = ( CONSTANTS[14]*STATES[15]*(STATES[15] - 1.00000))/2.00000;
ALGEBRAIC[58] =  CONSTANTS[14]*STATES[35]*STATES[15];
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[43] = ( CONSTANTS[14]*STATES[16]*(STATES[16] - 1.00000))/2.00000;
ALGEBRAIC[59] =  CONSTANTS[14]*STATES[35]*STATES[16];
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[44] = ( CONSTANTS[14]*STATES[17]*(STATES[17] - 1.00000))/2.00000;
ALGEBRAIC[60] =  CONSTANTS[14]*STATES[35]*STATES[17];
ALGEBRAIC[88] =  CONSTANTS[14]*STATES[17]*STATES[18];
ALGEBRAIC[89] =  CONSTANTS[14]*STATES[17]*STATES[19];
ALGEBRAIC[45] = ( CONSTANTS[14]*STATES[18]*(STATES[18] - 1.00000))/2.00000;
ALGEBRAIC[61] =  CONSTANTS[14]*STATES[35]*STATES[18];
ALGEBRAIC[90] =  CONSTANTS[14]*STATES[18]*STATES[19];
ALGEBRAIC[46] = ( CONSTANTS[14]*STATES[19]*(STATES[19] - 1.00000))/2.00000;
ALGEBRAIC[62] =  CONSTANTS[14]*STATES[35]*STATES[19];
ALGEBRAIC[91] =  CONSTANTS[15]*STATES[35];
ALGEBRAIC[92] =  CONSTANTS[16]*STATES[35]*STATES[7];
}