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 131 entries in the algebraic variable array.
   There are a total of 45 entries in each of the rate and state variable arrays.
   There are a total of 164 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (millisecond).
 * STATES[0] is V in component cell (millivolt).
 * ALGEBRAIC[57] is i_Na in component INa (microA_per_microF).
 * ALGEBRAIC[60] is i_Nab in component INab (microA_per_microF).
 * ALGEBRAIC[64] is i_NaK in component INaK (microA_per_microF).
 * ALGEBRAIC[66] is i_Kr in component IKr (microA_per_microF).
 * ALGEBRAIC[74] is i_Ks in component IKs (microA_per_microF).
 * ALGEBRAIC[75] is i_tos in component Itos (microA_per_microF).
 * ALGEBRAIC[76] is i_tof in component Itof (microA_per_microF).
 * ALGEBRAIC[80] is i_K1 in component IK1 (microA_per_microF).
 * ALGEBRAIC[99] is i_NaCa in component INaCa (microA_per_microF).
 * ALGEBRAIC[81] is i_Cl_Ca in component ICl_Ca (microA_per_microF).
 * ALGEBRAIC[82] is i_Clb in component IClb (microA_per_microF).
 * ALGEBRAIC[91] is i_CaL in component ICaL (microA_per_microF).
 * ALGEBRAIC[108] is i_Cab in component ICab (microA_per_microF).
 * ALGEBRAIC[105] is i_Cap in component ICap (microA_per_microF).
 * ALGEBRAIC[6] is i_Stim in component cell (microA_per_microF).
 * CONSTANTS[0] is stim_start in component cell (millisecond).
 * CONSTANTS[1] is stim_period in component cell (millisecond).
 * CONSTANTS[2] is stim_duration in component cell (millisecond).
 * CONSTANTS[3] is stim_amplitude in component cell (microA_per_microF).
 * CONSTANTS[4] is Ko in component model_parameters (millimolar).
 * CONSTANTS[5] is Nao in component model_parameters (millimolar).
 * CONSTANTS[6] is Cao in component model_parameters (millimolar).
 * CONSTANTS[7] is Clo in component model_parameters (millimolar).
 * CONSTANTS[8] is Ki in component model_parameters (millimolar).
 * CONSTANTS[9] is Mgi in component model_parameters (millimolar).
 * CONSTANTS[10] is Cli in component model_parameters (millimolar).
 * CONSTANTS[11] is R in component model_parameters (joule_per_kilomole_kelvin).
 * CONSTANTS[12] is T in component model_parameters (kelvin).
 * CONSTANTS[13] is F in component model_parameters (coulomb_per_mole).
 * CONSTANTS[156] is Cm in component model_parameters (farad).
 * CONSTANTS[14] is Cm_per_area in component model_parameters (farad_per_cm2).
 * CONSTANTS[15] is cell_length in component model_parameters (micrometre).
 * CONSTANTS[16] is cell_radius in component model_parameters (micrometre).
 * CONSTANTS[157] is Vol_Cell in component model_parameters (litre).
 * CONSTANTS[158] is Vol_SR in component model_parameters (litre).
 * CONSTANTS[159] is Vol_SL in component model_parameters (litre).
 * CONSTANTS[160] is Vol_jct in component model_parameters (litre).
 * CONSTANTS[161] is Vol_cytosol in component model_parameters (litre).
 * CONSTANTS[162] is Vol_mito in component model_parameters (litre).
 * ALGEBRAIC[26] is E_Na_jct in component reversal_potentials (millivolt).
 * ALGEBRAIC[46] is E_Na_SL in component reversal_potentials (millivolt).
 * ALGEBRAIC[51] is E_Ca_jct in component reversal_potentials (millivolt).
 * ALGEBRAIC[53] is E_Ca_SL in component reversal_potentials (millivolt).
 * CONSTANTS[145] is E_K in component reversal_potentials (millivolt).
 * CONSTANTS[146] is E_Cl in component reversal_potentials (millivolt).
 * STATES[1] is Nai in component Na_buffer (millimolar).
 * STATES[2] is Na_jct in component Na_buffer (millimolar).
 * STATES[3] is Na_SL in component Na_buffer (millimolar).
 * STATES[4] is Cai in component Ca_buffer (millimolar).
 * STATES[5] is Ca_jct in component Ca_buffer (millimolar).
 * STATES[6] is Ca_SL in component Ca_buffer (millimolar).
 * ALGEBRAIC[55] is i_Na_jct in component INa (microA_per_microF).
 * ALGEBRAIC[56] is i_Na_SL in component INa (microA_per_microF).
 * CONSTANTS[17] is G_INa in component INa (milliS_per_microF).
 * CONSTANTS[18] is Fx_Na_jct in component INa (dimensionless).
 * CONSTANTS[19] is Fx_Na_SL in component INa (dimensionless).
 * STATES[7] is m in component INa_m_gate (dimensionless).
 * STATES[8] is h in component INa_h_gate (dimensionless).
 * STATES[9] is j in component INa_j_gate (dimensionless).
 * ALGEBRAIC[54] is openProb in component INa (dimensionless).
 * ALGEBRAIC[0] is alpha_h in component INa_h_gate (per_millisecond).
 * ALGEBRAIC[22] is beta_h in component INa_h_gate (per_millisecond).
 * ALGEBRAIC[43] is tau_h in component INa_h_gate (millisecond).
 * ALGEBRAIC[48] is h_infinity in component INa_h_gate (dimensionless).
 * ALGEBRAIC[1] is alpha_j in component INa_j_gate (per_millisecond).
 * ALGEBRAIC[23] is beta_j in component INa_j_gate (per_millisecond).
 * ALGEBRAIC[44] is tau_j in component INa_j_gate (millisecond).
 * ALGEBRAIC[49] is j_infinity in component INa_j_gate (dimensionless).
 * ALGEBRAIC[2] is alpha_m in component INa_m_gate (per_millisecond).
 * ALGEBRAIC[24] is beta_m in component INa_m_gate (per_millisecond).
 * ALGEBRAIC[45] is tau_m in component INa_m_gate (millisecond).
 * ALGEBRAIC[50] is m_infinity in component INa_m_gate (dimensionless).
 * ALGEBRAIC[58] is i_Nab_jct in component INab (microA_per_microF).
 * ALGEBRAIC[59] is i_Nab_SL in component INab (microA_per_microF).
 * CONSTANTS[20] is G_NaBk in component INab (milliS_per_microF).
 * CONSTANTS[21] is Fx_NaBk_jct in component INab (dimensionless).
 * CONSTANTS[22] is Fx_NaBk_SL in component INab (dimensionless).
 * ALGEBRAIC[62] is i_NaK_jct in component INaK (microA_per_microF).
 * ALGEBRAIC[63] is i_NaK_SL in component INaK (microA_per_microF).
 * ALGEBRAIC[61] is f_NaK in component INaK (dimensionless).
 * CONSTANTS[23] is Q10_NaK in component INaK (dimensionless).
 * CONSTANTS[147] is Q_NaK in component INaK (dimensionless).
 * CONSTANTS[24] is H_NaK in component INaK (dimensionless).
 * CONSTANTS[25] is Q10_Km_Nai in component INaK (dimensionless).
 * CONSTANTS[148] is Q_Km_Nai in component INaK (dimensionless).
 * CONSTANTS[26] is Km_Nai in component INaK (millimolar).
 * CONSTANTS[27] is Km_Ko in component INaK (millimolar).
 * CONSTANTS[28] is I_NaK_max in component INaK (microA_per_microF).
 * CONSTANTS[149] is sigma in component INaK (dimensionless).
 * CONSTANTS[29] is Fx_NaK_jct in component INaK (dimensionless).
 * CONSTANTS[30] is Fx_NaK_SL in component INaK (dimensionless).
 * CONSTANTS[150] is G_IKr in component IKr (milliS_per_microF).
 * STATES[10] is Xr in component IKr_Xr_gate (dimensionless).
 * ALGEBRAIC[65] is Rr in component IKr_Rr_gate (dimensionless).
 * ALGEBRAIC[3] is Xr_infinity in component IKr_Xr_gate (dimensionless).
 * ALGEBRAIC[25] is tau_Xr in component IKr_Xr_gate (millisecond).
 * ALGEBRAIC[72] is i_Ks_jct in component IKs (microA_per_microF).
 * ALGEBRAIC[73] is i_Ks_SL in component IKs (microA_per_microF).
 * ALGEBRAIC[70] is G_Ks_SL in component IKs (milliS_per_microF).
 * ALGEBRAIC[69] is G_Ks_jct in component IKs (milliS_per_microF).
 * CONSTANTS[31] is Fx_Ks_jct in component IKs (dimensionless).
 * CONSTANTS[32] is Fx_Ks_SL in component IKs (dimensionless).
 * ALGEBRAIC[4] is E_Ks_jct in component IKs (millivolt).
 * ALGEBRAIC[5] is E_Ks_SL in component IKs (millivolt).
 * ALGEBRAIC[71] is E_Ks in component IKs (millivolt).
 * CONSTANTS[33] is pKNa in component IKs (dimensionless).
 * ALGEBRAIC[67] is pCa_jct in component IKs (dimensionless).
 * ALGEBRAIC[68] is pCa_SL in component IKs (dimensionless).
 * STATES[11] is Xs in component IKs_Xs_gate (dimensionless).
 * ALGEBRAIC[7] is Xs_infinity in component IKs_Xs_gate (dimensionless).
 * ALGEBRAIC[27] is tau_Xs in component IKs_Xs_gate (millisecond).
 * CONSTANTS[34] is G_tos in component Itos (milliS_per_microF).
 * STATES[12] is Y_tos in component Itos_Y_gate (dimensionless).
 * STATES[13] is X_tos in component Itos_X_gate (dimensionless).
 * STATES[14] is R_tos in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[8] is X_tos_infinity in component Itos_X_gate (dimensionless).
 * ALGEBRAIC[28] is tau_X_tos in component Itos_X_gate (millisecond).
 * ALGEBRAIC[9] is Y_tos_infinity in component Itos_Y_gate (dimensionless).
 * ALGEBRAIC[29] is tau_Y_tos in component Itos_Y_gate (millisecond).
 * ALGEBRAIC[10] is R_tos_infinity in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[30] is R_tos_other in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[31] is tau_R_tos in component Itos_R_gate (millisecond).
 * CONSTANTS[35] is G_tof in component Itof (milliS_per_microF).
 * STATES[15] is Y_tof in component Itof_Y_gate (dimensionless).
 * STATES[16] is X_tof in component Itof_X_gate (dimensionless).
 * ALGEBRAIC[11] is X_tof_infinity in component Itof_X_gate (dimensionless).
 * ALGEBRAIC[32] is tau_X_tof in component Itof_X_gate (millisecond).
 * ALGEBRAIC[12] is Y_tof_infinity in component Itof_Y_gate (dimensionless).
 * ALGEBRAIC[33] is tau_Y_tof in component Itof_Y_gate (millisecond).
 * CONSTANTS[151] is G_K1 in component IK1 (milliS_per_microF).
 * ALGEBRAIC[79] is K1_infinity in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[77] is alpha_K1 in component IK1_K1_gate (per_millisecond).
 * ALGEBRAIC[78] is beta_K1 in component IK1_K1_gate (per_millisecond).
 * CONSTANTS[36] is G_Cl in component ICl_Ca (milliS_per_microF).
 * CONSTANTS[37] is Kd_ClCa in component ICl_Ca (millimolar).
 * CONSTANTS[38] is Fx_Cl_jct in component ICl_Ca (dimensionless).
 * CONSTANTS[39] is Fx_Cl_SL in component ICl_Ca (dimensionless).
 * CONSTANTS[40] is G_ClBk in component IClb (milliS_per_microF).
 * ALGEBRAIC[85] is i_CaL_Ca_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[88] is i_CaL_Ca_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[86] is i_CaL_Na_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[89] is i_CaL_Na_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[90] is i_CaL_K in component ICaL (microA_per_microF).
 * CONSTANTS[41] is PCa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[42] is PNa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[43] is PK in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[44] is Fx_ICaL_jct in component ICaL (dimensionless).
 * CONSTANTS[45] is Fx_ICaL_SL in component ICaL (dimensionless).
 * CONSTANTS[46] is gamma_Cai in component ICaL (dimensionless).
 * CONSTANTS[47] is gamma_Cao in component ICaL (dimensionless).
 * CONSTANTS[48] is gamma_Nai in component ICaL (dimensionless).
 * CONSTANTS[49] is gamma_Nao in component ICaL (dimensionless).
 * CONSTANTS[50] is gamma_Ki in component ICaL (dimensionless).
 * CONSTANTS[51] is gamma_Ko in component ICaL (dimensionless).
 * CONSTANTS[52] is Q10_CaL in component ICaL (dimensionless).
 * CONSTANTS[152] is Q_CaL in component ICaL (dimensionless).
 * STATES[17] is d in component ICaL_d_gate (dimensionless).
 * STATES[18] is f in component ICaL_f_gate (dimensionless).
 * ALGEBRAIC[84] is fCa_SL in component ICaL_fCa_gate (dimensionless).
 * ALGEBRAIC[87] is fCa_jct in component ICaL_fCa_gate (dimensionless).
 * ALGEBRAIC[83] is temp in component ICaL (coulomb_per_mole).
 * ALGEBRAIC[13] is d_infinity in component ICaL_d_gate (dimensionless).
 * ALGEBRAIC[34] is tau_d in component ICaL_d_gate (millisecond).
 * ALGEBRAIC[14] is f_infinity in component ICaL_f_gate (dimensionless).
 * ALGEBRAIC[35] is tau_f in component ICaL_f_gate (millisecond).
 * STATES[19] is fCaB_SL in component ICaL_fCa_gate (dimensionless).
 * STATES[20] is fCaB_jct in component ICaL_fCa_gate (dimensionless).
 * ALGEBRAIC[97] is i_NaCa_SL in component INaCa (microA_per_microF).
 * ALGEBRAIC[96] is i_NaCa_jct in component INaCa (microA_per_microF).
 * CONSTANTS[53] is V_max in component INaCa (microA_per_microF).
 * CONSTANTS[54] is Fx_NCX_jct in component INaCa (dimensionless).
 * CONSTANTS[55] is Fx_NCX_SL in component INaCa (dimensionless).
 * CONSTANTS[56] is Q10_NCX in component INaCa (dimensionless).
 * CONSTANTS[153] is Q_NCX in component INaCa (dimensionless).
 * CONSTANTS[57] is K_mNai in component INaCa (millimolar).
 * CONSTANTS[58] is K_mCao in component INaCa (millimolar).
 * CONSTANTS[59] is K_mNao in component INaCa (millimolar).
 * CONSTANTS[60] is K_mCai in component INaCa (millimolar).
 * ALGEBRAIC[94] is Ka_SL in component INaCa (dimensionless).
 * ALGEBRAIC[95] is Ka_jct in component INaCa (dimensionless).
 * CONSTANTS[61] is Kd_act in component INaCa (millimolar).
 * CONSTANTS[62] is ksat in component INaCa (dimensionless).
 * CONSTANTS[63] is eta in component INaCa (dimensionless).
 * CONSTANTS[64] is HNa in component INaCa (dimensionless).
 * ALGEBRAIC[92] is temp_jct in component INaCa (millimolar4).
 * ALGEBRAIC[93] is temp_SL in component INaCa (millimolar4).
 * ALGEBRAIC[104] is i_Cap_SL in component ICap (microA_per_microF).
 * ALGEBRAIC[102] is i_Cap_jct in component ICap (microA_per_microF).
 * CONSTANTS[65] is V_max in component ICap (millimolar_per_millisecond).
 * CONSTANTS[66] is Fx_SLCaP_jct in component ICap (dimensionless).
 * CONSTANTS[67] is Fx_SLCaP_SL in component ICap (dimensionless).
 * CONSTANTS[68] is Q10_SLCaP in component ICap (dimensionless).
 * CONSTANTS[154] is Q_SLCaP in component ICap (dimensionless).
 * CONSTANTS[69] is Km in component ICap (millimolar).
 * CONSTANTS[70] is H in component ICap (dimensionless).
 * CONSTANTS[163] is V_maxAF_old in component ICap (microA_per_microF).
 * CONSTANTS[71] is V_maxAF in component ICap (microA_per_microF).
 * ALGEBRAIC[106] is i_Cab_jct in component ICab (microA_per_microF).
 * ALGEBRAIC[107] is i_Cab_SL in component ICab (microA_per_microF).
 * CONSTANTS[72] is G_CaBk in component ICab (milliS_per_microF).
 * CONSTANTS[73] is Fx_CaBk_jct in component ICab (dimensionless).
 * CONSTANTS[74] is Fx_CaBk_SL in component ICab (dimensionless).
 * ALGEBRAIC[109] is j_rel_SR in component Jrel_SR (millimolar_per_millisecond).
 * CONSTANTS[75] is Max_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[76] is Min_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[77] is EC50_SR in component Jrel_SR (millimolar).
 * STATES[21] is R in component Jrel_SR (dimensionless).
 * STATES[22] is I in component Jrel_SR (dimensionless).
 * ALGEBRAIC[52] is RI in component Jrel_SR (dimensionless).
 * STATES[23] is O in component Jrel_SR (dimensionless).
 * CONSTANTS[78] is ks in component Jrel_SR (per_millisecond).
 * CONSTANTS[79] is koCa in component Jrel_SR (per_millimolar2_per_millisecond).
 * CONSTANTS[80] is kom in component Jrel_SR (per_millisecond).
 * CONSTANTS[81] is kiCa in component Jrel_SR (per_millimolar_per_millisecond).
 * CONSTANTS[82] is kim in component Jrel_SR (per_millisecond).
 * CONSTANTS[83] is HSR in component Jrel_SR (dimensionless).
 * STATES[24] is Ca_SR in component Ca_buffer (millimolar).
 * ALGEBRAIC[15] is kCaSR in component Jrel_SR (dimensionless).
 * ALGEBRAIC[36] is koSRCa in component Jrel_SR (per_millimolar2_per_millisecond).
 * ALGEBRAIC[47] is kiSRCa in component Jrel_SR (per_millimolar_per_millisecond).
 * ALGEBRAIC[110] is j_leak_SR in component Jleak_SR (millimolar_per_millisecond).
 * CONSTANTS[84] is KSRleak in component Jleak_SR (per_millisecond).
 * ALGEBRAIC[111] is j_pump_SR in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[85] is V_max in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[86] is Q10_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[155] is Q_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[87] is Kmf in component Jpump_SR (millimolar).
 * CONSTANTS[88] is Kmr in component Jpump_SR (millimolar).
 * CONSTANTS[89] is H in component Jpump_SR (dimensionless).
 * ALGEBRAIC[98] is J_Na_jct_SL in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[101] is J_Na_SL_cytosol in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[113] is J_Ca_jct_SL in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[114] is J_Ca_SL_cytosol in component ion_diffusion (millimole_per_millisecond).
 * CONSTANTS[90] is D_Ca_jct_SL in component ion_diffusion (dm2_per_second).
 * CONSTANTS[91] is D_Ca_SL_cytosol in component ion_diffusion (dm2_per_second).
 * CONSTANTS[92] is D_Na_jct_SL in component ion_diffusion (dm2_per_second).
 * CONSTANTS[93] is D_Na_SL_cytosol in component ion_diffusion (dm2_per_second).
 * CONSTANTS[94] is x_jct_SL in component ion_diffusion (micrometre).
 * CONSTANTS[95] is x_SL_cytosol in component ion_diffusion (micrometre).
 * CONSTANTS[96] is A_jct_SL in component ion_diffusion (cm2).
 * CONSTANTS[97] is A_SL_cytosol in component ion_diffusion (cm2).
 * ALGEBRAIC[16] is J_Na_jct_SL_old in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[17] is J_Na_SL_cytosol_old in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[18] is J_Ca_jct_SL_old in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[19] is J_Ca_SL_cytosol_old in component ion_diffusion (millimole_per_millisecond).
 * STATES[25] is Na_SL_buf in component Na_buffer (millimolar).
 * STATES[26] is Na_jct_buf in component Na_buffer (millimolar).
 * CONSTANTS[98] is Bmax_SL in component Na_buffer (millimolar).
 * CONSTANTS[99] is Bmax_jct in component Na_buffer (millimolar).
 * CONSTANTS[100] is kon in component Na_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[101] is koff in component Na_buffer (per_millisecond).
 * ALGEBRAIC[100] is dNa_jct_buf in component Na_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[103] is dNa_SL_buf in component Na_buffer (millimolar_per_millisecond).
 * STATES[27] is Ca_SLB_SL in component Ca_buffer (millimolar).
 * STATES[28] is Ca_SLB_jct in component Ca_buffer (millimolar).
 * STATES[29] is Ca_SLHigh_SL in component Ca_buffer (millimolar).
 * STATES[30] is Ca_SLHigh_jct in component Ca_buffer (millimolar).
 * STATES[31] is Ca_Calsequestrin in component Ca_buffer (millimolar).
 * CONSTANTS[102] is Bmax_SLB_SL in component Ca_buffer (millimolar).
 * CONSTANTS[103] is Bmax_SLB_jct in component Ca_buffer (millimolar).
 * CONSTANTS[104] is Bmax_SLHigh_SL in component Ca_buffer (millimolar).
 * CONSTANTS[105] is Bmax_SLHigh_jct in component Ca_buffer (millimolar).
 * CONSTANTS[106] is Bmax_Calsequestrin in component Ca_buffer (millimolar).
 * CONSTANTS[107] is kon_SL in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[108] is kon_Calsequestrin in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[109] is koff_SLB in component Ca_buffer (per_millisecond).
 * CONSTANTS[110] is koff_SLHigh in component Ca_buffer (per_millisecond).
 * CONSTANTS[111] is koff_Calsequestrin in component Ca_buffer (per_millisecond).
 * ALGEBRAIC[112] is dCalsequestrin in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[130] is dCa_cytosol_tot_bound in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[117] is dCa_SLB_SL in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[115] is dCa_SLB_jct in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[120] is dCa_SLHigh_SL in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[118] is dCa_SLHigh_jct in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[121] is dCa_jct_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[124] is dCa_SL_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[123] is i_Ca_jct_tot in component Ca_buffer (microA_per_microF).
 * ALGEBRAIC[126] is i_Ca_SL_tot in component Ca_buffer (microA_per_microF).
 * STATES[32] is Ca_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * STATES[33] is Ca_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * STATES[34] is Mg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * STATES[35] is Ca_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * STATES[36] is Ca_Myosin in component cytosolic_Ca_buffer (millimolar).
 * STATES[37] is Mg_Myosin in component cytosolic_Ca_buffer (millimolar).
 * STATES[38] is Ca_SRB in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[112] is Bmax_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[113] is Bmax_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[114] is Bmax_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[115] is Bmax_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[116] is Bmax_Myosin_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[117] is Bmax_Myosin_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[118] is Bmax_SRB in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[119] is kon_TroponinC in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[120] is kon_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[121] is kon_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[122] is kon_Calmodulin in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[123] is kon_Myosin_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[124] is kon_Myosin_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[125] is kon_SRB in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[126] is koff_TroponinC in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[127] is koff_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[128] is koff_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[129] is koff_Calmodulin in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[130] is koff_Myosin_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[131] is koff_Myosin_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[132] is koff_SRB in component cytosolic_Ca_buffer (per_millisecond).
 * ALGEBRAIC[116] is dCa_TroponinC in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[119] is dCa_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[122] is dMg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[125] is dCa_Calmodulin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[127] is dCa_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[128] is dMg_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[129] is dCa_SRB in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * CONSTANTS[133] is Indo1 in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[134] is Fluo3 in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[39] is Ca_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[40] is Ca_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[41] is Ca_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[42] is Ca_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[43] is Ca_Fluo3_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * STATES[44] is Ca_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[135] is Bmax_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[136] is Bmax_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[137] is Bmax_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[138] is Bmax_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[139] is Bmax_Fluo3_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[140] is Bmax_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[141] is kon_Indo1 in component indo_fluo_Ca_buffer_not_connected (per_millimolar2_per_millisecond).
 * CONSTANTS[142] is kon_Fluo3 in component indo_fluo_Ca_buffer_not_connected (per_millimolar2_per_millisecond).
 * CONSTANTS[143] is koff_Indo1 in component indo_fluo_Ca_buffer_not_connected (per_millisecond).
 * CONSTANTS[144] is koff_Fluo3 in component indo_fluo_Ca_buffer_not_connected (per_millisecond).
 * ALGEBRAIC[20] is Indo1Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * ALGEBRAIC[21] is Fluo3Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * ALGEBRAIC[37] is dCa_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[38] is dCa_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[39] is dCa_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[40] is dCa_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[41] is dCa_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[42] is dCa_Fluo3_SL in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * RATES[0] is d/dt V in component cell (millivolt).
 * RATES[8] is d/dt h in component INa_h_gate (dimensionless).
 * RATES[9] is d/dt j in component INa_j_gate (dimensionless).
 * RATES[7] is d/dt m in component INa_m_gate (dimensionless).
 * RATES[10] is d/dt Xr in component IKr_Xr_gate (dimensionless).
 * RATES[11] is d/dt Xs in component IKs_Xs_gate (dimensionless).
 * RATES[13] is d/dt X_tos in component Itos_X_gate (dimensionless).
 * RATES[12] is d/dt Y_tos in component Itos_Y_gate (dimensionless).
 * RATES[14] is d/dt R_tos in component Itos_R_gate (dimensionless).
 * RATES[16] is d/dt X_tof in component Itof_X_gate (dimensionless).
 * RATES[15] is d/dt Y_tof in component Itof_Y_gate (dimensionless).
 * RATES[17] is d/dt d in component ICaL_d_gate (dimensionless).
 * RATES[18] is d/dt f in component ICaL_f_gate (dimensionless).
 * RATES[19] is d/dt fCaB_SL in component ICaL_fCa_gate (dimensionless).
 * RATES[20] is d/dt fCaB_jct in component ICaL_fCa_gate (dimensionless).
 * RATES[21] is d/dt R in component Jrel_SR (dimensionless).
 * RATES[23] is d/dt O in component Jrel_SR (dimensionless).
 * RATES[22] is d/dt I in component Jrel_SR (dimensionless).
 * RATES[26] is d/dt Na_jct_buf in component Na_buffer (millimolar).
 * RATES[25] is d/dt Na_SL_buf in component Na_buffer (millimolar).
 * RATES[2] is d/dt Na_jct in component Na_buffer (millimolar).
 * RATES[3] is d/dt Na_SL in component Na_buffer (millimolar).
 * RATES[1] is d/dt Nai in component Na_buffer (millimolar).
 * RATES[31] is d/dt Ca_Calsequestrin in component Ca_buffer (millimolar).
 * RATES[27] is d/dt Ca_SLB_SL in component Ca_buffer (millimolar).
 * RATES[28] is d/dt Ca_SLB_jct in component Ca_buffer (millimolar).
 * RATES[29] is d/dt Ca_SLHigh_SL in component Ca_buffer (millimolar).
 * RATES[30] is d/dt Ca_SLHigh_jct in component Ca_buffer (millimolar).
 * RATES[24] is d/dt Ca_SR in component Ca_buffer (millimolar).
 * RATES[5] is d/dt Ca_jct in component Ca_buffer (millimolar).
 * RATES[6] is d/dt Ca_SL in component Ca_buffer (millimolar).
 * RATES[4] is d/dt Cai in component Ca_buffer (millimolar).
 * RATES[32] is d/dt Ca_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * RATES[33] is d/dt Ca_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * RATES[34] is d/dt Mg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * RATES[35] is d/dt Ca_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * RATES[36] is d/dt Ca_Myosin in component cytosolic_Ca_buffer (millimolar).
 * RATES[37] is d/dt Mg_Myosin in component cytosolic_Ca_buffer (millimolar).
 * RATES[38] is d/dt Ca_SRB in component cytosolic_Ca_buffer (millimolar).
 * RATES[39] is d/dt Ca_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * RATES[40] is d/dt Ca_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * RATES[41] is d/dt Ca_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * RATES[42] is d/dt Ca_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * RATES[43] is d/dt Ca_Fluo3_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * RATES[44] is d/dt Ca_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = -85.719687955637;
