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 128 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 177 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[116] is i_Kr in component IKr (microA_per_microF).
 * ALGEBRAIC[40] is i_Ks in component IKs (microA_per_microF).
 * ALGEBRAIC[117] is i_tos in component Itos (microA_per_microF).
 * ALGEBRAIC[50] is i_tof in component Itof (microA_per_microF).
 * ALGEBRAIC[127] is i_K1 in component IK1 (microA_per_microF).
 * ALGEBRAIC[57] is i_Kp in component IKp (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[124] 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 Mgo in component model_parameters (millimolar).
 * CONSTANTS[11] is Cli in component model_parameters (millimolar).
 * CONSTANTS[12] is R in component model_parameters (joule_per_kilomole_kelvin).
 * CONSTANTS[13] is T in component model_parameters (kelvin).
 * CONSTANTS[14] is F in component model_parameters (coulomb_per_mole).
 * CONSTANTS[169] is Cm in component model_parameters (farad).
 * CONSTANTS[15] is Cm_per_area in component model_parameters (farad_per_cm2).
 * CONSTANTS[16] is cell_length in component model_parameters (micrometre).
 * CONSTANTS[17] is cell_radius in component model_parameters (micrometre).
 * CONSTANTS[18] is jct_radius in component model_parameters (micrometre).
 * CONSTANTS[19] is jct_depth in component model_parameters (micrometre).
 * CONSTANTS[20] is SL_depth in component model_parameters (micrometre).
 * CONSTANTS[170] is Vol_Cell in component model_parameters (litre).
 * CONSTANTS[171] is Vol_SR in component model_parameters (litre).
 * CONSTANTS[172] is Vol_SL in component model_parameters (litre).
 * CONSTANTS[173] is Vol_jct in component model_parameters (litre).
 * CONSTANTS[174] is Vol_cytosol in component model_parameters (litre).
 * CONSTANTS[175] 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[150] is E_K in component reversal_potentials (millivolt).
 * CONSTANTS[151] 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[21] is G_INa in component INa (milliS_per_microF).
 * CONSTANTS[22] is Fx_Na_jct in component INa (dimensionless).
 * CONSTANTS[23] 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[24] is G_NaBk in component INab (milliS_per_microF).
 * CONSTANTS[25] is Fx_NaBk_jct in component INab (dimensionless).
 * CONSTANTS[26] 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[27] is Q10_NaK in component INaK (dimensionless).
 * CONSTANTS[152] is Q_NaK in component INaK (dimensionless).
 * CONSTANTS[28] is H_NaK in component INaK (dimensionless).
 * CONSTANTS[29] is Q10_Km_Nai in component INaK (dimensionless).
 * CONSTANTS[153] is Q_Km_Nai in component INaK (dimensionless).
 * CONSTANTS[30] is Km_Nai in component INaK (millimolar).
 * CONSTANTS[31] is Km_Ko in component INaK (millimolar).
 * CONSTANTS[32] is I_NaK_max in component INaK (microA_per_microF).
 * CONSTANTS[154] is sigma in component INaK (dimensionless).
 * CONSTANTS[33] is Fx_NaK_jct in component INaK (dimensionless).
 * CONSTANTS[34] is Fx_NaK_SL in component INaK (dimensionless).
 * CONSTANTS[155] 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[35] is Fx_Ks_jct in component IKs (dimensionless).
 * CONSTANTS[36] 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[37] 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[38] 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).
 * ALGEBRAIC[49] is R_tos in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[43] is X_tos_infinity in component Itos_X_gate (dimensionless).
 * ALGEBRAIC[44] is tau_X_tos in component Itos_X_gate (millisecond).
 * ALGEBRAIC[45] is Y_tos_infinity in component Itos_Y_gate (dimensionless).
 * ALGEBRAIC[46] is tau_Y_tos in component Itos_Y_gate (millisecond).
 * STATES[14] is R_tos_other in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[47] is R_tos_infinity in component Itos_R_gate (dimensionless).
 * ALGEBRAIC[48] is tau_R_tos in component Itos_R_gate (millisecond).
 * CONSTANTS[39] 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[51] is X_tof_infinity in component Itof_X_gate (dimensionless).
 * ALGEBRAIC[52] is tau_X_tof in component Itof_X_gate (millisecond).
 * ALGEBRAIC[53] is Y_tof_infinity in component Itof_Y_gate (dimensionless).
 * ALGEBRAIC[54] is tau_Y_tof in component Itof_Y_gate (millisecond).
 * CONSTANTS[156] is G_K1 in component IK1 (milliS_per_microF).
 * ALGEBRAIC[118] is K1_infinity in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[55] is alpha_K1 in component IK1_K1_gate (per_millisecond).
 * ALGEBRAIC[56] is beta_K1 in component IK1_K1_gate (per_millisecond).
 * CONSTANTS[40] is g_Kp in component IKp (milliS_per_microF).
 * CONSTANTS[41] is G_Cl in component ICl_Ca (milliS_per_microF).
 * CONSTANTS[42] is Kd_ClCa in component ICl_Ca (millimolar).
 * CONSTANTS[43] is Fx_Cl_jct in component ICl_Ca (dimensionless).
 * CONSTANTS[44] is Fx_Cl_SL in component ICl_Ca (dimensionless).
 * CONSTANTS[45] is G_ClBk in component IClb (milliS_per_microF).
 * ALGEBRAIC[121] is i_CaL_Ca_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[119] is i_CaL_Ca_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[122] is i_CaL_Na_SL in component ICaL (microA_per_microF).
 * ALGEBRAIC[120] is i_CaL_Na_jct in component ICaL (microA_per_microF).
 * ALGEBRAIC[123] is i_CaL_K in component ICaL (microA_per_microF).
 * CONSTANTS[46] is PCa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[47] is PNa in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[48] is PK in component ICaL (litre_per_farad_millisecond).
 * CONSTANTS[49] is Fx_ICaL_jct in component ICaL (dimensionless).
 * CONSTANTS[50] is Fx_ICaL_SL in component ICaL (dimensionless).
 * CONSTANTS[51] is gamma_Cai in component ICaL (dimensionless).
 * CONSTANTS[52] is gamma_Cao in component ICaL (dimensionless).
 * CONSTANTS[53] is gamma_Nai in component ICaL (dimensionless).
 * CONSTANTS[54] is gamma_Nao in component ICaL (dimensionless).
 * CONSTANTS[55] is gamma_Ki in component ICaL (dimensionless).
 * CONSTANTS[56] is gamma_Ko in component ICaL (dimensionless).
 * CONSTANTS[57] is Q10_CaL in component ICaL (dimensionless).
 * CONSTANTS[157] 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[58] is V_max in component INaCa (microA_per_microF).
 * CONSTANTS[59] is Fx_NCX_jct in component INaCa (dimensionless).
 * CONSTANTS[60] is Fx_NCX_SL in component INaCa (dimensionless).
 * CONSTANTS[61] is Q10_NCX in component INaCa (dimensionless).
 * CONSTANTS[158] is Q_NCX in component INaCa (dimensionless).
 * CONSTANTS[62] is K_mNai in component INaCa (millimolar).
 * CONSTANTS[63] is K_mCao in component INaCa (millimolar).
 * CONSTANTS[64] is K_mNao in component INaCa (millimolar).
 * CONSTANTS[65] 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[66] is Kd_act in component INaCa (millimolar).
 * CONSTANTS[67] is ksat in component INaCa (dimensionless).
 * CONSTANTS[68] is eta in component INaCa (dimensionless).
 * CONSTANTS[69] 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[70] is V_max in component ICap (millimolar_per_millisecond).
 * CONSTANTS[71] is Fx_SLCaP_jct in component ICap (dimensionless).
 * CONSTANTS[72] is Fx_SLCaP_SL in component ICap (dimensionless).
 * CONSTANTS[73] is Q10_SLCaP in component ICap (dimensionless).
 * CONSTANTS[159] is Q_SLCaP in component ICap (dimensionless).
 * CONSTANTS[74] is Km in component ICap (millimolar).
 * CONSTANTS[75] is H in component ICap (dimensionless).
 * CONSTANTS[176] is V_maxAF_old in component ICap (microA_per_microF).
 * CONSTANTS[76] 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[77] is G_CaBk in component ICab (milliS_per_microF).
 * CONSTANTS[78] is Fx_CaBk_jct in component ICab (dimensionless).
 * CONSTANTS[79] is Fx_CaBk_SL in component ICab (dimensionless).
 * ALGEBRAIC[84] is j_rel_SR in component Jrel_SR (millimolar_per_millisecond).
 * CONSTANTS[80] is Max_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[81] is Min_SR in component Jrel_SR (dimensionless).
 * CONSTANTS[82] 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[83] is ks in component Jrel_SR (per_millisecond).
 * CONSTANTS[84] is koCa in component Jrel_SR (per_millimolar2_per_millisecond).
 * CONSTANTS[85] is kom in component Jrel_SR (per_millisecond).
 * CONSTANTS[86] is kiCa in component Jrel_SR (per_millimolar_per_millisecond).
 * CONSTANTS[87] is kim in component Jrel_SR (per_millisecond).
 * CONSTANTS[88] 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[89] is KSRleak in component Jleak_SR (per_millisecond).
 * ALGEBRAIC[86] is j_pump_SR in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[90] is V_max in component Jpump_SR (millimolar_per_millisecond).
 * CONSTANTS[91] is Q10_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[160] is Q_SRCaP in component Jpump_SR (dimensionless).
 * CONSTANTS[92] is Kmf in component Jpump_SR (millimolar).
 * CONSTANTS[93] is Kmr in component Jpump_SR (millimolar).
 * CONSTANTS[94] 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[95] is D_Ca_jct_SL in component ion_diffusion (dm2_per_second).
 * CONSTANTS[96] is D_Ca_SL_cytosol in component ion_diffusion (dm2_per_second).
 * CONSTANTS[97] is D_Na_jct_SL in component ion_diffusion (dm2_per_second).
 * CONSTANTS[98] is D_Na_SL_cytosol in component ion_diffusion (dm2_per_second).
 * CONSTANTS[99] is x_jct_SL in component ion_diffusion (micrometre).
 * CONSTANTS[100] is x_SL_cytosol in component ion_diffusion (micrometre).
 * CONSTANTS[101] is A_jct_SL in component ion_diffusion (cm2).
 * CONSTANTS[102] is A_SL_cytosol in component ion_diffusion (cm2).
 * CONSTANTS[161] is j_Na_jct_SL in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[162] is j_Na_SL_cytosol in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[163] is j_Ca_jct_SL in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[164] is j_Ca_SL_cytosol in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[165] is j_Na_jct_SL_new in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[166] is j_Na_SL_cytosol_new in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[167] is j_Ca_jct_SL_new in component ion_diffusion (litre_per_millisecond).
 * CONSTANTS[168] is j_Ca_SL_cytosol_new in component ion_diffusion (litre_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[103] is Bmax_SL in component Na_buffer (millimolar).
 * CONSTANTS[104] is Bmax_jct in component Na_buffer (millimolar).
 * CONSTANTS[105] is kon in component Na_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[106] is koff in component Na_buffer (per_millisecond).
 * ALGEBRAIC[91] is dNa_jct_buf in component Na_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[92] 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[107] is Bmax_SLB_SL in component Ca_buffer (millimolar).
 * CONSTANTS[108] is Bmax_SLB_jct in component Ca_buffer (millimolar).
 * CONSTANTS[109] is Bmax_SLHigh_SL in component Ca_buffer (millimolar).
 * CONSTANTS[110] is Bmax_SLHigh_jct in component Ca_buffer (millimolar).
 * CONSTANTS[111] is Bmax_Calsequestrin in component Ca_buffer (millimolar).
 * CONSTANTS[112] is kon_SL in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[113] is kon_Calsequestrin in component Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[114] is koff_SLB in component Ca_buffer (per_millisecond).
 * CONSTANTS[115] is koff_SLHigh in component Ca_buffer (per_millisecond).
 * CONSTANTS[116] is koff_Calsequestrin in component Ca_buffer (per_millisecond).
 * ALGEBRAIC[93] is dCalsequestrin in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[107] is dCa_cytosol_tot_bound in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[94] 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[96] is dCa_SLHigh_SL in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[97] is dCa_SLHigh_jct in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[98] is dCa_jct_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[99] is dCa_SL_tot_bound in component Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[125] is i_Ca_jct_tot in component Ca_buffer (microA_per_microF).
 * ALGEBRAIC[126] is i_Ca_SL_tot in component Ca_buffer (microA_per_microF).
 * STATES[32] is Ca_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * STATES[33] is Ca_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * STATES[34] is Mg_TroponinC_Ca_Mg in component cytosolic_Ca_buffer (millimolar).
 * STATES[35] is Ca_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * STATES[36] is Ca_Myosin in component cytosolic_Ca_buffer (millimolar).
 * STATES[37] is Mg_Myosin in component cytosolic_Ca_buffer (millimolar).
 * STATES[38] is Ca_SRB in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[117] is Bmax_TroponinC in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[118] is Bmax_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[119] is Bmax_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[120] is Bmax_Calmodulin in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[121] is Bmax_Myosin_Ca in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[122] is Bmax_Myosin_Mg in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[123] is Bmax_SRB in component cytosolic_Ca_buffer (millimolar).
 * CONSTANTS[124] is kon_TroponinC in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[125] is kon_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[126] is kon_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[127] is kon_Calmodulin in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[128] is kon_Myosin_Ca in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[129] is kon_Myosin_Mg in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[130] is kon_SRB in component cytosolic_Ca_buffer (per_millimolar_per_millisecond).
 * CONSTANTS[131] is koff_TroponinC in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[132] is koff_TroponinC_Ca_Mg_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[133] is koff_TroponinC_Ca_Mg_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[134] is koff_Calmodulin in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[135] is koff_Myosin_Ca in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[136] is koff_Myosin_Mg in component cytosolic_Ca_buffer (per_millisecond).
 * CONSTANTS[137] is koff_SRB in component cytosolic_Ca_buffer (per_millisecond).
 * ALGEBRAIC[100] is dCa_TroponinC in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[101] 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[103] is dCa_Calmodulin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[104] is dCa_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[105] is dMg_Myosin in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * ALGEBRAIC[106] is dCa_SRB in component cytosolic_Ca_buffer (millimolar_per_millisecond).
 * CONSTANTS[138] is Indo1 in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[139] 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[140] is Bmax_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[141] is Bmax_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[142] is Bmax_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[143] is Bmax_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[144] is Bmax_Fluo3_SL in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[145] is Bmax_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * CONSTANTS[146] is kon_Indo1 in component indo_fluo_Ca_buffer_not_connected (per_millimolar2_per_millisecond).
 * CONSTANTS[147] is kon_Fluo3 in component indo_fluo_Ca_buffer_not_connected (per_millimolar2_per_millisecond).
 * CONSTANTS[148] is koff_Indo1 in component indo_fluo_Ca_buffer_not_connected (per_millisecond).
 * CONSTANTS[149] is koff_Fluo3 in component indo_fluo_Ca_buffer_not_connected (per_millisecond).
 * ALGEBRAIC[108] is Indo1Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * ALGEBRAIC[109] is Fluo3Bound in component indo_fluo_Ca_buffer_not_connected (millimolar).
 * ALGEBRAIC[110] is dCa_Indo1_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[111] is dCa_Indo1_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[112] is dCa_Indo1_SL in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[113] is dCa_Fluo3_Cytosol in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[114] is dCa_Fluo3_jct in component indo_fluo_Ca_buffer_not_connected (millimolar_per_millisecond).
 * ALGEBRAIC[115] 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_other 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] = 1;
