Generated Code

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

The raw code is available.

/*
   There are a total of 84 entries in the algebraic variable array.
   There are a total of 68 entries in each of the rate and state variable arrays.
   There are a total of 134 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (second).
 * CONSTANTS[0] is protocol in component environment (dimensionless).
 * CONSTANTS[1] is L_totmax in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[2] is sum_b1_AR in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[3] is Gs_tot in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[4] is Kl in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[5] is Kr in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[6] is Kc in component b1_AR_Gs_parameters (uM).
 * CONSTANTS[7] is k_bar_kp in component b1_AR_Gs_parameters (per_sec).
 * CONSTANTS[8] is k_bar_km in component b1_AR_Gs_parameters (per_sec).
 * CONSTANTS[9] is k_p_kap in component b1_AR_Gs_parameters (per_uM_per_sec).
 * CONSTANTS[10] is k_p_kam in component b1_AR_Gs_parameters (per_sec).
 * CONSTANTS[11] is k_g_act in component b1_AR_Gs_parameters (per_sec).
 * CONSTANTS[12] is k_hyd in component b1_AR_Gs_parameters (per_sec).
 * CONSTANTS[13] is k_reassoc in component b1_AR_Gs_parameters (per_uM_per_sec).
 * CONSTANTS[14] is AC_tot in component cAMP_parameters (uM).
 * CONSTANTS[15] is ATP in component cAMP_parameters (uM).
 * CONSTANTS[16] is PDE_tot in component cAMP_parameters (uM).
 * CONSTANTS[17] is IBMX_tot in component cAMP_parameters (uM).
 * CONSTANTS[18] is Fsk_tot in component cAMP_parameters (uM).
 * CONSTANTS[19] is k_ac_basal in component cAMP_parameters (per_sec).
 * CONSTANTS[20] is k_ac_gsa in component cAMP_parameters (per_sec).
 * CONSTANTS[21] is k_ac_fsk in component cAMP_parameters (per_sec).
 * CONSTANTS[22] is k_pde in component cAMP_parameters (per_sec).
 * CONSTANTS[23] is Km_basal in component cAMP_parameters (uM).
 * CONSTANTS[24] is Km_gsa in component cAMP_parameters (uM).
 * CONSTANTS[25] is Km_fsk in component cAMP_parameters (uM).
 * CONSTANTS[26] is Km_pde in component cAMP_parameters (uM).
 * CONSTANTS[27] is K_gsa in component cAMP_parameters (uM).
 * CONSTANTS[28] is K_fsk in component cAMP_parameters (uM).
 * CONSTANTS[29] is Ki_ibmx in component cAMP_parameters (uM).
 * CONSTANTS[30] is PKAI_tot in component PKA_parameters (uM).
 * CONSTANTS[31] is PKAII_tot in component PKA_parameters (uM).
 * CONSTANTS[32] is PKI_tot in component PKA_parameters (uM).
 * CONSTANTS[33] is K_a in component PKA_parameters (uM).
 * CONSTANTS[34] is K_b in component PKA_parameters (uM).
 * CONSTANTS[35] is K_d in component PKA_parameters (uM).
 * CONSTANTS[36] is Ki_pki in component PKA_parameters (uM).
 * CONSTANTS[37] is PLB_tot in component PLB_parameters (uM).
 * CONSTANTS[38] is PP1_tot in component PLB_parameters (uM).
 * CONSTANTS[39] is Inhib1_tot in component PLB_parameters (uM).
 * CONSTANTS[40] is k_pka_plb in component PLB_parameters (per_sec).
 * CONSTANTS[41] is Km_pka_plb in component PLB_parameters (uM).
 * CONSTANTS[42] is k_pp1_plb in component PLB_parameters (per_sec).
 * CONSTANTS[43] is Km_pp1_plb in component PLB_parameters (uM).
 * CONSTANTS[44] is k_pka_i1 in component PLB_parameters (per_sec).
 * CONSTANTS[45] is Km_pka_i1 in component PLB_parameters (uM).
 * CONSTANTS[46] is Vmax_pp2a_i1 in component PLB_parameters (uM_per_sec).
 * CONSTANTS[47] is Km_pp2a_i1 in component PLB_parameters (uM).
 * CONSTANTS[48] is Ki_inhib1 in component PLB_parameters (uM).
 * CONSTANTS[49] is epsilon in component LCC_parameters (dimensionless).
 * CONSTANTS[50] is LCC_tot in component LCC_parameters (uM).
 * CONSTANTS[51] is PP1_lcc_tot in component LCC_parameters (uM).
 * CONSTANTS[52] is PP2A_lcc_tot in component LCC_parameters (uM).
 * CONSTANTS[53] is k_pka_lcc in component LCC_parameters (per_sec).
 * CONSTANTS[54] is Km_pka_lcc in component LCC_parameters (uM).
 * CONSTANTS[55] is k_pp1_lcc in component LCC_parameters (per_sec).
 * CONSTANTS[56] is Km_pp1_lcc in component LCC_parameters (uM).
 * CONSTANTS[57] is k_pp2a_lcc in component LCC_parameters (per_sec).
 * CONSTANTS[58] is Km_pp2a_lcc in component LCC_parameters (uM).
 * CONSTANTS[59] is V_myo in component EC_Coupling_Parameters (uL).
 * CONSTANTS[60] is V_nsr in component EC_Coupling_Parameters (uL).
 * CONSTANTS[61] is V_jsr in component EC_Coupling_Parameters (uL).
 * CONSTANTS[62] is A_Cap in component EC_Coupling_Parameters (cm2).
 * CONSTANTS[63] is Temp in component EC_Coupling_Parameters (kelvin).
 * CONSTANTS[64] is Na_ext in component EC_Coupling_Parameters (mM).
 * CONSTANTS[65] is K_ext in component EC_Coupling_Parameters (mM).
 * CONSTANTS[66] is Ca_ext in component EC_Coupling_Parameters (mM).
 * CONSTANTS[67] is G_Na in component EC_Coupling_Parameters (mS_per_uF).
 * CONSTANTS[68] is G_to in component EC_Coupling_Parameters (mS_per_uF).
 * CONSTANTS[69] is G_ss in component EC_Coupling_Parameters (mS_per_uF).
 * CONSTANTS[70] is G_Ki_bar in component EC_Coupling_Parameters (mS_per_uF).
 * CONSTANTS[71] is G_Kp in component EC_Coupling_Parameters (mS_per_uF).
 * CONSTANTS[72] is f in component EC_Coupling_Parameters (per_sec).
 * CONSTANTS[73] is g in component EC_Coupling_Parameters (per_sec).
 * CONSTANTS[74] is gamma_o in component EC_Coupling_Parameters (per_mM_per_sec).
 * CONSTANTS[75] is omega in component EC_Coupling_Parameters (per_sec).
 * CONSTANTS[76] is p_Ca in component EC_Coupling_Parameters (cm_per_sec).
 * CONSTANTS[77] is p_K in component EC_Coupling_Parameters (cm_per_sec).
 * CONSTANTS[78] is N_lcc in component EC_Coupling_Parameters (dimensionless).
 * CONSTANTS[79] is I_Ca05 in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[80] is k_NaCa in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[81] is Km_Na in component EC_Coupling_Parameters (mM).
 * CONSTANTS[82] is Km_Ca in component EC_Coupling_Parameters (mM).
 * CONSTANTS[83] is k_sat in component EC_Coupling_Parameters (dimensionless).
 * CONSTANTS[84] is eta in component EC_Coupling_Parameters (dimensionless).
 * CONSTANTS[85] is I_bar_NaK in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[86] is Km_Nai in component EC_Coupling_Parameters (mM).
 * CONSTANTS[87] is Km_Ko in component EC_Coupling_Parameters (mM).
 * CONSTANTS[88] is I_bar_PCa in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[89] is Km_PCa in component EC_Coupling_Parameters (mM).
 * CONSTANTS[90] is G_CaB in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[91] is G_NaB in component EC_Coupling_Parameters (uA_per_uF).
 * CONSTANTS[92] is Pns in component EC_Coupling_Parameters (dimensionless).
 * CONSTANTS[93] is Km_NS in component EC_Coupling_Parameters (mM).
 * CONSTANTS[94] is I_up_bar in component EC_Coupling_Parameters (mM_per_sec).
 * CONSTANTS[95] is Km_up0 in component EC_Coupling_Parameters (mM).
 * CONSTANTS[96] is NSR_bar in component EC_Coupling_Parameters (mM).
 * CONSTANTS[97] is tau_on in component EC_Coupling_Parameters (second).
 * CONSTANTS[98] is tau_off in component EC_Coupling_Parameters (second).
 * CONSTANTS[99] is G_max_rel in component EC_Coupling_Parameters (mM_per_sec).
 * CONSTANTS[100] is d_Cai_th in component EC_Coupling_Parameters (mM).
 * CONSTANTS[101] is Km_rel in component EC_Coupling_Parameters (mM).
 * CONSTANTS[102] is CSQN_th in component EC_Coupling_Parameters (mM).
 * CONSTANTS[103] is CSQN_bar in component EC_Coupling_Parameters (mM).
 * CONSTANTS[104] is Km_CSQN in component EC_Coupling_Parameters (mM).
 * CONSTANTS[105] is tau_tr in component EC_Coupling_Parameters (second).
 * CONSTANTS[106] is TRPN_bar in component EC_Coupling_Parameters (mM).
 * CONSTANTS[107] is CMDN_bar in component EC_Coupling_Parameters (mM).
 * CONSTANTS[108] is INDO_bar in component EC_Coupling_Parameters (mM).
 * CONSTANTS[109] is Km_TRPN in component EC_Coupling_Parameters (mM).
 * CONSTANTS[110] is Km_CMDN in component EC_Coupling_Parameters (mM).
 * CONSTANTS[111] is Km_INDO in component EC_Coupling_Parameters (mM).
 * STATES[31] is LR in component b1_AR_module (uM).
 * STATES[32] is LRG in component b1_AR_module (uM).
 * STATES[33] is RG in component b1_AR_module (uM).
 * STATES[34] is BARK_DESENS in component b1_AR_module (uM_per_sec).
 * ALGEBRAIC[0] is BARK_RESENS in component b1_AR_module (uM_per_sec).
 * STATES[35] is PKA_DESENS in component b1_AR_module (uM_per_sec).
 * ALGEBRAIC[1] is PKA_RESENS in component b1_AR_module (uM_per_sec).
 * STATES[36] is G_ACT in component b1_AR_module (uM_per_sec).
 * ALGEBRAIC[2] is HYD in component b1_AR_module (uM_per_sec).
 * ALGEBRAIC[3] is REASSOC in component b1_AR_module (uM_per_sec).
 * STATES[37] is L in component b1_AR_module (uM).
 * STATES[38] is R in component b1_AR_module (uM).
 * STATES[39] 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).
 * STATES[40] is PKAC_I in component PKA_module (uM).
 * STATES[41] is cAMP in component PKA_module (uM).
 * STATES[42] is Gsa_GTP in component cAMP_module (uM).
 * STATES[43] is Fsk in component cAMP_module (uM).
 * STATES[44] is AC in component cAMP_module (uM).
 * CONSTANTS[131] is PDE in component cAMP_module (uM).
 * CONSTANTS[132] is IBMX in component cAMP_module (uM).
 * STATES[6] is cAMP_tot in component cAMP_module (uM).
 * STATES[45] is Gsa_GTP_AC in component cAMP_module (uM).
 * STATES[46] is Fsk_AC in component cAMP_module (uM).
 * STATES[47] is AC_ACT_GSA in component cAMP_module (uM_per_sec).
 * STATES[48] is AC_ACT_BASAL in component cAMP_module (uM_per_sec).
 * STATES[49] is AC_ACT_FSK in component cAMP_module (uM_per_sec).
 * STATES[50] is PDE_ACT in component cAMP_module (uM_per_sec).
 * CONSTANTS[133] is PDE_IBMX in component cAMP_module (uM).
 * STATES[51] is PKI in component PKA_module (uM).
 * STATES[52] is A2RC_I in component PKA_module (uM).
 * STATES[53] is A2R_I in component PKA_module (uM).
 * STATES[54] is A2RC_II in component PKA_module (uM).
 * STATES[55] is A2R_II in component PKA_module (uM).
 * STATES[56] is ARC_I in component PKA_module (uM).
 * STATES[57] is ARC_II in component PKA_module (uM).
 * STATES[58] is PKA_temp in component PKA_module (uM).
 * STATES[59] is PKAC_II in component PKA_module (uM).
 * CONSTANTS[112] is zed in component PKA_module (dimensionless).
 * CONSTANTS[113] is zed1 in component PKA_module (dimensionless).
 * ALGEBRAIC[4] is PLB in component PLB_module (uM).
 * STATES[60] is PLB_PHOSPH in component PLB_module (uM_per_sec).
 * STATES[61] is PLB_DEPHOSPH in component PLB_module (uM_per_sec).
 * ALGEBRAIC[5] is Inhib1 in component PLB_module (uM).
 * STATES[62] is Inhib1p_PP1 in component PLB_module (uM).
 * STATES[63] is Inhib1_PHOSPH in component PLB_module (uM_per_sec).
 * ALGEBRAIC[6] 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).
 * STATES[64] is Inhib1p in component PLB_module (uM).
 * STATES[65] is PP1 in component PLB_module (uM).
 * ALGEBRAIC[7] is frac_PLB_p in component PLB_module (dimensionless).
 * ALGEBRAIC[8] is frac_PLB in component PLB_module (dimensionless).
 * CONSTANTS[124] is frac_PLB_o in component PLB_module (dimensionless).
 * ALGEBRAIC[9] is LCCa in component LCC_module (uM).
 * STATES[66] is LCCa_PHOSPH in component LCC_module (uM_per_sec).
 * ALGEBRAIC[10] is LCCa_DEPHOSPH in component LCC_module (uM_per_sec).
 * ALGEBRAIC[11] is LCCb in component LCC_module (uM).
 * STATES[67] is LCCb_PHOSPH in component LCC_module (uM_per_sec).
 * ALGEBRAIC[12] 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[13] is frac_LCCa_p in component LCC_module (dimensionless).
 * CONSTANTS[125] is frac_LCCa_po in component LCC_module (dimensionless).
 * ALGEBRAIC[14] is frac_LCCb_p in component LCC_module (dimensionless).
 * CONSTANTS[126] is frac_LCCb_po in component LCC_module (dimensionless).
 * ALGEBRAIC[15] is E_Na in component Nernst_Potentials (mV).
 * ALGEBRAIC[16] is E_K in component Nernst_Potentials (mV).
 * ALGEBRAIC[17] is E_Ca in component Nernst_Potentials (mV).
 * CONSTANTS[127] is E_Cl in component Nernst_Potentials (mV).
 * CONSTANTS[114] is R in component Nernst_Potentials (joules_per_kmole_kelvin).
 * CONSTANTS[115] is Frdy in component Nernst_Potentials (coulombs_per_mole).
 * CONSTANTS[128] is FoRT in component Nernst_Potentials (per_mV).
 * CONSTANTS[116] is z_Na in component Nernst_Potentials (dimensionless).
 * CONSTANTS[117] is z_K in component Nernst_Potentials (dimensionless).
 * CONSTANTS[118] 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[18] is am in component Fast_Na_Current (per_sec).
 * ALGEBRAIC[19] is bm in component Fast_Na_Current (per_sec).
 * ALGEBRAIC[20] is ah in component Fast_Na_Current (per_sec).
 * ALGEBRAIC[21] is aj in component Fast_Na_Current (per_sec).
 * ALGEBRAIC[22] is bh in component Fast_Na_Current (per_sec).
 * ALGEBRAIC[23] 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[24] 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[25] is a_lcc in component L_Type_Calcium_Current (per_sec).
 * ALGEBRAIC[26] is b_lcc in component L_Type_Calcium_Current (per_sec).
 * ALGEBRAIC[27] is f_lcc in component L_Type_Calcium_Current (per_sec).
 * ALGEBRAIC[28] is y_lcc_inf in component L_Type_Calcium_Current (dimensionless).
 * ALGEBRAIC[29] is tau_y_lcc in component L_Type_Calcium_Current (second).
 * ALGEBRAIC[30] is gamma in component L_Type_Calcium_Current (per_sec).
 * ALGEBRAIC[31] is v_gamma in component L_Type_Calcium_Current (per_sec).
 * ALGEBRAIC[32] is v_omega in component L_Type_Calcium_Current (per_sec).
 * 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[33] is i_bar_Ca in component L_Type_Calcium_Current (uA_per_uF).
 * ALGEBRAIC[34] is i_bar_K in component L_Type_Calcium_Current (uA_per_uF).
 * ALGEBRAIC[35] is f_avail in component L_Type_Calcium_Current (dimensionless).
 * ALGEBRAIC[36] is I_Ca in component L_Type_Calcium_Current (uA_per_uF).
 * ALGEBRAIC[37] is I_CaK in component L_Type_Calcium_Current (uA_per_uF).
 * ALGEBRAIC[38] is I_Ca_tot in component L_Type_Calcium_Current (uA_per_uF).
 * CONSTANTS[119] is alpha in component L_Type_Calcium_Current (ibar_to_I).
 * ALGEBRAIC[39] is r_toss in component Transient_Outward_K_Current (dimensionless).
 * ALGEBRAIC[40] is s_toss in component Transient_Outward_K_Current (dimensionless).
 * ALGEBRAIC[41] is tau_r_to in component Transient_Outward_K_Current (second).
 * ALGEBRAIC[42] is tau_s_to in component Transient_Outward_K_Current (second).
 * ALGEBRAIC[43] 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[44] is I_to in component Transient_Outward_K_Current (uA_per_uF).
 * ALGEBRAIC[45] is r_ss_inf in component Steady_State_K_Current (dimensionless).
 * ALGEBRAIC[46] is tau_r_ss in component Steady_State_K_Current (second).
 * ALGEBRAIC[47] is s_ss_inf in component Steady_State_K_Current (dimensionless).
 * CONSTANTS[129] 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[48] is I_ss in component Steady_State_K_Current (uA_per_uF).
 * ALGEBRAIC[49] is a_Ki in component Time_Independent_K_Current (dimensionless).
 * ALGEBRAIC[50] is b_Ki in component Time_Independent_K_Current (dimensionless).
 * ALGEBRAIC[51] is Ki_ss in component Time_Independent_K_Current (dimensionless).
 * ALGEBRAIC[52] is I_Ki in component Time_Independent_K_Current (uA_per_uF).
 * ALGEBRAIC[53] is Kp in component Plateau_K_Current (dimensionless).
 * ALGEBRAIC[54] is I_Kp in component Plateau_K_Current (uA_per_uF).
 * ALGEBRAIC[55] is s4 in component Na_Ca_Exchanger_Current (dimensionless).
 * ALGEBRAIC[56] is s5 in component Na_Ca_Exchanger_Current (dimensionless).
 * ALGEBRAIC[57] is I_NCX in component Na_Ca_Exchanger_Current (uA_per_uF).
 * CONSTANTS[130] is sigma in component Na_K_Pump_Current (dimensionless).
 * ALGEBRAIC[58] is f_NaK in component Na_K_Pump_Current (dimensionless).
 * ALGEBRAIC[59] is I_NaK in component Na_K_Pump_Current (uA_per_uF).
 * ALGEBRAIC[60] is I_PCa in component Sarcolemmal_Ca_Pump_Current (uA_per_uF).
 * ALGEBRAIC[61] is I_CaB in component Ca_Background_Current (uA_per_uF).
 * ALGEBRAIC[62] is I_NaB in component Na_Background_Current (uA_per_uF).
 * ALGEBRAIC[63] is I_Na_tot in component Total_Membrane_Currents (uA_per_uF).
 * ALGEBRAIC[64] is I_K_tot in component Total_Membrane_Currents (uA_per_uF).
 * ALGEBRAIC[65] is I_Ca_tot in component Total_Membrane_Currents (uA_per_uF).
 * ALGEBRAIC[66] is t_rel_sub in component Calcium_Induced_Calcium_Release (second).
 * ALGEBRAIC[67] is ryr_on in component Calcium_Induced_Calcium_Release (dimensionless).
 * ALGEBRAIC[68] is ryr_off in component Calcium_Induced_Calcium_Release (dimensionless).
 * ALGEBRAIC[69] is g_rel in component Calcium_Induced_Calcium_Release (per_sec).
 * ALGEBRAIC[70] 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[71] is Km_up in component Other_SR_Fluxes_and_Concentrations (mM).
 * ALGEBRAIC[72] is I_up in component Other_SR_Fluxes_and_Concentrations (mM_per_sec).
 * ALGEBRAIC[73] is I_leak in component Other_SR_Fluxes_and_Concentrations (mM_per_sec).
 * ALGEBRAIC[74] is I_tr in component Other_SR_Fluxes_and_Concentrations (mM_per_sec).
 * ALGEBRAIC[75] 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[76] is SR_content in component Other_SR_Fluxes_and_Concentrations (uM).
 * ALGEBRAIC[77] is b_trpn in component Cytoplasmic_Calcium_Buffering (dimensionless).
 * ALGEBRAIC[78] is b_cmdn in component Cytoplasmic_Calcium_Buffering (dimensionless).
 * ALGEBRAIC[79] is b_indo in component Cytoplasmic_Calcium_Buffering (dimensionless).
 * ALGEBRAIC[80] is B_myo in component Cytoplasmic_Calcium_Buffering (dimensionless).
 * ALGEBRAIC[83] is I_app in component Ion_Concentrations_and_Membrane_Potential (uA_per_uF).
 * CONSTANTS[120] is V_hold in component Ion_Concentrations_and_Membrane_Potential (mV).
 * CONSTANTS[121] is V_test in component Ion_Concentrations_and_Membrane_Potential (mV).
 * ALGEBRAIC[81] is V_clamp in component Ion_Concentrations_and_Membrane_Potential (mV).
 * CONSTANTS[122] is R_clamp in component Ion_Concentrations_and_Membrane_Potential (ms).
 * CONSTANTS[123] is lambda in component Ion_Concentrations_and_Membrane_Potential (nFC_per_sAcm2).
 * ALGEBRAIC[82] is I_pace in component Ion_Concentrations_and_Membrane_Potential (uA_per_uF).
 * 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).
 * There are a total of 8 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 1;
CONSTANTS[1] = 0.01;
CONSTANTS[2] = 0.0132;
CONSTANTS[3] = 3.83;
CONSTANTS[4] = 0.285;
CONSTANTS[5] = 0.062;
CONSTANTS[6] = 33;
CONSTANTS[7] = 1.1e-3;
CONSTANTS[8] = 2.2e-3;
CONSTANTS[9] = 3.6e-3;
CONSTANTS[10] = 2.2e-3;
CONSTANTS[11] = 16;
CONSTANTS[12] = 0.8;
CONSTANTS[13] = 1.21e3;
CONSTANTS[14] = 49.7e-3;
CONSTANTS[15] = 5e3;
CONSTANTS[16] = 38.9e-3;
CONSTANTS[17] = 0;
CONSTANTS[18] = 0;
CONSTANTS[19] = 0.2;
CONSTANTS[20] = 8.5;
CONSTANTS[21] = 7.3;
CONSTANTS[22] = 5;
CONSTANTS[23] = 1.03e3;
CONSTANTS[24] = 315;
CONSTANTS[25] = 860;
CONSTANTS[26] = 1.3;
CONSTANTS[27] = 0.4;
CONSTANTS[28] = 44;
CONSTANTS[29] = 30;
CONSTANTS[30] = 0.59;
CONSTANTS[31] = 0.025;
CONSTANTS[32] = 0.18;
CONSTANTS[33] = 9.14;
CONSTANTS[34] = 1.64;
CONSTANTS[35] = 4.375;
CONSTANTS[36] = 0.2e-3;
CONSTANTS[37] = 106;
CONSTANTS[38] = 0.89;
CONSTANTS[39] = 0.3;
CONSTANTS[40] = 54;
CONSTANTS[41] = 21;
CONSTANTS[42] = 8.5;
CONSTANTS[43] = 7;
CONSTANTS[44] = 60;
CONSTANTS[45] = 1;
CONSTANTS[46] = 14;
CONSTANTS[47] = 1;
CONSTANTS[48] = 1e-3;
CONSTANTS[49] = 10;
CONSTANTS[50] = 25e-3;
CONSTANTS[51] = 25e-3;
CONSTANTS[52] = 25e-3;
CONSTANTS[53] = 54;
CONSTANTS[54] = 21;
CONSTANTS[55] = 8.52;
CONSTANTS[56] = 3;
CONSTANTS[57] = 10.1;
CONSTANTS[58] = 3;
CONSTANTS[59] = 20.8e-6;
CONSTANTS[60] = 9.88e-7;
CONSTANTS[61] = 9.3e-8;
CONSTANTS[62] = 1.534e-4;
CONSTANTS[63] = 310;
CONSTANTS[64] = 140;
CONSTANTS[65] = 5.4;
CONSTANTS[66] = 1.8;
CONSTANTS[67] = 8;
CONSTANTS[68] = 0.35;
CONSTANTS[69] = 0.07;
CONSTANTS[70] = 0.24;
CONSTANTS[71] = 0.008;
CONSTANTS[72] = 300;
CONSTANTS[73] = 2e3;
CONSTANTS[74] = 5187.5;
CONSTANTS[75] = 10;
CONSTANTS[76] = 1.7469e-8;
CONSTANTS[77] = 3.234e-11;
CONSTANTS[78] = 3e5;
CONSTANTS[79] = -0.458;
CONSTANTS[80] = 1483;
CONSTANTS[81] = 87.5;
CONSTANTS[82] = 1.38;
CONSTANTS[83] = 0.1;
CONSTANTS[84] = 0.35;
CONSTANTS[85] = 1.1;
CONSTANTS[86] = 10;
CONSTANTS[87] = 1.5;
CONSTANTS[88] = 1.15;
CONSTANTS[89] = 0.5e-3;
CONSTANTS[90] = 2.8e-3;
CONSTANTS[91] = 1.18e-3;
CONSTANTS[92] = 0;
CONSTANTS[93] = 1.2e-3;
CONSTANTS[94] = 4.7;
CONSTANTS[95] = 3e-4;
CONSTANTS[96] = 15;
CONSTANTS[97] = 2e-3;
CONSTANTS[98] = 2e-3;
CONSTANTS[99] = 60e3;
CONSTANTS[100] = 0.18e-3;
CONSTANTS[101] = 0.8e-3;
CONSTANTS[102] = 8.75;
CONSTANTS[103] = 15;
CONSTANTS[104] = 0.8;
CONSTANTS[105] = 5.7e-4;
CONSTANTS[106] = 0.07;
CONSTANTS[107] = 0.05;
CONSTANTS[108] = 0.07;
CONSTANTS[109] = 0.5128e-3;
CONSTANTS[110] = 2.38e-3;
CONSTANTS[111] = 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;
CONSTANTS[112] = 0;
CONSTANTS[113] = 0;
STATES[7] = 4.105;
STATES[8] = 0.0526;
STATES[9] = 5.103e-3;
STATES[10] = 5.841e-3;
CONSTANTS[114] = 8314;
CONSTANTS[115] = 96485;
CONSTANTS[116] = 1;
CONSTANTS[117] = 1;
CONSTANTS[118] = 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;
CONSTANTS[119] = 10e5;
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[120] = -40;
CONSTANTS[121] = -10;
CONSTANTS[122] = 0.02;
CONSTANTS[123] = -1e3;
CONSTANTS[124] = 0.961300;
CONSTANTS[125] = 0.204100;
CONSTANTS[126] = 0.233600;
CONSTANTS[127] = - 40.0000;
CONSTANTS[128] = (CONSTANTS[115]/CONSTANTS[114])/CONSTANTS[63];
CONSTANTS[129] = 2.10000;
CONSTANTS[130] = (exp(CONSTANTS[64]/67.3000) - 1.00000)/7.00000;
rootfind_0(VOI, CONSTANTS, RATES, STATES, ALGEBRAIC, pret);
STATES[31] = 0.000191562;
STATES[32] = 0.0117971;
STATES[33] = 6.39347e-06;
STATES[34] = 1.31876e-05;
STATES[35] = 2.5503e-06;
STATES[36] = 0.188856;
STATES[37] = 0.988;
STATES[38] = 5.5258e-05;
STATES[39] = 3.8182;
STATES[40] = 0.0588;
STATES[41] = 0.227;
STATES[42] = 0.0224;
STATES[43] = 0;
STATES[44] = 0.0471;
STATES[45] = 0.00263705;
STATES[46] = 0;
STATES[47] = 0.0210865;
STATES[48] = 0.0078048;
STATES[49] = 0;
STATES[50] = 0.0289131;
STATES[51] = 0.000534718;
STATES[52] = 0.00290213;
STATES[53] = 0.21597;
STATES[54] = 5.83396e-05;
STATES[55] = 0.0306208;
STATES[56] = 0.116856;
STATES[57] = 0.00234908;
STATES[58] = 3.91219;
STATES[59] = 0.0083;
STATES[60] = 2.63217;
STATES[61] = 2.63135;
STATES[62] = 0.0525373;
STATES[63] = 0.699596;
STATES[64] = 6.2734e-05;
STATES[65] = 0.8375;
STATES[66] = 0.00422466;
STATES[67] = 0.00406938;
RATES[0] = 0.1001;
RATES[1] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[4] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 0.1001;
RATES[9] = 0.1001;
RATES[10] = 0.1001;
RATES[14] = 0.1001;
RATES[15] = 0.1001;
RATES[16] = 0.1001;
RATES[18] = 0.1001;
RATES[19] = 0.1001;
RATES[20] = 0.1001;
RATES[21] = 0.1001;
RATES[22] = 0.1001;
RATES[23] = 0.1001;
RATES[24] = 0.1001;
RATES[25] = 0.1001;
RATES[26] = 0.1001;
RATES[27] = 0.1001;
RATES[30] = 0.1001;
RATES[28] = 0.1001;
RATES[11] = 0.1001;
RATES[12] = 0.1001;
RATES[13] = 0.1001;
RATES[17] = 0.1001;
RATES[29] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = STATES[31] - ( STATES[37]*STATES[38])/CONSTANTS[4];
resid[1] = STATES[32] - ( STATES[31]*STATES[39])/CONSTANTS[5];
resid[2] = STATES[33] - ( STATES[38]*STATES[39])/CONSTANTS[6];
resid[3] = STATES[34] -  CONSTANTS[7]*(STATES[31]+STATES[32]);
resid[4] = STATES[35] -  CONSTANTS[9]*STATES[40]*STATES[0];
resid[5] = STATES[36] -  CONSTANTS[11]*(STATES[33]+STATES[32]);
resid[6] = STATES[37] - (CONSTANTS[1] - STATES[31]) - STATES[32];
resid[7] = STATES[38] - ((STATES[0] - STATES[31]) - STATES[32]) - STATES[33];
resid[8] = STATES[39] - (CONSTANTS[3] - STATES[32]) - STATES[33];
resid[9] = RATES[0] - ((ALGEBRAIC[0] - STATES[34])+ALGEBRAIC[1]) - STATES[35];
resid[10] = RATES[1] - STATES[34] - ALGEBRAIC[0];
resid[11] = RATES[2] - STATES[35] - ALGEBRAIC[1];
resid[12] = RATES[3] - STATES[36] - ALGEBRAIC[2];
resid[13] = RATES[4] - ALGEBRAIC[2] - ALGEBRAIC[3];
resid[14] = RATES[5] - STATES[36] - ALGEBRAIC[3];
resid[15] = STATES[45] - ( STATES[42]*STATES[44])/CONSTANTS[27];
resid[16] = STATES[46] - ( STATES[43]*STATES[44])/CONSTANTS[28];
resid[17] = STATES[48] - ( CONSTANTS[19]*STATES[44]*CONSTANTS[15])/(CONSTANTS[23]+CONSTANTS[15]);
resid[18] = STATES[47] - ( CONSTANTS[20]*STATES[45]*CONSTANTS[15])/(CONSTANTS[24]+CONSTANTS[15]);
resid[19] = STATES[49] - ( CONSTANTS[21]*STATES[46]*CONSTANTS[15])/(CONSTANTS[25]+CONSTANTS[15]);
resid[20] = STATES[50] - ( CONSTANTS[22]*CONSTANTS[131]*STATES[41])/(CONSTANTS[26]+STATES[41]);
resid[21] = STATES[42] - STATES[3] - STATES[45];
resid[22] = STATES[43] - CONSTANTS[18] - STATES[46];
resid[23] = STATES[44] - CONSTANTS[14] - STATES[45];
resid[24] = RATES[6] - (STATES[48]+STATES[47]+STATES[49]) - STATES[50];
resid[25] = STATES[51] - ( CONSTANTS[32]*CONSTANTS[36])/(CONSTANTS[36]+STATES[40]+STATES[59]);
resid[26] = STATES[52] -  (STATES[40]/CONSTANTS[35])*STATES[40]*(1.00000+STATES[51]/CONSTANTS[36]);
resid[27] = STATES[53] -  STATES[40]*(1.00000+STATES[51]/CONSTANTS[36]);
resid[28] = STATES[54] -  (STATES[59]/CONSTANTS[35])*STATES[59]*(1.00000+STATES[51]/CONSTANTS[36]);
resid[29] = STATES[55] -  STATES[59]*(1.00000+STATES[51]/CONSTANTS[36]);
resid[30] = STATES[56] -  (CONSTANTS[33]/STATES[41])*STATES[52];
resid[31] = STATES[57] -  (CONSTANTS[33]/STATES[41])*STATES[54];
resid[32] = STATES[58] - ( CONSTANTS[33]*CONSTANTS[34])/CONSTANTS[35]+( CONSTANTS[33]*STATES[41])/CONSTANTS[35]+pow(STATES[41], 2.00000)/CONSTANTS[35];
resid[33] = STATES[41] - (STATES[6] - (STATES[56]+ 2.00000*STATES[52]+ 2.00000*STATES[53])) - (STATES[57]+ 2.00000*STATES[54]+ 2.00000*STATES[55]);
resid[34] = CONSTANTS[112] -  2.00000*CONSTANTS[30]*pow(STATES[41], 2.00000) -  STATES[40]*(1.00000+STATES[51]/CONSTANTS[36])*( STATES[58]*STATES[40]+pow(STATES[41], 2.00000));
resid[35] = CONSTANTS[113] -  2.00000*CONSTANTS[31]*pow(STATES[41], 2.00000) -  STATES[59]*(1.00000+STATES[51]/CONSTANTS[36])*( STATES[58]*STATES[59]+pow(STATES[41], 2.00000));
resid[36] = STATES[60] - ( CONSTANTS[40]*STATES[40]*ALGEBRAIC[4])/(CONSTANTS[41]+ALGEBRAIC[4]);
resid[37] = STATES[61] - ( CONSTANTS[42]*STATES[65]*STATES[7])/(CONSTANTS[43]+STATES[7]);
resid[38] = STATES[62] - ( STATES[64]*STATES[65])/CONSTANTS[48];
resid[39] = STATES[63] - ( CONSTANTS[44]*STATES[40]*ALGEBRAIC[5])/(CONSTANTS[45]+ALGEBRAIC[5]);
resid[40] = RATES[7] - STATES[60] - STATES[61];
resid[41] = RATES[8] - STATES[63] - ALGEBRAIC[6];
resid[42] = STATES[64] - STATES[8] - STATES[62];
resid[43] = STATES[65] - CONSTANTS[38] - STATES[62];
resid[44] = STATES[66] - ( CONSTANTS[49]*CONSTANTS[53]*STATES[59]*ALGEBRAIC[9])/(CONSTANTS[54]+ CONSTANTS[49]*ALGEBRAIC[9]);
resid[45] = STATES[67] - ( CONSTANTS[49]*CONSTANTS[53]*STATES[59]*ALGEBRAIC[11])/(CONSTANTS[54]+ CONSTANTS[49]*ALGEBRAIC[11]);
resid[46] = RATES[9] - STATES[66] - ALGEBRAIC[10];
resid[47] = RATES[10] - STATES[67] - ALGEBRAIC[12];
resid[48] = RATES[14] -  1000.00*( ALGEBRAIC[18]*(1.00000 - STATES[14]) -  ALGEBRAIC[19]*STATES[14]);
resid[49] = RATES[15] -  1000.00*( ALGEBRAIC[20]*(1.00000 - STATES[15]) -  ALGEBRAIC[22]*STATES[15]);
resid[50] = RATES[16] -  1000.00*( ALGEBRAIC[21]*(1.00000 - STATES[16]) -  ALGEBRAIC[23]*STATES[16]);
resid[51] = RATES[18] -  ALGEBRAIC[25]*(1.00000 - STATES[18]) -  ALGEBRAIC[26]*STATES[18];
resid[52] = RATES[19] -  2.00000*ALGEBRAIC[25]*(1.00000 - STATES[19]) -  (ALGEBRAIC[26]/2.00000)*STATES[19];
resid[53] = RATES[20] -  ALGEBRAIC[27]*(1.00000 - STATES[20]) -  CONSTANTS[73]*STATES[20];
resid[54] = RATES[21] - (ALGEBRAIC[28] - STATES[21])/ALGEBRAIC[29];
resid[55] = RATES[22] -  ALGEBRAIC[32]*(1.00000 - STATES[22]) -  ALGEBRAIC[31]*STATES[22];
resid[56] = RATES[23] - (ALGEBRAIC[39] - STATES[23])/ALGEBRAIC[41];
resid[57] = RATES[24] - (ALGEBRAIC[40] - STATES[24])/ALGEBRAIC[42];
resid[58] = RATES[25] - (ALGEBRAIC[40] - STATES[25])/ALGEBRAIC[43];
resid[59] = RATES[26] - (ALGEBRAIC[45] - STATES[26])/ALGEBRAIC[46];
resid[60] = RATES[27] - (ALGEBRAIC[47] - STATES[27])/CONSTANTS[129];
resid[61] = RATES[30] - (ALGEBRAIC[72] - ALGEBRAIC[73]) - ( ALGEBRAIC[74]*CONSTANTS[61])/CONSTANTS[60];
resid[62] = RATES[28] -  ALGEBRAIC[75]*(ALGEBRAIC[74] - ALGEBRAIC[70]);
resid[63] = RATES[11] - ( CONSTANTS[123]*ALGEBRAIC[63]*CONSTANTS[62])/( CONSTANTS[59]*CONSTANTS[116]*CONSTANTS[115]);
resid[64] = RATES[12] - ( CONSTANTS[123]*ALGEBRAIC[64]*CONSTANTS[62])/( CONSTANTS[59]*CONSTANTS[117]*CONSTANTS[115]);
resid[65] = RATES[13] -  ALGEBRAIC[80]*((( CONSTANTS[123]*ALGEBRAIC[65]*CONSTANTS[62])/( CONSTANTS[59]*CONSTANTS[118]*CONSTANTS[115]) - ( (ALGEBRAIC[72] - ALGEBRAIC[73])*CONSTANTS[60])/CONSTANTS[59])+( ALGEBRAIC[70]*CONSTANTS[61])/CONSTANTS[59]);
resid[66] = RATES[17] -  - 1000.00*((ALGEBRAIC[65]+ALGEBRAIC[64]+ALGEBRAIC[63]) - ALGEBRAIC[83]);
resid[67] = RATES[29] - (CONDVAR[6]>0.00000 ? 1.00000 -  10000.0*STATES[29] : 1.00000);
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[7] = STATES[7]/CONSTANTS[37];
ALGEBRAIC[38] = ALGEBRAIC[36]+ALGEBRAIC[37];
ALGEBRAIC[76] =  1000.00*(( (STATES[28]+STATES[28]/ALGEBRAIC[75])*CONSTANTS[61])/CONSTANTS[59]+( STATES[30]*CONSTANTS[60])/CONSTANTS[59]);
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] =  CONSTANTS[8]*STATES[1];
ALGEBRAIC[1] =  CONSTANTS[10]*STATES[2];
ALGEBRAIC[2] =  CONSTANTS[12]*STATES[3];
ALGEBRAIC[3] =  CONSTANTS[13]*STATES[4]*STATES[5];
ALGEBRAIC[4] = CONSTANTS[37] - STATES[7];
ALGEBRAIC[5] = CONSTANTS[39] - STATES[8];
ALGEBRAIC[6] = ( CONSTANTS[46]*STATES[8])/(CONSTANTS[47]+STATES[8]);
ALGEBRAIC[9] = CONSTANTS[50] - STATES[9];
ALGEBRAIC[10] = ( CONSTANTS[49]*CONSTANTS[57]*CONSTANTS[52]*STATES[9])/(CONSTANTS[58]+ CONSTANTS[49]*STATES[9]);
ALGEBRAIC[11] = CONSTANTS[50] - STATES[10];
ALGEBRAIC[12] = ( CONSTANTS[49]*CONSTANTS[55]*CONSTANTS[51]*STATES[10])/(CONSTANTS[56]+ CONSTANTS[49]*STATES[10]);
ALGEBRAIC[18] = ( 0.320000*(STATES[17]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[17]+47.1300)));
ALGEBRAIC[19] =  0.0800000*exp(- STATES[17]/11.0000);
ALGEBRAIC[20] = (CONDVAR[0]>=0.00000 ? 0.00000 :  0.135000*exp((80.0000+STATES[17])/- 6.80000));
ALGEBRAIC[21] = (CONDVAR[1]>=0.00000 ? 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[22] = (CONDVAR[2]>=0.00000 ? 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[23] = (CONDVAR[3]>=0.00000 ? ( 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[25] =  400.000*exp((STATES[17]+2.00000)/10.0000);
ALGEBRAIC[26] =  50.0000*exp(( - 1.00000*(STATES[17]+2.00000))/13.0000);
ALGEBRAIC[13] = STATES[9]/CONSTANTS[50];
ALGEBRAIC[27] =  CONSTANTS[72]*(( 0.375000*ALGEBRAIC[13])/CONSTANTS[125]+0.625000);
ALGEBRAIC[28] = 1.00000/(1.00000+exp((STATES[17]+55.0000)/7.50000))+0.100000/(1.00000+exp((- STATES[17]+21.0000)/6.00000));
ALGEBRAIC[29] = 0.0200000+0.300000/(1.00000+exp((STATES[17]+30.0000)/9.50000));
ALGEBRAIC[30] =  CONSTANTS[74]*STATES[13];
ALGEBRAIC[31] =  ALGEBRAIC[30]*(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[27]/CONSTANTS[73]));
ALGEBRAIC[32] =  CONSTANTS[75]*(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[39] = 1.00000/(1.00000+exp((STATES[17]+10.6000)/- 11.4200));
ALGEBRAIC[40] = 1.00000/(1.00000+exp((STATES[17]+43.5000)/6.88410));
ALGEBRAIC[41] = 1.00000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000)));
ALGEBRAIC[42] =  0.350000*exp( - 1.00000*pow((STATES[17]+70.0000)/15.0000, 2.00000))+0.0350000;
ALGEBRAIC[43] =  3.70000*exp( - 1.00000*pow((STATES[17]+70.0000)/30.0000, 2.00000))+0.0350000;
ALGEBRAIC[45] = 1.00000/(1.00000+exp((STATES[17]+11.5000)/- 11.8200));
ALGEBRAIC[46] = 10.0000/( 45.1600*exp( 0.0357700*(STATES[17]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[17]+38.0000)));
ALGEBRAIC[47] = 1.00000/(1.00000+exp((STATES[17]+87.5000)/10.3000));
ALGEBRAIC[15] =  (1.00000/( CONSTANTS[128]*CONSTANTS[116]))*log(CONSTANTS[64]/STATES[11]);
ALGEBRAIC[24] =  CONSTANTS[67]*pow(STATES[14], 3.00000)*STATES[15]*STATES[16]*(STATES[17] - ALGEBRAIC[15]);
ALGEBRAIC[55] =  1.00000*exp( CONSTANTS[84]*STATES[17]*CONSTANTS[128])*pow(STATES[11], 3.00000)*CONSTANTS[66];
ALGEBRAIC[56] =  1.00000*exp( (CONSTANTS[84] - 1.00000)*STATES[17]*CONSTANTS[128])*pow(CONSTANTS[64], 3.00000)*STATES[13];
ALGEBRAIC[57] =  (CONSTANTS[80]/( (pow(CONSTANTS[81], 3.00000)+pow(CONSTANTS[64], 3.00000))*(CONSTANTS[82]+CONSTANTS[66])*(1.00000+ CONSTANTS[83]*exp( (CONSTANTS[84] - 1.00000)*STATES[17]*CONSTANTS[128]))))*(ALGEBRAIC[55] - ALGEBRAIC[56]);
ALGEBRAIC[58] = 1.00000/(1.00000+ 0.124500*exp( - 0.100000*STATES[17]*CONSTANTS[128])+ 0.0365000*CONSTANTS[130]*exp( - STATES[17]*CONSTANTS[128]));
ALGEBRAIC[59] = ( (( CONSTANTS[85]*ALGEBRAIC[58])/(1.00000+pow(CONSTANTS[86]/STATES[11], 1.50000)))*CONSTANTS[65])/(CONSTANTS[65]+CONSTANTS[87]);
ALGEBRAIC[62] =  CONSTANTS[91]*(STATES[17] - ALGEBRAIC[15]);
ALGEBRAIC[63] = ALGEBRAIC[24]+ALGEBRAIC[62]+ 3.00000*ALGEBRAIC[57]+ 3.00000*ALGEBRAIC[59];
ALGEBRAIC[34] = ( CONSTANTS[119]*CONSTANTS[77]*STATES[17]*CONSTANTS[115]*CONSTANTS[128]*( STATES[12]*exp( STATES[17]*CONSTANTS[128]) - CONSTANTS[65]))/(exp( STATES[17]*CONSTANTS[128]) - 1.00000);
ALGEBRAIC[14] = STATES[10]/CONSTANTS[50];
ALGEBRAIC[35] =  0.500000*(( 0.400000*ALGEBRAIC[14])/CONSTANTS[126]+0.600000);
ALGEBRAIC[33] = ( CONSTANTS[119]*CONSTANTS[76]*4.00000*STATES[17]*CONSTANTS[115]*CONSTANTS[128]*( 0.00100000*exp( 2.00000*STATES[17]*CONSTANTS[128]) -  0.341000*CONSTANTS[66]))/(exp( 2.00000*STATES[17]*CONSTANTS[128]) - 1.00000);
ALGEBRAIC[36] =  ALGEBRAIC[33]*CONSTANTS[78]*ALGEBRAIC[35]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22];
ALGEBRAIC[37] =  (ALGEBRAIC[34]/(1.00000+ALGEBRAIC[36]/CONSTANTS[79]))*CONSTANTS[78]*ALGEBRAIC[35]*pow(STATES[18], 4.00000)*STATES[20]*STATES[21]*STATES[22];
ALGEBRAIC[16] =  (1.00000/( CONSTANTS[128]*CONSTANTS[117]))*log(CONSTANTS[65]/STATES[12]);
ALGEBRAIC[44] =  CONSTANTS[68]*STATES[23]*( 0.886000*STATES[24]+ 0.114000*STATES[25])*(STATES[17] - ALGEBRAIC[16]);
ALGEBRAIC[48] =  CONSTANTS[69]*STATES[26]*STATES[27]*(STATES[17] - ALGEBRAIC[16]);
ALGEBRAIC[49] = 1.02000/(1.00000+exp( 0.238500*((STATES[17] - ALGEBRAIC[16]) - 59.2150)));
ALGEBRAIC[50] = ( 0.491240*exp( 0.0803200*((STATES[17]+5.47600) - ALGEBRAIC[16]))+exp( 0.0617500*((STATES[17] - ALGEBRAIC[16]) - 594.310)))/(1.00000+exp( - 0.514300*((STATES[17] - ALGEBRAIC[16])+4.75300)));
ALGEBRAIC[51] = ALGEBRAIC[49]/(ALGEBRAIC[49]+ALGEBRAIC[50]);
ALGEBRAIC[52] =  CONSTANTS[70]* pow((CONSTANTS[65]/5.40000), 1.0 / 2)*ALGEBRAIC[51]*(STATES[17] - ALGEBRAIC[16]);
ALGEBRAIC[53] = 1.00000/(1.00000+exp((7.48800 - STATES[17])/5.98000));
ALGEBRAIC[54] =  CONSTANTS[71]*ALGEBRAIC[53]*(STATES[17] - ALGEBRAIC[16]);
ALGEBRAIC[64] = ((ALGEBRAIC[44]+ALGEBRAIC[48]+ALGEBRAIC[52]+ALGEBRAIC[54]) -  2.00000*ALGEBRAIC[59])+ALGEBRAIC[37];
ALGEBRAIC[60] = ( CONSTANTS[88]*STATES[13])/(CONSTANTS[89]+STATES[13]);
ALGEBRAIC[17] =  (1.00000/( CONSTANTS[128]*CONSTANTS[118]))*log(CONSTANTS[66]/STATES[13]);
ALGEBRAIC[61] =  CONSTANTS[90]*(STATES[17] - ALGEBRAIC[17]);
ALGEBRAIC[65] = (ALGEBRAIC[36]+ALGEBRAIC[61]+ALGEBRAIC[60]) -  2.00000*ALGEBRAIC[57];
ALGEBRAIC[66] = STATES[29]+0.00200000;
ALGEBRAIC[67] = 1.00000 - exp(- ALGEBRAIC[66]/CONSTANTS[97]);
ALGEBRAIC[68] = exp(- ALGEBRAIC[66]/CONSTANTS[98]);
ALGEBRAIC[69] = CONSTANTS[99]/( 1.00000*(1.00000+exp((ALGEBRAIC[65]+5.00000)/0.900000)));
ALGEBRAIC[70] =  ALGEBRAIC[69]*ALGEBRAIC[67]*ALGEBRAIC[68]*(STATES[28] - STATES[13]);
ALGEBRAIC[8] = ALGEBRAIC[4]/CONSTANTS[37];
ALGEBRAIC[71] = ( CONSTANTS[95]*(1.00000+ 2.00000*ALGEBRAIC[8]))/(1.00000+ 2.00000*CONSTANTS[124]);
ALGEBRAIC[72] = ( CONSTANTS[94]*pow(STATES[13], 2.00000))/(pow(ALGEBRAIC[71], 2.00000)+pow(STATES[13], 2.00000));
ALGEBRAIC[73] = ( CONSTANTS[94]*STATES[30])/CONSTANTS[96];
ALGEBRAIC[74] = (STATES[30] - STATES[28])/CONSTANTS[105];
ALGEBRAIC[75] = 1.00000/(1.00000+( CONSTANTS[103]*CONSTANTS[104])/pow(CONSTANTS[104]+STATES[28], 2.00000));
ALGEBRAIC[77] = ( CONSTANTS[106]*CONSTANTS[109])/pow(CONSTANTS[109]+STATES[13], 2.00000);
ALGEBRAIC[78] = ( CONSTANTS[107]*CONSTANTS[110])/pow(CONSTANTS[110]+STATES[13], 2.00000);
ALGEBRAIC[79] = ( CONSTANTS[108]*CONSTANTS[111])/pow(CONSTANTS[111]+STATES[13], 2.00000);
ALGEBRAIC[80] = 1.00000/(1.00000+ALGEBRAIC[78]+ 2.00000*ALGEBRAIC[77]+ALGEBRAIC[79]);
ALGEBRAIC[81] = (CONDVAR[4]>0.00000&&CONDVAR[5]<0.00000 ? CONSTANTS[121] : CONSTANTS[120]);
ALGEBRAIC[82] = (CONDVAR[7]>0.00000 ? 10.0000 : 0.00000);
ALGEBRAIC[83] = (CONSTANTS[0]==0.00000 ? 0.00000 : CONSTANTS[0]==1.00000 ? ALGEBRAIC[82] : (ALGEBRAIC[81] - STATES[17])/CONSTANTS[122]);
}
void
getStateInformation(double* SI)
{
SI[31] = 0.0;
SI[32] = 0.0;
SI[33] = 0.0;
SI[34] = 0.0;
SI[35] = 0.0;
SI[36] = 0.0;
SI[37] = 0.0;
SI[38] = 0.0;
SI[39] = 0.0;
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
SI[3] = 1.0;
SI[4] = 1.0;
SI[5] = 1.0;
SI[40] = 0.0;
SI[41] = 0.0;
SI[42] = 0.0;
SI[43] = 0.0;
SI[44] = 0.0;
SI[6] = 1.0;
SI[45] = 0.0;
SI[46] = 0.0;
SI[47] = 0.0;
SI[48] = 0.0;
SI[49] = 0.0;
SI[50] = 0.0;
SI[51] = 0.0;
SI[52] = 0.0;
SI[53] = 0.0;
SI[54] = 0.0;
SI[55] = 0.0;
SI[56] = 0.0;
SI[57] = 0.0;
SI[58] = 0.0;
SI[59] = 0.0;
SI[60] = 0.0;
SI[61] = 0.0;
SI[62] = 0.0;
SI[63] = 0.0;
SI[7] = 1.0;
SI[8] = 1.0;
SI[64] = 0.0;
SI[65] = 0.0;
SI[66] = 0.0;
SI[67] = 0.0;
SI[9] = 1.0;
SI[10] = 1.0;
SI[11] = 1.0;
SI[12] = 1.0;
SI[13] = 1.0;
SI[14] = 1.0;
SI[15] = 1.0;
SI[16] = 1.0;
SI[17] = 1.0;
SI[18] = 1.0;
SI[19] = 1.0;
SI[20] = 1.0;
SI[21] = 1.0;
SI[22] = 1.0;
SI[23] = 1.0;
SI[24] = 1.0;
SI[25] = 1.0;
SI[26] = 1.0;
SI[27] = 1.0;
SI[28] = 1.0;
SI[29] = 1.0;
SI[30] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = STATES[17] - - 40.0000;
CONDVAR[1] = STATES[17] - - 40.0000;
CONDVAR[2] = STATES[17] - - 40.0000;
CONDVAR[3] = STATES[17] - - 40.0000;
CONDVAR[4] = VOI - 59.1000;
CONDVAR[5] = VOI - 59.5000;
CONDVAR[6] =  - 1000.00*((ALGEBRAIC[65]+ALGEBRAIC[64]+ALGEBRAIC[63]) - ALGEBRAIC[83]) - 30000.0;
CONDVAR[7] =  sin( 2.00000* 3.14159265358979*VOI) - 0.999900;
}

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[131] = p[0];
  CONSTANTS[132] = p[1];
  CONSTANTS[133] = p[2];
  hx[0] = CONSTANTS[133] - ( CONSTANTS[131]*CONSTANTS[132])/CONSTANTS[29];
  hx[1] = CONSTANTS[131] - (CONSTANTS[16] - CONSTANTS[133]);
  hx[2] = CONSTANTS[132] - (CONSTANTS[17] - CONSTANTS[133]);
#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[131] = p[0];
  CONSTANTS[132] = p[1];
  CONSTANTS[133] = p[2];
}