Generated Code

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

The raw code is available.

/*
   There are a total of 140 entries in the algebraic variable array.
   There are a total of 26 entries in each of the rate and state variable arrays.
   There are a total of 188 entries in the constant variable array.
 */
/*
 * CONSTANTS[0] is NO_on in component strain_control (dimensionless).
 * CONSTANTS[1] is pH_on in component strain_control (dimensionless).
 * CONSTANTS[2] is SAC_on in component strain_control (dimensionless).
 * VOI is time in component environment (ms).
 * CONSTANTS[3] is V_myo in component cell_geom (mm3).
 * CONSTANTS[4] is V_SR in component cell_geom (mm3).
 * CONSTANTS[5] is N in component cell_geom (dimensionless).
 * CONSTANTS[6] is A_cap in component cell_geom (mm2).
 * CONSTANTS[140] is rho in component cell_geom (per_mm).
 * STATES[0] is V in component membrane (mV).
 * CONSTANTS[7] is R in component membrane (millijoule_per_mole_kelvin).
 * CONSTANTS[8] is T in component membrane (kelvin).
 * CONSTANTS[9] is F in component membrane (coulomb_per_mole).
 * CONSTANTS[10] is CmF in component membrane (uF).
 * CONSTANTS[149] is Cm in component membrane (uF_per_mm2).
 * ALGEBRAIC[24] is i_Na in component sodium_current (uA_per_mm2).
 * ALGEBRAIC[30] is i_t in component Ca_independent_transient_outward_K_current (uA_per_mm2).
 * ALGEBRAIC[31] is i_ss in component steady_state_outward_K_current (uA_per_mm2).
 * ALGEBRAIC[36] is i_f in component hyperpolarisation_activated_current (uA_per_mm2).
 * ALGEBRAIC[32] is i_K1 in component inward_rectifier (uA_per_mm2).
 * ALGEBRAIC[41] is i_NaK in component sodium_potassium_pump (uA_per_mm2).
 * ALGEBRAIC[9] is i_Stim in component I_stimulus (uA_per_mm2).
 * ALGEBRAIC[127] is I_CaL in component I_Ca_L (uA_per_mm2).
 * ALGEBRAIC[87] is I_NaCa in component NCX (uA_per_mm2).
 * ALGEBRAIC[83] is I_Cab in component Cab (uA_per_mm2).
 * ALGEBRAIC[81] is I_pCa in component SL_pump (uA_per_mm2).
 * ALGEBRAIC[37] is i_B_Na in component background_currents (uA_per_mm2).
 * ALGEBRAIC[38] is i_B_K in component background_currents (uA_per_mm2).
 * ALGEBRAIC[22] is I_SAC_Na in component SAC_current (uA_per_mm2).
 * ALGEBRAIC[27] is I_SAC_K in component SAC_current (uA_per_mm2).
 * ALGEBRAIC[29] is I_Ko in component KSA_current (uA_per_mm2).
 * ALGEBRAIC[73] is I_Cl in component intracellular_ion_concentrations (uA_per_mm2).
 * ALGEBRAIC[76] is I_H in component intracellular_ion_concentrations (uA_per_mm2).
 * CONSTANTS[11] is stim_period in component I_stimulus (ms).
 * CONSTANTS[12] is stim_duration in component I_stimulus (ms).
 * CONSTANTS[13] is stim_amplitude in component I_stimulus (uA).
 * ALGEBRAIC[20] is E_Na in component sodium_current (mV).
 * ALGEBRAIC[25] is E_K in component Ca_independent_transient_outward_K_current (mV).
 * CONSTANTS[14] is ExtensionRatio in component Myofilaments (dimensionless).
 * CONSTANTS[15] is g_SAC in component SAC_current (mS).
 * ALGEBRAIC[28] is I_SAC in component SAC_current (uA_per_mm2).
 * CONSTANTS[141] is gamma_SLSAC in component SAC_current (dimensionless).
 * CONSTANTS[16] is E_R in component SAC_current (mV).
 * CONSTANTS[142] is r in component SAC_current (dimensionless).
 * CONSTANTS[17] is g_Ko in component KSA_current (mS).
 * CONSTANTS[143] is gamma_SLKO in component KSA_current (dimensionless).
 * CONSTANTS[18] is g_Na in component sodium_current (mS).
 * CONSTANTS[144] is g_Na_endo in component sodium_current (mS).
 * STATES[1] is Na_i in component intracellular_ion_concentrations (mM).
 * CONSTANTS[19] is Na_o in component standard_ionic_concentrations (mM).
 * STATES[2] is m in component sodium_current_m_gate (dimensionless).
 * STATES[3] is h in component sodium_current_h_gate (dimensionless).
 * STATES[4] is j in component sodium_current_j_gate (dimensionless).
 * ALGEBRAIC[0] is m_infinity in component sodium_current_m_gate (dimensionless).
 * ALGEBRAIC[12] is tau_m in component sodium_current_m_gate (ms).
 * ALGEBRAIC[1] is h_infinity in component sodium_current_h_gate (dimensionless).
 * ALGEBRAIC[13] is tau_h in component sodium_current_h_gate (ms).
 * ALGEBRAIC[2] is j_infinity in component sodium_current_j_gate (dimensionless).
 * ALGEBRAIC[14] is tau_j in component sodium_current_j_gate (ms).
 * CONSTANTS[20] is g_t in component Ca_independent_transient_outward_K_current (mS).
 * CONSTANTS[145] is g_t_endo in component Ca_independent_transient_outward_K_current (mS).
 * CONSTANTS[21] is a_endo in component Ca_independent_transient_outward_K_current (dimensionless).
 * CONSTANTS[22] is b_endo in component Ca_independent_transient_outward_K_current (dimensionless).
 * CONSTANTS[23] is K_o in component standard_ionic_concentrations (mM).
 * STATES[5] is K_i in component intracellular_ion_concentrations (mM).
 * STATES[6] is r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
 * STATES[7] is s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
 * STATES[8] is s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
 * ALGEBRAIC[15] is tau_r in component Ca_independent_transient_outward_K_current_r_gate (ms).
 * ALGEBRAIC[3] is r_infinity in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
 * ALGEBRAIC[16] is tau_s_endo in component Ca_independent_transient_outward_K_current_s_gate (ms).
 * ALGEBRAIC[4] is s_infinity in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
 * ALGEBRAIC[17] is tau_s_slow_endo in component Ca_independent_transient_outward_K_current_s_slow_gate (ms).
 * ALGEBRAIC[5] is s_slow_infinity in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
 * CONSTANTS[24] is g_ss in component steady_state_outward_K_current (mS).
 * STATES[9] is r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless).
 * STATES[10] is s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless).
 * ALGEBRAIC[18] is tau_r_ss in component steady_state_outward_K_current_r_ss_gate (ms).
 * ALGEBRAIC[6] is r_ss_infinity in component steady_state_outward_K_current_r_ss_gate (dimensionless).
 * CONSTANTS[146] is tau_s_ss in component steady_state_outward_K_current_s_ss_gate (ms).
 * ALGEBRAIC[7] is s_ss_infinity in component steady_state_outward_K_current_s_ss_gate (dimensionless).
 * CONSTANTS[25] is g_K1 in component inward_rectifier (mS).
 * ALGEBRAIC[33] is i_f_Na in component hyperpolarisation_activated_current (uA_per_mm2).
 * ALGEBRAIC[34] is i_f_K in component hyperpolarisation_activated_current (uA_per_mm2).
 * CONSTANTS[26] is g_f in component hyperpolarisation_activated_current (mS).
 * CONSTANTS[27] is f_Na in component hyperpolarisation_activated_current (dimensionless).
 * CONSTANTS[147] is f_K in component hyperpolarisation_activated_current (dimensionless).
 * STATES[11] is y in component hyperpolarisation_activated_current_y_gate (dimensionless).
 * ALGEBRAIC[19] is tau_y in component hyperpolarisation_activated_current_y_gate (ms).
 * ALGEBRAIC[8] is y_infinity in component hyperpolarisation_activated_current_y_gate (dimensionless).
 * CONSTANTS[28] is g_B_Na in component background_currents (mS).
 * CONSTANTS[29] is g_B_K in component background_currents (mS).
 * CONSTANTS[30] is scale_Na in component background_currents (dimensionless).
 * CONSTANTS[31] is scale_K in component background_currents (dimensionless).
 * CONSTANTS[32] is i_NaK_max in component sodium_potassium_pump (uA).
 * CONSTANTS[33] is K_m_K in component sodium_potassium_pump (mM).
 * CONSTANTS[34] is K_m_Na in component sodium_potassium_pump (mM).
 * CONSTANTS[148] is sigma in component sodium_potassium_pump (dimensionless).
 * ALGEBRAIC[39] is p_nai in component sodium_potassium_pump (dimensionless).
 * ALGEBRAIC[40] is p_v in component sodium_potassium_pump (dimensionless).
 * ALGEBRAIC[42] is jco2 in component J_CO2 (mM_per_ms).
 * CONSTANTS[35] is Pco2 in component J_CO2 (mm_per_ms).
 * STATES[12] is CO2i in component intracellular_ion_concentrations (mM).
 * CONSTANTS[182] is CO2e in component intracellular_ion_concentrations (mM).
 * STATES[13] is pH_i in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[36] is pH_e in component intracellular_ion_concentrations (dimensionless).
 * ALGEBRAIC[51] is v_nhe in component comp_v_nhe_exchanger (mM_per_ms).
 * CONSTANTS[37] is KA in component comp_v_nhe_exchanger (mM).
 * CONSTANTS[38] is KB in component comp_v_nhe_exchanger (mM).
 * CONSTANTS[39] is kp1 in component comp_v_nhe_exchanger (per_ms).
 * CONSTANTS[40] is km1 in component comp_v_nhe_exchanger (per_ms).
 * CONSTANTS[41] is kp2 in component comp_v_nhe_exchanger (per_ms).
 * CONSTANTS[163] is km2 in component comp_v_nhe_exchanger (dimensionless).
 * CONSTANTS[42] is K_Hi in component comp_v_nhe_exchanger (mM).
 * CONSTANTS[43] is n_Hi in component comp_v_nhe_exchanger (dimensionless).
 * CONSTANTS[166] is Be in component comp_v_nhe_exchanger (mM).
 * ALGEBRAIC[46] is Bi in component comp_v_nhe_exchanger (mM).
 * ALGEBRAIC[47] is am1 in component comp_v_nhe_exchanger (per_ms).
 * CONSTANTS[169] is ap1 in component comp_v_nhe_exchanger (per_ms).
 * CONSTANTS[171] is am2 in component comp_v_nhe_exchanger (per_ms).
 * ALGEBRAIC[48] is ap2 in component comp_v_nhe_exchanger (per_ms).
 * ALGEBRAIC[49] is reg in component comp_v_nhe_exchanger (dimensionless).
 * ALGEBRAIC[50] is flux_nhe in component comp_v_nhe_exchanger (dimensionless).
 * CONSTANTS[44] is Q_10Scaler in component comp_v_nhe_exchanger (dimensionless).
 * CONSTANTS[156] is gamma_NHE in component comp_v_nhe_exchanger (dimensionless).
 * CONSTANTS[160] is K_Hs in component comp_v_nhe_exchanger (mM).
 * CONSTANTS[45] is Cle in component intracellular_ion_concentrations (mM).
 * STATES[14] is Cli in component intracellular_ion_concentrations (mM).
 * ALGEBRAIC[57] is v_che in component comp_v_che_exchanger (mM_per_ms).
 * CONSTANTS[46] is K_Cl in component comp_v_che_exchanger (mM).
 * CONSTANTS[47] is K_OH in component comp_v_che_exchanger (mM).
 * CONSTANTS[48] is kp1 in component comp_v_che_exchanger (per_min).
 * CONSTANTS[49] is km1 in component comp_v_che_exchanger (per_min).
 * CONSTANTS[50] is kp2 in component comp_v_che_exchanger (per_min).
 * CONSTANTS[172] is km2 in component comp_v_che_exchanger (per_min).
 * CONSTANTS[173] is OHe in component comp_v_che_exchanger (mM).
 * ALGEBRAIC[52] is OHi in component comp_v_che_exchanger (mM).
 * CONSTANTS[174] is a in component comp_v_che_exchanger (dimensionless).
 * CONSTANTS[175] is b in component comp_v_che_exchanger (dimensionless).
 * ALGEBRAIC[53] is c in component comp_v_che_exchanger (dimensionless).
 * ALGEBRAIC[54] is d in component comp_v_che_exchanger (dimensionless).
 * ALGEBRAIC[55] is s1 in component comp_v_che_exchanger (dimensionless).
 * ALGEBRAIC[56] is s6 in component comp_v_che_exchanger (dimensionless).
 * CONSTANTS[51] is Q_10Scaler in component comp_v_che_exchanger (dimensionless).
 * CONSTANTS[183] is HCO3e in component intracellular_ion_concentrations (mM).
 * STATES[15] is HCO3i in component intracellular_ion_concentrations (mM).
 * ALGEBRAIC[64] is v_nbc in component comp_v_nbc (mM_per_ms).
 * CONSTANTS[52] is K_Na in component comp_v_nbc (mM).
 * CONSTANTS[53] is K_HCO3 in component comp_v_nbc (mM).
 * CONSTANTS[54] is kp1 in component comp_v_nbc (per_min).
 * CONSTANTS[55] is km1 in component comp_v_nbc (per_min).
 * CONSTANTS[56] is kp2 in component comp_v_nbc (per_min).
 * CONSTANTS[176] is km2 in component comp_v_nbc (per_min).
 * CONSTANTS[57] is K_Hi in component comp_v_nbc (mM).
 * CONSTANTS[58] is n_Hi in component comp_v_nbc (dimensionless).
 * CONSTANTS[59] is K_He in component comp_v_nbc (mM).
 * CONSTANTS[60] is n_He in component comp_v_nbc (dimensionless).
 * CONSTANTS[177] is He in component comp_v_nbc (mM).
 * ALGEBRAIC[60] is Hi in component comp_v_nbc (mM).
 * CONSTANTS[184] is a in component comp_v_nbc (dimensionless).
 * CONSTANTS[185] is b in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[58] is c in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[59] is d in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[61] is s1 in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[62] is s6 in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[63] is reg in component comp_v_nbc (dimensionless).
 * CONSTANTS[61] is Q_10Scaler in component comp_v_nbc (dimensionless).
 * ALGEBRAIC[71] is v_ae in component comp_v_ae (mM_per_ms).
 * CONSTANTS[62] is K_Cl in component comp_v_ae (mM).
 * CONSTANTS[63] is K_HCO3 in component comp_v_ae (mM).
 * CONSTANTS[64] is kp1 in component comp_v_ae (per_min).
 * CONSTANTS[65] is km1 in component comp_v_ae (per_min).
 * CONSTANTS[66] is kp2 in component comp_v_ae (per_min).
 * CONSTANTS[180] is km2 in component comp_v_ae (per_min).
 * CONSTANTS[67] is K_Hi in component comp_v_ae (mM).
 * CONSTANTS[68] is n_Hi in component comp_v_ae (dimensionless).
 * CONSTANTS[69] is K_He in component comp_v_ae (mM).
 * CONSTANTS[70] is n_He in component comp_v_ae (dimensionless).
 * CONSTANTS[181] is He in component comp_v_ae (mM).
 * ALGEBRAIC[65] is Hi in component comp_v_ae (mM).
 * CONSTANTS[186] is a in component comp_v_ae (dimensionless).
 * CONSTANTS[187] is b in component comp_v_ae (dimensionless).
 * ALGEBRAIC[66] is c in component comp_v_ae (dimensionless).
 * ALGEBRAIC[67] is d in component comp_v_ae (dimensionless).
 * ALGEBRAIC[68] is s1 in component comp_v_ae (dimensionless).
 * ALGEBRAIC[69] is s6 in component comp_v_ae (dimensionless).
 * ALGEBRAIC[70] is reg in component comp_v_ae (dimensionless).
 * CONSTANTS[71] is Q_10Scaler in component comp_v_ae (dimensionless).
 * CONSTANTS[178] is gamma_AE in component comp_v_ae (dimensionless).
 * CONSTANTS[179] is K_Hs in component comp_v_ae (mM).
 * CONSTANTS[72] is PP_co2e in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[73] is CO_2sol in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[74] is P_atm in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[75] is kf_co2hyd in component intracellular_ion_concentrations (per_ms).
 * CONSTANTS[76] is kr_co2hyd in component intracellular_ion_concentrations (per_mM_per_ms).
 * ALGEBRAIC[79] is v_co2hyd in component intracellular_ion_concentrations (mM_per_ms).
 * CONSTANTS[77] is pKa_ib1 in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[78] is ib1 in component intracellular_ion_concentrations (mM).
 * CONSTANTS[79] is pKa_ib2 in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[80] is ib2 in component intracellular_ion_concentrations (mM).
 * ALGEBRAIC[77] is beta_intr in component intracellular_ion_concentrations (dimensionless).
 * CONSTANTS[81] is pH_scale in component intracellular_ion_concentrations (dimensionless).
 * ALGEBRAIC[43] is nai_Nak in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[78] is nai_NHE in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[80] is nai_NBC in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[88] is nai_flux in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[35] is nai_bg in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[44] is K_Nak in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[45] is K_flux in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[72] is E_Cl in component intracellular_ion_concentrations (mV).
 * CONSTANTS[82] is g_Cl in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[75] is E_H in component intracellular_ion_concentrations (mV).
 * CONSTANTS[83] is g_H in component intracellular_ion_concentrations (mM_per_ms).
 * CONSTANTS[150] is H_o in component intracellular_ion_concentrations (mM).
 * ALGEBRAIC[74] is H_i in component intracellular_ion_concentrations (mM).
 * CONSTANTS[84] is J_CO2 in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[89] is nai_NaCa in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[26] is nai_na in component intracellular_ion_concentrations (mM_per_ms).
 * ALGEBRAIC[91] is nai_total in component intracellular_ion_concentrations (mM_per_ms).
 * CONSTANTS[85] is Ca_o in component standard_ionic_concentrations (mM).
 * CONSTANTS[86] is g_pCa in component SL_pump (mM_per_ms).
 * CONSTANTS[87] is K_mpCa in component SL_pump (mM).
 * STATES[16] is Ca_i in component ionic_concentrations (mM).
 * CONSTANTS[88] is delta in component Ca_voltage (per_mV).
 * ALGEBRAIC[82] is E_Ca in component Cab (mV).
 * CONSTANTS[89] is g_Cab in component Cab (mM_per_ms).
 * ALGEBRAIC[125] is J_LC in component L_flux (mM_per_ms_per_mm3).
 * CONSTANTS[90] is K_mNa in component NCX (mM).
 * CONSTANTS[91] is K_mCa in component NCX (mM).
 * CONSTANTS[92] is eta in component NCX (dimensionless).
 * CONSTANTS[93] is k_sat in component NCX (dimensionless).
 * CONSTANTS[94] is g_NCX in component NCX (mM_per_ms).
 * ALGEBRAIC[84] is edv in component NCX (dimensionless).
 * ALGEBRAIC[85] is edv2 in component NCX (dimensionless).
 * ALGEBRAIC[86] is Nai3 in component NCX (mM3).
 * CONSTANTS[151] is Nae3 in component NCX (mM3).
 * CONSTANTS[95] is g_SERCA in component SERCA (mM_per_ms).
 * CONSTANTS[96] is K_SERCA in component SERCA (mM).
 * ALGEBRAIC[90] is I_SERCA in component SERCA (mM_per_ms).
 * STATES[17] is Ca_SR in component ionic_concentrations (mM).
 * STATES[18] is TRPN in component ionic_concentrations (mM).
 * CONSTANTS[97] is B_CMDN in component ionic_concentrations (mM).
 * CONSTANTS[98] is K_CMDN in component ionic_concentrations (mM).
 * CONSTANTS[99] is g_SRl in component ionic_concentrations (per_ms).
 * ALGEBRAIC[139] is J_TPRN in component troponin (dimensionless).
 * ALGEBRAIC[129] is J_RY in component R_flux (mM_per_ms_per_mm3).
 * ALGEBRAIC[131] is J_SR in component ionic_concentrations (mM_per_ms).
 * ALGEBRAIC[10] is Ca_b in component ionic_concentrations (mM).
 * CONSTANTS[100] is B_TRPN in component troponin (mM).
 * CONSTANTS[101] is g_D in component Ca_conductances (mm3_per_ms).
 * CONSTANTS[102] is J_R in component Ca_conductances (mm3_per_ms).
 * CONSTANTS[103] is J_L in component Ca_conductances (mm3_per_ms).
 * ALGEBRAIC[93] is expmdV in component Ca_voltage (dimensionless).
 * ALGEBRAIC[94] is expVL in component Ca_voltage (dimensionless).
 * ALGEBRAIC[92] is dV in component Ca_voltage (mV).
 * CONSTANTS[104] is V_L0 in component Ca_voltage (mV).
 * CONSTANTS[105] is delta_VL in component Ca_voltage (mV).
 * ALGEBRAIC[11] is C_cc in component C_ij (mM).
 * ALGEBRAIC[97] is C_oc in component C_ij (mM).
 * ALGEBRAIC[96] is C_co in component C_ij (mM).
 * ALGEBRAIC[95] is C_oo in component C_ij (mM).
 * ALGEBRAIC[101] is J_Loo in component J_ij (mM_per_ms).
 * ALGEBRAIC[100] is J_Loc in component J_ij (mM_per_ms).
 * ALGEBRAIC[98] is J_Rco in component J_ij (mM_per_ms).
 * ALGEBRAIC[99] is J_Roo in component J_ij (mM_per_ms).
 * CONSTANTS[152] is t_R in component Ca_tau (ms).
 * CONSTANTS[106] is t_L in component Ca_tau (ms).
 * ALGEBRAIC[104] is epsilon_m in component epsilon (per_ms).
 * ALGEBRAIC[102] is epsilon_pco in component epsilon (per_ms).
 * ALGEBRAIC[103] is epsilon_pcc in component epsilon (per_ms).
 * CONSTANTS[107] is a in component epsilon (dimensionless).
 * CONSTANTS[108] is b in component epsilon (dimensionless).
 * CONSTANTS[109] is tau_L in component epsilon (ms).
 * CONSTANTS[110] is K_L in component epsilon (mM).
 * ALGEBRAIC[105] is alpha_p in component alpha (per_ms).
 * CONSTANTS[157] is alpha_m in component alpha (per_ms).
 * CONSTANTS[111] is phi_L in component alpha (dimensionless).
 * CONSTANTS[164] is phi_R in component RyR_param (dimensionless).
 * CONSTANTS[112] is phi_R_base in component RyR_param (dimensionless).
 * CONSTANTS[113] is tau_R in component RyR_param (ms).
 * CONSTANTS[114] is theta_R in component RyR_param (dimensionless).
 * CONSTANTS[115] is K_RyR in component RyR_param (mM).
 * CONSTANTS[161] is gamma_NO in component RyR_param (dimensionless).
 * ALGEBRAIC[106] is beta_poc in component beta (per_ms).
 * ALGEBRAIC[107] is beta_pcc in component beta (per_ms).
 * CONSTANTS[167] is beta_m in component beta (per_ms).
 * ALGEBRAIC[108] is mu_poc in component mu_ij (per_ms).
 * ALGEBRAIC[109] is mu_pcc in component mu_ij (per_ms).
 * ALGEBRAIC[110] is mu_moc in component mu_ij (per_ms).
 * ALGEBRAIC[111] is mu_mcc in component mu_ij (per_ms).
 * CONSTANTS[116] is c in component mu_ij (dimensionless).
 * CONSTANTS[117] is d in component mu_ij (dimensionless).
 * ALGEBRAIC[113] is y_oc in component y_ij (dimensionless).
 * ALGEBRAIC[114] is y_co in component y_ij (dimensionless).
 * ALGEBRAIC[115] is y_oo in component y_ij (dimensionless).
 * ALGEBRAIC[116] is y_cc in component y_ij (dimensionless).
 * ALGEBRAIC[112] is denom in component y_ij (per_ms3).
 * ALGEBRAIC[118] is r_1 in component r_i (per_ms).
 * ALGEBRAIC[120] is r_2 in component r_i (per_ms).
 * ALGEBRAIC[122] is r_3 in component r_i (per_ms).
 * ALGEBRAIC[124] is r_4 in component r_i (per_ms).
 * ALGEBRAIC[126] is r_5 in component r_i (per_ms).
 * ALGEBRAIC[128] is r_6 in component r_i (per_ms).
 * ALGEBRAIC[130] is r_7 in component r_i (per_ms).
 * ALGEBRAIC[132] is r_8 in component r_i (per_ms).
 * STATES[19] is z_1 in component z_i (dimensionless).
 * STATES[20] is z_2 in component z_i (dimensionless).
 * STATES[21] is z_3 in component z_i (dimensionless).
 * ALGEBRAIC[133] is z_4 in component z_i (dimensionless).
 * ALGEBRAIC[117] is J_R1 in component J_values (mM_per_ms).
 * ALGEBRAIC[119] is J_R3 in component J_values (mM_per_ms).
 * ALGEBRAIC[121] is J_L1 in component J_values (mM_per_ms).
 * ALGEBRAIC[123] is J_L2 in component J_values (mM_per_ms).
 * ALGEBRAIC[138] is betaCab in component troponin (per_ms).
 * CONSTANTS[118] is k_on in component troponin (per_mM_per_ms).
 * CONSTANTS[119] is k_off in component troponin (per_ms).
 * CONSTANTS[120] is gamma_trpn in component troponin (dimensionless).
 * CONSTANTS[121] is TRPN_tot in component troponin (mM).
 * ALGEBRAIC[137] is Tension in component Cross_Bridges (N_per_mm2).
 * CONSTANTS[122] is T_ref in component length_independent_tension (N_per_mm2).
 * CONSTANTS[153] is lamda in component Myofilaments (dimensionless).
 * CONSTANTS[154] is dExtensionRatiodt in component Myofilaments (per_ms).
 * CONSTANTS[155] is lambda_prev in component Myofilaments (dimensionless).
 * STATES[22] is z in component tropomyosin (dimensionless).
 * CONSTANTS[170] is z_max in component tropomyosin (dimensionless).
 * CONSTANTS[123] is alpha_0 in component tropomyosin (per_ms).
 * CONSTANTS[124] is alpha_r1 in component tropomyosin (per_ms).
 * CONSTANTS[125] is alpha_r2 in component tropomyosin (per_ms).
 * CONSTANTS[126] is n_Rel in component tropomyosin (dimensionless).
 * CONSTANTS[127] is K_z in component tropomyosin (dimensionless).
 * CONSTANTS[128] is n_Hill in component tropomyosin (dimensionless).
 * CONSTANTS[129] is Ca_50ref in component tropomyosin (mM).
 * CONSTANTS[130] is z_p in component tropomyosin (dimensionless).
 * CONSTANTS[131] is beta_1 in component tropomyosin (dimensionless).
 * CONSTANTS[165] is Ca_50 in component tropomyosin (mM).
 * CONSTANTS[168] is Ca_TRPN_50 in component tropomyosin (mM).
 * CONSTANTS[158] is K_2 in component tropomyosin (dimensionless).
 * CONSTANTS[162] is K_1 in component tropomyosin (dimensionless).
 * ALGEBRAIC[21] is alpha_Tm in component tropomyosin (per_ms).
 * ALGEBRAIC[23] is beta_Tm in component tropomyosin (per_ms).
 * CONSTANTS[132] is beta_0 in component filament_overlap (dimensionless).
 * CONSTANTS[159] is overlap in component filament_overlap (dimensionless).
 * ALGEBRAIC[134] is T_Base in component length_independent_tension (N_per_mm2).
 * ALGEBRAIC[135] is T_0 in component isometric_tension (N_per_mm2).
 * ALGEBRAIC[136] is Q in component Cross_Bridges (dimensionless).
 * CONSTANTS[133] is a in component Cross_Bridges (dimensionless).
 * STATES[23] is Q_1 in component Cross_Bridges (dimensionless).
 * STATES[24] is Q_2 in component Cross_Bridges (dimensionless).
 * STATES[25] is Q_3 in component Cross_Bridges (dimensionless).
 * CONSTANTS[134] is A_1 in component Cross_Bridges (dimensionless).
 * CONSTANTS[135] is A_2 in component Cross_Bridges (dimensionless).
 * CONSTANTS[136] is A_3 in component Cross_Bridges (dimensionless).
 * CONSTANTS[137] is alpha_1 in component Cross_Bridges (dimensionless).
 * CONSTANTS[138] is alpha_2 in component Cross_Bridges (dimensionless).
 * CONSTANTS[139] is alpha_3 in component Cross_Bridges (dimensionless).
 * RATES[0] is d/dt V in component membrane (mV).
 * RATES[2] is d/dt m in component sodium_current_m_gate (dimensionless).
 * RATES[3] is d/dt h in component sodium_current_h_gate (dimensionless).
 * RATES[4] is d/dt j in component sodium_current_j_gate (dimensionless).
 * RATES[6] is d/dt r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
 * RATES[7] is d/dt s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
 * RATES[8] is d/dt s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
 * RATES[9] is d/dt r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless).
 * RATES[10] is d/dt s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless).
 * RATES[11] is d/dt y in component hyperpolarisation_activated_current_y_gate (dimensionless).
 * RATES[15] is d/dt HCO3i in component intracellular_ion_concentrations (mM).
 * RATES[12] is d/dt CO2i in component intracellular_ion_concentrations (mM).
 * RATES[13] is d/dt pH_i in component intracellular_ion_concentrations (dimensionless).
 * RATES[1] is d/dt Na_i in component intracellular_ion_concentrations (mM).
 * RATES[5] is d/dt K_i in component intracellular_ion_concentrations (mM).
 * RATES[14] is d/dt Cli in component intracellular_ion_concentrations (mM).
 * RATES[17] is d/dt Ca_SR in component ionic_concentrations (mM).
 * RATES[16] is d/dt Ca_i in component ionic_concentrations (mM).
 * RATES[18] is d/dt TRPN in component ionic_concentrations (mM).
 * RATES[19] is d/dt z_1 in component z_i (dimensionless).
 * RATES[20] is d/dt z_2 in component z_i (dimensionless).
 * RATES[21] is d/dt z_3 in component z_i (dimensionless).
 * RATES[22] is d/dt z in component tropomyosin (dimensionless).
 * RATES[23] is d/dt Q_1 in component Cross_Bridges (dimensionless).
 * RATES[24] is d/dt Q_2 in component Cross_Bridges (dimensionless).
 * RATES[25] is d/dt Q_3 in component Cross_Bridges (dimensionless).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 0;
CONSTANTS[1] = 0;
CONSTANTS[2] = 0;
CONSTANTS[3] = 2.584e-5;
CONSTANTS[4] = 2.098e-6;
CONSTANTS[5] = 75000;
CONSTANTS[6] = 0.01534;
STATES[0] = -80.5561112771341;
CONSTANTS[7] = 8314.5;
CONSTANTS[8] = 295;
CONSTANTS[9] = 96487;
CONSTANTS[10] = 0.0001;
CONSTANTS[11] = 1000;
CONSTANTS[12] = 10;
CONSTANTS[13] = -0.0006;
CONSTANTS[14] = 1;
CONSTANTS[15] = 4.1333e-7;
CONSTANTS[16] = -10;
CONSTANTS[17] = 1.2e-6;
CONSTANTS[18] = 0.0008;
STATES[1] = 10.9735342589175;
CONSTANTS[19] = 140;
STATES[2] = 0.00419283833975832;
STATES[3] = 0.675647510010602;
STATES[4] = 0.675294627571238;
CONSTANTS[20] = 3.5e-5;
CONSTANTS[21] = 0.583;
CONSTANTS[22] = 0.417;
CONSTANTS[23] = 5.4;
STATES[5] = 142.021261491871;
STATES[6] = 0.00218107055088884;
STATES[7] = 0.922573773425153;
STATES[8] = 0.530207467628341;
CONSTANTS[24] = 7e-6;
STATES[9] = 0.00289374682707489;
STATES[10] = 0.308572839431787;
CONSTANTS[25] = 2.4e-5;
CONSTANTS[26] = 1.45e-6;
CONSTANTS[27] = 0.2;
STATES[11] = 0.00331726547133295;
CONSTANTS[28] = 8.015e-8;
CONSTANTS[29] = 1.38e-7;
CONSTANTS[30] = 0;
CONSTANTS[31] = 0;
CONSTANTS[32] = 9.5e-5;
CONSTANTS[33] = 1.5;
CONSTANTS[34] = 10;
CONSTANTS[35] = 5.8e-5;
STATES[12] = 1.23610845162584;
STATES[13] = 7.20905044774657;
CONSTANTS[36] = 7.4;
CONSTANTS[37] = 21.4935205515214;
CONSTANTS[38] = 1.77948608115949e-7;
CONSTANTS[39] = 0.51156085723193;
CONSTANTS[40] = 0.14069285629105;
CONSTANTS[41] = 0.001698;
CONSTANTS[42] = 0.000416869383470335;
CONSTANTS[43] = 2;
CONSTANTS[44] = 0.35;
CONSTANTS[45] = 126;
STATES[14] = 16.2285651746901;
CONSTANTS[46] = 17970.36;
CONSTANTS[47] = 0.0008907;
CONSTANTS[48] = 14975.6;
CONSTANTS[49] = 257.4;
CONSTANTS[50] = 4084.9;
CONSTANTS[51] = 0.35;
STATES[15] = 15.1428688811927;
CONSTANTS[52] = 4866.11;
CONSTANTS[53] = 0.008017;
CONSTANTS[54] = 4677;
CONSTANTS[55] = 777.92;
CONSTANTS[56] = 6.656;
CONSTANTS[57] = 0.000183;
CONSTANTS[58] = 2.91;
CONSTANTS[59] = 6.53e-5;
CONSTANTS[60] = 2.18;
CONSTANTS[61] = 0.35;
CONSTANTS[62] = 983.5;
CONSTANTS[63] = 110.64;
CONSTANTS[64] = 20789.9;
CONSTANTS[65] = 21118.2;
CONSTANTS[66] = 21256.54;
CONSTANTS[67] = 2.67e-5;
CONSTANTS[68] = 5.11;
CONSTANTS[69] = 0.000312;
CONSTANTS[70] = 1.44;
CONSTANTS[71] = 0.35;
CONSTANTS[72] = 0.05;
CONSTANTS[73] = 0.03253;
CONSTANTS[74] = 760;
CONSTANTS[75] = 0.000365;
CONSTANTS[76] = 0.481;
CONSTANTS[77] = 6.40013149605198;
CONSTANTS[78] = 31.2044223705215;
CONSTANTS[79] = 7.48048792987277;
CONSTANTS[80] = 6.84513535697271;
CONSTANTS[81] = 1;
CONSTANTS[82] = 2e-5;
CONSTANTS[83] = 4e-6;
CONSTANTS[84] = 0;
CONSTANTS[85] = 2;
CONSTANTS[86] = 3.5e-6;
CONSTANTS[87] = 0.0005;
STATES[16] = 8.60587059887361e-5;
CONSTANTS[88] = 0.075;
CONSTANTS[89] = 2.4216e-8;
CONSTANTS[90] = 87.5;
CONSTANTS[91] = 1.38;
CONSTANTS[92] = 0.35;
CONSTANTS[93] = 0.1;
CONSTANTS[94] = 0.0385;
CONSTANTS[95] = 0.00045;
CONSTANTS[96] = 0.0005;
STATES[17] = 0.843733859307907;
STATES[18] = 0.0670845085340179;
CONSTANTS[97] = 0.05;
CONSTANTS[98] = 0.00238;
CONSTANTS[99] = 5.2e-6;
CONSTANTS[100] = 0.07;
CONSTANTS[101] = 6.5e-11;
CONSTANTS[102] = 2e-11;
CONSTANTS[103] = 9.13e-13;
CONSTANTS[104] = -2;
CONSTANTS[105] = 7;
CONSTANTS[106] = 1;
CONSTANTS[107] = 0.0625;
CONSTANTS[108] = 14;
CONSTANTS[109] = 650;
CONSTANTS[110] = 0.00022;
CONSTANTS[111] = 2.35;
CONSTANTS[112] = 0.05;
CONSTANTS[113] = 2.43;
CONSTANTS[114] = 0.012;
CONSTANTS[115] = 0.041;
CONSTANTS[116] = 0.01;
CONSTANTS[117] = 100;
STATES[19] = 0.988955429362334;
STATES[20] = 0.00860686643357905;
STATES[21] = 0.00241692704700704;
CONSTANTS[118] = 100;
CONSTANTS[119] = 0.2;
CONSTANTS[120] = 2;
CONSTANTS[121] = 0.07;
CONSTANTS[122] = 56.2;
STATES[22] = 0.0175189833295748;
CONSTANTS[123] = 0.008;
CONSTANTS[124] = 0.002;
CONSTANTS[125] = 0.00175;
CONSTANTS[126] = 3;
CONSTANTS[127] = 0.15;
CONSTANTS[128] = 3;
CONSTANTS[129] = 0.00105;
CONSTANTS[130] = 0.85;
CONSTANTS[131] = -4;
CONSTANTS[132] = 4.9;
CONSTANTS[133] = 0.35;
STATES[23] = 0;
STATES[24] = 0;
STATES[25] = 0;
CONSTANTS[134] = -29;
CONSTANTS[135] = 138;
CONSTANTS[136] = 129;
CONSTANTS[137] = 0.03;
CONSTANTS[138] = 0.13;
CONSTANTS[139] = 0.625;
CONSTANTS[140] = CONSTANTS[6]/CONSTANTS[3];
CONSTANTS[141] = (CONSTANTS[2]==1.00000 ?  (CONSTANTS[14] - 1.00000)*10.0000 : 0.00000);
CONSTANTS[142] = - (CONSTANTS[16]+85.0000)/(CONSTANTS[16] - 65.0000);
CONSTANTS[143] = (CONSTANTS[2]==1.00000 ? 0.700000+ (CONSTANTS[14] - 1.00000)*3.00000 : 0.700000);
CONSTANTS[144] =  1.33000*CONSTANTS[18];
CONSTANTS[145] =  0.464700*CONSTANTS[20];
CONSTANTS[146] = 2100.00;
CONSTANTS[147] = 1.00000 - CONSTANTS[27];
CONSTANTS[148] = (exp(CONSTANTS[19]/67.3000) - 1.00000)/7.00000;
CONSTANTS[149] = CONSTANTS[10]/CONSTANTS[6];
CONSTANTS[150] =  1000.00*pow(10.0000, - CONSTANTS[36]);
CONSTANTS[151] = pow(CONSTANTS[19], 3.00000);
CONSTANTS[152] =  1.17000*CONSTANTS[106];
CONSTANTS[153] = (CONSTANTS[14]>0.800000&&CONSTANTS[14]<=1.15000 ? CONSTANTS[14] : CONSTANTS[14]>1.15000 ? 1.15000 : 0.800000);
CONSTANTS[154] = 0.00000;
CONSTANTS[155] = CONSTANTS[14];
CONSTANTS[156] = (CONSTANTS[1]==1.00000 ? 1.00000 -  2.80400*(CONSTANTS[14] - 1.00000) : 1.00000);
CONSTANTS[157] = CONSTANTS[111]/CONSTANTS[106];
CONSTANTS[158] =  (( CONSTANTS[125]*pow(CONSTANTS[130], CONSTANTS[126]))/(pow(CONSTANTS[130], CONSTANTS[126])+pow(CONSTANTS[127], CONSTANTS[126])))*(1.00000 - ( CONSTANTS[126]*pow(CONSTANTS[127], CONSTANTS[126]))/(pow(CONSTANTS[130], CONSTANTS[126])+pow(CONSTANTS[127], CONSTANTS[126])));
CONSTANTS[159] = 1.00000+ CONSTANTS[132]*(CONSTANTS[153] - 1.00000);
CONSTANTS[160] =  CONSTANTS[42]*CONSTANTS[156];
CONSTANTS[161] = (CONSTANTS[0]==1.00000 ? 1.00000+ 22.4100*(CONSTANTS[14] - 1.00000) : 1.00000);
CONSTANTS[162] = ( CONSTANTS[125]*pow(CONSTANTS[130], CONSTANTS[126] - 1.00000)*CONSTANTS[126]*pow(CONSTANTS[127], CONSTANTS[126]))/pow(pow(CONSTANTS[130], CONSTANTS[126])+pow(CONSTANTS[127], CONSTANTS[126]), 2.00000);
CONSTANTS[163] = ( CONSTANTS[39]*CONSTANTS[41])/CONSTANTS[40];
CONSTANTS[164] =  CONSTANTS[112]*CONSTANTS[161];
CONSTANTS[165] =  CONSTANTS[129]*(1.00000+ CONSTANTS[131]*(CONSTANTS[153] - 1.00000));
CONSTANTS[166] =  pow(10.0000, - CONSTANTS[36])*1000.00;
CONSTANTS[167] = CONSTANTS[164]/CONSTANTS[152];
CONSTANTS[168] = ( CONSTANTS[165]*CONSTANTS[121])/(CONSTANTS[165]+ (CONSTANTS[119]/CONSTANTS[118])*(1.00000 - ( (1.00000+ CONSTANTS[132]*(CONSTANTS[153] - 1.00000))*0.500000)/CONSTANTS[120]));
CONSTANTS[169] = ( CONSTANTS[38]*CONSTANTS[19]*CONSTANTS[39])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*CONSTANTS[19]+ CONSTANTS[19]*CONSTANTS[166]+ CONSTANTS[37]*CONSTANTS[166]);
CONSTANTS[170] = (CONSTANTS[123]/pow(CONSTANTS[168]/CONSTANTS[121], CONSTANTS[128]) - CONSTANTS[158])/(CONSTANTS[124]+CONSTANTS[162]+CONSTANTS[123]/pow(CONSTANTS[168]/CONSTANTS[121], CONSTANTS[128]));
CONSTANTS[171] = ( CONSTANTS[37]*CONSTANTS[166]*CONSTANTS[163])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*CONSTANTS[19]+ CONSTANTS[19]*CONSTANTS[166]+ CONSTANTS[37]*CONSTANTS[166]);
CONSTANTS[172] = ( CONSTANTS[50]*CONSTANTS[49])/CONSTANTS[48];
CONSTANTS[173] =  1000.00*pow(10.0000, - 14.0000+CONSTANTS[36]);
CONSTANTS[174] = 1.00000+CONSTANTS[47]/CONSTANTS[173]+( CONSTANTS[47]*CONSTANTS[45])/( CONSTANTS[173]*CONSTANTS[46]);
CONSTANTS[175] = 1.00000+CONSTANTS[46]/CONSTANTS[45]+( CONSTANTS[46]*CONSTANTS[173])/( CONSTANTS[45]*CONSTANTS[47]);
CONSTANTS[176] = ( CONSTANTS[56]*CONSTANTS[55])/CONSTANTS[54];
CONSTANTS[177] =  1000.00*pow(10.0000, - CONSTANTS[36]);
CONSTANTS[178] = (CONSTANTS[1]==1.00000 ? 1.00000+ 2.50000*(CONSTANTS[14] - 1.00000) : 1.00000);
CONSTANTS[179] =  CONSTANTS[67]*CONSTANTS[178];
CONSTANTS[180] = ( CONSTANTS[66]*CONSTANTS[65])/CONSTANTS[64];
CONSTANTS[181] =  1000.00*pow(10.0000, - CONSTANTS[36]);
CONSTANTS[182] =  CONSTANTS[72]*CONSTANTS[73]*CONSTANTS[74];
CONSTANTS[183] = ( (CONSTANTS[75]/CONSTANTS[76])*CONSTANTS[182])/( pow(10.0000, - CONSTANTS[36])*1000.00);
CONSTANTS[184] = 1.00000+CONSTANTS[19]/CONSTANTS[52]+( CONSTANTS[19]*CONSTANTS[183])/( CONSTANTS[52]*CONSTANTS[53]);
CONSTANTS[185] = 1.00000+CONSTANTS[53]/CONSTANTS[183]+( CONSTANTS[52]*CONSTANTS[53])/( CONSTANTS[183]*CONSTANTS[19]);
CONSTANTS[186] = 1.00000+CONSTANTS[63]/CONSTANTS[183]+( CONSTANTS[63]*CONSTANTS[45])/( CONSTANTS[183]*CONSTANTS[62]);
CONSTANTS[187] = 1.00000+CONSTANTS[62]/CONSTANTS[45]+( CONSTANTS[62]*CONSTANTS[183])/( CONSTANTS[45]*CONSTANTS[63]);
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
RATES[23] =  CONSTANTS[134]*CONSTANTS[154] -  CONSTANTS[137]*STATES[23];
RATES[24] =  CONSTANTS[135]*CONSTANTS[154] -  CONSTANTS[138]*STATES[24];
RATES[25] =  CONSTANTS[136]*CONSTANTS[154] -  CONSTANTS[139]*STATES[25];
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[0]+87.5000)/10.3000));
RATES[10] = (ALGEBRAIC[7] - STATES[10])/CONSTANTS[146];
ALGEBRAIC[0] = 1.00000/(1.00000+exp((STATES[0]+45.0000)/- 6.50000));
ALGEBRAIC[12] = 1.36000/(( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)))+ 0.0800000*exp(- STATES[0]/11.0000));
RATES[2] = (ALGEBRAIC[0] - STATES[2])/ALGEBRAIC[12];
ALGEBRAIC[1] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000));
ALGEBRAIC[13] = (STATES[0]>=- 40.0000 ?  0.453700*(1.00000+exp(- (STATES[0]+10.6600)/11.1000)) : 3.49000/( 0.135000*exp(- (STATES[0]+80.0000)/6.80000)+ 3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0])));
RATES[3] = (ALGEBRAIC[1] - STATES[3])/ALGEBRAIC[13];
ALGEBRAIC[2] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000));
ALGEBRAIC[14] = (STATES[0]>=- 40.0000 ? ( 11.6300*(1.00000+exp( - 0.100000*(STATES[0]+32.0000))))/exp( - 2.53500e-07*STATES[0]) : 3.49000/( ((STATES[0]+37.7800)/(1.00000+exp( 0.311000*(STATES[0]+79.2300))))*( - 127140.*exp( 0.244400*STATES[0]) -  3.47400e-05*exp( - 0.0439100*STATES[0]))+( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400)))));
RATES[4] = (ALGEBRAIC[2] - STATES[4])/ALGEBRAIC[14];
ALGEBRAIC[15] = 1000.00/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000)));
ALGEBRAIC[3] = 1.00000/(1.00000+exp((STATES[0]+10.6000)/- 11.4200));
RATES[6] = (ALGEBRAIC[3] - STATES[6])/ALGEBRAIC[15];
ALGEBRAIC[16] =  550.000*exp(- pow((STATES[0]+70.0000)/25.0000, 2.00000))+49.0000;
ALGEBRAIC[4] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410));
RATES[7] = (ALGEBRAIC[4] - STATES[7])/ALGEBRAIC[16];
ALGEBRAIC[17] =  3300.00*exp(- pow((STATES[0]+70.0000)/30.0000, 2.00000))+49.0000;
ALGEBRAIC[5] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410));
RATES[8] = (ALGEBRAIC[5] - STATES[8])/ALGEBRAIC[17];
ALGEBRAIC[18] = 10000.0/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000)));
ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[0]+11.5000)/- 11.8200));
RATES[9] = (ALGEBRAIC[6] - STATES[9])/ALGEBRAIC[18];
ALGEBRAIC[19] = 1000.00/( 0.118850*exp((STATES[0]+80.0000)/28.3700)+ 0.562300*exp((STATES[0]+80.0000)/- 14.1900));
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[0]+138.600)/10.4800));
RATES[11] = (ALGEBRAIC[8] - STATES[11])/ALGEBRAIC[19];
ALGEBRAIC[10] = CONSTANTS[100] - STATES[18];
ALGEBRAIC[21] =  CONSTANTS[123]*pow(ALGEBRAIC[10]/CONSTANTS[168], CONSTANTS[128]);
ALGEBRAIC[23] = CONSTANTS[124]+( CONSTANTS[125]*pow(STATES[22], CONSTANTS[126] - 1.00000))/(pow(STATES[22], CONSTANTS[126])+pow(CONSTANTS[127], CONSTANTS[126]));
RATES[22] =  ALGEBRAIC[21]*(1.00000 - STATES[22]) -  ALGEBRAIC[23]*STATES[22];
ALGEBRAIC[25] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[23]/STATES[5]);
ALGEBRAIC[30] = ( CONSTANTS[145]*STATES[6]*( CONSTANTS[21]*STATES[7]+ CONSTANTS[22]*STATES[8])*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[31] = ( CONSTANTS[24]*STATES[9]*STATES[10]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[32] = (( (0.0480000/(exp((STATES[0]+37.0000)/25.0000)+exp((STATES[0]+37.0000)/- 25.0000))+0.0100000)*0.00100000)/(1.00000+exp((STATES[0] - (ALGEBRAIC[25]+76.7700))/- 17.0000))+( CONSTANTS[25]*(STATES[0] - (ALGEBRAIC[25]+1.73000)))/( (1.00000+exp(( 1.61300*CONSTANTS[9]*(STATES[0] - (ALGEBRAIC[25]+1.73000)))/( CONSTANTS[7]*CONSTANTS[8])))*(1.00000+exp((CONSTANTS[23] - 0.998800)/- 0.124000))))/CONSTANTS[6];
ALGEBRAIC[39] = 1.00000/(1.00000+pow(CONSTANTS[34]/STATES[1], 4.00000));
ALGEBRAIC[40] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[9])/( CONSTANTS[7]*CONSTANTS[8]))+ 0.0365000*CONSTANTS[148]*exp(( - STATES[0]*CONSTANTS[9])/( CONSTANTS[7]*CONSTANTS[8])));
ALGEBRAIC[41] =  (( (CONSTANTS[32]/CONSTANTS[6])*ALGEBRAIC[40]*CONSTANTS[23])/(CONSTANTS[23]+CONSTANTS[33]))*ALGEBRAIC[39];
ALGEBRAIC[9] = (VOI -  floor(VOI/CONSTANTS[11])*CONSTANTS[11]>=0.00000&&VOI -  floor(VOI/CONSTANTS[11])*CONSTANTS[11]<=CONSTANTS[12] ? CONSTANTS[13]/CONSTANTS[6] : 0.00000);
ALGEBRAIC[38] = ( CONSTANTS[31]*CONSTANTS[29]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[27] = ( CONSTANTS[15]*CONSTANTS[141]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[29] = ( (CONSTANTS[17]/(1.00000+exp(- (10.0000+STATES[0])/45.0000)))*(STATES[0] - ALGEBRAIC[25])*CONSTANTS[143])/CONSTANTS[6];
ALGEBRAIC[34] = ( CONSTANTS[26]*STATES[11]*CONSTANTS[147]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
RATES[5] = ( - (((ALGEBRAIC[9]+ALGEBRAIC[27]+ALGEBRAIC[31]+ALGEBRAIC[29]+ALGEBRAIC[30]+ALGEBRAIC[32]+ALGEBRAIC[34]) -  2.00000*ALGEBRAIC[41])+ALGEBRAIC[38])*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[72] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(STATES[14]/CONSTANTS[45]);
ALGEBRAIC[73] =  CONSTANTS[82]*(STATES[0] - ALGEBRAIC[72]);
ALGEBRAIC[52] =  1000.00*pow(10.0000, - 14.0000+STATES[13]);
ALGEBRAIC[53] = 1.00000+CONSTANTS[46]/STATES[14]+( CONSTANTS[46]*ALGEBRAIC[52])/( STATES[14]*CONSTANTS[47]);
ALGEBRAIC[54] = 1.00000+CONSTANTS[47]/ALGEBRAIC[52]+( CONSTANTS[47]*STATES[14])/( ALGEBRAIC[52]*CONSTANTS[46]);
ALGEBRAIC[55] = 1.00000/(CONSTANTS[174]+( ALGEBRAIC[54]*(CONSTANTS[48]+( CONSTANTS[50]*CONSTANTS[174])/CONSTANTS[175]))/(CONSTANTS[49]+( CONSTANTS[172]*ALGEBRAIC[54])/ALGEBRAIC[53]));
ALGEBRAIC[56] = 1.00000/(ALGEBRAIC[54]+( CONSTANTS[174]*(CONSTANTS[49]+( CONSTANTS[172]*ALGEBRAIC[54])/ALGEBRAIC[53]))/(CONSTANTS[48]+( CONSTANTS[50]*CONSTANTS[174])/CONSTANTS[175]));
ALGEBRAIC[57] =  (( CONSTANTS[3]*( CONSTANTS[49]*ALGEBRAIC[56] -  CONSTANTS[48]*ALGEBRAIC[55]))/( 60.0000*1000.00))*CONSTANTS[51];
ALGEBRAIC[66] = 1.00000+CONSTANTS[62]/STATES[14]+( CONSTANTS[62]*STATES[15])/( STATES[14]*CONSTANTS[63]);
ALGEBRAIC[67] = 1.00000+CONSTANTS[63]/STATES[15]+( CONSTANTS[63]*STATES[14])/( STATES[15]*CONSTANTS[62]);
ALGEBRAIC[68] = 1.00000/(CONSTANTS[186]+( ALGEBRAIC[67]*(CONSTANTS[64]+( CONSTANTS[66]*CONSTANTS[186])/CONSTANTS[187]))/(CONSTANTS[65]+( CONSTANTS[180]*ALGEBRAIC[67])/ALGEBRAIC[66]));
ALGEBRAIC[69] = 1.00000/(ALGEBRAIC[67]+( CONSTANTS[186]*(CONSTANTS[65]+( CONSTANTS[180]*ALGEBRAIC[67])/ALGEBRAIC[66]))/(CONSTANTS[64]+( CONSTANTS[66]*CONSTANTS[186])/CONSTANTS[187]));
ALGEBRAIC[65] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[70] = ( (pow(CONSTANTS[179], CONSTANTS[68])/(pow(ALGEBRAIC[65], CONSTANTS[68])+pow(CONSTANTS[179], CONSTANTS[68])))*pow(CONSTANTS[181], CONSTANTS[70]))/(pow(CONSTANTS[181], CONSTANTS[70])+pow(CONSTANTS[69], CONSTANTS[70]));
ALGEBRAIC[71] =  (( CONSTANTS[3]*ALGEBRAIC[70]*( CONSTANTS[65]*ALGEBRAIC[69] -  CONSTANTS[64]*ALGEBRAIC[68]))/( 60.0000*1000.00))*CONSTANTS[71];
RATES[14] = ( ALGEBRAIC[73]*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9])+( CONSTANTS[81]*(ALGEBRAIC[57]+ALGEBRAIC[71]))/CONSTANTS[3];
ALGEBRAIC[58] = 1.00000+CONSTANTS[53]/STATES[15]+( CONSTANTS[52]*CONSTANTS[53])/( STATES[15]*STATES[1]);
ALGEBRAIC[59] = 1.00000+STATES[1]/CONSTANTS[52]+( STATES[1]*STATES[15])/( CONSTANTS[52]*CONSTANTS[53]);
ALGEBRAIC[61] = 1.00000/(CONSTANTS[184]+( ALGEBRAIC[59]*(CONSTANTS[54]+( CONSTANTS[56]*CONSTANTS[184])/CONSTANTS[185]))/(CONSTANTS[55]+( CONSTANTS[176]*ALGEBRAIC[59])/ALGEBRAIC[58]));
ALGEBRAIC[62] = 1.00000/(ALGEBRAIC[59]+( CONSTANTS[184]*(CONSTANTS[55]+( CONSTANTS[176]*ALGEBRAIC[59])/ALGEBRAIC[58]))/(CONSTANTS[54]+( CONSTANTS[56]*CONSTANTS[184])/CONSTANTS[185]));
ALGEBRAIC[60] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[63] =  (pow(ALGEBRAIC[60], CONSTANTS[58])/(pow(ALGEBRAIC[60], CONSTANTS[58])+pow(CONSTANTS[57], CONSTANTS[58])))*(1.00000 - pow(CONSTANTS[177], CONSTANTS[60])/(pow(CONSTANTS[177], CONSTANTS[60])+pow(CONSTANTS[59], CONSTANTS[60])));
ALGEBRAIC[64] =  (( CONSTANTS[3]*ALGEBRAIC[63]*( CONSTANTS[55]*ALGEBRAIC[62] -  CONSTANTS[54]*ALGEBRAIC[61]))/( 60.0000*1000.00))*CONSTANTS[61];
ALGEBRAIC[79] =  (CONSTANTS[3]+CONSTANTS[4])*( CONSTANTS[75]*STATES[12] -  CONSTANTS[76]*STATES[15]*pow(10.0000, - STATES[13])*1000.00);
RATES[15] = ALGEBRAIC[79]/(CONSTANTS[3]+CONSTANTS[4])+(ALGEBRAIC[64] - ALGEBRAIC[71])/CONSTANTS[3];
ALGEBRAIC[42] =  CONSTANTS[3]*CONSTANTS[140]*CONSTANTS[35]*(CONSTANTS[182] - STATES[12]);
RATES[12] = (ALGEBRAIC[42]/CONSTANTS[3] - ALGEBRAIC[79]/(CONSTANTS[3]+CONSTANTS[4]))+CONSTANTS[84];
ALGEBRAIC[74] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[75] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[150]/ALGEBRAIC[74]);
ALGEBRAIC[76] =  CONSTANTS[83]*(STATES[0] - ALGEBRAIC[75]);
ALGEBRAIC[46] =  pow(10.0000, - STATES[13])*1000.00;
ALGEBRAIC[47] = ( CONSTANTS[38]*STATES[1]*CONSTANTS[40])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*STATES[1]+ STATES[1]*ALGEBRAIC[46]+ CONSTANTS[37]*ALGEBRAIC[46]);
ALGEBRAIC[48] = ( CONSTANTS[37]*ALGEBRAIC[46]*CONSTANTS[41])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*STATES[1]+ STATES[1]*ALGEBRAIC[46]+ CONSTANTS[37]*ALGEBRAIC[46]);
ALGEBRAIC[49] = pow(ALGEBRAIC[46], CONSTANTS[43])/(pow(ALGEBRAIC[46], CONSTANTS[43])+pow(CONSTANTS[160], CONSTANTS[43]));
ALGEBRAIC[50] = ( ALGEBRAIC[49]*( CONSTANTS[169]*ALGEBRAIC[48] -  ALGEBRAIC[47]*CONSTANTS[171]))/(CONSTANTS[169]+ALGEBRAIC[48]+ALGEBRAIC[47]+CONSTANTS[171]);
ALGEBRAIC[51] =  ALGEBRAIC[50]*CONSTANTS[3]*CONSTANTS[44];
ALGEBRAIC[77] =  log(10.0000)*(pow(10.0000, - STATES[13])+( pow(10.0000, STATES[13]+CONSTANTS[77])*CONSTANTS[78])/pow(pow(10.0000, STATES[13])+pow(10.0000, CONSTANTS[77]), 2.00000)+( pow(10.0000, STATES[13]+CONSTANTS[79])*CONSTANTS[80])/pow(pow(10.0000, STATES[13])+pow(10.0000, CONSTANTS[79]), 2.00000));
RATES[13] =  (1.00000/- ALGEBRAIC[77])*(((- ALGEBRAIC[51]+ALGEBRAIC[57])/CONSTANTS[3]+ALGEBRAIC[79]/(CONSTANTS[3]+CONSTANTS[4])) - ( ALGEBRAIC[76]*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]));
ALGEBRAIC[20] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[19]/STATES[1]);
ALGEBRAIC[24] = ( CONSTANTS[144]*pow(STATES[2], 3.00000)*STATES[3]*STATES[4]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
ALGEBRAIC[84] = exp( CONSTANTS[88]*0.500000*STATES[0]*CONSTANTS[92]);
ALGEBRAIC[85] = exp( CONSTANTS[88]*0.500000*STATES[0]*(CONSTANTS[92] - 1.00000));
ALGEBRAIC[86] = pow(STATES[1], 3.00000);
ALGEBRAIC[87] = ( (( (CONSTANTS[94]/( (CONSTANTS[151]+pow(CONSTANTS[90], 3.00000))*(CONSTANTS[85]+CONSTANTS[91])))*( ALGEBRAIC[84]*ALGEBRAIC[86]*CONSTANTS[85] -  ALGEBRAIC[85]*CONSTANTS[151]*STATES[16]))/(1.00000+ CONSTANTS[93]*ALGEBRAIC[85]))*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[37] = ( CONSTANTS[30]*CONSTANTS[28]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
ALGEBRAIC[22] =  (( CONSTANTS[15]*CONSTANTS[141]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6])*CONSTANTS[142];
ALGEBRAIC[33] = ( CONSTANTS[26]*STATES[11]*CONSTANTS[27]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
RATES[1] = ( - (ALGEBRAIC[37]+ALGEBRAIC[22]+ALGEBRAIC[24]+ ALGEBRAIC[87]*3.00000+ ALGEBRAIC[41]*3.00000+ALGEBRAIC[33])*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9])+(ALGEBRAIC[51]+ALGEBRAIC[64])/CONSTANTS[3];
ALGEBRAIC[36] = ALGEBRAIC[33]+ALGEBRAIC[34];
ALGEBRAIC[92] =  CONSTANTS[88]*STATES[0];
ALGEBRAIC[93] = exp(- ALGEBRAIC[92]);
ALGEBRAIC[101] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( (( CONSTANTS[103]*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*(( CONSTANTS[85]*ALGEBRAIC[93] - STATES[16])+ (CONSTANTS[102]/CONSTANTS[101])*( CONSTANTS[85]*ALGEBRAIC[93] - STATES[17])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( (( CONSTANTS[103]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[16])+ (CONSTANTS[102]/CONSTANTS[101])*( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[17])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[100] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( (( CONSTANTS[103]*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*( CONSTANTS[85]*ALGEBRAIC[93] - STATES[16]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( (( CONSTANTS[103]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[16]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[94] = exp((STATES[0] - CONSTANTS[104])/CONSTANTS[105]);
ALGEBRAIC[105] = ALGEBRAIC[94]/( CONSTANTS[106]*(ALGEBRAIC[94]+1.00000));
ALGEBRAIC[107] = ( (1.00000/CONSTANTS[152])*pow(STATES[16], 2.00000))/(pow(STATES[16], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[97] = (fabs(ALGEBRAIC[92])>1.00000e-09 ? (STATES[16]+( (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85]*ALGEBRAIC[92]*ALGEBRAIC[93])/(1.00000 - ALGEBRAIC[93]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : (STATES[16]+ (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85])/(1.00000+CONSTANTS[103]/CONSTANTS[101]));
ALGEBRAIC[106] = ( (1.00000/CONSTANTS[152])*pow(ALGEBRAIC[97], 2.00000))/(pow(ALGEBRAIC[97], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[112] =  (ALGEBRAIC[105]+CONSTANTS[157])*( (CONSTANTS[167]+ALGEBRAIC[106]+CONSTANTS[157])*(CONSTANTS[167]+ALGEBRAIC[107])+ ALGEBRAIC[105]*(CONSTANTS[167]+ALGEBRAIC[106]));
ALGEBRAIC[113] = ( ALGEBRAIC[105]*CONSTANTS[167]*(ALGEBRAIC[105]+CONSTANTS[157]+CONSTANTS[167]+ALGEBRAIC[107]))/ALGEBRAIC[112];
ALGEBRAIC[115] = ( ALGEBRAIC[105]*( ALGEBRAIC[106]*(ALGEBRAIC[105]+CONSTANTS[167]+ALGEBRAIC[107])+ ALGEBRAIC[107]*CONSTANTS[157]))/ALGEBRAIC[112];
ALGEBRAIC[121] =  ALGEBRAIC[101]*ALGEBRAIC[115]+ ALGEBRAIC[100]*ALGEBRAIC[113];
ALGEBRAIC[123] = ( ALGEBRAIC[100]*ALGEBRAIC[105])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[125] = ( ( STATES[19]*ALGEBRAIC[121]+ STATES[20]*ALGEBRAIC[123])*CONSTANTS[5])/CONSTANTS[3];
ALGEBRAIC[127] = ( - ALGEBRAIC[125]*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[82] = arbitrary_log(CONSTANTS[85]/STATES[16], 10)/CONSTANTS[88];
ALGEBRAIC[83] = ( CONSTANTS[89]*(STATES[0] - ALGEBRAIC[82])*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[81] = ( (( CONSTANTS[86]*STATES[16])/(CONSTANTS[87]+STATES[16]))*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
RATES[0] = - (ALGEBRAIC[76]+ALGEBRAIC[73]+ALGEBRAIC[24]+ALGEBRAIC[127]+ALGEBRAIC[30]+ALGEBRAIC[31]+ALGEBRAIC[36]+ALGEBRAIC[32]+ALGEBRAIC[83]+ALGEBRAIC[22]+ALGEBRAIC[38]+ALGEBRAIC[37]+ALGEBRAIC[29]+ALGEBRAIC[27]+ALGEBRAIC[41]+ALGEBRAIC[87]+ALGEBRAIC[81]+ALGEBRAIC[9])/CONSTANTS[149];
ALGEBRAIC[108] = ( (1.00000/CONSTANTS[113])*(pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/(pow(ALGEBRAIC[97], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[109] = ( (1.00000/CONSTANTS[113])*(pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/(pow(STATES[16], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[116] = ( CONSTANTS[157]*CONSTANTS[167]*(CONSTANTS[157]+ALGEBRAIC[105]+CONSTANTS[167]+ALGEBRAIC[106]))/ALGEBRAIC[112];
ALGEBRAIC[118] =  ALGEBRAIC[113]*ALGEBRAIC[108]+ ALGEBRAIC[116]*ALGEBRAIC[109];
ALGEBRAIC[110] = ( (CONSTANTS[114]/CONSTANTS[113])*CONSTANTS[117]*(pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/( CONSTANTS[117]*pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[111] = ( (CONSTANTS[114]/CONSTANTS[113])*CONSTANTS[117]*(pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/( CONSTANTS[117]*pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[120] = ( ALGEBRAIC[105]*ALGEBRAIC[110]+ CONSTANTS[157]*ALGEBRAIC[111])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[96] = (STATES[16]+ (CONSTANTS[102]/CONSTANTS[101])*STATES[17])/(1.00000+CONSTANTS[102]/CONSTANTS[101]);
ALGEBRAIC[102] = ( (( (1.00000/CONSTANTS[109])*ALGEBRAIC[96])/CONSTANTS[110])*(ALGEBRAIC[94]+CONSTANTS[107]))/(ALGEBRAIC[94]+1.00000);
ALGEBRAIC[103] = ( (( (1.00000/CONSTANTS[109])*STATES[16])/CONSTANTS[110])*(ALGEBRAIC[94]+CONSTANTS[107]))/(ALGEBRAIC[94]+1.00000);
ALGEBRAIC[114] = ( CONSTANTS[157]*( ALGEBRAIC[107]*(CONSTANTS[157]+CONSTANTS[167]+ALGEBRAIC[106])+ ALGEBRAIC[106]*ALGEBRAIC[105]))/ALGEBRAIC[112];
ALGEBRAIC[126] =  ALGEBRAIC[114]*ALGEBRAIC[102]+ ALGEBRAIC[116]*ALGEBRAIC[103];
ALGEBRAIC[104] = ( (1.00000/CONSTANTS[109])*CONSTANTS[108]*(ALGEBRAIC[94]+CONSTANTS[107]))/( CONSTANTS[108]*ALGEBRAIC[94]+CONSTANTS[107]);
ALGEBRAIC[128] = ALGEBRAIC[104];
RATES[19] =  - (ALGEBRAIC[118]+ALGEBRAIC[126])*STATES[19]+ ALGEBRAIC[120]*STATES[20]+ ALGEBRAIC[128]*STATES[21];
ALGEBRAIC[90] = ( CONSTANTS[95]*pow(STATES[16], 2.00000))/(pow(CONSTANTS[96], 2.00000)+pow(STATES[16], 2.00000));
ALGEBRAIC[98] = ( CONSTANTS[102]*(STATES[17] - STATES[16]))/(1.00000+CONSTANTS[102]/CONSTANTS[101]);
ALGEBRAIC[99] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( CONSTANTS[102]*((STATES[17] - STATES[16])+ (( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*(STATES[17] -  CONSTANTS[85]*ALGEBRAIC[93])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( CONSTANTS[102]*((STATES[17] - STATES[16])+ (( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(STATES[17] -  CONSTANTS[85]*exp(- 1.00000e-05))))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[117] =  ALGEBRAIC[115]*ALGEBRAIC[99]+ ALGEBRAIC[98]*ALGEBRAIC[114];
ALGEBRAIC[119] = ( ALGEBRAIC[98]*ALGEBRAIC[107])/(CONSTANTS[167]+ALGEBRAIC[107]);
ALGEBRAIC[129] = ( ( STATES[19]*ALGEBRAIC[117]+ STATES[21]*ALGEBRAIC[119])*CONSTANTS[5])/CONSTANTS[3];
ALGEBRAIC[131] = (- ALGEBRAIC[129]+ALGEBRAIC[90]) -  CONSTANTS[99]*(STATES[17] - STATES[16]);
RATES[17] =  (CONSTANTS[3]/CONSTANTS[4])*ALGEBRAIC[131];
ALGEBRAIC[130] = ( CONSTANTS[157]*ALGEBRAIC[103])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[132] = ALGEBRAIC[104];
ALGEBRAIC[133] = ((1.00000 - STATES[19]) - STATES[20]) - STATES[21];
RATES[20] = ( ALGEBRAIC[118]*STATES[19] -  (ALGEBRAIC[120]+ALGEBRAIC[130])*STATES[20])+ ALGEBRAIC[132]*ALGEBRAIC[133];
ALGEBRAIC[122] = ( CONSTANTS[167]*ALGEBRAIC[109])/(CONSTANTS[167]+ALGEBRAIC[107]);
ALGEBRAIC[124] = ALGEBRAIC[111];
RATES[21] = ( ALGEBRAIC[126]*STATES[19] -  (ALGEBRAIC[128]+ALGEBRAIC[122])*STATES[21])+ ALGEBRAIC[124]*ALGEBRAIC[133];
ALGEBRAIC[134] = ( CONSTANTS[122]*STATES[22])/CONSTANTS[170];
ALGEBRAIC[135] =  ALGEBRAIC[134]*CONSTANTS[159];
ALGEBRAIC[136] = STATES[23]+STATES[24]+STATES[25];
ALGEBRAIC[137] = (ALGEBRAIC[136]<0.00000 ? ( ALGEBRAIC[135]*( CONSTANTS[133]*ALGEBRAIC[136]+1.00000))/(1.00000 - ALGEBRAIC[136]) : ( ALGEBRAIC[135]*(1.00000+ (CONSTANTS[133]+2.00000)*ALGEBRAIC[136]))/(1.00000+ALGEBRAIC[136]));
ALGEBRAIC[138] = (1.00000 - ALGEBRAIC[137]/( CONSTANTS[120]*CONSTANTS[122])>0.100000 ?  CONSTANTS[119]*(1.00000 - ALGEBRAIC[137]/( CONSTANTS[120]*CONSTANTS[122])) :  CONSTANTS[119]*0.100000);
ALGEBRAIC[139] =  (CONSTANTS[100] - STATES[18])*ALGEBRAIC[138] -  STATES[16]*STATES[18]*CONSTANTS[118];
RATES[16] =  (1.00000/(1.00000+( CONSTANTS[97]*CONSTANTS[98])/( (STATES[16]+CONSTANTS[98])*(STATES[16]+CONSTANTS[98]))))*((ALGEBRAIC[139] - ALGEBRAIC[131])+( ((( 2.00000*ALGEBRAIC[87] - ALGEBRAIC[81]) - ALGEBRAIC[83]) - ALGEBRAIC[127])*CONSTANTS[6])/( 2.00000*CONSTANTS[3]*CONSTANTS[9]));
RATES[18] = ALGEBRAIC[139];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[7] = 1.00000/(1.00000+exp((STATES[0]+87.5000)/10.3000));
ALGEBRAIC[0] = 1.00000/(1.00000+exp((STATES[0]+45.0000)/- 6.50000));
ALGEBRAIC[12] = 1.36000/(( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)))+ 0.0800000*exp(- STATES[0]/11.0000));
ALGEBRAIC[1] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000));
ALGEBRAIC[13] = (STATES[0]>=- 40.0000 ?  0.453700*(1.00000+exp(- (STATES[0]+10.6600)/11.1000)) : 3.49000/( 0.135000*exp(- (STATES[0]+80.0000)/6.80000)+ 3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0])));
ALGEBRAIC[2] = 1.00000/(1.00000+exp((STATES[0]+76.1000)/6.07000));
ALGEBRAIC[14] = (STATES[0]>=- 40.0000 ? ( 11.6300*(1.00000+exp( - 0.100000*(STATES[0]+32.0000))))/exp( - 2.53500e-07*STATES[0]) : 3.49000/( ((STATES[0]+37.7800)/(1.00000+exp( 0.311000*(STATES[0]+79.2300))))*( - 127140.*exp( 0.244400*STATES[0]) -  3.47400e-05*exp( - 0.0439100*STATES[0]))+( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400)))));
ALGEBRAIC[15] = 1000.00/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000)));
ALGEBRAIC[3] = 1.00000/(1.00000+exp((STATES[0]+10.6000)/- 11.4200));
ALGEBRAIC[16] =  550.000*exp(- pow((STATES[0]+70.0000)/25.0000, 2.00000))+49.0000;
ALGEBRAIC[4] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410));
ALGEBRAIC[17] =  3300.00*exp(- pow((STATES[0]+70.0000)/30.0000, 2.00000))+49.0000;
ALGEBRAIC[5] = 1.00000/(1.00000+exp((STATES[0]+45.3000)/6.88410));
ALGEBRAIC[18] = 10000.0/( 45.1600*exp( 0.0357700*(STATES[0]+50.0000))+ 98.9000*exp( - 0.100000*(STATES[0]+38.0000)));
ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[0]+11.5000)/- 11.8200));
ALGEBRAIC[19] = 1000.00/( 0.118850*exp((STATES[0]+80.0000)/28.3700)+ 0.562300*exp((STATES[0]+80.0000)/- 14.1900));
ALGEBRAIC[8] = 1.00000/(1.00000+exp((STATES[0]+138.600)/10.4800));
ALGEBRAIC[10] = CONSTANTS[100] - STATES[18];
ALGEBRAIC[21] =  CONSTANTS[123]*pow(ALGEBRAIC[10]/CONSTANTS[168], CONSTANTS[128]);
ALGEBRAIC[23] = CONSTANTS[124]+( CONSTANTS[125]*pow(STATES[22], CONSTANTS[126] - 1.00000))/(pow(STATES[22], CONSTANTS[126])+pow(CONSTANTS[127], CONSTANTS[126]));
ALGEBRAIC[25] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[23]/STATES[5]);
ALGEBRAIC[30] = ( CONSTANTS[145]*STATES[6]*( CONSTANTS[21]*STATES[7]+ CONSTANTS[22]*STATES[8])*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[31] = ( CONSTANTS[24]*STATES[9]*STATES[10]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[32] = (( (0.0480000/(exp((STATES[0]+37.0000)/25.0000)+exp((STATES[0]+37.0000)/- 25.0000))+0.0100000)*0.00100000)/(1.00000+exp((STATES[0] - (ALGEBRAIC[25]+76.7700))/- 17.0000))+( CONSTANTS[25]*(STATES[0] - (ALGEBRAIC[25]+1.73000)))/( (1.00000+exp(( 1.61300*CONSTANTS[9]*(STATES[0] - (ALGEBRAIC[25]+1.73000)))/( CONSTANTS[7]*CONSTANTS[8])))*(1.00000+exp((CONSTANTS[23] - 0.998800)/- 0.124000))))/CONSTANTS[6];
ALGEBRAIC[39] = 1.00000/(1.00000+pow(CONSTANTS[34]/STATES[1], 4.00000));
ALGEBRAIC[40] = 1.00000/(1.00000+ 0.124500*exp(( - 0.100000*STATES[0]*CONSTANTS[9])/( CONSTANTS[7]*CONSTANTS[8]))+ 0.0365000*CONSTANTS[148]*exp(( - STATES[0]*CONSTANTS[9])/( CONSTANTS[7]*CONSTANTS[8])));
ALGEBRAIC[41] =  (( (CONSTANTS[32]/CONSTANTS[6])*ALGEBRAIC[40]*CONSTANTS[23])/(CONSTANTS[23]+CONSTANTS[33]))*ALGEBRAIC[39];
ALGEBRAIC[9] = (VOI -  floor(VOI/CONSTANTS[11])*CONSTANTS[11]>=0.00000&&VOI -  floor(VOI/CONSTANTS[11])*CONSTANTS[11]<=CONSTANTS[12] ? CONSTANTS[13]/CONSTANTS[6] : 0.00000);
ALGEBRAIC[38] = ( CONSTANTS[31]*CONSTANTS[29]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[27] = ( CONSTANTS[15]*CONSTANTS[141]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[29] = ( (CONSTANTS[17]/(1.00000+exp(- (10.0000+STATES[0])/45.0000)))*(STATES[0] - ALGEBRAIC[25])*CONSTANTS[143])/CONSTANTS[6];
ALGEBRAIC[34] = ( CONSTANTS[26]*STATES[11]*CONSTANTS[147]*(STATES[0] - ALGEBRAIC[25]))/CONSTANTS[6];
ALGEBRAIC[72] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(STATES[14]/CONSTANTS[45]);
ALGEBRAIC[73] =  CONSTANTS[82]*(STATES[0] - ALGEBRAIC[72]);
ALGEBRAIC[52] =  1000.00*pow(10.0000, - 14.0000+STATES[13]);
ALGEBRAIC[53] = 1.00000+CONSTANTS[46]/STATES[14]+( CONSTANTS[46]*ALGEBRAIC[52])/( STATES[14]*CONSTANTS[47]);
ALGEBRAIC[54] = 1.00000+CONSTANTS[47]/ALGEBRAIC[52]+( CONSTANTS[47]*STATES[14])/( ALGEBRAIC[52]*CONSTANTS[46]);
ALGEBRAIC[55] = 1.00000/(CONSTANTS[174]+( ALGEBRAIC[54]*(CONSTANTS[48]+( CONSTANTS[50]*CONSTANTS[174])/CONSTANTS[175]))/(CONSTANTS[49]+( CONSTANTS[172]*ALGEBRAIC[54])/ALGEBRAIC[53]));
ALGEBRAIC[56] = 1.00000/(ALGEBRAIC[54]+( CONSTANTS[174]*(CONSTANTS[49]+( CONSTANTS[172]*ALGEBRAIC[54])/ALGEBRAIC[53]))/(CONSTANTS[48]+( CONSTANTS[50]*CONSTANTS[174])/CONSTANTS[175]));
ALGEBRAIC[57] =  (( CONSTANTS[3]*( CONSTANTS[49]*ALGEBRAIC[56] -  CONSTANTS[48]*ALGEBRAIC[55]))/( 60.0000*1000.00))*CONSTANTS[51];
ALGEBRAIC[66] = 1.00000+CONSTANTS[62]/STATES[14]+( CONSTANTS[62]*STATES[15])/( STATES[14]*CONSTANTS[63]);
ALGEBRAIC[67] = 1.00000+CONSTANTS[63]/STATES[15]+( CONSTANTS[63]*STATES[14])/( STATES[15]*CONSTANTS[62]);
ALGEBRAIC[68] = 1.00000/(CONSTANTS[186]+( ALGEBRAIC[67]*(CONSTANTS[64]+( CONSTANTS[66]*CONSTANTS[186])/CONSTANTS[187]))/(CONSTANTS[65]+( CONSTANTS[180]*ALGEBRAIC[67])/ALGEBRAIC[66]));
ALGEBRAIC[69] = 1.00000/(ALGEBRAIC[67]+( CONSTANTS[186]*(CONSTANTS[65]+( CONSTANTS[180]*ALGEBRAIC[67])/ALGEBRAIC[66]))/(CONSTANTS[64]+( CONSTANTS[66]*CONSTANTS[186])/CONSTANTS[187]));
ALGEBRAIC[65] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[70] = ( (pow(CONSTANTS[179], CONSTANTS[68])/(pow(ALGEBRAIC[65], CONSTANTS[68])+pow(CONSTANTS[179], CONSTANTS[68])))*pow(CONSTANTS[181], CONSTANTS[70]))/(pow(CONSTANTS[181], CONSTANTS[70])+pow(CONSTANTS[69], CONSTANTS[70]));
ALGEBRAIC[71] =  (( CONSTANTS[3]*ALGEBRAIC[70]*( CONSTANTS[65]*ALGEBRAIC[69] -  CONSTANTS[64]*ALGEBRAIC[68]))/( 60.0000*1000.00))*CONSTANTS[71];
ALGEBRAIC[58] = 1.00000+CONSTANTS[53]/STATES[15]+( CONSTANTS[52]*CONSTANTS[53])/( STATES[15]*STATES[1]);
ALGEBRAIC[59] = 1.00000+STATES[1]/CONSTANTS[52]+( STATES[1]*STATES[15])/( CONSTANTS[52]*CONSTANTS[53]);
ALGEBRAIC[61] = 1.00000/(CONSTANTS[184]+( ALGEBRAIC[59]*(CONSTANTS[54]+( CONSTANTS[56]*CONSTANTS[184])/CONSTANTS[185]))/(CONSTANTS[55]+( CONSTANTS[176]*ALGEBRAIC[59])/ALGEBRAIC[58]));
ALGEBRAIC[62] = 1.00000/(ALGEBRAIC[59]+( CONSTANTS[184]*(CONSTANTS[55]+( CONSTANTS[176]*ALGEBRAIC[59])/ALGEBRAIC[58]))/(CONSTANTS[54]+( CONSTANTS[56]*CONSTANTS[184])/CONSTANTS[185]));
ALGEBRAIC[60] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[63] =  (pow(ALGEBRAIC[60], CONSTANTS[58])/(pow(ALGEBRAIC[60], CONSTANTS[58])+pow(CONSTANTS[57], CONSTANTS[58])))*(1.00000 - pow(CONSTANTS[177], CONSTANTS[60])/(pow(CONSTANTS[177], CONSTANTS[60])+pow(CONSTANTS[59], CONSTANTS[60])));
ALGEBRAIC[64] =  (( CONSTANTS[3]*ALGEBRAIC[63]*( CONSTANTS[55]*ALGEBRAIC[62] -  CONSTANTS[54]*ALGEBRAIC[61]))/( 60.0000*1000.00))*CONSTANTS[61];
ALGEBRAIC[79] =  (CONSTANTS[3]+CONSTANTS[4])*( CONSTANTS[75]*STATES[12] -  CONSTANTS[76]*STATES[15]*pow(10.0000, - STATES[13])*1000.00);
ALGEBRAIC[42] =  CONSTANTS[3]*CONSTANTS[140]*CONSTANTS[35]*(CONSTANTS[182] - STATES[12]);
ALGEBRAIC[74] =  1000.00*pow(10.0000, - STATES[13]);
ALGEBRAIC[75] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[150]/ALGEBRAIC[74]);
ALGEBRAIC[76] =  CONSTANTS[83]*(STATES[0] - ALGEBRAIC[75]);
ALGEBRAIC[46] =  pow(10.0000, - STATES[13])*1000.00;
ALGEBRAIC[47] = ( CONSTANTS[38]*STATES[1]*CONSTANTS[40])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*STATES[1]+ STATES[1]*ALGEBRAIC[46]+ CONSTANTS[37]*ALGEBRAIC[46]);
ALGEBRAIC[48] = ( CONSTANTS[37]*ALGEBRAIC[46]*CONSTANTS[41])/( CONSTANTS[37]*CONSTANTS[38]+ CONSTANTS[38]*STATES[1]+ STATES[1]*ALGEBRAIC[46]+ CONSTANTS[37]*ALGEBRAIC[46]);
ALGEBRAIC[49] = pow(ALGEBRAIC[46], CONSTANTS[43])/(pow(ALGEBRAIC[46], CONSTANTS[43])+pow(CONSTANTS[160], CONSTANTS[43]));
ALGEBRAIC[50] = ( ALGEBRAIC[49]*( CONSTANTS[169]*ALGEBRAIC[48] -  ALGEBRAIC[47]*CONSTANTS[171]))/(CONSTANTS[169]+ALGEBRAIC[48]+ALGEBRAIC[47]+CONSTANTS[171]);
ALGEBRAIC[51] =  ALGEBRAIC[50]*CONSTANTS[3]*CONSTANTS[44];
ALGEBRAIC[77] =  log(10.0000)*(pow(10.0000, - STATES[13])+( pow(10.0000, STATES[13]+CONSTANTS[77])*CONSTANTS[78])/pow(pow(10.0000, STATES[13])+pow(10.0000, CONSTANTS[77]), 2.00000)+( pow(10.0000, STATES[13]+CONSTANTS[79])*CONSTANTS[80])/pow(pow(10.0000, STATES[13])+pow(10.0000, CONSTANTS[79]), 2.00000));
ALGEBRAIC[20] =  (( CONSTANTS[7]*CONSTANTS[8])/CONSTANTS[9])*log(CONSTANTS[19]/STATES[1]);
ALGEBRAIC[24] = ( CONSTANTS[144]*pow(STATES[2], 3.00000)*STATES[3]*STATES[4]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
ALGEBRAIC[84] = exp( CONSTANTS[88]*0.500000*STATES[0]*CONSTANTS[92]);
ALGEBRAIC[85] = exp( CONSTANTS[88]*0.500000*STATES[0]*(CONSTANTS[92] - 1.00000));
ALGEBRAIC[86] = pow(STATES[1], 3.00000);
ALGEBRAIC[87] = ( (( (CONSTANTS[94]/( (CONSTANTS[151]+pow(CONSTANTS[90], 3.00000))*(CONSTANTS[85]+CONSTANTS[91])))*( ALGEBRAIC[84]*ALGEBRAIC[86]*CONSTANTS[85] -  ALGEBRAIC[85]*CONSTANTS[151]*STATES[16]))/(1.00000+ CONSTANTS[93]*ALGEBRAIC[85]))*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[37] = ( CONSTANTS[30]*CONSTANTS[28]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
ALGEBRAIC[22] =  (( CONSTANTS[15]*CONSTANTS[141]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6])*CONSTANTS[142];
ALGEBRAIC[33] = ( CONSTANTS[26]*STATES[11]*CONSTANTS[27]*(STATES[0] - ALGEBRAIC[20]))/CONSTANTS[6];
ALGEBRAIC[36] = ALGEBRAIC[33]+ALGEBRAIC[34];
ALGEBRAIC[92] =  CONSTANTS[88]*STATES[0];
ALGEBRAIC[93] = exp(- ALGEBRAIC[92]);
ALGEBRAIC[101] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( (( CONSTANTS[103]*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*(( CONSTANTS[85]*ALGEBRAIC[93] - STATES[16])+ (CONSTANTS[102]/CONSTANTS[101])*( CONSTANTS[85]*ALGEBRAIC[93] - STATES[17])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( (( CONSTANTS[103]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[16])+ (CONSTANTS[102]/CONSTANTS[101])*( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[17])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[100] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( (( CONSTANTS[103]*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*( CONSTANTS[85]*ALGEBRAIC[93] - STATES[16]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( (( CONSTANTS[103]*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*( CONSTANTS[85]*exp(- 1.00000e-05) - STATES[16]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[94] = exp((STATES[0] - CONSTANTS[104])/CONSTANTS[105]);
ALGEBRAIC[105] = ALGEBRAIC[94]/( CONSTANTS[106]*(ALGEBRAIC[94]+1.00000));
ALGEBRAIC[107] = ( (1.00000/CONSTANTS[152])*pow(STATES[16], 2.00000))/(pow(STATES[16], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[97] = (fabs(ALGEBRAIC[92])>1.00000e-09 ? (STATES[16]+( (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85]*ALGEBRAIC[92]*ALGEBRAIC[93])/(1.00000 - ALGEBRAIC[93]))/(1.00000+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : (STATES[16]+ (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85])/(1.00000+CONSTANTS[103]/CONSTANTS[101]));
ALGEBRAIC[106] = ( (1.00000/CONSTANTS[152])*pow(ALGEBRAIC[97], 2.00000))/(pow(ALGEBRAIC[97], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[112] =  (ALGEBRAIC[105]+CONSTANTS[157])*( (CONSTANTS[167]+ALGEBRAIC[106]+CONSTANTS[157])*(CONSTANTS[167]+ALGEBRAIC[107])+ ALGEBRAIC[105]*(CONSTANTS[167]+ALGEBRAIC[106]));
ALGEBRAIC[113] = ( ALGEBRAIC[105]*CONSTANTS[167]*(ALGEBRAIC[105]+CONSTANTS[157]+CONSTANTS[167]+ALGEBRAIC[107]))/ALGEBRAIC[112];
ALGEBRAIC[115] = ( ALGEBRAIC[105]*( ALGEBRAIC[106]*(ALGEBRAIC[105]+CONSTANTS[167]+ALGEBRAIC[107])+ ALGEBRAIC[107]*CONSTANTS[157]))/ALGEBRAIC[112];
ALGEBRAIC[121] =  ALGEBRAIC[101]*ALGEBRAIC[115]+ ALGEBRAIC[100]*ALGEBRAIC[113];
ALGEBRAIC[123] = ( ALGEBRAIC[100]*ALGEBRAIC[105])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[125] = ( ( STATES[19]*ALGEBRAIC[121]+ STATES[20]*ALGEBRAIC[123])*CONSTANTS[5])/CONSTANTS[3];
ALGEBRAIC[127] = ( - ALGEBRAIC[125]*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[82] = arbitrary_log(CONSTANTS[85]/STATES[16], 10)/CONSTANTS[88];
ALGEBRAIC[83] = ( CONSTANTS[89]*(STATES[0] - ALGEBRAIC[82])*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[81] = ( (( CONSTANTS[86]*STATES[16])/(CONSTANTS[87]+STATES[16]))*2.00000*CONSTANTS[3]*CONSTANTS[9])/CONSTANTS[6];
ALGEBRAIC[108] = ( (1.00000/CONSTANTS[113])*(pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/(pow(ALGEBRAIC[97], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[109] = ( (1.00000/CONSTANTS[113])*(pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/(pow(STATES[16], 2.00000)+pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[116] = ( CONSTANTS[157]*CONSTANTS[167]*(CONSTANTS[157]+ALGEBRAIC[105]+CONSTANTS[167]+ALGEBRAIC[106]))/ALGEBRAIC[112];
ALGEBRAIC[118] =  ALGEBRAIC[113]*ALGEBRAIC[108]+ ALGEBRAIC[116]*ALGEBRAIC[109];
ALGEBRAIC[110] = ( (CONSTANTS[114]/CONSTANTS[113])*CONSTANTS[117]*(pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/( CONSTANTS[117]*pow(ALGEBRAIC[97], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[111] = ( (CONSTANTS[114]/CONSTANTS[113])*CONSTANTS[117]*(pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000)))/( CONSTANTS[117]*pow(STATES[16], 2.00000)+ CONSTANTS[116]*pow(CONSTANTS[115], 2.00000));
ALGEBRAIC[120] = ( ALGEBRAIC[105]*ALGEBRAIC[110]+ CONSTANTS[157]*ALGEBRAIC[111])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[96] = (STATES[16]+ (CONSTANTS[102]/CONSTANTS[101])*STATES[17])/(1.00000+CONSTANTS[102]/CONSTANTS[101]);
ALGEBRAIC[102] = ( (( (1.00000/CONSTANTS[109])*ALGEBRAIC[96])/CONSTANTS[110])*(ALGEBRAIC[94]+CONSTANTS[107]))/(ALGEBRAIC[94]+1.00000);
ALGEBRAIC[103] = ( (( (1.00000/CONSTANTS[109])*STATES[16])/CONSTANTS[110])*(ALGEBRAIC[94]+CONSTANTS[107]))/(ALGEBRAIC[94]+1.00000);
ALGEBRAIC[114] = ( CONSTANTS[157]*( ALGEBRAIC[107]*(CONSTANTS[157]+CONSTANTS[167]+ALGEBRAIC[106])+ ALGEBRAIC[106]*ALGEBRAIC[105]))/ALGEBRAIC[112];
ALGEBRAIC[126] =  ALGEBRAIC[114]*ALGEBRAIC[102]+ ALGEBRAIC[116]*ALGEBRAIC[103];
ALGEBRAIC[104] = ( (1.00000/CONSTANTS[109])*CONSTANTS[108]*(ALGEBRAIC[94]+CONSTANTS[107]))/( CONSTANTS[108]*ALGEBRAIC[94]+CONSTANTS[107]);
ALGEBRAIC[128] = ALGEBRAIC[104];
ALGEBRAIC[90] = ( CONSTANTS[95]*pow(STATES[16], 2.00000))/(pow(CONSTANTS[96], 2.00000)+pow(STATES[16], 2.00000));
ALGEBRAIC[98] = ( CONSTANTS[102]*(STATES[17] - STATES[16]))/(1.00000+CONSTANTS[102]/CONSTANTS[101]);
ALGEBRAIC[99] = (fabs(ALGEBRAIC[92])>1.00000e-05 ? ( CONSTANTS[102]*((STATES[17] - STATES[16])+ (( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93]))*(STATES[17] -  CONSTANTS[85]*ALGEBRAIC[93])))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : ( CONSTANTS[102]*((STATES[17] - STATES[16])+ (( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05)))*(STATES[17] -  CONSTANTS[85]*exp(- 1.00000e-05))))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*1.00000e-05)/(1.00000 - exp(- 1.00000e-05))));
ALGEBRAIC[117] =  ALGEBRAIC[115]*ALGEBRAIC[99]+ ALGEBRAIC[98]*ALGEBRAIC[114];
ALGEBRAIC[119] = ( ALGEBRAIC[98]*ALGEBRAIC[107])/(CONSTANTS[167]+ALGEBRAIC[107]);
ALGEBRAIC[129] = ( ( STATES[19]*ALGEBRAIC[117]+ STATES[21]*ALGEBRAIC[119])*CONSTANTS[5])/CONSTANTS[3];
ALGEBRAIC[131] = (- ALGEBRAIC[129]+ALGEBRAIC[90]) -  CONSTANTS[99]*(STATES[17] - STATES[16]);
ALGEBRAIC[130] = ( CONSTANTS[157]*ALGEBRAIC[103])/(ALGEBRAIC[105]+CONSTANTS[157]);
ALGEBRAIC[132] = ALGEBRAIC[104];
ALGEBRAIC[133] = ((1.00000 - STATES[19]) - STATES[20]) - STATES[21];
ALGEBRAIC[122] = ( CONSTANTS[167]*ALGEBRAIC[109])/(CONSTANTS[167]+ALGEBRAIC[107]);
ALGEBRAIC[124] = ALGEBRAIC[111];
ALGEBRAIC[134] = ( CONSTANTS[122]*STATES[22])/CONSTANTS[170];
ALGEBRAIC[135] =  ALGEBRAIC[134]*CONSTANTS[159];
ALGEBRAIC[136] = STATES[23]+STATES[24]+STATES[25];
ALGEBRAIC[137] = (ALGEBRAIC[136]<0.00000 ? ( ALGEBRAIC[135]*( CONSTANTS[133]*ALGEBRAIC[136]+1.00000))/(1.00000 - ALGEBRAIC[136]) : ( ALGEBRAIC[135]*(1.00000+ (CONSTANTS[133]+2.00000)*ALGEBRAIC[136]))/(1.00000+ALGEBRAIC[136]));
ALGEBRAIC[138] = (1.00000 - ALGEBRAIC[137]/( CONSTANTS[120]*CONSTANTS[122])>0.100000 ?  CONSTANTS[119]*(1.00000 - ALGEBRAIC[137]/( CONSTANTS[120]*CONSTANTS[122])) :  CONSTANTS[119]*0.100000);
ALGEBRAIC[139] =  (CONSTANTS[100] - STATES[18])*ALGEBRAIC[138] -  STATES[16]*STATES[18]*CONSTANTS[118];
ALGEBRAIC[11] = STATES[16];
ALGEBRAIC[26] = ( ALGEBRAIC[24]*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[28] = ALGEBRAIC[27]+ALGEBRAIC[22];
ALGEBRAIC[35] = ( ALGEBRAIC[33]*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[43] = ( ALGEBRAIC[41]*3.00000*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[44] = ( ALGEBRAIC[41]*- 2.00000*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[45] = ( - (ALGEBRAIC[27]+ALGEBRAIC[31]+ALGEBRAIC[29]+ALGEBRAIC[30]+ALGEBRAIC[32]+ALGEBRAIC[34]+ ALGEBRAIC[41]*- 2.00000+ALGEBRAIC[38])*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[78] = ALGEBRAIC[51]/CONSTANTS[3];
ALGEBRAIC[80] = ALGEBRAIC[64]/CONSTANTS[3];
ALGEBRAIC[88] = ( - (ALGEBRAIC[37]+ALGEBRAIC[22]+ALGEBRAIC[24]+ ALGEBRAIC[87]*3.00000+ ALGEBRAIC[41]*3.00000+ALGEBRAIC[33])*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[89] = ( ALGEBRAIC[87]*3.00000*CONSTANTS[6])/( CONSTANTS[3]*CONSTANTS[9]);
ALGEBRAIC[91] = ALGEBRAIC[88]+ALGEBRAIC[78]+ALGEBRAIC[80];
ALGEBRAIC[95] = (fabs(ALGEBRAIC[92])>1.00000e-09 ? (STATES[16]+ (CONSTANTS[102]/CONSTANTS[101])*STATES[17]+( (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85]*ALGEBRAIC[92]*ALGEBRAIC[93])/(1.00000 - ALGEBRAIC[93]))/(1.00000+CONSTANTS[102]/CONSTANTS[101]+( (CONSTANTS[103]/CONSTANTS[101])*ALGEBRAIC[92])/(1.00000 - ALGEBRAIC[93])) : (STATES[16]+ (CONSTANTS[102]/CONSTANTS[101])*STATES[17]+ (CONSTANTS[103]/CONSTANTS[101])*CONSTANTS[85])/(1.00000+CONSTANTS[102]/CONSTANTS[101]+CONSTANTS[103]/CONSTANTS[101]));
}