CONSTANTS[11] = 15;
CONSTANTS[12] = 8314.3;
CONSTANTS[13] = 310;
CONSTANTS[14] = 96486.7;
CONSTANTS[15] = 2e-6;
CONSTANTS[16] = 100;
CONSTANTS[17] = 10.25;
CONSTANTS[18] = 0.16;
CONSTANTS[19] = 0.015;
CONSTANTS[20] = 0.045;
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[21] = 16;
CONSTANTS[22] = 0.11;
CONSTANTS[23] = 0.89;
STATES[7] = 0.001370685156;
STATES[8] = 0.987140350343;
STATES[9] = 0.991822731369;
CONSTANTS[24] = 0.297e-3;
CONSTANTS[25] = 0.11;
CONSTANTS[26] = 0.89;
CONSTANTS[27] = 1.63;
CONSTANTS[28] = 4;
CONSTANTS[29] = 1.49;
CONSTANTS[30] = 11;
CONSTANTS[31] = 1.5;
CONSTANTS[32] = 1.91;
CONSTANTS[33] = 0.11;
CONSTANTS[34] = 0.89;
STATES[10] = 0.008471550841;
CONSTANTS[35] = 0.11;
CONSTANTS[36] = 0.89;
CONSTANTS[37] = 0.01833;
STATES[11] = 0.00687399199;
CONSTANTS[38] = 0.02;
STATES[12] = 0.293519921626;
STATES[13] = 0.004011272375;
STATES[14] = 0.383430556383;
CONSTANTS[39] = 0.06;
STATES[15] = 0.9946314893;
STATES[16] = 0.00401120993;
CONSTANTS[40] = 0.001;
CONSTANTS[41] = 0.109625;
CONSTANTS[42] = 0.1;
CONSTANTS[43] = 0.11;
CONSTANTS[44] = 0.89;
CONSTANTS[45] = 0.009;
CONSTANTS[46] = 5.4e-4;
CONSTANTS[47] = 1.5e-8;
CONSTANTS[48] = 2.7e-7;
CONSTANTS[49] = 0.9;
CONSTANTS[50] = 0.1;
CONSTANTS[51] = 0.341;
CONSTANTS[52] = 0.341;
CONSTANTS[53] = 0.75;
CONSTANTS[54] = 0.75;
CONSTANTS[55] = 0.75;
CONSTANTS[56] = 0.75;
CONSTANTS[57] = 1.8;
STATES[17] = 0.000006997531;
STATES[18] = 1.000675515962;
STATES[19] = 0.015352888928;
STATES[20] = 0.024609183734;
CONSTANTS[58] = 9;
CONSTANTS[59] = 0.11;
CONSTANTS[60] = 0.89;
CONSTANTS[61] = 1.57;
CONSTANTS[62] = 12.29;
CONSTANTS[63] = 1.3;
CONSTANTS[64] = 87.5;
CONSTANTS[65] = 0.00359;
CONSTANTS[66] = 0.000256;
CONSTANTS[67] = 0.27;
CONSTANTS[68] = 0.35;
CONSTANTS[69] = 3;
CONSTANTS[70] = 2.2e-6;
CONSTANTS[71] = 0.11;
CONSTANTS[72] = 0.89;
CONSTANTS[73] = 2.35;
CONSTANTS[74] = 0.0005;
CONSTANTS[75] = 1.6;
CONSTANTS[76] = 0.0673;
CONSTANTS[77] = 0.0002513;
CONSTANTS[78] = 0.11;
CONSTANTS[79] = 0.89;
CONSTANTS[80] = 15;
CONSTANTS[81] = 1;
CONSTANTS[82] = 0.45;
STATES[21] = 0.884673513138;
STATES[22] = 0.00000009272;
STATES[23] = 0.000000711264;
CONSTANTS[83] = 25;
CONSTANTS[84] = 10;
CONSTANTS[85] = 0.06;
CONSTANTS[86] = 0.5;
CONSTANTS[87] = 0.005;
CONSTANTS[88] = 2.5;
STATES[24] = 0.545611267699;
CONSTANTS[89] = 5.348e-6;
CONSTANTS[90] = 286e-6;
CONSTANTS[91] = 2.6;
CONSTANTS[92] = 0.000246;
CONSTANTS[93] = 1.7;
CONSTANTS[94] = 1.787;
CONSTANTS[95] = 1.64e-6;
CONSTANTS[96] = 1.22e-6;
CONSTANTS[97] = 1.09e-5;
CONSTANTS[98] = 1.79e-5;
CONSTANTS[99] = 0.5;
CONSTANTS[100] = 0.45;
CONSTANTS[101] = 3.01e-6;
CONSTANTS[102] = 1.3e-4;
STATES[25] = 0.776121392467;
STATES[26] = 3.557055389701;
CONSTANTS[103] = 1.65;
CONSTANTS[104] = 3.7;
CONSTANTS[105] = 0.0001;
CONSTANTS[106] = 1e-3;
STATES[27] = 0.009868629147;
STATES[28] = 0.007780801995;
STATES[29] = 0.114438990328;
STATES[30] = 0.077503874257;
STATES[31] = 1.186496899338;
CONSTANTS[107] = 0.0374;
CONSTANTS[108] = 0.0046;
CONSTANTS[109] = 0.0134;
CONSTANTS[110] = 0.00165;
CONSTANTS[111] = 0.14;
CONSTANTS[112] = 100;
CONSTANTS[113] = 100;
CONSTANTS[114] = 1.3;
CONSTANTS[115] = 30e-3;
CONSTANTS[116] = 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[117] = 0.07;
CONSTANTS[118] = 0.14;
CONSTANTS[119] = 0.14;
CONSTANTS[120] = 0.024;
CONSTANTS[121] = 0.14;
CONSTANTS[122] = 0.14;
CONSTANTS[123] = 0.019;
CONSTANTS[124] = 32.7;
CONSTANTS[125] = 2.37;
CONSTANTS[126] = 3e-3;
CONSTANTS[127] = 34;
CONSTANTS[128] = 13.8;
CONSTANTS[129] = 15.7e-3;
CONSTANTS[130] = 100;
CONSTANTS[131] = 19.6e-3;
CONSTANTS[132] = 0.032e-3;
CONSTANTS[133] = 3.33e-3;
CONSTANTS[134] = 238e-3;
CONSTANTS[135] = 0.46e-3;
CONSTANTS[136] = 0.057e-3;
CONSTANTS[137] = 60e-3;
CONSTANTS[138] = 0;
CONSTANTS[139] = 0;
STATES[39] = 0;
STATES[40] = 0;
STATES[41] = 0;
STATES[42] = 0;
STATES[43] = 0;
STATES[44] = 0;
CONSTANTS[140] = 0.025;
CONSTANTS[141] = 0.00077;
CONSTANTS[142] = 0.00002;
CONSTANTS[143] = 0.025;
CONSTANTS[144] = 0.00077;
CONSTANTS[145] = 0.00002;
CONSTANTS[146] = 100;
CONSTANTS[147] = 100;
CONSTANTS[148] = 60e-3;
CONSTANTS[149] = 110e-3;
CONSTANTS[150] =  (( CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log(CONSTANTS[4]/CONSTANTS[8]);
CONSTANTS[151] =  (( - CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log(CONSTANTS[7]/CONSTANTS[11]);
CONSTANTS[152] = pow(CONSTANTS[27], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[153] = pow(CONSTANTS[29], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[154] = (exp(CONSTANTS[5]/67.3000) - 1.00000)/7.00000;
CONSTANTS[155] =  0.0300000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[156] =  0.900000* pow((CONSTANTS[4]/5.40000), 1.0 / 2);
CONSTANTS[157] = pow(CONSTANTS[57], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[158] = pow(CONSTANTS[61], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[159] = pow(CONSTANTS[73], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[160] = pow(CONSTANTS[91], (CONSTANTS[13] - 310.000)/10.0000);
CONSTANTS[161] = ( CONSTANTS[97]*CONSTANTS[101])/CONSTANTS[99];
CONSTANTS[162] = ( CONSTANTS[98]*CONSTANTS[102])/CONSTANTS[100];
CONSTANTS[163] = ( CONSTANTS[95]*CONSTANTS[101])/CONSTANTS[99];
CONSTANTS[164] = ( CONSTANTS[96]*CONSTANTS[102])/CONSTANTS[100];
CONSTANTS[165] = 1.83130e-14;
CONSTANTS[166] = 1.63860e-12;
CONSTANTS[167] = 8.24130e-13;
CONSTANTS[168] = 3.72430e-12;
CONSTANTS[169] = ( (( CONSTANTS[15]*2.00000*CONSTANTS[17])/10000.0)* 3.14159265358979*CONSTANTS[16])/10000.0;
CONSTANTS[170] = ( 3.14159*pow(CONSTANTS[17]/1000.00, 2.00000)*CONSTANTS[16])/pow(1000.00, 3.00000);
CONSTANTS[171] =  0.0350000*CONSTANTS[170];
CONSTANTS[172] =  0.0200000*CONSTANTS[170];
CONSTANTS[173] =  0.000510000*CONSTANTS[170];
CONSTANTS[174] =  0.650000*CONSTANTS[170];
CONSTANTS[175] = CONSTANTS[170] - (CONSTANTS[171]+CONSTANTS[172]+CONSTANTS[173]+CONSTANTS[174]);
CONSTANTS[176] = ( CONSTANTS[70]*CONSTANTS[174]*2.00000*CONSTANTS[14])/CONSTANTS[169];
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[116]+ALGEBRAIC[40]+ALGEBRAIC[117]+ALGEBRAIC[50]+ALGEBRAIC[127]+ALGEBRAIC[57]+ALGEBRAIC[73]+ALGEBRAIC[58]+ALGEBRAIC[59]+ALGEBRAIC[124]+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[43] - STATES[13])/ALGEBRAIC[44];
resid[7] = RATES[12] - (ALGEBRAIC[45] - STATES[12])/ALGEBRAIC[46];
resid[8] = RATES[14] - (ALGEBRAIC[47] - ALGEBRAIC[49])/ALGEBRAIC[48];
resid[9] = RATES[16] - (ALGEBRAIC[51] - STATES[16])/ALGEBRAIC[52];
resid[10] = RATES[15] - (ALGEBRAIC[53] - STATES[15])/ALGEBRAIC[54];
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]) -  11.9000*STATES[19];
resid[14] = RATES[20] -  1.70000*STATES[5]*(1.00000 - STATES[20]) -  11.9000*STATES[20];
resid[15] = RATES[21] - ( CONSTANTS[87]*ALGEBRAIC[83] -  ALGEBRAIC[82]*STATES[5]*STATES[21]) - ( ALGEBRAIC[81]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[85]*STATES[23]);
resid[16] = RATES[23] - ( ALGEBRAIC[81]*pow(STATES[5], 2.00000)*STATES[21] -  CONSTANTS[85]*STATES[23]) - ( ALGEBRAIC[82]*STATES[5]*STATES[23] -  CONSTANTS[87]*STATES[22]);
resid[17] = RATES[22] - ( ALGEBRAIC[82]*STATES[5]*STATES[23] -  CONSTANTS[87]*STATES[22]) - ( CONSTANTS[85]*STATES[22] -  ALGEBRAIC[81]*pow(STATES[5], 2.00000)*ALGEBRAIC[83]);
resid[18] = RATES[26] - ALGEBRAIC[91];
resid[19] = RATES[25] - ALGEBRAIC[92];
resid[20] = RATES[2] - (( - CONSTANTS[169]*(ALGEBRAIC[6]+ 3.00000*ALGEBRAIC[71]+ALGEBRAIC[21]+ 3.00000*ALGEBRAIC[25]+ALGEBRAIC[120]))/( CONSTANTS[173]*CONSTANTS[14]) - ALGEBRAIC[87]/CONSTANTS[173]) - ALGEBRAIC[91];
resid[21] = RATES[3] - (( - CONSTANTS[169]*(ALGEBRAIC[7]+ 3.00000*ALGEBRAIC[72]+ALGEBRAIC[22]+ 3.00000*ALGEBRAIC[26]+ALGEBRAIC[122]))/( CONSTANTS[172]*CONSTANTS[14])+(ALGEBRAIC[87] - ALGEBRAIC[88])/CONSTANTS[172]) - ALGEBRAIC[92];
resid[22] = RATES[1] - ALGEBRAIC[88]/CONSTANTS[174];
resid[23] = RATES[31] - ALGEBRAIC[93];
resid[24] = RATES[27] - ALGEBRAIC[94];
resid[25] = RATES[28] - ALGEBRAIC[95];
resid[26] = RATES[29] - ALGEBRAIC[96];
resid[27] = RATES[30] - ALGEBRAIC[97];
resid[28] = RATES[24] - (ALGEBRAIC[86] - (( ALGEBRAIC[85]*CONSTANTS[174])/CONSTANTS[171]+ALGEBRAIC[84])) - ALGEBRAIC[93];
resid[29] = RATES[5] - ((( - ALGEBRAIC[125]*CONSTANTS[169])/( CONSTANTS[173]*2.00000*CONSTANTS[14]) - ALGEBRAIC[89]/CONSTANTS[173])+( ALGEBRAIC[84]*CONSTANTS[171])/CONSTANTS[173]+( ALGEBRAIC[85]*CONSTANTS[174])/CONSTANTS[173]) -  1.00000*ALGEBRAIC[98];
resid[30] = RATES[6] - (( - ALGEBRAIC[126]*CONSTANTS[169])/( CONSTANTS[172]*2.00000*CONSTANTS[14])+(ALGEBRAIC[89] - ALGEBRAIC[90])/CONSTANTS[172]) -  1.00000*ALGEBRAIC[99];
resid[31] = RATES[4] - (( - ALGEBRAIC[86]*CONSTANTS[171])/CONSTANTS[174]+ALGEBRAIC[90]/CONSTANTS[174]) -  1.00000*ALGEBRAIC[107];
resid[32] = RATES[32] - ALGEBRAIC[100];
resid[33] = RATES[33] - ALGEBRAIC[101];
resid[34] = RATES[34] - ALGEBRAIC[102];
resid[35] = RATES[35] - ALGEBRAIC[103];
resid[36] = RATES[36] - ALGEBRAIC[104];
resid[37] = RATES[37] - ALGEBRAIC[105];
resid[38] = RATES[38] - ALGEBRAIC[106];
resid[39] = RATES[39] - ALGEBRAIC[110];
resid[40] = RATES[40] - ALGEBRAIC[112];
resid[41] = RATES[41] - ALGEBRAIC[111];
resid[42] = RATES[42] - ALGEBRAIC[113];
resid[43] = RATES[43] - ALGEBRAIC[115];
resid[44] = RATES[44] - ALGEBRAIC[114];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[35] =  (( CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log((CONSTANTS[4]+ CONSTANTS[37]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[37]*STATES[2]));
ALGEBRAIC[36] =  (( CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log((CONSTANTS[4]+ CONSTANTS[37]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[37]*STATES[3]));
}
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[12]*CONSTANTS[13])/CONSTANTS[14])*log(CONSTANTS[5]/STATES[2]);
ALGEBRAIC[5] =  pow(STATES[7], 3.00000)*STATES[8]*STATES[9];
ALGEBRAIC[6] =  CONSTANTS[22]*CONSTANTS[21]*ALGEBRAIC[5]*(STATES[0] - ALGEBRAIC[1]);
ALGEBRAIC[2] =  (( CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log(CONSTANTS[5]/STATES[3]);
ALGEBRAIC[7] =  CONSTANTS[23]*CONSTANTS[21]*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[25]*CONSTANTS[24]*(STATES[0] - ALGEBRAIC[1]);
ALGEBRAIC[22] =  CONSTANTS[26]*CONSTANTS[24]*(STATES[0] - ALGEBRAIC[2]);
ALGEBRAIC[23] = ALGEBRAIC[21]+ALGEBRAIC[22];
ALGEBRAIC[24] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13]))+ 0.0365000*CONSTANTS[154]*exp(( - STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])));
ALGEBRAIC[25] = ( (( CONSTANTS[33]*CONSTANTS[152]*CONSTANTS[32]*ALGEBRAIC[24])/(1.00000+pow(( CONSTANTS[153]*CONSTANTS[30])/STATES[2], CONSTANTS[28])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[31]);
ALGEBRAIC[26] = ( (( CONSTANTS[34]*CONSTANTS[152]*CONSTANTS[32]*ALGEBRAIC[24])/(1.00000+pow(( CONSTANTS[153]*CONSTANTS[30])/STATES[3], CONSTANTS[28])))*CONSTANTS[4])/(CONSTANTS[4]+CONSTANTS[31]);
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+3.00000, 10);
ALGEBRAIC[33] =  0.0700000*(0.0570000+0.190000/(1.00000+exp(- 7.20000+ALGEBRAIC[31]/0.600000)));
ALGEBRAIC[37] =  (( CONSTANTS[12]*CONSTANTS[13])/CONSTANTS[14])*log((CONSTANTS[4]+ CONSTANTS[37]*CONSTANTS[5])/(CONSTANTS[8]+ CONSTANTS[37]*STATES[1]));
ALGEBRAIC[38] =  CONSTANTS[35]*ALGEBRAIC[33]*pow(STATES[11], 2.00000)*(STATES[0] - ALGEBRAIC[37]);
ALGEBRAIC[32] = - arbitrary_log(STATES[6]/1.00000+3.00000, 10);
ALGEBRAIC[34] =  0.0700000*(0.0570000+0.190000/(1.00000+exp(- 7.20000+ALGEBRAIC[32]/0.600000)));
ALGEBRAIC[39] =  CONSTANTS[36]*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] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[44] = 9.00000/(1.00000+exp((STATES[0]+3.00000)/15.0000))+0.500000;
ALGEBRAIC[45] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[46] = 3000.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+30.0000;
ALGEBRAIC[47] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[48] = 2800.00/(1.00000+exp((STATES[0]+60.0000)/10.0000))+220.000;
ALGEBRAIC[49] = ALGEBRAIC[47];
ALGEBRAIC[50] =  CONSTANTS[39]*STATES[16]*STATES[15]*(STATES[0] - CONSTANTS[150]);
ALGEBRAIC[51] = 1.00000/(1.00000+exp(- (STATES[0]+3.00000)/15.0000));
ALGEBRAIC[52] =  3.50000*exp(- pow(STATES[0]/30.0000, 2.00000))+1.50000;
ALGEBRAIC[53] = 1.00000/(1.00000+exp((STATES[0]+33.5000)/10.0000));
ALGEBRAIC[54] = 20.0000/(1.00000+exp((STATES[0]+33.5000)/10.0000))+20.0000;
ALGEBRAIC[57] = ( CONSTANTS[40]*(STATES[0] - CONSTANTS[150]))/(1.00000+exp(7.48800 - STATES[0]/5.98000));
ALGEBRAIC[58] =  CONSTANTS[41]*(STATES[0] - CONSTANTS[151])*(CONSTANTS[43]/(1.00000+CONSTANTS[42]/STATES[5])+CONSTANTS[44]/(1.00000+CONSTANTS[42]/STATES[6]));
ALGEBRAIC[59] =  CONSTANTS[45]*(STATES[0] - CONSTANTS[151]);
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[66]/STATES[5], 3.00000));
ALGEBRAIC[67] = ( exp(( CONSTANTS[68]*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13]))*pow(STATES[2], CONSTANTS[69])*CONSTANTS[6] -  exp(( (CONSTANTS[68] - 1.00000)*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13]))*pow(CONSTANTS[5], CONSTANTS[69])*STATES[5])/(1.00000+ CONSTANTS[67]*exp(( (CONSTANTS[68] - 1.00000)*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])));
ALGEBRAIC[71] = ( CONSTANTS[59]*CONSTANTS[58]*ALGEBRAIC[70]*CONSTANTS[158]*ALGEBRAIC[67])/( CONSTANTS[65]*pow(CONSTANTS[5], CONSTANTS[69])*(1.00000+pow(STATES[2]/CONSTANTS[62], CONSTANTS[69]))+ pow(CONSTANTS[64], CONSTANTS[69])*STATES[5]*(1.00000+STATES[5]/CONSTANTS[65])+ CONSTANTS[63]*pow(STATES[2], CONSTANTS[69])+ pow(STATES[2], CONSTANTS[69])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[69])*STATES[5]);
ALGEBRAIC[69] = 1.00000/(1.00000+pow(CONSTANTS[66]/STATES[6], 3.00000));
ALGEBRAIC[68] = ( exp(( CONSTANTS[68]*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13]))*pow(STATES[3], CONSTANTS[69])*CONSTANTS[6] -  exp(( (CONSTANTS[68] - 1.00000)*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13]))*pow(CONSTANTS[5], CONSTANTS[69])*STATES[6])/(1.00000+ CONSTANTS[67]*exp(( (CONSTANTS[68] - 1.00000)*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])));
ALGEBRAIC[72] = ( CONSTANTS[60]*CONSTANTS[58]*ALGEBRAIC[69]*CONSTANTS[158]*ALGEBRAIC[68])/( CONSTANTS[65]*pow(CONSTANTS[5], CONSTANTS[69])*(1.00000+pow(STATES[3]/CONSTANTS[62], CONSTANTS[69]))+ pow(CONSTANTS[64], CONSTANTS[69])*STATES[6]*(1.00000+STATES[6]/CONSTANTS[65])+ CONSTANTS[63]*pow(STATES[3], CONSTANTS[69])+ pow(STATES[3], CONSTANTS[69])*CONSTANTS[6]+ pow(CONSTANTS[5], CONSTANTS[69])*STATES[6]);
ALGEBRAIC[73] = ALGEBRAIC[71]+ALGEBRAIC[72];
ALGEBRAIC[75] = ( CONSTANTS[159]*CONSTANTS[76]*CONSTANTS[72])/(1.00000+pow(CONSTANTS[74]/STATES[6], CONSTANTS[75]));
ALGEBRAIC[74] = ( CONSTANTS[159]*CONSTANTS[76]*CONSTANTS[71])/(1.00000+pow(CONSTANTS[74]/STATES[5], CONSTANTS[75]));
ALGEBRAIC[76] = ALGEBRAIC[74]+ALGEBRAIC[75];
ALGEBRAIC[3] =  (( CONSTANTS[12]*CONSTANTS[13])/( 2.00000*CONSTANTS[14]))*log(CONSTANTS[6]/STATES[5]);
ALGEBRAIC[77] =  CONSTANTS[77]*CONSTANTS[78]*(STATES[0] - ALGEBRAIC[3]);
ALGEBRAIC[4] =  (( CONSTANTS[12]*CONSTANTS[13])/( 2.00000*CONSTANTS[14]))*log(CONSTANTS[6]/STATES[6]);
ALGEBRAIC[78] =  CONSTANTS[77]*CONSTANTS[79]*(STATES[0] - ALGEBRAIC[4]);
ALGEBRAIC[79] = ALGEBRAIC[78]+ALGEBRAIC[77];
ALGEBRAIC[80] = CONSTANTS[80] - (CONSTANTS[80] - CONSTANTS[81])/(1.00000+pow(CONSTANTS[82]/STATES[24], CONSTANTS[88]));
ALGEBRAIC[81] = CONSTANTS[84]/ALGEBRAIC[80];
ALGEBRAIC[82] =  CONSTANTS[86]*ALGEBRAIC[80];
ALGEBRAIC[83] = ((1.00000 - STATES[21]) - STATES[23]) - STATES[22];
ALGEBRAIC[84] =  CONSTANTS[83]*STATES[23]*(STATES[24] - STATES[5]);
ALGEBRAIC[85] =  CONSTANTS[89]*(STATES[24] - STATES[5]);
ALGEBRAIC[86] = ( (( CONSTANTS[160]*CONSTANTS[90]*CONSTANTS[174])/CONSTANTS[171])*(pow(STATES[4]/CONSTANTS[92], CONSTANTS[94]) - pow(STATES[24]/CONSTANTS[93], CONSTANTS[94])))/(1.00000+pow(STATES[4]/CONSTANTS[92], CONSTANTS[94])+pow(STATES[24]/CONSTANTS[93], CONSTANTS[94]));
ALGEBRAIC[87] =  (STATES[2] - STATES[3])*CONSTANTS[161];
ALGEBRAIC[88] =  (STATES[3] - STATES[1])*CONSTANTS[162];
ALGEBRAIC[89] =  (STATES[5] - STATES[6])*CONSTANTS[163];
ALGEBRAIC[90] =  (STATES[6] - STATES[4])*CONSTANTS[164];
ALGEBRAIC[91] =  CONSTANTS[105]*STATES[2]*(CONSTANTS[104] - STATES[26]) -  CONSTANTS[106]*STATES[26];
ALGEBRAIC[92] =  CONSTANTS[105]*STATES[3]*(CONSTANTS[103] - STATES[25]) -  CONSTANTS[106]*STATES[25];
ALGEBRAIC[93] =  CONSTANTS[113]*STATES[24]*(( CONSTANTS[111]*CONSTANTS[174])/CONSTANTS[171] - STATES[31]) -  CONSTANTS[116]*STATES[31];
ALGEBRAIC[94] =  CONSTANTS[112]*STATES[6]*(( CONSTANTS[107]*CONSTANTS[174])/CONSTANTS[172] - STATES[27]) -  CONSTANTS[114]*STATES[27];
ALGEBRAIC[95] =  CONSTANTS[112]*STATES[5]*(( CONSTANTS[108]*CONSTANTS[174])/CONSTANTS[173] - STATES[28]) -  CONSTANTS[114]*STATES[28];
ALGEBRAIC[96] =  CONSTANTS[112]*STATES[6]*(( CONSTANTS[109]*CONSTANTS[174])/CONSTANTS[172] - STATES[29]) -  CONSTANTS[115]*STATES[29];
ALGEBRAIC[97] =  CONSTANTS[112]*STATES[5]*(( CONSTANTS[110]*CONSTANTS[174])/CONSTANTS[173] - STATES[30]) -  CONSTANTS[115]*STATES[30];
ALGEBRAIC[98] = ALGEBRAIC[95]+ALGEBRAIC[97];
ALGEBRAIC[99] = ALGEBRAIC[94]+ALGEBRAIC[96];
ALGEBRAIC[100] =  CONSTANTS[124]*STATES[4]*(CONSTANTS[117] - STATES[32]) -  CONSTANTS[131]*STATES[32];
ALGEBRAIC[101] =  CONSTANTS[125]*STATES[4]*(CONSTANTS[118] - (STATES[33]+STATES[34])) -  CONSTANTS[132]*STATES[33];
ALGEBRAIC[102] =  CONSTANTS[126]*CONSTANTS[9]*(CONSTANTS[119] - (STATES[33]+STATES[34])) -  CONSTANTS[133]*STATES[34];
ALGEBRAIC[103] =  CONSTANTS[127]*STATES[4]*(CONSTANTS[120] - STATES[35]) -  CONSTANTS[134]*STATES[35];
ALGEBRAIC[104] =  CONSTANTS[128]*STATES[4]*(CONSTANTS[121] - (STATES[36]+STATES[37])) -  CONSTANTS[135]*STATES[36];
ALGEBRAIC[105] =  CONSTANTS[129]*CONSTANTS[9]*(CONSTANTS[122] - (STATES[36]+STATES[37])) -  CONSTANTS[136]*STATES[37];
ALGEBRAIC[106] =  CONSTANTS[130]*STATES[4]*(CONSTANTS[123] - STATES[38]) -  CONSTANTS[137]*STATES[38];
ALGEBRAIC[107] = ALGEBRAIC[100]+ALGEBRAIC[101]+ALGEBRAIC[102]+ALGEBRAIC[103]+ALGEBRAIC[104]+ALGEBRAIC[105]+ALGEBRAIC[106];
ALGEBRAIC[108] = STATES[39]+( STATES[41]*CONSTANTS[173])/CONSTANTS[174]+( STATES[40]*CONSTANTS[172])/CONSTANTS[174];
ALGEBRAIC[110] =  CONSTANTS[146]*(CONSTANTS[138] - ALGEBRAIC[108])*STATES[4]*(CONSTANTS[140] - STATES[39]) -  CONSTANTS[148]*STATES[39];
ALGEBRAIC[111] =  CONSTANTS[146]*(CONSTANTS[138] - ALGEBRAIC[108])*STATES[5]*(( CONSTANTS[142]*CONSTANTS[174])/CONSTANTS[173] - STATES[41]) -  CONSTANTS[148]*STATES[41];
ALGEBRAIC[112] =  CONSTANTS[146]*(CONSTANTS[138] - ALGEBRAIC[108])*STATES[6]*(( CONSTANTS[141]*CONSTANTS[174])/CONSTANTS[172] - STATES[40]) -  CONSTANTS[148]*STATES[40];
ALGEBRAIC[109] = STATES[42]+( STATES[44]*CONSTANTS[173])/CONSTANTS[174]+( STATES[43]*CONSTANTS[172])/CONSTANTS[174];
ALGEBRAIC[113] =  CONSTANTS[147]*(CONSTANTS[139] - ALGEBRAIC[109])*STATES[4]*(CONSTANTS[143] - STATES[42]) -  CONSTANTS[149]*STATES[42];
ALGEBRAIC[114] =  CONSTANTS[147]*(CONSTANTS[139] - ALGEBRAIC[109])*STATES[5]*(( CONSTANTS[145]*CONSTANTS[174])/CONSTANTS[173] - STATES[44]) -  CONSTANTS[149]*STATES[44];
ALGEBRAIC[115] =  CONSTANTS[147]*(CONSTANTS[139] - ALGEBRAIC[109])*STATES[6]*(( CONSTANTS[144]*CONSTANTS[174])/CONSTANTS[172] - STATES[43]) -  CONSTANTS[149]*STATES[43];
ALGEBRAIC[30] = 1.00000/(1.00000+exp((33.0000+STATES[0])/22.4000));
ALGEBRAIC[116] =  CONSTANTS[155]*STATES[10]*ALGEBRAIC[30]*(STATES[0] - CONSTANTS[150]);
ALGEBRAIC[117] =  CONSTANTS[38]*STATES[13]*(STATES[12]+ 0.500000*ALGEBRAIC[49])*(STATES[0] - CONSTANTS[150]);
ALGEBRAIC[66] = 1.00000 - STATES[20];
ALGEBRAIC[60] = ( STATES[17]*STATES[18]*CONSTANTS[157]*STATES[0]*pow(CONSTANTS[14], 2.00000))/( CONSTANTS[12]*CONSTANTS[13]);
ALGEBRAIC[120] = ( ALGEBRAIC[60]*ALGEBRAIC[66]*CONSTANTS[49]*CONSTANTS[47]*( CONSTANTS[53]*STATES[2]*exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) -  CONSTANTS[54]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) - 1.00000);
ALGEBRAIC[65] = 1.00000 - STATES[19];
ALGEBRAIC[122] = ( ALGEBRAIC[60]*ALGEBRAIC[65]*CONSTANTS[50]*CONSTANTS[47]*( CONSTANTS[53]*STATES[3]*exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) -  CONSTANTS[54]*CONSTANTS[5]))/(exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) - 1.00000);
ALGEBRAIC[121] = ( ALGEBRAIC[60]*ALGEBRAIC[65]*CONSTANTS[50]*CONSTANTS[46]*4.00000*( CONSTANTS[51]*STATES[6]*exp(( 2.00000*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) -  CONSTANTS[52]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) - 1.00000);
ALGEBRAIC[119] = ( ALGEBRAIC[60]*ALGEBRAIC[66]*CONSTANTS[49]*CONSTANTS[46]*4.00000*( CONSTANTS[51]*STATES[5]*exp(( 2.00000*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) -  CONSTANTS[52]*CONSTANTS[6]))/(exp(( 2.00000*STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) - 1.00000);
ALGEBRAIC[123] = ( ALGEBRAIC[60]*( ALGEBRAIC[65]*CONSTANTS[50]+ ALGEBRAIC[66]*CONSTANTS[49])*CONSTANTS[48]*( CONSTANTS[55]*CONSTANTS[8]*exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) -  CONSTANTS[56]*CONSTANTS[4]))/(exp(( STATES[0]*CONSTANTS[14])/( CONSTANTS[12]*CONSTANTS[13])) - 1.00000);
ALGEBRAIC[124] = ALGEBRAIC[121]+ALGEBRAIC[119]+ALGEBRAIC[122]+ALGEBRAIC[120]+ALGEBRAIC[123];
ALGEBRAIC[125] = (ALGEBRAIC[119] -  2.00000*ALGEBRAIC[71])+ALGEBRAIC[77]+ALGEBRAIC[74];
ALGEBRAIC[126] = (ALGEBRAIC[121] -  2.00000*ALGEBRAIC[72])+ALGEBRAIC[78]+ALGEBRAIC[75];
ALGEBRAIC[55] = 1.02000/(1.00000+exp( 0.238500*(STATES[0] - (CONSTANTS[150]+59.2150))));
ALGEBRAIC[56] = ( 0.491240*exp( 0.0803200*((STATES[0] - CONSTANTS[150])+5.47600))+ 1.00000*exp( 0.0617500*(STATES[0] - (CONSTANTS[150]+594.310))))/(1.00000+exp( - 0.514300*((STATES[0] - CONSTANTS[150])+4.75300)));
ALGEBRAIC[118] = ALGEBRAIC[55]/(ALGEBRAIC[55]+ALGEBRAIC[56]);
ALGEBRAIC[127] =  CONSTANTS[156]*ALGEBRAIC[118]*(STATES[0] - CONSTANTS[150]);
}
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;
}