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 30 entries in the algebraic variable array.
   There are a total of 14 entries in each of the rate and state variable arrays.
   There are a total of 93 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (minute).
 * STATES[0] is CycA in component CycA (dimensionless).
 * CONSTANTS[0] is k_assa in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[1] is k_dissa in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[20] is V_di in component V_di (first_order_rate_constant).
 * ALGEBRAIC[21] is V_sa in component V_sa (first_order_rate_constant).
 * ALGEBRAIC[14] is V_da in component V_da (first_order_rate_constant).
 * STATES[1] is Tri_A in component Tri_A (dimensionless).
 * STATES[2] is CKI in component CKI (dimensionless).
 * STATES[3] is CycB in component CycB (dimensionless).
 * CONSTANTS[2] is k_assb in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[3] is k_dissb in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[24] is V_sb in component V_sb (first_order_rate_constant).
 * ALGEBRAIC[25] is V_db in component V_db (first_order_rate_constant).
 * ALGEBRAIC[29] is V_25 in component V_25 (first_order_rate_constant).
 * ALGEBRAIC[27] is V_wee in component V_wee (first_order_rate_constant).
 * STATES[4] is pB in component pB (dimensionless).
 * STATES[5] is BCKI in component BCKI (dimensionless).
 * STATES[6] is CycE in component CycE (dimensionless).
 * CONSTANTS[4] is k_disse in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[5] is k_asse in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[23] is V_se in component V_se (first_order_rate_constant).
 * ALGEBRAIC[13] is V_de in component V_de (first_order_rate_constant).
 * STATES[7] is Tri_E in component Tri_E (dimensionless).
 * ALGEBRAIC[1] is CycD in component CycD (dimensionless).
 * CONSTANTS[6] is CycD_0 in component CycD (dimensionless).
 * STATES[8] is mass in component mass (dimensionless).
 * STATES[9] is Cdc20_A in component Cdc20_A (dimensionless).
 * CONSTANTS[7] is k_a20 in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[8] is k_i20 in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[9] is k_d20 in component kinetic_parameters (first_order_rate_constant).
 * STATES[10] is APCP in component APCP (dimensionless).
 * STATES[11] is Cdc20_i in component Cdc20_i (dimensionless).
 * CONSTANTS[10] is J_a20 in component Cdc20_A (dimensionless).
 * CONSTANTS[11] is J_i20 in component Cdc20_A (dimensionless).
 * CONSTANTS[12] is k_s20p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[13] is k_s20pp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[14] is n20 in component Cdc20_i (dimensionless).
 * CONSTANTS[15] is J_20 in component Cdc20_i (dimensionless).
 * CONSTANTS[16] is J_a20 in component Cdc20_i (dimensionless).
 * CONSTANTS[17] is J_i20 in component Cdc20_i (dimensionless).
 * ALGEBRAIC[0] is APC in component APC (dimensionless).
 * CONSTANTS[18] is APC_T in component APC (dimensionless).
 * CONSTANTS[19] is k_aie in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[20] is k_iie in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[21] is J_aie in component APCP (dimensionless).
 * CONSTANTS[22] is J_iie in component APCP (dimensionless).
 * STATES[12] is pBCKI in component pBCKI (dimensionless).
 * ALGEBRAIC[18] is V_si in component V_si (first_order_rate_constant).
 * ALGEBRAIC[9] is Cdh1_i in component Cdh1_i (dimensionless).
 * CONSTANTS[23] is Cdh1_T in component Cdh1_i (dimensionless).
 * STATES[13] is Cdh1 in component Cdh1 (dimensionless).
 * ALGEBRAIC[17] is V_ah1 in component V_ah1 (first_order_rate_constant).
 * ALGEBRAIC[19] is V_ih1 in component V_ih1 (first_order_rate_constant).
 * CONSTANTS[24] is J_ah1 in component Cdh1 (dimensionless).
 * CONSTANTS[25] is J_ih1 in component Cdh1 (dimensionless).
 * CONSTANTS[26] is mu in component mass (first_order_rate_constant).
 * CONSTANTS[27] is maxmass in component mass (dimensionless).
 * ALGEBRAIC[10] is V_atf in component V_atf (first_order_rate_constant).
 * CONSTANTS[28] is k_atfp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[29] is k_atfapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[30] is k_atfepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[31] is k_atfdpp in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[11] is V_itf in component V_itf (first_order_rate_constant).
 * CONSTANTS[32] is k_itfp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[33] is k_itfapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[34] is k_itfbpp in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[12] is TF_E in component TF_E (dimensionless).
 * CONSTANTS[35] is J_itf in component TF_E (dimensionless).
 * CONSTANTS[36] is J_atf in component TF_E (dimensionless).
 * CONSTANTS[37] is k_dep in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[38] is k_deepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[39] is k_deapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[40] is k_debpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[41] is k_dap in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[42] is k_dapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[43] is k_dappp in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[16] is TF_I in component TF_I (dimensionless).
 * CONSTANTS[44] is k_afi in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[45] is k_ifip in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[46] is k_ifibpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[47] is J_ifi in component TF_I (dimensionless).
 * CONSTANTS[48] is J_afi in component TF_I (dimensionless).
 * ALGEBRAIC[15] is Cdc14 in component TF_I (dimensionless).
 * CONSTANTS[49] is k_ah1p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[50] is k_ah1pp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[51] is k_ih1p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[52] is k_ih1app in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[53] is k_ih1bpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[54] is k_ih1epp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[55] is k_ih1dpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[56] is k_sip in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[57] is k_sipp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[58] is k_dip in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[59] is k_diapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[60] is k_diepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[61] is k_didpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[62] is k_dibpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[63] is k_14di in component kinetic_parameters (dimensionless).
 * ALGEBRAIC[2] is preMPF in component preMPF (dimensionless).
 * ALGEBRAIC[3] is CycBT in component CycBT (dimensionless).
 * ALGEBRAIC[4] is CycAT in component CycAT (dimensionless).
 * ALGEBRAIC[5] is CycET in component CycET (dimensionless).
 * ALGEBRAIC[6] is Tri_B in component Tri_B (dimensionless).
 * ALGEBRAIC[7] is CKIT in component CKIT (dimensionless).
 * ALGEBRAIC[8] is Cdc20_T in component Cdc20_T (dimensionless).
 * ALGEBRAIC[22] is TF_B in component TF_B (dimensionless).
 * CONSTANTS[64] is k_afb in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[65] is k_ifb in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[66] is J_ifb in component TF_B (dimensionless).
 * CONSTANTS[67] is J_afb in component TF_B (dimensionless).
 * CONSTANTS[68] is k_sbp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[69] is k_sbpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[70] is k_sap in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[71] is k_sapp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[72] is k_sep in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[73] is k_sepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[74] is k_dbp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[75] is k_dbhpp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[76] is k_dbcpp in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[26] is Wee1 in component Wee1 (dimensionless).
 * CONSTANTS[77] is k_aweep in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[78] is k_aweepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[79] is k_iweep in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[80] is k_iweepp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[81] is J_iwee in component Wee1 (dimensionless).
 * CONSTANTS[82] is J_awee in component Wee1 (dimensionless).
 * CONSTANTS[83] is k_weep in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[84] is k_weepp in component kinetic_parameters (first_order_rate_constant).
 * ALGEBRAIC[28] is Cdc25 in component Cdc25 (dimensionless).
 * CONSTANTS[85] is k_a25p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[86] is k_a25pp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[87] is k_i25p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[88] is k_i25pp in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[89] is J_i25 in component Cdc25 (dimensionless).
 * CONSTANTS[90] is J_a25 in component Cdc25 (dimensionless).
 * CONSTANTS[91] is k_25p in component kinetic_parameters (first_order_rate_constant).
 * CONSTANTS[92] is k_25pp in component kinetic_parameters (first_order_rate_constant).
 * RATES[0] is d/dt CycA in component CycA (dimensionless).
 * RATES[3] is d/dt CycB in component CycB (dimensionless).
 * RATES[6] is d/dt CycE in component CycE (dimensionless).
 * RATES[9] is d/dt Cdc20_A in component Cdc20_A (dimensionless).
 * RATES[11] is d/dt Cdc20_i in component Cdc20_i (dimensionless).
 * RATES[10] is d/dt APCP in component APCP (dimensionless).
 * RATES[4] is d/dt pB in component pB (dimensionless).
 * RATES[5] is d/dt BCKI in component BCKI (dimensionless).
 * RATES[12] is d/dt pBCKI in component pBCKI (dimensionless).
 * RATES[1] is d/dt Tri_A in component Tri_A (dimensionless).
 * RATES[7] is d/dt Tri_E in component Tri_E (dimensionless).
 * RATES[2] is d/dt CKI in component CKI (dimensionless).
 * RATES[13] is d/dt Cdh1 in component Cdh1 (dimensionless).
 * RATES[8] is d/dt mass in component mass (dimensionless).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = 0.09450308233499527;
