Generated Code

The following is c code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 145 entries in the algebraic variable array.
   There are a total of 73 entries in each of the rate and state variable arrays.
   There are a total of 188 entries in the constant variable array.
 */
/*
 * VOI is time in component Environment (second).
 * CONSTANTS[0] is F in component Parameters (sec_A_per_mol).
 * CONSTANTS[1] is vol_cyt in component Parameters (cubic_Meter).
 * CONSTANTS[2] is vol_md in component Parameters (cubic_Meter).
 * CONSTANTS[3] is vol_SR in component Parameters (cubic_Meter).
 * CONSTANTS[4] is vol_cyt_Ca in component Parameters (cubic_Meter).
 * CONSTANTS[5] is K_mr in component Parameters (Molar).
 * CONSTANTS[6] is n_H in component Parameters (dimensionless).
 * CONSTANTS[7] is v_RyR in component Parameters (per_sec).
 * CONSTANTS[8] is K_a in component Parameters (Molar).
 * CONSTANTS[9] is K_b in component Parameters (Molar).
 * CONSTANTS[10] is K_c in component Parameters (Molar).
 * CONSTANTS[11] is K_c_rate in component Parameters (per_sec).
 * CONSTANTS[12] is v_IP3R in component Parameters (per_sec).
 * CONSTANTS[13] is v_IP3 in component Parameters (per_sec).
 * CONSTANTS[14] is conc_IP3_ref in component Parameters (Molar).
 * CONSTANTS[15] is alpha_4 in component Parameters (dimensionless).
 * CONSTANTS[16] is k4 in component Parameters (Molar).
 * CONSTANTS[17] is I_r in component Parameters (per_sec).
 * CONSTANTS[18] is d1 in component Parameters (Molar).
 * CONSTANTS[19] is a4 in component Parameters (per_M_sec).
 * CONSTANTS[20] is d4 in component Parameters (Molar).
 * CONSTANTS[21] is a5 in component Parameters (per_M_sec).
 * CONSTANTS[22] is d5 in component Parameters (Molar).
 * CONSTANTS[23] is G_CaSOC_max in component Parameters (siemens2).
 * CONSTANTS[24] is K_SOC in component Parameters (Molar).
 * CONSTANTS[25] is delta_CT in component Parameters (volt).
 * CONSTANTS[26] is J_NaCl_max in component Parameters (mol_per_sec).
 * CONSTANTS[27] is J_KCl_max in component Parameters (mol_per_sec).
 * CONSTANTS[28] is J_NKCC_max in component Parameters (mol_per_sec).
 * CONSTANTS[29] is K_NKCC_Na in component Parameters (Molar).
 * CONSTANTS[30] is K_NKCC_K in component Parameters (Molar).
 * CONSTANTS[31] is K_NKCC_Cl1 in component Parameters (Molar).
 * CONSTANTS[32] is K_NKCC_Cl2 in component Parameters (Molar).
 * CONSTANTS[33] is k_on in component Parameters (per_M_sec).
 * CONSTANTS[34] is k_off in component Parameters (per_sec).
 * CONSTANTS[35] is alpha1 in component Parameters (per_sec).
 * CONSTANTS[36] is alpha2 in component Parameters (per_sec).
 * CONSTANTS[37] is alpha3 in component Parameters (per_sec).
 * CONSTANTS[38] is G_ClCa_max in component Parameters (siemens2).
 * CONSTANTS[39] is G_K_b in component Parameters (siemens2).
 * CONSTANTS[40] is G_Na_b in component Parameters (siemens2).
 * CONSTANTS[41] is G_Ca_b in component Parameters (siemens2).
 * CONSTANTS[42] is G_Cl_b in component Parameters (siemens2).
 * CONSTANTS[43] is G_Kir_max in component Parameters (siemens2).
 * CONSTANTS[44] is conc_K_ref in component Parameters (Molar).
 * CONSTANTS[45] is G_Kv_max in component Parameters (siemens2).
 * CONSTANTS[46] is n_ATP in component Parameters (dimensionless).
 * CONSTANTS[47] is G_KATP_max in component Parameters (siemens2).
 * CONSTANTS[48] is G_KCa_max in component Parameters (siemens2).
 * CONSTANTS[49] is Tau_PF in component Parameters (second).
 * CONSTANTS[50] is Tau_PS in component Parameters (second).
 * CONSTANTS[51] is K_m_K in component Parameters (Molar).
 * CONSTANTS[52] is K_m_Na_alpha1 in component Parameters (Molar).
 * CONSTANTS[53] is K_m_Na_alpha2 in component Parameters (Molar).
 * CONSTANTS[54] is I_NaCa_max in component Parameters (ampere).
 * CONSTANTS[55] is K_m_Cai in component Parameters (Molar).
 * CONSTANTS[56] is K_m_Cao in component Parameters (Molar).
 * CONSTANTS[57] is K_m_Nai in component Parameters (Molar).
 * CONSTANTS[58] is K_m_Nao in component Parameters (Molar).
 * CONSTANTS[59] is k_sat in component Parameters (dimensionless).
 * CONSTANTS[60] is gamma in component Parameters (dimensionless).
 * CONSTANTS[61] is K_mCa_act in component Parameters (Molar).
 * CONSTANTS[62] is G_VONa_max in component Parameters (siemens2).
 * CONSTANTS[63] is Tau_m in component Parameters (second).
 * CONSTANTS[64] is Tau_h in component Parameters (second).
 * CONSTANTS[65] is K_m_CaP in component Parameters (Molar).
 * CONSTANTS[66] is G_CaL_max in component Parameters (siemens2).
 * CONSTANTS[67] is conc_Bf_tot in component Parameters (Molar).
 * CONSTANTS[68] is k_Bf_on in component Parameters (per_M_sec).
 * CONSTANTS[69] is k_Bf_off in component Parameters (per_sec).
 * CONSTANTS[70] is conc_Calseq_SR_tot in component Parameters (Molar).
 * CONSTANTS[71] is k_Calseq_on in component Parameters (per_M_sec).
 * CONSTANTS[72] is k_Calseq_off in component Parameters (per_sec).
 * CONSTANTS[73] is f_cyt in component Parameters (dimensionless).
 * CONSTANTS[74] is f_md in component Parameters (dimensionless).
 * CONSTANTS[75] is R in component Parameters (J_per_mol_K).
 * CONSTANTS[76] is T in component Parameters (kelvin).
 * CONSTANTS[77] is Area in component Parameters (sq_meter).
 * CONSTANTS[78] is L in component Parameters (meter).
 * CONSTANTS[79] is hcon in component Parameters (dimensionless).
 * CONSTANTS[80] is D_Ca in component Parameters (sq_m_per_sec).
 * CONSTANTS[176] is D_K in component Parameters (sq_m_per_sec).
 * CONSTANTS[177] is D_Na in component Parameters (sq_m_per_sec).
 * CONSTANTS[81] is D_Cl in component Parameters (sq_m_per_sec).
 * STATES[0] is conc_K_cyt in component Potassium_Conc_cyt (Molar).
 * ALGEBRAIC[37] is I_K_cyt_b in component Background_Currents (ampere).
 * ALGEBRAIC[87] is I_K_cyt_ir in component K_Inward_Rectifier_Current (ampere).
 * ALGEBRAIC[95] is I_K_cyt_ATP in component K_ATP_Current (ampere).
 * ALGEBRAIC[92] is I_K_cyt_v in component K_Delayed_Rectifier_Current (ampere).
 * ALGEBRAIC[98] is I_K_cyt_Ca in component K_Ca_Current (ampere).
 * ALGEBRAIC[140] is I_NaK_cyt_alpha1 in component NaK_alpha_Current (ampere).
 * ALGEBRAIC[77] is J_cyt_KCl in component Cl_flux_KCl (mol_per_sec).
 * ALGEBRAIC[79] is J_cyt_NKCC in component Cl_flux_NKCC (mol_per_sec).
 * ALGEBRAIC[115] is J_Kdiff in component Md_Cyt_Flux_K (mol_per_sec).
 * STATES[1] is conc_K_md in component Potassium_Conc_md (Molar).
 * ALGEBRAIC[41] is I_K_md_b in component Background_Currents (ampere).
 * ALGEBRAIC[90] is I_K_md_ir in component K_Inward_Rectifier_Current (ampere).
 * ALGEBRAIC[96] is I_K_md_ATP in component K_ATP_Current (ampere).
 * ALGEBRAIC[94] is I_K_md_v in component K_Delayed_Rectifier_Current (ampere).
 * ALGEBRAIC[100] is I_K_md_Ca in component K_Ca_Current (ampere).
 * ALGEBRAIC[141] is I_NaK_md_alpha2 in component NaK_alpha_Current (ampere).
 * ALGEBRAIC[78] is J_md_KCl in component Cl_flux_KCl (mol_per_sec).
 * ALGEBRAIC[80] is J_md_NKCC in component Cl_flux_NKCC (mol_per_sec).
 * STATES[2] is conc_Na_cyt in component Sodium_Conc_cyt (Molar).
 * ALGEBRAIC[43] is I_Na_cyt_b in component Background_Currents (ampere).
 * ALGEBRAIC[108] is I_VONa_cyt in component VONa_Current (ampere).
 * ALGEBRAIC[73] is I_Na_cyt_SOC in component SOC_Current_Na (ampere).
 * ALGEBRAIC[75] is J_cyt_NaCl in component Cl_flux_NaCl (mol_per_sec).
 * ALGEBRAIC[117] is J_Nadiff in component Md_Cyt_Flux_Na (mol_per_sec).
 * STATES[3] is conc_Na_md in component Sodium_Conc_md (Molar).
 * ALGEBRAIC[45] is I_Na_md_b in component Background_Currents (ampere).
 * ALGEBRAIC[109] is I_VONa_md in component VONa_Current (ampere).
 * ALGEBRAIC[74] is I_Na_md_SOC in component SOC_Current_Na (ampere).
 * ALGEBRAIC[76] is J_md_NaCl in component Cl_flux_NaCl (mol_per_sec).
 * ALGEBRAIC[107] is I_NaCa_md in component NCX_Current (ampere).
 * STATES[4] is conc_Cl_cyt in component Chloride_Conc_cyt (Molar).
 * ALGEBRAIC[47] is I_Cl_cyt_b in component Background_Currents (ampere).
 * ALGEBRAIC[81] is I_Cl_cyt_Ca in component ClCa_Current (ampere).
 * ALGEBRAIC[121] is J_Cldiff in component Md_Cyt_Flux_Cl (mol_per_sec).
 * STATES[5] is conc_Cl_md in component Chloride_Conc_md (Molar).
 * ALGEBRAIC[49] is I_Cl_md_b in component Background_Currents (ampere).
 * ALGEBRAIC[82] is I_Cl_md_Ca in component ClCa_Current (ampere).
 * STATES[6] is conc_Ca_cyt in component Calcium_Conc_cyt (Molar).
 * ALGEBRAIC[51] is I_Ca_cyt_b in component Background_Currents (ampere).
 * ALGEBRAIC[126] is I_Ca_cyt_P in component Ca_Pump_Current (ampere).
 * ALGEBRAIC[71] is I_Ca_cyt_SOC in component SOC_Current_Ca (ampere).
 * ALGEBRAIC[111] is I_Ca_cyt_L in component CaL_Current (ampere).
 * ALGEBRAIC[131] is I_cyt_SERCa_IP3R in component SERCA_Currents_IP3R (ampere).
 * ALGEBRAIC[55] is I_cyt_RyR in component RyR_Currents (ampere).
 * ALGEBRAIC[119] is J_Cadiff in component Md_Cyt_Flux_Ca (mol_per_sec).
 * ALGEBRAIC[63] is I_cyt_IP3R in component IP3R_Currents (ampere).
 * STATES[7] is conc_CaMN__ in component MLCK_Activation_CaM (Molar).
 * STATES[8] is conc_BfCa_cyt in component Bf_Kinetics (Molar).
 * ALGEBRAIC[133] is I_cyt_SERCa_RyR in component SERCA_Currents_RyR (ampere).
 * STATES[9] is conc_CaM_C_ in component MLCK_Activation_CaM (Molar).
 * STATES[10] is conc_CaM_CM in component MLCK_Activation_CaM (Molar).
 * STATES[11] is conc_CaMNCM in component MLCK_Activation_CaM (Molar).
 * STATES[12] is conc_CaM___ in component MLCK_Activation_CaM (Molar).
 * STATES[13] is conc_BfCa_md in component Bf_Kinetics (Molar).
 * STATES[14] is conc_Ca_md in component Calcium_Conc_md (Molar).
 * ALGEBRAIC[53] is I_Ca_md_b in component Background_Currents (ampere).
 * ALGEBRAIC[127] is I_Ca_md_P in component Ca_Pump_Current (ampere).
 * ALGEBRAIC[72] is I_Ca_md_SOC in component SOC_Current_Ca (ampere).
 * ALGEBRAIC[113] is I_Ca_md_L in component CaL_Current (ampere).
 * ALGEBRAIC[134] is I_md_SERCa_RyR in component SERCA_Currents_RyR (ampere).
 * ALGEBRAIC[57] is I_md_RyR in component RyR_Currents (ampere).
 * ALGEBRAIC[67] is I_md_IP3R in component IP3R_Currents (ampere).
 * ALGEBRAIC[132] is I_md_SERCa_IP3R in component SERCA_Currents_IP3R (ampere).
 * STATES[15] is conc_CaMN__ in component MLCK_Activation_CaM_md (Molar).
 * STATES[16] is conc_CaM_C_ in component MLCK_Activation_CaM_md (Molar).
 * STATES[17] is conc_CaM_CM in component MLCK_Activation_CaM_md (Molar).
 * STATES[18] is conc_CaMNCM in component MLCK_Activation_CaM_md (Molar).
 * STATES[19] is conc_Ca_IP3R in component Calcium_Conc_SR (Molar).
 * STATES[20] is conc_Ca_RyR in component Calcium_Conc_SR (Molar).
 * STATES[21] is conc_CalseqCa_IP3R in component Calseq_Kinetics (Molar).
 * STATES[22] is conc_CalseqCa_RyR in component Calseq_Kinetics (Molar).
 * STATES[23] is V_m_cyt in component Membrane_Voltage (volt).
 * STATES[24] is V_m_md in component Membrane_Voltage (volt).
 * ALGEBRAIC[34] is E_K_cyt in component Nernst_Potentials (volt).
 * ALGEBRAIC[39] is E_K_md in component Nernst_Potentials (volt).
 * ALGEBRAIC[42] is E_Na_cyt in component Nernst_Potentials (volt).
 * ALGEBRAIC[44] is E_Na_md in component Nernst_Potentials (volt).
 * ALGEBRAIC[46] is E_Cl_cyt in component Nernst_Potentials (volt).
 * ALGEBRAIC[48] is E_Cl_md in component Nernst_Potentials (volt).
 * ALGEBRAIC[50] is E_Ca_cyt in component Nernst_Potentials (volt).
 * ALGEBRAIC[52] is E_Ca_md in component Nernst_Potentials (volt).
 * CONSTANTS[82] is conc_K_out in component Nernst_Potentials (Molar).
 * CONSTANTS[83] is conc_Na_out in component Nernst_Potentials (Molar).
 * CONSTANTS[84] is conc_Cl_out in component Nernst_Potentials (Molar).
 * CONSTANTS[85] is conc_Ca_out in component Nernst_Potentials (Molar).
 * CONSTANTS[86] is z_K in component Nernst_Potentials (dimensionless).
 * CONSTANTS[87] is z_Na in component Nernst_Potentials (dimensionless).
 * CONSTANTS[88] is z_Cl in component Nernst_Potentials (dimensionless).
 * CONSTANTS[89] is z_Ca in component Nernst_Potentials (dimensionless).
 * CONSTANTS[178] is RTF in component Nernst_Potentials (volt).
 * ALGEBRAIC[130] is I_SERCA_max in component ROS_SERCA_Interaction (ampere).
 * ALGEBRAIC[124] is K_mf in component SERCA_Activation (Molar).
 * ALGEBRAIC[54] is P_cyt_RyR in component RyR_Currents (dimensionless).
 * ALGEBRAIC[56] is P_md_RyR in component RyR_Currents (dimensionless).
 * STATES[25] is w_cyt in component RyR_Currents (dimensionless).
 * STATES[26] is w_md in component RyR_Currents (dimensionless).
 * ALGEBRAIC[0] is w_inf_cyt in component RyR_Currents (dimensionless).
 * ALGEBRAIC[1] is w_inf_md in component RyR_Currents (dimensionless).
 * ALGEBRAIC[62] is x110_cyt in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[66] is x110_md in component IP3R_Binding_Sites (dimensionless).
 * STATES[27] is conc_IP3_cyt in component IP3R_Currents (Molar).
 * STATES[28] is conc_IP3_md in component IP3R_Currents (Molar).
 * STATES[29] is x000_cyt in component IP3R_Binding_Sites (dimensionless).
 * STATES[30] is x000_md in component IP3R_Binding_Sites (dimensionless).
 * STATES[31] is x001_cyt in component IP3R_Binding_Sites (dimensionless).
 * STATES[32] is x001_md in component IP3R_Binding_Sites (dimensionless).
 * STATES[33] is x010_cyt in component IP3R_Binding_Sites (dimensionless).
 * STATES[34] is x010_md in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[64] is x011_cyt in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[68] is x011_md in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[60] is x101_cyt in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[61] is x101_md in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[65] is x111_cyt in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[69] is x111_md in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[58] is x100_cyt in component IP3R_Binding_Sites (dimensionless).
 * ALGEBRAIC[59] is x100_md in component IP3R_Binding_Sites (dimensionless).
 * CONSTANTS[90] is d3 in component IP3R_Binding_Sites (Molar).
 * ALGEBRAIC[70] is conc_Ca_SR in component SOC_Current_Ca (Molar).
 * CONSTANTS[91] is z_Na in component SOC_Current_Na (dimensionless).
 * CONSTANTS[92] is z_Ca in component SOC_Current_Na (dimensionless).
 * CONSTANTS[93] is P_SOC_ratio in component SOC_Current_Na (dimensionless).
 * STATES[35] is y_C1_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[36] is y_C2_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[37] is y_C3_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[38] is y_O1_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[39] is y_O2_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[40] is y_O3_cyt in component Cl_Channels_cyt (dimensionless).
 * ALGEBRAIC[19] is Beta_cyt in component Cl_Channel_Rates (per_sec).
 * ALGEBRAIC[2] is y_C0_cyt in component Cl_Channels_cyt (dimensionless).
 * STATES[41] is y_C1_md in component Cl_Channels_md (dimensionless).
 * STATES[42] is y_C2_md in component Cl_Channels_md (dimensionless).
 * STATES[43] is y_C3_md in component Cl_Channels_md (dimensionless).
 * STATES[44] is y_O1_md in component Cl_Channels_md (dimensionless).
 * STATES[45] is y_O2_md in component Cl_Channels_md (dimensionless).
 * STATES[46] is y_O3_md in component Cl_Channels_md (dimensionless).
 * ALGEBRAIC[20] is Beta_md in component Cl_Channel_Rates (per_sec).
 * ALGEBRAIC[3] is y_C0_md in component Cl_Channels_md (dimensionless).
 * CONSTANTS[94] is V1 in component Cl_Channel_Rates (dimensionless).
 * CONSTANTS[95] is V2 in component Cl_Channel_Rates (per_V).
 * CONSTANTS[96] is Lambda_Beta in component Cl_Channel_Rates (per_sec).
 * ALGEBRAIC[86] is x_Kir_cyt in component K_Inward_Rectifier_Current (dimensionless).
 * ALGEBRAIC[89] is x_Kir_md in component K_Inward_Rectifier_Current (dimensionless).
 * ALGEBRAIC[83] is alpha_Kir_cyt in component K_ir_Rates (per_sec).
 * ALGEBRAIC[84] is alpha_Kir_md in component K_ir_Rates (per_sec).
 * ALGEBRAIC[85] is Beta_Kir_cyt in component K_ir_Rates (per_sec).
 * ALGEBRAIC[88] is Beta_Kir_md in component K_ir_Rates (per_sec).
 * ALGEBRAIC[91] is P_Kv_cyt in component Kv_Activations (dimensionless).
 * ALGEBRAIC[93] is P_Kv_md in component Kv_Activations (dimensionless).
 * STATES[47] is P1_cyt in component Kv_Activations (dimensionless).
 * STATES[48] is P1_md in component Kv_Activations (dimensionless).
 * STATES[49] is P2_cyt in component Kv_Activations (dimensionless).
 * STATES[50] is P2_md in component Kv_Activations (dimensionless).
 * ALGEBRAIC[4] is P_bar_Kv_cyt in component Kv_Activations (dimensionless).
 * ALGEBRAIC[5] is P_bar_Kv_md in component Kv_Activations (dimensionless).
 * ALGEBRAIC[21] is Tau_P1_cyt in component Kv_Time_Constants (second).
 * ALGEBRAIC[22] is Tau_P1_md in component Kv_Time_Constants (second).
 * ALGEBRAIC[23] is Tau_P2_cyt in component Kv_Time_Constants (second).
 * ALGEBRAIC[24] is Tau_P2_md in component Kv_Time_Constants (second).
 * ALGEBRAIC[97] is P_KCa_cyt in component KCa_Activations (dimensionless).
 * ALGEBRAIC[99] is P_KCa_md in component KCa_Activations (dimensionless).
 * STATES[51] is PF_cyt in component KCa_Activations (dimensionless).
 * STATES[52] is PF_md in component KCa_Activations (dimensionless).
 * STATES[53] is PS_cyt in component KCa_Activations (dimensionless).
 * STATES[54] is PS_md in component KCa_Activations (dimensionless).
 * ALGEBRAIC[25] is P_bar_KCa_cyt in component KCa_Activations (dimensionless).
 * ALGEBRAIC[26] is P_bar_KCa_md in component KCa_Activations (dimensionless).
 * ALGEBRAIC[6] is V_KCa_cyt in component cGMP_Ca_Interaction (volt).
 * ALGEBRAIC[7] is V_KCa_md in component cGMP_Ca_Interaction (volt).
 * ALGEBRAIC[138] is I_NaK_alpha1_max in component ROS_NaK_Interaction (ampere).
 * ALGEBRAIC[142] is I_NaK_alpha2_max in component NaK_alpha_Current (ampere).
 * ALGEBRAIC[101] is Psi_NaK_cyt in component NaK_alpha_Waveform (dimensionless).
 * ALGEBRAIC[102] is Psi_NaK_md in component NaK_alpha_Waveform (dimensionless).
 * CONSTANTS[179] is Sigma in component NaK_alpha_Waveform (dimensionless).
 * ALGEBRAIC[103] is K_a_NaCa in component NCX_Waveform (dimensionless).
 * ALGEBRAIC[104] is Psi_F in component NCX_Waveform (dimensionless).
 * ALGEBRAIC[105] is Psi_R in component NCX_Waveform (dimensionless).
 * ALGEBRAIC[106] is G in component NCX_Waveform (M_fourpow).
 * STATES[55] is m_VONa_cyt in component VONa_Channels (dimensionless).
 * STATES[56] is m_VONa_md in component VONa_Channels (dimensionless).
 * STATES[57] is h_VONa_cyt in component VONa_Channels (dimensionless).
 * STATES[58] is h_VONa_md in component VONa_Channels (dimensionless).
 * ALGEBRAIC[8] is m_bar_cyt in component VONa_Channels (dimensionless).
 * ALGEBRAIC[9] is m_bar_md in component VONa_Channels (dimensionless).
 * ALGEBRAIC[10] is h_bar_cyt in component VONa_Channels (dimensionless).
 * ALGEBRAIC[11] is h_bar_md in component VONa_Channels (dimensionless).
 * ALGEBRAIC[125] is I_CaP_max in component CaP_Current_Max (ampere).
 * STATES[59] is d_L_cyt in component CaL_Activations (dimensionless).
 * STATES[60] is d_L_md in component CaL_Activations (dimensionless).
 * ALGEBRAIC[110] is f_L_cyt in component CaL_Activations (dimensionless).
 * ALGEBRAIC[112] is f_L_md in component CaL_Activations (dimensionless).
 * STATES[61] is f_F_cyt in component CaL_Activations (dimensionless).
 * STATES[62] is f_F_md in component CaL_Activations (dimensionless).
 * ALGEBRAIC[12] is d_bar_L_cyt in component CaL_Activations (dimensionless).
 * ALGEBRAIC[13] is d_bar_L_md in component CaL_Activations (dimensionless).
 * ALGEBRAIC[14] is f_bar_F_cyt in component CaL_Activations (dimensionless).
 * ALGEBRAIC[15] is f_bar_F_md in component CaL_Activations (dimensionless).
 * ALGEBRAIC[27] is Tau_d_cyt in component CaL_Time_Constants (second).
 * ALGEBRAIC[28] is Tau_d_md in component CaL_Time_Constants (second).
 * ALGEBRAIC[29] is Tau_f_cyt in component CaL_Time_Constants (second).
 * ALGEBRAIC[30] is Tau_f_md in component CaL_Time_Constants (second).
 * ALGEBRAIC[114] is Xi_K in component Md_Cyt_Flux_K (dimensionless).
 * CONSTANTS[182] is P_K_diff in component Md_Cyt_Flux_K (m_per_sec).
 * CONSTANTS[97] is z_K in component Md_Cyt_Flux_K (dimensionless).
 * CONSTANTS[186] is Volsec in component Md_Cyt_Flux_K (cubic_m_per_sec).
 * CONSTANTS[98] is DiffArea in component Md_Cyt_Flux_K (sq_meter).
 * ALGEBRAIC[116] is Xi_Na in component Md_Cyt_Flux_Na (dimensionless).
 * CONSTANTS[183] is P_Na_diff in component Md_Cyt_Flux_Na (m_per_sec).
 * CONSTANTS[99] is z_Na in component Md_Cyt_Flux_Na (dimensionless).
 * CONSTANTS[187] is Volsec in component Md_Cyt_Flux_Na (cubic_m_per_sec).
 * CONSTANTS[100] is DiffArea in component Md_Cyt_Flux_Na (sq_meter).
 * ALGEBRAIC[118] is Xi_Ca in component Md_Cyt_Flux_Ca (dimensionless).
 * CONSTANTS[180] is P_Ca_diff in component Md_Cyt_Flux_Ca (m_per_sec).
 * CONSTANTS[101] is z_Ca in component Md_Cyt_Flux_Ca (dimensionless).
 * CONSTANTS[184] is Volsec in component Md_Cyt_Flux_Ca (cubic_m_per_sec).
 * CONSTANTS[102] is DiffArea in component Md_Cyt_Flux_Ca (sq_meter).
 * ALGEBRAIC[120] is Xi_Cl in component Md_Cyt_Flux_Cl (dimensionless).
 * CONSTANTS[181] is P_Cl_diff in component Md_Cyt_Flux_Cl (m_per_sec).
 * CONSTANTS[103] is z_Cl in component Md_Cyt_Flux_Cl (dimensionless).
 * CONSTANTS[185] is Volsec in component Md_Cyt_Flux_Cl (cubic_m_per_sec).
 * CONSTANTS[104] is DiffArea in component Md_Cyt_Flux_Cl (sq_meter).
 * ALGEBRAIC[143] is I_cyt_tot in component Membrane_Potential_Cyt (ampere).
 * ALGEBRAIC[135] is I_cyt_up in component Membrane_Potential_Cyt (ampere).
 * ALGEBRAIC[144] is I_md_tot in component Membrane_Potential_md (ampere).
 * CONSTANTS[105] is C_m in component Membrane_Voltage (farad2).
 * ALGEBRAIC[137] is I_md_up in component Membrane_Potential_md (ampere).
 * CONSTANTS[106] is k_NO_O2 in component Parameters_VR (per_M_sec).
 * CONSTANTS[107] is k_NO_cons in component Parameters_VR (per_sec).
 * CONSTANTS[108] is k_SOD_O2 in component Parameters_VR (per_M_sec).
 * CONSTANTS[109] is k_cat in component Parameters_VR (per_M_sec).
 * CONSTANTS[110] is conc_SOD in component Parameters_VR (Molar).
 * CONSTANTS[111] is conc_CAT in component Parameters_VR (Molar).
 * CONSTANTS[112] is J_NO in component Parameters_VR (mol_per_sq_m_sec).
 * CONSTANTS[113] is G_O2 in component Parameters_VR (M_per_sec).
 * CONSTANTS[114] is J_H2O2 in component Parameters_VR (mol_per_sq_m_sec).
 * CONSTANTS[115] is P_NO in component Parameters_VR (m_per_sec).
 * CONSTANTS[116] is P_O2 in component Parameters_VR (m_per_sec).
 * CONSTANTS[117] is P_H2O2 in component Parameters_VR (m_per_sec).
 * CONSTANTS[118] is k_sGC_for in component Parameters_VR (per_M_sec).
 * CONSTANTS[119] is k_sGC_back in component Parameters_VR (per_sec).
 * CONSTANTS[120] is k2_sGC_for in component Parameters_VR (per_sec).
 * CONSTANTS[121] is k3_sCG_for in component Parameters_VR (per_M_sec).
 * CONSTANTS[122] is K4_sGC_for in component Parameters_VR (per_M_sec).
 * CONSTANTS[123] is V_sGC_max in component Parameters_VR (M_per_sec).
 * CONSTANTS[124] is k_PDE in component Parameters_VR (per_sec).
 * CONSTANTS[125] is K_M_PDE in component Parameters_VR (Molar).
 * CONSTANTS[126] is K_MLCP in component Parameters_VR (Molar).
 * CONSTANTS[127] is K_SERCA in component Parameters_VR (Molar).
 * CONSTANTS[128] is K_PMCA in component Parameters_VR (Molar).
 * CONSTANTS[129] is K_KCa_cGMP in component Parameters_VR (Molar).
 * CONSTANTS[130] is V_KCa_cGMP in component Parameters_VR (volt).
 * CONSTANTS[131] is K_KCa_NO in component Parameters_VR (Molar).
 * CONSTANTS[132] is V_KCa_NO in component Parameters_VR (volt).
 * CONSTANTS[133] is V_Ca in component Parameters_VR (volt).
 * CONSTANTS[134] is V_B in component Parameters_VR (volt).
 * CONSTANTS[135] is k_KCa in component Parameters_VR (volt).
 * CONSTANTS[136] is K_SERCA_O2 in component Parameters_VR (Molar).
 * CONSTANTS[137] is K_SERCA_H2O2 in component Parameters_VR (Molar).
 * CONSTANTS[138] is K_NaK_O2 in component Parameters_VR (Molar).
 * CONSTANTS[139] is K_NaK_H202 in component Parameters_VR (Molar).
 * CONSTANTS[140] is K_MLCP_H2O2 in component Parameters_VR (Molar).
 * CONSTANTS[141] is alpha_MLCP in component Parameters_VR (dimensionless).
 * CONSTANTS[142] is k1_CAM_on in component Parameters_VR (per_sq_M_sec).
 * CONSTANTS[143] is k1_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[144] is k2_CAM_on in component Parameters_VR (per_sq_M_sec).
 * CONSTANTS[145] is k2_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[146] is k3_CAM_on in component Parameters_VR (per_sq_M_sec).
 * CONSTANTS[147] is k3_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[148] is k4_CAM_on in component Parameters_VR (per_sq_M_sec).
 * CONSTANTS[149] is k4_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[150] is k5_CAM_on in component Parameters_VR (per_M_sec).
 * CONSTANTS[151] is k5_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[152] is k6_CAM_on in component Parameters_VR (per_sq_M_sec).
 * CONSTANTS[153] is k6_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[154] is k7_CAM_on in component Parameters_VR (per_M_sec).
 * CONSTANTS[155] is k7_CAM_off in component Parameters_VR (per_sec).
 * CONSTANTS[156] is k_Myo_MLCK in component Parameters_VR (per_M_sec).
 * CONSTANTS[157] is k_Myo_MLCP in component Parameters_VR (per_sec).
 * CONSTANTS[158] is k3_Myo in component Parameters_VR (per_sec).
 * CONSTANTS[159] is k4_Myo in component Parameters_VR (per_sec).
 * CONSTANTS[160] is k7_Myo in component Parameters_VR (per_sec).
 * CONSTANTS[161] is conc_CaM_tot in component Parameters_VR (Molar).
 * CONSTANTS[162] is conc_MLCK_tot in component Parameters_VR (Molar).
 * CONSTANTS[163] is conc_Myo_tot in component Parameters_VR (Molar).
 * CONSTANTS[164] is K_mf_rest in component Parameters_VR (Molar).
 * CONSTANTS[165] is I_PMCA_rest_max in component Parameters_VR (ampere).
 * CONSTANTS[166] is I_SERCA_rest_max in component Parameters_VR (ampere).
 * CONSTANTS[167] is I_NaK_alpha1_rest_max in component Parameters_VR (ampere).
 * CONSTANTS[168] is I_NaK_alpha2_rest_max in component Parameters_VR (ampere).
 * ALGEBRAIC[122] is conc_CaMNC_ in component MLCK_Activation_CaM (Molar).
 * ALGEBRAIC[123] is conc_MLCK_free in component MLCK_Activation_CaM (Molar).
 * STATES[63] is conc_Myo in component MLCK_Phospho_Myosin (Molar).
 * STATES[64] is conc_MyoP in component MLCK_Phospho_Myosin (Molar).
 * STATES[65] is conc_AMyo in component MLCK_Phospho_Myosin (Molar).
 * ALGEBRAIC[16] is conc_AMyoP in component MLCK_Phospho_Myosin (Molar).
 * ALGEBRAIC[31] is k1_6_Myo in component MLCP_Rate_Constants (per_sec).
 * ALGEBRAIC[38] is k2_Myo in component MLCP_Rate_Constants (per_sec).
 * ALGEBRAIC[40] is k5_Myo in component MLCP_Rate_Constants (per_sec).
 * CONSTANTS[169] is K_M_cGMP in component MLCP_Rate_Constants (Molar).
 * STATES[66] is conc_cGMP in component cGMP_Kinetics (Molar).
 * ALGEBRAIC[35] is R_MLCP in component MLCP_Rate_Constants (dimensionless).
 * STATES[67] is conc_H2O2_cyt in component H2O2_Kinetics (Molar).
 * STATES[68] is conc_NO_cyt in component NO_Kinetics (Molar).
 * STATES[69] is conc_O2_cyt in component O2_Kinetics (Molar).
 * ALGEBRAIC[17] is zeta in component Zeta (dimensionless).
 * STATES[70] is conc_Eb in component sGC_Activation (dimensionless).
 * ALGEBRAIC[18] is conc_E6c in component sGC_Activation (dimensionless).
 * STATES[71] is conc_E5c in component sGC_Activation (dimensionless).
 * ALGEBRAIC[32] is k4_sGC_for in component sGC_Activation (per_sec).
 * CONSTANTS[170] is convert in component cGMP_Ca_Interaction (dimensionless).
 * CONSTANTS[171] is K_mod in component SERCA_Activation (dimensionless).
 * ALGEBRAIC[128] is theta_SERCA_O2 in component ROS_SERCA_Interaction (dimensionless).
 * ALGEBRAIC[129] is theta_SERCA_H2O2 in component ROS_SERCA_Interaction (dimensionless).
 * STATES[72] is conc_CaM___ in component MLCK_Activation_CaM_md (Molar).
 * ALGEBRAIC[136] is conc_CaMNC_ in component MLCK_Activation_CaM_md (Molar).
 * ALGEBRAIC[139] is conc_MLCK_free in component MLCK_Activation_CaM_md (Molar).
 * ALGEBRAIC[33] is f_p in component Contractile_Force (dimensionless).
 * ALGEBRAIC[36] is F_contract in component Contractile_Force (dimensionless).
 * CONSTANTS[172] is a in component Contractile_Force (dimensionless).
 * CONSTANTS[173] is b in component Contractile_Force (dimensionless).
 * CONSTANTS[174] is c in component Contractile_Force (dimensionless).
 * CONSTANTS[175] is d in component Contractile_Force (dimensionless).
 * RATES[0] is d/dt conc_K_cyt in component Potassium_Conc_cyt (Molar).
 * RATES[1] is d/dt conc_K_md in component Potassium_Conc_md (Molar).
 * RATES[2] is d/dt conc_Na_cyt in component Sodium_Conc_cyt (Molar).
 * RATES[3] is d/dt conc_Na_md in component Sodium_Conc_md (Molar).
 * RATES[4] is d/dt conc_Cl_cyt in component Chloride_Conc_cyt (Molar).
 * RATES[5] is d/dt conc_Cl_md in component Chloride_Conc_md (Molar).
 * RATES[6] is d/dt conc_Ca_cyt in component Calcium_Conc_cyt (Molar).
 * RATES[7] is d/dt conc_CaMN__ in component MLCK_Activation_CaM (Molar).
 * RATES[9] is d/dt conc_CaM_C_ in component MLCK_Activation_CaM (Molar).
 * RATES[10] is d/dt conc_CaM_CM in component MLCK_Activation_CaM (Molar).
 * RATES[8] is d/dt conc_BfCa_cyt in component Bf_Kinetics (Molar).
 * RATES[13] is d/dt conc_BfCa_md in component Bf_Kinetics (Molar).
 * RATES[14] is d/dt conc_Ca_md in component Calcium_Conc_md (Molar).
 * RATES[15] is d/dt conc_CaMN__ in component MLCK_Activation_CaM_md (Molar).
 * RATES[16] is d/dt conc_CaM_C_ in component MLCK_Activation_CaM_md (Molar).
 * RATES[17] is d/dt conc_CaM_CM in component MLCK_Activation_CaM_md (Molar).
 * RATES[19] is d/dt conc_Ca_IP3R in component Calcium_Conc_SR (Molar).
 * RATES[21] is d/dt conc_CalseqCa_IP3R in component Calseq_Kinetics (Molar).
 * RATES[20] is d/dt conc_Ca_RyR in component Calcium_Conc_SR (Molar).
 * RATES[22] is d/dt conc_CalseqCa_RyR in component Calseq_Kinetics (Molar).
 * RATES[25] is d/dt w_cyt in component RyR_Currents (dimensionless).
 * RATES[26] is d/dt w_md in component RyR_Currents (dimensionless).
 * RATES[27] is d/dt conc_IP3_cyt in component IP3R_Currents (Molar).
 * RATES[28] is d/dt conc_IP3_md in component IP3R_Currents (Molar).
 * RATES[29] is d/dt x000_cyt in component IP3R_Binding_Sites (dimensionless).
 * RATES[30] is d/dt x000_md in component IP3R_Binding_Sites (dimensionless).
 * RATES[31] is d/dt x001_cyt in component IP3R_Binding_Sites (dimensionless).
 * RATES[32] is d/dt x001_md in component IP3R_Binding_Sites (dimensionless).
 * RATES[33] is d/dt x010_cyt in component IP3R_Binding_Sites (dimensionless).
 * RATES[34] is d/dt x010_md in component IP3R_Binding_Sites (dimensionless).
 * RATES[35] is d/dt y_C1_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[36] is d/dt y_C2_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[37] is d/dt y_C3_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[38] is d/dt y_O1_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[39] is d/dt y_O2_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[40] is d/dt y_O3_cyt in component Cl_Channels_cyt (dimensionless).
 * RATES[41] is d/dt y_C1_md in component Cl_Channels_md (dimensionless).
 * RATES[42] is d/dt y_C2_md in component Cl_Channels_md (dimensionless).
 * RATES[43] is d/dt y_C3_md in component Cl_Channels_md (dimensionless).
 * RATES[44] is d/dt y_O1_md in component Cl_Channels_md (dimensionless).
 * RATES[45] is d/dt y_O2_md in component Cl_Channels_md (dimensionless).
 * RATES[46] is d/dt y_O3_md in component Cl_Channels_md (dimensionless).
 * RATES[47] is d/dt P1_cyt in component Kv_Activations (dimensionless).
 * RATES[48] is d/dt P1_md in component Kv_Activations (dimensionless).
 * RATES[49] is d/dt P2_cyt in component Kv_Activations (dimensionless).
 * RATES[50] is d/dt P2_md in component Kv_Activations (dimensionless).
 * RATES[51] is d/dt PF_cyt in component KCa_Activations (dimensionless).
 * RATES[52] is d/dt PF_md in component KCa_Activations (dimensionless).
 * RATES[53] is d/dt PS_cyt in component KCa_Activations (dimensionless).
 * RATES[54] is d/dt PS_md in component KCa_Activations (dimensionless).
 * RATES[55] is d/dt m_VONa_cyt in component VONa_Channels (dimensionless).
 * RATES[56] is d/dt m_VONa_md in component VONa_Channels (dimensionless).
 * RATES[57] is d/dt h_VONa_cyt in component VONa_Channels (dimensionless).
 * RATES[58] is d/dt h_VONa_md in component VONa_Channels (dimensionless).
 * RATES[59] is d/dt d_L_cyt in component CaL_Activations (dimensionless).
 * RATES[60] is d/dt d_L_md in component CaL_Activations (dimensionless).
 * RATES[61] is d/dt f_F_cyt in component CaL_Activations (dimensionless).
 * RATES[62] is d/dt f_F_md in component CaL_Activations (dimensionless).
 * RATES[23] is d/dt V_m_cyt in component Membrane_Voltage (volt).
 * RATES[24] is d/dt V_m_md in component Membrane_Voltage (volt).
 * RATES[12] is d/dt conc_CaM___ in component MLCK_Activation_CaM (Molar).
 * RATES[11] is d/dt conc_CaMNCM in component MLCK_Activation_CaM (Molar).
 * RATES[63] is d/dt conc_Myo in component MLCK_Phospho_Myosin (Molar).
 * RATES[64] is d/dt conc_MyoP in component MLCK_Phospho_Myosin (Molar).
 * RATES[65] is d/dt conc_AMyo in component MLCK_Phospho_Myosin (Molar).
 * RATES[68] is d/dt conc_NO_cyt in component NO_Kinetics (Molar).
 * RATES[69] is d/dt conc_O2_cyt in component O2_Kinetics (Molar).
 * RATES[67] is d/dt conc_H2O2_cyt in component H2O2_Kinetics (Molar).
 * RATES[70] is d/dt conc_Eb in component sGC_Activation (dimensionless).
 * RATES[71] is d/dt conc_E5c in component sGC_Activation (dimensionless).
 * RATES[66] is d/dt conc_cGMP in component cGMP_Kinetics (Molar).
 * RATES[72] is d/dt conc_CaM___ in component MLCK_Activation_CaM_md (Molar).
 * RATES[18] is d/dt conc_CaMNCM in component MLCK_Activation_CaM_md (Molar).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 96487;
CONSTANTS[1] = 5E-16;
CONSTANTS[2] = 3E-18;
CONSTANTS[3] = 7E-17;
CONSTANTS[4] = 3.5E-16;
CONSTANTS[5] = 1.7;
CONSTANTS[6] = 2;
CONSTANTS[7] = 12;
CONSTANTS[8] = 3.7224E-4;
CONSTANTS[9] = 6.3601E-4;
CONSTANTS[10] = 5.71E-5;
CONSTANTS[11] = 0.1;
CONSTANTS[12] = 20;
CONSTANTS[13] = 1.85;
CONSTANTS[14] = 2.4E-4;
CONSTANTS[15] = 0.5;
CONSTANTS[16] = 1.1E-3;
CONSTANTS[17] = 1;
CONSTANTS[18] = 1.3E-4;
CONSTANTS[19] = 2E2;
CONSTANTS[20] = 1.445E-4;
CONSTANTS[21] = 2E4;
CONSTANTS[22] = 8.234E-5;
CONSTANTS[23] = 7.5E-11;
CONSTANTS[24] = 0.1;
CONSTANTS[25] = 8.78E-2;
CONSTANTS[26] = 6E-17;
CONSTANTS[27] = 3.5E-18;
CONSTANTS[28] = 6E-17;
CONSTANTS[29] = 46;
CONSTANTS[30] = 4.0;
CONSTANTS[31] = 78;
CONSTANTS[32] = 78;
CONSTANTS[33] = 3.0E3;
CONSTANTS[34] = 50;
CONSTANTS[35] = 10;
CONSTANTS[36] = 30;
CONSTANTS[37] = 300;
CONSTANTS[38] = 1.2E-8;
CONSTANTS[39] = 1E-11;
CONSTANTS[40] = 1E-11;
CONSTANTS[41] = 1.2E-11;
CONSTANTS[42] = 1E-11;
CONSTANTS[43] = 3E-10;
CONSTANTS[44] = 5.4;
CONSTANTS[45] = 9.8325E-9;
CONSTANTS[46] = 0.463;
CONSTANTS[47] = 1.036E-9;
CONSTANTS[48] = 5.00E-10;
CONSTANTS[49] = 5E-4;
CONSTANTS[50] = 1.15E-2;
CONSTANTS[51] = 1.5;
CONSTANTS[52] = 12;
CONSTANTS[53] = 22;
CONSTANTS[54] = 1.7097E-10;
CONSTANTS[55] = 3.59E-3;
CONSTANTS[56] = 1.3;
CONSTANTS[57] = 12.29;
CONSTANTS[58] = 87.5;
CONSTANTS[59] = 0.27;
CONSTANTS[60] = 0.35;
CONSTANTS[61] = 1.25E-4;
CONSTANTS[62] = 2.860E-9;
CONSTANTS[63] = 0.0001;
CONSTANTS[64] = 0.001;
CONSTANTS[65] = 1.7E-4;
CONSTANTS[66] = 1.4151E-9;
CONSTANTS[67] = 4E-1;
CONSTANTS[68] = 100E3;
CONSTANTS[69] = 300;
CONSTANTS[70] = 1.4E-1;
CONSTANTS[71] = 1E5;
CONSTANTS[72] = 8E4;
CONSTANTS[73] = 0.8580;
CONSTANTS[74] = 0.1420;
CONSTANTS[75] = 8.3144621;
CONSTANTS[76] = 298;
CONSTANTS[77] = 1.21E-9;
CONSTANTS[78] = 5E-7;
CONSTANTS[79] = 0.001;
CONSTANTS[80] = 3E-10;
CONSTANTS[81] = 3E-10;
STATES[0] = 140.55;
STATES[1] = 131.37;
STATES[2] = 9.1964;
STATES[3] = 20.742;
STATES[4] = 23.257;
STATES[5] = 16.737;
STATES[6] = 1.0533E-4;
STATES[7] = 1.1023E-5;
STATES[8] = 1.3568E-2;
STATES[9] = 4.1154E-5;
STATES[10] = 1.9451E-3;
STATES[11] = 5.3950E-5;
STATES[12] = 7.9487E-3;
STATES[13] = 4.4109E-2;
STATES[14] = 3.7182E-4;
STATES[15] = 1.2766E-4;
STATES[16] = 4.7661E-4;
STATES[17] = 1.4863E-3;
STATES[18] = 5.1368E-4;
STATES[19] = 5.6334E-1;
STATES[20] = 4.9091E-1;
STATES[21] = 5.7849E-2;
STATES[22] = 5.3239E-2;
STATES[23] = -7.8960E-2;
STATES[24] = -7.6961E-2;
CONSTANTS[82] = 5.4;
CONSTANTS[83] = 140;
CONSTANTS[84] = 110;
CONSTANTS[85] = 2.0;
CONSTANTS[86] = 1;
CONSTANTS[87] = 1;
CONSTANTS[88] = -1;
CONSTANTS[89] = 2;
STATES[25] = 0.11187;
STATES[26] = 0.89971;
STATES[27] = 2.4140E-4;
STATES[28] = 2.7808E-4;
STATES[29] = 0.11631;
STATES[30] = 0.028019;
STATES[31] = 0.084779;
STATES[32] = 0.072097;
STATES[33] = 0.14878;
STATES[34] = 0.12652;
CONSTANTS[90] = 9.434E-4;
CONSTANTS[91] = 1;
CONSTANTS[92] = 2;
CONSTANTS[93] = 0.125;
STATES[35] = 0.0062437;
STATES[36] = 0.000039459;
STATES[37] = 0.00000024937;
STATES[38] = 0.0056570;
STATES[39] = 0.00010725;
STATES[40] = 0.0000067783;
STATES[41] = 2.1346E-2;
STATES[42] = 4.7620E-4;
STATES[43] = 1.0624E-5;
STATES[44] = 1.9731E-2;
STATES[45] = 1.3205E-3;
STATES[46] = 2.94594E-4;
CONSTANTS[94] = -3.8;
CONSTANTS[95] = -10.0;
CONSTANTS[96] = 224;
STATES[47] = 0.0048876;
STATES[48] = 0.0056051;
STATES[49] = 0.0048876;
STATES[50] = 0.0056051;
STATES[51] = 0.94813;
STATES[52] = 0.67538;
STATES[53] = 0.94813;
STATES[54] = 0.67538;
STATES[55] = 1.0429E-5;
STATES[56] = 1.5817E-5;
STATES[57] = 0.87853;
STATES[58] = 0.84170;
STATES[59] = 3.7841E-5;
STATES[60] = 4.9277E-5;
STATES[61] = 1;
STATES[62] = 1;
CONSTANTS[97] = 1;
CONSTANTS[98] = 7.7598E-13;
CONSTANTS[99] = 1;
CONSTANTS[100] = 7.7598E-13;
CONSTANTS[101] = 2;
CONSTANTS[102] = 7.7598E-13;
CONSTANTS[103] = -1;
CONSTANTS[104] = 7.7598E-13;
CONSTANTS[105] = 1.2100E-11;
CONSTANTS[106] = 1.9E7;
CONSTANTS[107] = 0.01;
CONSTANTS[108] = 1.6E6;
CONSTANTS[109] = 3.4E4;
CONSTANTS[110] = 1E-3;
CONSTANTS[111] = 20E-3;
CONSTANTS[112] = 2.8E-8;
CONSTANTS[113] = 4.5E-3;
CONSTANTS[114] = 6E-8;
CONSTANTS[115] = 3E-4;
CONSTANTS[116] = 6E-4;
CONSTANTS[117] = 6E-4;
CONSTANTS[118] = 2E6;
CONSTANTS[119] = 100;
CONSTANTS[120] = 0.1;
CONSTANTS[121] = 3E3;
CONSTANTS[122] = 98;
CONSTANTS[123] = 1.09E-3;
CONSTANTS[124] = 0.032;
CONSTANTS[125] = 2.0E-3;
CONSTANTS[126] = 5.5E-3;
CONSTANTS[127] = 5.0E-4;
CONSTANTS[128] = 1.0E-3;
CONSTANTS[129] = 5.5E-4;
CONSTANTS[130] = 66.9;
CONSTANTS[131] = 2E-1;
CONSTANTS[132] = 100;
CONSTANTS[133] = -53.7;
CONSTANTS[134] = 283.7;
CONSTANTS[135] = 30.8E-3;
CONSTANTS[136] = 2.0E-2;
CONSTANTS[137] = 6.6E-2;
CONSTANTS[138] = 1.6E-3;
CONSTANTS[139] = 0.56;
CONSTANTS[140] = 1E-3;
CONSTANTS[141] = 4.0;
CONSTANTS[142] = 2.8E6;
CONSTANTS[143] = 6;
CONSTANTS[144] = 100E6;
CONSTANTS[145] = 800;
CONSTANTS[146] = 2.8E6;
CONSTANTS[147] = 6.0;
CONSTANTS[148] = 100E6;
CONSTANTS[149] = 800;
CONSTANTS[150] = 1000E3;
CONSTANTS[151] = 20;
CONSTANTS[152] = 12.5E6;
CONSTANTS[153] = 5.0;
CONSTANTS[154] = 1000E3;
CONSTANTS[155] = 1;
CONSTANTS[156] = 4E3;
CONSTANTS[157] = 0.4;
CONSTANTS[158] = 1.8;
CONSTANTS[159] = 0.1;
CONSTANTS[160] = 0.045;
CONSTANTS[161] = 1.00E-2;
CONSTANTS[162] = 2.0E-3;
CONSTANTS[163] = 30E-3;
CONSTANTS[164] = 3.0995E-4;
CONSTANTS[165] = 2.853E-12;
CONSTANTS[166] = 100E-12;
CONSTANTS[167] = 2.7225E-11;
CONSTANTS[168] = 2.7225E-11;
STATES[63] = 8.0265E-3;
STATES[64] = 6.3288E-4;
STATES[65] = 1.8089E-2;
CONSTANTS[169] = 5.5E-3;
STATES[66] = 9.0341E-3;
STATES[67] = 5.0006E-5;
STATES[68] = 9.2798E-5;
STATES[69] = 8.3402E-7;
STATES[70] = 0.27479;
STATES[71] = 0.21715;
CONSTANTS[170] = 1E-3;
CONSTANTS[171] = 0.5263;
STATES[72] = 7.3876E-3;
CONSTANTS[172] = 3.9796;
CONSTANTS[173] = 97.35;
CONSTANTS[174] = 522.25;
CONSTANTS[175] = 329.81;
CONSTANTS[176] = ( CONSTANTS[80]*1.96000)/0.790000;
CONSTANTS[177] = ( CONSTANTS[80]*1.33000)/0.790000;
CONSTANTS[178] = ( CONSTANTS[75]*CONSTANTS[76])/CONSTANTS[0];
CONSTANTS[179] =  (1.00000/7.00000)*(exp(CONSTANTS[83]/67.3000) - 1.00000);
CONSTANTS[180] = ( CONSTANTS[79]*CONSTANTS[80])/CONSTANTS[78];
CONSTANTS[181] = ( CONSTANTS[79]*CONSTANTS[81])/CONSTANTS[78];
CONSTANTS[182] = ( CONSTANTS[79]*CONSTANTS[176])/CONSTANTS[78];
CONSTANTS[183] = ( CONSTANTS[79]*CONSTANTS[177])/CONSTANTS[78];
CONSTANTS[184] =  CONSTANTS[102]*CONSTANTS[180];
CONSTANTS[185] =  CONSTANTS[104]*CONSTANTS[181];
CONSTANTS[186] =  CONSTANTS[98]*CONSTANTS[182];
CONSTANTS[187] =  CONSTANTS[100]*CONSTANTS[183];
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[8] =  CONSTANTS[68]*STATES[6]*(CONSTANTS[67] - STATES[8]) -  CONSTANTS[69]*STATES[8];
RATES[27] =  CONSTANTS[13]*CONSTANTS[14]*((STATES[6]+ (1.00000 - CONSTANTS[15])*CONSTANTS[16])/(STATES[6]+CONSTANTS[16])) -  CONSTANTS[17]*STATES[27];
RATES[28] =  CONSTANTS[13]*CONSTANTS[14]*((STATES[14]+ (1.00000 - CONSTANTS[15])*CONSTANTS[16])/(STATES[14]+CONSTANTS[16])) -  CONSTANTS[17]*STATES[28];
RATES[29] =  - CONSTANTS[19]*( STATES[6]*STATES[29] -  CONSTANTS[20]*STATES[31]) -  CONSTANTS[21]*( STATES[6]*STATES[29] -  CONSTANTS[22]*STATES[33]);
RATES[30] =  - CONSTANTS[19]*( STATES[14]*STATES[30] -  CONSTANTS[20]*STATES[32]) -  CONSTANTS[21]*( STATES[14]*STATES[30] -  CONSTANTS[22]*STATES[34]);
RATES[12] = (( - CONSTANTS[142]*pow(STATES[6], 2.00000)*STATES[12]+ CONSTANTS[143]*STATES[9]) -  CONSTANTS[144]*pow(STATES[6], 2.00000)*STATES[12])+ CONSTANTS[145]*STATES[7];
RATES[68] = ( (CONSTANTS[77]/( 2.00000*CONSTANTS[1]))*(CONSTANTS[112] -  CONSTANTS[115]*STATES[68]) -  CONSTANTS[106]*STATES[68]*STATES[69]) -  CONSTANTS[107]*STATES[68];
RATES[67] = ( (CONSTANTS[77]/( 2.00000*CONSTANTS[1]))*(CONSTANTS[114] -  CONSTANTS[117]*STATES[67])+ CONSTANTS[108]*CONSTANTS[110]*STATES[69]) -  CONSTANTS[109]*STATES[67]*CONSTANTS[111];
RATES[66] =  CONSTANTS[123]*STATES[71] - ( CONSTANTS[124]*pow(STATES[66], 2.00000))/(CONSTANTS[125]+STATES[66]);
RATES[72] = (( - CONSTANTS[142]*pow(STATES[14], 2.00000)*STATES[72]+ CONSTANTS[143]*STATES[16]) -  CONSTANTS[144]*pow(STATES[14], 2.00000)*STATES[72])+ CONSTANTS[145]*STATES[15];
RATES[13] =  CONSTANTS[68]*STATES[14]*(CONSTANTS[67] - STATES[13]) -  CONSTANTS[69]*STATES[13];
ALGEBRAIC[0] = (1.00000+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000))/(1.00000+1.00000/CONSTANTS[10]+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000));
RATES[25] = ( CONSTANTS[11]*(ALGEBRAIC[0] - STATES[25]))/ALGEBRAIC[0];
ALGEBRAIC[1] = (1.00000+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000))/(1.00000+1.00000/CONSTANTS[10]+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000));
RATES[26] = ( CONSTANTS[11]*(ALGEBRAIC[1] - STATES[26]))/ALGEBRAIC[1];
ALGEBRAIC[8] = 1.00000/(1.00000+exp(- (STATES[23]+0.0239000)/0.00480000));
RATES[55] = (ALGEBRAIC[8] - STATES[55])/CONSTANTS[63];
ALGEBRAIC[9] = 1.00000/(1.00000+exp(- (STATES[24]+0.0239000)/0.00480000));
RATES[56] = (ALGEBRAIC[9] - STATES[56])/CONSTANTS[63];
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[23]+0.0661000)/0.00650000));
RATES[57] = (ALGEBRAIC[10] - STATES[57])/CONSTANTS[64];
ALGEBRAIC[11] = 1.00000/(1.00000+exp((STATES[24]+0.0661000)/0.00650000));
RATES[58] = (ALGEBRAIC[11] - STATES[58])/CONSTANTS[64];
ALGEBRAIC[17] = ( - CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]);
RATES[69] = ((CONSTANTS[113] -  (CONSTANTS[77]/( 2.00000*CONSTANTS[1]))*CONSTANTS[116]*STATES[69]*(ALGEBRAIC[17]/(1.00000 - exp(- ALGEBRAIC[17])))) -  CONSTANTS[106]*STATES[68]*STATES[69]) -  CONSTANTS[108]*CONSTANTS[110]*STATES[69];
ALGEBRAIC[19] =  CONSTANTS[96]*exp(CONSTANTS[94]+ CONSTANTS[95]*STATES[23]);
rootfind_0(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret);
RATES[35] = (( - CONSTANTS[33]*STATES[6]*(STATES[35] - ALGEBRAIC[2])+ CONSTANTS[34]*(STATES[36] - STATES[35])) -  CONSTANTS[35]*STATES[35])+ ALGEBRAIC[19]*STATES[38];
RATES[36] = (( - CONSTANTS[33]*STATES[6]*(STATES[36] - STATES[35])+ CONSTANTS[34]*(STATES[37] - STATES[36])) -  CONSTANTS[36]*STATES[36])+ ALGEBRAIC[19]*STATES[39];
RATES[37] = (( CONSTANTS[33]*STATES[6]*STATES[36] -  CONSTANTS[34]*STATES[37]) -  CONSTANTS[37]*STATES[37])+ ALGEBRAIC[19]*STATES[40];
RATES[38] =  CONSTANTS[35]*STATES[35] -  ALGEBRAIC[19]*STATES[38];
RATES[39] =  CONSTANTS[36]*STATES[36] -  ALGEBRAIC[19]*STATES[39];
RATES[40] =  CONSTANTS[37]*STATES[37] -  ALGEBRAIC[19]*STATES[40];
ALGEBRAIC[20] =  CONSTANTS[96]*exp(CONSTANTS[94]+ CONSTANTS[95]*STATES[24]);
rootfind_1(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret);
RATES[41] = (( - CONSTANTS[33]*STATES[14]*(STATES[41] - ALGEBRAIC[3])+ CONSTANTS[34]*(STATES[42] - STATES[41])) -  CONSTANTS[35]*STATES[41])+ ALGEBRAIC[20]*STATES[44];
RATES[42] = (( - CONSTANTS[33]*STATES[14]*(STATES[42] - STATES[41])+ CONSTANTS[34]*(STATES[43] - STATES[42])) -  CONSTANTS[36]*STATES[42])+ ALGEBRAIC[20]*STATES[45];
RATES[43] = (( CONSTANTS[33]*STATES[14]*STATES[42] -  CONSTANTS[34]*STATES[43]) -  CONSTANTS[37]*STATES[43])+ ALGEBRAIC[20]*STATES[46];
RATES[44] =  CONSTANTS[35]*STATES[41] -  ALGEBRAIC[20]*STATES[44];
RATES[45] =  CONSTANTS[36]*STATES[42] -  ALGEBRAIC[20]*STATES[45];
RATES[46] =  CONSTANTS[37]*STATES[43] -  ALGEBRAIC[20]*STATES[46];
ALGEBRAIC[4] = 1.00000/(1.00000+exp(- (STATES[23]+0.00177000)/0.0145200));
ALGEBRAIC[21] =  0.210987*exp(- pow((STATES[23]+0.214340)/0.195350, 2.00000)) - 0.0205900;
RATES[47] = (ALGEBRAIC[4] - STATES[47])/ALGEBRAIC[21];
ALGEBRAIC[5] = 1.00000/(1.00000+exp(- (STATES[24]+0.00177000)/0.0145200));
ALGEBRAIC[22] =  0.210987*exp(- pow((STATES[24]+0.214340)/0.195350, 2.00000)) - 0.0205900;
RATES[48] = (ALGEBRAIC[5] - STATES[48])/ALGEBRAIC[22];
ALGEBRAIC[23] =  0.821390*exp(- pow((STATES[23]+0.0315900)/0.0274600, 2.00000))+0.000190000;
RATES[49] = (ALGEBRAIC[4] - STATES[49])/ALGEBRAIC[23];
ALGEBRAIC[24] =  0.821390*exp(- pow((STATES[24]+0.0315900)/0.0274600, 2.00000))+0.000190000;
RATES[50] = (ALGEBRAIC[5] - STATES[50])/ALGEBRAIC[24];
ALGEBRAIC[6] =  ((( CONSTANTS[133]*arbitrary_log(STATES[6]/1.00000, 10) - CONSTANTS[134]) -  CONSTANTS[132]*(STATES[68]/(CONSTANTS[131]+STATES[68]))) -  CONSTANTS[130]*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[129], 2.00000)+pow(STATES[66], 2.00000))))*CONSTANTS[170];
ALGEBRAIC[25] = 1.00000/(1.00000+exp(- (STATES[23] - ALGEBRAIC[6])/0.0308000));
RATES[51] = (ALGEBRAIC[25] - STATES[51])/CONSTANTS[49];
ALGEBRAIC[7] =  ((( CONSTANTS[133]*arbitrary_log(STATES[14]/1.00000, 10) - CONSTANTS[134]) -  CONSTANTS[132]*(STATES[68]/(CONSTANTS[131]+STATES[68]))) -  CONSTANTS[130]*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[129], 2.00000)+pow(STATES[66], 2.00000))))*CONSTANTS[170];
ALGEBRAIC[26] = 1.00000/(1.00000+exp(- (STATES[24] - ALGEBRAIC[7])/0.0308000));
RATES[52] = (ALGEBRAIC[26] - STATES[52])/CONSTANTS[49];
RATES[53] = (ALGEBRAIC[25] - STATES[53])/CONSTANTS[50];
RATES[54] = (ALGEBRAIC[26] - STATES[54])/CONSTANTS[50];
ALGEBRAIC[12] = 1.00000/(1.00000+exp(- (STATES[23]+0.00188000)/0.00757000));
ALGEBRAIC[27] =  0.00289000*exp(- pow((STATES[23]+0.00863000)/0.0123900, 2.00000))+0.00243000;
RATES[59] = (ALGEBRAIC[12] - STATES[59])/ALGEBRAIC[27];
ALGEBRAIC[13] = 1.00000/(1.00000+exp(- (STATES[24]+0.00188000)/0.00757000));
ALGEBRAIC[28] =  0.0289000*exp(- pow((STATES[24]+0.00863000)/0.0123900, 2.00000))+0.00243000;
RATES[60] = (ALGEBRAIC[13] - STATES[60])/ALGEBRAIC[28];
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[23]+0.0293200)/0.00154000));
ALGEBRAIC[29] =  0.295590*exp(- pow((STATES[23] - 0.00472000)/0.112550, 2.00000))+0.0231900;
RATES[61] = (ALGEBRAIC[14] - STATES[61])/ALGEBRAIC[29];
ALGEBRAIC[15] = 1.00000/(1.00000+exp((STATES[24]+0.0293200)/0.00154000));
ALGEBRAIC[30] =  0.295590*exp(- pow((STATES[24] - 0.00472000)/0.112550, 2.00000))+0.0231900;
RATES[62] = (ALGEBRAIC[15] - STATES[62])/ALGEBRAIC[30];
ALGEBRAIC[18] = 1.00000 - (STATES[70]+STATES[71]);
ALGEBRAIC[32] =  CONSTANTS[122]*STATES[66];
RATES[70] =  - CONSTANTS[118]*STATES[70]*STATES[68]+ CONSTANTS[119]*ALGEBRAIC[18]+ ALGEBRAIC[32]*STATES[71];
RATES[71] = ( CONSTANTS[121]*ALGEBRAIC[18]*STATES[68]+ CONSTANTS[120]*ALGEBRAIC[18]) -  ALGEBRAIC[32]*STATES[71];
ALGEBRAIC[31] =  CONSTANTS[156]*STATES[11];
ALGEBRAIC[35] = 1.00000+ CONSTANTS[141]*(pow(STATES[67], 2.00000)/(pow(CONSTANTS[140], 2.00000)+pow(STATES[67], 2.00000)));
ALGEBRAIC[38] = ( CONSTANTS[157]*(1.00000+ 3.65000*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[169], 2.00000)+pow(STATES[66], 2.00000)))))/ALGEBRAIC[35];
RATES[63] =  - ALGEBRAIC[31]*STATES[63]+ ALGEBRAIC[38]*STATES[64]+ CONSTANTS[160]*STATES[65];
ALGEBRAIC[16] = CONSTANTS[163] - (STATES[63]+STATES[64]+STATES[65]);
RATES[64] = (( ALGEBRAIC[31]*STATES[63] -  ALGEBRAIC[38]*STATES[64]) -  CONSTANTS[158]*STATES[64])+ CONSTANTS[159]*ALGEBRAIC[16];
ALGEBRAIC[40] = ALGEBRAIC[38];
RATES[65] = ( - CONSTANTS[160]*STATES[65]+ ALGEBRAIC[40]*ALGEBRAIC[16]) -  ALGEBRAIC[31]*STATES[65];
ALGEBRAIC[62] =  (STATES[27]/CONSTANTS[18])*STATES[33];
ALGEBRAIC[60] =  (STATES[27]/CONSTANTS[90])*STATES[31];
ALGEBRAIC[58] =  (STATES[27]/CONSTANTS[18])*STATES[29];
rootfind_2(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret);
RATES[31] =  CONSTANTS[19]*( STATES[6]*STATES[29] -  CONSTANTS[20]*STATES[31]) -  CONSTANTS[21]*( STATES[6]*STATES[31] -  CONSTANTS[22]*ALGEBRAIC[64]);
RATES[33] =  CONSTANTS[21]*( STATES[6]*STATES[29] -  CONSTANTS[22]*STATES[33]) -  CONSTANTS[19]*( STATES[6]*STATES[33] -  CONSTANTS[20]*ALGEBRAIC[64]);
ALGEBRAIC[66] =  (STATES[28]/CONSTANTS[18])*STATES[34];
ALGEBRAIC[61] =  (STATES[28]/CONSTANTS[90])*STATES[32];
ALGEBRAIC[59] =  (STATES[28]/CONSTANTS[18])*STATES[30];
rootfind_3(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret);
RATES[32] =  CONSTANTS[19]*( STATES[14]*STATES[30] -  CONSTANTS[20]*STATES[32]) -  CONSTANTS[21]*( STATES[14]*STATES[32] -  CONSTANTS[22]*ALGEBRAIC[68]);
RATES[34] =  CONSTANTS[21]*( STATES[14]*STATES[30] -  CONSTANTS[22]*STATES[34]) -  CONSTANTS[19]*( STATES[14]*STATES[34] -  CONSTANTS[20]*ALGEBRAIC[68]);
RATES[21] =  CONSTANTS[71]*STATES[19]*(CONSTANTS[70] - STATES[21]) -  CONSTANTS[72]*STATES[21];
RATES[22] =  CONSTANTS[71]*STATES[20]*(CONSTANTS[70] - STATES[22]) -  CONSTANTS[72]*STATES[22];
ALGEBRAIC[34] =  (CONSTANTS[178]/CONSTANTS[86])*log(CONSTANTS[82]/STATES[0]);
ALGEBRAIC[46] =  (CONSTANTS[178]/CONSTANTS[88])*log(CONSTANTS[84]/STATES[4]);
ALGEBRAIC[77] =  CONSTANTS[27]*CONSTANTS[73]*((ALGEBRAIC[34] - ALGEBRAIC[46])/((ALGEBRAIC[34] - ALGEBRAIC[46])+CONSTANTS[25]));
ALGEBRAIC[79] =  CONSTANTS[28]*CONSTANTS[73]*(( ( CONSTANTS[83]*CONSTANTS[82]*pow(CONSTANTS[84], 2.00000) -  STATES[2]*STATES[0]*pow(STATES[4], 2.00000))*CONSTANTS[29]*CONSTANTS[30]*CONSTANTS[31]*CONSTANTS[32])/( (CONSTANTS[83]+CONSTANTS[29])*(CONSTANTS[82]+CONSTANTS[30])*(CONSTANTS[84]+CONSTANTS[31])*(CONSTANTS[84]+CONSTANTS[32])*(STATES[2]+CONSTANTS[29])*(STATES[0]+CONSTANTS[30])*(STATES[4]+CONSTANTS[31])*(STATES[4]+CONSTANTS[32])));
ALGEBRAIC[42] =  (CONSTANTS[178]/CONSTANTS[87])*log(CONSTANTS[83]/STATES[2]);
ALGEBRAIC[75] =  CONSTANTS[26]*CONSTANTS[73]*(pow(ALGEBRAIC[42] - ALGEBRAIC[46], 4.00000)/(pow(ALGEBRAIC[42] - ALGEBRAIC[46], 4.00000)+pow(CONSTANTS[25], 4.00000)));
ALGEBRAIC[47] =  CONSTANTS[42]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[46]);
ALGEBRAIC[81] =  CONSTANTS[38]*CONSTANTS[73]*(STATES[38]+STATES[39]+STATES[40])*(STATES[23] - ALGEBRAIC[46]);
ALGEBRAIC[120] =  (( CONSTANTS[103]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[121] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[185]*(STATES[5] - STATES[4]) :  CONSTANTS[185]*ALGEBRAIC[120]*((STATES[5] -  STATES[4]*exp(- ALGEBRAIC[120]))/(1.00000 - exp(- ALGEBRAIC[120]))));
RATES[4] = (ALGEBRAIC[47]+ALGEBRAIC[81]+( CONSTANTS[0]*ALGEBRAIC[75]+ CONSTANTS[0]*(ALGEBRAIC[77]+ 2.00000*ALGEBRAIC[79]+ALGEBRAIC[121])))/( CONSTANTS[0]*CONSTANTS[1]);
ALGEBRAIC[39] =  (CONSTANTS[178]/CONSTANTS[86])*log(CONSTANTS[82]/STATES[1]);
ALGEBRAIC[48] =  (CONSTANTS[178]/CONSTANTS[88])*log(CONSTANTS[84]/STATES[5]);
ALGEBRAIC[78] =  CONSTANTS[27]*CONSTANTS[74]*((ALGEBRAIC[39] - ALGEBRAIC[48])/((ALGEBRAIC[39] - ALGEBRAIC[48])+CONSTANTS[25]));
ALGEBRAIC[80] =  CONSTANTS[28]*CONSTANTS[74]*(( ( CONSTANTS[83]*CONSTANTS[82]*pow(CONSTANTS[84], 2.00000) -  STATES[3]*STATES[1]*pow(STATES[5], 2.00000))*CONSTANTS[29]*CONSTANTS[30]*CONSTANTS[31]*CONSTANTS[32])/( (CONSTANTS[83]+CONSTANTS[29])*(CONSTANTS[82]+CONSTANTS[30])*(CONSTANTS[84]+CONSTANTS[31])*(CONSTANTS[84]+CONSTANTS[32])*(STATES[3]+CONSTANTS[29])*(STATES[1]+CONSTANTS[30])*(STATES[5]+CONSTANTS[31])*(STATES[5]+CONSTANTS[32])));
ALGEBRAIC[44] =  (CONSTANTS[178]/CONSTANTS[87])*log(CONSTANTS[83]/STATES[3]);
ALGEBRAIC[76] =  CONSTANTS[26]*CONSTANTS[74]*(pow(ALGEBRAIC[44] - ALGEBRAIC[48], 4.00000)/(pow(ALGEBRAIC[44] - ALGEBRAIC[48], 4.00000)+pow(CONSTANTS[25], 4.00000)));
ALGEBRAIC[49] =  CONSTANTS[42]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[48]);
ALGEBRAIC[82] =  CONSTANTS[38]*CONSTANTS[74]*(STATES[44]+STATES[45]+STATES[46])*(STATES[24] - ALGEBRAIC[48]);
RATES[5] = (ALGEBRAIC[49]+ALGEBRAIC[82]+( CONSTANTS[0]*ALGEBRAIC[76]+ CONSTANTS[0]*((ALGEBRAIC[78]+ 2.00000*ALGEBRAIC[80]) - ALGEBRAIC[121])))/( CONSTANTS[0]*CONSTANTS[2]);
ALGEBRAIC[122] = CONSTANTS[161] - (STATES[12]+STATES[7]+STATES[9]+STATES[10]+STATES[11]);
RATES[7] = (( CONSTANTS[144]*pow(STATES[6], 2.00000)*STATES[12] -  CONSTANTS[145]*STATES[7]) -  CONSTANTS[146]*pow(STATES[6], 2.00000)*STATES[7])+ CONSTANTS[147]*ALGEBRAIC[122];
ALGEBRAIC[123] = CONSTANTS[162] - (STATES[10]+STATES[11]);
RATES[9] = (((( CONSTANTS[142]*pow(STATES[6], 2.00000)*STATES[12] -  CONSTANTS[143]*STATES[9]) -  CONSTANTS[148]*pow(STATES[6], 2.00000)*STATES[9])+ CONSTANTS[149]*ALGEBRAIC[122]) -  CONSTANTS[150]*ALGEBRAIC[123]*STATES[9])+ CONSTANTS[151]*STATES[10];
RATES[11] = (( CONSTANTS[152]*pow(STATES[6], 2.00000)*STATES[10] -  CONSTANTS[153]*STATES[11])+ CONSTANTS[154]*ALGEBRAIC[123]*ALGEBRAIC[122]) -  CONSTANTS[155]*STATES[11];
RATES[10] = (( CONSTANTS[150]*ALGEBRAIC[123]*STATES[9] -  CONSTANTS[151]*STATES[10]) -  CONSTANTS[152]*pow(STATES[6], 2.00000)*STATES[10])+ CONSTANTS[153]*STATES[11];
ALGEBRAIC[128] =  pow(STATES[69], 1.0 / 2)/( pow(CONSTANTS[136], 1.0 / 2)+ pow(STATES[69], 1.0 / 2));
ALGEBRAIC[129] = STATES[67]/(CONSTANTS[137]+STATES[67]);
ALGEBRAIC[130] =  CONSTANTS[166]*(1.00000 - ALGEBRAIC[128])*(1.00000 - ALGEBRAIC[129]);
ALGEBRAIC[124] =  (CONSTANTS[164]/CONSTANTS[171])*(1.00000 - STATES[66]/( 2.00000*(CONSTANTS[127]+STATES[66])));
ALGEBRAIC[131] =  ALGEBRAIC[130]*CONSTANTS[73]*((pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[63] =  CONSTANTS[12]*pow(ALGEBRAIC[62], 3.00000)*(STATES[19] - STATES[6])*2.00000*CONSTANTS[0]*CONSTANTS[3];
ALGEBRAIC[67] =  CONSTANTS[12]*pow(ALGEBRAIC[66], 3.00000)*(STATES[19] - STATES[14])*2.00000*CONSTANTS[0]*CONSTANTS[3];
ALGEBRAIC[132] =  ALGEBRAIC[130]*CONSTANTS[74]*((pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))));
RATES[19] = (((ALGEBRAIC[131] - ALGEBRAIC[63])+ALGEBRAIC[132]) - ALGEBRAIC[67])/( CONSTANTS[0]*CONSTANTS[3]) - RATES[21];
ALGEBRAIC[50] =  (CONSTANTS[178]/CONSTANTS[89])*log(CONSTANTS[85]/STATES[6]);
ALGEBRAIC[51] =  CONSTANTS[41]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[125] =  CONSTANTS[165]*(1.00000+( 3.60000*STATES[66])/(CONSTANTS[128]+STATES[66]));
ALGEBRAIC[126] =  ALGEBRAIC[125]*CONSTANTS[73]*(STATES[6]/(CONSTANTS[65]+STATES[6]));
ALGEBRAIC[70] = (STATES[19]+STATES[20])/2.00000;
ALGEBRAIC[71] =  CONSTANTS[23]*(CONSTANTS[24]/(CONSTANTS[24]+ALGEBRAIC[70]))*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[110] =  0.740000*STATES[61]+0.260000;
ALGEBRAIC[111] =  CONSTANTS[66]*CONSTANTS[73]*STATES[59]*ALGEBRAIC[110]*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[54] = ( STATES[25]*(1.00000+pow(STATES[6]/CONSTANTS[9], 3.00000)))/(1.00000+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000));
ALGEBRAIC[55] =  CONSTANTS[7]*ALGEBRAIC[54]*(STATES[20] - STATES[6])*( 2.00000*CONSTANTS[0]*CONSTANTS[3]);
ALGEBRAIC[118] =  (( CONSTANTS[101]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[119] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[184]*(STATES[14] - STATES[6]) :  CONSTANTS[184]*ALGEBRAIC[118]*((STATES[14] -  STATES[6]*exp(- ALGEBRAIC[118]))/(1.00000 - exp(- ALGEBRAIC[118]))));
ALGEBRAIC[133] =  ALGEBRAIC[130]*CONSTANTS[73]*((pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))));
RATES[6] = ((- (((ALGEBRAIC[51]+ALGEBRAIC[126]+ALGEBRAIC[71]+ALGEBRAIC[111]+ALGEBRAIC[131]+ALGEBRAIC[133]) - ALGEBRAIC[55]) - ALGEBRAIC[63])+ 2.00000*CONSTANTS[0]*ALGEBRAIC[119])/( 2.00000*CONSTANTS[0]*CONSTANTS[4]) -  2.00000*(RATES[7]+RATES[9]+RATES[10])) - RATES[8];
ALGEBRAIC[134] =  ALGEBRAIC[130]*CONSTANTS[74]*((pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[56] = ( STATES[26]*(1.00000+pow(STATES[14]/CONSTANTS[9], 3.00000)))/(1.00000+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000));
ALGEBRAIC[57] =  CONSTANTS[7]*ALGEBRAIC[56]*(STATES[20] - STATES[14])*( 2.00000*CONSTANTS[0]*CONSTANTS[3]);
RATES[20] = (((ALGEBRAIC[133] - ALGEBRAIC[55])+ALGEBRAIC[134]) - ALGEBRAIC[57])/( CONSTANTS[0]*CONSTANTS[3]) - RATES[22];
ALGEBRAIC[136] = CONSTANTS[161] - (STATES[72]+STATES[15]+STATES[16]+STATES[17]+STATES[18]);
RATES[15] = (( CONSTANTS[144]*pow(STATES[14], 2.00000)*STATES[72] -  CONSTANTS[145]*STATES[15]) -  CONSTANTS[146]*pow(STATES[14], 2.00000)*STATES[15])+ CONSTANTS[147]*ALGEBRAIC[136];
ALGEBRAIC[139] = CONSTANTS[162] - (STATES[17]+STATES[18]);
RATES[16] = (((( CONSTANTS[142]*pow(STATES[14], 2.00000)*STATES[72] -  CONSTANTS[143]*STATES[16]) -  CONSTANTS[148]*pow(STATES[14], 2.00000)*STATES[16])+ CONSTANTS[149]*ALGEBRAIC[136]) -  CONSTANTS[150]*ALGEBRAIC[139]*STATES[16])+ CONSTANTS[151]*STATES[17];
RATES[18] = (( CONSTANTS[152]*pow(STATES[14], 2.00000)*STATES[17] -  CONSTANTS[153]*STATES[18])+ CONSTANTS[154]*ALGEBRAIC[139]*ALGEBRAIC[136]) -  CONSTANTS[155]*STATES[18];
ALGEBRAIC[37] =  CONSTANTS[39]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[83] = 3.24100/(1.00000+exp(((STATES[23] - ALGEBRAIC[34]) - 185.720)/1.59600));
ALGEBRAIC[85] =  1.00000*(( 0.0130000*exp(((STATES[23] - ALGEBRAIC[34])+5.79220)/0.294000)+exp(((STATES[23] - ALGEBRAIC[34]) - 653.733)/0.244000))/(1.00000+exp(- ((STATES[23] - ALGEBRAIC[34]) - 7.77750)/0.0928000)));
ALGEBRAIC[86] = ALGEBRAIC[83]/(ALGEBRAIC[83]+ALGEBRAIC[85]);
ALGEBRAIC[87] =  CONSTANTS[43]*CONSTANTS[73]*ALGEBRAIC[86]* pow((CONSTANTS[82]/CONSTANTS[44]), 1.0 / 2)*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[95] =  CONSTANTS[47]*CONSTANTS[73]*pow(CONSTANTS[82]/CONSTANTS[44], CONSTANTS[46])*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[91] =  0.580000*STATES[47]+ 0.420000*STATES[49];
ALGEBRAIC[92] =  CONSTANTS[45]*CONSTANTS[73]*pow(ALGEBRAIC[91], 2.00000)*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[97] =  0.650000*STATES[51]+ 0.350000*STATES[53];
ALGEBRAIC[98] =  CONSTANTS[48]*CONSTANTS[73]*ALGEBRAIC[97]*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[138] =  CONSTANTS[167]*(1.00000 - STATES[69]/(CONSTANTS[138]+STATES[69]))*(1.00000 - STATES[67]/(CONSTANTS[139]+STATES[67]));
ALGEBRAIC[101] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[23]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))+ 0.0365000*CONSTANTS[179]*exp(( - STATES[23]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76])));
ALGEBRAIC[140] =  ALGEBRAIC[138]*ALGEBRAIC[101]*(CONSTANTS[82]/(CONSTANTS[82]+CONSTANTS[51]))*(pow(STATES[2], 1.50000)/(pow(STATES[2], 1.50000)+pow(CONSTANTS[52], 1.50000)));
ALGEBRAIC[114] =  (( CONSTANTS[97]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[115] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[186]*(STATES[1] - STATES[0]) :  CONSTANTS[186]*ALGEBRAIC[114]*((STATES[1] -  STATES[0]*exp(- ALGEBRAIC[114]))/(1.00000 - exp(- ALGEBRAIC[114]))));
RATES[0] = (- ((ALGEBRAIC[37]+ALGEBRAIC[87]+ALGEBRAIC[95]+ALGEBRAIC[92]+ALGEBRAIC[98]) -  2.00000*ALGEBRAIC[140])+ CONSTANTS[0]*(ALGEBRAIC[77]+ALGEBRAIC[79]+ALGEBRAIC[115]))/( CONSTANTS[0]*CONSTANTS[1]);
ALGEBRAIC[41] =  CONSTANTS[39]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[84] = 3.24100/(1.00000+exp(((STATES[24] - ALGEBRAIC[39]) - 185.720)/1.59600));
ALGEBRAIC[88] =  1.00000*(( 0.0130000*exp(((STATES[24] - ALGEBRAIC[39])+5.79220)/0.294000)+exp(((STATES[24] - ALGEBRAIC[39]) - 653.733)/0.244000))/(1.00000+exp(- (((STATES[24] - ALGEBRAIC[39]) - 7.77750)/0.0928000))));
ALGEBRAIC[89] = ALGEBRAIC[84]/(ALGEBRAIC[84]+ALGEBRAIC[88]);
ALGEBRAIC[90] =  CONSTANTS[43]*CONSTANTS[74]*ALGEBRAIC[89]* pow((CONSTANTS[82]/CONSTANTS[44]), 1.0 / 2)*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[96] =  CONSTANTS[47]*CONSTANTS[74]*pow(CONSTANTS[82]/CONSTANTS[44], CONSTANTS[46])*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[93] =  0.580000*STATES[48]+ 0.420000*STATES[50];
ALGEBRAIC[94] =  CONSTANTS[45]*CONSTANTS[74]*pow(ALGEBRAIC[93], 2.00000)*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[99] =  0.650000*STATES[52]+ 0.350000*STATES[54];
ALGEBRAIC[100] =  CONSTANTS[48]*CONSTANTS[74]*ALGEBRAIC[99]*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[102] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))+ 0.0365000*CONSTANTS[179]*exp(( - STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76])));
ALGEBRAIC[141] =  ALGEBRAIC[138]*ALGEBRAIC[102]*(CONSTANTS[82]/(CONSTANTS[82]+CONSTANTS[51]))*(pow(STATES[3], 1.50000)/(pow(STATES[3], 1.50000)+pow(CONSTANTS[53], 1.50000)));
RATES[1] = (- ((ALGEBRAIC[41]+ALGEBRAIC[90]+ALGEBRAIC[96]+ALGEBRAIC[94]+ALGEBRAIC[100]) -  2.00000*ALGEBRAIC[141])+ CONSTANTS[0]*((ALGEBRAIC[78]+ALGEBRAIC[80]) - ALGEBRAIC[115]))/( CONSTANTS[0]*CONSTANTS[2]);
ALGEBRAIC[43] =  CONSTANTS[40]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[42]);
ALGEBRAIC[108] =  CONSTANTS[62]*CONSTANTS[73]*STATES[55]*STATES[57]*(STATES[23] - ALGEBRAIC[42]);
ALGEBRAIC[73] =  ALGEBRAIC[71]*( (pow(CONSTANTS[91], 2.00000)/pow(CONSTANTS[92], 2.00000))*CONSTANTS[93])*((STATES[2] -  CONSTANTS[83]*exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76])))/(STATES[6] -  CONSTANTS[85]*exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]))))*((1.00000 - exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76])))/(1.00000 - exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]))));
ALGEBRAIC[116] =  (( CONSTANTS[99]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[117] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[187]*(STATES[3] - STATES[2]) :  CONSTANTS[187]*ALGEBRAIC[116]*((STATES[3] -  STATES[2]*exp(- ALGEBRAIC[116]))/(1.00000 - exp(- ALGEBRAIC[116]))));
RATES[2] = (- (ALGEBRAIC[43]+ 3.00000*ALGEBRAIC[140]+ALGEBRAIC[108]+ALGEBRAIC[73])+ CONSTANTS[0]*(ALGEBRAIC[75]+ALGEBRAIC[79]+ALGEBRAIC[117]))/( CONSTANTS[0]*CONSTANTS[1]);
ALGEBRAIC[45] =  CONSTANTS[40]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[44]);
ALGEBRAIC[109] =  CONSTANTS[62]*CONSTANTS[74]*STATES[56]*STATES[58]*(STATES[24] - ALGEBRAIC[44]);
ALGEBRAIC[52] =  (CONSTANTS[178]/CONSTANTS[89])*log(CONSTANTS[85]/STATES[14]);
ALGEBRAIC[72] =  CONSTANTS[23]*(CONSTANTS[24]/(CONSTANTS[24]+ALGEBRAIC[70]))*(STATES[24] - ALGEBRAIC[52]);
ALGEBRAIC[74] =  ALGEBRAIC[72]*( (pow(CONSTANTS[91], 2.00000)/pow(CONSTANTS[92], 2.00000))*CONSTANTS[93])*((STATES[3] -  CONSTANTS[83]*exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76])))/(STATES[14] -  CONSTANTS[85]*exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76]))))*((1.00000 - exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76])))/(1.00000 - exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76]))));
ALGEBRAIC[103] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[14], 2.00000));
ALGEBRAIC[104] = exp(( CONSTANTS[60]*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]));
ALGEBRAIC[105] = exp(( (CONSTANTS[60] - 1.00000)*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]));
ALGEBRAIC[106] =  pow(CONSTANTS[83], 3.00000)*STATES[14]+ pow(STATES[3], 3.00000)*CONSTANTS[85]+ pow(CONSTANTS[58], 3.00000)*STATES[14]+ CONSTANTS[56]*pow(STATES[3], 3.00000)+ pow(CONSTANTS[57], 3.00000)*CONSTANTS[85]*(1.00000+STATES[14]/CONSTANTS[55])+ CONSTANTS[55]*pow(CONSTANTS[83], 3.00000)*(1.00000+pow(STATES[3]/CONSTANTS[57], 3.00000));
ALGEBRAIC[107] =  CONSTANTS[54]*ALGEBRAIC[103]*(( ALGEBRAIC[104]*pow(STATES[3], 3.00000)*CONSTANTS[85] -  ALGEBRAIC[105]*pow(CONSTANTS[83], 3.00000)*STATES[14])/( ALGEBRAIC[106]*(1.00000+ CONSTANTS[59]*ALGEBRAIC[105])));
RATES[3] = (- (ALGEBRAIC[45]+ 3.00000*ALGEBRAIC[141]+ALGEBRAIC[109]+ALGEBRAIC[74]+ 3.00000*ALGEBRAIC[107])+ CONSTANTS[0]*((ALGEBRAIC[76]+ALGEBRAIC[80]) - ALGEBRAIC[117]))/( CONSTANTS[0]*CONSTANTS[2]);
RATES[17] = (( CONSTANTS[150]*ALGEBRAIC[139]*STATES[16] -  CONSTANTS[151]*STATES[17]) -  CONSTANTS[152]*pow(STATES[14], 2.00000)*STATES[17])+ CONSTANTS[153]*STATES[18];
ALGEBRAIC[53] =  CONSTANTS[41]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[52]);
ALGEBRAIC[127] =  ALGEBRAIC[125]*CONSTANTS[74]*(STATES[14]/(CONSTANTS[65]+STATES[14]));
ALGEBRAIC[112] =  0.740000*STATES[62]+0.260000;
ALGEBRAIC[113] =  CONSTANTS[66]*CONSTANTS[74]*STATES[60]*ALGEBRAIC[112]*(STATES[24] - ALGEBRAIC[52]);
RATES[14] = ((- (((((ALGEBRAIC[53]+ALGEBRAIC[127]+ALGEBRAIC[72]+ALGEBRAIC[113]) -  2.00000*ALGEBRAIC[107])+ALGEBRAIC[134]+ALGEBRAIC[132]) - ALGEBRAIC[57]) - ALGEBRAIC[67]) -  2.00000*CONSTANTS[0]*ALGEBRAIC[119])/( 2.00000*CONSTANTS[0]*CONSTANTS[2]) -  2.00000*(RATES[15]+RATES[16]+RATES[17])) - RATES[13];
ALGEBRAIC[135] = ALGEBRAIC[131]+ALGEBRAIC[133];
ALGEBRAIC[143] = ((((((((ALGEBRAIC[37]+ALGEBRAIC[87]+ALGEBRAIC[95]+ALGEBRAIC[92]+ALGEBRAIC[98]) -  CONSTANTS[0]*ALGEBRAIC[115])+ALGEBRAIC[140]+ALGEBRAIC[43]+ALGEBRAIC[108]+ALGEBRAIC[73]) -  CONSTANTS[0]*ALGEBRAIC[117])+ALGEBRAIC[47]+ALGEBRAIC[81]+ CONSTANTS[0]*ALGEBRAIC[121]+ALGEBRAIC[51]+ALGEBRAIC[126]+ALGEBRAIC[111]+ALGEBRAIC[71]) -  2.00000*CONSTANTS[0]*ALGEBRAIC[119])+ALGEBRAIC[135]) - ALGEBRAIC[55]) - ALGEBRAIC[63];
RATES[23] = - ALGEBRAIC[143]/( CONSTANTS[73]*CONSTANTS[105]);
ALGEBRAIC[137] = ALGEBRAIC[132]+ALGEBRAIC[134];
ALGEBRAIC[144] = ((((ALGEBRAIC[41]+ALGEBRAIC[90]+ALGEBRAIC[96]+ALGEBRAIC[94]+ALGEBRAIC[100]+ CONSTANTS[0]*ALGEBRAIC[115]+ALGEBRAIC[141]+ALGEBRAIC[45]+ALGEBRAIC[109]+ALGEBRAIC[74]+ALGEBRAIC[107]+ CONSTANTS[0]*ALGEBRAIC[117]+ALGEBRAIC[49]+ALGEBRAIC[82]) -  CONSTANTS[0]*ALGEBRAIC[121])+ALGEBRAIC[53]+ALGEBRAIC[127]+ALGEBRAIC[113]+ALGEBRAIC[72]+ 2.00000*CONSTANTS[0]*ALGEBRAIC[119]+ALGEBRAIC[137]) - ALGEBRAIC[57]) - ALGEBRAIC[67];
RATES[24] = - ALGEBRAIC[144]/( CONSTANTS[74]*CONSTANTS[105]);
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (1.00000+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000))/(1.00000+1.00000/CONSTANTS[10]+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000));
ALGEBRAIC[1] = (1.00000+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000))/(1.00000+1.00000/CONSTANTS[10]+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000));
ALGEBRAIC[8] = 1.00000/(1.00000+exp(- (STATES[23]+0.0239000)/0.00480000));
ALGEBRAIC[9] = 1.00000/(1.00000+exp(- (STATES[24]+0.0239000)/0.00480000));
ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[23]+0.0661000)/0.00650000));
ALGEBRAIC[11] = 1.00000/(1.00000+exp((STATES[24]+0.0661000)/0.00650000));
ALGEBRAIC[17] = ( - CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]);
ALGEBRAIC[19] =  CONSTANTS[96]*exp(CONSTANTS[94]+ CONSTANTS[95]*STATES[23]);
ALGEBRAIC[20] =  CONSTANTS[96]*exp(CONSTANTS[94]+ CONSTANTS[95]*STATES[24]);
ALGEBRAIC[4] = 1.00000/(1.00000+exp(- (STATES[23]+0.00177000)/0.0145200));
ALGEBRAIC[21] =  0.210987*exp(- pow((STATES[23]+0.214340)/0.195350, 2.00000)) - 0.0205900;
ALGEBRAIC[5] = 1.00000/(1.00000+exp(- (STATES[24]+0.00177000)/0.0145200));
ALGEBRAIC[22] =  0.210987*exp(- pow((STATES[24]+0.214340)/0.195350, 2.00000)) - 0.0205900;
ALGEBRAIC[23] =  0.821390*exp(- pow((STATES[23]+0.0315900)/0.0274600, 2.00000))+0.000190000;
ALGEBRAIC[24] =  0.821390*exp(- pow((STATES[24]+0.0315900)/0.0274600, 2.00000))+0.000190000;
ALGEBRAIC[6] =  ((( CONSTANTS[133]*arbitrary_log(STATES[6]/1.00000, 10) - CONSTANTS[134]) -  CONSTANTS[132]*(STATES[68]/(CONSTANTS[131]+STATES[68]))) -  CONSTANTS[130]*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[129], 2.00000)+pow(STATES[66], 2.00000))))*CONSTANTS[170];
ALGEBRAIC[25] = 1.00000/(1.00000+exp(- (STATES[23] - ALGEBRAIC[6])/0.0308000));
ALGEBRAIC[7] =  ((( CONSTANTS[133]*arbitrary_log(STATES[14]/1.00000, 10) - CONSTANTS[134]) -  CONSTANTS[132]*(STATES[68]/(CONSTANTS[131]+STATES[68]))) -  CONSTANTS[130]*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[129], 2.00000)+pow(STATES[66], 2.00000))))*CONSTANTS[170];
ALGEBRAIC[26] = 1.00000/(1.00000+exp(- (STATES[24] - ALGEBRAIC[7])/0.0308000));
ALGEBRAIC[12] = 1.00000/(1.00000+exp(- (STATES[23]+0.00188000)/0.00757000));
ALGEBRAIC[27] =  0.00289000*exp(- pow((STATES[23]+0.00863000)/0.0123900, 2.00000))+0.00243000;
ALGEBRAIC[13] = 1.00000/(1.00000+exp(- (STATES[24]+0.00188000)/0.00757000));
ALGEBRAIC[28] =  0.0289000*exp(- pow((STATES[24]+0.00863000)/0.0123900, 2.00000))+0.00243000;
ALGEBRAIC[14] = 1.00000/(1.00000+exp((STATES[23]+0.0293200)/0.00154000));
ALGEBRAIC[29] =  0.295590*exp(- pow((STATES[23] - 0.00472000)/0.112550, 2.00000))+0.0231900;
ALGEBRAIC[15] = 1.00000/(1.00000+exp((STATES[24]+0.0293200)/0.00154000));
ALGEBRAIC[30] =  0.295590*exp(- pow((STATES[24] - 0.00472000)/0.112550, 2.00000))+0.0231900;
ALGEBRAIC[18] = 1.00000 - (STATES[70]+STATES[71]);
ALGEBRAIC[32] =  CONSTANTS[122]*STATES[66];
ALGEBRAIC[31] =  CONSTANTS[156]*STATES[11];
ALGEBRAIC[35] = 1.00000+ CONSTANTS[141]*(pow(STATES[67], 2.00000)/(pow(CONSTANTS[140], 2.00000)+pow(STATES[67], 2.00000)));
ALGEBRAIC[38] = ( CONSTANTS[157]*(1.00000+ 3.65000*(pow(STATES[66], 2.00000)/(pow(CONSTANTS[169], 2.00000)+pow(STATES[66], 2.00000)))))/ALGEBRAIC[35];
ALGEBRAIC[16] = CONSTANTS[163] - (STATES[63]+STATES[64]+STATES[65]);
ALGEBRAIC[40] = ALGEBRAIC[38];
ALGEBRAIC[62] =  (STATES[27]/CONSTANTS[18])*STATES[33];
ALGEBRAIC[60] =  (STATES[27]/CONSTANTS[90])*STATES[31];
ALGEBRAIC[58] =  (STATES[27]/CONSTANTS[18])*STATES[29];
ALGEBRAIC[66] =  (STATES[28]/CONSTANTS[18])*STATES[34];
ALGEBRAIC[61] =  (STATES[28]/CONSTANTS[90])*STATES[32];
ALGEBRAIC[59] =  (STATES[28]/CONSTANTS[18])*STATES[30];
ALGEBRAIC[34] =  (CONSTANTS[178]/CONSTANTS[86])*log(CONSTANTS[82]/STATES[0]);
ALGEBRAIC[46] =  (CONSTANTS[178]/CONSTANTS[88])*log(CONSTANTS[84]/STATES[4]);
ALGEBRAIC[77] =  CONSTANTS[27]*CONSTANTS[73]*((ALGEBRAIC[34] - ALGEBRAIC[46])/((ALGEBRAIC[34] - ALGEBRAIC[46])+CONSTANTS[25]));
ALGEBRAIC[79] =  CONSTANTS[28]*CONSTANTS[73]*(( ( CONSTANTS[83]*CONSTANTS[82]*pow(CONSTANTS[84], 2.00000) -  STATES[2]*STATES[0]*pow(STATES[4], 2.00000))*CONSTANTS[29]*CONSTANTS[30]*CONSTANTS[31]*CONSTANTS[32])/( (CONSTANTS[83]+CONSTANTS[29])*(CONSTANTS[82]+CONSTANTS[30])*(CONSTANTS[84]+CONSTANTS[31])*(CONSTANTS[84]+CONSTANTS[32])*(STATES[2]+CONSTANTS[29])*(STATES[0]+CONSTANTS[30])*(STATES[4]+CONSTANTS[31])*(STATES[4]+CONSTANTS[32])));
ALGEBRAIC[42] =  (CONSTANTS[178]/CONSTANTS[87])*log(CONSTANTS[83]/STATES[2]);
ALGEBRAIC[75] =  CONSTANTS[26]*CONSTANTS[73]*(pow(ALGEBRAIC[42] - ALGEBRAIC[46], 4.00000)/(pow(ALGEBRAIC[42] - ALGEBRAIC[46], 4.00000)+pow(CONSTANTS[25], 4.00000)));
ALGEBRAIC[47] =  CONSTANTS[42]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[46]);
ALGEBRAIC[81] =  CONSTANTS[38]*CONSTANTS[73]*(STATES[38]+STATES[39]+STATES[40])*(STATES[23] - ALGEBRAIC[46]);
ALGEBRAIC[120] =  (( CONSTANTS[103]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[121] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[185]*(STATES[5] - STATES[4]) :  CONSTANTS[185]*ALGEBRAIC[120]*((STATES[5] -  STATES[4]*exp(- ALGEBRAIC[120]))/(1.00000 - exp(- ALGEBRAIC[120]))));
ALGEBRAIC[39] =  (CONSTANTS[178]/CONSTANTS[86])*log(CONSTANTS[82]/STATES[1]);
ALGEBRAIC[48] =  (CONSTANTS[178]/CONSTANTS[88])*log(CONSTANTS[84]/STATES[5]);
ALGEBRAIC[78] =  CONSTANTS[27]*CONSTANTS[74]*((ALGEBRAIC[39] - ALGEBRAIC[48])/((ALGEBRAIC[39] - ALGEBRAIC[48])+CONSTANTS[25]));
ALGEBRAIC[80] =  CONSTANTS[28]*CONSTANTS[74]*(( ( CONSTANTS[83]*CONSTANTS[82]*pow(CONSTANTS[84], 2.00000) -  STATES[3]*STATES[1]*pow(STATES[5], 2.00000))*CONSTANTS[29]*CONSTANTS[30]*CONSTANTS[31]*CONSTANTS[32])/( (CONSTANTS[83]+CONSTANTS[29])*(CONSTANTS[82]+CONSTANTS[30])*(CONSTANTS[84]+CONSTANTS[31])*(CONSTANTS[84]+CONSTANTS[32])*(STATES[3]+CONSTANTS[29])*(STATES[1]+CONSTANTS[30])*(STATES[5]+CONSTANTS[31])*(STATES[5]+CONSTANTS[32])));
ALGEBRAIC[44] =  (CONSTANTS[178]/CONSTANTS[87])*log(CONSTANTS[83]/STATES[3]);
ALGEBRAIC[76] =  CONSTANTS[26]*CONSTANTS[74]*(pow(ALGEBRAIC[44] - ALGEBRAIC[48], 4.00000)/(pow(ALGEBRAIC[44] - ALGEBRAIC[48], 4.00000)+pow(CONSTANTS[25], 4.00000)));
ALGEBRAIC[49] =  CONSTANTS[42]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[48]);
ALGEBRAIC[82] =  CONSTANTS[38]*CONSTANTS[74]*(STATES[44]+STATES[45]+STATES[46])*(STATES[24] - ALGEBRAIC[48]);
ALGEBRAIC[122] = CONSTANTS[161] - (STATES[12]+STATES[7]+STATES[9]+STATES[10]+STATES[11]);
ALGEBRAIC[123] = CONSTANTS[162] - (STATES[10]+STATES[11]);
ALGEBRAIC[128] =  pow(STATES[69], 1.0 / 2)/( pow(CONSTANTS[136], 1.0 / 2)+ pow(STATES[69], 1.0 / 2));
ALGEBRAIC[129] = STATES[67]/(CONSTANTS[137]+STATES[67]);
ALGEBRAIC[130] =  CONSTANTS[166]*(1.00000 - ALGEBRAIC[128])*(1.00000 - ALGEBRAIC[129]);
ALGEBRAIC[124] =  (CONSTANTS[164]/CONSTANTS[171])*(1.00000 - STATES[66]/( 2.00000*(CONSTANTS[127]+STATES[66])));
ALGEBRAIC[131] =  ALGEBRAIC[130]*CONSTANTS[73]*((pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[63] =  CONSTANTS[12]*pow(ALGEBRAIC[62], 3.00000)*(STATES[19] - STATES[6])*2.00000*CONSTANTS[0]*CONSTANTS[3];
ALGEBRAIC[67] =  CONSTANTS[12]*pow(ALGEBRAIC[66], 3.00000)*(STATES[19] - STATES[14])*2.00000*CONSTANTS[0]*CONSTANTS[3];
ALGEBRAIC[132] =  ALGEBRAIC[130]*CONSTANTS[74]*((pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[19]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[50] =  (CONSTANTS[178]/CONSTANTS[89])*log(CONSTANTS[85]/STATES[6]);
ALGEBRAIC[51] =  CONSTANTS[41]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[125] =  CONSTANTS[165]*(1.00000+( 3.60000*STATES[66])/(CONSTANTS[128]+STATES[66]));
ALGEBRAIC[126] =  ALGEBRAIC[125]*CONSTANTS[73]*(STATES[6]/(CONSTANTS[65]+STATES[6]));
ALGEBRAIC[70] = (STATES[19]+STATES[20])/2.00000;
ALGEBRAIC[71] =  CONSTANTS[23]*(CONSTANTS[24]/(CONSTANTS[24]+ALGEBRAIC[70]))*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[110] =  0.740000*STATES[61]+0.260000;
ALGEBRAIC[111] =  CONSTANTS[66]*CONSTANTS[73]*STATES[59]*ALGEBRAIC[110]*(STATES[23] - ALGEBRAIC[50]);
ALGEBRAIC[54] = ( STATES[25]*(1.00000+pow(STATES[6]/CONSTANTS[9], 3.00000)))/(1.00000+pow(CONSTANTS[8]/STATES[6], 4.00000)+pow(STATES[6]/CONSTANTS[9], 3.00000));
ALGEBRAIC[55] =  CONSTANTS[7]*ALGEBRAIC[54]*(STATES[20] - STATES[6])*( 2.00000*CONSTANTS[0]*CONSTANTS[3]);
ALGEBRAIC[118] =  (( CONSTANTS[101]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[119] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[184]*(STATES[14] - STATES[6]) :  CONSTANTS[184]*ALGEBRAIC[118]*((STATES[14] -  STATES[6]*exp(- ALGEBRAIC[118]))/(1.00000 - exp(- ALGEBRAIC[118]))));
ALGEBRAIC[133] =  ALGEBRAIC[130]*CONSTANTS[73]*((pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[6]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[134] =  ALGEBRAIC[130]*CONSTANTS[74]*((pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6]) - pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))/(1.00000+(pow(STATES[14]/ALGEBRAIC[124], CONSTANTS[6])+pow(STATES[20]/CONSTANTS[5], CONSTANTS[6]))));
ALGEBRAIC[56] = ( STATES[26]*(1.00000+pow(STATES[14]/CONSTANTS[9], 3.00000)))/(1.00000+pow(CONSTANTS[8]/STATES[14], 4.00000)+pow(STATES[14]/CONSTANTS[9], 3.00000));
ALGEBRAIC[57] =  CONSTANTS[7]*ALGEBRAIC[56]*(STATES[20] - STATES[14])*( 2.00000*CONSTANTS[0]*CONSTANTS[3]);
ALGEBRAIC[136] = CONSTANTS[161] - (STATES[72]+STATES[15]+STATES[16]+STATES[17]+STATES[18]);
ALGEBRAIC[139] = CONSTANTS[162] - (STATES[17]+STATES[18]);
ALGEBRAIC[37] =  CONSTANTS[39]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[83] = 3.24100/(1.00000+exp(((STATES[23] - ALGEBRAIC[34]) - 185.720)/1.59600));
ALGEBRAIC[85] =  1.00000*(( 0.0130000*exp(((STATES[23] - ALGEBRAIC[34])+5.79220)/0.294000)+exp(((STATES[23] - ALGEBRAIC[34]) - 653.733)/0.244000))/(1.00000+exp(- ((STATES[23] - ALGEBRAIC[34]) - 7.77750)/0.0928000)));
ALGEBRAIC[86] = ALGEBRAIC[83]/(ALGEBRAIC[83]+ALGEBRAIC[85]);
ALGEBRAIC[87] =  CONSTANTS[43]*CONSTANTS[73]*ALGEBRAIC[86]* pow((CONSTANTS[82]/CONSTANTS[44]), 1.0 / 2)*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[95] =  CONSTANTS[47]*CONSTANTS[73]*pow(CONSTANTS[82]/CONSTANTS[44], CONSTANTS[46])*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[91] =  0.580000*STATES[47]+ 0.420000*STATES[49];
ALGEBRAIC[92] =  CONSTANTS[45]*CONSTANTS[73]*pow(ALGEBRAIC[91], 2.00000)*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[97] =  0.650000*STATES[51]+ 0.350000*STATES[53];
ALGEBRAIC[98] =  CONSTANTS[48]*CONSTANTS[73]*ALGEBRAIC[97]*(STATES[23] - ALGEBRAIC[34]);
ALGEBRAIC[138] =  CONSTANTS[167]*(1.00000 - STATES[69]/(CONSTANTS[138]+STATES[69]))*(1.00000 - STATES[67]/(CONSTANTS[139]+STATES[67]));
ALGEBRAIC[101] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[23]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))+ 0.0365000*CONSTANTS[179]*exp(( - STATES[23]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76])));
ALGEBRAIC[140] =  ALGEBRAIC[138]*ALGEBRAIC[101]*(CONSTANTS[82]/(CONSTANTS[82]+CONSTANTS[51]))*(pow(STATES[2], 1.50000)/(pow(STATES[2], 1.50000)+pow(CONSTANTS[52], 1.50000)));
ALGEBRAIC[114] =  (( CONSTANTS[97]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[115] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[186]*(STATES[1] - STATES[0]) :  CONSTANTS[186]*ALGEBRAIC[114]*((STATES[1] -  STATES[0]*exp(- ALGEBRAIC[114]))/(1.00000 - exp(- ALGEBRAIC[114]))));
ALGEBRAIC[41] =  CONSTANTS[39]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[84] = 3.24100/(1.00000+exp(((STATES[24] - ALGEBRAIC[39]) - 185.720)/1.59600));
ALGEBRAIC[88] =  1.00000*(( 0.0130000*exp(((STATES[24] - ALGEBRAIC[39])+5.79220)/0.294000)+exp(((STATES[24] - ALGEBRAIC[39]) - 653.733)/0.244000))/(1.00000+exp(- (((STATES[24] - ALGEBRAIC[39]) - 7.77750)/0.0928000))));
ALGEBRAIC[89] = ALGEBRAIC[84]/(ALGEBRAIC[84]+ALGEBRAIC[88]);
ALGEBRAIC[90] =  CONSTANTS[43]*CONSTANTS[74]*ALGEBRAIC[89]* pow((CONSTANTS[82]/CONSTANTS[44]), 1.0 / 2)*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[96] =  CONSTANTS[47]*CONSTANTS[74]*pow(CONSTANTS[82]/CONSTANTS[44], CONSTANTS[46])*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[93] =  0.580000*STATES[48]+ 0.420000*STATES[50];
ALGEBRAIC[94] =  CONSTANTS[45]*CONSTANTS[74]*pow(ALGEBRAIC[93], 2.00000)*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[99] =  0.650000*STATES[52]+ 0.350000*STATES[54];
ALGEBRAIC[100] =  CONSTANTS[48]*CONSTANTS[74]*ALGEBRAIC[99]*(STATES[24] - ALGEBRAIC[39]);
ALGEBRAIC[102] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))+ 0.0365000*CONSTANTS[179]*exp(( - STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76])));
ALGEBRAIC[141] =  ALGEBRAIC[138]*ALGEBRAIC[102]*(CONSTANTS[82]/(CONSTANTS[82]+CONSTANTS[51]))*(pow(STATES[3], 1.50000)/(pow(STATES[3], 1.50000)+pow(CONSTANTS[53], 1.50000)));
ALGEBRAIC[43] =  CONSTANTS[40]*CONSTANTS[73]*(STATES[23] - ALGEBRAIC[42]);
ALGEBRAIC[108] =  CONSTANTS[62]*CONSTANTS[73]*STATES[55]*STATES[57]*(STATES[23] - ALGEBRAIC[42]);
ALGEBRAIC[73] =  ALGEBRAIC[71]*( (pow(CONSTANTS[91], 2.00000)/pow(CONSTANTS[92], 2.00000))*CONSTANTS[93])*((STATES[2] -  CONSTANTS[83]*exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76])))/(STATES[6] -  CONSTANTS[85]*exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]))))*((1.00000 - exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76])))/(1.00000 - exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[23])/( CONSTANTS[75]*CONSTANTS[76]))));
ALGEBRAIC[116] =  (( CONSTANTS[99]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]))*(STATES[24] - STATES[23]);
ALGEBRAIC[117] = (STATES[24] - STATES[23]==0.00000 ?  CONSTANTS[187]*(STATES[3] - STATES[2]) :  CONSTANTS[187]*ALGEBRAIC[116]*((STATES[3] -  STATES[2]*exp(- ALGEBRAIC[116]))/(1.00000 - exp(- ALGEBRAIC[116]))));
ALGEBRAIC[45] =  CONSTANTS[40]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[44]);
ALGEBRAIC[109] =  CONSTANTS[62]*CONSTANTS[74]*STATES[56]*STATES[58]*(STATES[24] - ALGEBRAIC[44]);
ALGEBRAIC[52] =  (CONSTANTS[178]/CONSTANTS[89])*log(CONSTANTS[85]/STATES[14]);
ALGEBRAIC[72] =  CONSTANTS[23]*(CONSTANTS[24]/(CONSTANTS[24]+ALGEBRAIC[70]))*(STATES[24] - ALGEBRAIC[52]);
ALGEBRAIC[74] =  ALGEBRAIC[72]*( (pow(CONSTANTS[91], 2.00000)/pow(CONSTANTS[92], 2.00000))*CONSTANTS[93])*((STATES[3] -  CONSTANTS[83]*exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76])))/(STATES[14] -  CONSTANTS[85]*exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76]))))*((1.00000 - exp(( - CONSTANTS[92]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76])))/(1.00000 - exp(( - CONSTANTS[91]*CONSTANTS[0]*STATES[24])/( CONSTANTS[75]*CONSTANTS[76]))));
ALGEBRAIC[103] = 1.00000/(1.00000+pow(CONSTANTS[61]/STATES[14], 2.00000));
ALGEBRAIC[104] = exp(( CONSTANTS[60]*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]));
ALGEBRAIC[105] = exp(( (CONSTANTS[60] - 1.00000)*STATES[24]*CONSTANTS[0])/( CONSTANTS[75]*CONSTANTS[76]));
ALGEBRAIC[106] =  pow(CONSTANTS[83], 3.00000)*STATES[14]+ pow(STATES[3], 3.00000)*CONSTANTS[85]+ pow(CONSTANTS[58], 3.00000)*STATES[14]+ CONSTANTS[56]*pow(STATES[3], 3.00000)+ pow(CONSTANTS[57], 3.00000)*CONSTANTS[85]*(1.00000+STATES[14]/CONSTANTS[55])+ CONSTANTS[55]*pow(CONSTANTS[83], 3.00000)*(1.00000+pow(STATES[3]/CONSTANTS[57], 3.00000));
ALGEBRAIC[107] =  CONSTANTS[54]*ALGEBRAIC[103]*(( ALGEBRAIC[104]*pow(STATES[3], 3.00000)*CONSTANTS[85] -  ALGEBRAIC[105]*pow(CONSTANTS[83], 3.00000)*STATES[14])/( ALGEBRAIC[106]*(1.00000+ CONSTANTS[59]*ALGEBRAIC[105])));
ALGEBRAIC[53] =  CONSTANTS[41]*CONSTANTS[74]*(STATES[24] - ALGEBRAIC[52]);
ALGEBRAIC[127] =  ALGEBRAIC[125]*CONSTANTS[74]*(STATES[14]/(CONSTANTS[65]+STATES[14]));
ALGEBRAIC[112] =  0.740000*STATES[62]+0.260000;
ALGEBRAIC[113] =  CONSTANTS[66]*CONSTANTS[74]*STATES[60]*ALGEBRAIC[112]*(STATES[24] - ALGEBRAIC[52]);
ALGEBRAIC[135] = ALGEBRAIC[131]+ALGEBRAIC[133];
ALGEBRAIC[143] = ((((((((ALGEBRAIC[37]+ALGEBRAIC[87]+ALGEBRAIC[95]+ALGEBRAIC[92]+ALGEBRAIC[98]) -  CONSTANTS[0]*ALGEBRAIC[115])+ALGEBRAIC[140]+ALGEBRAIC[43]+ALGEBRAIC[108]+ALGEBRAIC[73]) -  CONSTANTS[0]*ALGEBRAIC[117])+ALGEBRAIC[47]+ALGEBRAIC[81]+ CONSTANTS[0]*ALGEBRAIC[121]+ALGEBRAIC[51]+ALGEBRAIC[126]+ALGEBRAIC[111]+ALGEBRAIC[71]) -  2.00000*CONSTANTS[0]*ALGEBRAIC[119])+ALGEBRAIC[135]) - ALGEBRAIC[55]) - ALGEBRAIC[63];
ALGEBRAIC[137] = ALGEBRAIC[132]+ALGEBRAIC[134];
ALGEBRAIC[144] = ((((ALGEBRAIC[41]+ALGEBRAIC[90]+ALGEBRAIC[96]+ALGEBRAIC[94]+ALGEBRAIC[100]+ CONSTANTS[0]*ALGEBRAIC[115]+ALGEBRAIC[141]+ALGEBRAIC[45]+ALGEBRAIC[109]+ALGEBRAIC[74]+ALGEBRAIC[107]+ CONSTANTS[0]*ALGEBRAIC[117]+ALGEBRAIC[49]+ALGEBRAIC[82]) -  CONSTANTS[0]*ALGEBRAIC[121])+ALGEBRAIC[53]+ALGEBRAIC[127]+ALGEBRAIC[113]+ALGEBRAIC[72]+ 2.00000*CONSTANTS[0]*ALGEBRAIC[119]+ALGEBRAIC[137]) - ALGEBRAIC[57]) - ALGEBRAIC[67];
ALGEBRAIC[33] = (STATES[64]+ALGEBRAIC[16])/CONSTANTS[163];
ALGEBRAIC[36] = ((CONSTANTS[172] -  CONSTANTS[173]*ALGEBRAIC[33])+ CONSTANTS[174]*pow(ALGEBRAIC[33], 2.00000)) -  CONSTANTS[175]*pow(ALGEBRAIC[33], 3.00000);
ALGEBRAIC[142] = ALGEBRAIC[138];
}

void objfunc_0(double *p, double *hx, int m, int n, void *adata)
{
  struct rootfind_info* rfi = (struct rootfind_info*)adata;
#define VOI rfi->aVOI
#define CONSTANTS rfi->aCONSTANTS
#define RATES rfi->aRATES
#define STATES rfi->aSTATES
#define ALGEBRAIC rfi->aALGEBRAIC
#define pret rfi->aPRET
  ALGEBRAIC[2] = *p;
  *hx = (1.00000) - (ALGEBRAIC[2]+STATES[35]+STATES[36]+STATES[37]+STATES[38]+STATES[39]+STATES[40]);
#undef VOI
#undef CONSTANTS
#undef RATES
#undef STATES
#undef ALGEBRAIC
#undef pret
}
void rootfind_0(double VOI, double* CONSTANTS, double* RATES, 
double* STATES, double* ALGEBRAIC, int* pret)
{
  static double val = 0.1;
  double bp, work[LM_DIF_WORKSZ(1, 1)];
  struct rootfind_info rfi;
  rfi.aVOI = VOI;
  rfi.aCONSTANTS = CONSTANTS;
  rfi.aRATES = RATES;
  rfi.aSTATES = STATES;
  rfi.aALGEBRAIC = ALGEBRAIC;
  rfi.aPRET = pret;
  do_levmar(objfunc_0, &val, &bp, work, pret, 1, &rfi);
  ALGEBRAIC[2] = val;
}

void objfunc_1(double *p, double *hx, int m, int n, void *adata)
{
  struct rootfind_info* rfi = (struct rootfind_info*)adata;
#define VOI rfi->aVOI
#define CONSTANTS rfi->aCONSTANTS
#define RATES rfi->aRATES
#define STATES rfi->aSTATES
#define ALGEBRAIC rfi->aALGEBRAIC
#define pret rfi->aPRET
  ALGEBRAIC[3] = *p;
  *hx = (1.00000) - (ALGEBRAIC[3]+STATES[41]+STATES[42]+STATES[43]+STATES[44]+STATES[45]+STATES[46]);
#undef VOI
#undef CONSTANTS
#undef RATES
#undef STATES
#undef ALGEBRAIC
#undef pret
}
void rootfind_1(double VOI, double* CONSTANTS, double* RATES, 
double* STATES, double* ALGEBRAIC, int* pret)
{
  static double val = 0.1;
  double bp, work[LM_DIF_WORKSZ(1, 1)];
  struct rootfind_info rfi;
  rfi.aVOI = VOI;
  rfi.aCONSTANTS = CONSTANTS;
  rfi.aRATES = RATES;
  rfi.aSTATES = STATES;
  rfi.aALGEBRAIC = ALGEBRAIC;
  rfi.aPRET = pret;
  do_levmar(objfunc_1, &val, &bp, work, pret, 1, &rfi);
  ALGEBRAIC[3] = val;
}

void objfunc_2(double *p, double *hx, int m, int n, void *adata)
{
  struct rootfind_info* rfi = (struct rootfind_info*)adata;
#define VOI rfi->aVOI
#define CONSTANTS rfi->aCONSTANTS
#define RATES rfi->aRATES
#define STATES rfi->aSTATES
#define ALGEBRAIC rfi->aALGEBRAIC
#define pret rfi->aPRET
  ALGEBRAIC[64] = p[0];
  ALGEBRAIC[65] = p[1];
  hx[0] = ALGEBRAIC[65] -  (STATES[27]/CONSTANTS[90])*ALGEBRAIC[64];
  hx[1] = ALGEBRAIC[64] - (1.00000 - (STATES[29]+STATES[31]+STATES[33]+ALGEBRAIC[58]+ALGEBRAIC[60]+ALGEBRAIC[62]+ALGEBRAIC[65]));
#undef VOI
#undef CONSTANTS
#undef RATES
#undef STATES
#undef ALGEBRAIC
#undef pret
}
void rootfind_2(double VOI, double* CONSTANTS, double* RATES,
double* STATES, double* ALGEBRAIC, int* pret)
{
  static double p[2] = {0.1,0.1};
  double bp[2], work[LM_DIF_WORKSZ(2, 2)];
  struct rootfind_info rfi;
  rfi.aVOI = VOI;
  rfi.aCONSTANTS = CONSTANTS;
  rfi.aRATES = RATES;
  rfi.aSTATES = STATES;
  rfi.aALGEBRAIC = ALGEBRAIC;
  rfi.aPRET = pret;
  do_levmar(objfunc_2, p, bp, work, pret, 2, &rfi);
  ALGEBRAIC[64] = p[0];
  ALGEBRAIC[65] = p[1];
}

void objfunc_3(double *p, double *hx, int m, int n, void *adata)
{
  struct rootfind_info* rfi = (struct rootfind_info*)adata;
#define VOI rfi->aVOI
#define CONSTANTS rfi->aCONSTANTS
#define RATES rfi->aRATES
#define STATES rfi->aSTATES
#define ALGEBRAIC rfi->aALGEBRAIC
#define pret rfi->aPRET
  ALGEBRAIC[68] = p[0];
  ALGEBRAIC[69] = p[1];
  hx[0] = ALGEBRAIC[69] -  (STATES[28]/CONSTANTS[90])*ALGEBRAIC[68];
  hx[1] = ALGEBRAIC[68] - (1.00000 - (STATES[30]+STATES[32]+STATES[34]+ALGEBRAIC[59]+ALGEBRAIC[61]+ALGEBRAIC[66]+ALGEBRAIC[69]));
#undef VOI
#undef CONSTANTS
#undef RATES
#undef STATES
#undef ALGEBRAIC
#undef pret
}
void rootfind_3(double VOI, double* CONSTANTS, double* RATES,
double* STATES, double* ALGEBRAIC, int* pret)
{
  static double p[2] = {0.1,0.1};
  double bp[2], work[LM_DIF_WORKSZ(2, 2)];
  struct rootfind_info rfi;
  rfi.aVOI = VOI;
  rfi.aCONSTANTS = CONSTANTS;
  rfi.aRATES = RATES;
  rfi.aSTATES = STATES;
  rfi.aALGEBRAIC = ALGEBRAIC;
  rfi.aPRET = pret;
  do_levmar(objfunc_3, p, bp, work, pret, 2, &rfi);
  ALGEBRAIC[68] = p[0];
  ALGEBRAIC[69] = p[1];
}