/* There are a total of 119 entries in the algebraic variable array. There are a total of 31 entries in each of the rate and state variable arrays. There are a total of 130 entries in the constant variable array. */ /* * VOI is time in component environment (second). * CONSTANTS[0] is L_totmax in component b1_AR_Gs_parameters (uM). * CONSTANTS[1] is sum_b1_AR in component b1_AR_Gs_parameters (uM). * CONSTANTS[2] is Gs_tot in component b1_AR_Gs_parameters (uM). * CONSTANTS[3] is Kl in component b1_AR_Gs_parameters (uM). * CONSTANTS[4] is Kr in component b1_AR_Gs_parameters (uM). * CONSTANTS[5] is Kc in component b1_AR_Gs_parameters (uM). * CONSTANTS[6] is k_bar_kp in component b1_AR_Gs_parameters (per_sec). * CONSTANTS[7] is k_bar_km in component b1_AR_Gs_parameters (per_sec). * CONSTANTS[8] is k_p_kap in component b1_AR_Gs_parameters (per_uM_per_sec). * CONSTANTS[9] is k_p_kam in component b1_AR_Gs_parameters (per_sec). * CONSTANTS[10] is k_g_act in component b1_AR_Gs_parameters (per_sec). * CONSTANTS[11] is k_hyd in component b1_AR_Gs_parameters (per_sec). * CONSTANTS[12] is k_reassoc in component b1_AR_Gs_parameters (per_uM_per_sec). * CONSTANTS[13] is AC_tot in component cAMP_parameters (uM). * CONSTANTS[14] is ATP in component cAMP_parameters (uM). * CONSTANTS[15] is PDE_tot in component cAMP_parameters (uM). * CONSTANTS[16] is IBMX_tot in component cAMP_parameters (uM). * CONSTANTS[17] is Fsk_tot in component cAMP_parameters (uM). * CONSTANTS[18] is k_ac_basal in component cAMP_parameters (per_sec). * CONSTANTS[19] is k_ac_gsa in component cAMP_parameters (per_sec). * CONSTANTS[20] is k_ac_fsk in component cAMP_parameters (per_sec). * CONSTANTS[21] is k_pde in component cAMP_parameters (per_sec). * CONSTANTS[22] is Km_basal in component cAMP_parameters (uM). * CONSTANTS[23] is Km_gsa in component cAMP_parameters (uM). * CONSTANTS[24] is Km_fsk in component cAMP_parameters (uM). * CONSTANTS[25] is Km_pde in component cAMP_parameters (uM). * CONSTANTS[26] is K_gsa in component cAMP_parameters (uM). * CONSTANTS[27] is K_fsk in component cAMP_parameters (uM). * CONSTANTS[28] is Ki_ibmx in component cAMP_parameters (uM). * CONSTANTS[29] is PKAI_tot in component PKA_parameters (uM). * CONSTANTS[30] is PKAII_tot in component PKA_parameters (uM). * CONSTANTS[31] is PKI_tot in component PKA_parameters (uM). * CONSTANTS[32] is K_a in component PKA_parameters (uM). * CONSTANTS[33] is K_b in component PKA_parameters (uM). * CONSTANTS[34] is K_d in component PKA_parameters (uM). * CONSTANTS[35] is Ki_pki in component PKA_parameters (uM). * CONSTANTS[36] is PLB_tot in component PLB_parameters (uM). * CONSTANTS[37] is PP1_tot in component PLB_parameters (uM). * CONSTANTS[38] is Inhib1_tot in component PLB_parameters (uM). * CONSTANTS[39] is k_pka_plb in component PLB_parameters (per_sec). * CONSTANTS[40] is Km_pka_plb in component PLB_parameters (uM). * CONSTANTS[41] is k_pp1_plb in component PLB_parameters (per_sec). * CONSTANTS[42] is Km_pp1_plb in component PLB_parameters (uM). * CONSTANTS[43] is k_pka_i1 in component PLB_parameters (per_sec). * CONSTANTS[44] is Km_pka_i1 in component PLB_parameters (uM). * CONSTANTS[45] is Vmax_pp2a_i1 in component PLB_parameters (uM_per_sec). * CONSTANTS[46] is Km_pp2a_i1 in component PLB_parameters (uM). * CONSTANTS[47] is Ki_inhib1 in component PLB_parameters (uM). * CONSTANTS[48] is epsilon in component LCC_parameters (dimensionless). * CONSTANTS[49] is LCC_tot in component LCC_parameters (uM). * CONSTANTS[50] is PP1_lcc_tot in component LCC_parameters (uM). * CONSTANTS[51] is PP2A_lcc_tot in component LCC_parameters (uM). * CONSTANTS[52] is k_pka_lcc in component LCC_parameters (per_sec). * CONSTANTS[53] is Km_pka_lcc in component LCC_parameters (uM). * CONSTANTS[54] is k_pp1_lcc in component LCC_parameters (per_sec). * CONSTANTS[55] is Km_pp1_lcc in component LCC_parameters (uM). * CONSTANTS[56] is k_pp2a_lcc in component LCC_parameters (per_sec). * CONSTANTS[57] is Km_pp2a_lcc in component LCC_parameters (uM). * CONSTANTS[58] is V_myo in component EC_Coupling_Parameters (uL). * CONSTANTS[59] is V_nsr in component EC_Coupling_Parameters (uL). * CONSTANTS[60] is V_jsr in component EC_Coupling_Parameters (uL). * CONSTANTS[61] is A_Cap in component EC_Coupling_Parameters (cm2). * CONSTANTS[62] is Temp in component EC_Coupling_Parameters (kelvin). * CONSTANTS[63] is Na_ext in component EC_Coupling_Parameters (mM). * CONSTANTS[64] is K_ext in component EC_Coupling_Parameters (mM). * CONSTANTS[65] is Ca_ext in component EC_Coupling_Parameters (mM). * CONSTANTS[66] is G_Na in component EC_Coupling_Parameters (mS_per_uF). * CONSTANTS[67] is G_to in component EC_Coupling_Parameters (mS_per_uF). * CONSTANTS[68] is G_ss in component EC_Coupling_Parameters (mS_per_uF). * CONSTANTS[69] is G_Ki_bar in component EC_Coupling_Parameters (mS_per_uF). * CONSTANTS[70] is G_Kp in component EC_Coupling_Parameters (mS_per_uF). * CONSTANTS[71] is f in component EC_Coupling_Parameters (per_sec). * CONSTANTS[72] is g in component EC_Coupling_Parameters (per_sec). * CONSTANTS[73] is gamma_o in component EC_Coupling_Parameters (per_mM_per_sec). * CONSTANTS[74] is omega in component EC_Coupling_Parameters (per_sec). * CONSTANTS[75] is p_Ca in component EC_Coupling_Parameters (cm_per_sec). * CONSTANTS[76] is p_K in component EC_Coupling_Parameters (cm_per_sec). * CONSTANTS[77] is N_lcc in component EC_Coupling_Parameters (dimensionless). * CONSTANTS[78] is I_Ca05 in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[79] is k_NaCa in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[80] is Km_Na in component EC_Coupling_Parameters (mM). * CONSTANTS[81] is Km_Ca in component EC_Coupling_Parameters (mM). * CONSTANTS[82] is k_sat in component EC_Coupling_Parameters (dimensionless). * CONSTANTS[83] is eta in component EC_Coupling_Parameters (dimensionless). * CONSTANTS[84] is I_bar_NaK in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[85] is Km_Nai in component EC_Coupling_Parameters (mM). * CONSTANTS[86] is Km_Ko in component EC_Coupling_Parameters (mM). * CONSTANTS[87] is I_bar_PCa in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[88] is Km_PCa in component EC_Coupling_Parameters (mM). * CONSTANTS[89] is G_CaB in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[90] is G_NaB in component EC_Coupling_Parameters (uA_per_uF). * CONSTANTS[91] is Pns in component EC_Coupling_Parameters (dimensionless). * CONSTANTS[92] is Km_NS in component EC_Coupling_Parameters (mM). * CONSTANTS[93] is I_up_bar in component EC_Coupling_Parameters (mM_per_sec). * CONSTANTS[94] is Km_up0 in component EC_Coupling_Parameters (mM). * CONSTANTS[95] is NSR_bar in component EC_Coupling_Parameters (mM). * CONSTANTS[96] is tau_on in component EC_Coupling_Parameters (second). * CONSTANTS[97] is tau_off in component EC_Coupling_Parameters (second). * CONSTANTS[98] is G_max_rel in component EC_Coupling_Parameters (mM_per_sec). * CONSTANTS[99] is d_Cai_th in component EC_Coupling_Parameters (mM). * CONSTANTS[100] is Km_rel in component EC_Coupling_Parameters (mM). * CONSTANTS[101] is CSQN_th in component EC_Coupling_Parameters (mM). * CONSTANTS[102] is CSQN_bar in component EC_Coupling_Parameters (mM). * CONSTANTS[103] is Km_CSQN in component EC_Coupling_Parameters (mM). * CONSTANTS[104] is tau_tr in component EC_Coupling_Parameters (second). * CONSTANTS[105] is TRPN_bar in component EC_Coupling_Parameters (mM). * CONSTANTS[106] is CMDN_bar in component EC_Coupling_Parameters (mM). * CONSTANTS[107] is INDO_bar in component EC_Coupling_Parameters (mM). * CONSTANTS[108] is Km_TRPN in component EC_Coupling_Parameters (mM). * CONSTANTS[109] is Km_CMDN in component EC_Coupling_Parameters (mM). * CONSTANTS[110] is Km_INDO in component EC_Coupling_Parameters (mM). * ALGEBRAIC[62] is LR in component b1_AR_module (uM). * ALGEBRAIC[63] is LRG in component b1_AR_module (uM). * ALGEBRAIC[64] is RG in component b1_AR_module (uM). * ALGEBRAIC[80] is BARK_DESENS in component b1_AR_module (uM_per_sec). * ALGEBRAIC[11] is BARK_RESENS in component b1_AR_module (uM_per_sec). * ALGEBRAIC[88] is PKA_DESENS in component b1_AR_module (uM_per_sec). * ALGEBRAIC[23] is PKA_RESENS in component b1_AR_module (uM_per_sec). * ALGEBRAIC[81] is G_ACT in component b1_AR_module (uM_per_sec). * ALGEBRAIC[25] is HYD in component b1_AR_module (uM_per_sec). * ALGEBRAIC[27] is REASSOC in component b1_AR_module (per_sec). * ALGEBRAIC[65] is L in component b1_AR_module (uM). * ALGEBRAIC[66] is R in component b1_AR_module (uM). * ALGEBRAIC[67] is Gs in component b1_AR_module (uM). * STATES[0] is b1_AR_tot in component b1_AR_module (uM). * STATES[1] is b1_AR_d in component b1_AR_module (uM). * STATES[2] is b1_AR_p in component b1_AR_module (uM). * STATES[3] is Gs_agtp_tot in component b1_AR_module (uM). * STATES[4] is Gs_agdp in component b1_AR_module (uM). * STATES[5] is Gs_bg in component b1_AR_module (uM). * ALGEBRAIC[68] is PKAC_I in component PKA_module (uM). * ALGEBRAIC[69] is cAMP in component PKA_module (uM). * ALGEBRAIC[42] is Gsa_GTP in component cAMP_module (uM). * ALGEBRAIC[50] is Fsk in component cAMP_module (uM). * ALGEBRAIC[43] is AC in component cAMP_module (uM). * CONSTANTS[127] is PDE in component cAMP_module (uM). * CONSTANTS[128] is IBMX in component cAMP_module (uM). * STATES[6] is cAMP_tot in component cAMP_module (uM). * ALGEBRAIC[44] is Gsa_GTP_AC in component cAMP_module (uM). * ALGEBRAIC[51] is Fsk_AC in component cAMP_module (uM). * ALGEBRAIC[48] is AC_ACT_GSA in component cAMP_module (uM). * ALGEBRAIC[46] is AC_ACT_BASAL in component cAMP_module (uM). * ALGEBRAIC[53] is AC_ACT_FSK in component cAMP_module (uM). * ALGEBRAIC[82] is PDE_ACT in component cAMP_module (uM). * CONSTANTS[129] is PDE_IBMX in component cAMP_module (uM). * ALGEBRAIC[70] is PKI in component PKA_module (uM). * ALGEBRAIC[71] is A2RC_I in component PKA_module (uM). * ALGEBRAIC[72] is A2R_I in component PKA_module (uM). * ALGEBRAIC[73] is A2RC_II in component PKA_module (uM). * ALGEBRAIC[74] is A2R_II in component PKA_module (uM). * ALGEBRAIC[75] is ARC_I in component PKA_module (uM). * ALGEBRAIC[76] is ARC_II in component PKA_module (uM). * ALGEBRAIC[77] is PKA_temp in component PKA_module (uM). * ALGEBRAIC[78] is PKAC_II in component PKA_module (uM). * ALGEBRAIC[29] is PLB in component PLB_module (uM). * ALGEBRAIC[83] is PLB_PHOSPH in component PLB_module (uM_per_sec). * ALGEBRAIC[60] is PLB_DEPHOSPH in component PLB_module (uM_per_sec). * ALGEBRAIC[30] is Inhib1 in component PLB_module (uM). * ALGEBRAIC[55] is Inhib1p_PP1 in component PLB_module (uM). * ALGEBRAIC[84] is Inhib1_PHOSPH in component PLB_module (uM_per_sec). * ALGEBRAIC[32] is Inhib1_DEPHOSPH in component PLB_module (uM_per_sec). * STATES[7] is PLB_p in component PLB_module (uM). * STATES[8] is Inhib1p_tot in component PLB_module (uM). * ALGEBRAIC[56] is Inhib1p in component PLB_module (uM). * ALGEBRAIC[57] is PP1 in component PLB_module (uM). * ALGEBRAIC[0] is frac_PLB_p in component PLB_module (dimensionless). * ALGEBRAIC[31] is frac_PLB in component PLB_module (dimensionless). * CONSTANTS[119] is frac_PLB_o in component PLB_module (dimensionless). * ALGEBRAIC[34] is LCCa in component LCC_module (uM). * ALGEBRAIC[85] is LCCa_PHOSPH in component LCC_module (uM_per_sec). * ALGEBRAIC[36] is LCCa_DEPHOSPH in component LCC_module (uM_per_sec). * ALGEBRAIC[38] is LCCb in component LCC_module (uM). * ALGEBRAIC[86] is LCCb_PHOSPH in component LCC_module (uM_per_sec). * ALGEBRAIC[40] is LCCb_DEPHOSPH in component LCC_module (uM_per_sec). * STATES[9] is LCCa_p in component LCC_module (uM). * STATES[10] is LCCb_p in component LCC_module (uM). * ALGEBRAIC[1] is frac_LCCa_p in component LCC_module (dimensionless). * CONSTANTS[120] is frac_LCCa_po in component LCC_module (dimensionless). * ALGEBRAIC[33] is frac_LCCb_p in component LCC_module (dimensionless). * CONSTANTS[121] is frac_LCCb_po in component LCC_module (dimensionless). * ALGEBRAIC[35] is E_Na in component Nernst_Potentials (mV). * ALGEBRAIC[37] is E_K in component Nernst_Potentials (mV). * ALGEBRAIC[39] is E_Ca in component Nernst_Potentials (mV). * CONSTANTS[122] is E_Cl in component Nernst_Potentials (mV). * CONSTANTS[111] is R in component Nernst_Potentials (joules_per_mole_kelvin). * CONSTANTS[112] is Frdy in component Nernst_Potentials (coulombs_per_mole). * CONSTANTS[123] is FoRT in component Nernst_Potentials (per_mV). * CONSTANTS[113] is z_Na in component Nernst_Potentials (dimensionless). * CONSTANTS[114] is z_K in component Nernst_Potentials (dimensionless). * CONSTANTS[115] is z_Ca in component Nernst_Potentials (dimensionless). * STATES[11] is Na_i in component Ion_Concentrations_and_Membrane_Potential (mM). * STATES[12] is K_i in component Ion_Concentrations_and_Membrane_Potential (mM). * STATES[13] is Ca_i in component Ion_Concentrations_and_Membrane_Potential (mM). * ALGEBRAIC[2] is am in component Fast_Na_Current (per_sec). * ALGEBRAIC[13] is bm in component Fast_Na_Current (per_sec). * ALGEBRAIC[3] is ah in component Fast_Na_Current (per_sec). * ALGEBRAIC[4] is aj in component Fast_Na_Current (per_sec). * ALGEBRAIC[14] is bh in component Fast_Na_Current (per_sec). * ALGEBRAIC[15] is bj in component Fast_Na_Current (per_sec). * STATES[14] is m in component Fast_Na_Current (dimensionless). * STATES[15] is h in component Fast_Na_Current (dimensionless). * STATES[16] is j in component Fast_Na_Current (dimensionless). * ALGEBRAIC[41] is I_Na in component Fast_Na_Current (uA_per_uF). * STATES[17] is V_m in component Ion_Concentrations_and_Membrane_Potential (mV). * ALGEBRAIC[5] is a_lcc in component L_Type_Calcium_Current (per_sec). * ALGEBRAIC[16] is b_lcc in component L_Type_Calcium_Current (per_sec). * ALGEBRAIC[18] is f_lcc in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[6] is y_lcc_inf in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[17] is tau_y_lcc in component L_Type_Calcium_Current (second). * ALGEBRAIC[24] is gamma in component L_Type_Calcium_Current (per_mM_per_sec). * ALGEBRAIC[26] is v_gamma in component L_Type_Calcium_Current (per_mM_per_sec). * ALGEBRAIC[28] is v_omega in component L_Type_Calcium_Current (dimensionless). * STATES[18] is v in component L_Type_Calcium_Current (dimensionless). * STATES[19] is w in component L_Type_Calcium_Current (dimensionless). * STATES[20] is x in component L_Type_Calcium_Current (dimensionless). * STATES[21] is y in component L_Type_Calcium_Current (dimensionless). * STATES[22] is z in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[45] is i_bar_Ca in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[47] is i_bar_K in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[49] is f_avail in component L_Type_Calcium_Current (dimensionless). * ALGEBRAIC[52] is I_Ca in component L_Type_Calcium_Current (uA_per_uF). * ALGEBRAIC[54] is I_CaK in component L_Type_Calcium_Current (uA_per_uF). * ALGEBRAIC[58] is I_Ca_tot in component L_Type_Calcium_Current (uA_per_uF). * ALGEBRAIC[7] is r_toss in component Transient_Outward_K_Current (dimensionless). * ALGEBRAIC[8] is s_toss in component Transient_Outward_K_Current (dimensionless). * ALGEBRAIC[19] is tau_r_to in component Transient_Outward_K_Current (second). * ALGEBRAIC[20] is tau_s_to in component Transient_Outward_K_Current (second). * ALGEBRAIC[21] is tau_ss_to in component Transient_Outward_K_Current (second). * STATES[23] is r_to in component Transient_Outward_K_Current (dimensionless). * STATES[24] is s_to in component Transient_Outward_K_Current (dimensionless). * STATES[25] is ss_to in component Transient_Outward_K_Current (dimensionless). * ALGEBRAIC[59] is I_to in component Transient_Outward_K_Current (uA_per_uF). * ALGEBRAIC[9] is r_ss_inf in component Steady_State_K_Current (dimensionless). * ALGEBRAIC[22] is tau_r_ss in component Steady_State_K_Current (second). * ALGEBRAIC[10] is s_ss_inf in component Steady_State_K_Current (dimensionless). * CONSTANTS[124] is tau_s_ss in component Steady_State_K_Current (second). * STATES[26] is r_ss in component Steady_State_K_Current (dimensionless). * STATES[27] is s_ss in component Steady_State_K_Current (dimensionless). * ALGEBRAIC[61] is I_ss in component Steady_State_K_Current (uA_per_uF). * ALGEBRAIC[79] is a_Ki in component Time_Independent_K_Current (dimensionless). * ALGEBRAIC[87] is b_Ki in component Time_Independent_K_Current (dimensionless). * ALGEBRAIC[89] is Ki_ss in component Time_Independent_K_Current (dimensionless). * ALGEBRAIC[90] is I_Ki in component Time_Independent_K_Current (uA_per_uF). * ALGEBRAIC[91] is Kp in component Plateau_K_Current (dimensionless). * ALGEBRAIC[92] is I_Kp in component Plateau_K_Current (uA_per_uF). * ALGEBRAIC[93] is s4 in component Na_Ca_Exchanger_Current (dimensionless). * ALGEBRAIC[94] is s5 in component Na_Ca_Exchanger_Current (dimensionless). * ALGEBRAIC[95] is I_NCX in component Na_Ca_Exchanger_Current (uA_per_uF). * CONSTANTS[125] is sigma in component Na_K_Pump_Current (dimensionless). * ALGEBRAIC[96] is f_NaK in component Na_K_Pump_Current (dimensionless). * ALGEBRAIC[97] is I_NaK in component Na_K_Pump_Current (uA_per_uF). * ALGEBRAIC[98] is I_PCa in component Sarcolemmal_Ca_Pump_Current (uA_per_uF). * ALGEBRAIC[99] is I_CaB in component Ca_Background_Current (uA_per_uF). * ALGEBRAIC[100] is I_NaB in component Na_Background_Current (uA_per_uF). * ALGEBRAIC[101] is I_Na_tot in component Total_Membrane_Currents (uA_per_uF). * ALGEBRAIC[102] is I_K_tot in component Total_Membrane_Currents (uA_per_uF). * ALGEBRAIC[103] is I_Ca_tot in component Total_Membrane_Currents (uA_per_uF). * ALGEBRAIC[104] is t_rel in component Calcium_Induced_Calcium_Release (second). * ALGEBRAIC[105] is ryr_on in component Calcium_Induced_Calcium_Release (dimensionless). * ALGEBRAIC[106] is ryr_off in component Calcium_Induced_Calcium_Release (dimensionless). * ALGEBRAIC[107] is g_rel in component Calcium_Induced_Calcium_Release (per_sec). * ALGEBRAIC[108] is I_rel in component Calcium_Induced_Calcium_Release (mM_per_sec). * STATES[28] is Ca_jsr in component Other_SR_Fluxes_and_Concentrations (mM). * STATES[29] is trel in component Ion_Concentrations_and_Membrane_Potential (second). * ALGEBRAIC[109] is Km_up in component Other_SR_Fluxes_and_Concentrations (mM). * ALGEBRAIC[110] is I_up in component Other_SR_Fluxes_and_Concentrations (mM_per_sec). * ALGEBRAIC[111] is I_leak in component Other_SR_Fluxes_and_Concentrations (mM_per_sec). * ALGEBRAIC[112] is I_tr in component Other_SR_Fluxes_and_Concentrations (mM_per_sec). * ALGEBRAIC[114] is B_jsr in component Other_SR_Fluxes_and_Concentrations (dimensionless). * STATES[30] is Ca_nsr in component Other_SR_Fluxes_and_Concentrations (mM). * ALGEBRAIC[116] is SR_content in component Other_SR_Fluxes_and_Concentrations (uM). * ALGEBRAIC[113] is b_trpn in component Cytoplasmic_Calcium_Buffering (dimensionless). * ALGEBRAIC[115] is b_cmdn in component Cytoplasmic_Calcium_Buffering (dimensionless). * ALGEBRAIC[117] is b_indo in component Cytoplasmic_Calcium_Buffering (dimensionless). * ALGEBRAIC[118] is B_myo in component Cytoplasmic_Calcium_Buffering (dimensionless). * CONSTANTS[126] is I_app in component Ion_Concentrations_and_Membrane_Potential (uA_per_uF). * CONSTANTS[116] is V_hold in component Ion_Concentrations_and_Membrane_Potential (mV). * CONSTANTS[117] is V_test in component Ion_Concentrations_and_Membrane_Potential (mV). * ALGEBRAIC[12] is V_clamp in component Ion_Concentrations_and_Membrane_Potential (mV). * CONSTANTS[118] is R_clamp in component Ion_Concentrations_and_Membrane_Potential (dimensionless). * RATES[0] is d/dt b1_AR_tot in component b1_AR_module (uM). * RATES[1] is d/dt b1_AR_d in component b1_AR_module (uM). * RATES[2] is d/dt b1_AR_p in component b1_AR_module (uM). * RATES[3] is d/dt Gs_agtp_tot in component b1_AR_module (uM). * RATES[4] is d/dt Gs_agdp in component b1_AR_module (uM). * RATES[5] is d/dt Gs_bg in component b1_AR_module (uM). * RATES[6] is d/dt cAMP_tot in component cAMP_module (uM). * RATES[7] is d/dt PLB_p in component PLB_module (uM). * RATES[8] is d/dt Inhib1p_tot in component PLB_module (uM). * RATES[9] is d/dt LCCa_p in component LCC_module (uM). * RATES[10] is d/dt LCCb_p in component LCC_module (uM). * RATES[14] is d/dt m in component Fast_Na_Current (dimensionless). * RATES[15] is d/dt h in component Fast_Na_Current (dimensionless). * RATES[16] is d/dt j in component Fast_Na_Current (dimensionless). * RATES[18] is d/dt v in component L_Type_Calcium_Current (dimensionless). * RATES[19] is d/dt w in component L_Type_Calcium_Current (dimensionless). * RATES[20] is d/dt x in component L_Type_Calcium_Current (dimensionless). * RATES[21] is d/dt y in component L_Type_Calcium_Current (dimensionless). * RATES[22] is d/dt z in component L_Type_Calcium_Current (dimensionless). * RATES[23] is d/dt r_to in component Transient_Outward_K_Current (dimensionless). * RATES[24] is d/dt s_to in component Transient_Outward_K_Current (dimensionless). * RATES[25] is d/dt ss_to in component Transient_Outward_K_Current (dimensionless). * RATES[26] is d/dt r_ss in component Steady_State_K_Current (dimensionless). * RATES[27] is d/dt s_ss in component Steady_State_K_Current (dimensionless). * RATES[30] is d/dt Ca_nsr in component Other_SR_Fluxes_and_Concentrations (mM). * RATES[28] is d/dt Ca_jsr in component Other_SR_Fluxes_and_Concentrations (mM). * RATES[11] is d/dt Na_i in component Ion_Concentrations_and_Membrane_Potential (mM). * RATES[12] is d/dt K_i in component Ion_Concentrations_and_Membrane_Potential (mM). * RATES[13] is d/dt Ca_i in component Ion_Concentrations_and_Membrane_Potential (mM). * RATES[17] is d/dt V_m in component Ion_Concentrations_and_Membrane_Potential (mV). * RATES[29] is d/dt trel in component Ion_Concentrations_and_Membrane_Potential (second). */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { CONSTANTS[0] = 1; CONSTANTS[1] = 0.0132; CONSTANTS[2] = 3.83; CONSTANTS[3] = 0.285; CONSTANTS[4] = 0.062; CONSTANTS[5] = 33; CONSTANTS[6] = 1.1e-3; CONSTANTS[7] = 2.2e-3; CONSTANTS[8] = 3.6e-3; CONSTANTS[9] = 2.2e-3; CONSTANTS[10] = 16; CONSTANTS[11] = 0.8; CONSTANTS[12] = 1.21e3; CONSTANTS[13] = 49.7e-3; CONSTANTS[14] = 5e3; CONSTANTS[15] = 38.9e-3; CONSTANTS[16] = 0; CONSTANTS[17] = 0; CONSTANTS[18] = 0.2; CONSTANTS[19] = 8.5; CONSTANTS[20] = 7.3; CONSTANTS[21] = 5; CONSTANTS[22] = 1.03e3; CONSTANTS[23] = 315; CONSTANTS[24] = 860; CONSTANTS[25] = 1.3; CONSTANTS[26] = 0.4; CONSTANTS[27] = 44; CONSTANTS[28] = 30; CONSTANTS[29] = 0.59; CONSTANTS[30] = 0.025; CONSTANTS[31] = 0.18; CONSTANTS[32] = 9.14; CONSTANTS[33] = 1.64; CONSTANTS[34] = 4.375; CONSTANTS[35] = 0.2e-3; CONSTANTS[36] = 106; CONSTANTS[37] = 0.89; CONSTANTS[38] = 0.3; CONSTANTS[39] = 54; CONSTANTS[40] = 21; CONSTANTS[41] = 8.5; CONSTANTS[42] = 7; CONSTANTS[43] = 60; CONSTANTS[44] = 1; CONSTANTS[45] = 14; CONSTANTS[46] = 1; CONSTANTS[47] = 1e-3; CONSTANTS[48] = 10; CONSTANTS[49] = 25e-3; CONSTANTS[50] = 25e-3; CONSTANTS[51] = 25e-3; CONSTANTS[52] = 54; CONSTANTS[53] = 21; CONSTANTS[54] = 8.52; CONSTANTS[55] = 3; CONSTANTS[56] = 10.1; CONSTANTS[57] = 3; CONSTANTS[58] = 20.8e-6; CONSTANTS[59] = 9.88e-7; CONSTANTS[60] = 9.3e-8; CONSTANTS[61] = 1.534e-4; CONSTANTS[62] = 310; CONSTANTS[63] = 140; CONSTANTS[64] = 5.4; CONSTANTS[65] = 1.8; CONSTANTS[66] = 8; CONSTANTS[67] = 0.35; CONSTANTS[68] = 0.07; CONSTANTS[69] = 0.24; CONSTANTS[70] = 0.008; CONSTANTS[71] = 300; CONSTANTS[72] = 2e3; CONSTANTS[73] = 5187.5; CONSTANTS[74] = 10; CONSTANTS[75] = 1.7469e-8; CONSTANTS[76] = 3.234e-11; CONSTANTS[77] = 3e5; CONSTANTS[78] = -0.458; CONSTANTS[79] = 1483; CONSTANTS[80] = 87.5; CONSTANTS[81] = 1.38; CONSTANTS[82] = 0.1; CONSTANTS[83] = 0.35; CONSTANTS[84] = 1.1; CONSTANTS[85] = 10; CONSTANTS[86] = 1.5; CONSTANTS[87] = 1.15; CONSTANTS[88] = 0.5e-3; CONSTANTS[89] = 2.8e-3; CONSTANTS[90] = 1.18e-3; CONSTANTS[91] = 0; CONSTANTS[92] = 1.2e-3; CONSTANTS[93] = 4.7; CONSTANTS[94] = 3e-4; CONSTANTS[95] = 15; CONSTANTS[96] = 2e-3; CONSTANTS[97] = 2e-3; CONSTANTS[98] = 60e3; CONSTANTS[99] = 0.18e-3; CONSTANTS[100] = 0.8e-3; CONSTANTS[101] = 8.75; CONSTANTS[102] = 15; CONSTANTS[103] = 0.8; CONSTANTS[104] = 5.7e-4; CONSTANTS[105] = 0.07; CONSTANTS[106] = 0.05; CONSTANTS[107] = 0.07; CONSTANTS[108] = 0.5128e-3; CONSTANTS[109] = 2.38e-3; CONSTANTS[110] = 8.44e-4; STATES[0] = 0.01205; STATES[1] = 0; STATES[2] = 1.154e-3; STATES[3] = 0.02505; STATES[4] = 6.446e-4; STATES[5] = 0.02569; STATES[6] = 0.8453; STATES[7] = 4.105; STATES[8] = 0.0526; STATES[9] = 5.103e-3; STATES[10] = 5.841e-3; CONSTANTS[111] = 8314; CONSTANTS[112] = 96485; CONSTANTS[113] = 1; CONSTANTS[114] = 1; CONSTANTS[115] = 2; STATES[11] = 16; STATES[12] = 145; STATES[13] = 1.58e-4; STATES[14] = 1.4e-3; STATES[15] = 0.99; STATES[16] = 0.99; STATES[17] = -85.66; STATES[18] = 0; STATES[19] = 0; STATES[20] = 0.13; STATES[21] = 0.96; STATES[22] = 0.92; STATES[23] = 1.4e-3; STATES[24] = 1; STATES[25] = 0.613; STATES[26] = 198e-3; STATES[27] = 0.43; STATES[28] = 1.92; STATES[29] = 0.9; STATES[30] = 1.92; CONSTANTS[116] = -40; CONSTANTS[117] = -10; CONSTANTS[118] = 0.02; CONSTANTS[119] = 0.961300; CONSTANTS[120] = 0.204100; CONSTANTS[121] = 0.233600; CONSTANTS[122] = - 40.0000; CONSTANTS[123] = (CONSTANTS[112]/CONSTANTS[111])/CONSTANTS[62]; CONSTANTS[124] = 2.10000; CONSTANTS[125] = (exp(CONSTANTS[63]/67.3000) - 1.00000)/7.00000; CONSTANTS[126] = 0.00000; rootfind_0(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret); } void computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[17]+87.5000)/10.3000)); RATES[27] = (ALGEBRAIC[10] - STATES[27])/CONSTANTS[124]; ALGEBRAIC[2] = ( 0.320000*(STATES[17]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[17]+47.1300))); ALGEBRAIC[13] = 0.0800000*exp(- STATES[17]/11.0000); RATES[14] = 1000.00*( ALGEBRAIC[2]*(1.00000 - STATES[14]) - ALGEBRAIC[13]*STATES[14]); ALGEBRAIC[3] = (STATES[17]>=- 40.0000 ? 0.00000 : 0.135000*exp((80.0000+STATES[17])/- 6.80000)); ALGEBRAIC[14] = (STATES[17]>=- 40.0000 ? 1.00000/( 0.130000*(1.00000+exp(- (STATES[17]+10.6600)/11.1000))) : 3.56000*exp( 0.0790000*STATES[17])+ 310000.*exp( 0.350000*STATES[17])); RATES[15] = 1000.00*( ALGEBRAIC[3]*(1.00000 - STATES[15]) - ALGEBRAIC[14]*STATES[15]); ALGEBRAIC[4] = (STATES[17]>=- 40.0000 ? 0.00000 : ( ( - 127140.*exp( 0.244400*STATES[17]) - 3.47400e-05*exp( - 0.0439100*STATES[17]))*(STATES[17]+37.7800))/(1.00000+exp( 0.311000*(STATES[17]+79.2300)))); ALGEBRAIC[15] = (STATES[17]>=- 40.0000 ? ( 0.300000*exp( - 2.57500e-07*STATES[17]))/(1.00000+exp( - 0.100000*(STATES[17]+32.0000))) : ( 0.121200*exp( - 0.0105200*STATES[17]))/(1.00000+exp( - 0.137800*(STATES[17]+40.1400)))); RATES[16] = 1000.00*( ALGEBRAIC[4]*(1.00000 - STATES[16]) - ALGEBRAIC[15]*STATES[16]); ALGEBRAIC[5] = 400.000*exp((STATES[17]+2.00000)/10.0000); ALGEBRAIC[16] = 50.0000*exp(( - 1.00000*(STATES[17]+2.00000))/13.0000); RATES[18] = ALGEBRAIC[5]*(1.00000 - STATES[18]) - ALGEBRAIC[16]*STATES[18]; RATES[19] = 2.00000*ALGEBRAIC[5]*(1.00000 - STATES[19]) - (ALGEBRAIC[16]/2.00000)*STATES[19]; ALGEBRAIC[1] = STATES[9]/CONSTANTS[49]; ALGEBRAIC[18] = CONSTANTS[71]*(( 0.375000*ALGEBRAIC[1])/CONSTANTS[120]+0.625000); RATES[20] = ALGEBRAIC[18]*(1.00000 - STATES[20]) - CONSTANTS[72]*STATES[20]; ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[17]+55.0000)/7.50000))+0.100000/(1.00000+exp((- STATES[17]+21.0000)/6.00000)); ALGEBRAIC[17] = 0.0200000+0.300000/(1.00000+exp((STATES[17]+30.0000)/9.50000)); RATES[21] = (ALGEBRAIC[6] - STATES[21])/ALGEBRAIC[17]; ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[17]+10.6000)/- 11.4200)); ALGEBRAIC[19] = 1.00000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000))); RATES[23] = (ALGEBRAIC[7] - STATES[23])/ALGEBRAIC[19]; ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[17]+43.5000)/6.88410)); ALGEBRAIC[20] = 0.350000*exp( - 1.00000*pow((STATES[17]+70.0000)/15.0000, 2.00000))+0.0350000; RATES[24] = (ALGEBRAIC[8] - STATES[24])/ALGEBRAIC[20]; ALGEBRAIC[21] = 3.70000*exp( - 1.00000*pow((STATES[17]+70.0000)/30.0000, 2.00000))+0.0350000; RATES[25] = (ALGEBRAIC[8] - STATES[25])/ALGEBRAIC[21]; ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[17]+11.5000)/- 11.8200)); ALGEBRAIC[22] = 10.0000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000))); RATES[26] = (ALGEBRAIC[9] - STATES[26])/ALGEBRAIC[22]; ALGEBRAIC[25] = CONSTANTS[11]*STATES[3]; ALGEBRAIC[27] = CONSTANTS[12]*STATES[4]*STATES[5]; RATES[4] = ALGEBRAIC[25] - ALGEBRAIC[27]; ALGEBRAIC[24] = CONSTANTS[73]*STATES[13]; ALGEBRAIC[26] = ALGEBRAIC[24]*(pow(1.00000 - STATES[18], 4.00000)+ 2.00000*STATES[18]*pow(1.00000 - STATES[18], 3.00000)+ 4.00000*pow(STATES[18], 2.00000)*pow(1.00000 - STATES[18], 2.00000)+ 8.00000*pow(STATES[18], 3.00000)*(1.00000 - STATES[18])+ 16.0000*pow(STATES[18], 4.00000)*(1.00000 - ALGEBRAIC[18]/CONSTANTS[72])); ALGEBRAIC[28] = CONSTANTS[74]*(pow(1.00000 - STATES[19], 4.00000)+ 0.500000*STATES[19]*pow(1.00000 - STATES[19], 3.00000)+ 0.250000*pow(STATES[19], 2.00000)*pow(1.00000 - STATES[19], 2.00000)+ 0.125000*pow(STATES[19], 3.00000)*(1.00000 - STATES[19])+ 0.0625000*pow(STATES[19], 4.00000)); RATES[22] = ALGEBRAIC[28]*(1.00000 - STATES[22]) - ALGEBRAIC[26]*STATES[22]; rootfind_1(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret); ALGEBRAIC[80] = CONSTANTS[6]*(ALGEBRAIC[62]+ALGEBRAIC[63]); ALGEBRAIC[11] = CONSTANTS[7]*STATES[1]; RATES[1] = ALGEBRAIC[80] - ALGEBRAIC[11]; ALGEBRAIC[81] = CONSTANTS[10]*(ALGEBRAIC[64]+ALGEBRAIC[63]); RATES[3] = ALGEBRAIC[81] - ALGEBRAIC[25]; RATES[5] = ALGEBRAIC[81] - ALGEBRAIC[27]; rootfind_2(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret); ALGEBRAIC[48] = ( CONSTANTS[19]*ALGEBRAIC[44]*CONSTANTS[14])/(CONSTANTS[23]+CONSTANTS[14]); ALGEBRAIC[46] = ( CONSTANTS[18]*ALGEBRAIC[43]*CONSTANTS[14])/(CONSTANTS[22]+CONSTANTS[14]); rootfind_3(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret); ALGEBRAIC[53] = ( CONSTANTS[20]*ALGEBRAIC[51]*CONSTANTS[14])/(CONSTANTS[24]+CONSTANTS[14]); ALGEBRAIC[82] = ( CONSTANTS[21]*CONSTANTS[127]*ALGEBRAIC[69])/(CONSTANTS[25]+ALGEBRAIC[69]); RATES[6] = (ALGEBRAIC[46]+ALGEBRAIC[48]+ALGEBRAIC[53]) - ALGEBRAIC[82]; ALGEBRAIC[29] = CONSTANTS[36] - STATES[7]; ALGEBRAIC[83] = ( CONSTANTS[39]*ALGEBRAIC[68]*ALGEBRAIC[29])/(CONSTANTS[40]+ALGEBRAIC[29]); rootfind_4(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret); ALGEBRAIC[60] = ( CONSTANTS[41]*ALGEBRAIC[57]*STATES[7])/(CONSTANTS[42]+STATES[7]); RATES[7] = ALGEBRAIC[83] - ALGEBRAIC[60]; ALGEBRAIC[30] = CONSTANTS[38] - STATES[8]; ALGEBRAIC[84] = ( CONSTANTS[43]*ALGEBRAIC[68]*ALGEBRAIC[30])/(CONSTANTS[44]+ALGEBRAIC[30]); ALGEBRAIC[32] = ( CONSTANTS[45]*STATES[8])/(CONSTANTS[46]+STATES[8]); RATES[8] = ALGEBRAIC[84] - ALGEBRAIC[32]; ALGEBRAIC[34] = CONSTANTS[49] - STATES[9]; ALGEBRAIC[85] = ( CONSTANTS[48]*CONSTANTS[52]*ALGEBRAIC[78]*ALGEBRAIC[34])/(CONSTANTS[53]+ CONSTANTS[48]*ALGEBRAIC[34]); ALGEBRAIC[36] = ( CONSTANTS[48]*CONSTANTS[56]*CONSTANTS[51]*STATES[9])/(CONSTANTS[57]+ CONSTANTS[48]*STATES[9]); RATES[9] = ALGEBRAIC[85] - ALGEBRAIC[36]; ALGEBRAIC[38] = CONSTANTS[49] - STATES[10]; ALGEBRAIC[86] = ( CONSTANTS[48]*CONSTANTS[52]*ALGEBRAIC[78]*ALGEBRAIC[38])/(CONSTANTS[53]+ CONSTANTS[48]*ALGEBRAIC[38]); ALGEBRAIC[40] = ( CONSTANTS[48]*CONSTANTS[54]*CONSTANTS[50]*STATES[10])/(CONSTANTS[55]+ CONSTANTS[48]*STATES[10]); RATES[10] = ALGEBRAIC[86] - ALGEBRAIC[40]; ALGEBRAIC[88] = CONSTANTS[8]*ALGEBRAIC[68]*STATES[0]; ALGEBRAIC[23] = CONSTANTS[9]*STATES[2]; RATES[0] = (ALGEBRAIC[11] - ALGEBRAIC[80])+(ALGEBRAIC[23] - ALGEBRAIC[88]); RATES[2] = ALGEBRAIC[88] - ALGEBRAIC[23]; ALGEBRAIC[35] = (1.00000/( CONSTANTS[123]*CONSTANTS[113]))*log(CONSTANTS[63]/STATES[11]); ALGEBRAIC[41] = CONSTANTS[66]*pow(STATES[14], 3.00000)*STATES[15]*STATES[16]*(STATES[17] - ALGEBRAIC[35]); ALGEBRAIC[93] = exp( CONSTANTS[83]*STATES[17]*CONSTANTS[123])*pow(STATES[11], 3.00000)*CONSTANTS[65]; ALGEBRAIC[94] = exp( (CONSTANTS[83] - 1.00000)*STATES[17]*CONSTANTS[123])*pow(CONSTANTS[63], 3.00000)*STATES[13]; ALGEBRAIC[95] = (CONSTANTS[79]/( (pow(CONSTANTS[80], 3.00000)+pow(CONSTANTS[63], 3.00000))*(CONSTANTS[81]+CONSTANTS[65])*(1.00000+ CONSTANTS[82]*exp( (CONSTANTS[83] - 1.00000)*STATES[17]*CONSTANTS[123]))))*(ALGEBRAIC[93] - ALGEBRAIC[94]); ALGEBRAIC[96] = 1.00000/(1.00000+ 0.124500*exp( - 0.100000*STATES[17]*CONSTANTS[123])+ 0.0365000*CONSTANTS[125]*exp( - STATES[17]*CONSTANTS[123])); ALGEBRAIC[97] = ( (( CONSTANTS[84]*ALGEBRAIC[96])/(1.00000+pow(CONSTANTS[85]/STATES[11], 1.50000)))*CONSTANTS[64])/(CONSTANTS[64]+CONSTANTS[86]); ALGEBRAIC[100] = CONSTANTS[90]*(STATES[17] - ALGEBRAIC[35]); ALGEBRAIC[101] = ALGEBRAIC[41]+ALGEBRAIC[100]+ 3.00000*ALGEBRAIC[95]+ 3.00000*ALGEBRAIC[97]; RATES[11] = ( - 1000.00*ALGEBRAIC[101]*CONSTANTS[61])/( CONSTANTS[58]*CONSTANTS[113]*CONSTANTS[112]); ALGEBRAIC[47] = ( CONSTANTS[76]*STATES[17]*CONSTANTS[112]*CONSTANTS[123]*( STATES[12]*exp( STATES[17]*CONSTANTS[123]) - CONSTANTS[64]))/(exp( STATES[17]*CONSTANTS[123]) - 1.00000); ALGEBRAIC[33] = STATES[10]/CONSTANTS[49]; ALGEBRAIC[49] = 0.500000*(( 0.400000*ALGEBRAIC[33])/CONSTANTS[121]+0.600000); ALGEBRAIC[45] = ( CONSTANTS[75]*4.00000*STATES[17]*CONSTANTS[112]*CONSTANTS[123]*( 0.00100000*exp( 2.00000*STATES[17]*CONSTANTS[123]) - 0.341000*CONSTANTS[65]))/(exp( 2.00000*STATES[17]*CONSTANTS[123]) - 1.00000); ALGEBRAIC[52] = ALGEBRAIC[45]*CONSTANTS[77]*ALGEBRAIC[49]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22]; ALGEBRAIC[54] = (ALGEBRAIC[47]/(1.00000+ALGEBRAIC[52]/CONSTANTS[78]))*CONSTANTS[77]*ALGEBRAIC[49]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22]; ALGEBRAIC[37] = (1.00000/( CONSTANTS[123]*CONSTANTS[114]))*log(CONSTANTS[64]/STATES[12]); ALGEBRAIC[59] = CONSTANTS[67]*STATES[23]*( 0.886000*STATES[24]+ 0.114000*STATES[25])*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[61] = CONSTANTS[68]*STATES[26]*STATES[27]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[79] = 1.02000/(1.00000+exp( 0.238500*((STATES[17] - ALGEBRAIC[37]) - 59.2150))); ALGEBRAIC[87] = ( 0.491240*exp( 0.0803200*((STATES[17]+5.47600) - ALGEBRAIC[37]))+exp( 0.0617500*((STATES[17] - ALGEBRAIC[37]) - 594.310)))/(1.00000+exp( - 0.514300*((STATES[17] - ALGEBRAIC[37])+4.75300))); ALGEBRAIC[89] = ALGEBRAIC[79]/(ALGEBRAIC[79]+ALGEBRAIC[87]); ALGEBRAIC[90] = CONSTANTS[69]* pow((CONSTANTS[64]/5.40000), 1.0 / 2)*ALGEBRAIC[89]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[91] = 1.00000/(1.00000+exp((7.48800 - STATES[17])/5.98000)); ALGEBRAIC[92] = CONSTANTS[70]*ALGEBRAIC[91]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[102] = ((ALGEBRAIC[59]+ALGEBRAIC[61]+ALGEBRAIC[90]+ALGEBRAIC[92]) - 2.00000*ALGEBRAIC[97])+ALGEBRAIC[54]; RATES[12] = ( - 1000.00*ALGEBRAIC[102]*CONSTANTS[61])/( CONSTANTS[58]*CONSTANTS[114]*CONSTANTS[112]); ALGEBRAIC[98] = ( CONSTANTS[87]*STATES[13])/(CONSTANTS[88]+STATES[13]); ALGEBRAIC[39] = (1.00000/( CONSTANTS[123]*CONSTANTS[115]))*log(CONSTANTS[65]/STATES[13]); ALGEBRAIC[99] = CONSTANTS[89]*(STATES[17] - ALGEBRAIC[39]); ALGEBRAIC[103] = (ALGEBRAIC[52]+ALGEBRAIC[99]+ALGEBRAIC[98]) - 2.00000*ALGEBRAIC[95]; RATES[17] = - 1000.00*((ALGEBRAIC[103]+ALGEBRAIC[102]+ALGEBRAIC[101]) - CONSTANTS[126]); RATES[29] = ( - 1000.00*((ALGEBRAIC[103]+ALGEBRAIC[102]+ALGEBRAIC[101]) - CONSTANTS[126])>30000.0 ? 1.00000 - 10000.0*STATES[29] : 1.00000); ALGEBRAIC[31] = ALGEBRAIC[29]/CONSTANTS[36]; ALGEBRAIC[109] = ( CONSTANTS[94]*(1.00000+ 2.00000*ALGEBRAIC[31]))/(1.00000+ 2.00000*CONSTANTS[119]); ALGEBRAIC[110] = ( CONSTANTS[93]*pow(STATES[13], 2.00000))/(pow(ALGEBRAIC[109], 2.00000)+pow(STATES[13], 2.00000)); ALGEBRAIC[111] = ( CONSTANTS[93]*STATES[30])/CONSTANTS[95]; ALGEBRAIC[112] = (STATES[30] - STATES[28])/CONSTANTS[104]; RATES[30] = (ALGEBRAIC[110] - ALGEBRAIC[111]) - ( ALGEBRAIC[112]*CONSTANTS[60])/CONSTANTS[59]; ALGEBRAIC[104] = STATES[29]+0.00200000; ALGEBRAIC[105] = 1.00000 - exp(- ALGEBRAIC[104]/CONSTANTS[96]); ALGEBRAIC[106] = exp(- ALGEBRAIC[104]/CONSTANTS[97]); ALGEBRAIC[107] = CONSTANTS[98]/(1.00000+exp((ALGEBRAIC[103]+5.00000)/0.900000)); ALGEBRAIC[108] = ALGEBRAIC[107]*ALGEBRAIC[105]*ALGEBRAIC[106]*(STATES[28] - STATES[13]); ALGEBRAIC[114] = 1.00000/(1.00000+( CONSTANTS[102]*CONSTANTS[103])/pow(CONSTANTS[103]+STATES[28], 2.00000)); RATES[28] = ALGEBRAIC[114]*(ALGEBRAIC[112] - ALGEBRAIC[108]); ALGEBRAIC[113] = ( CONSTANTS[105]*CONSTANTS[108])/pow(CONSTANTS[108]+STATES[13], 2.00000); ALGEBRAIC[115] = ( CONSTANTS[106]*CONSTANTS[109])/pow(CONSTANTS[109]+STATES[13], 2.00000); ALGEBRAIC[117] = ( CONSTANTS[107]*CONSTANTS[110])/pow(CONSTANTS[110]+STATES[13], 2.00000); ALGEBRAIC[118] = 1.00000/(1.00000+ALGEBRAIC[115]+ALGEBRAIC[113]+ALGEBRAIC[113]+ALGEBRAIC[117]); RATES[13] = - ALGEBRAIC[118]*((( 1000.00*ALGEBRAIC[103]*CONSTANTS[61])/( CONSTANTS[58]*CONSTANTS[115]*CONSTANTS[112])+( (ALGEBRAIC[110] - ALGEBRAIC[111])*CONSTANTS[59])/CONSTANTS[58]) - ( ALGEBRAIC[108]*CONSTANTS[60])/CONSTANTS[58]); } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[10] = 1.00000/(1.00000+exp((STATES[17]+87.5000)/10.3000)); ALGEBRAIC[2] = ( 0.320000*(STATES[17]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[17]+47.1300))); ALGEBRAIC[13] = 0.0800000*exp(- STATES[17]/11.0000); ALGEBRAIC[3] = (STATES[17]>=- 40.0000 ? 0.00000 : 0.135000*exp((80.0000+STATES[17])/- 6.80000)); ALGEBRAIC[14] = (STATES[17]>=- 40.0000 ? 1.00000/( 0.130000*(1.00000+exp(- (STATES[17]+10.6600)/11.1000))) : 3.56000*exp( 0.0790000*STATES[17])+ 310000.*exp( 0.350000*STATES[17])); ALGEBRAIC[4] = (STATES[17]>=- 40.0000 ? 0.00000 : ( ( - 127140.*exp( 0.244400*STATES[17]) - 3.47400e-05*exp( - 0.0439100*STATES[17]))*(STATES[17]+37.7800))/(1.00000+exp( 0.311000*(STATES[17]+79.2300)))); ALGEBRAIC[15] = (STATES[17]>=- 40.0000 ? ( 0.300000*exp( - 2.57500e-07*STATES[17]))/(1.00000+exp( - 0.100000*(STATES[17]+32.0000))) : ( 0.121200*exp( - 0.0105200*STATES[17]))/(1.00000+exp( - 0.137800*(STATES[17]+40.1400)))); ALGEBRAIC[5] = 400.000*exp((STATES[17]+2.00000)/10.0000); ALGEBRAIC[16] = 50.0000*exp(( - 1.00000*(STATES[17]+2.00000))/13.0000); ALGEBRAIC[1] = STATES[9]/CONSTANTS[49]; ALGEBRAIC[18] = CONSTANTS[71]*(( 0.375000*ALGEBRAIC[1])/CONSTANTS[120]+0.625000); ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[17]+55.0000)/7.50000))+0.100000/(1.00000+exp((- STATES[17]+21.0000)/6.00000)); ALGEBRAIC[17] = 0.0200000+0.300000/(1.00000+exp((STATES[17]+30.0000)/9.50000)); ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[17]+10.6000)/- 11.4200)); ALGEBRAIC[19] = 1.00000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000))); ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[17]+43.5000)/6.88410)); ALGEBRAIC[20] = 0.350000*exp( - 1.00000*pow((STATES[17]+70.0000)/15.0000, 2.00000))+0.0350000; ALGEBRAIC[21] = 3.70000*exp( - 1.00000*pow((STATES[17]+70.0000)/30.0000, 2.00000))+0.0350000; ALGEBRAIC[9] = 1.00000/(1.00000+exp((STATES[17]+11.5000)/- 11.8200)); ALGEBRAIC[22] = 10.0000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000))); ALGEBRAIC[25] = CONSTANTS[11]*STATES[3]; ALGEBRAIC[27] = CONSTANTS[12]*STATES[4]*STATES[5]; ALGEBRAIC[24] = CONSTANTS[73]*STATES[13]; ALGEBRAIC[26] = ALGEBRAIC[24]*(pow(1.00000 - STATES[18], 4.00000)+ 2.00000*STATES[18]*pow(1.00000 - STATES[18], 3.00000)+ 4.00000*pow(STATES[18], 2.00000)*pow(1.00000 - STATES[18], 2.00000)+ 8.00000*pow(STATES[18], 3.00000)*(1.00000 - STATES[18])+ 16.0000*pow(STATES[18], 4.00000)*(1.00000 - ALGEBRAIC[18]/CONSTANTS[72])); ALGEBRAIC[28] = CONSTANTS[74]*(pow(1.00000 - STATES[19], 4.00000)+ 0.500000*STATES[19]*pow(1.00000 - STATES[19], 3.00000)+ 0.250000*pow(STATES[19], 2.00000)*pow(1.00000 - STATES[19], 2.00000)+ 0.125000*pow(STATES[19], 3.00000)*(1.00000 - STATES[19])+ 0.0625000*pow(STATES[19], 4.00000)); ALGEBRAIC[80] = CONSTANTS[6]*(ALGEBRAIC[62]+ALGEBRAIC[63]); ALGEBRAIC[11] = CONSTANTS[7]*STATES[1]; ALGEBRAIC[81] = CONSTANTS[10]*(ALGEBRAIC[64]+ALGEBRAIC[63]); ALGEBRAIC[48] = ( CONSTANTS[19]*ALGEBRAIC[44]*CONSTANTS[14])/(CONSTANTS[23]+CONSTANTS[14]); ALGEBRAIC[46] = ( CONSTANTS[18]*ALGEBRAIC[43]*CONSTANTS[14])/(CONSTANTS[22]+CONSTANTS[14]); ALGEBRAIC[53] = ( CONSTANTS[20]*ALGEBRAIC[51]*CONSTANTS[14])/(CONSTANTS[24]+CONSTANTS[14]); ALGEBRAIC[82] = ( CONSTANTS[21]*CONSTANTS[127]*ALGEBRAIC[69])/(CONSTANTS[25]+ALGEBRAIC[69]); ALGEBRAIC[29] = CONSTANTS[36] - STATES[7]; ALGEBRAIC[83] = ( CONSTANTS[39]*ALGEBRAIC[68]*ALGEBRAIC[29])/(CONSTANTS[40]+ALGEBRAIC[29]); ALGEBRAIC[60] = ( CONSTANTS[41]*ALGEBRAIC[57]*STATES[7])/(CONSTANTS[42]+STATES[7]); ALGEBRAIC[30] = CONSTANTS[38] - STATES[8]; ALGEBRAIC[84] = ( CONSTANTS[43]*ALGEBRAIC[68]*ALGEBRAIC[30])/(CONSTANTS[44]+ALGEBRAIC[30]); ALGEBRAIC[32] = ( CONSTANTS[45]*STATES[8])/(CONSTANTS[46]+STATES[8]); ALGEBRAIC[34] = CONSTANTS[49] - STATES[9]; ALGEBRAIC[85] = ( CONSTANTS[48]*CONSTANTS[52]*ALGEBRAIC[78]*ALGEBRAIC[34])/(CONSTANTS[53]+ CONSTANTS[48]*ALGEBRAIC[34]); ALGEBRAIC[36] = ( CONSTANTS[48]*CONSTANTS[56]*CONSTANTS[51]*STATES[9])/(CONSTANTS[57]+ CONSTANTS[48]*STATES[9]); ALGEBRAIC[38] = CONSTANTS[49] - STATES[10]; ALGEBRAIC[86] = ( CONSTANTS[48]*CONSTANTS[52]*ALGEBRAIC[78]*ALGEBRAIC[38])/(CONSTANTS[53]+ CONSTANTS[48]*ALGEBRAIC[38]); ALGEBRAIC[40] = ( CONSTANTS[48]*CONSTANTS[54]*CONSTANTS[50]*STATES[10])/(CONSTANTS[55]+ CONSTANTS[48]*STATES[10]); ALGEBRAIC[88] = CONSTANTS[8]*ALGEBRAIC[68]*STATES[0]; ALGEBRAIC[23] = CONSTANTS[9]*STATES[2]; ALGEBRAIC[35] = (1.00000/( CONSTANTS[123]*CONSTANTS[113]))*log(CONSTANTS[63]/STATES[11]); ALGEBRAIC[41] = CONSTANTS[66]*pow(STATES[14], 3.00000)*STATES[15]*STATES[16]*(STATES[17] - ALGEBRAIC[35]); ALGEBRAIC[93] = exp( CONSTANTS[83]*STATES[17]*CONSTANTS[123])*pow(STATES[11], 3.00000)*CONSTANTS[65]; ALGEBRAIC[94] = exp( (CONSTANTS[83] - 1.00000)*STATES[17]*CONSTANTS[123])*pow(CONSTANTS[63], 3.00000)*STATES[13]; ALGEBRAIC[95] = (CONSTANTS[79]/( (pow(CONSTANTS[80], 3.00000)+pow(CONSTANTS[63], 3.00000))*(CONSTANTS[81]+CONSTANTS[65])*(1.00000+ CONSTANTS[82]*exp( (CONSTANTS[83] - 1.00000)*STATES[17]*CONSTANTS[123]))))*(ALGEBRAIC[93] - ALGEBRAIC[94]); ALGEBRAIC[96] = 1.00000/(1.00000+ 0.124500*exp( - 0.100000*STATES[17]*CONSTANTS[123])+ 0.0365000*CONSTANTS[125]*exp( - STATES[17]*CONSTANTS[123])); ALGEBRAIC[97] = ( (( CONSTANTS[84]*ALGEBRAIC[96])/(1.00000+pow(CONSTANTS[85]/STATES[11], 1.50000)))*CONSTANTS[64])/(CONSTANTS[64]+CONSTANTS[86]); ALGEBRAIC[100] = CONSTANTS[90]*(STATES[17] - ALGEBRAIC[35]); ALGEBRAIC[101] = ALGEBRAIC[41]+ALGEBRAIC[100]+ 3.00000*ALGEBRAIC[95]+ 3.00000*ALGEBRAIC[97]; ALGEBRAIC[47] = ( CONSTANTS[76]*STATES[17]*CONSTANTS[112]*CONSTANTS[123]*( STATES[12]*exp( STATES[17]*CONSTANTS[123]) - CONSTANTS[64]))/(exp( STATES[17]*CONSTANTS[123]) - 1.00000); ALGEBRAIC[33] = STATES[10]/CONSTANTS[49]; ALGEBRAIC[49] = 0.500000*(( 0.400000*ALGEBRAIC[33])/CONSTANTS[121]+0.600000); ALGEBRAIC[45] = ( CONSTANTS[75]*4.00000*STATES[17]*CONSTANTS[112]*CONSTANTS[123]*( 0.00100000*exp( 2.00000*STATES[17]*CONSTANTS[123]) - 0.341000*CONSTANTS[65]))/(exp( 2.00000*STATES[17]*CONSTANTS[123]) - 1.00000); ALGEBRAIC[52] = ALGEBRAIC[45]*CONSTANTS[77]*ALGEBRAIC[49]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22]; ALGEBRAIC[54] = (ALGEBRAIC[47]/(1.00000+ALGEBRAIC[52]/CONSTANTS[78]))*CONSTANTS[77]*ALGEBRAIC[49]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22]; ALGEBRAIC[37] = (1.00000/( CONSTANTS[123]*CONSTANTS[114]))*log(CONSTANTS[64]/STATES[12]); ALGEBRAIC[59] = CONSTANTS[67]*STATES[23]*( 0.886000*STATES[24]+ 0.114000*STATES[25])*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[61] = CONSTANTS[68]*STATES[26]*STATES[27]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[79] = 1.02000/(1.00000+exp( 0.238500*((STATES[17] - ALGEBRAIC[37]) - 59.2150))); ALGEBRAIC[87] = ( 0.491240*exp( 0.0803200*((STATES[17]+5.47600) - ALGEBRAIC[37]))+exp( 0.0617500*((STATES[17] - ALGEBRAIC[37]) - 594.310)))/(1.00000+exp( - 0.514300*((STATES[17] - ALGEBRAIC[37])+4.75300))); ALGEBRAIC[89] = ALGEBRAIC[79]/(ALGEBRAIC[79]+ALGEBRAIC[87]); ALGEBRAIC[90] = CONSTANTS[69]* pow((CONSTANTS[64]/5.40000), 1.0 / 2)*ALGEBRAIC[89]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[91] = 1.00000/(1.00000+exp((7.48800 - STATES[17])/5.98000)); ALGEBRAIC[92] = CONSTANTS[70]*ALGEBRAIC[91]*(STATES[17] - ALGEBRAIC[37]); ALGEBRAIC[102] = ((ALGEBRAIC[59]+ALGEBRAIC[61]+ALGEBRAIC[90]+ALGEBRAIC[92]) - 2.00000*ALGEBRAIC[97])+ALGEBRAIC[54]; ALGEBRAIC[98] = ( CONSTANTS[87]*STATES[13])/(CONSTANTS[88]+STATES[13]); ALGEBRAIC[39] = (1.00000/( CONSTANTS[123]*CONSTANTS[115]))*log(CONSTANTS[65]/STATES[13]); ALGEBRAIC[99] = CONSTANTS[89]*(STATES[17] - ALGEBRAIC[39]); ALGEBRAIC[103] = (ALGEBRAIC[52]+ALGEBRAIC[99]+ALGEBRAIC[98]) - 2.00000*ALGEBRAIC[95]; ALGEBRAIC[31] = ALGEBRAIC[29]/CONSTANTS[36]; ALGEBRAIC[109] = ( CONSTANTS[94]*(1.00000+ 2.00000*ALGEBRAIC[31]))/(1.00000+ 2.00000*CONSTANTS[119]); ALGEBRAIC[110] = ( CONSTANTS[93]*pow(STATES[13], 2.00000))/(pow(ALGEBRAIC[109], 2.00000)+pow(STATES[13], 2.00000)); ALGEBRAIC[111] = ( CONSTANTS[93]*STATES[30])/CONSTANTS[95]; ALGEBRAIC[112] = (STATES[30] - STATES[28])/CONSTANTS[104]; ALGEBRAIC[104] = STATES[29]+0.00200000; ALGEBRAIC[105] = 1.00000 - exp(- ALGEBRAIC[104]/CONSTANTS[96]); ALGEBRAIC[106] = exp(- ALGEBRAIC[104]/CONSTANTS[97]); ALGEBRAIC[107] = CONSTANTS[98]/(1.00000+exp((ALGEBRAIC[103]+5.00000)/0.900000)); ALGEBRAIC[108] = ALGEBRAIC[107]*ALGEBRAIC[105]*ALGEBRAIC[106]*(STATES[28] - STATES[13]); ALGEBRAIC[114] = 1.00000/(1.00000+( CONSTANTS[102]*CONSTANTS[103])/pow(CONSTANTS[103]+STATES[28], 2.00000)); ALGEBRAIC[113] = ( CONSTANTS[105]*CONSTANTS[108])/pow(CONSTANTS[108]+STATES[13], 2.00000); ALGEBRAIC[115] = ( CONSTANTS[106]*CONSTANTS[109])/pow(CONSTANTS[109]+STATES[13], 2.00000); ALGEBRAIC[117] = ( CONSTANTS[107]*CONSTANTS[110])/pow(CONSTANTS[110]+STATES[13], 2.00000); ALGEBRAIC[118] = 1.00000/(1.00000+ALGEBRAIC[115]+ALGEBRAIC[113]+ALGEBRAIC[113]+ALGEBRAIC[117]); ALGEBRAIC[0] = STATES[7]/CONSTANTS[36]; ALGEBRAIC[12] = (VOI>59.1000&&VOI<59.5000 ? CONSTANTS[117] : CONSTANTS[116]); ALGEBRAIC[58] = ALGEBRAIC[52]+ALGEBRAIC[54]; ALGEBRAIC[116] = 1000.00*(( (STATES[28]+STATES[28]/ALGEBRAIC[114])*CONSTANTS[60])/CONSTANTS[58]+( STATES[30]*CONSTANTS[59])/CONSTANTS[58]); } 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 CONSTANTS[127] = p[0]; CONSTANTS[128] = p[1]; CONSTANTS[129] = p[2]; hx[0] = CONSTANTS[129] - ( CONSTANTS[127]*CONSTANTS[128])/CONSTANTS[28]; hx[1] = CONSTANTS[127] - (CONSTANTS[15] - CONSTANTS[129]); hx[2] = CONSTANTS[128] - (CONSTANTS[16] - CONSTANTS[129]); #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 p[3] = {0.0389,0,0.1}; double bp[3], work[LM_DIF_WORKSZ(3, 3)]; 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, p, bp, work, pret, 3, &rfi); CONSTANTS[127] = p[0]; CONSTANTS[128] = p[1]; CONSTANTS[129] = p[2]; } 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[62] = p[0]; ALGEBRAIC[63] = p[1]; ALGEBRAIC[64] = p[2]; ALGEBRAIC[65] = p[3]; ALGEBRAIC[66] = p[4]; ALGEBRAIC[67] = p[5]; ALGEBRAIC[68] = p[6]; ALGEBRAIC[69] = p[7]; ALGEBRAIC[70] = p[8]; ALGEBRAIC[71] = p[9]; ALGEBRAIC[72] = p[10]; ALGEBRAIC[73] = p[11]; ALGEBRAIC[74] = p[12]; ALGEBRAIC[75] = p[13]; ALGEBRAIC[76] = p[14]; ALGEBRAIC[77] = p[15]; ALGEBRAIC[78] = p[16]; hx[0] = ALGEBRAIC[62] - ( ALGEBRAIC[65]*ALGEBRAIC[66])/CONSTANTS[3]; hx[1] = ALGEBRAIC[63] - ( ALGEBRAIC[62]*ALGEBRAIC[67])/CONSTANTS[4]; hx[2] = ALGEBRAIC[64] - ( ALGEBRAIC[66]*ALGEBRAIC[67])/CONSTANTS[5]; hx[3] = ALGEBRAIC[65] - ((CONSTANTS[0] - ALGEBRAIC[62]) - ALGEBRAIC[63]); hx[4] = ALGEBRAIC[66] - (((STATES[0] - ALGEBRAIC[62]) - ALGEBRAIC[63]) - ALGEBRAIC[64]); hx[5] = ALGEBRAIC[67] - ((CONSTANTS[2] - ALGEBRAIC[63]) - ALGEBRAIC[64]); hx[6] = ALGEBRAIC[70] - ( CONSTANTS[31]*CONSTANTS[35])/(CONSTANTS[35]+ALGEBRAIC[68]+ALGEBRAIC[78]); hx[7] = ALGEBRAIC[71] - (ALGEBRAIC[68]/CONSTANTS[34])*ALGEBRAIC[68]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35]); hx[8] = ALGEBRAIC[72] - ALGEBRAIC[68]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35]); hx[9] = ALGEBRAIC[73] - (ALGEBRAIC[78]/CONSTANTS[34])*ALGEBRAIC[78]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35]); hx[10] = ALGEBRAIC[74] - ALGEBRAIC[78]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35]); hx[11] = ALGEBRAIC[75] - (CONSTANTS[32]/ALGEBRAIC[69])*ALGEBRAIC[71]; hx[12] = ALGEBRAIC[76] - (CONSTANTS[32]/ALGEBRAIC[69])*ALGEBRAIC[73]; hx[13] = ALGEBRAIC[77] - (( CONSTANTS[32]*CONSTANTS[33])/CONSTANTS[34]+( CONSTANTS[32]*ALGEBRAIC[69])/CONSTANTS[34]+pow(ALGEBRAIC[69], 2.00000)/CONSTANTS[34]); hx[14] = ALGEBRAIC[69] - ((STATES[6] - (ALGEBRAIC[75]+ 2.00000*ALGEBRAIC[71]+ 2.00000*ALGEBRAIC[72])) - (ALGEBRAIC[76]+ 2.00000*ALGEBRAIC[73]+ 2.00000*ALGEBRAIC[74])); hx[15] = 0.00000 - ( 2.00000*CONSTANTS[29]*pow(ALGEBRAIC[69], 2.00000) - ALGEBRAIC[68]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35])*( ALGEBRAIC[77]*ALGEBRAIC[68]+pow(ALGEBRAIC[69], 2.00000))); hx[16] = 0.00000 - ( 2.00000*CONSTANTS[30]*pow(ALGEBRAIC[69], 2.00000) - ALGEBRAIC[78]*(1.00000+ALGEBRAIC[70]/CONSTANTS[35])*( ALGEBRAIC[77]*ALGEBRAIC[78]+pow(ALGEBRAIC[69], 2.00000))); #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 p[17] = {0.1,0.1,0.1,0.988,5.5258e-05,3.8182,0.0588,0.227,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.0083}; double bp[17], work[LM_DIF_WORKSZ(17, 17)]; 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, p, bp, work, pret, 17, &rfi); ALGEBRAIC[62] = p[0]; ALGEBRAIC[63] = p[1]; ALGEBRAIC[64] = p[2]; ALGEBRAIC[65] = p[3]; ALGEBRAIC[66] = p[4]; ALGEBRAIC[67] = p[5]; ALGEBRAIC[68] = p[6]; ALGEBRAIC[69] = p[7]; ALGEBRAIC[70] = p[8]; ALGEBRAIC[71] = p[9]; ALGEBRAIC[72] = p[10]; ALGEBRAIC[73] = p[11]; ALGEBRAIC[74] = p[12]; ALGEBRAIC[75] = p[13]; ALGEBRAIC[76] = p[14]; ALGEBRAIC[77] = p[15]; ALGEBRAIC[78] = p[16]; } 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[42] = p[0]; ALGEBRAIC[43] = p[1]; ALGEBRAIC[44] = p[2]; hx[0] = ALGEBRAIC[44] - ( ALGEBRAIC[42]*ALGEBRAIC[43])/CONSTANTS[26]; hx[1] = ALGEBRAIC[42] - (STATES[3] - ALGEBRAIC[44]); hx[2] = ALGEBRAIC[43] - (CONSTANTS[13] - ALGEBRAIC[44]); #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[3] = {0.0224,0.0471,0.1}; double bp[3], work[LM_DIF_WORKSZ(3, 3)]; 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, 3, &rfi); ALGEBRAIC[42] = p[0]; ALGEBRAIC[43] = p[1]; ALGEBRAIC[44] = p[2]; } 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[50] = p[0]; ALGEBRAIC[51] = p[1]; hx[0] = ALGEBRAIC[51] - ( ALGEBRAIC[50]*ALGEBRAIC[43])/CONSTANTS[27]; hx[1] = ALGEBRAIC[50] - (CONSTANTS[17] - ALGEBRAIC[51]); #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,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[50] = p[0]; ALGEBRAIC[51] = p[1]; } void objfunc_4(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[55] = p[0]; ALGEBRAIC[56] = p[1]; ALGEBRAIC[57] = p[2]; hx[0] = ALGEBRAIC[55] - ( ALGEBRAIC[56]*ALGEBRAIC[57])/CONSTANTS[47]; hx[1] = ALGEBRAIC[56] - (STATES[8] - ALGEBRAIC[55]); hx[2] = ALGEBRAIC[57] - (CONSTANTS[37] - ALGEBRAIC[55]); #undef VOI #undef CONSTANTS #undef RATES #undef STATES #undef ALGEBRAIC #undef pret } void rootfind_4(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC, int* pret) { static double p[3] = {0.1,6.2734e-05,0.8375}; double bp[3], work[LM_DIF_WORKSZ(3, 3)]; 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_4, p, bp, work, pret, 3, &rfi); ALGEBRAIC[55] = p[0]; ALGEBRAIC[56] = p[1]; ALGEBRAIC[57] = p[2]; }