Generated Code
The following is c_ida 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[8] is i_Na in component INa (microA_per_microF).
* ALGEBRAIC[23] is i_Nab in component INab (microA_per_microF).
* ALGEBRAIC[27] is i_NaK in component INaK (microA_per_microF).
* ALGEBRAIC[120] is i_Kr in component IKr (microA_per_microF).
* ALGEBRAIC[40] is i_Ks in component IKs (microA_per_microF).
* ALGEBRAIC[43] is i_tos in component Itos (microA_per_microF).
* ALGEBRAIC[51] is i_tof in component Itof (microA_per_microF).
* ALGEBRAIC[130] is i_K1 in component IK1 (microA_per_microF).
* ALGEBRAIC[73] is i_NaCa in component INaCa (microA_per_microF).
* ALGEBRAIC[58] is i_Cl_Ca in component ICl_Ca (microA_per_microF).
* ALGEBRAIC[59] is i_Clb in component IClb (microA_per_microF).
* ALGEBRAIC[127] is i_CaL in component ICaL (microA_per_microF).
* ALGEBRAIC[79] is i_Cab in component ICab (microA_per_microF).
* ALGEBRAIC[76] is i_Cap in component ICap (microA_per_microF).
* ALGEBRAIC[0] 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[1] is E_Na_jct in component reversal_potentials (millivolt).
* ALGEBRAIC[2] is E_Na_SL in component reversal_potentials (millivolt).
* ALGEBRAIC[3] is E_Ca_jct in component reversal_potentials (millivolt).
* ALGEBRAIC[4] 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[6] is i_Na_jct in component INa (microA_per_microF).
* ALGEBRAIC[7] 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[5] is openProb in component INa (dimensionless).
* ALGEBRAIC[9] is alpha_h in component INa_h_gate (per_millisecond).
* ALGEBRAIC[10] is beta_h in component INa_h_gate (per_millisecond).
* ALGEBRAIC[11] is tau_h in component INa_h_gate (millisecond).
* ALGEBRAIC[12] is h_infinity in component INa_h_gate (dimensionless).
* ALGEBRAIC[13] is alpha_j in component INa_j_gate (per_millisecond).
* ALGEBRAIC[14] is beta_j in component INa_j_gate (per_millisecond).
* ALGEBRAIC[15] is tau_j in component INa_j_gate (millisecond).
* ALGEBRAIC[16] is j_infinity in component INa_j_gate (dimensionless).
* ALGEBRAIC[17] is alpha_m in component INa_m_gate (per_millisecond).
* ALGEBRAIC[18] is beta_m in component INa_m_gate (per_millisecond).
* ALGEBRAIC[19] is tau_m in component INa_m_gate (millisecond).
* ALGEBRAIC[20] is m_infinity in component INa_m_gate (dimensionless).
* ALGEBRAIC[21] is i_Nab_jct in component INab (microA_per_microF).
* ALGEBRAIC[22] 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[25] is i_NaK_jct in component INaK (microA_per_microF).
* ALGEBRAIC[26] is i_NaK_SL in component INaK (microA_per_microF).
* ALGEBRAIC[24] 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[30] is Rr in component IKr_Rr_gate (dimensionless).
* ALGEBRAIC[28] is Xr_infinity in component IKr_Xr_gate (dimensionless).
* ALGEBRAIC[29] is tau_Xr in component IKr_Xr_gate (millisecond).
* ALGEBRAIC[38] is i_Ks_jct in component IKs (microA_per_microF).
* ALGEBRAIC[39] is i_Ks_SL in component IKs (microA_per_microF).
* ALGEBRAIC[34] is G_Ks_SL in component IKs (milliS_per_microF).
* ALGEBRAIC[33] 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[35] is E_Ks_jct in component IKs (millivolt).
* ALGEBRAIC[36] is E_Ks_SL in component IKs (millivolt).
* ALGEBRAIC[37] is E_Ks in component IKs (millivolt).
* CONSTANTS[33] is pKNa in component IKs (dimensionless).
* ALGEBRAIC[31] is pCa_jct in component IKs (dimensionless).
* ALGEBRAIC[32] is pCa_SL in component IKs (dimensionless).
* STATES[11] is Xs in component IKs_Xs_gate (dimensionless).
* ALGEBRAIC[41] is Xs_infinity in component IKs_Xs_gate (dimensionless).
* ALGEBRAIC[42] 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[44] is X_tos_infinity in component Itos_X_gate (dimensionless).
* ALGEBRAIC[45] is tau_X_tos in component Itos_X_gate (millisecond).
* ALGEBRAIC[46] is Y_tos_infinity in component Itos_Y_gate (dimensionless).
* ALGEBRAIC[47] is tau_Y_tos in component Itos_Y_gate (millisecond).
* ALGEBRAIC[48] is R_tos_infinity in component Itos_R_gate (dimensionless).
* ALGEBRAIC[50] is R_tos_other in component Itos_R_gate (dimensionless).
* ALGEBRAIC[49] 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[52] is X_tof_infinity in component Itof_X_gate (dimensionless).
* ALGEBRAIC[53] is tau_X_tof in component Itof_X_gate (millisecond).
* ALGEBRAIC[54] is Y_tof_infinity in component Itof_Y_gate (dimensionless).
* ALGEBRAIC[55] is tau_Y_tof in component Itof_Y_gate (millisecond).
* CONSTANTS[151] is G_K1 in component IK1 (milliS_per_microF).
* ALGEBRAIC[121] is K1_infinity in component IK1_K1_gate (dimensionless).
* ALGEBRAIC[56] is alpha_K1 in component IK1_K1_gate (per_millisecond).
* ALGEBRAIC[57] 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[124] is i_CaL_Ca_SL in component ICaL (microA_per_microF).
* ALGEBRAIC[122] is i_CaL_Ca_jct in component ICaL (microA_per_microF).
* ALGEBRAIC[125] is i_CaL_Na_SL in component ICaL (microA_per_microF).
* ALGEBRAIC[123] is i_CaL_Na_jct in component ICaL (microA_per_microF).
* ALGEBRAIC[126] 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[65] is fCa_SL in component ICaL_fCa_gate (dimensionless).
* ALGEBRAIC[66] is fCa_jct in component ICaL_fCa_gate (dimensionless).
* ALGEBRAIC[60] is temp in component ICaL (coulomb_per_mole).
* ALGEBRAIC[61] is d_infinity in component ICaL_d_gate (dimensionless).
* ALGEBRAIC[62] is tau_d in component ICaL_d_gate (millisecond).
* ALGEBRAIC[63] is f_infinity in component ICaL_f_gate (dimensionless).
* ALGEBRAIC[64] 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[72] is i_NaCa_SL in component INaCa (microA_per_microF).
* ALGEBRAIC[71] 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[69] is Ka_SL in component INaCa (dimensionless).
* ALGEBRAIC[70] 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[67] is temp_jct in component INaCa (millimolar4).
* ALGEBRAIC[68] is temp_SL in component INaCa (millimolar4).
* ALGEBRAIC[75] is i_Cap_SL in component ICap (microA_per_microF).
* ALGEBRAIC[74] 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[77] is i_Cab_jct in component ICab (microA_per_microF).
* ALGEBRAIC[78] 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[84] 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[83] 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[80] is kCaSR in component Jrel_SR (dimensionless).
* ALGEBRAIC[81] is koSRCa in component Jrel_SR (per_millimolar2_per_millisecond).
* ALGEBRAIC[82] is kiSRCa in component Jrel_SR (per_millimolar_per_millisecond).
* ALGEBRAIC[85] is j_leak_SR in component Jleak_SR (millimolar_per_millisecond).
* CONSTANTS[84] is KSRleak in component Jleak_SR (per_millisecond).
* ALGEBRAIC[86] 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[87] is J_Na_jct_SL in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[88] is J_Na_SL_cytosol in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[89] is J_Ca_jct_SL in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[90] 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[91] is J_Na_jct_SL_old in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[92] is J_Na_SL_cytosol_old in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[93] is J_Ca_jct_SL_old in component ion_diffusion (millimole_per_millisecond).
* ALGEBRAIC[94] 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[95] is dNa_jct_buf in component Na_buffer (millimolar_per_millisecond).
* ALGEBRAIC[96] 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[97] is dCalsequestrin in component Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[111] is dCa_cytosol_tot_bound in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[98] is dCa_SLB_SL in component Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[99] 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[101] is dCa_SLHigh_jct in component Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[102] is dCa_jct_tot_bound in component Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[103] is dCa_SL_tot_bound in component Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[128] is i_Ca_jct_tot in component Ca_buffer (microA_per_microF).
* ALGEBRAIC[129] 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[104] is dCa_TroponinC in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[105] is dCa_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[106] is dMg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[107] is dCa_Calmodulin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[108] is dCa_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[109] is dMg_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
* ALGEBRAIC[110] 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[112] is Indo1Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
* ALGEBRAIC[113] is Fluo3Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
* ALGEBRAIC[114] is dCa_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
* ALGEBRAIC[115] is dCa_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
* ALGEBRAIC[116] is dCa_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
* ALGEBRAIC[117] is dCa_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
* ALGEBRAIC[118] is dCa_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
* ALGEBRAIC[119] 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).
* There are a total of 6 condition variables.
*/
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];
RATES[0] = 0.1001;
RATES[8] = 0.1001;
RATES[9] = 0.1001;
RATES[7] = 0.1001;
RATES[10] = 0.1001;
RATES[11] = 0.1001;
RATES[13] = 0.1001;
RATES[12] = 0.1001;
RATES[14] = 0.1001;
RATES[16] = 0.1001;
RATES[15] = 0.1001;
RATES[17] = 0.1001;
RATES[18] = 0.1001;
RATES[19] = 0.1001;
RATES[20] = 0.1001;
RATES[21] = 0.1001;
RATES[23] = 0.1001;
RATES[22] = 0.1001;
RATES[26] = 0.1001;
RATES[25] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[1] = 0.1001;
RATES[31] = 0.1001;
RATES[27] = 0.1001;
RATES[28] = 0.1001;
RATES[29] = 0.1001;
RATES[30] = 0.1001;
RATES[24] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[4] = 0.1001;
RATES[32] = 0.1001;
RATES[33] = 0.1001;
RATES[34] = 0.1001;
RATES[35] = 0.1001;
RATES[36] = 0.1001;
RATES[37] = 0.1001;
RATES[38] = 0.1001;
RATES[39] = 0.1001;
RATES[40] = 0.1001;
RATES[41] = 0.1001;
RATES[42] = 0.1001;
RATES[43] = 0.1001;
RATES[44] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - - (ALGEBRAIC[8]+ALGEBRAIC[23]+ALGEBRAIC[27]+ALGEBRAIC[120]+ALGEBRAIC[40]+ALGEBRAIC[43]+ALGEBRAIC[51]+ALGEBRAIC[130]+ALGEBRAIC[73]+ALGEBRAIC[58]+ALGEBRAIC[59]+ALGEBRAIC[127]+ALGEBRAIC[79]+ALGEBRAIC[76]+ALGEBRAIC[0]);
resid[1] = RATES[8] - (ALGEBRAIC[12] - STATES[8])/ALGEBRAIC[11];
resid[2] = RATES[9] - (ALGEBRAIC[16] - STATES[9])/ALGEBRAIC[15];
resid[3] = RATES[7] - (ALGEBRAIC[20] - STATES[7])/ALGEBRAIC[19];
resid[4] = RATES[10] - (ALGEBRAIC[28] - STATES[10])/ALGEBRAIC[29];
resid[5] = RATES[11] - (ALGEBRAIC[41] - STATES[11])/ALGEBRAIC[42];
resid[6] = RATES[13] - (ALGEBRAIC[44] - STATES[13])/ALGEBRAIC[45];
resid[7] = RATES[12] - (ALGEBRAIC[46] - STATES[12])/ALGEBRAIC[47];
resid[8] = RATES[14] - (ALGEBRAIC[48] - STATES[14])/ALGEBRAIC[49];
resid[9] = RATES[16] - (ALGEBRAIC[52] - STATES[16])/ALGEBRAIC[53];
resid[10] = RATES[15] - (ALGEBRAIC[54] - STATES[15])/ALGEBRAIC[55];
resid[11] = RATES[17] - (ALGEBRAIC[61] - STATES[17])/ALGEBRAIC[62];
resid[12] = RATES[18] - (ALGEBRAIC[63] - STATES[18])/ALGEBRAIC[64];
resid[13] = RATES[19] - 1.70000*STATES[6]*(1.00000 - STATES[19]) - 0.0119000*STATES[19];
resid[14] = RATES[20] - 1.70000*STATES[5]*(1.00000 - STATES[20]) - 0.0119000*STATES[20];
resid[15] = RATES[21] - ( CONSTANTS[82]*ALGEBRAIC[83] - ALGEBRAIC[82]*STATES[5]*STATES[21]) - ( ALGEBRAIC[81]*pow(STATES[5], 2.00000)*STATES[21] - CONSTANTS[80]*STATES[23]);
resid[16] = RATES[23] - ( ALGEBRAIC[81]*pow(STATES[5], 2.00000)*STATES[21] - CONSTANTS[80]*STATES[23]) - ( ALGEBRAIC[82]*STATES[5]*STATES[23] - CONSTANTS[82]*STATES[22]);
resid[17] = RATES[22] - ( ALGEBRAIC[82]*STATES[5]*STATES[23] - CONSTANTS[82]*STATES[22]) - ( CONSTANTS[80]*STATES[22] - ALGEBRAIC[81]*pow(STATES[5], 2.00000)*ALGEBRAIC[83]);
resid[18] = RATES[26] - ALGEBRAIC[95];
resid[19] = RATES[25] - ALGEBRAIC[96];
resid[20] = RATES[2] - (( - CONSTANTS[156]*(ALGEBRAIC[6]+ 3.00000*ALGEBRAIC[71]+ALGEBRAIC[21]+ 3.00000*ALGEBRAIC[25]+ALGEBRAIC[123]))/( CONSTANTS[160]*CONSTANTS[13]) - ALGEBRAIC[87]/CONSTANTS[160]) - ALGEBRAIC[95];
resid[21] = RATES[3] - (( - CONSTANTS[156]*(ALGEBRAIC[7]+ 3.00000*ALGEBRAIC[72]+ALGEBRAIC[22]+ 3.00000*ALGEBRAIC[26]+ALGEBRAIC[125]))/( CONSTANTS[159]*CONSTANTS[13])+(ALGEBRAIC[87] - ALGEBRAIC[88])/CONSTANTS[159]) - ALGEBRAIC[96];
resid[22] = RATES[1] - ALGEBRAIC[88]/CONSTANTS[161];
resid[23] = RATES[31] - ALGEBRAIC[97];
resid[24] = RATES[27] - ALGEBRAIC[98];
resid[25] = RATES[28] - ALGEBRAIC[99];
resid[26] = RATES[29] - ALGEBRAIC[100];
resid[27] = RATES[30] - ALGEBRAIC[101];
resid[28] = RATES[24] - (ALGEBRAIC[86] - (( ALGEBRAIC[85]*CONSTANTS[161])/CONSTANTS[158]+ALGEBRAIC[84])) - ALGEBRAIC[97];
resid[29] = RATES[5] - ((( - ALGEBRAIC[128]*CONSTANTS[156])/( CONSTANTS[160]*2.00000*CONSTANTS[13]) - ALGEBRAIC[89]/CONSTANTS[160])+( ALGEBRAIC[84]*CONSTANTS[158])/CONSTANTS[160]+( ALGEBRAIC[85]*CONSTANTS[161])/CONSTANTS[160]) - 1.00000*ALGEBRAIC[102];
resid[30] = RATES[6] - (( - ALGEBRAIC[129]*CONSTANTS[156])/( CONSTANTS[159]*2.00000*CONSTANTS[13])+(ALGEBRAIC[89] - ALGEBRAIC[90])/CONSTANTS[159]) - 1.00000*ALGEBRAIC[103];
resid[31] = RATES[4] - (( - ALGEBRAIC[86]*CONSTANTS[158])/CONSTANTS[161]+ALGEBRAIC[90]/CONSTANTS[161]) - 1.00000*ALGEBRAIC[111];
resid[32] = RATES[32] - ALGEBRAIC[104];
resid[33] = RATES[33] - ALGEBRAIC[105];
resid[34] = RATES[34] - ALGEBRAIC[106];
resid[35] = RATES[35] - ALGEBRAIC[107];
resid[36] = RATES[36] - ALGEBRAIC[108];
resid[37] = RATES[37] - ALGEBRAIC[109];
resid[38] = RATES[38] - ALGEBRAIC[110];
resid[39] = RATES[39] - ALGEBRAIC[114];
resid[40] = RATES[40] - ALGEBRAIC[116];
resid[41] = RATES[41] - ALGEBRAIC[115];
resid[42] = RATES[42] - ALGEBRAIC[117];
resid[43] = RATES[43] - ALGEBRAIC[119];
resid[44] = RATES[44] - ALGEBRAIC[118];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[35] = (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[2]));
ALGEBRAIC[36] = (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[3]));
ALGEBRAIC[50] = ALGEBRAIC[48];
ALGEBRAIC[91] = ( CONSTANTS[92]*CONSTANTS[96]*(STATES[2] - STATES[3]))/CONSTANTS[94];
ALGEBRAIC[92] = ( CONSTANTS[93]*CONSTANTS[97]*(STATES[3] - STATES[1]))/CONSTANTS[95];
ALGEBRAIC[93] = ( CONSTANTS[90]*CONSTANTS[96]*(STATES[5] - STATES[6]))/CONSTANTS[94];
ALGEBRAIC[94] = ( CONSTANTS[91]*CONSTANTS[97]*(STATES[6] - STATES[4]))/CONSTANTS[95];
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (CONDVAR[0]>=0.00000&&CONDVAR[1]<=0.00000 ? - CONSTANTS[3] : 0.00000);
ALGEBRAIC[1] = (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[5] = pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[6] = CONSTANTS[18]*CONSTANTS[17]*ALGEBRAIC[5]*(STATES[0] - ALGEBRAIC[1]);
ALGEBRAIC[2] = (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[7] = CONSTANTS[19]*CONSTANTS[17]*ALGEBRAIC[5]*(STATES[0] - ALGEBRAIC[2]);
ALGEBRAIC[8] = ALGEBRAIC[6]+ALGEBRAIC[7];
ALGEBRAIC[9] = (CONDVAR[2]<0.00000 ? 0.135000*exp((80.0000+STATES[0])/- 6.80000) : 0.00000);
ALGEBRAIC[10] = (CONDVAR[3]<0.00000 ? 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[11] = 1.00000/(ALGEBRAIC[9]+ALGEBRAIC[10]);
ALGEBRAIC[12] = ALGEBRAIC[9]/(ALGEBRAIC[9]+ALGEBRAIC[10]);
ALGEBRAIC[13] = (CONDVAR[4]<0.00000 ? (( ( - 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[14] = (CONDVAR[5]<0.00000 ? ( 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[15] = 1.00000/(ALGEBRAIC[13]+ALGEBRAIC[14]);
ALGEBRAIC[16] = ALGEBRAIC[13]/(ALGEBRAIC[13]+ALGEBRAIC[14]);
ALGEBRAIC[17] = (( 0.320000*(STATES[0]+47.1300))/1.00000)/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[18] = 0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[19] = 1.00000/(ALGEBRAIC[17]+ALGEBRAIC[18]);
ALGEBRAIC[20] = ALGEBRAIC[17]/(ALGEBRAIC[17]+ALGEBRAIC[18]);
ALGEBRAIC[21] = CONSTANTS[21]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[1]);
ALGEBRAIC[22] = CONSTANTS[22]*CONSTANTS[20]*(STATES[0] - ALGEBRAIC[2]);
ALGEBRAIC[23] = ALGEBRAIC[21]+ALGEBRAIC[22];
ALGEBRAIC[24] = 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[25] = ( (( CONSTANTS[29]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[24])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[2], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[26] = ( (( CONSTANTS[30]*CONSTANTS[147]*CONSTANTS[28]*ALGEBRAIC[24])/(1.00000+pow(( CONSTANTS[148]*CONSTANTS[26])/STATES[3], CONSTANTS[24])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[27]);
ALGEBRAIC[27] = ALGEBRAIC[25]+ALGEBRAIC[26];
ALGEBRAIC[28] = 1.00000/(1.00000+exp(- (50.0000+STATES[0])/7.50000));
ALGEBRAIC[29] = 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[31] = - arbitrary_log(STATES[5]/1.00000, 10)+3.00000;
ALGEBRAIC[33] = 0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[31])/0.600000)));
ALGEBRAIC[37] = (( CONSTANTS[11]*CONSTANTS[12])/CONSTANTS[13])*log((CONSTANTS[4]+ CONSTANTS[33]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[33]*STATES[1]));
ALGEBRAIC[38] = CONSTANTS[31]*ALGEBRAIC[33]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[37]);
ALGEBRAIC[32] = - arbitrary_log(STATES[6]/1.00000, 10)+3.00000;
ALGEBRAIC[34] = 0.0700000*(0.0570000+0.190000/(1.00000+exp((- 7.20000+ALGEBRAIC[32])/0.600000)));
ALGEBRAIC[39] = CONSTANTS[32]*ALGEBRAIC[34]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[37]);
ALGEBRAIC[40] = ALGEBRAIC[38]+ALGEBRAIC[39];
ALGEBRAIC[41] = 1.00000/(1.00000+exp(- (STATES[0] - 1.50000)/16.7000));
ALGEBRAIC[42] = 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[43] = CONSTANTS[34]*STATES[13]*(STATES[12]+ 0.500000*STATES[14])*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[44] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[45] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
ALGEBRAIC[46] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[47] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
ALGEBRAIC[48] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[49] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
ALGEBRAIC[51] = CONSTANTS[35]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[52] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[53] = 3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
ALGEBRAIC[54] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[55] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
ALGEBRAIC[58] = CONSTANTS[36]*(STATES[0] - CONSTANTS[146])*(CONSTANTS[38]/(1.00000+CONSTANTS[37]/STATES[5])+CONSTANTS[39]/(1.00000+CONSTANTS[37]/STATES[6]));
ALGEBRAIC[59] = CONSTANTS[40]*(STATES[0] - CONSTANTS[146]);
ALGEBRAIC[61] = 1.00000/(1.00000+exp(- (STATES[0]+14.5000)/6.00000));
ALGEBRAIC[62] = ( 1.00000*ALGEBRAIC[61]*(1.00000 - exp(- (STATES[0]+14.5000)/6.00000)))/( 0.0350000*(STATES[0]+14.5000));
ALGEBRAIC[63] = 1.00000/(1.00000+exp((STATES[0]+35.0600)/3.60000))+0.600000/(1.00000+exp((50.0000 - STATES[0])/20.0000));
ALGEBRAIC[64] = 1.00000/( 0.0197000*exp(- pow( 0.0337000*(STATES[0]+14.5000), 2.00000))+0.0200000);
ALGEBRAIC[70] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[5], 3.00000));
ALGEBRAIC[67] = ( 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[71] = ( CONSTANTS[54]*CONSTANTS[53]*ALGEBRAIC[70]*CONSTANTS[153]*ALGEBRAIC[67])/( 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[69] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[6], 3.00000));
ALGEBRAIC[68] = ( 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[72] = ( CONSTANTS[55]*CONSTANTS[53]*ALGEBRAIC[69]*CONSTANTS[153]*ALGEBRAIC[68])/( 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[73] = ALGEBRAIC[71]+ALGEBRAIC[72];
ALGEBRAIC[75] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[67])/(1.00000+pow(CONSTANTS[69]/STATES[6], CONSTANTS[70]));
ALGEBRAIC[74] = ( CONSTANTS[154]*CONSTANTS[71]*CONSTANTS[66])/(1.00000+pow(CONSTANTS[69]/STATES[5], CONSTANTS[70]));
ALGEBRAIC[76] = ALGEBRAIC[74]+ALGEBRAIC[75];
ALGEBRAIC[3] = (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[77] = CONSTANTS[72]*CONSTANTS[73]*(STATES[0] - ALGEBRAIC[3]);
ALGEBRAIC[4] = (( CONSTANTS[11]*CONSTANTS[12])/( 2.00000*CONSTANTS[13]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[78] = CONSTANTS[72]*CONSTANTS[74]*(STATES[0] - ALGEBRAIC[4]);
ALGEBRAIC[79] = ALGEBRAIC[78]+ALGEBRAIC[77];
ALGEBRAIC[80] = CONSTANTS[75] - (CONSTANTS[75] - CONSTANTS[76])/(1.00000+pow(CONSTANTS[77]/STATES[24], CONSTANTS[83]));
ALGEBRAIC[81] = CONSTANTS[79]/ALGEBRAIC[80];
ALGEBRAIC[82] = CONSTANTS[81]*ALGEBRAIC[80];
ALGEBRAIC[83] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
ALGEBRAIC[84] = CONSTANTS[78]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[85] = CONSTANTS[84]*(STATES[24] - STATES[5]);
ALGEBRAIC[86] = ( (( 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[87] = (STATES[2] - STATES[3])*1.83130e-14;
ALGEBRAIC[88] = (STATES[3] - STATES[1])*1.63860e-12;
ALGEBRAIC[89] = (STATES[5] - STATES[6])*8.24130e-13;
ALGEBRAIC[90] = (STATES[6] - STATES[4])*3.72430e-12;
ALGEBRAIC[95] = CONSTANTS[100]*STATES[2]*(CONSTANTS[99] - STATES[26]) - CONSTANTS[101]*STATES[26];
ALGEBRAIC[96] = CONSTANTS[100]*STATES[3]*(CONSTANTS[98] - STATES[25]) - CONSTANTS[101]*STATES[25];
ALGEBRAIC[97] = CONSTANTS[108]*STATES[24]*(( CONSTANTS[106]*CONSTANTS[161])/CONSTANTS[158] - STATES[31]) - CONSTANTS[111]*STATES[31];
ALGEBRAIC[98] = CONSTANTS[107]*STATES[6]*(( CONSTANTS[102]*CONSTANTS[161])/CONSTANTS[159] - STATES[27]) - CONSTANTS[109]*STATES[27];
ALGEBRAIC[99] = CONSTANTS[107]*STATES[5]*(( CONSTANTS[103]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[28]) - CONSTANTS[109]*STATES[28];
ALGEBRAIC[100] = CONSTANTS[107]*STATES[6]*(( CONSTANTS[104]*CONSTANTS[161])/CONSTANTS[159] - STATES[29]) - CONSTANTS[110]*STATES[29];
ALGEBRAIC[101] = CONSTANTS[107]*STATES[5]*(( CONSTANTS[105]*0.100000*CONSTANTS[161])/CONSTANTS[160] - STATES[30]) - CONSTANTS[110]*STATES[30];
ALGEBRAIC[102] = ALGEBRAIC[99]+ALGEBRAIC[101];
ALGEBRAIC[103] = ALGEBRAIC[98]+ALGEBRAIC[100];
ALGEBRAIC[104] = CONSTANTS[119]*STATES[4]*(CONSTANTS[112] - STATES[32]) - CONSTANTS[126]*STATES[32];
ALGEBRAIC[105] = CONSTANTS[120]*STATES[4]*(CONSTANTS[113] - (STATES[33]+STATES[34])) - CONSTANTS[127]*STATES[33];
ALGEBRAIC[106] = CONSTANTS[121]*CONSTANTS[9]*(CONSTANTS[114] - (STATES[33]+STATES[34])) - CONSTANTS[128]*STATES[34];
ALGEBRAIC[107] = CONSTANTS[122]*STATES[4]*(CONSTANTS[115] - STATES[35]) - CONSTANTS[129]*STATES[35];
ALGEBRAIC[108] = CONSTANTS[123]*STATES[4]*(CONSTANTS[116] - (STATES[36]+STATES[37])) - CONSTANTS[130]*STATES[36];
ALGEBRAIC[109] = CONSTANTS[124]*CONSTANTS[9]*(CONSTANTS[117] - (STATES[36]+STATES[37])) - CONSTANTS[131]*STATES[37];
ALGEBRAIC[110] = CONSTANTS[125]*STATES[4]*(CONSTANTS[118] - STATES[38]) - CONSTANTS[132]*STATES[38];
ALGEBRAIC[111] = ALGEBRAIC[104]+ALGEBRAIC[105]+ALGEBRAIC[106]+ALGEBRAIC[107]+ALGEBRAIC[108]+ALGEBRAIC[109]+ALGEBRAIC[110];
ALGEBRAIC[112] = STATES[39]+( STATES[41]*CONSTANTS[160])/CONSTANTS[161]+( STATES[40]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[114] = CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[112])*STATES[4]*(CONSTANTS[135] - STATES[39]) - CONSTANTS[143]*STATES[39];
ALGEBRAIC[115] = CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[112])*STATES[5]*(( CONSTANTS[137]*CONSTANTS[161])/CONSTANTS[160] - STATES[41]) - CONSTANTS[143]*STATES[41];
ALGEBRAIC[116] = CONSTANTS[141]*(CONSTANTS[133] - ALGEBRAIC[112])*STATES[6]*(( CONSTANTS[136]*CONSTANTS[161])/CONSTANTS[159] - STATES[40]) - CONSTANTS[143]*STATES[40];
ALGEBRAIC[113] = STATES[42]+( STATES[44]*CONSTANTS[160])/CONSTANTS[161]+( STATES[43]*CONSTANTS[159])/CONSTANTS[161];
ALGEBRAIC[117] = CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[113])*STATES[4]*(CONSTANTS[138] - STATES[42]) - CONSTANTS[144]*STATES[42];
ALGEBRAIC[118] = CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[113])*STATES[5]*(( CONSTANTS[140]*CONSTANTS[161])/CONSTANTS[160] - STATES[44]) - CONSTANTS[144]*STATES[44];
ALGEBRAIC[119] = CONSTANTS[142]*(CONSTANTS[134] - ALGEBRAIC[113])*STATES[6]*(( CONSTANTS[139]*CONSTANTS[161])/CONSTANTS[159] - STATES[43]) - CONSTANTS[144]*STATES[43];
ALGEBRAIC[30] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[120] = CONSTANTS[150]*STATES[10]*ALGEBRAIC[30]*(STATES[0] - CONSTANTS[145]);
ALGEBRAIC[66] = 1.00000 - STATES[20];
ALGEBRAIC[60] = ( 0.450000*STATES[17]*STATES[18]*CONSTANTS[152]*STATES[0]*pow(CONSTANTS[13], 2.00000))/( CONSTANTS[11]*CONSTANTS[12]);
ALGEBRAIC[123] = ( ALGEBRAIC[60]*ALGEBRAIC[66]*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[65] = 1.00000 - STATES[19];
ALGEBRAIC[125] = ( ALGEBRAIC[60]*ALGEBRAIC[65]*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[124] = ( ALGEBRAIC[60]*ALGEBRAIC[65]*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[122] = ( ALGEBRAIC[60]*ALGEBRAIC[66]*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[126] = ( ALGEBRAIC[60]*( ALGEBRAIC[65]*CONSTANTS[45]+ ALGEBRAIC[66]*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[127] = ALGEBRAIC[124]+ALGEBRAIC[122]+ALGEBRAIC[125]+ALGEBRAIC[123]+ALGEBRAIC[126];
ALGEBRAIC[128] = (ALGEBRAIC[122] - 2.00000*ALGEBRAIC[71])+ALGEBRAIC[77]+ALGEBRAIC[74];
ALGEBRAIC[129] = (ALGEBRAIC[124] - 2.00000*ALGEBRAIC[72])+ALGEBRAIC[78]+ALGEBRAIC[75];
ALGEBRAIC[56] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[145]+59.2150))));
ALGEBRAIC[57] = ( 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[121] = ALGEBRAIC[56]/(ALGEBRAIC[56]+ALGEBRAIC[57]);
ALGEBRAIC[130] = CONSTANTS[151]*ALGEBRAIC[121]*(STATES[0] - CONSTANTS[145]);
}
void
getStateInformation(double* SI)
{
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
SI[3] = 1.0;
SI[4] = 1.0;
SI[5] = 1.0;
SI[6] = 1.0;
SI[7] = 1.0;
SI[8] = 1.0;
SI[9] = 1.0;
SI[10] = 1.0;
SI[11] = 1.0;
SI[12] = 1.0;
SI[13] = 1.0;
SI[14] = 1.0;
SI[15] = 1.0;
SI[16] = 1.0;
SI[17] = 1.0;
SI[18] = 1.0;
SI[19] = 1.0;
SI[20] = 1.0;
SI[21] = 1.0;
SI[22] = 1.0;
SI[23] = 1.0;
SI[24] = 1.0;
SI[25] = 1.0;
SI[26] = 1.0;
SI[27] = 1.0;
SI[28] = 1.0;
SI[29] = 1.0;
SI[30] = 1.0;
SI[31] = 1.0;
SI[32] = 1.0;
SI[33] = 1.0;
SI[34] = 1.0;
SI[35] = 1.0;
SI[36] = 1.0;
SI[37] = 1.0;
SI[38] = 1.0;
SI[39] = 1.0;
SI[40] = 1.0;
SI[41] = 1.0;
SI[42] = 1.0;
SI[43] = 1.0;
SI[44] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = (VOI - floor(VOI/CONSTANTS[1])*CONSTANTS[1]) - CONSTANTS[0];
CONDVAR[1] = (VOI - floor(VOI/CONSTANTS[1])*CONSTANTS[1]) - (CONSTANTS[0]+CONSTANTS[2]);
CONDVAR[2] = STATES[0] - - 40.0000;
CONDVAR[3] = STATES[0] - - 40.0000;
CONDVAR[4] = STATES[0] - - 40.0000;
CONDVAR[5] = STATES[0] - - 40.0000;
}