CONSTANTS[0] = 50;
CONSTANTS[1] = 0.06;
STATES[1] = 0.3492224216461182;
STATES[2] = 0.02882070094347;
STATES[3] = 0.1903585940599442;
CONSTANTS[2] = 60;
CONSTANTS[3] = 0.05;
STATES[4] = 0.01234426256269217;
STATES[5] = 0.679449200630188;
STATES[6] = 0.2092024385929108;
CONSTANTS[4] = 0;
CONSTANTS[5] = 0;
STATES[7] = 0;
CONSTANTS[6] = 0.108;
STATES[8] = 1.338267803192139;
STATES[9] = 0.3572723865509033;
CONSTANTS[7] = 1;
CONSTANTS[8] = 0.16;
CONSTANTS[9] = 0.05;
STATES[10] = 0.07591402530670166;
STATES[11] = 0.7702387571334839;
CONSTANTS[10] = 1;
CONSTANTS[11] = 1;
CONSTANTS[12] = 0.001;
CONSTANTS[13] = 1;
CONSTANTS[14] = 1;
CONSTANTS[15] = 10;
CONSTANTS[16] = 1;
CONSTANTS[17] = 1;
CONSTANTS[18] = 1;
CONSTANTS[19] = 0.1;
CONSTANTS[20] = 0.15;
CONSTANTS[21] = 0.1;
CONSTANTS[22] = 0.1;
STATES[12] = 0.04795938357710838;
CONSTANTS[23] = 1;
STATES[13] = 0.7189393639564514;
CONSTANTS[24] = 0.03;
CONSTANTS[25] = 0.03;
CONSTANTS[26] = 0.005776;
CONSTANTS[27] = 10000;
CONSTANTS[28] = 0;
CONSTANTS[29] = 1.5;
CONSTANTS[30] = 0.38;
CONSTANTS[31] = 3;
CONSTANTS[32] = 0.75;
CONSTANTS[33] = 0;
CONSTANTS[34] = 8;
CONSTANTS[35] = 0.01;
CONSTANTS[36] = 0.01;
CONSTANTS[37] = 0.12;
CONSTANTS[38] = 0;
CONSTANTS[39] = 0;
CONSTANTS[40] = 0;
CONSTANTS[41] = 0.01;
CONSTANTS[42] = 0.16;
CONSTANTS[43] = 0;
CONSTANTS[44] = 6;
CONSTANTS[45] = 0.008;
CONSTANTS[46] = 0.05;
CONSTANTS[47] = 2;
CONSTANTS[48] = 1;
CONSTANTS[49] = 0.02;
CONSTANTS[50] = 0.8;
CONSTANTS[51] = 0.001;
CONSTANTS[52] = 0.35;
CONSTANTS[53] = 0.1;
CONSTANTS[54] = 0.06;
CONSTANTS[55] = 0.005;
CONSTANTS[56] = 0.018;
CONSTANTS[57] = 0.18;
CONSTANTS[58] = 0.02;
CONSTANTS[59] = 0.1;
CONSTANTS[60] = 0.12;
CONSTANTS[61] = 0.1;
CONSTANTS[62] = 0.8;
CONSTANTS[63] = 12;
CONSTANTS[64] = 1;
CONSTANTS[65] = 0.15;
CONSTANTS[66] = 0.1;
CONSTANTS[67] = 0.1;
CONSTANTS[68] = 0.004;
CONSTANTS[69] = 0.04;
CONSTANTS[70] = 0.0015;
CONSTANTS[71] = 0.01;
CONSTANTS[72] = 0;
CONSTANTS[73] = 0.15;
CONSTANTS[74] = 0.003;
CONSTANTS[75] = 0.4;
CONSTANTS[76] = 0.15;
CONSTANTS[77] = 0.3;
CONSTANTS[78] = 0;
CONSTANTS[79] = 0;
CONSTANTS[80] = 1;
CONSTANTS[81] = 0.05;
CONSTANTS[82] = 0.05;
CONSTANTS[83] = 0.02;
CONSTANTS[84] = 0.2;
CONSTANTS[85] = 0;
CONSTANTS[86] = 1;
CONSTANTS[87] = 0.3;
CONSTANTS[88] = 0;
CONSTANTS[89] = 0.1;
CONSTANTS[90] = 0.1;
CONSTANTS[91] = 0.01;
CONSTANTS[92] = 5;
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[9] = (( CONSTANTS[7]*STATES[10]*STATES[11])/(CONSTANTS[10]+STATES[11]) - ( STATES[9]*CONSTANTS[8])/(CONSTANTS[11]+STATES[9])) -  STATES[9]*CONSTANTS[9];
RATES[11] = (((CONSTANTS[12]+ CONSTANTS[13]*pow(STATES[3], CONSTANTS[14]))/(pow(CONSTANTS[15], CONSTANTS[14])+pow(STATES[3], CONSTANTS[14]))+( STATES[9]*CONSTANTS[8])/(CONSTANTS[17]+STATES[9])) -  CONSTANTS[9]*STATES[11]) - ( CONSTANTS[7]*STATES[10]*STATES[11])/(CONSTANTS[16]+STATES[11]);
RATES[8] =  CONSTANTS[26]*STATES[8]*(1.00000 - STATES[8]/CONSTANTS[27]);
ALGEBRAIC[0] = (CONSTANTS[18] - STATES[10])/1.00000;
RATES[10] = ( CONSTANTS[19]*STATES[3]*ALGEBRAIC[0])/(CONSTANTS[21]+ALGEBRAIC[0]) - ( CONSTANTS[20]*STATES[10])/(CONSTANTS[22]+STATES[10]);
ALGEBRAIC[9] = (CONSTANTS[23] - STATES[13])/1.00000;
ALGEBRAIC[15] = STATES[9];
ALGEBRAIC[17] = CONSTANTS[49]+ CONSTANTS[50]*ALGEBRAIC[15];
ALGEBRAIC[1] =  CONSTANTS[6]*STATES[8];
ALGEBRAIC[19] = CONSTANTS[51]+ CONSTANTS[52]*STATES[0]+ CONSTANTS[53]*STATES[3]+ CONSTANTS[54]*STATES[6]+ CONSTANTS[55]*ALGEBRAIC[1];
RATES[13] = ( ALGEBRAIC[9]*ALGEBRAIC[17])/(CONSTANTS[24]+ALGEBRAIC[9]) - ( STATES[13]*ALGEBRAIC[19])/(CONSTANTS[25]+STATES[13]);
ALGEBRAIC[20] = (CONSTANTS[58]+ CONSTANTS[59]*STATES[0]+ CONSTANTS[62]*STATES[3]+ CONSTANTS[60]*STATES[6]+ CONSTANTS[61]*ALGEBRAIC[1])/(1.00000+ CONSTANTS[63]*ALGEBRAIC[15]);
ALGEBRAIC[14] = CONSTANTS[41]+ (CONSTANTS[42]+CONSTANTS[43])*STATES[9]+ CONSTANTS[43]*STATES[11];
RATES[1] = (( CONSTANTS[0]*STATES[2]*STATES[0] -  CONSTANTS[1]*STATES[1]) -  ALGEBRAIC[20]*STATES[1]) -  ALGEBRAIC[14]*STATES[1];
ALGEBRAIC[13] = CONSTANTS[37]+ CONSTANTS[38]*STATES[6]+ CONSTANTS[39]*STATES[0]+ CONSTANTS[40]*STATES[3];
RATES[7] = (( CONSTANTS[5]*STATES[2]*STATES[6] -  CONSTANTS[4]*STATES[7]) -  ALGEBRAIC[20]*STATES[7]) -  ALGEBRAIC[13]*STATES[7];
ALGEBRAIC[10] = CONSTANTS[28]+ CONSTANTS[29]*STATES[0]+ CONSTANTS[30]*STATES[6]+ CONSTANTS[31]*ALGEBRAIC[1];
ALGEBRAIC[11] = CONSTANTS[32]+ CONSTANTS[33]*STATES[0]+ CONSTANTS[34]*STATES[3];
ALGEBRAIC[12] = ( 2.00000*ALGEBRAIC[10]*CONSTANTS[35])/((ALGEBRAIC[11] - ALGEBRAIC[10])+ CONSTANTS[36]*ALGEBRAIC[11]+ CONSTANTS[35]*ALGEBRAIC[10]+ pow((pow((ALGEBRAIC[11] - ALGEBRAIC[10])+ CONSTANTS[36]*ALGEBRAIC[11]+ CONSTANTS[35]*ALGEBRAIC[10], 2.00000) -  4.00000*(ALGEBRAIC[11] - ALGEBRAIC[10])*CONSTANTS[35]*ALGEBRAIC[10]), 1.0 / 2));
ALGEBRAIC[21] =  STATES[8]*(CONSTANTS[70]+ CONSTANTS[71]*ALGEBRAIC[12]);
RATES[0] = (( CONSTANTS[1]*STATES[1]+ ALGEBRAIC[20]*STATES[1]+ALGEBRAIC[21]) -  ALGEBRAIC[14]*STATES[0]) -  CONSTANTS[0]*STATES[2]*STATES[0];
ALGEBRAIC[23] =  STATES[8]*(CONSTANTS[72]+ CONSTANTS[73]*ALGEBRAIC[12]);
RATES[6] = (( CONSTANTS[4]*STATES[7]+ ALGEBRAIC[20]*STATES[7]+ALGEBRAIC[23]) -  ALGEBRAIC[13]*STATES[6]) -  CONSTANTS[5]*STATES[2]*STATES[6];
ALGEBRAIC[25] = CONSTANTS[74]+ CONSTANTS[75]*STATES[13]+ CONSTANTS[76]*STATES[9];
ALGEBRAIC[16] = ( 2.00000*CONSTANTS[44]*ALGEBRAIC[15]*CONSTANTS[47])/(((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])+ CONSTANTS[48]*(CONSTANTS[45]+ CONSTANTS[46]*STATES[3])+ CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15]+ pow((pow(((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])+ CONSTANTS[48]*(CONSTANTS[45]+ CONSTANTS[46]*STATES[3])+ CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15], 2.00000) -  4.00000*((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])*CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15]), 1.0 / 2));
ALGEBRAIC[18] = CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[16];
RATES[2] = ((((((( - CONSTANTS[2]*STATES[3]*STATES[2]+ CONSTANTS[3]*STATES[5]) -  CONSTANTS[2]*STATES[4]*STATES[2])+ CONSTANTS[3]*STATES[12]+ ALGEBRAIC[25]*STATES[5]+ ALGEBRAIC[25]*STATES[12]+ALGEBRAIC[18]) -  ALGEBRAIC[20]*STATES[2]) -  CONSTANTS[0]*STATES[2]*STATES[0])+ CONSTANTS[1]*STATES[1]+ ALGEBRAIC[14]*STATES[1]) -  CONSTANTS[5]*STATES[2]*STATES[6])+ CONSTANTS[4]*STATES[7]+ ALGEBRAIC[13]*STATES[7];
ALGEBRAIC[22] = ( 2.00000*CONSTANTS[64]*STATES[3]*CONSTANTS[66])/((CONSTANTS[65] -  CONSTANTS[64]*STATES[3])+ CONSTANTS[67]*CONSTANTS[65]+ CONSTANTS[66]*CONSTANTS[64]*STATES[3]+ pow((pow((CONSTANTS[65] -  CONSTANTS[64]*STATES[3])+ CONSTANTS[67]*CONSTANTS[65]+ CONSTANTS[66]*CONSTANTS[64]*STATES[3], 2.00000) -  4.00000*(CONSTANTS[65] -  CONSTANTS[64]*STATES[3])*CONSTANTS[64]*STATES[3]*CONSTANTS[66]), 1.0 / 2));
ALGEBRAIC[24] =  STATES[8]*(CONSTANTS[68]+ CONSTANTS[69]*ALGEBRAIC[22]);
ALGEBRAIC[28] = ( 2.00000*(CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89])/(((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))+ CONSTANTS[90]*(CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15])+ (CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89]+ pow((pow(((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))+ CONSTANTS[90]*(CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15])+ (CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89], 2.00000) -  4.00000*((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))*(CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89]), 1.0 / 2));
ALGEBRAIC[29] = CONSTANTS[91]+ CONSTANTS[92]*ALGEBRAIC[28];
ALGEBRAIC[26] = ( 2.00000*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])*CONSTANTS[81])/(((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))+ CONSTANTS[82]*(CONSTANTS[79]+ CONSTANTS[80]*STATES[3])+ CONSTANTS[81]*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])+ pow((pow(((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))+ CONSTANTS[82]*(CONSTANTS[79]+ CONSTANTS[80]*STATES[3])+ CONSTANTS[81]*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]), 2.00000) -  4.00000*((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])*CONSTANTS[81]), 1.0 / 2));
ALGEBRAIC[27] = CONSTANTS[83]+ CONSTANTS[84]*ALGEBRAIC[26];
RATES[3] = ((((ALGEBRAIC[24] -  ALGEBRAIC[25]*STATES[3])+ ALGEBRAIC[29]*STATES[4]) -  ALGEBRAIC[27]*STATES[3]) -  CONSTANTS[2]*STATES[3]*STATES[2])+ CONSTANTS[3]*STATES[5]+ ALGEBRAIC[20]*STATES[5];
RATES[4] = ((( ALGEBRAIC[27]*STATES[3] -  ALGEBRAIC[25]*STATES[4]) -  CONSTANTS[2]*STATES[4]*STATES[2])+ CONSTANTS[3]*STATES[12]+ ALGEBRAIC[20]*STATES[12]) -  ALGEBRAIC[29]*STATES[4];
RATES[5] = (((( CONSTANTS[2]*STATES[3]*STATES[2] -  CONSTANTS[3]*STATES[5])+ ALGEBRAIC[29]*STATES[12]) -  ALGEBRAIC[27]*STATES[5]) -  ALGEBRAIC[25]*STATES[5]) -  ALGEBRAIC[20]*STATES[5];
RATES[12] = (((( CONSTANTS[2]*STATES[4]*STATES[2] -  CONSTANTS[3]*STATES[12]) -  ALGEBRAIC[29]*STATES[12])+ ALGEBRAIC[27]*STATES[5]) -  ALGEBRAIC[25]*STATES[12]) -  ALGEBRAIC[20]*STATES[12];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (CONSTANTS[18] - STATES[10])/1.00000;
ALGEBRAIC[9] = (CONSTANTS[23] - STATES[13])/1.00000;
ALGEBRAIC[15] = STATES[9];
ALGEBRAIC[17] = CONSTANTS[49]+ CONSTANTS[50]*ALGEBRAIC[15];
ALGEBRAIC[1] =  CONSTANTS[6]*STATES[8];
ALGEBRAIC[19] = CONSTANTS[51]+ CONSTANTS[52]*STATES[0]+ CONSTANTS[53]*STATES[3]+ CONSTANTS[54]*STATES[6]+ CONSTANTS[55]*ALGEBRAIC[1];
ALGEBRAIC[20] = (CONSTANTS[58]+ CONSTANTS[59]*STATES[0]+ CONSTANTS[62]*STATES[3]+ CONSTANTS[60]*STATES[6]+ CONSTANTS[61]*ALGEBRAIC[1])/(1.00000+ CONSTANTS[63]*ALGEBRAIC[15]);
ALGEBRAIC[14] = CONSTANTS[41]+ (CONSTANTS[42]+CONSTANTS[43])*STATES[9]+ CONSTANTS[43]*STATES[11];
ALGEBRAIC[13] = CONSTANTS[37]+ CONSTANTS[38]*STATES[6]+ CONSTANTS[39]*STATES[0]+ CONSTANTS[40]*STATES[3];
ALGEBRAIC[10] = CONSTANTS[28]+ CONSTANTS[29]*STATES[0]+ CONSTANTS[30]*STATES[6]+ CONSTANTS[31]*ALGEBRAIC[1];
ALGEBRAIC[11] = CONSTANTS[32]+ CONSTANTS[33]*STATES[0]+ CONSTANTS[34]*STATES[3];
ALGEBRAIC[12] = ( 2.00000*ALGEBRAIC[10]*CONSTANTS[35])/((ALGEBRAIC[11] - ALGEBRAIC[10])+ CONSTANTS[36]*ALGEBRAIC[11]+ CONSTANTS[35]*ALGEBRAIC[10]+ pow((pow((ALGEBRAIC[11] - ALGEBRAIC[10])+ CONSTANTS[36]*ALGEBRAIC[11]+ CONSTANTS[35]*ALGEBRAIC[10], 2.00000) -  4.00000*(ALGEBRAIC[11] - ALGEBRAIC[10])*CONSTANTS[35]*ALGEBRAIC[10]), 1.0 / 2));
ALGEBRAIC[21] =  STATES[8]*(CONSTANTS[70]+ CONSTANTS[71]*ALGEBRAIC[12]);
ALGEBRAIC[23] =  STATES[8]*(CONSTANTS[72]+ CONSTANTS[73]*ALGEBRAIC[12]);
ALGEBRAIC[25] = CONSTANTS[74]+ CONSTANTS[75]*STATES[13]+ CONSTANTS[76]*STATES[9];
ALGEBRAIC[16] = ( 2.00000*CONSTANTS[44]*ALGEBRAIC[15]*CONSTANTS[47])/(((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])+ CONSTANTS[48]*(CONSTANTS[45]+ CONSTANTS[46]*STATES[3])+ CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15]+ pow((pow(((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])+ CONSTANTS[48]*(CONSTANTS[45]+ CONSTANTS[46]*STATES[3])+ CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15], 2.00000) -  4.00000*((CONSTANTS[45]+ CONSTANTS[46]*STATES[3]) -  CONSTANTS[44]*ALGEBRAIC[15])*CONSTANTS[47]*CONSTANTS[44]*ALGEBRAIC[15]), 1.0 / 2));
ALGEBRAIC[18] = CONSTANTS[56]+ CONSTANTS[57]*ALGEBRAIC[16];
ALGEBRAIC[22] = ( 2.00000*CONSTANTS[64]*STATES[3]*CONSTANTS[66])/((CONSTANTS[65] -  CONSTANTS[64]*STATES[3])+ CONSTANTS[67]*CONSTANTS[65]+ CONSTANTS[66]*CONSTANTS[64]*STATES[3]+ pow((pow((CONSTANTS[65] -  CONSTANTS[64]*STATES[3])+ CONSTANTS[67]*CONSTANTS[65]+ CONSTANTS[66]*CONSTANTS[64]*STATES[3], 2.00000) -  4.00000*(CONSTANTS[65] -  CONSTANTS[64]*STATES[3])*CONSTANTS[64]*STATES[3]*CONSTANTS[66]), 1.0 / 2));
ALGEBRAIC[24] =  STATES[8]*(CONSTANTS[68]+ CONSTANTS[69]*ALGEBRAIC[22]);
ALGEBRAIC[28] = ( 2.00000*(CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89])/(((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))+ CONSTANTS[90]*(CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15])+ (CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89]+ pow((pow(((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))+ CONSTANTS[90]*(CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15])+ (CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89], 2.00000) -  4.00000*((CONSTANTS[87]+ CONSTANTS[88]*ALGEBRAIC[15]) - (CONSTANTS[85]+ CONSTANTS[86]*STATES[3]))*(CONSTANTS[85]+ CONSTANTS[86]*STATES[3])*CONSTANTS[89]), 1.0 / 2));
ALGEBRAIC[29] = CONSTANTS[91]+ CONSTANTS[92]*ALGEBRAIC[28];
ALGEBRAIC[26] = ( 2.00000*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])*CONSTANTS[81])/(((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))+ CONSTANTS[82]*(CONSTANTS[79]+ CONSTANTS[80]*STATES[3])+ CONSTANTS[81]*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])+ pow((pow(((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))+ CONSTANTS[82]*(CONSTANTS[79]+ CONSTANTS[80]*STATES[3])+ CONSTANTS[81]*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]), 2.00000) -  4.00000*((CONSTANTS[79]+ CONSTANTS[80]*STATES[3]) - (CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15]))*(CONSTANTS[77]+ CONSTANTS[78]*ALGEBRAIC[15])*CONSTANTS[81]), 1.0 / 2));
ALGEBRAIC[27] = CONSTANTS[83]+ CONSTANTS[84]*ALGEBRAIC[26];
ALGEBRAIC[2] = STATES[4]+STATES[5];
ALGEBRAIC[3] = STATES[3]+STATES[4]+STATES[5]+STATES[12];
ALGEBRAIC[4] = STATES[0]+STATES[1];
ALGEBRAIC[5] = STATES[6]+STATES[7];
ALGEBRAIC[6] = STATES[5]+STATES[12];
ALGEBRAIC[7] = STATES[2]+STATES[5]+STATES[12]+STATES[1]+STATES[7];
ALGEBRAIC[8] = STATES[11]+STATES[9];
}