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];
}
