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 111 entries in the algebraic variable array.
   There are a total of 39 entries in each of the rate and state variable arrays.
   There are a total of 137 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (millisecond).
 * STATES[0] is V in component cell (millivolt).
 * ALGEBRAIC[36] is i_Na in component INa (microA_per_microF).
 * ALGEBRAIC[39] is i_Nab in component INab (microA_per_microF).
 * ALGEBRAIC[43] is i_NaK in component INaK (microA_per_microF).
 * ALGEBRAIC[45] is i_Kr in component IKr (microA_per_microF).
 * ALGEBRAIC[53] is i_Ks in component IKs (microA_per_microF).
 * ALGEBRAIC[54] is i_Kp in component IKp (microA_per_microF).
 * ALGEBRAIC[55] is i_tos in component Itos (microA_per_microF).
 * ALGEBRAIC[56] is i_tof in component Itof (microA_per_microF).
 * ALGEBRAIC[60] is i_K1 in component IK1 (microA_per_microF).
 * ALGEBRAIC[79] is i_NaCa in component INaCa (microA_per_microF).
 * ALGEBRAIC[61] is i_Cl_Ca in component ICl_Ca (microA_per_microF).
 * ALGEBRAIC[62] is i_Clb in component IClb (microA_per_microF).
 * ALGEBRAIC[71] is i_CaL in component ICaL (microA_per_microF).
 * ALGEBRAIC[88] is i_Cab in component ICab (microA_per_microF).
 * ALGEBRAIC[85] is i_Cap in component ICap (microA_per_microF).
 * ALGEBRAIC[4] 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[14] is Cm in component model_parameters (farad).
 * CONSTANTS[15] is cell_length in component model_parameters (micrometre).
 * CONSTANTS[16] is cell_radius in component model_parameters (micrometre).
 * CONSTANTS[132] is Vol_Cell in component model_parameters (litre).
 * CONSTANTS[133] is Vol_SR in component model_parameters (litre).
 * CONSTANTS[134] is Vol_SL in component model_parameters (litre).
 * CONSTANTS[135] is Vol_jct in component model_parameters (litre).
 * CONSTANTS[136] is Vol_myo in component model_parameters (litre).
 * ALGEBRAIC[18] is E_Na_jct in component reversal_potentials (millivolt).
 * ALGEBRAIC[28] is E_Na_SL in component reversal_potentials (millivolt).
 * ALGEBRAIC[30] is E_Ca_jct in component reversal_potentials (millivolt).
 * ALGEBRAIC[32] is E_Ca_SL in component reversal_potentials (millivolt).
 * CONSTANTS[123] is E_K in component reversal_potentials (millivolt).
 * CONSTANTS[124] 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[34] is i_Na_jct in component INa (microA_per_microF).
 * ALGEBRAIC[35] 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[33] is openProb in component INa (dimensionless).
 * ALGEBRAIC[0] is alpha_h in component INa_h_gate (per_millisecond).
 * ALGEBRAIC[14] is beta_h in component INa_h_gate (per_millisecond).
 * ALGEBRAIC[1] is alpha_j in component INa_j_gate (per_millisecond).
 * ALGEBRAIC[15] is beta_j in component INa_j_gate (per_millisecond).
 * ALGEBRAIC[2] is alpha_m in component INa_m_gate (per_millisecond).
 * ALGEBRAIC[16] is beta_m in component INa_m_gate (per_millisecond).
 * ALGEBRAIC[37] is i_Nab_jct in component INab (microA_per_microF).
 * ALGEBRAIC[38] 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[41] is i_NaK_jct in component INaK (microA_per_microF).
 * ALGEBRAIC[42] is i_NaK_SL in component INaK (microA_per_microF).
 * ALGEBRAIC[40] is f_NaK in component INaK (dimensionless).
 * CONSTANTS[23] is H_NaK in component INaK (dimensionless).
 * CONSTANTS[24] is Km_Nai in component INaK (millimolar).
 * CONSTANTS[25] is Km_Ko in component INaK (millimolar).
 * CONSTANTS[26] is I_NaK_max in component INaK (microA_per_microF).
 * CONSTANTS[125] is sigma in component INaK (dimensionless).
 * CONSTANTS[27] is Fx_NaK_jct in component INaK (dimensionless).
 * CONSTANTS[28] is Fx_NaK_SL in component INaK (dimensionless).
 * CONSTANTS[126] is G_IKr in component IKr (milliS_per_microF).
 * STATES[10] is Xr in component IKr_Xr_gate (dimensionless).
 * ALGEBRAIC[44] is Rr in component IKr_Rr_gate (dimensionless).
 * ALGEBRAIC[3] is Xr_infinity in component IKr_Xr_gate (dimensionless).
 * ALGEBRAIC[17] is tau_Xr in component IKr_Xr_gate (millisecond).
 * ALGEBRAIC[51] is i_Ks_jct in component IKs (microA_per_microF).
 * ALGEBRAIC[52] is i_Ks_SL in component IKs (microA_per_microF).
 * ALGEBRAIC[49] is G_Ks_SL in component IKs (milliS_per_microF).
 * ALGEBRAIC[48] is G_Ks_jct in component IKs (milliS_per_microF).
 * CONSTANTS[29] is Fx_Ks_jct in component IKs (dimensionless).
 * CONSTANTS[30] is Fx_Ks_SL in component IKs (dimensionless).
 * ALGEBRAIC[50] is E_Ks in component IKs (millivolt).
 * CONSTANTS[31] is pKNa in component IKs (dimensionless).
 * ALGEBRAIC[46] is pCa_jct in component IKs (dimensionless).
 * ALGEBRAIC[47] is pCa_SL in component IKs (dimensionless).
 * STATES[11] is Xs in component IKs_Xs_gate (dimensionless).
 * ALGEBRAIC[5] is Xs_infinity in component IKs_Xs_gate (dimensionless).
 * ALGEBRAIC[19] is tau_Xs in component IKs_Xs_gate (millisecond).
 * CONSTANTS[32] is g_Kp in component IKp (milliS_per_microF).
 * CONSTANTS[33] 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[6] is X_tos_infinity in component Itos_X_gate (dimensionless).
 * ALGEBRAIC[20] is tau_X_tos in component Itos_X_gate (millisecond).
 * ALGEBRAIC[7] is Y_tos_infinity in component Itos_Y_gate (dimensionless).
 * ALGEBRAIC[21] is tau_Y_tos in component Itos_Y_gate (millisecond).
 * ALGEBRAIC[8] is R_tos_infinity in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[22] is tau_R_tos in component Itos_R_gate (millisecond).
 * CONSTANTS[34] 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[9] is X_tof_infinity in component Itof_X_gate (dimensionless).
 * ALGEBRAIC[23] is tau_X_tof in component Itof_X_gate (millisecond).
 * ALGEBRAIC[10] is Y_tof_infinity in component Itof_Y_gate (dimensionless).
 * ALGEBRAIC[24] is tau_Y_tof in component Itof_Y_gate (millisecond).
 * CONSTANTS[127] is G_K1 in component IK1 (milliS_per_microF).
 * ALGEBRAIC[59] is K1_infinity in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[57] is alpha_K1 in component IK1_K1_gate (per_millisecond).
 * ALGEBRAIC[58] is beta_K1 in component IK1_K1_gate (per_millisecond).
 * CONSTANTS[35] is G_Cl in component ICl_Ca (milliS_per_microF).
 * CONSTANTS[36] is Kd_ClCa in component ICl_Ca (millimolar).
 * CONSTANTS[37] is Fx_Cl_jct in component ICl_Ca (dimensionless).
 * CONSTANTS[38] is Fx_Cl_SL in component ICl_Ca (dimensionless).
 * CONSTANTS[39] is G_ClBk in component IClb (milliS_per_microF).
 * ALGEBRAIC[65] is i_CaL_Ca_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[68] is i_CaL_Ca_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[66] is i_CaL_Na_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[69] is i_CaL_Na_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[70] is i_CaL_K in component ICaL (microA_per_microF).
 * CONSTANTS[40] is PCa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[41] is PNa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[42] is PK in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[43] is Fx_ICaL_jct in component ICaL (dimensionless).
 * CONSTANTS[44] is Fx_ICaL_SL in component ICaL (dimensionless).
 * CONSTANTS[45] is gamma_Cai in component ICaL (dimensionless).
 * CONSTANTS[46] is gamma_Cao in component ICaL (dimensionless).
 * CONSTANTS[47] is gamma_Nai in component ICaL (dimensionless).
 * CONSTANTS[48] is gamma_Nao in component ICaL (dimensionless).
 * CONSTANTS[49] is gamma_Ki in component ICaL (dimensionless).
 * CONSTANTS[50] is gamma_Ko in component ICaL (dimensionless).
 * CONSTANTS[51] is Q10_CaL in component ICaL (dimensionless).
 * CONSTANTS[128] 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[64] is fCa_SL in component ICaL_fCa_gate (dimensionless).
 * ALGEBRAIC[67] is fCa_jct in component ICaL_fCa_gate (dimensionless).
 * ALGEBRAIC[63] is temp in component ICaL (coulomb_per_mole).
 * ALGEBRAIC[11] is d_infinity in component ICaL_d_gate (dimensionless).
 * ALGEBRAIC[25] is tau_d in component ICaL_d_gate (millisecond).
 * ALGEBRAIC[12] is f_infinity in component ICaL_f_gate (dimensionless).
 * ALGEBRAIC[26] 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[77] is i_NaCa_SL in component INaCa (microA_per_microF).
 * ALGEBRAIC[76] is i_NaCa_jct in component INaCa (microA_per_microF).
 * CONSTANTS[52] is V_max in component INaCa (microA_per_microF).
 * CONSTANTS[53] is Fx_NCX_jct in component INaCa (dimensionless).
 * CONSTANTS[54] is Fx_NCX_SL in component INaCa (dimensionless).
 * CONSTANTS[55] is Q10_NCX in component INaCa (dimensionless).
 * CONSTANTS[129] is Q_NCX in component INaCa (dimensionless).
 * CONSTANTS[56] is K_mNai in component INaCa (millimolar).
 * CONSTANTS[57] is K_mCao in component INaCa (millimolar).
 * CONSTANTS[58] is K_mNao in component INaCa (millimolar).
 * CONSTANTS[59] is K_mCai in component INaCa (millimolar).
 * ALGEBRAIC[74] is Ka_SL in component INaCa (dimensionless).
 * ALGEBRAIC[75] is Ka_jct in component INaCa (dimensionless).
 * CONSTANTS[60] is Kd_act in component INaCa (millimolar).
 * CONSTANTS[61] is ksat in component INaCa (dimensionless).
 * CONSTANTS[62] is eta in component INaCa (dimensionless).
 * CONSTANTS[63] is HNa in component INaCa (dimensionless).
 * ALGEBRAIC[72] is temp_jct in component INaCa (millimolar4).
 * ALGEBRAIC[73] is temp_SL in component INaCa (millimolar4).
 * ALGEBRAIC[84] is i_Cap_SL in component ICap (microA_per_microF).
 * ALGEBRAIC[82] is i_Cap_jct in component ICap (microA_per_microF).
 * CONSTANTS[64] is Fx_SLCaP_jct in component ICap (dimensionless).
 * CONSTANTS[65] is Fx_SLCaP_SL in component ICap (dimensionless).
 * CONSTANTS[66] is Q10_SLCaP in component ICap (dimensionless).
 * CONSTANTS[130] is Q_SLCaP in component ICap (dimensionless).
 * CONSTANTS[67] is Km in component ICap (millimolar).
 * CONSTANTS[68] is H in component ICap (dimensionless).
 * CONSTANTS[69] is V_maxAF in component ICap (microA_per_microF).
 * ALGEBRAIC[86] is i_Cab_jct in component ICab (microA_per_microF).
 * ALGEBRAIC[87] is i_Cab_SL in component ICab (microA_per_microF).
 * CONSTANTS[70] is G_CaBk in component ICab (milliS_per_microF).
 * CONSTANTS[71] is Fx_CaBk_jct in component ICab (dimensionless).
 * CONSTANTS[72] is Fx_CaBk_SL in component ICab (dimensionless).
 * ALGEBRAIC[89] is j_rel_SR in component Jrel_SR (millimolar_per_millisecond).
 * CONSTANTS[73] is Max_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[74] is Min_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[75] 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[31] is RI in component Jrel_SR (dimensionless).
 * STATES[23] is O in component Jrel_SR (dimensionless).
 * CONSTANTS[76] is ks in component Jrel_SR (per_millisecond).
 * CONSTANTS[77] is koCa in component Jrel_SR (per_millimolar2_per_millisecond).
 * CONSTANTS[78] is kom in component Jrel_SR (per_millisecond).
 * CONSTANTS[79] is kiCa in component Jrel_SR (per_millimolar_per_millisecond).
 * CONSTANTS[80] is kim in component Jrel_SR (per_millisecond).
 * CONSTANTS[81] is HSR in component Jrel_SR (dimensionless).
 * STATES[24] is Ca_SR in component Ca_buffer (millimolar).
 * ALGEBRAIC[13] is kCaSR in component Jrel_SR (dimensionless).
 * ALGEBRAIC[27] is koSRCa in component Jrel_SR (per_millimolar2_per_millisecond).
 * ALGEBRAIC[29] is kiSRCa in component Jrel_SR (per_millimolar_per_millisecond).
 * ALGEBRAIC[90] is j_leak_SR in component Jleak_SR (millimolar_per_millisecond).
 * CONSTANTS[82] is KSRleak in component Jleak_SR (per_millisecond).
 * ALGEBRAIC[91] is j_pump_SR in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[83] is V_max in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[84] is Q10_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[131] is Q_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[85] is Kmf in component Jpump_SR (millimolar).
 * CONSTANTS[86] is Kmr in component Jpump_SR (millimolar).
 * CONSTANTS[87] is H in component Jpump_SR (dimensionless).
 * ALGEBRAIC[78] is J_Na_jct_SL in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[81] is J_Na_SL_myo in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[93] is J_Ca_jct_SL in component ion_diffusion (millimole_per_millisecond).
 * ALGEBRAIC[94] is J_Ca_SL_myo 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[88] is Bmax_SL in component Na_buffer (millimolar).
 * CONSTANTS[89] is Bmax_jct in component Na_buffer (millimolar).
 * CONSTANTS[90] is kon in component Na_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[91] is koff in component Na_buffer (per_millisecond).
 * ALGEBRAIC[80] is dNa_jct_buf in component Na_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[83] 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[92] is Bmax_SLB_SL in component Ca_buffer (millimolar).
 * CONSTANTS[93] is Bmax_SLB_jct in component Ca_buffer (millimolar).
 * CONSTANTS[94] is Bmax_SLHigh_SL in component Ca_buffer (millimolar).
 * CONSTANTS[95] is Bmax_SLHigh_jct in component Ca_buffer (millimolar).
 * CONSTANTS[96] is Bmax_Calsequestrin in component Ca_buffer (millimolar).
 * CONSTANTS[97] is kon_SL in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[98] is kon_Calsequestrin in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[99] is koff_SLB in component Ca_buffer (per_millisecond).
 * CONSTANTS[100] is koff_SLHigh in component Ca_buffer (per_millisecond).
 * CONSTANTS[101] is koff_Calsequestrin in component Ca_buffer (per_millisecond).
 * ALGEBRAIC[92] is dCalsequestrin in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[110] is dCa_cytosol_tot_bound in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[97] is dCa_SLB_SL in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[95] is dCa_SLB_jct in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[100] is dCa_SLHigh_SL in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[98] is dCa_SLHigh_jct in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[101] is dCa_jct_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[104] is dCa_SL_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[103] is i_Ca_jct_tot in component Ca_buffer (microA_per_microF).
 * ALGEBRAIC[106] 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[102] is Bmax_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[103] is Bmax_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[104] is Bmax_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[105] is Bmax_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[106] is Bmax_Myosin_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[107] is Bmax_Myosin_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[108] is Bmax_SRB in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[109] is kon_TroponinC in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[110] is kon_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[111] is kon_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[112] is kon_Calmodulin in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[113] is kon_Myosin_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[114] is kon_Myosin_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[115] is kon_SRB in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[116] is koff_TroponinC in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[117] is koff_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[118] is koff_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[119] is koff_Calmodulin in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[120] is koff_Myosin_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[121] is koff_Myosin_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[122] is koff_SRB in component cytosolic_Ca_buffer (per_millisecond).
 * ALGEBRAIC[96] is dCa_TroponinC in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[99] is dCa_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[102] is dMg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[105] is dCa_Calmodulin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[107] is dCa_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[108] is dMg_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[109] is dCa_SRB in component cytosolic_Ca_buffer (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).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
