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]; }