CONSTANTS[0] = 100;
CONSTANTS[1] = 1000;
CONSTANTS[2] = 5;
CONSTANTS[3] = 9.5;
CONSTANTS[4] = 5.4;
CONSTANTS[5] = 140;
CONSTANTS[6] = 1.8;
CONSTANTS[7] = 150;
CONSTANTS[8] = 135;
CONSTANTS[9] = 1;
CONSTANTS[10] = 15;
CONSTANTS[11] = 8314.3;
CONSTANTS[12] = 310;
CONSTANTS[13] = 96486.7;
CONSTANTS[14] = 2e-6;
CONSTANTS[15] = 100;
CONSTANTS[16] = 10.25;
STATES[1] = 8.874461106492;
STATES[2] = 8.872823559072;
STATES[3] = 8.874077316753;
STATES[4] = 0.000087350002;
STATES[5] = 0.000174843061;
STATES[6] = 0.000106395937;
CONSTANTS[17] = 16;
CONSTANTS[18] = 0.11;
CONSTANTS[19] = 0.89;
STATES[7] = 0.001370685156;
STATES[8] = 0.987140350343;
STATES[9] = 0.991822731369;
CONSTANTS[20] = 0.297e-3;
CONSTANTS[21] = 0.11;
CONSTANTS[22] = 0.89;
CONSTANTS[23] = 1.63;
CONSTANTS[24] = 4;
CONSTANTS[25] = 1.49;
CONSTANTS[26] = 11;
CONSTANTS[27] = 1.5;
CONSTANTS[28] = 1.91;
CONSTANTS[29] = 0.11;
CONSTANTS[30] = 0.89;
STATES[10] = 0.008471550841;
CONSTANTS[31] = 0.11;
CONSTANTS[32] = 0.89;
CONSTANTS[33] = 0.01833;
STATES[11] = 0.00687399199;
CONSTANTS[34] = 0.06;
STATES[12] = 0.293519921626;
STATES[13] = 0.004011272375;
STATES[14] = 0.383430556383;
CONSTANTS[35] = 0.02;
STATES[15] = 0.9946314893;
STATES[16] = 0.00401120993;
CONSTANTS[36] = 0.109625;
CONSTANTS[37] = 0.1;
CONSTANTS[38] = 0.11;
CONSTANTS[39] = 0.89;
CONSTANTS[40] = 0.009;
CONSTANTS[41] = 5.4e-4;
CONSTANTS[42] = 1.5e-8;
CONSTANTS[43] = 2.7e-7;
CONSTANTS[44] = 0.9;
CONSTANTS[45] = 0.1;
CONSTANTS[46] = 0.341;
CONSTANTS[47] = 0.341;
CONSTANTS[48] = 0.75;
CONSTANTS[49] = 0.75;
CONSTANTS[50] = 0.75;
CONSTANTS[51] = 0.75;
CONSTANTS[52] = 1.8;
STATES[17] = 0.000006997531;
STATES[18] = 1.000675515962;
STATES[19] = 0.015352888928;
STATES[20] = 0.024609183734;
CONSTANTS[53] = 9;
CONSTANTS[54] = 0.11;
CONSTANTS[55] = 0.89;
CONSTANTS[56] = 1.57;
CONSTANTS[57] = 12.29;
CONSTANTS[58] = 1.3;
CONSTANTS[59] = 87.5;
CONSTANTS[60] = 0.00359;
CONSTANTS[61] = 0.000256;
CONSTANTS[62] = 0.27;
CONSTANTS[63] = 0.35;
CONSTANTS[64] = 3;
CONSTANTS[65] = 2.2e-6;
CONSTANTS[66] = 0.11;
CONSTANTS[67] = 0.89;
CONSTANTS[68] = 2.35;
CONSTANTS[69] = 0.0005;
CONSTANTS[70] = 1.6;
CONSTANTS[71] = 0.0673;
CONSTANTS[72] = 0.0002513;
CONSTANTS[73] = 0.11;
CONSTANTS[74] = 0.89;
CONSTANTS[75] = 15;
CONSTANTS[76] = 1;
CONSTANTS[77] = 0.45;
STATES[21] = 0.884673513138;
STATES[22] = 0.00000009272;
STATES[23] = 0.000000711264;
CONSTANTS[78] = 25;
CONSTANTS[79] = 10;
CONSTANTS[80] = 0.06;
CONSTANTS[81] = 0.5;
CONSTANTS[82] = 0.005;
CONSTANTS[83] = 2.5;
STATES[24] = 0.545611267699;
CONSTANTS[84] = 5.348e-6;
CONSTANTS[85] = 286e-6;
CONSTANTS[86] = 2.6;
CONSTANTS[87] = 0.000246;
CONSTANTS[88] = 1.7;
CONSTANTS[89] = 1.787;
CONSTANTS[90] = 1.64e-6;
CONSTANTS[91] = 1.22e-6;
CONSTANTS[92] = 1.09e-5;
CONSTANTS[93] = 1.79e-5;
CONSTANTS[94] = 0.5;
CONSTANTS[95] = 0.45;
CONSTANTS[96] = 3.01e-6;
CONSTANTS[97] = 1.3e-4;
STATES[25] = 0.776121392467;
STATES[26] = 3.557055389701;
CONSTANTS[98] = 1.65;
CONSTANTS[99] = 7.561;
CONSTANTS[100] = 0.0001;
CONSTANTS[101] = 1e-3;
STATES[27] = 0.009868629147;
STATES[28] = 0.007780801995;
STATES[29] = 0.114438990328;
STATES[30] = 0.077503874257;
STATES[31] = 1.186496899338;
CONSTANTS[102] = 0.0374;
CONSTANTS[103] = 0.0046;
CONSTANTS[104] = 0.0134;
CONSTANTS[105] = 0.00165;
CONSTANTS[106] = 0.14;
CONSTANTS[107] = 100;
CONSTANTS[108] = 100;
CONSTANTS[109] = 1.3;
CONSTANTS[110] = 30e-3;
CONSTANTS[111] = 65;
STATES[32] = 0.008963736337;
STATES[33] = 0.117995194438;
STATES[34] = 0.010337654274;
STATES[35] = 0.000295961245;
STATES[36] = 0.001984672275;
STATES[37] = 0.137497736234;
STATES[38] = 0.002177112381;
CONSTANTS[112] = 0.07;
CONSTANTS[113] = 0.14;
CONSTANTS[114] = 0.14;
CONSTANTS[115] = 0.024;
CONSTANTS[116] = 0.14;
CONSTANTS[117] = 0.14;
CONSTANTS[118] = 0.0171;
CONSTANTS[119] = 32.7;
CONSTANTS[120] = 2.37;
CONSTANTS[121] = 3e-3;
CONSTANTS[122] = 34;
CONSTANTS[123] = 13.8;
CONSTANTS[124] = 15.7e-3;
CONSTANTS[125] = 100;
CONSTANTS[126] = 19.6e-3;
CONSTANTS[127] = 0.032e-3;
CONSTANTS[128] = 3.33e-3;
CONSTANTS[129] = 238e-3;
CONSTANTS[130] = 0.46e-3;
CONSTANTS[131] = 0.057e-3;
CONSTANTS[132] = 60e-3;
CONSTANTS[133] = 0;
CONSTANTS[134] = 0;
STATES[39] = 0;
STATES[40] = 0;
STATES[41] = 0;
STATES[42] = 0;
STATES[43] = 0;
STATES[44] = 0;
CONSTANTS[135] = 0.025;
CONSTANTS[136] = 0.00077;
CONSTANTS[137] = 0.00002;
CONSTANTS[138] = 0.025;
CONSTANTS[139] = 0.00077;
CONSTANTS[140] = 0.00002;
CONSTANTS[141] = 100;
CONSTANTS[142] = 100;
CONSTANTS[143] = 60e-3;
CONSTANTS[144] = 110e-3;
CONSTANTS[145] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[4]/CONSTANTS[8]);
CONSTANTS[146] =  (( - CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[7]/CONSTANTS[10]);
CONSTANTS[147] = pow(CONSTANTS[23], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[148] = pow(CONSTANTS[25], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[149] = (exp(CONSTANTS[5]/67.3000) - 1.00000)/7.00000;
CONSTANTS[150] =  0.0300000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[151] =  0.900000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[152] = pow(CONSTANTS[52], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[153] = pow(CONSTANTS[56], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[154] = pow(CONSTANTS[68], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[155] = pow(CONSTANTS[86], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[156] = ( (( CONSTANTS[14]*2.00000*CONSTANTS[16])/10000.0)* 3.14159265358979*CONSTANTS[15])/10000.0;
CONSTANTS[157] = ( 3.14159*pow(CONSTANTS[16]/1000.00, 2.00000)*CONSTANTS[15])/pow(1000.00, 3.00000);
CONSTANTS[158] =  0.0350000*CONSTANTS[157];
CONSTANTS[159] =  0.0200000*CONSTANTS[157];
CONSTANTS[160] =  0.000510000*CONSTANTS[157];
CONSTANTS[161] =  0.650000*CONSTANTS[157];
CONSTANTS[162] = CONSTANTS[157] - (CONSTANTS[158]+CONSTANTS[159]+CONSTANTS[160]+CONSTANTS[161]);
CONSTANTS[163] = ( CONSTANTS[65]*CONSTANTS[161]*2.00000*CONSTANTS[13])/CONSTANTS[156];
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[19] =  1.70000*STATES[6]*(1.00000 - STATES[19]) -  0.0119000*STATES[19];
RATES[20] =  1.70000*STATES[5]*(1.00000 - STATES[20]) -  0.0119000*STATES[20];
ALGEBRAIC[3] = 1.00000/(1.00000+exp(- (50.0000+STATES[0])/7.50000));
ALGEBRAIC[25] = 1.00000/(( 0.00138000*(STATES[0]+7.00000))/(1.00000 - exp( - 0.123000*(STATES[0]+7.00000)))+( 0.000610000*(STATES[0]+10.0000))/(exp( 0.145000*(STATES[0]+10.0000)) - 1.00000));
RATES[10] = (ALGEBRAIC[3] - STATES[10])/ALGEBRAIC[25];
ALGEBRAIC[7] = 1.00000/(1.00000+exp(- (STATES[0] - 1.50000)/16.7000));
ALGEBRAIC[27] = 1.00000/(( 7.19000e-05*(STATES[0]+30.0000))/(1.00000 - exp( - 0.148000*(STATES[0]+30.0000)))+( 0.000131000*(STATES[0]+30.0000))/(- 1.00000+exp( 0.0687000*(STATES[0]+30.0000))));
RATES[11] = (ALGEBRAIC[7] - STATES[11])/ALGEBRAIC[27];
ALGEBRAIC[8] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[28] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
RATES[13] = (ALGEBRAIC[8] - STATES[13])/ALGEBRAIC[28];
ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[29] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
RATES[12] = (ALGEBRAIC[9] - STATES[12])/ALGEBRAIC[29];
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[31] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
RATES[14] = (ALGEBRAIC[10] - STATES[14])/ALGEBRAIC[31];
ALGEBRAIC[11] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[32] =  3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
RATES[16] = (ALGEBRAIC[11] - STATES[16])/ALGEBRAIC[32];
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[33] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
RATES[15] = (ALGEBRAIC[12] - STATES[15])/ALGEBRAIC[33];
ALGEBRAIC[13] = 1.00000/(1.00000+exp(- (STATES[0]+14.5000)/6.00000));
ALGEBRAIC[34] = ( 1.00000*ALGEBRAIC[13]*(1.00000 - exp(- (STATES[0]+14.5000)/6.00000)))/( 0.0350000*(STATES[0]+14.5000));
RATES[17] = (ALGEBRAIC[13] - STATES[17])/ALGEBRAIC[34];
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[0]+35.0600)/3.60000))+0.600000/(1.00000+exp((50.0000 - STATES[0])/20.0000));
ALGEBRAIC[35] = 1.00000/( 0.0197000*exp(- pow( 0.0337000*(STATES[0]+14.5000), 2.00000))+0.0200000);
RATES[18] = (ALGEBRAIC[14] - STATES[18])/ALGEBRAIC[35];
ALGEBRAIC[20] = STATES[39]+( STATES[41]*CONSTANTS[160])/CONSTANTS[161]+( STATES[40]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[37] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[4]*(CONSTANTS[135] - STATES[39]) -  CONSTANTS[143]*STATES[39];
RATES[39] = ALGEBRAIC[37];
ALGEBRAIC[39] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[6]*(( CONSTANTS[136]*CONSTANTS[161])/CONSTANTS[159] - STATES[40]) -  CONSTANTS[143]*STATES[40];
RATES[40] = ALGEBRAIC[39];
ALGEBRAIC[38] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[5]*(( CONSTANTS[137]*CONSTANTS[161])/CONSTANTS[160] - STATES[41]) -  CONSTANTS[143]*STATES[41];
RATES[41] = ALGEBRAIC[38];
ALGEBRAIC[21] = STATES[42]+( STATES[44]*CONSTANTS[160])/CONSTANTS[161]+( STATES[43]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[40] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[4]*(CONSTANTS[138] - STATES[42]) -  CONSTANTS[144]*STATES[42];
RATES[42] = ALGEBRAIC[40];
ALGEBRAIC[42] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[6]*(( CONSTANTS[139]*CONSTANTS[161])/CONSTANTS[159] - STATES[43]) -  CONSTANTS[144]*STATES[43];
RATES[43] = ALGEBRAIC[42];
ALGEBRAIC[41] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[5]*(( CONSTANTS[140]*CONSTANTS[161])/CONSTANTS[160] - STATES[44]) -  CONSTANTS[144]*STATES[44];
RATES[44] = ALGEBRAIC[41];
ALGEBRAIC[15] = CONSTANTS[75] - (CONSTANTS[75] - CONSTANTS[76])/(1.00000+pow(CONSTANTS[77]/STATES[24], CONSTANTS[83]));
ALGEBRAIC[36] = CONSTANTS[79]/ALGEBRAIC[15];
ALGEBRAIC[47] =  CONSTANTS[81]*ALGEBRAIC[15];
RATES[23] = ( ALGEBRAIC[36]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[80]*STATES[23]) - ( ALGEBRAIC[47]*STATES[5]*STATES[23] -  CONSTANTS[82]*STATES[22]);
ALGEBRAIC[0] = (STATES[0]<- 40.0000 ?  0.135000*exp((80.0000+STATES[0])/- 6.80000) : 0.00000);
ALGEBRAIC[22] = (STATES[0]<- 40.0000 ?  3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0]) : 1.00000/( 0.130000*(1.00000+exp((STATES[0]+10.6600)/- 11.1000))));
ALGEBRAIC[43] = 1.00000/(ALGEBRAIC[0]+ALGEBRAIC[22]);
ALGEBRAIC[48] = ALGEBRAIC[0]/(ALGEBRAIC[0]+ALGEBRAIC[22]);
RATES[8] = (ALGEBRAIC[48] - STATES[8])/ALGEBRAIC[43];
ALGEBRAIC[1] = (STATES[0]<- 40.0000 ? (( ( - 127140.*exp( 0.244400*STATES[0]) -  3.47400e-05*exp( - 0.0439100*STATES[0]))*(STATES[0]+37.7800))/1.00000)/(1.00000+exp( 0.311000*(STATES[0]+79.2300))) : 0.00000);
ALGEBRAIC[23] = (STATES[0]<- 40.0000 ? ( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400))) : ( 0.300000*exp( - 2.53500e-07*STATES[0]))/(1.00000+exp( - 0.100000*(STATES[0]+32.0000))));
ALGEBRAIC[44] = 1.00000/(ALGEBRAIC[1]+ALGEBRAIC[23]);
ALGEBRAIC[49] = ALGEBRAIC[1]/(ALGEBRAIC[1]+ALGEBRAIC[23]);
RATES[9] = (ALGEBRAIC[49] - STATES[9])/ALGEBRAIC[44];
ALGEBRAIC[2] = (( 0.320000*(STATES[0]+47.1300))/1.00000)/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[24] =  0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[45] = 1.00000/(ALGEBRAIC[2]+ALGEBRAIC[24]);
ALGEBRAIC[50] = ALGEBRAIC[2]/(ALGEBRAIC[2]+ALGEBRAIC[24]);
RATES[7] = (ALGEBRAIC[50] - STATES[7])/ALGEBRAIC[45];
ALGEBRAIC[52] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
RATES[21] = ( CONSTANTS[82]*ALGEBRAIC[52] -  ALGEBRAIC[47]*STATES[5]*STATES[21]) - ( ALGEBRAIC[36]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[80]*STATES[23]);
RATES[22] = ( ALGEBRAIC[47]*STATES[5]*STATES[23] -  CONSTANTS[82]*STATES[22]) - ( CONSTANTS[80]*STATES[22] -  ALGEBRAIC[36]*pow(STATES[5], 2.00000)*ALGEBRAIC[52]);
ALGEBRAIC[100] =  CONSTANTS[100]*STATES[2]*(CONSTANTS[99] - STATES[26]) -  CONSTANTS[101]*STATES[26];
RATES[26] = ALGEBRAIC[100];
ALGEBRAIC[26] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[54] =  pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[55] =  CONSTANTS[18]*CONSTANTS[17]*ALGEBRAIC[54]*(STATES[0] - ALGEBRAIC[26]);
ALGEBRAIC[58] =  CONSTANTS[21]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[26]);
ALGEBRAIC[61] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))+ 0.0365000*CONSTANTS[149]*exp(( - STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[62] = ( (( CONSTANTS[29]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[61])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[2], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[87] = 1.00000 - STATES[20];
ALGEBRAIC[83] = ( 0.450000*STATES[17]*STATES[18]*CONSTANTS[152]*STATES[0]*pow(CONSTANTS[13], 2.00000))/( CONSTANTS[11]*CONSTANTS[12]);
ALGEBRAIC[89] = ( ALGEBRAIC[83]*ALGEBRAIC[87]*CONSTANTS[44]*CONSTANTS[42]*( CONSTANTS[48]*STATES[2]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[49]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[95] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[5], 3.00000));
ALGEBRAIC[92] = ( exp(( CONSTANTS[63]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[2], CONSTANTS[64])*CONSTANTS[6] -  exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[64])*STATES[5])/(1.00000+ CONSTANTS[62]*exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[96] = ( CONSTANTS[54]*CONSTANTS[53]*ALGEBRAIC[95]*CONSTANTS[153]*ALGEBRAIC[92])/( CONSTANTS[60]*pow(CONSTANTS[5], CONSTANTS[64])*(1.00000+pow(STATES[2]/CONSTANTS[57], CONSTANTS[64]))+ pow(CONSTANTS[59], CONSTANTS[64])*STATES[5]*(1.00000+STATES[5]/CONSTANTS[60])+ CONSTANTS[58]*pow(STATES[2], CONSTANTS[64])+ pow(STATES[2], CONSTANTS[64])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[64])*STATES[5]);
ALGEBRAIC[98] =  (STATES[2] - STATES[3])*1.83130e-14;
RATES[2] = (( - CONSTANTS[156]*(ALGEBRAIC[55]+ 3.00000*ALGEBRAIC[96]+ALGEBRAIC[58]+ 3.00000*ALGEBRAIC[62]+ALGEBRAIC[89]))/( CONSTANTS[160]*CONSTANTS[13]) - ALGEBRAIC[98]/CONSTANTS[160]) - ALGEBRAIC[100];
ALGEBRAIC[101] =  (STATES[3] - STATES[1])*1.63860e-12;
RATES[1] = ALGEBRAIC[101]/CONSTANTS[161];
ALGEBRAIC[103] =  CONSTANTS[100]*STATES[3]*(CONSTANTS[98] - STATES[25]) -  CONSTANTS[101]*STATES[25];
RATES[25] = ALGEBRAIC[103];
ALGEBRAIC[46] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[56] =  CONSTANTS[19]*CONSTANTS[17]*ALGEBRAIC[54]*(STATES[0] - ALGEBRAIC[46]);
ALGEBRAIC[59] =  CONSTANTS[22]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[46]);
ALGEBRAIC[63] = ( (( CONSTANTS[30]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[61])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[3], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[84] = 1.00000 - STATES[19];
ALGEBRAIC[86] = ( ALGEBRAIC[83]*ALGEBRAIC[84]*CONSTANTS[45]*CONSTANTS[42]*( CONSTANTS[48]*STATES[3]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[49]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[94] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[6], 3.00000));
ALGEBRAIC[93] = ( exp(( CONSTANTS[63]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[3], CONSTANTS[64])*CONSTANTS[6] -  exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[64])*STATES[6])/(1.00000+ CONSTANTS[62]*exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[97] = ( CONSTANTS[55]*CONSTANTS[53]*ALGEBRAIC[94]*CONSTANTS[153]*ALGEBRAIC[93])/( CONSTANTS[60]*pow(CONSTANTS[5], CONSTANTS[64])*(1.00000+pow(STATES[3]/CONSTANTS[57], CONSTANTS[64]))+ pow(CONSTANTS[59], CONSTANTS[64])*STATES[6]*(1.00000+STATES[6]/CONSTANTS[60])+ CONSTANTS[58]*pow(STATES[3], CONSTANTS[64])+ pow(STATES[3], CONSTANTS[64])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[64])*STATES[6]);
RATES[3] = (( - CONSTANTS[156]*(ALGEBRAIC[56]+ 3.00000*ALGEBRAIC[97]+ALGEBRAIC[59]+ 3.00000*ALGEBRAIC[63]+ALGEBRAIC[86]))/( CONSTANTS[159]*CONSTANTS[13])+(ALGEBRAIC[98] - ALGEBRAIC[101])/CONSTANTS[159]) - ALGEBRAIC[103];
ALGEBRAIC[57] = ALGEBRAIC[55]+ALGEBRAIC[56];
ALGEBRAIC[60] = ALGEBRAIC[58]+ALGEBRAIC[59];
ALGEBRAIC[64] = ALGEBRAIC[62]+ALGEBRAIC[63];
ALGEBRAIC[65] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[66] =  CONSTANTS[150]*STATES[10]*ALGEBRAIC[65]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[67] = - arbitrary_log(STATES[5]/1.00000, 10)+3.00000;
ALGEBRAIC[69] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[67])/0.600000)));
ALGEBRAIC[71] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[1]));
ALGEBRAIC[72] =  CONSTANTS[31]*ALGEBRAIC[69]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[71]);
ALGEBRAIC[68] = - arbitrary_log(STATES[6]/1.00000, 10)+3.00000;
ALGEBRAIC[70] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[68])/0.600000)));
ALGEBRAIC[73] =  CONSTANTS[32]*ALGEBRAIC[70]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[71]);
ALGEBRAIC[74] = ALGEBRAIC[72]+ALGEBRAIC[73];
ALGEBRAIC[75] =  CONSTANTS[34]*STATES[13]*(STATES[12]+ 0.500000*STATES[14])*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[76] =  CONSTANTS[35]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[77] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[145]+59.2150))));
ALGEBRAIC[78] = ( 0.491240*exp( 0.0803200*((STATES[0] - CONSTANTS[145])+5.47600))+ 1.00000*exp( 0.0617500*(STATES[0] - (CONSTANTS[145]+594.310))))/(1.00000+exp( - 0.514300*((STATES[0] - CONSTANTS[145])+4.75300)));
ALGEBRAIC[79] = ALGEBRAIC[77]/(ALGEBRAIC[77]+ALGEBRAIC[78]);
ALGEBRAIC[80] =  CONSTANTS[151]*ALGEBRAIC[79]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[99] = ALGEBRAIC[96]+ALGEBRAIC[97];
ALGEBRAIC[81] =  CONSTANTS[36]*(STATES[0] - CONSTANTS[146])*(CONSTANTS[38]/(1.00000+CONSTANTS[37]/STATES[5])+CONSTANTS[39]/(1.00000+CONSTANTS[37]/STATES[6]));
ALGEBRAIC[82] =  CONSTANTS[40]*(STATES[0] - CONSTANTS[146]);
ALGEBRAIC[85] = ( ALGEBRAIC[83]*ALGEBRAIC[84]*CONSTANTS[45]*CONSTANTS[41]*4.00000*( CONSTANTS[46]*STATES[6]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[47]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[88] = ( ALGEBRAIC[83]*ALGEBRAIC[87]*CONSTANTS[44]*CONSTANTS[41]*4.00000*( CONSTANTS[46]*STATES[5]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[47]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[90] = ( ALGEBRAIC[83]*( ALGEBRAIC[84]*CONSTANTS[45]+ ALGEBRAIC[87]*CONSTANTS[44])*CONSTANTS[43]*( CONSTANTS[50]*CONSTANTS[8]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[51]*CONSTANTS[4]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[91] = ALGEBRAIC[85]+ALGEBRAIC[88]+ALGEBRAIC[86]+ALGEBRAIC[89]+ALGEBRAIC[90];
ALGEBRAIC[51] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[106] =  CONSTANTS[72]*CONSTANTS[73]*(STATES[0] - ALGEBRAIC[51]);
ALGEBRAIC[53] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[107] =  CONSTANTS[72]*CONSTANTS[74]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[108] = ALGEBRAIC[107]+ALGEBRAIC[106];
ALGEBRAIC[104] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[67])/(1.00000+pow(CONSTANTS[69]/STATES[6], CONSTANTS[70]));
ALGEBRAIC[102] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[66])/(1.00000+pow(CONSTANTS[69]/STATES[5], CONSTANTS[70]));
ALGEBRAIC[105] = ALGEBRAIC[102]+ALGEBRAIC[104];
ALGEBRAIC[6] = (VOI -  floor(VOI/CONSTANTS[1])*CONSTANTS[1]>=CONSTANTS[0]&&VOI -  floor(VOI/CONSTANTS[1])*CONSTANTS[1]<=CONSTANTS[0]+CONSTANTS[2] ? - CONSTANTS[3] : 0.00000);
RATES[0] = - (ALGEBRAIC[57]+ALGEBRAIC[60]+ALGEBRAIC[64]+ALGEBRAIC[66]+ALGEBRAIC[74]+ALGEBRAIC[75]+ALGEBRAIC[76]+ALGEBRAIC[80]+ALGEBRAIC[99]+ALGEBRAIC[81]+ALGEBRAIC[82]+ALGEBRAIC[91]+ALGEBRAIC[108]+ALGEBRAIC[105]+ALGEBRAIC[6]);
ALGEBRAIC[112] =  CONSTANTS[108]*STATES[24]*(( CONSTANTS[106]*CONSTANTS[161])/CONSTANTS[158] - STATES[31]) -  CONSTANTS[111]*STATES[31];
RATES[31] = ALGEBRAIC[112];
ALGEBRAIC[109] =  CONSTANTS[78]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[110] =  CONSTANTS[84]*(STATES[24] - STATES[5]);
ALGEBRAIC[111] = ( (( CONSTANTS[155]*CONSTANTS[85]*CONSTANTS[161])/CONSTANTS[158])*(pow(STATES[4]/CONSTANTS[87], CONSTANTS[89]) - pow(STATES[24]/CONSTANTS[88], CONSTANTS[89])))/(1.00000+pow(STATES[4]/CONSTANTS[87], CONSTANTS[89])+pow(STATES[24]/CONSTANTS[88], CONSTANTS[89]));
RATES[24] = (ALGEBRAIC[111] - (( ALGEBRAIC[110]*CONSTANTS[161])/CONSTANTS[158]+ALGEBRAIC[109])) - ALGEBRAIC[112];
ALGEBRAIC[115] =  CONSTANTS[107]*STATES[5]*(( CONSTANTS[103]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[28]) -  CONSTANTS[109]*STATES[28];
RATES[28] = ALGEBRAIC[115];
ALGEBRAIC[117] =  CONSTANTS[107]*STATES[6]*(( CONSTANTS[102]*CONSTANTS[161])/CONSTANTS[159] - STATES[27]) -  CONSTANTS[109]*STATES[27];
RATES[27] = ALGEBRAIC[117];
ALGEBRAIC[118] =  CONSTANTS[107]*STATES[5]*(( CONSTANTS[105]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[30]) -  CONSTANTS[110]*STATES[30];
RATES[30] = ALGEBRAIC[118];
ALGEBRAIC[116] =  CONSTANTS[119]*STATES[4]*(CONSTANTS[112] - STATES[32]) -  CONSTANTS[126]*STATES[32];
RATES[32] = ALGEBRAIC[116];
ALGEBRAIC[120] =  CONSTANTS[107]*STATES[6]*(( CONSTANTS[104]*CONSTANTS[161])/CONSTANTS[159] - STATES[29]) -  CONSTANTS[110]*STATES[29];
RATES[29] = ALGEBRAIC[120];
ALGEBRAIC[119] =  CONSTANTS[120]*STATES[4]*(CONSTANTS[113] - (STATES[33]+STATES[34])) -  CONSTANTS[127]*STATES[33];
RATES[33] = ALGEBRAIC[119];
ALGEBRAIC[113] =  (STATES[5] - STATES[6])*8.24130e-13;
ALGEBRAIC[121] = ALGEBRAIC[115]+ALGEBRAIC[118];
ALGEBRAIC[123] = (ALGEBRAIC[88] -  2.00000*ALGEBRAIC[96])+ALGEBRAIC[106]+ALGEBRAIC[102];
RATES[5] = ((( - ALGEBRAIC[123]*CONSTANTS[156])/( CONSTANTS[160]*2.00000*CONSTANTS[13]) - ALGEBRAIC[113]/CONSTANTS[160])+( ALGEBRAIC[109]*CONSTANTS[158])/CONSTANTS[160]+( ALGEBRAIC[110]*CONSTANTS[161])/CONSTANTS[160]) -  1.00000*ALGEBRAIC[121];
ALGEBRAIC[122] =  CONSTANTS[121]*CONSTANTS[9]*(CONSTANTS[114] - (STATES[33]+STATES[34])) -  CONSTANTS[128]*STATES[34];
RATES[34] = ALGEBRAIC[122];
ALGEBRAIC[114] =  (STATES[6] - STATES[4])*3.72430e-12;
ALGEBRAIC[124] = ALGEBRAIC[117]+ALGEBRAIC[120];
ALGEBRAIC[126] = (ALGEBRAIC[85] -  2.00000*ALGEBRAIC[97])+ALGEBRAIC[107]+ALGEBRAIC[104];
RATES[6] = (( - ALGEBRAIC[126]*CONSTANTS[156])/( CONSTANTS[159]*2.00000*CONSTANTS[13])+(ALGEBRAIC[113] - ALGEBRAIC[114])/CONSTANTS[159]) -  1.00000*ALGEBRAIC[124];
ALGEBRAIC[125] =  CONSTANTS[122]*STATES[4]*(CONSTANTS[115] - STATES[35]) -  CONSTANTS[129]*STATES[35];
RATES[35] = ALGEBRAIC[125];
ALGEBRAIC[127] =  CONSTANTS[123]*STATES[4]*(CONSTANTS[116] - (STATES[36]+STATES[37])) -  CONSTANTS[130]*STATES[36];
RATES[36] = ALGEBRAIC[127];
ALGEBRAIC[128] =  CONSTANTS[124]*CONSTANTS[9]*(CONSTANTS[117] - (STATES[36]+STATES[37])) -  CONSTANTS[131]*STATES[37];
RATES[37] = ALGEBRAIC[128];
ALGEBRAIC[129] =  CONSTANTS[125]*STATES[4]*(CONSTANTS[118] - STATES[38]) -  CONSTANTS[132]*STATES[38];
RATES[38] = ALGEBRAIC[129];
ALGEBRAIC[130] = ALGEBRAIC[116]+ALGEBRAIC[119]+ALGEBRAIC[122]+ALGEBRAIC[125]+ALGEBRAIC[127]+ALGEBRAIC[128]+ALGEBRAIC[129];
RATES[4] = (( - ALGEBRAIC[111]*CONSTANTS[158])/CONSTANTS[161]+ALGEBRAIC[114]/CONSTANTS[161]) -  1.00000*ALGEBRAIC[130];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[3] = 1.00000/(1.00000+exp(- (50.0000+STATES[0])/7.50000));
ALGEBRAIC[25] = 1.00000/(( 0.00138000*(STATES[0]+7.00000))/(1.00000 - exp( - 0.123000*(STATES[0]+7.00000)))+( 0.000610000*(STATES[0]+10.0000))/(exp( 0.145000*(STATES[0]+10.0000)) - 1.00000));
ALGEBRAIC[7] = 1.00000/(1.00000+exp(- (STATES[0] - 1.50000)/16.7000));
ALGEBRAIC[27] = 1.00000/(( 7.19000e-05*(STATES[0]+30.0000))/(1.00000 - exp( - 0.148000*(STATES[0]+30.0000)))+( 0.000131000*(STATES[0]+30.0000))/(- 1.00000+exp( 0.0687000*(STATES[0]+30.0000))));
ALGEBRAIC[8] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[28] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[29] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[31] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
ALGEBRAIC[11] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[32] =  3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[33] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
ALGEBRAIC[13] = 1.00000/(1.00000+exp(- (STATES[0]+14.5000)/6.00000));
ALGEBRAIC[34] = ( 1.00000*ALGEBRAIC[13]*(1.00000 - exp(- (STATES[0]+14.5000)/6.00000)))/( 0.0350000*(STATES[0]+14.5000));
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[0]+35.0600)/3.60000))+0.600000/(1.00000+exp((50.0000 - STATES[0])/20.0000));
ALGEBRAIC[35] = 1.00000/( 0.0197000*exp(- pow( 0.0337000*(STATES[0]+14.5000), 2.00000))+0.0200000);
ALGEBRAIC[20] = STATES[39]+( STATES[41]*CONSTANTS[160])/CONSTANTS[161]+( STATES[40]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[37] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[4]*(CONSTANTS[135] - STATES[39]) -  CONSTANTS[143]*STATES[39];
ALGEBRAIC[39] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[6]*(( CONSTANTS[136]*CONSTANTS[161])/CONSTANTS[159] - STATES[40]) -  CONSTANTS[143]*STATES[40];
ALGEBRAIC[38] =  CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[20])*STATES[5]*(( CONSTANTS[137]*CONSTANTS[161])/CONSTANTS[160] - STATES[41]) -  CONSTANTS[143]*STATES[41];
ALGEBRAIC[21] = STATES[42]+( STATES[44]*CONSTANTS[160])/CONSTANTS[161]+( STATES[43]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[40] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[4]*(CONSTANTS[138] - STATES[42]) -  CONSTANTS[144]*STATES[42];
ALGEBRAIC[42] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[6]*(( CONSTANTS[139]*CONSTANTS[161])/CONSTANTS[159] - STATES[43]) -  CONSTANTS[144]*STATES[43];
ALGEBRAIC[41] =  CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[21])*STATES[5]*(( CONSTANTS[140]*CONSTANTS[161])/CONSTANTS[160] - STATES[44]) -  CONSTANTS[144]*STATES[44];
ALGEBRAIC[15] = CONSTANTS[75] - (CONSTANTS[75] - CONSTANTS[76])/(1.00000+pow(CONSTANTS[77]/STATES[24], CONSTANTS[83]));
ALGEBRAIC[36] = CONSTANTS[79]/ALGEBRAIC[15];
ALGEBRAIC[47] =  CONSTANTS[81]*ALGEBRAIC[15];
ALGEBRAIC[0] = (STATES[0]<- 40.0000 ?  0.135000*exp((80.0000+STATES[0])/- 6.80000) : 0.00000);
ALGEBRAIC[22] = (STATES[0]<- 40.0000 ?  3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0]) : 1.00000/( 0.130000*(1.00000+exp((STATES[0]+10.6600)/- 11.1000))));
ALGEBRAIC[43] = 1.00000/(ALGEBRAIC[0]+ALGEBRAIC[22]);
ALGEBRAIC[48] = ALGEBRAIC[0]/(ALGEBRAIC[0]+ALGEBRAIC[22]);
ALGEBRAIC[1] = (STATES[0]<- 40.0000 ? (( ( - 127140.*exp( 0.244400*STATES[0]) -  3.47400e-05*exp( - 0.0439100*STATES[0]))*(STATES[0]+37.7800))/1.00000)/(1.00000+exp( 0.311000*(STATES[0]+79.2300))) : 0.00000);
ALGEBRAIC[23] = (STATES[0]<- 40.0000 ? ( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400))) : ( 0.300000*exp( - 2.53500e-07*STATES[0]))/(1.00000+exp( - 0.100000*(STATES[0]+32.0000))));
ALGEBRAIC[44] = 1.00000/(ALGEBRAIC[1]+ALGEBRAIC[23]);
ALGEBRAIC[49] = ALGEBRAIC[1]/(ALGEBRAIC[1]+ALGEBRAIC[23]);
ALGEBRAIC[2] = (( 0.320000*(STATES[0]+47.1300))/1.00000)/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[24] =  0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[45] = 1.00000/(ALGEBRAIC[2]+ALGEBRAIC[24]);
ALGEBRAIC[50] = ALGEBRAIC[2]/(ALGEBRAIC[2]+ALGEBRAIC[24]);
ALGEBRAIC[52] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
ALGEBRAIC[100] =  CONSTANTS[100]*STATES[2]*(CONSTANTS[99] - STATES[26]) -  CONSTANTS[101]*STATES[26];
ALGEBRAIC[26] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[54] =  pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[55] =  CONSTANTS[18]*CONSTANTS[17]*ALGEBRAIC[54]*(STATES[0] - ALGEBRAIC[26]);
ALGEBRAIC[58] =  CONSTANTS[21]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[26]);
ALGEBRAIC[61] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))+ 0.0365000*CONSTANTS[149]*exp(( - STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[62] = ( (( CONSTANTS[29]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[61])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[2], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[87] = 1.00000 - STATES[20];
ALGEBRAIC[83] = ( 0.450000*STATES[17]*STATES[18]*CONSTANTS[152]*STATES[0]*pow(CONSTANTS[13], 2.00000))/( CONSTANTS[11]*CONSTANTS[12]);
ALGEBRAIC[89] = ( ALGEBRAIC[83]*ALGEBRAIC[87]*CONSTANTS[44]*CONSTANTS[42]*( CONSTANTS[48]*STATES[2]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[49]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[95] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[5], 3.00000));
ALGEBRAIC[92] = ( exp(( CONSTANTS[63]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[2], CONSTANTS[64])*CONSTANTS[6] -  exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[64])*STATES[5])/(1.00000+ CONSTANTS[62]*exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[96] = ( CONSTANTS[54]*CONSTANTS[53]*ALGEBRAIC[95]*CONSTANTS[153]*ALGEBRAIC[92])/( CONSTANTS[60]*pow(CONSTANTS[5], CONSTANTS[64])*(1.00000+pow(STATES[2]/CONSTANTS[57], CONSTANTS[64]))+ pow(CONSTANTS[59], CONSTANTS[64])*STATES[5]*(1.00000+STATES[5]/CONSTANTS[60])+ CONSTANTS[58]*pow(STATES[2], CONSTANTS[64])+ pow(STATES[2], CONSTANTS[64])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[64])*STATES[5]);
ALGEBRAIC[98] =  (STATES[2] - STATES[3])*1.83130e-14;
ALGEBRAIC[101] =  (STATES[3] - STATES[1])*1.63860e-12;
ALGEBRAIC[103] =  CONSTANTS[100]*STATES[3]*(CONSTANTS[98] - STATES[25]) -  CONSTANTS[101]*STATES[25];
ALGEBRAIC[46] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[56] =  CONSTANTS[19]*CONSTANTS[17]*ALGEBRAIC[54]*(STATES[0] - ALGEBRAIC[46]);
ALGEBRAIC[59] =  CONSTANTS[22]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[46]);
ALGEBRAIC[63] = ( (( CONSTANTS[30]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[61])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[3], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[84] = 1.00000 - STATES[19];
ALGEBRAIC[86] = ( ALGEBRAIC[83]*ALGEBRAIC[84]*CONSTANTS[45]*CONSTANTS[42]*( CONSTANTS[48]*STATES[3]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[49]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[94] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[6], 3.00000));
ALGEBRAIC[93] = ( exp(( CONSTANTS[63]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[3], CONSTANTS[64])*CONSTANTS[6] -  exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[64])*STATES[6])/(1.00000+ CONSTANTS[62]*exp(( (CONSTANTS[63] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[97] = ( CONSTANTS[55]*CONSTANTS[53]*ALGEBRAIC[94]*CONSTANTS[153]*ALGEBRAIC[93])/( CONSTANTS[60]*pow(CONSTANTS[5], CONSTANTS[64])*(1.00000+pow(STATES[3]/CONSTANTS[57], CONSTANTS[64]))+ pow(CONSTANTS[59], CONSTANTS[64])*STATES[6]*(1.00000+STATES[6]/CONSTANTS[60])+ CONSTANTS[58]*pow(STATES[3], CONSTANTS[64])+ pow(STATES[3], CONSTANTS[64])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[64])*STATES[6]);
ALGEBRAIC[57] = ALGEBRAIC[55]+ALGEBRAIC[56];
ALGEBRAIC[60] = ALGEBRAIC[58]+ALGEBRAIC[59];
ALGEBRAIC[64] = ALGEBRAIC[62]+ALGEBRAIC[63];
ALGEBRAIC[65] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[66] =  CONSTANTS[150]*STATES[10]*ALGEBRAIC[65]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[67] = - arbitrary_log(STATES[5]/1.00000, 10)+3.00000;
ALGEBRAIC[69] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[67])/0.600000)));
ALGEBRAIC[71] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[1]));
ALGEBRAIC[72] =  CONSTANTS[31]*ALGEBRAIC[69]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[71]);
ALGEBRAIC[68] = - arbitrary_log(STATES[6]/1.00000, 10)+3.00000;
ALGEBRAIC[70] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[68])/0.600000)));
ALGEBRAIC[73] =  CONSTANTS[32]*ALGEBRAIC[70]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[71]);
ALGEBRAIC[74] = ALGEBRAIC[72]+ALGEBRAIC[73];
ALGEBRAIC[75] =  CONSTANTS[34]*STATES[13]*(STATES[12]+ 0.500000*STATES[14])*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[76] =  CONSTANTS[35]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[77] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[145]+59.2150))));
ALGEBRAIC[78] = ( 0.491240*exp( 0.0803200*((STATES[0] - CONSTANTS[145])+5.47600))+ 1.00000*exp( 0.0617500*(STATES[0] - (CONSTANTS[145]+594.310))))/(1.00000+exp( - 0.514300*((STATES[0] - CONSTANTS[145])+4.75300)));
ALGEBRAIC[79] = ALGEBRAIC[77]/(ALGEBRAIC[77]+ALGEBRAIC[78]);
ALGEBRAIC[80] =  CONSTANTS[151]*ALGEBRAIC[79]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[99] = ALGEBRAIC[96]+ALGEBRAIC[97];
ALGEBRAIC[81] =  CONSTANTS[36]*(STATES[0] - CONSTANTS[146])*(CONSTANTS[38]/(1.00000+CONSTANTS[37]/STATES[5])+CONSTANTS[39]/(1.00000+CONSTANTS[37]/STATES[6]));
ALGEBRAIC[82] =  CONSTANTS[40]*(STATES[0] - CONSTANTS[146]);
ALGEBRAIC[85] = ( ALGEBRAIC[83]*ALGEBRAIC[84]*CONSTANTS[45]*CONSTANTS[41]*4.00000*( CONSTANTS[46]*STATES[6]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[47]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[88] = ( ALGEBRAIC[83]*ALGEBRAIC[87]*CONSTANTS[44]*CONSTANTS[41]*4.00000*( CONSTANTS[46]*STATES[5]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[47]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[90] = ( ALGEBRAIC[83]*( ALGEBRAIC[84]*CONSTANTS[45]+ ALGEBRAIC[87]*CONSTANTS[44])*CONSTANTS[43]*( CONSTANTS[50]*CONSTANTS[8]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[51]*CONSTANTS[4]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[91] = ALGEBRAIC[85]+ALGEBRAIC[88]+ALGEBRAIC[86]+ALGEBRAIC[89]+ALGEBRAIC[90];
ALGEBRAIC[51] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[106] =  CONSTANTS[72]*CONSTANTS[73]*(STATES[0] - ALGEBRAIC[51]);
ALGEBRAIC[53] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[107] =  CONSTANTS[72]*CONSTANTS[74]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[108] = ALGEBRAIC[107]+ALGEBRAIC[106];
ALGEBRAIC[104] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[67])/(1.00000+pow(CONSTANTS[69]/STATES[6], CONSTANTS[70]));
ALGEBRAIC[102] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[66])/(1.00000+pow(CONSTANTS[69]/STATES[5], CONSTANTS[70]));
ALGEBRAIC[105] = ALGEBRAIC[102]+ALGEBRAIC[104];
ALGEBRAIC[6] = (VOI -  floor(VOI/CONSTANTS[1])*CONSTANTS[1]>=CONSTANTS[0]&&VOI -  floor(VOI/CONSTANTS[1])*CONSTANTS[1]<=CONSTANTS[0]+CONSTANTS[2] ? - CONSTANTS[3] : 0.00000);
ALGEBRAIC[112] =  CONSTANTS[108]*STATES[24]*(( CONSTANTS[106]*CONSTANTS[161])/CONSTANTS[158] - STATES[31]) -  CONSTANTS[111]*STATES[31];
ALGEBRAIC[109] =  CONSTANTS[78]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[110] =  CONSTANTS[84]*(STATES[24] - STATES[5]);
ALGEBRAIC[111] = ( (( CONSTANTS[155]*CONSTANTS[85]*CONSTANTS[161])/CONSTANTS[158])*(pow(STATES[4]/CONSTANTS[87], CONSTANTS[89]) - pow(STATES[24]/CONSTANTS[88], CONSTANTS[89])))/(1.00000+pow(STATES[4]/CONSTANTS[87], CONSTANTS[89])+pow(STATES[24]/CONSTANTS[88], CONSTANTS[89]));
ALGEBRAIC[115] =  CONSTANTS[107]*STATES[5]*(( CONSTANTS[103]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[28]) -  CONSTANTS[109]*STATES[28];
ALGEBRAIC[117] =  CONSTANTS[107]*STATES[6]*(( CONSTANTS[102]*CONSTANTS[161])/CONSTANTS[159] - STATES[27]) -  CONSTANTS[109]*STATES[27];
ALGEBRAIC[118] =  CONSTANTS[107]*STATES[5]*(( CONSTANTS[105]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[30]) -  CONSTANTS[110]*STATES[30];
ALGEBRAIC[116] =  CONSTANTS[119]*STATES[4]*(CONSTANTS[112] - STATES[32]) -  CONSTANTS[126]*STATES[32];
ALGEBRAIC[120] =  CONSTANTS[107]*STATES[6]*(( CONSTANTS[104]*CONSTANTS[161])/CONSTANTS[159] - STATES[29]) -  CONSTANTS[110]*STATES[29];
ALGEBRAIC[119] =  CONSTANTS[120]*STATES[4]*(CONSTANTS[113] - (STATES[33]+STATES[34])) -  CONSTANTS[127]*STATES[33];
ALGEBRAIC[113] =  (STATES[5] - STATES[6])*8.24130e-13;
ALGEBRAIC[121] = ALGEBRAIC[115]+ALGEBRAIC[118];
ALGEBRAIC[123] = (ALGEBRAIC[88] -  2.00000*ALGEBRAIC[96])+ALGEBRAIC[106]+ALGEBRAIC[102];
ALGEBRAIC[122] =  CONSTANTS[121]*CONSTANTS[9]*(CONSTANTS[114] - (STATES[33]+STATES[34])) -  CONSTANTS[128]*STATES[34];
ALGEBRAIC[114] =  (STATES[6] - STATES[4])*3.72430e-12;
ALGEBRAIC[124] = ALGEBRAIC[117]+ALGEBRAIC[120];
ALGEBRAIC[126] = (ALGEBRAIC[85] -  2.00000*ALGEBRAIC[97])+ALGEBRAIC[107]+ALGEBRAIC[104];
ALGEBRAIC[125] =  CONSTANTS[122]*STATES[4]*(CONSTANTS[115] - STATES[35]) -  CONSTANTS[129]*STATES[35];
ALGEBRAIC[127] =  CONSTANTS[123]*STATES[4]*(CONSTANTS[116] - (STATES[36]+STATES[37])) -  CONSTANTS[130]*STATES[36];
ALGEBRAIC[128] =  CONSTANTS[124]*CONSTANTS[9]*(CONSTANTS[117] - (STATES[36]+STATES[37])) -  CONSTANTS[131]*STATES[37];
ALGEBRAIC[129] =  CONSTANTS[125]*STATES[4]*(CONSTANTS[118] - STATES[38]) -  CONSTANTS[132]*STATES[38];
ALGEBRAIC[130] = ALGEBRAIC[116]+ALGEBRAIC[119]+ALGEBRAIC[122]+ALGEBRAIC[125]+ALGEBRAIC[127]+ALGEBRAIC[128]+ALGEBRAIC[129];
ALGEBRAIC[4] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[2]));
ALGEBRAIC[5] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[3]));
ALGEBRAIC[16] = ( CONSTANTS[92]*CONSTANTS[96]*(STATES[2] - STATES[3]))/CONSTANTS[94];
ALGEBRAIC[17] = ( CONSTANTS[93]*CONSTANTS[97]*(STATES[3] - STATES[1]))/CONSTANTS[95];
ALGEBRAIC[18] = ( CONSTANTS[90]*CONSTANTS[96]*(STATES[5] - STATES[6]))/CONSTANTS[94];
ALGEBRAIC[19] = ( CONSTANTS[91]*CONSTANTS[97]*(STATES[6] - STATES[4]))/CONSTANTS[95];
ALGEBRAIC[30] = ALGEBRAIC[10];
}