STATES[0] = -8.556885e1;
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] = 96485;
CONSTANTS[14] = 1.381e-10;
CONSTANTS[15] = 100;
CONSTANTS[16] = 10.25;
STATES[1] = 8.80853;
STATES[2] = 8.80329;
STATES[3] = 8.80733;
STATES[4] = 8.597401e-5;
STATES[5] = 1.737475e-4;
STATES[6] = 1.031812e-4;
CONSTANTS[17] = 16;
CONSTANTS[18] = 0.11;
CONSTANTS[19] = 0.89;
STATES[7] = 1.405627e-3;
STATES[8] = 9.867005e-1;
STATES[9] = 9.91562e-1;
CONSTANTS[20] = 0.297e-3;
CONSTANTS[21] = 0.11;
CONSTANTS[22] = 0.89;
CONSTANTS[23] = 4;
CONSTANTS[24] = 11;
CONSTANTS[25] = 1.5;
CONSTANTS[26] = 1.90719;
CONSTANTS[27] = 0.11;
CONSTANTS[28] = 0.89;
STATES[10] = 8.641386e-3;
CONSTANTS[29] = 0.11;
CONSTANTS[30] = 0.89;
CONSTANTS[31] = 0.01833;
STATES[11] = 5.412034e-3;
CONSTANTS[32] = 0.001;
CONSTANTS[33] = 0.06;
STATES[12] = 9.945511e-1;
STATES[13] = 4.051574e-3;
STATES[14] = 0.9946;
CONSTANTS[34] = 0.02;
STATES[15] = 9.945511e-1;
STATES[16] = 4.051574e-3;
CONSTANTS[35] = 0.109625;
CONSTANTS[36] = 0.1;
CONSTANTS[37] = 0.11;
CONSTANTS[38] = 0.89;
CONSTANTS[39] = 0.009;
CONSTANTS[40] = 5.4e-4;
CONSTANTS[41] = 1.5e-8;
CONSTANTS[42] = 2.7e-7;
CONSTANTS[43] = 0.9;
CONSTANTS[44] = 0.1;
CONSTANTS[45] = 0.341;
CONSTANTS[46] = 0.341;
CONSTANTS[47] = 0.75;
CONSTANTS[48] = 0.75;
CONSTANTS[49] = 0.75;
CONSTANTS[50] = 0.75;
CONSTANTS[51] = 1.8;
STATES[17] = 7.175662e-6;
STATES[18] = 1.000681;
STATES[19] = 1.452605e-2;
STATES[20] = 2.421991e-2;
CONSTANTS[52] = 9;
CONSTANTS[53] = 0.11;
CONSTANTS[54] = 0.89;
CONSTANTS[55] = 1.57;
CONSTANTS[56] = 12.29;
CONSTANTS[57] = 1.3;
CONSTANTS[58] = 87.5;
CONSTANTS[59] = 0.00359;
CONSTANTS[60] = 0.000256;
CONSTANTS[61] = 0.27;
CONSTANTS[62] = 0.35;
CONSTANTS[63] = 3;
CONSTANTS[64] = 0.11;
CONSTANTS[65] = 0.89;
CONSTANTS[66] = 2.35;
CONSTANTS[67] = 0.0005;
CONSTANTS[68] = 1.6;
CONSTANTS[69] = 0.0673;
CONSTANTS[70] = 0.0002513;
CONSTANTS[71] = 0.11;
CONSTANTS[72] = 0.89;
CONSTANTS[73] = 15;
CONSTANTS[74] = 1;
CONSTANTS[75] = 0.45;
STATES[21] = 8.884332e-1;
STATES[22] = 1.024274e-7;
STATES[23] = 8.156628e-7;
CONSTANTS[76] = 25;
CONSTANTS[77] = 10;
CONSTANTS[78] = 0.06;
CONSTANTS[79] = 0.5;
CONSTANTS[80] = 0.005;
CONSTANTS[81] = 2.5;
STATES[24] = 5.545201e-1;
CONSTANTS[82] = 5.348e-6;
CONSTANTS[83] = 5.3114e-3;
CONSTANTS[84] = 2.6;
CONSTANTS[85] = 0.000246;
CONSTANTS[86] = 1.7;
CONSTANTS[87] = 1.787;
STATES[25] = 7.720854e-1;
STATES[26] = 3.539892;
CONSTANTS[88] = 1.65;
CONSTANTS[89] = 7.561;
CONSTANTS[90] = 0.0001;
CONSTANTS[91] = 1e-3;
STATES[27] = 1.110363e-1;
STATES[28] = 9.566355e-3;
STATES[29] = 7.297378e-2;
STATES[30] = 7.347888e-3;
STATES[31] = 1.242988;
CONSTANTS[92] = 0.0374;
CONSTANTS[93] = 0.0046;
CONSTANTS[94] = 0.0134;
CONSTANTS[95] = 0.00165;
CONSTANTS[96] = 0.14;
CONSTANTS[97] = 100;
CONSTANTS[98] = 100;
CONSTANTS[99] = 1.3;
CONSTANTS[100] = 30e-3;
CONSTANTS[101] = 65;
STATES[32] = 8.773191e-3;
STATES[33] = 1.078283e-1;
STATES[34] = 1.524002e-2;
STATES[35] = 2.911916e-4;
STATES[36] = 1.298754e-3;
STATES[37] = 1.381982e-1;
STATES[38] = 2.143165e-3;
CONSTANTS[102] = 0.07;
CONSTANTS[103] = 0.14;
CONSTANTS[104] = 0.14;
CONSTANTS[105] = 0.024;
CONSTANTS[106] = 0.14;
CONSTANTS[107] = 0.14;
CONSTANTS[108] = 0.0171;
CONSTANTS[109] = 32.7;
CONSTANTS[110] = 2.37;
CONSTANTS[111] = 3e-3;
CONSTANTS[112] = 34;
CONSTANTS[113] = 13.8;
CONSTANTS[114] = 15.7e-3;
CONSTANTS[115] = 100;
CONSTANTS[116] = 19.6e-3;
CONSTANTS[117] = 0.032e-3;
CONSTANTS[118] = 3.33e-3;
CONSTANTS[119] = 238e-3;
CONSTANTS[120] = 0.46e-3;
CONSTANTS[121] = 0.057e-3;
CONSTANTS[122] = 60e-3;
CONSTANTS[123] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[4]/CONSTANTS[8]);
CONSTANTS[124] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[10]/CONSTANTS[7]);
CONSTANTS[125] = (exp(CONSTANTS[5]/67.3000) - 1.00000)/7.00000;
CONSTANTS[126] =  0.0300000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[127] =  0.900000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[128] = pow(CONSTANTS[51], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[129] = pow(CONSTANTS[55], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[130] = pow(CONSTANTS[66], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[131] = pow(CONSTANTS[84], (CONSTANTS[12] - 310.000)/10.0000);
CONSTANTS[132] = ( 3.14159*pow(CONSTANTS[16]/1000.00, 2.00000)*CONSTANTS[15])/pow(1000.00, 3.00000);
CONSTANTS[133] =  0.0350000*CONSTANTS[132];
CONSTANTS[134] =  0.0200000*CONSTANTS[132];
CONSTANTS[135] =  0.0539000*0.0100000*CONSTANTS[132];
CONSTANTS[136] =  0.650000*CONSTANTS[132];
}
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[0] = (STATES[0]<- 40.0000 ?  0.135000*exp((80.0000+STATES[0])/- 6.80000) : 0.00000);
ALGEBRAIC[14] = (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))));
RATES[8] =  ALGEBRAIC[0]*(1.00000 - STATES[8]) -  ALGEBRAIC[14]*STATES[8];
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[15] = (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))));
RATES[9] =  ALGEBRAIC[1]*(1.00000 - STATES[9]) -  ALGEBRAIC[15]*STATES[9];
ALGEBRAIC[2] = (( 0.320000*(STATES[0]+47.1300))/1.00000)/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[16] =  0.0800000*exp(- STATES[0]/11.0000);
RATES[7] =  ALGEBRAIC[2]*(1.00000 - STATES[7]) -  ALGEBRAIC[16]*STATES[7];
ALGEBRAIC[3] = 1.00000/(1.00000+exp(- (50.0000+STATES[0])/7.50000));
ALGEBRAIC[17] = 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[17];
ALGEBRAIC[5] = 1.00000/(1.00000+exp(- (STATES[0] - 1.50000)/16.7000));
ALGEBRAIC[19] = 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[5] - STATES[11])/ALGEBRAIC[19];
ALGEBRAIC[6] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[20] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
RATES[13] = (ALGEBRAIC[6] - STATES[13])/ALGEBRAIC[20];
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[21] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
RATES[12] = (ALGEBRAIC[7] - STATES[12])/ALGEBRAIC[21];
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[22] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
RATES[14] = (ALGEBRAIC[8] - STATES[14])/ALGEBRAIC[22];
ALGEBRAIC[9] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[23] =  3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
RATES[16] = (ALGEBRAIC[9] - STATES[16])/ALGEBRAIC[23];
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[24] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
RATES[15] = (ALGEBRAIC[10] - STATES[15])/ALGEBRAIC[24];
ALGEBRAIC[11] = 1.00000/(1.00000+exp(- (STATES[0]+14.5000)/6.00000));
ALGEBRAIC[25] = ( 1.00000*ALGEBRAIC[11]*(1.00000 - exp(- (STATES[0]+14.5000)/6.00000)))/( 0.0350000*(STATES[0]+14.5000));
RATES[17] = (ALGEBRAIC[11] - STATES[17])/ALGEBRAIC[25];
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[0]+35.0600)/3.60000))+0.600000/(1.00000+exp((50.0000 - STATES[0])/20.0000));
ALGEBRAIC[26] = 1.00000/( 0.0197000*exp(- pow( 0.0337000*(STATES[0]+14.5000), 2.00000))+0.0200000);
RATES[18] = (ALGEBRAIC[12] - STATES[18])/ALGEBRAIC[26];
ALGEBRAIC[13] = CONSTANTS[73] - (CONSTANTS[73] - CONSTANTS[74])/(1.00000+pow(CONSTANTS[75]/STATES[24], CONSTANTS[81]));
ALGEBRAIC[27] = CONSTANTS[77]/ALGEBRAIC[13];
ALGEBRAIC[29] =  CONSTANTS[79]*ALGEBRAIC[13];
RATES[23] = ( ALGEBRAIC[27]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[78]*STATES[23]) - ( ALGEBRAIC[29]*STATES[5]*STATES[23] -  CONSTANTS[80]*STATES[22]);
ALGEBRAIC[31] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
RATES[21] = ( CONSTANTS[80]*ALGEBRAIC[31] -  ALGEBRAIC[29]*STATES[5]*STATES[21]) - ( ALGEBRAIC[27]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[78]*STATES[23]);
RATES[22] = ( ALGEBRAIC[29]*STATES[5]*STATES[23] -  CONSTANTS[80]*STATES[22]) - ( CONSTANTS[78]*STATES[22] -  ALGEBRAIC[27]*pow(STATES[5], 2.00000)*ALGEBRAIC[31]);
ALGEBRAIC[80] =  CONSTANTS[90]*STATES[2]*(CONSTANTS[89] - STATES[26]) -  CONSTANTS[91]*STATES[26];
RATES[26] = ALGEBRAIC[80];
ALGEBRAIC[18] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[33] =  pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[34] =  CONSTANTS[18]*CONSTANTS[17]*ALGEBRAIC[33]*(STATES[0] - ALGEBRAIC[18]);
ALGEBRAIC[37] =  CONSTANTS[21]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[18]);
ALGEBRAIC[40] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))+ 0.0365000*CONSTANTS[125]*exp(( - STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[41] = ( (( CONSTANTS[27]*CONSTANTS[26]*ALGEBRAIC[40])/(1.00000+pow(CONSTANTS[24]/STATES[2], CONSTANTS[23])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[25]);
ALGEBRAIC[67] = 1.00000 - STATES[20];
ALGEBRAIC[63] = ( 0.450000*STATES[17]*STATES[18]*CONSTANTS[128]*STATES[0]*pow(CONSTANTS[13], 2.00000))/( CONSTANTS[11]*CONSTANTS[12]);
ALGEBRAIC[69] = ( ALGEBRAIC[63]*ALGEBRAIC[67]*CONSTANTS[43]*CONSTANTS[41]*( CONSTANTS[47]*STATES[2]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[48]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[75] = 1.00000/(1.00000+pow(CONSTANTS[60]/STATES[5], 3.00000));
ALGEBRAIC[72] = ( exp(( CONSTANTS[62]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[2], CONSTANTS[63])*CONSTANTS[6] -  exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[63])*STATES[5])/(1.00000+ CONSTANTS[61]*exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[76] = ( CONSTANTS[53]*CONSTANTS[52]*ALGEBRAIC[75]*CONSTANTS[129]*ALGEBRAIC[72])/( CONSTANTS[59]*pow(CONSTANTS[5], CONSTANTS[63])*(1.00000+pow(STATES[2]/CONSTANTS[56], CONSTANTS[63]))+ pow(CONSTANTS[58], CONSTANTS[63])*STATES[5]*(1.00000+STATES[5]/CONSTANTS[59])+ CONSTANTS[57]*pow(STATES[2], CONSTANTS[63])+ pow(STATES[2], CONSTANTS[63])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[63])*STATES[5]);
ALGEBRAIC[78] =  (STATES[2] - STATES[3])*1.83130e-14;
RATES[2] = (( - CONSTANTS[14]*(ALGEBRAIC[34]+ 3.00000*ALGEBRAIC[76]+ALGEBRAIC[37]+ 3.00000*ALGEBRAIC[41]+ALGEBRAIC[69]))/( CONSTANTS[135]*CONSTANTS[13]) - ALGEBRAIC[78]/CONSTANTS[135]) - ALGEBRAIC[80];
ALGEBRAIC[81] =  (STATES[3] - STATES[1])*1.63860e-12;
RATES[1] = ALGEBRAIC[81]/CONSTANTS[136];
ALGEBRAIC[83] =  CONSTANTS[90]*STATES[3]*(CONSTANTS[88] - STATES[25]) -  CONSTANTS[91]*STATES[25];
RATES[25] = ALGEBRAIC[83];
ALGEBRAIC[28] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[35] =  CONSTANTS[19]*CONSTANTS[17]*ALGEBRAIC[33]*(STATES[0] - ALGEBRAIC[28]);
ALGEBRAIC[38] =  CONSTANTS[22]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[28]);
ALGEBRAIC[42] = ( (( CONSTANTS[28]*CONSTANTS[26]*ALGEBRAIC[40])/(1.00000+pow(CONSTANTS[24]/STATES[3], CONSTANTS[23])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[25]);
ALGEBRAIC[64] = 1.00000 - STATES[19];
ALGEBRAIC[66] = ( ALGEBRAIC[63]*ALGEBRAIC[64]*CONSTANTS[44]*CONSTANTS[41]*( CONSTANTS[47]*STATES[3]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[48]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[74] = 1.00000/(1.00000+pow(CONSTANTS[60]/STATES[6], 3.00000));
ALGEBRAIC[73] = ( exp(( CONSTANTS[62]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[3], CONSTANTS[63])*CONSTANTS[6] -  exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[63])*STATES[6])/(1.00000+ CONSTANTS[61]*exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[77] = ( CONSTANTS[54]*CONSTANTS[52]*ALGEBRAIC[74]*CONSTANTS[129]*ALGEBRAIC[73])/( CONSTANTS[59]*pow(CONSTANTS[5], CONSTANTS[63])*(1.00000+pow(STATES[3]/CONSTANTS[56], CONSTANTS[63]))+ pow(CONSTANTS[58], CONSTANTS[63])*STATES[6]*(1.00000+STATES[6]/CONSTANTS[59])+ CONSTANTS[57]*pow(STATES[3], CONSTANTS[63])+ pow(STATES[3], CONSTANTS[63])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[63])*STATES[6]);
RATES[3] = (( - CONSTANTS[14]*(ALGEBRAIC[35]+ 3.00000*ALGEBRAIC[77]+ALGEBRAIC[38]+ 3.00000*ALGEBRAIC[42]+ALGEBRAIC[66]))/( CONSTANTS[134]*CONSTANTS[13])+(ALGEBRAIC[78] - ALGEBRAIC[81])/CONSTANTS[134]) - ALGEBRAIC[83];
ALGEBRAIC[36] = ALGEBRAIC[34]+ALGEBRAIC[35];
ALGEBRAIC[39] = ALGEBRAIC[37]+ALGEBRAIC[38];
ALGEBRAIC[43] = ALGEBRAIC[41]+ALGEBRAIC[42];
ALGEBRAIC[44] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[45] =  CONSTANTS[126]*STATES[10]*ALGEBRAIC[44]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[46] = - arbitrary_log(STATES[5]/1.00000, 10)+3.00000;
ALGEBRAIC[48] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[46])/0.600000)));
ALGEBRAIC[50] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[31]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[31]*STATES[1]));
ALGEBRAIC[51] =  CONSTANTS[29]*ALGEBRAIC[48]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[47] = - arbitrary_log(STATES[6]/1.00000, 10)+3.00000;
ALGEBRAIC[49] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[47])/0.600000)));
ALGEBRAIC[52] =  CONSTANTS[30]*ALGEBRAIC[49]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[53] = ALGEBRAIC[51]+ALGEBRAIC[52];
ALGEBRAIC[54] = ( CONSTANTS[32]*(STATES[0] - CONSTANTS[123]))/(1.00000+exp(7.48800 - STATES[0]/5.98000));
ALGEBRAIC[55] =  CONSTANTS[33]*STATES[13]*(STATES[12]+ 0.500000*STATES[14])*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[56] =  CONSTANTS[34]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[57] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[123]+59.2150))));
ALGEBRAIC[58] = ( 0.491240*exp( 0.0803200*((STATES[0] - CONSTANTS[123])+5.47600))+ 1.00000*exp( 0.0617500*(STATES[0] - (CONSTANTS[123]+594.310))))/(1.00000+exp( - 0.514300*((STATES[0] - CONSTANTS[123])+4.75300)));
ALGEBRAIC[59] = ALGEBRAIC[57]/(ALGEBRAIC[57]+ALGEBRAIC[58]);
ALGEBRAIC[60] =  CONSTANTS[127]*ALGEBRAIC[59]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[79] = ALGEBRAIC[76]+ALGEBRAIC[77];
ALGEBRAIC[61] =  CONSTANTS[35]*(STATES[0] - CONSTANTS[124])*(CONSTANTS[37]/(1.00000+CONSTANTS[36]/STATES[5])+CONSTANTS[38]/(1.00000+CONSTANTS[36]/STATES[6]));
ALGEBRAIC[62] =  CONSTANTS[39]*(STATES[0] - CONSTANTS[124]);
ALGEBRAIC[65] = ( ALGEBRAIC[63]*ALGEBRAIC[64]*CONSTANTS[44]*CONSTANTS[40]*4.00000*( CONSTANTS[45]*STATES[6]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[46]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[68] = ( ALGEBRAIC[63]*ALGEBRAIC[67]*CONSTANTS[43]*CONSTANTS[40]*4.00000*( CONSTANTS[45]*STATES[5]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[46]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[70] = ( ALGEBRAIC[63]*( ALGEBRAIC[64]*CONSTANTS[44]+ ALGEBRAIC[67]*CONSTANTS[43])*CONSTANTS[42]*( CONSTANTS[49]*CONSTANTS[8]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[50]*CONSTANTS[4]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[71] = ALGEBRAIC[65]+ALGEBRAIC[68]+ALGEBRAIC[66]+ALGEBRAIC[69]+ALGEBRAIC[70];
ALGEBRAIC[30] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[86] =  CONSTANTS[70]*CONSTANTS[71]*(STATES[0] - ALGEBRAIC[30]);
ALGEBRAIC[32] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[87] =  CONSTANTS[70]*CONSTANTS[72]*(STATES[0] - ALGEBRAIC[32]);
ALGEBRAIC[88] = ALGEBRAIC[87]+ALGEBRAIC[86];
ALGEBRAIC[84] = ( CONSTANTS[130]*CONSTANTS[69]*CONSTANTS[65])/(1.00000+pow(CONSTANTS[67]/STATES[6], CONSTANTS[68]));
ALGEBRAIC[82] = ( CONSTANTS[130]*CONSTANTS[69]*CONSTANTS[64])/(1.00000+pow(CONSTANTS[67]/STATES[5], CONSTANTS[68]));
ALGEBRAIC[85] = ALGEBRAIC[82]+ALGEBRAIC[84];
ALGEBRAIC[4] = (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[36]+ALGEBRAIC[39]+ALGEBRAIC[43]+ALGEBRAIC[45]+ALGEBRAIC[53]+ALGEBRAIC[55]+ALGEBRAIC[56]+ALGEBRAIC[60]+ALGEBRAIC[79]+ALGEBRAIC[61]+ALGEBRAIC[62]+ALGEBRAIC[71]+ALGEBRAIC[88]+ALGEBRAIC[85]+ALGEBRAIC[54]+ALGEBRAIC[4]);
ALGEBRAIC[92] =  CONSTANTS[98]*STATES[24]*(( CONSTANTS[96]*CONSTANTS[136])/CONSTANTS[133] - STATES[31]) -  CONSTANTS[101]*STATES[31];
RATES[31] = ALGEBRAIC[92];
ALGEBRAIC[89] =  CONSTANTS[76]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[90] =  CONSTANTS[82]*(STATES[24] - STATES[5]);
ALGEBRAIC[91] = ( CONSTANTS[131]*CONSTANTS[83]*(pow(STATES[4]/CONSTANTS[85], CONSTANTS[87]) - pow(STATES[24]/CONSTANTS[86], CONSTANTS[87])))/(1.00000+pow(STATES[4]/CONSTANTS[85], CONSTANTS[87])+pow(STATES[24]/CONSTANTS[86], CONSTANTS[87]));
RATES[24] = (ALGEBRAIC[91] - (( ALGEBRAIC[90]*CONSTANTS[136])/CONSTANTS[133]+ALGEBRAIC[89])) - ALGEBRAIC[92];
ALGEBRAIC[95] =  CONSTANTS[97]*STATES[5]*(( CONSTANTS[93]*0.100000*CONSTANTS[136])/CONSTANTS[135] - STATES[28]) -  CONSTANTS[99]*STATES[28];
RATES[28] = ALGEBRAIC[95];
ALGEBRAIC[97] =  CONSTANTS[97]*STATES[6]*(( CONSTANTS[92]*CONSTANTS[136])/CONSTANTS[134] - STATES[27]) -  CONSTANTS[99]*STATES[27];
RATES[27] = ALGEBRAIC[97];
ALGEBRAIC[98] =  CONSTANTS[97]*STATES[5]*(( CONSTANTS[95]*0.100000*CONSTANTS[136])/CONSTANTS[135] - STATES[30]) -  CONSTANTS[100]*STATES[30];
RATES[30] = ALGEBRAIC[98];
ALGEBRAIC[96] =  CONSTANTS[109]*STATES[4]*(CONSTANTS[102] - STATES[32]) -  CONSTANTS[116]*STATES[32];
RATES[32] = ALGEBRAIC[96];
ALGEBRAIC[100] =  CONSTANTS[97]*STATES[6]*(( CONSTANTS[94]*CONSTANTS[136])/CONSTANTS[134] - STATES[29]) -  CONSTANTS[100]*STATES[29];
RATES[29] = ALGEBRAIC[100];
ALGEBRAIC[99] =  CONSTANTS[110]*STATES[4]*(CONSTANTS[103] - (STATES[33]+STATES[34])) -  CONSTANTS[117]*STATES[33];
RATES[33] = ALGEBRAIC[99];
ALGEBRAIC[93] =  (STATES[5] - STATES[6])*8.24130e-13;
ALGEBRAIC[101] = ALGEBRAIC[95]+ALGEBRAIC[98];
ALGEBRAIC[103] = (ALGEBRAIC[68] -  2.00000*ALGEBRAIC[76])+ALGEBRAIC[86]+ALGEBRAIC[82];
RATES[5] = ((( - ALGEBRAIC[103]*CONSTANTS[14])/( CONSTANTS[135]*2.00000*CONSTANTS[13]) - ALGEBRAIC[93]/CONSTANTS[135])+( ALGEBRAIC[89]*CONSTANTS[133])/CONSTANTS[135]+( ALGEBRAIC[90]*CONSTANTS[136])/CONSTANTS[135]) -  1.00000*ALGEBRAIC[101];
ALGEBRAIC[102] =  CONSTANTS[111]*CONSTANTS[9]*(CONSTANTS[104] - (STATES[33]+STATES[34])) -  CONSTANTS[118]*STATES[34];
RATES[34] = ALGEBRAIC[102];
ALGEBRAIC[94] =  (STATES[6] - STATES[4])*3.72430e-12;
ALGEBRAIC[104] = ALGEBRAIC[97]+ALGEBRAIC[100];
ALGEBRAIC[106] = (ALGEBRAIC[65] -  2.00000*ALGEBRAIC[77])+ALGEBRAIC[87]+ALGEBRAIC[84];
RATES[6] = (( - ALGEBRAIC[106]*CONSTANTS[14])/( CONSTANTS[134]*2.00000*CONSTANTS[13])+(ALGEBRAIC[93] - ALGEBRAIC[94])/CONSTANTS[134]) -  1.00000*ALGEBRAIC[104];
ALGEBRAIC[105] =  CONSTANTS[112]*STATES[4]*(CONSTANTS[105] - STATES[35]) -  CONSTANTS[119]*STATES[35];
RATES[35] = ALGEBRAIC[105];
ALGEBRAIC[107] =  CONSTANTS[113]*STATES[4]*(CONSTANTS[106] - (STATES[36]+STATES[37])) -  CONSTANTS[120]*STATES[36];
RATES[36] = ALGEBRAIC[107];
ALGEBRAIC[108] =  CONSTANTS[114]*CONSTANTS[9]*(CONSTANTS[107] - (STATES[36]+STATES[37])) -  CONSTANTS[121]*STATES[37];
RATES[37] = ALGEBRAIC[108];
ALGEBRAIC[109] =  CONSTANTS[115]*STATES[4]*(CONSTANTS[108] - STATES[38]) -  CONSTANTS[122]*STATES[38];
RATES[38] = ALGEBRAIC[109];
ALGEBRAIC[110] = ALGEBRAIC[96]+ALGEBRAIC[99]+ALGEBRAIC[102]+ALGEBRAIC[105]+ALGEBRAIC[107]+ALGEBRAIC[108]+ALGEBRAIC[109];
RATES[4] = (( - ALGEBRAIC[91]*CONSTANTS[133])/CONSTANTS[136]+ALGEBRAIC[94]/CONSTANTS[136]) -  1.00000*ALGEBRAIC[110];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (STATES[0]<- 40.0000 ?  0.135000*exp((80.0000+STATES[0])/- 6.80000) : 0.00000);
ALGEBRAIC[14] = (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[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[15] = (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[2] = (( 0.320000*(STATES[0]+47.1300))/1.00000)/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[16] =  0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[3] = 1.00000/(1.00000+exp(- (50.0000+STATES[0])/7.50000));
ALGEBRAIC[17] = 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[5] = 1.00000/(1.00000+exp(- (STATES[0] - 1.50000)/16.7000));
ALGEBRAIC[19] = 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[6] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[20] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[21] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[22] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
ALGEBRAIC[9] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[23] =  3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[24] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
ALGEBRAIC[11] = 1.00000/(1.00000+exp(- (STATES[0]+14.5000)/6.00000));
ALGEBRAIC[25] = ( 1.00000*ALGEBRAIC[11]*(1.00000 - exp(- (STATES[0]+14.5000)/6.00000)))/( 0.0350000*(STATES[0]+14.5000));
ALGEBRAIC[12] = 1.00000/(1.00000+exp((STATES[0]+35.0600)/3.60000))+0.600000/(1.00000+exp((50.0000 - STATES[0])/20.0000));
ALGEBRAIC[26] = 1.00000/( 0.0197000*exp(- pow( 0.0337000*(STATES[0]+14.5000), 2.00000))+0.0200000);
ALGEBRAIC[13] = CONSTANTS[73] - (CONSTANTS[73] - CONSTANTS[74])/(1.00000+pow(CONSTANTS[75]/STATES[24], CONSTANTS[81]));
ALGEBRAIC[27] = CONSTANTS[77]/ALGEBRAIC[13];
ALGEBRAIC[29] =  CONSTANTS[79]*ALGEBRAIC[13];
ALGEBRAIC[31] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
ALGEBRAIC[80] =  CONSTANTS[90]*STATES[2]*(CONSTANTS[89] - STATES[26]) -  CONSTANTS[91]*STATES[26];
ALGEBRAIC[18] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[33] =  pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[34] =  CONSTANTS[18]*CONSTANTS[17]*ALGEBRAIC[33]*(STATES[0] - ALGEBRAIC[18]);
ALGEBRAIC[37] =  CONSTANTS[21]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[18]);
ALGEBRAIC[40] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))+ 0.0365000*CONSTANTS[125]*exp(( - STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[41] = ( (( CONSTANTS[27]*CONSTANTS[26]*ALGEBRAIC[40])/(1.00000+pow(CONSTANTS[24]/STATES[2], CONSTANTS[23])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[25]);
ALGEBRAIC[67] = 1.00000 - STATES[20];
ALGEBRAIC[63] = ( 0.450000*STATES[17]*STATES[18]*CONSTANTS[128]*STATES[0]*pow(CONSTANTS[13], 2.00000))/( CONSTANTS[11]*CONSTANTS[12]);
ALGEBRAIC[69] = ( ALGEBRAIC[63]*ALGEBRAIC[67]*CONSTANTS[43]*CONSTANTS[41]*( CONSTANTS[47]*STATES[2]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[48]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[75] = 1.00000/(1.00000+pow(CONSTANTS[60]/STATES[5], 3.00000));
ALGEBRAIC[72] = ( exp(( CONSTANTS[62]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[2], CONSTANTS[63])*CONSTANTS[6] -  exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[63])*STATES[5])/(1.00000+ CONSTANTS[61]*exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[76] = ( CONSTANTS[53]*CONSTANTS[52]*ALGEBRAIC[75]*CONSTANTS[129]*ALGEBRAIC[72])/( CONSTANTS[59]*pow(CONSTANTS[5], CONSTANTS[63])*(1.00000+pow(STATES[2]/CONSTANTS[56], CONSTANTS[63]))+ pow(CONSTANTS[58], CONSTANTS[63])*STATES[5]*(1.00000+STATES[5]/CONSTANTS[59])+ CONSTANTS[57]*pow(STATES[2], CONSTANTS[63])+ pow(STATES[2], CONSTANTS[63])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[63])*STATES[5]);
ALGEBRAIC[78] =  (STATES[2] - STATES[3])*1.83130e-14;
ALGEBRAIC[81] =  (STATES[3] - STATES[1])*1.63860e-12;
ALGEBRAIC[83] =  CONSTANTS[90]*STATES[3]*(CONSTANTS[88] - STATES[25]) -  CONSTANTS[91]*STATES[25];
ALGEBRAIC[28] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[35] =  CONSTANTS[19]*CONSTANTS[17]*ALGEBRAIC[33]*(STATES[0] - ALGEBRAIC[28]);
ALGEBRAIC[38] =  CONSTANTS[22]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[28]);
ALGEBRAIC[42] = ( (( CONSTANTS[28]*CONSTANTS[26]*ALGEBRAIC[40])/(1.00000+pow(CONSTANTS[24]/STATES[3], CONSTANTS[23])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[25]);
ALGEBRAIC[64] = 1.00000 - STATES[19];
ALGEBRAIC[66] = ( ALGEBRAIC[63]*ALGEBRAIC[64]*CONSTANTS[44]*CONSTANTS[41]*( CONSTANTS[47]*STATES[3]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[48]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[74] = 1.00000/(1.00000+pow(CONSTANTS[60]/STATES[6], 3.00000));
ALGEBRAIC[73] = ( exp(( CONSTANTS[62]*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(STATES[3], CONSTANTS[63])*CONSTANTS[6] -  exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12]))*pow(CONSTANTS[5], CONSTANTS[63])*STATES[6])/(1.00000+ CONSTANTS[61]*exp(( (CONSTANTS[62] - 1.00000)*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])));
ALGEBRAIC[77] = ( CONSTANTS[54]*CONSTANTS[52]*ALGEBRAIC[74]*CONSTANTS[129]*ALGEBRAIC[73])/( CONSTANTS[59]*pow(CONSTANTS[5], CONSTANTS[63])*(1.00000+pow(STATES[3]/CONSTANTS[56], CONSTANTS[63]))+ pow(CONSTANTS[58], CONSTANTS[63])*STATES[6]*(1.00000+STATES[6]/CONSTANTS[59])+ CONSTANTS[57]*pow(STATES[3], CONSTANTS[63])+ pow(STATES[3], CONSTANTS[63])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[63])*STATES[6]);
ALGEBRAIC[36] = ALGEBRAIC[34]+ALGEBRAIC[35];
ALGEBRAIC[39] = ALGEBRAIC[37]+ALGEBRAIC[38];
ALGEBRAIC[43] = ALGEBRAIC[41]+ALGEBRAIC[42];
ALGEBRAIC[44] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[45] =  CONSTANTS[126]*STATES[10]*ALGEBRAIC[44]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[46] = - arbitrary_log(STATES[5]/1.00000, 10)+3.00000;
ALGEBRAIC[48] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[46])/0.600000)));
ALGEBRAIC[50] =  (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[31]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[31]*STATES[1]));
ALGEBRAIC[51] =  CONSTANTS[29]*ALGEBRAIC[48]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[47] = - arbitrary_log(STATES[6]/1.00000, 10)+3.00000;
ALGEBRAIC[49] =  0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[47])/0.600000)));
ALGEBRAIC[52] =  CONSTANTS[30]*ALGEBRAIC[49]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[53] = ALGEBRAIC[51]+ALGEBRAIC[52];
ALGEBRAIC[54] = ( CONSTANTS[32]*(STATES[0] - CONSTANTS[123]))/(1.00000+exp(7.48800 - STATES[0]/5.98000));
ALGEBRAIC[55] =  CONSTANTS[33]*STATES[13]*(STATES[12]+ 0.500000*STATES[14])*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[56] =  CONSTANTS[34]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[57] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[123]+59.2150))));
ALGEBRAIC[58] = ( 0.491240*exp( 0.0803200*((STATES[0] - CONSTANTS[123])+5.47600))+ 1.00000*exp( 0.0617500*(STATES[0] - (CONSTANTS[123]+594.310))))/(1.00000+exp( - 0.514300*((STATES[0] - CONSTANTS[123])+4.75300)));
ALGEBRAIC[59] = ALGEBRAIC[57]/(ALGEBRAIC[57]+ALGEBRAIC[58]);
ALGEBRAIC[60] =  CONSTANTS[127]*ALGEBRAIC[59]*(STATES[0] - CONSTANTS[123]);
ALGEBRAIC[79] = ALGEBRAIC[76]+ALGEBRAIC[77];
ALGEBRAIC[61] =  CONSTANTS[35]*(STATES[0] - CONSTANTS[124])*(CONSTANTS[37]/(1.00000+CONSTANTS[36]/STATES[5])+CONSTANTS[38]/(1.00000+CONSTANTS[36]/STATES[6]));
ALGEBRAIC[62] =  CONSTANTS[39]*(STATES[0] - CONSTANTS[124]);
ALGEBRAIC[65] = ( ALGEBRAIC[63]*ALGEBRAIC[64]*CONSTANTS[44]*CONSTANTS[40]*4.00000*( CONSTANTS[45]*STATES[6]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[46]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[68] = ( ALGEBRAIC[63]*ALGEBRAIC[67]*CONSTANTS[43]*CONSTANTS[40]*4.00000*( CONSTANTS[45]*STATES[5]*exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[46]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[70] = ( ALGEBRAIC[63]*( ALGEBRAIC[64]*CONSTANTS[44]+ ALGEBRAIC[67]*CONSTANTS[43])*CONSTANTS[42]*( CONSTANTS[49]*CONSTANTS[8]*exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) -  CONSTANTS[50]*CONSTANTS[4]))/(exp(( STATES[0]*CONSTANTS[13])/( CONSTANTS[11]*CONSTANTS[12])) - 1.00000);
ALGEBRAIC[71] = ALGEBRAIC[65]+ALGEBRAIC[68]+ALGEBRAIC[66]+ALGEBRAIC[69]+ALGEBRAIC[70];
ALGEBRAIC[30] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[86] =  CONSTANTS[70]*CONSTANTS[71]*(STATES[0] - ALGEBRAIC[30]);
ALGEBRAIC[32] =  (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[87] =  CONSTANTS[70]*CONSTANTS[72]*(STATES[0] - ALGEBRAIC[32]);
ALGEBRAIC[88] = ALGEBRAIC[87]+ALGEBRAIC[86];
ALGEBRAIC[84] = ( CONSTANTS[130]*CONSTANTS[69]*CONSTANTS[65])/(1.00000+pow(CONSTANTS[67]/STATES[6], CONSTANTS[68]));
ALGEBRAIC[82] = ( CONSTANTS[130]*CONSTANTS[69]*CONSTANTS[64])/(1.00000+pow(CONSTANTS[67]/STATES[5], CONSTANTS[68]));
ALGEBRAIC[85] = ALGEBRAIC[82]+ALGEBRAIC[84];
ALGEBRAIC[4] = (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[92] =  CONSTANTS[98]*STATES[24]*(( CONSTANTS[96]*CONSTANTS[136])/CONSTANTS[133] - STATES[31]) -  CONSTANTS[101]*STATES[31];
ALGEBRAIC[89] =  CONSTANTS[76]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[90] =  CONSTANTS[82]*(STATES[24] - STATES[5]);
ALGEBRAIC[91] = ( CONSTANTS[131]*CONSTANTS[83]*(pow(STATES[4]/CONSTANTS[85], CONSTANTS[87]) - pow(STATES[24]/CONSTANTS[86], CONSTANTS[87])))/(1.00000+pow(STATES[4]/CONSTANTS[85], CONSTANTS[87])+pow(STATES[24]/CONSTANTS[86], CONSTANTS[87]));
ALGEBRAIC[95] =  CONSTANTS[97]*STATES[5]*(( CONSTANTS[93]*0.100000*CONSTANTS[136])/CONSTANTS[135] - STATES[28]) -  CONSTANTS[99]*STATES[28];
ALGEBRAIC[97] =  CONSTANTS[97]*STATES[6]*(( CONSTANTS[92]*CONSTANTS[136])/CONSTANTS[134] - STATES[27]) -  CONSTANTS[99]*STATES[27];
ALGEBRAIC[98] =  CONSTANTS[97]*STATES[5]*(( CONSTANTS[95]*0.100000*CONSTANTS[136])/CONSTANTS[135] - STATES[30]) -  CONSTANTS[100]*STATES[30];
ALGEBRAIC[96] =  CONSTANTS[109]*STATES[4]*(CONSTANTS[102] - STATES[32]) -  CONSTANTS[116]*STATES[32];
ALGEBRAIC[100] =  CONSTANTS[97]*STATES[6]*(( CONSTANTS[94]*CONSTANTS[136])/CONSTANTS[134] - STATES[29]) -  CONSTANTS[100]*STATES[29];
ALGEBRAIC[99] =  CONSTANTS[110]*STATES[4]*(CONSTANTS[103] - (STATES[33]+STATES[34])) -  CONSTANTS[117]*STATES[33];
ALGEBRAIC[93] =  (STATES[5] - STATES[6])*8.24130e-13;
ALGEBRAIC[101] = ALGEBRAIC[95]+ALGEBRAIC[98];
ALGEBRAIC[103] = (ALGEBRAIC[68] -  2.00000*ALGEBRAIC[76])+ALGEBRAIC[86]+ALGEBRAIC[82];
ALGEBRAIC[102] =  CONSTANTS[111]*CONSTANTS[9]*(CONSTANTS[104] - (STATES[33]+STATES[34])) -  CONSTANTS[118]*STATES[34];
ALGEBRAIC[94] =  (STATES[6] - STATES[4])*3.72430e-12;
ALGEBRAIC[104] = ALGEBRAIC[97]+ALGEBRAIC[100];
ALGEBRAIC[106] = (ALGEBRAIC[65] -  2.00000*ALGEBRAIC[77])+ALGEBRAIC[87]+ALGEBRAIC[84];
ALGEBRAIC[105] =  CONSTANTS[112]*STATES[4]*(CONSTANTS[105] - STATES[35]) -  CONSTANTS[119]*STATES[35];
ALGEBRAIC[107] =  CONSTANTS[113]*STATES[4]*(CONSTANTS[106] - (STATES[36]+STATES[37])) -  CONSTANTS[120]*STATES[36];
ALGEBRAIC[108] =  CONSTANTS[114]*CONSTANTS[9]*(CONSTANTS[107] - (STATES[36]+STATES[37])) -  CONSTANTS[121]*STATES[37];
ALGEBRAIC[109] =  CONSTANTS[115]*STATES[4]*(CONSTANTS[108] - STATES[38]) -  CONSTANTS[122]*STATES[38];
ALGEBRAIC[110] = ALGEBRAIC[96]+ALGEBRAIC[99]+ALGEBRAIC[102]+ALGEBRAIC[105]+ALGEBRAIC[107]+ALGEBRAIC[108]+ALGEBRAIC[109];
}