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 107 entries in the algebraic variable array.
   There are a total of 43 entries in each of the rate and state variable arrays.
   There are a total of 85 entries in the constant variable array.
 */
/*
 * CONSTANTS[58] is Aj_nj in component cell (um2).
 * CONSTANTS[0] is BCa in component calcium (mM).
 * CONSTANTS[1] is CSQN in component calcium (mM).
 * STATES[0] is CaSR1 in component calcium (mM).
 * STATES[1] is CaSR2 in component calcium (mM).
 * STATES[2] is CaSR3 in component calcium (mM).
 * STATES[3] is CaSR4 in component calcium (mM).
 * STATES[4] is Cai1 in component calcium (mM).
 * STATES[5] is Cai2 in component calcium (mM).
 * STATES[6] is Cai3 in component calcium (mM).
 * STATES[7] is Cai4 in component calcium (mM).
 * STATES[8] is Cass in component calcium (mM).
 * CONSTANTS[2] is DCa in component calcium (m2_per_s_times_1e_minus_12).
 * CONSTANTS[3] is DCaBm in component calcium (m2_per_s_times_1e_minus_12).
 * CONSTANTS[4] is DCaSR in component calcium (m2_per_s_times_1e_minus_12).
 * CONSTANTS[5] is F in component phys (C_per_mol).
 * ALGEBRAIC[58] is ICaL in component ical (pA).
 * ALGEBRAIC[63] is ICaP in component icap (pA).
 * ALGEBRAIC[81] is ICab in component icab (pA).
 * ALGEBRAIC[71] is INaCa in component inaca (pA).
 * ALGEBRAIC[75] is JCa1 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[76] is JCa2 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[77] is JCa3 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[48] is JCa4 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[93] is JCass in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[72] is JSRCa1 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[73] is JSRCa2 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[74] is JSRCa3 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[91] is JSRCa4 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[0] is JSRCaleak1 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[1] is JSRCaleak2 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[2] is JSRCaleak3 in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[3] is JSRCaleakss in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[64] is J_SERCASR1 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[65] is J_SERCASR2 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[66] is J_SERCASR3 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[88] is J_SERCASRss in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[68] is J_bulkSERCA1 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[69] is J_bulkSERCA2 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[70] is J_bulkSERCA3 in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[90] is J_bulkSERCAss in component serca (kat_times_1e_minus_12).
 * ALGEBRAIC[31] is Jj_nj in component calcium (kat_times_1e_minus_12).
 * ALGEBRAIC[60] is Jrel1 in component ryr (kat_times_1e_minus_12).
 * ALGEBRAIC[61] is Jrel2 in component ryr (kat_times_1e_minus_12).
 * ALGEBRAIC[62] is Jrel3 in component ryr (kat_times_1e_minus_12).
 * ALGEBRAIC[86] is Jrelss in component ryr (kat_times_1e_minus_12).
 * CONSTANTS[6] is KdBCa in component calcium (mM).
 * CONSTANTS[7] is KdCSQN in component calcium (mM).
 * CONSTANTS[8] is KdSLhigh in component calcium (mM).
 * CONSTANTS[9] is KdSLlow in component calcium (mM).
 * CONSTANTS[10] is SLhigh in component calcium (mM).
 * CONSTANTS[11] is SLlow in component calcium (mM).
 * CONSTANTS[72] is VSR1 in component cell (nL).
 * CONSTANTS[77] is VSR2 in component cell (nL).
 * CONSTANTS[80] is VSR3 in component cell (nL).
 * CONSTANTS[83] is VSR4 in component cell (nL).
 * CONSTANTS[59] is Vnonjunct1 in component cell (nL).
 * CONSTANTS[71] is Vnonjunct2 in component cell (nL).
 * CONSTANTS[76] is Vnonjunct3 in component cell (nL).
 * CONSTANTS[79] is Vnonjunct4 in component cell (nL).
 * CONSTANTS[12] is Vss in component cell (nL).
 * ALGEBRAIC[28] is calcium_CaSR1_beta in component calcium (dimensionless).
 * ALGEBRAIC[29] is calcium_CaSR2_beta in component calcium (dimensionless).
 * ALGEBRAIC[30] is calcium_CaSR3_beta in component calcium (dimensionless).
 * ALGEBRAIC[49] is calcium_CaSR4_beta in component calcium (dimensionless).
 * ALGEBRAIC[50] is calcium_Cai1_beta in component calcium (dimensionless).
 * ALGEBRAIC[45] is calcium_Cai1_gamma in component calcium (dimensionless).
 * ALGEBRAIC[51] is calcium_Cai2_beta in component calcium (dimensionless).
 * ALGEBRAIC[46] is calcium_Cai2_gamma in component calcium (dimensionless).
 * ALGEBRAIC[52] is calcium_Cai3_beta in component calcium (dimensionless).
 * ALGEBRAIC[47] is calcium_Cai3_gamma in component calcium (dimensionless).
 * ALGEBRAIC[59] is calcium_Cai4_beta in component calcium (dimensionless).
 * ALGEBRAIC[53] is calcium_Cai4_gamma in component calcium (dimensionless).
 * ALGEBRAIC[54] is calcium_Cass_beta in component calcium (dimensionless).
 * ALGEBRAIC[82] is calcium_Cass_i_tot in component calcium (pA).
 * CONSTANTS[13] is dx in component cell (um).
 * CONSTANTS[14] is kSRleak in component calcium (hertz).
 * VOI is time in component engine (second).
 * CONSTANTS[60] is xj_nj in component cell (um).
 * CONSTANTS[15] is Cm in component cell (nF).
 * CONSTANTS[84] is Vcytosol in component cell (nL).
 * CONSTANTS[82] is Vnonjunct_Nai in component cell (nL).
 * CONSTANTS[16] is lcell in component cell (um).
 * CONSTANTS[17] is pi in component cell (dimensionless).
 * CONSTANTS[18] is rjunct in component cell (um).
 * CONSTANTS[61] is xj_nj_Nai in component cell (um).
 * CONSTANTS[19] is Cao in component extra (mM).
 * CONSTANTS[20] is Ko in component extra (mM).
 * CONSTANTS[21] is Nao in component extra (mM).
 * ALGEBRAIC[80] is ECa in component nernst (mV).
 * STATES[9] is V in component membrane (mV).
 * CONSTANTS[22] is gCab in component icab (nS).
 * CONSTANTS[23] is ECa_app in component ical (mV).
 * STATES[10] is d in component ical (hertz).
 * STATES[11] is f1 in component ical (hertz).
 * STATES[12] is f2 in component ical (hertz).
 * ALGEBRAIC[4] is f_inf in component ical (dimensionless).
 * STATES[13] is fca in component ical (hertz).
 * CONSTANTS[24] is gCaL in component ical (nS).
 * ALGEBRAIC[5] is ical_d_inf in component ical (dimensionless).
 * ALGEBRAIC[32] is ical_d_tau in component ical (second).
 * ALGEBRAIC[33] is ical_f1_tau in component ical (second).
 * ALGEBRAIC[34] is ical_f2_tau in component ical (second).
 * ALGEBRAIC[6] is ical_fca_inf in component ical (dimensionless).
 * CONSTANTS[25] is ical_fca_tau in component ical (second).
 * CONSTANTS[26] is kCa in component ical (mM).
 * CONSTANTS[27] is kCan in component ical (dimensionless).
 * CONSTANTS[28] is ICaPmax in component icap (pA).
 * CONSTANTS[29] is kCaP in component icap (mM).
 * ALGEBRAIC[83] is EK in component nernst (mV).
 * ALGEBRAIC[96] is ENa in component nernst (mV).
 * ALGEBRAIC[98] is If in component if (pA).
 * ALGEBRAIC[85] is IfK in component if (pA).
 * ALGEBRAIC[97] is IfNa in component if (pA).
 * CONSTANTS[30] is gIf in component if (nS).
 * ALGEBRAIC[7] is if_y_inf in component if (dimensionless).
 * ALGEBRAIC[35] is if_y_tau in component if (second).
 * STATES[14] is y in component if (hertz).
 * CONSTANTS[73] is FRT in component phys (per_mV).
 * ALGEBRAIC[87] is IK1 in component ik1 (pA).
 * CONSTANTS[62] is gK1 in component ik1 (nS).
 * ALGEBRAIC[89] is IKr in component ikr (pA).
 * CONSTANTS[31] is gKr in component ikr (nS).
 * ALGEBRAIC[8] is ikr_pa_inf in component ikr (dimensionless).
 * ALGEBRAIC[36] is ikr_pa_tau in component ikr (second).
 * STATES[15] is pa in component ikr (hertz).
 * ALGEBRAIC[67] is pi in component ikr (dimensionless).
 * ALGEBRAIC[92] is IKs in component iks (pA).
 * CONSTANTS[32] is gKs in component iks (nS).
 * ALGEBRAIC[9] is iks_n_inf in component iks (dimensionless).
 * ALGEBRAIC[37] is iks_n_tau in component iks (second).
 * STATES[16] is n in component iks (hertz).
 * ALGEBRAIC[94] is IKur in component ikur (pA).
 * CONSTANTS[63] is gKur in component ikur (nS).
 * ALGEBRAIC[10] is ikur_r_inf in component ikur (dimensionless).
 * ALGEBRAIC[38] is ikur_r_tau in component ikur (second).
 * ALGEBRAIC[11] is ikur_s_inf in component ikur (dimensionless).
 * ALGEBRAIC[39] is ikur_s_tau in component ikur (second).
 * STATES[17] is r in component ikur (hertz).
 * STATES[18] is s in component ikur (hertz).
 * ALGEBRAIC[99] is INa in component ina (pA).
 * CONSTANTS[33] is PNa in component ina (m3_per_s_times_1e_minus_12).
 * STATES[19] is h1 in component ina (hertz).
 * STATES[20] is h2 in component ina (hertz).
 * ALGEBRAIC[12] is h_inf in component ina (dimensionless).
 * ALGEBRAIC[40] is ina_h1_tau in component ina (second).
 * ALGEBRAIC[41] is ina_h2_tau in component ina (second).
 * ALGEBRAIC[13] is ina_m_inf in component ina (dimensionless).
 * ALGEBRAIC[42] is ina_m_tau in component ina (second).
 * STATES[21] is m in component ina (hertz).
 * ALGEBRAIC[100] is INab in component inab (pA).
 * CONSTANTS[34] is gNab in component inab (nS).
 * STATES[22] is Nass in component sodium (mM).
 * CONSTANTS[35] is dNaCa in component inaca (m12_per_mol4).
 * CONSTANTS[36] is fCaNCX in component inaca (dimensionless).
 * CONSTANTS[37] is gam in component inaca (dimensionless).
 * CONSTANTS[38] is kNaCa in component inaca (m12_A_per_mol4_times_1e_minus_12).
 * ALGEBRAIC[79] is INaK in component inak (pA).
 * CONSTANTS[39] is INaKmax in component inak (pA).
 * ALGEBRAIC[78] is Nass15 in component inak (dimensionless).
 * CONSTANTS[40] is kNaKK in component inak (mM).
 * CONSTANTS[41] is kNaKNa in component inak (dimensionless).
 * ALGEBRAIC[95] is It in component it (pA).
 * CONSTANTS[64] is gt in component it (nS).
 * ALGEBRAIC[14] is it_r_inf in component it (dimensionless).
 * ALGEBRAIC[43] is it_r_tau in component it (second).
 * ALGEBRAIC[15] is it_s_inf in component it (dimensionless).
 * ALGEBRAIC[44] is it_s_tau in component it (second).
 * STATES[23] is r in component it (hertz).
 * STATES[24] is s in component it (hertz).
 * ALGEBRAIC[101] is i_ion in component membrane (pA).
 * ALGEBRAIC[103] is i_stim in component stimulus (pA).
 * STATES[25] is Ki in component potassium (mM).
 * CONSTANTS[65] is RTF in component phys (mV).
 * CONSTANTS[42] is R in component phys (mJ_per_mol_per_K).
 * CONSTANTS[43] is T in component phys (kelvin).
 * ALGEBRAIC[105] is i_tot in component potassium (pA).
 * ALGEBRAIC[55] is SRCa1 in component ryr (dimensionless).
 * ALGEBRAIC[56] is SRCa2 in component ryr (dimensionless).
 * ALGEBRAIC[57] is SRCa3 in component ryr (dimensionless).
 * ALGEBRAIC[84] is SRCass in component ryr (dimensionless).
 * STATES[26] is a1 in component ryr (hertz).
 * STATES[27] is a2 in component ryr (hertz).
 * STATES[28] is a3 in component ryr (hertz).
 * ALGEBRAIC[16] is ainf1 in component ryr (dimensionless).
 * ALGEBRAIC[17] is ainf2 in component ryr (dimensionless).
 * ALGEBRAIC[18] is ainf3 in component ryr (dimensionless).
 * ALGEBRAIC[19] is ainfss in component ryr (dimensionless).
 * STATES[29] is ass in component ryr (hertz).
 * STATES[30] is c1 in component ryr (hertz).
 * STATES[31] is c2 in component ryr (hertz).
 * STATES[32] is c3 in component ryr (hertz).
 * ALGEBRAIC[20] is cinf1 in component ryr (dimensionless).
 * ALGEBRAIC[21] is cinf2 in component ryr (dimensionless).
 * ALGEBRAIC[22] is cinf3 in component ryr (dimensionless).
 * ALGEBRAIC[23] is cinfss in component ryr (dimensionless).
 * STATES[33] is css in component ryr (hertz).
 * CONSTANTS[74] is nu1 in component ryr (m3_per_s_times_1e_minus_12).
 * CONSTANTS[78] is nu2 in component ryr (m3_per_s_times_1e_minus_12).
 * CONSTANTS[81] is nu3 in component ryr (m3_per_s_times_1e_minus_12).
 * CONSTANTS[66] is nuss in component ryr (m3_per_s_times_1e_minus_12).
 * STATES[34] is o1 in component ryr (hertz).
 * STATES[35] is o2 in component ryr (hertz).
 * STATES[36] is o3 in component ryr (hertz).
 * ALGEBRAIC[24] is oinf1 in component ryr (dimensionless).
 * ALGEBRAIC[25] is oinf2 in component ryr (dimensionless).
 * ALGEBRAIC[26] is oinf3 in component ryr (dimensionless).
 * ALGEBRAIC[27] is oinfss in component ryr (dimensionless).
 * STATES[37] is oss in component ryr (hertz).
 * CONSTANTS[44] is tau_act in component ryr (second).
 * CONSTANTS[45] is tau_actss in component ryr (second).
 * CONSTANTS[46] is tau_adapt in component ryr (second).
 * CONSTANTS[47] is tau_inact in component ryr (second).
 * CONSTANTS[48] is tau_inactss in component ryr (second).
 * CONSTANTS[49] is SERCAKmf in component serca (mM).
 * CONSTANTS[50] is SERCAKmr in component serca (mM).
 * STATES[38] is a1 in component serca (mM).
 * STATES[39] is a2 in component serca (mM).
 * STATES[40] is a3 in component serca (mM).
 * STATES[41] is ass in component serca (mM).
 * CONSTANTS[51] is cpumps in component serca (mM).
 * CONSTANTS[67] is k1 in component serca (m6_per_s_per_mol2).
 * CONSTANTS[75] is k2 in component serca (hertz).
 * CONSTANTS[68] is k3 in component serca (m6_per_s_per_mol2).
 * CONSTANTS[52] is k4 in component serca (hertz).
 * CONSTANTS[69] is BNa in component sodium (mM).
 * CONSTANTS[53] is DNa in component sodium (m2_per_s_times_1e_minus_12).
 * ALGEBRAIC[102] is JNa in component sodium (kat_times_1e_minus_12).
 * CONSTANTS[54] is KdBNa in component sodium (mM).
 * STATES[42] is Nai in component sodium (mM).
 * ALGEBRAIC[104] is betaNass in component sodium (dimensionless).
 * ALGEBRAIC[106] is i_ss in component sodium (pA).
 * CONSTANTS[70] is amplitude in component stimulus (pA).
 * CONSTANTS[55] is duration in component stimulus (second).
 * CONSTANTS[56] is offset in component stimulus (second).
 * CONSTANTS[57] is period in component stimulus (second).
 * RATES[0] is d/dt CaSR1 in component calcium (mM).
 * RATES[1] is d/dt CaSR2 in component calcium (mM).
 * RATES[2] is d/dt CaSR3 in component calcium (mM).
 * RATES[3] is d/dt CaSR4 in component calcium (mM).
 * RATES[4] is d/dt Cai1 in component calcium (mM).
 * RATES[5] is d/dt Cai2 in component calcium (mM).
 * RATES[6] is d/dt Cai3 in component calcium (mM).
 * RATES[7] is d/dt Cai4 in component calcium (mM).
 * RATES[8] is d/dt Cass in component calcium (mM).
 * RATES[10] is d/dt d in component ical (hertz).
 * RATES[11] is d/dt f1 in component ical (hertz).
 * RATES[12] is d/dt f2 in component ical (hertz).
 * RATES[13] is d/dt fca in component ical (hertz).
 * RATES[14] is d/dt y in component if (hertz).
 * RATES[15] is d/dt pa in component ikr (hertz).
 * RATES[16] is d/dt n in component iks (hertz).
 * RATES[17] is d/dt r in component ikur (hertz).
 * RATES[18] is d/dt s in component ikur (hertz).
 * RATES[19] is d/dt h1 in component ina (hertz).
 * RATES[20] is d/dt h2 in component ina (hertz).
 * RATES[21] is d/dt m in component ina (hertz).
 * RATES[23] is d/dt r in component it (hertz).
 * RATES[24] is d/dt s in component it (hertz).
 * RATES[9] is d/dt V in component membrane (mV).
 * RATES[25] is d/dt Ki in component potassium (mM).
 * RATES[26] is d/dt a1 in component ryr (hertz).
 * RATES[27] is d/dt a2 in component ryr (hertz).
 * RATES[28] is d/dt a3 in component ryr (hertz).
 * RATES[29] is d/dt ass in component ryr (hertz).
 * RATES[30] is d/dt c1 in component ryr (hertz).
 * RATES[31] is d/dt c2 in component ryr (hertz).
 * RATES[32] is d/dt c3 in component ryr (hertz).
 * RATES[33] is d/dt css in component ryr (hertz).
 * RATES[34] is d/dt o1 in component ryr (hertz).
 * RATES[35] is d/dt o2 in component ryr (hertz).
 * RATES[36] is d/dt o3 in component ryr (hertz).
 * RATES[37] is d/dt oss in component ryr (hertz).
 * RATES[38] is d/dt a1 in component serca (mM).
 * RATES[39] is d/dt a2 in component serca (mM).
 * RATES[40] is d/dt a3 in component serca (mM).
 * RATES[41] is d/dt ass in component serca (mM).
 * RATES[42] is d/dt Nai in component sodium (mM).
 * RATES[22] is d/dt Nass in component sodium (mM).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 0.024;
CONSTANTS[1] = 6.7;
STATES[0] = 0.6189225;
STATES[1] = 0.6076289;
STATES[2] = 0.5905266;
STATES[3] = 0.5738108;
STATES[4] = 1.35496500000000013e-04;
STATES[5] = 1.38142100000000014e-04;
STATES[6] = 1.44208699999999994e-04;
STATES[7] = 1.56184399999999995e-04;
STATES[8] = 1.61937700000000013e-04;
CONSTANTS[2] = 780.0;
CONSTANTS[3] = 25.0;
CONSTANTS[4] = 44.0;
CONSTANTS[5] = 96487.0;
CONSTANTS[6] = 0.00238;
CONSTANTS[7] = 0.8;
CONSTANTS[8] = 0.013;
CONSTANTS[9] = 1.1;
CONSTANTS[10] = 13.0;
CONSTANTS[11] = 165.0;
CONSTANTS[12] = 4.99231999999999966e-05;
CONSTANTS[13] = 1.625;
CONSTANTS[14] = 0.006;
CONSTANTS[15] = 0.05;
CONSTANTS[16] = 122.051;
CONSTANTS[17] = 3.14159265358979312e+00;
CONSTANTS[18] = 6.5;
CONSTANTS[19] = 1.8;
CONSTANTS[20] = 5.4;
CONSTANTS[21] = 130.0;
STATES[9] = -75.42786;
CONSTANTS[22] = 0.0952;
CONSTANTS[23] = 60.0;
STATES[10] = 1.06091699999999996e-05;
STATES[11] = 0.9988566;
STATES[12] = 0.9988624;
STATES[13] = 0.9744374;
CONSTANTS[24] = 25.3125;
CONSTANTS[25] = 0.002;
CONSTANTS[26] = 0.001;
CONSTANTS[27] = 2.0;
CONSTANTS[28] = 2.0;
CONSTANTS[29] = 0.0005;
CONSTANTS[30] = 1.0;
STATES[14] = 5.62066499999999969e-02;
CONSTANTS[31] = 0.5;
STATES[15] = 4.18941700000000008e-05;
CONSTANTS[32] = 1.0;
STATES[16] = 4.10975100000000003e-03;
STATES[17] = 3.11170299999999984e-04;
STATES[18] = 0.9751094;
CONSTANTS[33] = 0.0018;
STATES[19] = 0.90391;
STATES[20] = 0.9039673;
STATES[21] = 2.77581199999999990e-03;
CONSTANTS[34] = 0.060599;
STATES[22] = 8.691504;
CONSTANTS[35] = 0.0003;
CONSTANTS[36] = 1.0;
CONSTANTS[37] = 0.45;
CONSTANTS[38] = 0.0084;
CONSTANTS[39] = 70.8253;
CONSTANTS[40] = 1.0;
CONSTANTS[41] = 11.0;
STATES[23] = 9.59425800000000026e-04;
STATES[24] = 0.954338;
STATES[25] = 134.6313;
CONSTANTS[42] = 8314.0;
CONSTANTS[43] = 306.15;
STATES[26] = 0.1925362;
STATES[27] = 0.2010345;
STATES[28] = 0.2163122;
STATES[29] = 0.2455297;
STATES[30] = 0.9993722;
STATES[31] = 0.9995086;
STATES[32] = 0.9995604;
STATES[33] = 0.9999717;
STATES[34] = 9.47851400000000044e-05;
STATES[35] = 7.76550300000000031e-05;
STATES[36] = 5.67494700000000006e-05;
STATES[37] = 3.97509699999999973e-05;
CONSTANTS[44] = 0.01875;
CONSTANTS[45] = 0.005;
CONSTANTS[46] = 1.0;
CONSTANTS[47] = 0.0875;
CONSTANTS[48] = 0.015;
CONSTANTS[49] = 0.00025;
CONSTANTS[50] = 1.8;
STATES[38] = 4.63856499999999988e-03;
STATES[39] = 4.51207800000000010e-03;
STATES[40] = 4.32640899999999981e-03;
STATES[41] = 4.25044500000000026e-03;
CONSTANTS[51] = 0.04;
CONSTANTS[52] = 7.5;
CONSTANTS[53] = 0.12;
CONSTANTS[54] = 10.0;
STATES[42] = 9.28686;
CONSTANTS[55] = 0.001;
CONSTANTS[56] = 0.01;
CONSTANTS[57] = 1.0;
CONSTANTS[58] =  ( ( ( CONSTANTS[17]*CONSTANTS[18])*2.00000)*CONSTANTS[16])*0.500000;
CONSTANTS[59] =  ( ( ( (pow( 1.00000*CONSTANTS[13], 2.00000) - pow( 0.00000*CONSTANTS[13], 2.00000))*CONSTANTS[17])*CONSTANTS[16])*0.500000)*1.00000e-06;
CONSTANTS[60] = 0.0200000/2.00000+CONSTANTS[13]/2.00000;
CONSTANTS[61] = 0.0200000/2.00000+ 2.00000*CONSTANTS[13];
CONSTANTS[62] =  3.82500*0.900000;
CONSTANTS[63] =  0.890000*2.75000;
CONSTANTS[64] =  1.09000*7.50000;
CONSTANTS[65] = ( CONSTANTS[42]*CONSTANTS[43])/CONSTANTS[5];
CONSTANTS[66] =  625.000*CONSTANTS[12];
CONSTANTS[67] =  pow(1000.00, 2.00000)*CONSTANTS[52];
CONSTANTS[68] = CONSTANTS[52]/pow(CONSTANTS[50], 2.00000);
CONSTANTS[69] =  0.490000*2.31000;
CONSTANTS[70] = - 2500.00;
CONSTANTS[71] =  ( ( ( (pow( 2.00000*CONSTANTS[13], 2.00000) - pow( 1.00000*CONSTANTS[13], 2.00000))*CONSTANTS[17])*CONSTANTS[16])*0.500000)*1.00000e-06;
CONSTANTS[72] =  (( 0.0500000*CONSTANTS[59])/2.00000)*0.900000;
CONSTANTS[73] = 1.00000/CONSTANTS[65];
CONSTANTS[74] =  1.00000*CONSTANTS[59];
CONSTANTS[75] =  CONSTANTS[67]*pow(CONSTANTS[49], 2.00000);
CONSTANTS[76] =  ( ( ( (pow( 3.00000*CONSTANTS[13], 2.00000) - pow( 2.00000*CONSTANTS[13], 2.00000))*CONSTANTS[17])*CONSTANTS[16])*0.500000)*1.00000e-06;
CONSTANTS[77] =  (( 0.0500000*CONSTANTS[71])/2.00000)*0.900000;
CONSTANTS[78] =  1.00000*CONSTANTS[71];
CONSTANTS[79] =  ( ( ( (pow( 4.00000*CONSTANTS[13], 2.00000) - pow( 3.00000*CONSTANTS[13], 2.00000))*CONSTANTS[17])*CONSTANTS[16])*0.500000)*1.00000e-06;
CONSTANTS[80] =  (( 0.0500000*CONSTANTS[76])/2.00000)*0.900000;
CONSTANTS[81] =  1.00000*CONSTANTS[76];
CONSTANTS[82] = ((CONSTANTS[59]+CONSTANTS[71])+CONSTANTS[76])+CONSTANTS[79];
CONSTANTS[83] =  (( 0.0500000*CONSTANTS[79])/2.00000)*0.900000;
CONSTANTS[84] = CONSTANTS[82]+CONSTANTS[12];
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[6] = 1.00000 - 1.00000/(1.00000+pow(CONSTANTS[26]/STATES[8], CONSTANTS[27]));
RATES[13] = (ALGEBRAIC[6] - STATES[13])/CONSTANTS[25];
ALGEBRAIC[16] = 0.505000 - 0.427000/(1.00000+exp(( STATES[4]*1000.00 - 0.290000)/0.0820000));
RATES[26] = (ALGEBRAIC[16] - STATES[26])/CONSTANTS[46];
ALGEBRAIC[17] = 0.505000 - 0.427000/(1.00000+exp(( STATES[5]*1000.00 - 0.290000)/0.0820000));
RATES[27] = (ALGEBRAIC[17] - STATES[27])/CONSTANTS[46];
ALGEBRAIC[18] = 0.505000 - 0.427000/(1.00000+exp(( STATES[6]*1000.00 - 0.290000)/0.0820000));
RATES[28] = (ALGEBRAIC[18] - STATES[28])/CONSTANTS[46];
ALGEBRAIC[19] = 0.505000 - 0.427000/(1.00000+exp(( STATES[8]*1000.00 - 0.290000)/0.0820000));
RATES[29] = (ALGEBRAIC[19] - STATES[29])/CONSTANTS[46];
ALGEBRAIC[20] = 1.00000/(1.00000+exp(( STATES[4]*1000.00 - (STATES[26]+0.0200000))/0.0100000));
RATES[30] = (ALGEBRAIC[20] - STATES[30])/CONSTANTS[47];
ALGEBRAIC[21] = 1.00000/(1.00000+exp(( STATES[5]*1000.00 - (STATES[27]+0.0200000))/0.0100000));
RATES[31] = (ALGEBRAIC[21] - STATES[31])/CONSTANTS[47];
ALGEBRAIC[22] = 1.00000/(1.00000+exp(( STATES[6]*1000.00 - (STATES[28]+0.0200000))/0.0100000));
RATES[32] = (ALGEBRAIC[22] - STATES[32])/CONSTANTS[47];
ALGEBRAIC[23] = 1.00000/(1.00000+exp(( STATES[8]*1000.00 - (STATES[29]+0.0200000))/0.0100000));
RATES[33] = (ALGEBRAIC[23] - STATES[33])/CONSTANTS[48];
ALGEBRAIC[24] = 1.00000 - 1.00000/(1.00000+exp(( STATES[4]*1000.00 - (STATES[26]+0.220000))/0.0300000));
RATES[34] = (ALGEBRAIC[24] - STATES[34])/CONSTANTS[44];
ALGEBRAIC[25] = 1.00000 - 1.00000/(1.00000+exp(( STATES[5]*1000.00 - (STATES[27]+0.220000))/0.0300000));
RATES[35] = (ALGEBRAIC[25] - STATES[35])/CONSTANTS[44];
ALGEBRAIC[26] = 1.00000 - 1.00000/(1.00000+exp(( STATES[6]*1000.00 - (STATES[28]+0.220000))/0.0300000));
RATES[36] = (ALGEBRAIC[26] - STATES[36])/CONSTANTS[44];
ALGEBRAIC[27] = 1.00000 - 1.00000/(1.00000+exp(( STATES[8]*1000.00 - (STATES[29]+0.220000))/0.0300000));
RATES[37] = (ALGEBRAIC[27] - STATES[37])/CONSTANTS[45];
ALGEBRAIC[5] = 1.00000/(1.00000+exp((STATES[9]+9.00000)/- 5.80000));
ALGEBRAIC[32] =  0.00270000*exp(- pow((STATES[9]+35.0000)/30.0000, 2.00000))+0.00200000;
RATES[10] = (ALGEBRAIC[5] - STATES[10])/ALGEBRAIC[32];
ALGEBRAIC[4] = 1.00000/(1.00000+exp((STATES[9]+27.4000)/7.10000));
ALGEBRAIC[33] = (( 0.986980*exp(- pow((STATES[9]+30.1605)/7.09396, 2.00000))+0.0427500/(1.00000+exp((STATES[9] - 51.6155)/- 80.6133)))+0.0357600/(1.00000+exp((STATES[9]+29.5727)/13.2176))) - 0.00821000;
RATES[11] = (ALGEBRAIC[4] - STATES[11])/ALGEBRAIC[33];
ALGEBRAIC[34] =  1.33230*exp(- pow((STATES[9]+40.0000)/14.2000, 2.00000))+0.0626000;
RATES[12] = (ALGEBRAIC[4] - STATES[12])/ALGEBRAIC[34];
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[9]+97.8287)/12.4802));
ALGEBRAIC[35] = 1.00000/( 0.00332000*exp(- STATES[9]/16.5410)+ 23.7184*exp(STATES[9]/16.5410));
RATES[14] = (ALGEBRAIC[7] - STATES[14])/ALGEBRAIC[35];
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[9]+15.0000)/- 6.00000));
ALGEBRAIC[36] =  0.217180*exp(- pow((STATES[9]+20.1376)/22.1996, 2.00000))+0.0311800;
RATES[15] = (ALGEBRAIC[8] - STATES[15])/ALGEBRAIC[36];
ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[9] - 19.9000)/- 12.7000));
ALGEBRAIC[37] =  0.400000*exp(- pow((STATES[9] - 20.0000)/20.0000, 2.00000))+0.700000;
RATES[16] = (ALGEBRAIC[9] - STATES[16])/ALGEBRAIC[37];
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[9]+6.00000)/- 8.60000));
ALGEBRAIC[38] = 0.00900000/(1.00000+exp((STATES[9]+5.00000)/12.0000))+0.000500000;
RATES[17] = (ALGEBRAIC[10] - STATES[17])/ALGEBRAIC[38];
ALGEBRAIC[11] = 1.00000/(1.00000+exp((STATES[9]+7.50000)/10.0000));
ALGEBRAIC[39] = 0.590000/(1.00000+exp((STATES[9]+60.0000)/10.0000))+3.05000;
RATES[18] = (ALGEBRAIC[11] - STATES[18])/ALGEBRAIC[39];
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[9]+63.6000)/5.30000));
ALGEBRAIC[40] = 0.0300000/(1.00000+exp((STATES[9]+35.1000)/3.20000))+0.000300000;
RATES[19] = (ALGEBRAIC[12] - STATES[19])/ALGEBRAIC[40];
ALGEBRAIC[41] = 0.120000/(1.00000+exp((STATES[9]+35.1000)/3.20000))+0.00300000;
RATES[20] = (ALGEBRAIC[12] - STATES[20])/ALGEBRAIC[41];
ALGEBRAIC[13] = 1.00000/(1.00000+exp((STATES[9]+27.1200)/- 8.21000));
ALGEBRAIC[42] =  4.20000e-05*exp(- pow((STATES[9]+25.5700)/28.8000, 2.00000))+2.40000e-05;
RATES[21] = (ALGEBRAIC[13] - STATES[21])/ALGEBRAIC[42];
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[9] - 1.00000)/- 11.0000));
ALGEBRAIC[43] =  0.00350000*exp(- pow((STATES[9]+0.00000)/30.0000, 2.00000))+0.00150000;
RATES[23] = (ALGEBRAIC[14] - STATES[23])/ALGEBRAIC[43];
ALGEBRAIC[15] = 1.00000/(1.00000+exp((STATES[9]+40.5000)/11.5000));
ALGEBRAIC[44] =  0.0256350*exp(- pow((STATES[9]+52.4500)/15.8827, 2.00000))+0.0141400;
RATES[24] = (ALGEBRAIC[15] - STATES[24])/ALGEBRAIC[44];
ALGEBRAIC[31] =  ( (( CONSTANTS[2]*CONSTANTS[58])/CONSTANTS[60])*(STATES[8] - STATES[7]))*1.00000e-06;
ALGEBRAIC[48] = ALGEBRAIC[31];
ALGEBRAIC[53] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[7]+CONSTANTS[6], 2.00000);
ALGEBRAIC[59] = 1.00000/(1.00000+ALGEBRAIC[53]);
RATES[7] = ( ( ALGEBRAIC[59]*(CONSTANTS[2]+ ALGEBRAIC[53]*CONSTANTS[3]))*(((STATES[7] -  2.00000*STATES[7])+STATES[6])/pow(CONSTANTS[13], 2.00000)+(STATES[7] - STATES[6])/( ( 2.00000*4.00000)*pow(CONSTANTS[13], 2.00000))) -  (( ( ( 2.00000*ALGEBRAIC[59])*ALGEBRAIC[53])*CONSTANTS[3])/(CONSTANTS[6]+STATES[7]))*pow((STATES[7] - STATES[6])/( 2.00000*CONSTANTS[13]), 2.00000))+ (ALGEBRAIC[48]/CONSTANTS[79])*ALGEBRAIC[59];
ALGEBRAIC[0] =  ( CONSTANTS[14]*(STATES[0] - STATES[4]))*CONSTANTS[59];
ALGEBRAIC[64] =  ( ( ( - CONSTANTS[68]*pow(STATES[0], 2.00000))*(CONSTANTS[51] - STATES[38])+ CONSTANTS[52]*STATES[38])*CONSTANTS[59])*2.00000;
ALGEBRAIC[55] = 1.00000 - 1.00000/(1.00000+exp((STATES[0] - 0.300000)/0.100000));
ALGEBRAIC[60] =  ( ( ( CONSTANTS[74]*STATES[34])*STATES[30])*ALGEBRAIC[55])*(STATES[0] - STATES[4]);
ALGEBRAIC[72] = (ALGEBRAIC[64] - ALGEBRAIC[0]) - ALGEBRAIC[60];
ALGEBRAIC[28] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[0]+CONSTANTS[7], 2.00000));
RATES[0] =  ( ALGEBRAIC[28]*CONSTANTS[4])*(((STATES[1] -  2.00000*STATES[0])+STATES[0])/pow(CONSTANTS[13], 2.00000)+(STATES[1] - STATES[0])/( ( 2.00000*1.00000)*pow(CONSTANTS[13], 2.00000)))+ (ALGEBRAIC[72]/CONSTANTS[72])*ALGEBRAIC[28];
ALGEBRAIC[1] =  ( CONSTANTS[14]*(STATES[1] - STATES[5]))*CONSTANTS[71];
ALGEBRAIC[65] =  ( ( ( - CONSTANTS[68]*pow(STATES[1], 2.00000))*(CONSTANTS[51] - STATES[39])+ CONSTANTS[52]*STATES[39])*CONSTANTS[71])*2.00000;
ALGEBRAIC[56] = 1.00000 - 1.00000/(1.00000+exp((STATES[1] - 0.300000)/0.100000));
ALGEBRAIC[61] =  ( ( ( CONSTANTS[78]*STATES[35])*STATES[31])*ALGEBRAIC[56])*(STATES[1] - STATES[5]);
ALGEBRAIC[73] = (ALGEBRAIC[65] - ALGEBRAIC[1]) - ALGEBRAIC[61];
ALGEBRAIC[29] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[1]+CONSTANTS[7], 2.00000));
RATES[1] =  ( ALGEBRAIC[29]*CONSTANTS[4])*(((STATES[2] -  2.00000*STATES[1])+STATES[0])/pow(CONSTANTS[13], 2.00000)+(STATES[2] - STATES[0])/( ( 2.00000*2.00000)*pow(CONSTANTS[13], 2.00000)))+ (ALGEBRAIC[73]/CONSTANTS[77])*ALGEBRAIC[29];
ALGEBRAIC[2] =  ( CONSTANTS[14]*(STATES[2] - STATES[6]))*CONSTANTS[76];
ALGEBRAIC[66] =  ( ( ( - CONSTANTS[68]*pow(STATES[2], 2.00000))*(CONSTANTS[51] - STATES[40])+ CONSTANTS[52]*STATES[40])*CONSTANTS[76])*2.00000;
ALGEBRAIC[57] = 1.00000 - 1.00000/(1.00000+exp((STATES[2] - 0.300000)/0.100000));
ALGEBRAIC[62] =  ( ( ( CONSTANTS[81]*STATES[36])*STATES[32])*ALGEBRAIC[57])*(STATES[2] - STATES[6]);
ALGEBRAIC[74] = (ALGEBRAIC[66] - ALGEBRAIC[2]) - ALGEBRAIC[62];
ALGEBRAIC[30] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[2]+CONSTANTS[7], 2.00000));
RATES[2] =  ( ALGEBRAIC[30]*CONSTANTS[4])*(((STATES[3] -  2.00000*STATES[2])+STATES[1])/pow(CONSTANTS[13], 2.00000)+(STATES[3] - STATES[1])/( ( 2.00000*3.00000)*pow(CONSTANTS[13], 2.00000)))+ (ALGEBRAIC[74]/CONSTANTS[80])*ALGEBRAIC[30];
ALGEBRAIC[68] =  ( ( ( CONSTANTS[67]*pow(STATES[4], 2.00000))*(CONSTANTS[51] - STATES[38]) -  CONSTANTS[75]*STATES[38])*CONSTANTS[59])*2.00000;
RATES[38] = ( 0.500000*(- ALGEBRAIC[64]+ALGEBRAIC[68]))/CONSTANTS[59];
ALGEBRAIC[69] =  ( ( ( CONSTANTS[67]*pow(STATES[5], 2.00000))*(CONSTANTS[51] - STATES[39]) -  CONSTANTS[75]*STATES[39])*CONSTANTS[71])*2.00000;
RATES[39] = ( 0.500000*(- ALGEBRAIC[65]+ALGEBRAIC[69]))/CONSTANTS[71];
ALGEBRAIC[70] =  ( ( ( CONSTANTS[67]*pow(STATES[6], 2.00000))*(CONSTANTS[51] - STATES[40]) -  CONSTANTS[75]*STATES[40])*CONSTANTS[76])*2.00000;
RATES[40] = ( 0.500000*(- ALGEBRAIC[66]+ALGEBRAIC[70]))/CONSTANTS[76];
ALGEBRAIC[75] = (- ALGEBRAIC[68]+ALGEBRAIC[0])+ALGEBRAIC[60];
ALGEBRAIC[45] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[4]+CONSTANTS[6], 2.00000);
ALGEBRAIC[50] = 1.00000/(1.00000+ALGEBRAIC[45]);
RATES[4] = ( ( ALGEBRAIC[50]*(CONSTANTS[2]+ ALGEBRAIC[45]*CONSTANTS[3]))*(((STATES[5] -  2.00000*STATES[4])+STATES[4])/pow(CONSTANTS[13], 2.00000)+(STATES[5] - STATES[4])/( ( 2.00000*1.00000)*pow(CONSTANTS[13], 2.00000))) -  (( ( ( 2.00000*ALGEBRAIC[50])*ALGEBRAIC[45])*CONSTANTS[3])/(CONSTANTS[6]+STATES[4]))*pow((STATES[5] - STATES[4])/( 2.00000*CONSTANTS[13]), 2.00000))+ (ALGEBRAIC[75]/CONSTANTS[59])*ALGEBRAIC[50];
ALGEBRAIC[76] = (- ALGEBRAIC[69]+ALGEBRAIC[1])+ALGEBRAIC[61];
ALGEBRAIC[46] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[5]+CONSTANTS[6], 2.00000);
ALGEBRAIC[51] = 1.00000/(1.00000+ALGEBRAIC[46]);
RATES[5] = ( ( ALGEBRAIC[51]*(CONSTANTS[2]+ ALGEBRAIC[46]*CONSTANTS[3]))*(((STATES[6] -  2.00000*STATES[5])+STATES[4])/pow(CONSTANTS[13], 2.00000)+(STATES[6] - STATES[4])/( ( 2.00000*2.00000)*pow(CONSTANTS[13], 2.00000))) -  (( ( ( 2.00000*ALGEBRAIC[51])*ALGEBRAIC[46])*CONSTANTS[3])/(CONSTANTS[6]+STATES[5]))*pow((STATES[6] - STATES[4])/( 2.00000*CONSTANTS[13]), 2.00000))+ (ALGEBRAIC[76]/CONSTANTS[71])*ALGEBRAIC[51];
ALGEBRAIC[77] = (- ALGEBRAIC[70]+ALGEBRAIC[2])+ALGEBRAIC[62];
ALGEBRAIC[47] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[6]+CONSTANTS[6], 2.00000);
ALGEBRAIC[52] = 1.00000/(1.00000+ALGEBRAIC[47]);
RATES[6] = ( ( ALGEBRAIC[52]*(CONSTANTS[2]+ ALGEBRAIC[47]*CONSTANTS[3]))*(((STATES[7] -  2.00000*STATES[6])+STATES[5])/pow(CONSTANTS[13], 2.00000)+(STATES[7] - STATES[5])/( ( 2.00000*3.00000)*pow(CONSTANTS[13], 2.00000))) -  (( ( ( 2.00000*ALGEBRAIC[52])*ALGEBRAIC[47])*CONSTANTS[3])/(CONSTANTS[6]+STATES[6]))*pow((STATES[7] - STATES[5])/( 2.00000*CONSTANTS[13]), 2.00000))+ (ALGEBRAIC[77]/CONSTANTS[76])*ALGEBRAIC[52];
ALGEBRAIC[3] =  ( CONSTANTS[14]*(STATES[3] - STATES[8]))*CONSTANTS[12];
ALGEBRAIC[88] =  ( ( ( - CONSTANTS[68]*pow(STATES[3], 2.00000))*(CONSTANTS[51] - STATES[41])+ CONSTANTS[52]*STATES[41])*CONSTANTS[12])*2.00000;
ALGEBRAIC[84] = 1.00000 - 1.00000/(1.00000+exp((STATES[3] - 0.300000)/0.100000));
ALGEBRAIC[86] =  ( ( ( CONSTANTS[66]*STATES[37])*STATES[33])*ALGEBRAIC[84])*(STATES[3] - STATES[8]);
ALGEBRAIC[91] = (ALGEBRAIC[88] - ALGEBRAIC[3]) - ALGEBRAIC[86];
ALGEBRAIC[49] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[3]+CONSTANTS[7], 2.00000));
RATES[3] =  ( ALGEBRAIC[49]*CONSTANTS[4])*(((STATES[3] -  2.00000*STATES[3])+STATES[2])/pow(CONSTANTS[13], 2.00000)+(STATES[3] - STATES[2])/( ( 2.00000*4.00000)*pow(CONSTANTS[13], 2.00000)))+ (ALGEBRAIC[91]/CONSTANTS[83])*ALGEBRAIC[49];
ALGEBRAIC[90] =  ( ( ( CONSTANTS[67]*pow(STATES[8], 2.00000))*(CONSTANTS[51] - STATES[41]) -  CONSTANTS[75]*STATES[41])*CONSTANTS[12])*2.00000;
RATES[41] = ( 0.500000*(- ALGEBRAIC[88]+ALGEBRAIC[90]))/CONSTANTS[12];
ALGEBRAIC[93] = ((- ALGEBRAIC[31]+ALGEBRAIC[3]) - ALGEBRAIC[90])+ALGEBRAIC[86];
ALGEBRAIC[54] = 1.00000/(((1.00000+( CONSTANTS[11]*CONSTANTS[9])/pow(STATES[8]+CONSTANTS[9], 2.00000))+( CONSTANTS[10]*CONSTANTS[8])/pow(STATES[8]+CONSTANTS[8], 2.00000))+( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[8]+CONSTANTS[6], 2.00000));
ALGEBRAIC[58] =  ( ( ( ( CONSTANTS[24]*STATES[10])*STATES[13])*STATES[11])*STATES[12])*(STATES[9] - CONSTANTS[23]);
ALGEBRAIC[63] = ( CONSTANTS[28]*STATES[8])/(CONSTANTS[29]+STATES[8]);
ALGEBRAIC[80] = ( CONSTANTS[65]*log(CONSTANTS[19]/STATES[8]))/2.00000;
ALGEBRAIC[81] =  CONSTANTS[22]*(STATES[9] - ALGEBRAIC[80]);
ALGEBRAIC[71] = ( CONSTANTS[38]*( ( exp( ( CONSTANTS[37]*STATES[9])*CONSTANTS[73])*pow(STATES[22], 3.00000))*CONSTANTS[19] -  ( ( exp( ( (CONSTANTS[37] - 1.00000)*STATES[9])*CONSTANTS[73])*pow(CONSTANTS[21], 3.00000))*STATES[8])*CONSTANTS[36]))/(1.00000+ CONSTANTS[35]*( ( pow(CONSTANTS[21], 3.00000)*STATES[8])*CONSTANTS[36]+ pow(STATES[22], 3.00000)*CONSTANTS[19]));
ALGEBRAIC[82] = ((- ALGEBRAIC[58] - ALGEBRAIC[81]) - ALGEBRAIC[63])+ 2.00000*ALGEBRAIC[71];
RATES[8] =  ALGEBRAIC[54]*(ALGEBRAIC[93]/CONSTANTS[12]+ALGEBRAIC[82]/( ( 2.00000*CONSTANTS[12])*CONSTANTS[5]));
ALGEBRAIC[102] =  ( (( CONSTANTS[53]*CONSTANTS[58])/CONSTANTS[61])*(STATES[22] - STATES[42]))*1.00000e-06;
RATES[42] = ALGEBRAIC[102]/CONSTANTS[82];
ALGEBRAIC[83] =  CONSTANTS[65]*log(CONSTANTS[20]/STATES[25]);
ALGEBRAIC[85] =  ( CONSTANTS[30]*STATES[14])*( (1.00000 - 0.267700)*(STATES[9] - ALGEBRAIC[83]));
ALGEBRAIC[96] =  CONSTANTS[65]*log(CONSTANTS[21]/STATES[22]);
ALGEBRAIC[97] =  ( CONSTANTS[30]*STATES[14])*( 0.267700*(STATES[9] - ALGEBRAIC[96]));
ALGEBRAIC[98] = ALGEBRAIC[85]+ALGEBRAIC[97];
ALGEBRAIC[87] = ( ( CONSTANTS[62]*pow( CONSTANTS[20]*1.00000, 0.445700))*(STATES[9] - ALGEBRAIC[83]))/(1.00000+exp( ( 1.50000*((STATES[9] - ALGEBRAIC[83])+3.60000))*CONSTANTS[73]));
ALGEBRAIC[67] = 1.00000/(1.00000+exp((STATES[9]+55.0000)/24.0000));
ALGEBRAIC[89] =  ( ( CONSTANTS[31]*STATES[15])*ALGEBRAIC[67])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[92] =  ( CONSTANTS[32]*STATES[16])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[94] =  ( ( CONSTANTS[63]*STATES[17])*STATES[18])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[99] = ( ( ( ( ( ( ( CONSTANTS[33]*pow(STATES[21], 3.00000))*( 0.900000*STATES[19]+ 0.100000*STATES[20]))*CONSTANTS[21])*STATES[9])*CONSTANTS[5])*CONSTANTS[73])*(exp( (STATES[9] - ALGEBRAIC[96])*CONSTANTS[73]) - 1.00000))/(exp( STATES[9]*CONSTANTS[73]) - 1.00000);
ALGEBRAIC[100] =  CONSTANTS[34]*(STATES[9] - ALGEBRAIC[96]);
ALGEBRAIC[78] = pow( STATES[22]*1.00000, 1.50000);
ALGEBRAIC[79] = ( (( (( CONSTANTS[39]*CONSTANTS[20])/(CONSTANTS[20]+CONSTANTS[40]))*ALGEBRAIC[78])/(ALGEBRAIC[78]+pow(CONSTANTS[41], 1.50000)))*(STATES[9]+150.000))/(STATES[9]+200.000);
ALGEBRAIC[95] =  ( ( CONSTANTS[64]*STATES[23])*STATES[24])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[101] = ((((((((((((ALGEBRAIC[99])+ALGEBRAIC[58])+ALGEBRAIC[95])+ALGEBRAIC[94])+ALGEBRAIC[87])+ALGEBRAIC[89])+ALGEBRAIC[92])+ALGEBRAIC[100])+ALGEBRAIC[81])+ALGEBRAIC[79])+ALGEBRAIC[63])+ALGEBRAIC[71])+ALGEBRAIC[98];
ALGEBRAIC[103] =  ((VOI - CONSTANTS[56]) -  CONSTANTS[57]*floor((VOI - CONSTANTS[56])/CONSTANTS[57])<CONSTANTS[55] ? 1.00000 : 0.00000)*CONSTANTS[70];
RATES[9] = - (ALGEBRAIC[101]+ALGEBRAIC[103])/CONSTANTS[15];
ALGEBRAIC[105] = (((((((ALGEBRAIC[95])+ALGEBRAIC[94])+ALGEBRAIC[87])+ALGEBRAIC[89])+ALGEBRAIC[92]) -  2.00000*ALGEBRAIC[79])+ALGEBRAIC[85])+ALGEBRAIC[103];
RATES[25] = - ALGEBRAIC[105]/( CONSTANTS[84]*CONSTANTS[5]);
ALGEBRAIC[104] = 1.00000/(1.00000+( CONSTANTS[69]*CONSTANTS[54])/pow(STATES[22]+CONSTANTS[54], 2.00000));
ALGEBRAIC[106] = ((((ALGEBRAIC[99])+ALGEBRAIC[100])+ 3.00000*ALGEBRAIC[79])+ 3.00000*ALGEBRAIC[71])+ALGEBRAIC[97];
RATES[22] =  ALGEBRAIC[104]*(- ALGEBRAIC[102]/CONSTANTS[12] - ALGEBRAIC[106]/( CONSTANTS[12]*CONSTANTS[5]));
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[6] = 1.00000 - 1.00000/(1.00000+pow(CONSTANTS[26]/STATES[8], CONSTANTS[27]));
ALGEBRAIC[16] = 0.505000 - 0.427000/(1.00000+exp(( STATES[4]*1000.00 - 0.290000)/0.0820000));
ALGEBRAIC[17] = 0.505000 - 0.427000/(1.00000+exp(( STATES[5]*1000.00 - 0.290000)/0.0820000));
ALGEBRAIC[18] = 0.505000 - 0.427000/(1.00000+exp(( STATES[6]*1000.00 - 0.290000)/0.0820000));
ALGEBRAIC[19] = 0.505000 - 0.427000/(1.00000+exp(( STATES[8]*1000.00 - 0.290000)/0.0820000));
ALGEBRAIC[20] = 1.00000/(1.00000+exp(( STATES[4]*1000.00 - (STATES[26]+0.0200000))/0.0100000));
ALGEBRAIC[21] = 1.00000/(1.00000+exp(( STATES[5]*1000.00 - (STATES[27]+0.0200000))/0.0100000));
ALGEBRAIC[22] = 1.00000/(1.00000+exp(( STATES[6]*1000.00 - (STATES[28]+0.0200000))/0.0100000));
ALGEBRAIC[23] = 1.00000/(1.00000+exp(( STATES[8]*1000.00 - (STATES[29]+0.0200000))/0.0100000));
ALGEBRAIC[24] = 1.00000 - 1.00000/(1.00000+exp(( STATES[4]*1000.00 - (STATES[26]+0.220000))/0.0300000));
ALGEBRAIC[25] = 1.00000 - 1.00000/(1.00000+exp(( STATES[5]*1000.00 - (STATES[27]+0.220000))/0.0300000));
ALGEBRAIC[26] = 1.00000 - 1.00000/(1.00000+exp(( STATES[6]*1000.00 - (STATES[28]+0.220000))/0.0300000));
ALGEBRAIC[27] = 1.00000 - 1.00000/(1.00000+exp(( STATES[8]*1000.00 - (STATES[29]+0.220000))/0.0300000));
ALGEBRAIC[5] = 1.00000/(1.00000+exp((STATES[9]+9.00000)/- 5.80000));
ALGEBRAIC[32] =  0.00270000*exp(- pow((STATES[9]+35.0000)/30.0000, 2.00000))+0.00200000;
ALGEBRAIC[4] = 1.00000/(1.00000+exp((STATES[9]+27.4000)/7.10000));
ALGEBRAIC[33] = (( 0.986980*exp(- pow((STATES[9]+30.1605)/7.09396, 2.00000))+0.0427500/(1.00000+exp((STATES[9] - 51.6155)/- 80.6133)))+0.0357600/(1.00000+exp((STATES[9]+29.5727)/13.2176))) - 0.00821000;
ALGEBRAIC[34] =  1.33230*exp(- pow((STATES[9]+40.0000)/14.2000, 2.00000))+0.0626000;
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[9]+97.8287)/12.4802));
ALGEBRAIC[35] = 1.00000/( 0.00332000*exp(- STATES[9]/16.5410)+ 23.7184*exp(STATES[9]/16.5410));
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[9]+15.0000)/- 6.00000));
ALGEBRAIC[36] =  0.217180*exp(- pow((STATES[9]+20.1376)/22.1996, 2.00000))+0.0311800;
ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[9] - 19.9000)/- 12.7000));
ALGEBRAIC[37] =  0.400000*exp(- pow((STATES[9] - 20.0000)/20.0000, 2.00000))+0.700000;
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[9]+6.00000)/- 8.60000));
ALGEBRAIC[38] = 0.00900000/(1.00000+exp((STATES[9]+5.00000)/12.0000))+0.000500000;
ALGEBRAIC[11] = 1.00000/(1.00000+exp((STATES[9]+7.50000)/10.0000));
ALGEBRAIC[39] = 0.590000/(1.00000+exp((STATES[9]+60.0000)/10.0000))+3.05000;
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[9]+63.6000)/5.30000));
ALGEBRAIC[40] = 0.0300000/(1.00000+exp((STATES[9]+35.1000)/3.20000))+0.000300000;
ALGEBRAIC[41] = 0.120000/(1.00000+exp((STATES[9]+35.1000)/3.20000))+0.00300000;
ALGEBRAIC[13] = 1.00000/(1.00000+exp((STATES[9]+27.1200)/- 8.21000));
ALGEBRAIC[42] =  4.20000e-05*exp(- pow((STATES[9]+25.5700)/28.8000, 2.00000))+2.40000e-05;
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[9] - 1.00000)/- 11.0000));
ALGEBRAIC[43] =  0.00350000*exp(- pow((STATES[9]+0.00000)/30.0000, 2.00000))+0.00150000;
ALGEBRAIC[15] = 1.00000/(1.00000+exp((STATES[9]+40.5000)/11.5000));
ALGEBRAIC[44] =  0.0256350*exp(- pow((STATES[9]+52.4500)/15.8827, 2.00000))+0.0141400;
ALGEBRAIC[31] =  ( (( CONSTANTS[2]*CONSTANTS[58])/CONSTANTS[60])*(STATES[8] - STATES[7]))*1.00000e-06;
ALGEBRAIC[48] = ALGEBRAIC[31];
ALGEBRAIC[53] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[7]+CONSTANTS[6], 2.00000);
ALGEBRAIC[59] = 1.00000/(1.00000+ALGEBRAIC[53]);
ALGEBRAIC[0] =  ( CONSTANTS[14]*(STATES[0] - STATES[4]))*CONSTANTS[59];
ALGEBRAIC[64] =  ( ( ( - CONSTANTS[68]*pow(STATES[0], 2.00000))*(CONSTANTS[51] - STATES[38])+ CONSTANTS[52]*STATES[38])*CONSTANTS[59])*2.00000;
ALGEBRAIC[55] = 1.00000 - 1.00000/(1.00000+exp((STATES[0] - 0.300000)/0.100000));
ALGEBRAIC[60] =  ( ( ( CONSTANTS[74]*STATES[34])*STATES[30])*ALGEBRAIC[55])*(STATES[0] - STATES[4]);
ALGEBRAIC[72] = (ALGEBRAIC[64] - ALGEBRAIC[0]) - ALGEBRAIC[60];
ALGEBRAIC[28] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[0]+CONSTANTS[7], 2.00000));
ALGEBRAIC[1] =  ( CONSTANTS[14]*(STATES[1] - STATES[5]))*CONSTANTS[71];
ALGEBRAIC[65] =  ( ( ( - CONSTANTS[68]*pow(STATES[1], 2.00000))*(CONSTANTS[51] - STATES[39])+ CONSTANTS[52]*STATES[39])*CONSTANTS[71])*2.00000;
ALGEBRAIC[56] = 1.00000 - 1.00000/(1.00000+exp((STATES[1] - 0.300000)/0.100000));
ALGEBRAIC[61] =  ( ( ( CONSTANTS[78]*STATES[35])*STATES[31])*ALGEBRAIC[56])*(STATES[1] - STATES[5]);
ALGEBRAIC[73] = (ALGEBRAIC[65] - ALGEBRAIC[1]) - ALGEBRAIC[61];
ALGEBRAIC[29] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[1]+CONSTANTS[7], 2.00000));
ALGEBRAIC[2] =  ( CONSTANTS[14]*(STATES[2] - STATES[6]))*CONSTANTS[76];
ALGEBRAIC[66] =  ( ( ( - CONSTANTS[68]*pow(STATES[2], 2.00000))*(CONSTANTS[51] - STATES[40])+ CONSTANTS[52]*STATES[40])*CONSTANTS[76])*2.00000;
ALGEBRAIC[57] = 1.00000 - 1.00000/(1.00000+exp((STATES[2] - 0.300000)/0.100000));
ALGEBRAIC[62] =  ( ( ( CONSTANTS[81]*STATES[36])*STATES[32])*ALGEBRAIC[57])*(STATES[2] - STATES[6]);
ALGEBRAIC[74] = (ALGEBRAIC[66] - ALGEBRAIC[2]) - ALGEBRAIC[62];
ALGEBRAIC[30] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[2]+CONSTANTS[7], 2.00000));
ALGEBRAIC[68] =  ( ( ( CONSTANTS[67]*pow(STATES[4], 2.00000))*(CONSTANTS[51] - STATES[38]) -  CONSTANTS[75]*STATES[38])*CONSTANTS[59])*2.00000;
ALGEBRAIC[69] =  ( ( ( CONSTANTS[67]*pow(STATES[5], 2.00000))*(CONSTANTS[51] - STATES[39]) -  CONSTANTS[75]*STATES[39])*CONSTANTS[71])*2.00000;
ALGEBRAIC[70] =  ( ( ( CONSTANTS[67]*pow(STATES[6], 2.00000))*(CONSTANTS[51] - STATES[40]) -  CONSTANTS[75]*STATES[40])*CONSTANTS[76])*2.00000;
ALGEBRAIC[75] = (- ALGEBRAIC[68]+ALGEBRAIC[0])+ALGEBRAIC[60];
ALGEBRAIC[45] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[4]+CONSTANTS[6], 2.00000);
ALGEBRAIC[50] = 1.00000/(1.00000+ALGEBRAIC[45]);
ALGEBRAIC[76] = (- ALGEBRAIC[69]+ALGEBRAIC[1])+ALGEBRAIC[61];
ALGEBRAIC[46] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[5]+CONSTANTS[6], 2.00000);
ALGEBRAIC[51] = 1.00000/(1.00000+ALGEBRAIC[46]);
ALGEBRAIC[77] = (- ALGEBRAIC[70]+ALGEBRAIC[2])+ALGEBRAIC[62];
ALGEBRAIC[47] = ( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[6]+CONSTANTS[6], 2.00000);
ALGEBRAIC[52] = 1.00000/(1.00000+ALGEBRAIC[47]);
ALGEBRAIC[3] =  ( CONSTANTS[14]*(STATES[3] - STATES[8]))*CONSTANTS[12];
ALGEBRAIC[88] =  ( ( ( - CONSTANTS[68]*pow(STATES[3], 2.00000))*(CONSTANTS[51] - STATES[41])+ CONSTANTS[52]*STATES[41])*CONSTANTS[12])*2.00000;
ALGEBRAIC[84] = 1.00000 - 1.00000/(1.00000+exp((STATES[3] - 0.300000)/0.100000));
ALGEBRAIC[86] =  ( ( ( CONSTANTS[66]*STATES[37])*STATES[33])*ALGEBRAIC[84])*(STATES[3] - STATES[8]);
ALGEBRAIC[91] = (ALGEBRAIC[88] - ALGEBRAIC[3]) - ALGEBRAIC[86];
ALGEBRAIC[49] = 1.00000/(1.00000+( CONSTANTS[1]*CONSTANTS[7])/pow(STATES[3]+CONSTANTS[7], 2.00000));
ALGEBRAIC[90] =  ( ( ( CONSTANTS[67]*pow(STATES[8], 2.00000))*(CONSTANTS[51] - STATES[41]) -  CONSTANTS[75]*STATES[41])*CONSTANTS[12])*2.00000;
ALGEBRAIC[93] = ((- ALGEBRAIC[31]+ALGEBRAIC[3]) - ALGEBRAIC[90])+ALGEBRAIC[86];
ALGEBRAIC[54] = 1.00000/(((1.00000+( CONSTANTS[11]*CONSTANTS[9])/pow(STATES[8]+CONSTANTS[9], 2.00000))+( CONSTANTS[10]*CONSTANTS[8])/pow(STATES[8]+CONSTANTS[8], 2.00000))+( CONSTANTS[0]*CONSTANTS[6])/pow(STATES[8]+CONSTANTS[6], 2.00000));
ALGEBRAIC[58] =  ( ( ( ( CONSTANTS[24]*STATES[10])*STATES[13])*STATES[11])*STATES[12])*(STATES[9] - CONSTANTS[23]);
ALGEBRAIC[63] = ( CONSTANTS[28]*STATES[8])/(CONSTANTS[29]+STATES[8]);
ALGEBRAIC[80] = ( CONSTANTS[65]*log(CONSTANTS[19]/STATES[8]))/2.00000;
ALGEBRAIC[81] =  CONSTANTS[22]*(STATES[9] - ALGEBRAIC[80]);
ALGEBRAIC[71] = ( CONSTANTS[38]*( ( exp( ( CONSTANTS[37]*STATES[9])*CONSTANTS[73])*pow(STATES[22], 3.00000))*CONSTANTS[19] -  ( ( exp( ( (CONSTANTS[37] - 1.00000)*STATES[9])*CONSTANTS[73])*pow(CONSTANTS[21], 3.00000))*STATES[8])*CONSTANTS[36]))/(1.00000+ CONSTANTS[35]*( ( pow(CONSTANTS[21], 3.00000)*STATES[8])*CONSTANTS[36]+ pow(STATES[22], 3.00000)*CONSTANTS[19]));
ALGEBRAIC[82] = ((- ALGEBRAIC[58] - ALGEBRAIC[81]) - ALGEBRAIC[63])+ 2.00000*ALGEBRAIC[71];
ALGEBRAIC[102] =  ( (( CONSTANTS[53]*CONSTANTS[58])/CONSTANTS[61])*(STATES[22] - STATES[42]))*1.00000e-06;
ALGEBRAIC[83] =  CONSTANTS[65]*log(CONSTANTS[20]/STATES[25]);
ALGEBRAIC[85] =  ( CONSTANTS[30]*STATES[14])*( (1.00000 - 0.267700)*(STATES[9] - ALGEBRAIC[83]));
ALGEBRAIC[96] =  CONSTANTS[65]*log(CONSTANTS[21]/STATES[22]);
ALGEBRAIC[97] =  ( CONSTANTS[30]*STATES[14])*( 0.267700*(STATES[9] - ALGEBRAIC[96]));
ALGEBRAIC[98] = ALGEBRAIC[85]+ALGEBRAIC[97];
ALGEBRAIC[87] = ( ( CONSTANTS[62]*pow( CONSTANTS[20]*1.00000, 0.445700))*(STATES[9] - ALGEBRAIC[83]))/(1.00000+exp( ( 1.50000*((STATES[9] - ALGEBRAIC[83])+3.60000))*CONSTANTS[73]));
ALGEBRAIC[67] = 1.00000/(1.00000+exp((STATES[9]+55.0000)/24.0000));
ALGEBRAIC[89] =  ( ( CONSTANTS[31]*STATES[15])*ALGEBRAIC[67])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[92] =  ( CONSTANTS[32]*STATES[16])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[94] =  ( ( CONSTANTS[63]*STATES[17])*STATES[18])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[99] = ( ( ( ( ( ( ( CONSTANTS[33]*pow(STATES[21], 3.00000))*( 0.900000*STATES[19]+ 0.100000*STATES[20]))*CONSTANTS[21])*STATES[9])*CONSTANTS[5])*CONSTANTS[73])*(exp( (STATES[9] - ALGEBRAIC[96])*CONSTANTS[73]) - 1.00000))/(exp( STATES[9]*CONSTANTS[73]) - 1.00000);
ALGEBRAIC[100] =  CONSTANTS[34]*(STATES[9] - ALGEBRAIC[96]);
ALGEBRAIC[78] = pow( STATES[22]*1.00000, 1.50000);
ALGEBRAIC[79] = ( (( (( CONSTANTS[39]*CONSTANTS[20])/(CONSTANTS[20]+CONSTANTS[40]))*ALGEBRAIC[78])/(ALGEBRAIC[78]+pow(CONSTANTS[41], 1.50000)))*(STATES[9]+150.000))/(STATES[9]+200.000);
ALGEBRAIC[95] =  ( ( CONSTANTS[64]*STATES[23])*STATES[24])*(STATES[9] - ALGEBRAIC[83]);
ALGEBRAIC[101] = ((((((((((((ALGEBRAIC[99])+ALGEBRAIC[58])+ALGEBRAIC[95])+ALGEBRAIC[94])+ALGEBRAIC[87])+ALGEBRAIC[89])+ALGEBRAIC[92])+ALGEBRAIC[100])+ALGEBRAIC[81])+ALGEBRAIC[79])+ALGEBRAIC[63])+ALGEBRAIC[71])+ALGEBRAIC[98];
ALGEBRAIC[103] =  ((VOI - CONSTANTS[56]) -  CONSTANTS[57]*floor((VOI - CONSTANTS[56])/CONSTANTS[57])<CONSTANTS[55] ? 1.00000 : 0.00000)*CONSTANTS[70];
ALGEBRAIC[105] = (((((((ALGEBRAIC[95])+ALGEBRAIC[94])+ALGEBRAIC[87])+ALGEBRAIC[89])+ALGEBRAIC[92]) -  2.00000*ALGEBRAIC[79])+ALGEBRAIC[85])+ALGEBRAIC[103];
ALGEBRAIC[104] = 1.00000/(1.00000+( CONSTANTS[69]*CONSTANTS[54])/pow(STATES[22]+CONSTANTS[54], 2.00000));
ALGEBRAIC[106] = ((((ALGEBRAIC[99])+ALGEBRAIC[100])+ 3.00000*ALGEBRAIC[79])+ 3.00000*ALGEBRAIC[71])+ALGEBRAIC[97];
}