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 128 entries in the algebraic variable array.
   There are a total of 48 entries in each of the rate and state variable arrays.
   There are a total of 94 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (ms).
 * CONSTANTS[0] is F in component model_parameters (C_per_mole).
 * CONSTANTS[1] is T in component model_parameters (kelvin).
 * CONSTANTS[2] is R in component model_parameters (J_per_kmole_K).
 * CONSTANTS[3] is K_o in component model_parameters (mM).
 * CONSTANTS[4] is Ca_o in component model_parameters (mM).
 * CONSTANTS[5] is Na_o in component model_parameters (mM).
 * CONSTANTS[6] is Cl_o in component model_parameters (mM).
 * CONSTANTS[88] is Vmyo in component cell_geometry (uL).
 * CONSTANTS[89] is Vnsr in component cell_geometry (uL).
 * CONSTANTS[84] is Vsr in component cell_geometry (uL).
 * CONSTANTS[90] is Vjsr in component cell_geometry (uL).
 * CONSTANTS[91] is Vss_sr in component cell_geometry (uL).
 * CONSTANTS[92] is Vss_CaL in component cell_geometry (uL).
 * CONSTANTS[86] is Acap in component cell_geometry (cm2).
 * CONSTANTS[87] is AF in component cell_geometry (uF_mole_per_C).
 * CONSTANTS[7] is l in component cell_geometry (cm).
 * CONSTANTS[8] is a in component cell_geometry (cm).
 * CONSTANTS[81] is vcell in component cell_geometry (uL).
 * CONSTANTS[85] is ageo in component cell_geometry (cm2).
 * STATES[0] is Vm in component membrane (mV).
 * ALGEBRAIC[12] is i_Stim in component membrane (uA_per_uF).
 * CONSTANTS[9] is stim_offset in component membrane (ms).
 * CONSTANTS[10] is stim_period in component membrane (ms).
 * CONSTANTS[11] is stim_duration in component membrane (ms).
 * CONSTANTS[12] is stim_amplitude in component membrane (uA_per_uF).
 * ALGEBRAIC[0] is past in component membrane (ms).
 * ALGEBRAIC[110] is caiont in component membrane (uA_per_uF).
 * ALGEBRAIC[113] is naiont in component membrane (uA_per_uF).
 * ALGEBRAIC[80] is kiont in component membrane (uA_per_uF).
 * ALGEBRAIC[71] is clont in component membrane (uA_per_uF).
 * ALGEBRAIC[51] is INa in component INa (uA_per_uF).
 * ALGEBRAIC[98] is ICaL in component ICaL (uA_per_uF).
 * ALGEBRAIC[61] is IK1 in component IK1 (uA_per_uF).
 * ALGEBRAIC[54] is IKp in component IKp (uA_per_uF).
 * ALGEBRAIC[79] is IKs in component IKs (uA_per_uF).
 * ALGEBRAIC[65] is IKr in component IKr (uA_per_uF).
 * ALGEBRAIC[86] is IpCa in component IpCa (uA_per_uF).
 * ALGEBRAIC[87] is ICab in component ICab (uA_per_uF).
 * ALGEBRAIC[85] is INaCa in component INaCa (uA_per_uF).
 * ALGEBRAIC[109] is INaCa_ss_sr in component INaCa (uA_per_uF).
 * ALGEBRAIC[44] is INaK in component INaK (uA_per_uF).
 * ALGEBRAIC[67] is Ito1 in component Ito1 (uA_per_uF).
 * ALGEBRAIC[70] is Ito2 in component Ito2 (uA_per_uF).
 * ALGEBRAIC[57] is IClb in component IClb (uA_per_uF).
 * ALGEBRAIC[52] is INaL in component INaL (uA_per_uF).
 * ALGEBRAIC[49] is INab in component INab (uA_per_uF).
 * ALGEBRAIC[78] is gKs in component IKs (mS_per_uF).
 * STATES[1] is C1 in component IKs (dimensionless).
 * STATES[2] is C2 in component IKs (dimensionless).
 * STATES[3] is C3 in component IKs (dimensionless).
 * STATES[4] is C4 in component IKs (dimensionless).
 * STATES[5] is C5 in component IKs (dimensionless).
 * STATES[6] is C6 in component IKs (dimensionless).
 * STATES[7] is C7 in component IKs (dimensionless).
 * STATES[8] is C8 in component IKs (dimensionless).
 * STATES[9] is C9 in component IKs (dimensionless).
 * STATES[10] is C10 in component IKs (dimensionless).
 * STATES[11] is C11 in component IKs (dimensionless).
 * STATES[12] is C12 in component IKs (dimensionless).
 * STATES[13] is C13 in component IKs (dimensionless).
 * STATES[14] is C14 in component IKs (dimensionless).
 * STATES[15] is C15 in component IKs (dimensionless).
 * STATES[16] is O1 in component IKs (dimensionless).
 * STATES[17] is O2 in component IKs (dimensionless).
 * ALGEBRAIC[23] is OKs in component IKs (dimensionless).
 * ALGEBRAIC[1] is alpha in component IKs (per_ms).
 * ALGEBRAIC[13] is beta in component IKs (per_ms).
 * ALGEBRAIC[28] is delta in component IKs (per_ms).
 * ALGEBRAIC[24] is gamma in component IKs (per_ms).
 * ALGEBRAIC[31] is eta in component IKs (per_ms).
 * CONSTANTS[80] is theta in component IKs (per_ms).
 * ALGEBRAIC[33] is omega in component IKs (per_ms).
 * ALGEBRAIC[35] is psi in component IKs (per_ms).
 * ALGEBRAIC[55] is EKs in component reversal_potentials (mV).
 * ALGEBRAIC[77] is Ca_i in component Ca_buffering (mM).
 * ALGEBRAIC[96] is ICaL_max in component ICaL (uA_per_uF).
 * CONSTANTS[13] is PCa in component ICaL (L_per_F_ms).
 * STATES[18] is C in component ICaL (dimensionless).
 * STATES[19] is O in component ICaL (dimensionless).
 * STATES[20] is C_star in component ICaL (dimensionless).
 * STATES[21] is O_star in component ICaL (dimensionless).
 * STATES[22] is CI in component ICaL (dimensionless).
 * STATES[23] is OI in component ICaL (dimensionless).
 * STATES[24] is CI_star in component ICaL (dimensionless).
 * STATES[25] is OI_star in component ICaL (dimensionless).
 * ALGEBRAIC[27] is ACT_tau in component ICaL (ms).
 * ALGEBRAIC[37] is IV_tau in component ICaL (ms).
 * ALGEBRAIC[99] is IV_tau_star in component ICaL (ms).
 * ALGEBRAIC[30] is ACT_infinity in component ICaL (dimensionless).
 * ALGEBRAIC[36] is IV_infinity in component ICaL (dimensionless).
 * ALGEBRAIC[40] is IV_infinity_star in component ICaL (dimensionless).
 * ALGEBRAIC[97] is IV_beta_star in component ICaL (dimensionless).
 * ALGEBRAIC[95] is IV_beta_infinity_star in component ICaL (dimensionless).
 * ALGEBRAIC[32] is alpha in component ICaL (per_ms).
 * ALGEBRAIC[34] is beta in component ICaL (per_ms).
 * ALGEBRAIC[105] is delta in component ICaL (per_ms).
 * ALGEBRAIC[38] is x in component ICaL (per_ms).
 * ALGEBRAIC[39] is y in component ICaL (per_ms).
 * CONSTANTS[14] is theta in component ICaL (per_ms).
 * ALGEBRAIC[107] is delta_I in component ICaL (per_ms).
 * ALGEBRAIC[101] is x_star in component ICaL (per_ms).
 * ALGEBRAIC[103] is y_star in component ICaL (per_ms).
 * CONSTANTS[15] is theta_I in component ICaL (per_ms).
 * CONSTANTS[16] is gamma_Cai in component ICaL (dimensionless).
 * CONSTANTS[17] is gamma_Cao in component ICaL (dimensionless).
 * ALGEBRAIC[94] is Ca_ss_CaL in component Ca_ss_buffering (mM).
 * CONSTANTS[18] is g_Na in component INa (mS_per_uF).
 * ALGEBRAIC[50] is ENa in component reversal_potentials (mV).
 * STATES[26] is m in component INa_m_gate (dimensionless).
 * STATES[27] is h in component INa_h_gate (dimensionless).
 * STATES[28] is j in component INa_j_gate (dimensionless).
 * ALGEBRAIC[2] is am in component INa_m_gate (per_ms).
 * ALGEBRAIC[14] is bm in component INa_m_gate (per_ms).
 * ALGEBRAIC[3] is ah in component INa_h_gate (per_ms).
 * ALGEBRAIC[15] is bh in component INa_h_gate (per_ms).
 * ALGEBRAIC[4] is aj in component INa_j_gate (per_ms).
 * ALGEBRAIC[16] is bj in component INa_j_gate (per_ms).
 * CONSTANTS[19] is kmnai in component INaK (mM).
 * CONSTANTS[20] is kmko in component INaK (mM).
 * CONSTANTS[21] is ibarnak in component INaK (uA_per_uF).
 * CONSTANTS[22] is sigma in component INaK (dimensionless).
 * CONSTANTS[23] is V_half in component INaK (mV).
 * ALGEBRAIC[41] is phi in component INaK (dimensionless).
 * ALGEBRAIC[42] is fv in component INaK (dimensionless).
 * CONSTANTS[93] is PK in component INaK (dimensionless).
 * ALGEBRAIC[43] is PNa in component INaK (dimensionless).
 * STATES[29] is Na_i in component Na (mM).
 * CONSTANTS[24] is KmCa_act in component INaCa (mM).
 * CONSTANTS[25] is Vmax in component INaCa (uA_per_uF).
 * CONSTANTS[26] is ksat in component INaCa (dimensionless).
 * CONSTANTS[27] is eta in component INaCa (dimensionless).
 * CONSTANTS[28] is KmNai in component INaCa (mM).
 * CONSTANTS[29] is KmNao in component INaCa (mM).
 * CONSTANTS[30] is KmCai in component INaCa (mM).
 * CONSTANTS[31] is KmCao in component INaCa (mM).
 * ALGEBRAIC[100] is Ca_ss_sr in component Ca_ss_buffering (mM).
 * STATES[30] is Na_ss_sr in component Na (mM).
 * ALGEBRAIC[81] is num in component INaCa (mM4_uA_per_uF).
 * ALGEBRAIC[102] is num_ss in component INaCa (mM4_uA_per_uF).
 * ALGEBRAIC[82] is denom_1 in component INaCa (dimensionless).
 * ALGEBRAIC[45] is denom_2 in component INaCa (dimensionless).
 * ALGEBRAIC[83] is denom_3 in component INaCa (mM4).
 * ALGEBRAIC[84] is denom_4 in component INaCa (mM4).
 * ALGEBRAIC[104] is denom_ss_1 in component INaCa (dimensionless).
 * ALGEBRAIC[46] is denom_ss_2 in component INaCa (dimensionless).
 * ALGEBRAIC[106] is denom_ss_3 in component INaCa (mM4).
 * ALGEBRAIC[108] is denom_ss_4 in component INaCa (mM4).
 * CONSTANTS[32] is gKp in component IKp (mS_per_uF).
 * ALGEBRAIC[47] is Kp in component IKp (dimensionless).
 * ALGEBRAIC[53] is EK in component reversal_potentials (mV).
 * CONSTANTS[33] is gpCa in component IpCa (uA_per_uF).
 * CONSTANTS[34] is KmpCa in component IpCa (mM).
 * CONSTANTS[35] is PCab in component ICab (L_per_F_ms).
 * CONSTANTS[36] is gamma_Ca_i in component ICab (dimensionless).
 * CONSTANTS[37] is gamma_Ca_o in component ICab (dimensionless).
 * CONSTANTS[38] is PNab in component INab (L_per_F_ms).
 * ALGEBRAIC[48] is phi in component INab (dimensionless).
 * CONSTANTS[39] is gClb in component IClb (mS_per_uF).
 * ALGEBRAIC[56] is ECl in component reversal_potentials (mV).
 * CONSTANTS[40] is gNaL in component INaL (mS_per_uF).
 * STATES[31] is mL in component INaL_mL_gate (dimensionless).
 * STATES[32] is hL in component INaL_hL_gate (dimensionless).
 * ALGEBRAIC[5] is amL in component INaL_mL_gate (per_ms).
 * ALGEBRAIC[17] is bmL in component INaL_mL_gate (per_ms).
 * CONSTANTS[41] is tau_hL in component INaL_hL_gate (ms).
 * ALGEBRAIC[6] is hL_infinity in component INaL_hL_gate (dimensionless).
 * CONSTANTS[42] is prnak in component reversal_potentials (dimensionless).
 * STATES[33] is K_i in component K (mM).
 * STATES[34] is Cl_i in component Cl (mM).
 * CONSTANTS[82] is gK1 in component IK1 (mS_per_uF).
 * ALGEBRAIC[60] is K1 in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[58] is alpha_k1 in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[59] is beta_k1 in component IK1_K1_gate (dimensionless).
 * ALGEBRAIC[62] is CT_Na_Cl in component CT_Na_Cl (mM_per_ms).
 * CONSTANTS[43] is CT_Na_Cl_max in component CT_Na_Cl (mM_per_ms).
 * ALGEBRAIC[63] is CT_K_Cl in component CT_K_Cl (mM_per_ms).
 * CONSTANTS[44] is CT_K_Cl_max in component CT_K_Cl (mM_per_ms).
 * CONSTANTS[83] is gKr in component IKr (mS_per_uF).
 * ALGEBRAIC[64] is r in component IKr_r_gate (dimensionless).
 * STATES[35] is xr in component IKr_xr_gate (dimensionless).
 * ALGEBRAIC[7] is xr_infinity in component IKr_xr_gate (dimensionless).
 * ALGEBRAIC[18] is tau_xr in component IKr_xr_gate (ms).
 * CONSTANTS[45] is gto1 in component Ito1 (mS_per_uF).
 * ALGEBRAIC[66] is rto1 in component Ito1 (dimensionless).
 * STATES[36] is a in component Ito1_a_gate (dimensionless).
 * STATES[37] is i1f in component Ito1_i1f_gate (dimensionless).
 * STATES[38] is i1s in component Ito1_i1s_gate (dimensionless).
 * ALGEBRAIC[8] is alpha_a in component Ito1_a_gate (per_ms).
 * ALGEBRAIC[19] is beta_a in component Ito1_a_gate (per_ms).
 * ALGEBRAIC[25] is tau_a in component Ito1_a_gate (ms).
 * ALGEBRAIC[29] is a_infinity in component Ito1_a_gate (dimensionless).
 * ALGEBRAIC[20] is alpha_i1f in component Ito1_i1f_gate (per_ms).
 * ALGEBRAIC[9] is beta_i1f in component Ito1_i1f_gate (per_ms).
 * ALGEBRAIC[21] is alpha_i1s in component Ito1_i1s_gate (per_ms).
 * ALGEBRAIC[10] is beta_i1s in component Ito1_i1s_gate (per_ms).
 * CONSTANTS[46] is PCl in component Ito2 (L_per_F_ms).
 * CONSTANTS[47] is zCl in component Ito2 (dimensionless).
 * ALGEBRAIC[68] is Ito2_max in component Ito2 (uA_per_uF).
 * ALGEBRAIC[69] is KCa_ito2 in component Ito2 (dimensionless).
 * CONSTANTS[48] is kCa_ito2 in component Ito2 (mM_per_ms).
 * STATES[39] is Irel in component Irel (mM_per_ms).
 * STATES[40] is i2f in component Ito2_i2f_gate (dimensionless).
 * ALGEBRAIC[22] is alpha_i2f in component Ito2_i2f_gate (per_ms).
 * ALGEBRAIC[11] is beta_i2f in component Ito2_i2f_gate (per_ms).
 * ALGEBRAIC[26] is i2f_infinity in component Ito2_i2f_gate (dimensionless).
 * CONSTANTS[49] is tau_i2f in component Ito2_i2f_gate (ms).
 * ALGEBRAIC[127] is rel_infinity in component Irel (mM_per_ms).
 * ALGEBRAIC[126] is tau_rel in component Irel (ms).
 * CONSTANTS[50] is Krel_infinity in component Irel (mM).
 * ALGEBRAIC[124] is alpha_rel in component Irel (mM_per_uA_per_uF_per_ms).
 * ALGEBRAIC[122] is beta_tau in component Irel (ms).
 * CONSTANTS[51] is beta_0 in component Irel (ms).
 * CONSTANTS[52] is kappa in component Irel (mM_per_uA_per_uF_per_ms_per_ms).
 * CONSTANTS[53] is h_rel in component Irel (dimensionless).
 * CONSTANTS[54] is h_beta in component Irel (dimensionless).
 * ALGEBRAIC[120] is delta_beta_CaMK in component Irel (dimensionless).
 * CONSTANTS[55] is delta_beta_0 in component Irel (dimensionless).
 * CONSTANTS[56] is K_beta in component Irel (mM).
 * CONSTANTS[57] is Krel_tau in component Irel (mM).
 * ALGEBRAIC[117] is Ca_JSR in component Ca_JSR_buffering (mM).
 * ALGEBRAIC[119] is CaMK_active in component CaMK_active (dimensionless).
 * ALGEBRAIC[125] is Iup in component Iup (mM_per_ms).
 * CONSTANTS[58] is kmup in component Iup (mM).
 * ALGEBRAIC[123] is delta_kmPLB in component Iup (mM).
 * CONSTANTS[59] is delta_kmPLB_bar in component Iup (mM).
 * CONSTANTS[60] is iupbar in component Iup (mM_per_ms).
 * ALGEBRAIC[121] is delta_iupCaMK in component Iup (dimensionless).
 * CONSTANTS[61] is delta_iupCaMK_bar in component Iup (dimensionless).
 * CONSTANTS[62] is kmCaMK in component CaMK_active (mM).
 * ALGEBRAIC[73] is Ileak in component Ileak (mM_per_ms).
 * CONSTANTS[63] is nsrbar in component Ileak (mM).
 * STATES[41] is Ca_NSR in component Ca (mM).
 * ALGEBRAIC[118] is Itr in component Itr (mM_per_ms).
 * CONSTANTS[64] is tautr in component Itr (ms).
 * STATES[42] is Ca_JSR_0 in component Ca (mM).
 * STATES[43] is Ca_i_0 in component Ca (mM).
 * STATES[44] is Ca_ss_sr_0 in component Ca (mM).
 * STATES[45] is Ca_ss_CaL_0 in component Ca (mM).
 * CONSTANTS[65] is tau_diff_ss in component Ca (ms).
 * CONSTANTS[66] is tau_diff in component Ca (ms).
 * ALGEBRAIC[111] is Idiff in component Ca (mM_per_ms).
 * ALGEBRAIC[115] is Idiff_ss in component Ca (mM_per_ms).
 * ALGEBRAIC[74] is b_myo in component Ca_buffering (mM).
 * ALGEBRAIC[75] is c_myo in component Ca_buffering (mM2).
 * ALGEBRAIC[76] is d_myo in component Ca_buffering (mM3).
 * CONSTANTS[67] is cmdn_bar in component Ca_buffering (mM).
 * CONSTANTS[68] is trpn_bar in component Ca_buffering (mM).
 * CONSTANTS[69] is km_cmdn in component Ca_buffering (mM).
 * CONSTANTS[70] is km_trpn in component Ca_buffering (mM).
 * ALGEBRAIC[88] is b_myo1 in component Ca_ss_buffering (mM).
 * ALGEBRAIC[89] is c_myo1 in component Ca_ss_buffering (mM2).
 * ALGEBRAIC[90] is d_myo1 in component Ca_ss_buffering (mM3).
 * ALGEBRAIC[91] is b_myo2 in component Ca_ss_buffering (mM).
 * ALGEBRAIC[92] is c_myo2 in component Ca_ss_buffering (mM2).
 * ALGEBRAIC[93] is d_myo2 in component Ca_ss_buffering (mM3).
 * CONSTANTS[71] is BSL_max in component Ca_ss_buffering (mM).
 * CONSTANTS[72] is BSR_max in component Ca_ss_buffering (mM).
 * CONSTANTS[73] is Km_BSR in component Ca_ss_buffering (mM).
 * CONSTANTS[74] is Km_BSL in component Ca_ss_buffering (mM).
 * ALGEBRAIC[114] is b in component Ca_JSR_buffering (mM).
 * ALGEBRAIC[116] is c in component Ca_JSR_buffering (mM2).
 * CONSTANTS[75] is csqn_bar in component Ca_JSR_buffering (mM).
 * CONSTANTS[76] is km_csqn in component Ca_JSR_buffering (mM).
 * ALGEBRAIC[112] is Idiff_Na in component Na (mM_per_ms).
 * STATES[46] is Cl_ss in component Cl (mM).
 * ALGEBRAIC[72] is Idiff_Cl in component Cl (mM_per_ms).
 * STATES[47] is CaMK_trap in component CaMK_active (dimensionless).
 * CONSTANTS[77] is alpha_CaMK in component CaMK_active (per_ms).
 * CONSTANTS[78] is beta_CaMK in component CaMK_active (per_ms).
 * CONSTANTS[79] is CaMK_0 in component CaMK_active (dimensionless).
 * RATES[0] is d/dt Vm in component membrane (mV).
 * RATES[1] is d/dt C1 in component IKs (dimensionless).
 * RATES[2] is d/dt C2 in component IKs (dimensionless).
 * RATES[3] is d/dt C3 in component IKs (dimensionless).
 * RATES[4] is d/dt C4 in component IKs (dimensionless).
 * RATES[5] is d/dt C5 in component IKs (dimensionless).
 * RATES[6] is d/dt C6 in component IKs (dimensionless).
 * RATES[7] is d/dt C7 in component IKs (dimensionless).
 * RATES[8] is d/dt C8 in component IKs (dimensionless).
 * RATES[9] is d/dt C9 in component IKs (dimensionless).
 * RATES[10] is d/dt C10 in component IKs (dimensionless).
 * RATES[11] is d/dt C11 in component IKs (dimensionless).
 * RATES[12] is d/dt C12 in component IKs (dimensionless).
 * RATES[13] is d/dt C13 in component IKs (dimensionless).
 * RATES[14] is d/dt C14 in component IKs (dimensionless).
 * RATES[15] is d/dt C15 in component IKs (dimensionless).
 * RATES[16] is d/dt O1 in component IKs (dimensionless).
 * RATES[17] is d/dt O2 in component IKs (dimensionless).
 * RATES[18] is d/dt C in component ICaL (dimensionless).
 * RATES[19] is d/dt O in component ICaL (dimensionless).
 * RATES[20] is d/dt C_star in component ICaL (dimensionless).
 * RATES[21] is d/dt O_star in component ICaL (dimensionless).
 * RATES[22] is d/dt CI in component ICaL (dimensionless).
 * RATES[23] is d/dt OI in component ICaL (dimensionless).
 * RATES[24] is d/dt CI_star in component ICaL (dimensionless).
 * RATES[25] is d/dt OI_star in component ICaL (dimensionless).
 * RATES[26] is d/dt m in component INa_m_gate (dimensionless).
 * RATES[27] is d/dt h in component INa_h_gate (dimensionless).
 * RATES[28] is d/dt j in component INa_j_gate (dimensionless).
 * RATES[31] is d/dt mL in component INaL_mL_gate (dimensionless).
 * RATES[32] is d/dt hL in component INaL_hL_gate (dimensionless).
 * RATES[35] is d/dt xr in component IKr_xr_gate (dimensionless).
 * RATES[36] is d/dt a in component Ito1_a_gate (dimensionless).
 * RATES[37] is d/dt i1f in component Ito1_i1f_gate (dimensionless).
 * RATES[38] is d/dt i1s in component Ito1_i1s_gate (dimensionless).
 * RATES[40] is d/dt i2f in component Ito2_i2f_gate (dimensionless).
 * RATES[39] is d/dt Irel in component Irel (mM_per_ms).
 * RATES[43] is d/dt Ca_i_0 in component Ca (mM).
 * RATES[44] is d/dt Ca_ss_sr_0 in component Ca (mM).
 * RATES[45] is d/dt Ca_ss_CaL_0 in component Ca (mM).
 * RATES[41] is d/dt Ca_NSR in component Ca (mM).
 * RATES[42] is d/dt Ca_JSR_0 in component Ca (mM).
 * RATES[29] is d/dt Na_i in component Na (mM).
 * RATES[30] is d/dt Na_ss_sr in component Na (mM).
 * RATES[34] is d/dt Cl_i in component Cl (mM).
 * RATES[46] is d/dt Cl_ss in component Cl (mM).
 * RATES[33] is d/dt K_i in component K (mM).
 * RATES[47] is d/dt CaMK_trap in component CaMK_active (dimensionless).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 96487;
CONSTANTS[1] = 310;
CONSTANTS[2] = 8314;
CONSTANTS[3] = 5.4;
CONSTANTS[4] = 1.8;
CONSTANTS[5] = 140;
CONSTANTS[6] = 100;
CONSTANTS[7] = 0.01;
CONSTANTS[8] = 0.0011;
STATES[0] = -87.472528;
CONSTANTS[9] = 0;
CONSTANTS[10] = 1e3;
CONSTANTS[11] = 0.5;
CONSTANTS[12] = -80;
STATES[1] = 0.476653873938053;
STATES[2] = 0.2551771850026437;
STATES[3] = 0.05122852186842027;
STATES[4] = 0.004570874421666423;
STATES[5] = 0.0001529389211563687;
STATES[6] = 0.1328281770413747;
STATES[7] = 0.05333228495514583;
STATES[8] = 0.007137874613383642;
STATES[9] = 0.0003184390970637536;
STATES[10] = 0.01388061042363991;
STATES[11] = 0.003715500164470033;
STATES[12] = 0.0002486371465457659;
STATES[13] = 0.0006446803014431032;
STATES[14] = 8.628258026770862e-5;
STATES[15] = 1.122823524761588e-5;
STATES[16] = 1.051906959485266e-5;
STATES[17] = 2.372219883411999e-6;
CONSTANTS[13] = 1.5552e-4;
STATES[18] = 0.9999613782488198;
STATES[19] = 2.27419494597377e-5;
STATES[20] = 5.936477396599124e-11;
STATES[21] = 1.350122566369778e-15;
STATES[22] = 1.587938121237188e-5;
STATES[23] = 3.611420243201921e-10;
STATES[24] = 0;
STATES[25] = 0;
CONSTANTS[14] = 1;
CONSTANTS[15] = 0.000001;
CONSTANTS[16] = 1;
CONSTANTS[17] = 0.341;
CONSTANTS[18] = 9.075;
STATES[26] = 0.001022252813581797;
STATES[27] = 0.9913109066867;
STATES[28] = 0.9970771239754529;
CONSTANTS[19] = 2.6;
CONSTANTS[20] = 1.5;
CONSTANTS[21] = 1.4;
CONSTANTS[22] = 1;
CONSTANTS[23] = -92;
STATES[29] = 6.935575;
CONSTANTS[24] = 1.25e-4;
CONSTANTS[25] = 4.5;
CONSTANTS[26] = 0.32;
CONSTANTS[27] = 0.27;
CONSTANTS[28] = 12.3;
CONSTANTS[29] = 87.5;
CONSTANTS[30] = 0.0036;
CONSTANTS[31] = 1.3;
STATES[30] = 6.935607;
CONSTANTS[32] = 0.00276;
CONSTANTS[33] = 0.0575;
CONSTANTS[34] = 0.5e-3;
CONSTANTS[35] = 1.995084e-7;
CONSTANTS[36] = 1;
CONSTANTS[37] = 0.341;
CONSTANTS[38] = 0.32e-8;
CONSTANTS[39] = 2.25e-4;
CONSTANTS[40] = 0.0065;
STATES[31] = 0.001022252813581797;
STATES[32] = 0.3593255076983574;
CONSTANTS[41] = 600;
CONSTANTS[42] = 0.01833;
STATES[33] = 145.5689;
STATES[34] = 20.26842;
CONSTANTS[43] = 2.46108e-5;
CONSTANTS[44] = 1.77e-5;
STATES[35] = 1.235996442041028e-8;
CONSTANTS[45] = 0.4975;
STATES[36] = 1.773318268499115e-5;
STATES[37] = 0.9979722;
STATES[38] = 0.9874435;
CONSTANTS[46] = 9e-7;
CONSTANTS[47] = -1;
CONSTANTS[48] = 0.4;
STATES[39] = 0.00107332;
STATES[40] = 0.9960352;
CONSTANTS[49] = 8;
CONSTANTS[50] = 1;
CONSTANTS[51] = 4.75;
CONSTANTS[52] = 0.1125;
CONSTANTS[53] = 8;
CONSTANTS[54] = 10;
CONSTANTS[55] = 1;
CONSTANTS[56] = 0.28;
CONSTANTS[57] = 0.0123;
CONSTANTS[58] = 0.00092;
CONSTANTS[59] = 1.7e-4;
CONSTANTS[60] = 0.004375;
CONSTANTS[61] = 0.75;
CONSTANTS[62] = 0.15;
CONSTANTS[63] = 15;
STATES[41] = 1.159939;
CONSTANTS[64] = 25;
STATES[42] = 6.99469048;
STATES[43] = 0.013408;
STATES[44] = 0.02414815;
STATES[45] = 0.02510283;
CONSTANTS[65] = 2;
CONSTANTS[66] = 0.2;
CONSTANTS[67] = 0.05;
CONSTANTS[68] = 0.07;
CONSTANTS[69] = 0.00238;
CONSTANTS[70] = 0.0005;
CONSTANTS[71] = 1.124;
CONSTANTS[72] = 0.047;
CONSTANTS[73] = 0.00087;
CONSTANTS[74] = 0.0087;
CONSTANTS[75] = 10;
CONSTANTS[76] = 0.8;
STATES[46] = 20.26842;
STATES[47] = 0.0018861341;
CONSTANTS[77] = 0.05;
CONSTANTS[78] = 0.00068;
CONSTANTS[79] = 0.05;
CONSTANTS[80] = 0.0895380;
CONSTANTS[81] =  1000.00* 3.14159265358979*CONSTANTS[8]*CONSTANTS[8]*CONSTANTS[7];
CONSTANTS[82] =  0.500000* pow((CONSTANTS[3]/5.40000), 1.0 / 2);
CONSTANTS[83] =  0.0138542* pow((CONSTANTS[3]/5.40000), 1.0 / 2);
CONSTANTS[84] =  CONSTANTS[81]*0.0600000;
CONSTANTS[85] =  2.00000* 3.14159265358979*CONSTANTS[8]*CONSTANTS[8]+ 2.00000* 3.14159265358979*CONSTANTS[8]*CONSTANTS[7];
CONSTANTS[86] =  CONSTANTS[85]*2.00000;
CONSTANTS[87] = ( 1.00000*1.00000*CONSTANTS[86])/( CONSTANTS[0]*1.00000);
CONSTANTS[88] =  CONSTANTS[81]*0.678000;
CONSTANTS[89] =  CONSTANTS[81]*0.0552000;
CONSTANTS[90] =  CONSTANTS[81]*0.00480000;
CONSTANTS[91] =  CONSTANTS[81]*0.0200000;
CONSTANTS[92] =  CONSTANTS[81]*0.00200000;
CONSTANTS[93] = CONSTANTS[3]/(CONSTANTS[3]+CONSTANTS[20]);
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[0]+91.0000)/6.10000));
RATES[32] = (ALGEBRAIC[6] - STATES[32])/CONSTANTS[41];
ALGEBRAIC[1] =  0.0148640*exp(( 0.0298770*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[13] =  0.0839860*exp(( - 0.0554610*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
RATES[1] =  - 4.00000*ALGEBRAIC[1]*STATES[1]+ ALGEBRAIC[13]*STATES[2];
ALGEBRAIC[2] = ( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[14] =  0.0800000*exp(- STATES[0]/11.0000);
RATES[26] =  ALGEBRAIC[2]*(1.00000 - STATES[26]) -  ALGEBRAIC[14]*STATES[26];
ALGEBRAIC[3] = (STATES[0]>=- 40.0000 ? 0.00000 :  0.135000*exp((80.0000+STATES[0])/- 6.80000));
ALGEBRAIC[15] = (STATES[0]>=- 40.0000 ? 1.00000/( 0.130000*(1.00000+exp((STATES[0]+10.6600)/- 11.1000))) :  3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0]));
RATES[27] =  ALGEBRAIC[3]*(1.00000 - STATES[27]) -  ALGEBRAIC[15]*STATES[27];
ALGEBRAIC[4] = (STATES[0]>=- 40.0000 ? 0.00000 : ( ( - 127140.*exp( 0.244400*STATES[0]) -  6.94800e-05*exp( - 0.0439100*STATES[0]))*(STATES[0]+37.7800))/(1.00000+exp( 0.311000*(STATES[0]+79.2300))));
ALGEBRAIC[16] = (STATES[0]>=- 40.0000 ? ( 0.300000*exp( - 2.53500e-07*STATES[0]))/(1.00000+exp( - 0.100000*(STATES[0]+32.0000))) : ( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400))));
RATES[28] =  ALGEBRAIC[4]*(1.00000 - STATES[28]) -  ALGEBRAIC[16]*STATES[28];
ALGEBRAIC[5] = ( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[17] =  0.0800000*exp(- STATES[0]/11.0000);
RATES[31] =  ALGEBRAIC[5]*(1.00000 - STATES[31]) -  ALGEBRAIC[17]*STATES[31];
ALGEBRAIC[7] = 1.00000/(1.00000+exp(- (STATES[0]+10.0850)/4.25000));
ALGEBRAIC[18] = 1.00000/(( 0.000600000*(STATES[0] - 1.73840))/(1.00000 - exp( - 0.136000*(STATES[0] - 1.73840)))+( 0.000300000*(STATES[0]+38.3608))/(exp( 0.152200*(STATES[0]+38.3608)) - 1.00000));
RATES[35] = (ALGEBRAIC[7] - STATES[35])/ALGEBRAIC[18];
ALGEBRAIC[20] = 0.0250000/(1.00000+exp((STATES[0]+58.0000)/5.00000));
ALGEBRAIC[9] = 1.00000/( 9.79530*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
RATES[37] =  ALGEBRAIC[20]*(1.00000 - STATES[37]) -  ALGEBRAIC[9]*STATES[37];
ALGEBRAIC[21] = 1.00000/( 250.000*(1.00000+exp((STATES[0]+60.0000)/5.00000)));
ALGEBRAIC[10] = 1.00000/( 9.79530*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
RATES[38] =  ALGEBRAIC[21]*(1.00000 - STATES[38]) -  ALGEBRAIC[10]*STATES[38];
ALGEBRAIC[22] = 0.0250000/(1.00000+exp((STATES[0]+58.0000)/5.00000));
ALGEBRAIC[11] = 1.00000/( 5.00000*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
ALGEBRAIC[26] = ALGEBRAIC[22]/(ALGEBRAIC[22]+ALGEBRAIC[11]);
RATES[40] = (ALGEBRAIC[26] - STATES[40])/CONSTANTS[49];
ALGEBRAIC[28] =  0.00311730*exp(( - 0.426250*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[24] =  0.0146010*exp(( 0.244650*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
RATES[2] =  - ( 3.00000*ALGEBRAIC[1]+ALGEBRAIC[13]+ALGEBRAIC[24])*STATES[2]+ 4.00000*ALGEBRAIC[1]*STATES[1]+ 2.00000*ALGEBRAIC[13]*STATES[3]+ ALGEBRAIC[28]*STATES[6];
RATES[3] =  - ( 2.00000*ALGEBRAIC[1]+ 2.00000*ALGEBRAIC[13]+ 2.00000*ALGEBRAIC[24])*STATES[3]+ 3.00000*ALGEBRAIC[1]*STATES[2]+ 3.00000*ALGEBRAIC[13]*STATES[4]+ ALGEBRAIC[28]*STATES[7];
RATES[4] =  - (ALGEBRAIC[1]+ 3.00000*ALGEBRAIC[13]+ 3.00000*ALGEBRAIC[24])*STATES[4]+ 2.00000*ALGEBRAIC[1]*STATES[3]+ 4.00000*ALGEBRAIC[13]*STATES[5]+ ALGEBRAIC[28]*STATES[8];
RATES[5] =  - ( 4.00000*ALGEBRAIC[13]+ 4.00000*ALGEBRAIC[24])*STATES[5]+ ALGEBRAIC[1]*STATES[4]+ ALGEBRAIC[28]*STATES[9];
RATES[6] =  - ( 3.00000*ALGEBRAIC[1]+ALGEBRAIC[28])*STATES[6]+ ALGEBRAIC[13]*STATES[7]+ ALGEBRAIC[24]*STATES[2];
RATES[7] =  - ( 2.00000*ALGEBRAIC[1]+ALGEBRAIC[13]+ALGEBRAIC[24]+ALGEBRAIC[28])*STATES[7]+ 3.00000*ALGEBRAIC[1]*STATES[6]+ 2.00000*ALGEBRAIC[13]*STATES[8]+ 2.00000*ALGEBRAIC[24]*STATES[3]+ 2.00000*ALGEBRAIC[28]*STATES[10];
RATES[8] =  - (ALGEBRAIC[1]+ 2.00000*ALGEBRAIC[13]+ 2.00000*ALGEBRAIC[24]+ALGEBRAIC[28])*STATES[8]+ 2.00000*ALGEBRAIC[1]*STATES[7]+ 3.00000*ALGEBRAIC[13]*STATES[9]+ 3.00000*ALGEBRAIC[24]*STATES[4]+ 2.00000*ALGEBRAIC[28]*STATES[11];
RATES[9] =  - ( 3.00000*ALGEBRAIC[13]+ 3.00000*ALGEBRAIC[24]+ALGEBRAIC[28])*STATES[9]+ ALGEBRAIC[1]*STATES[8]+ 4.00000*ALGEBRAIC[24]*STATES[5]+ 2.00000*ALGEBRAIC[28]*STATES[12];
RATES[10] =  - ( 2.00000*ALGEBRAIC[1]+ 2.00000*ALGEBRAIC[28])*STATES[10]+ ALGEBRAIC[13]*STATES[11]+ ALGEBRAIC[24]*STATES[7];
RATES[11] =  - (ALGEBRAIC[1]+ALGEBRAIC[13]+ALGEBRAIC[24]+ 2.00000*ALGEBRAIC[28])*STATES[11]+ 2.00000*ALGEBRAIC[1]*STATES[10]+ 2.00000*ALGEBRAIC[13]*STATES[12]+ 2.00000*ALGEBRAIC[24]*STATES[8]+ 3.00000*ALGEBRAIC[28]*STATES[13];
RATES[12] =  - ( 2.00000*ALGEBRAIC[13]+ 2.00000*ALGEBRAIC[24]+ 2.00000*ALGEBRAIC[28])*STATES[12]+ ALGEBRAIC[1]*STATES[11]+ 3.00000*ALGEBRAIC[24]*STATES[9]+ 3.00000*ALGEBRAIC[28]*STATES[14];
RATES[13] =  - (ALGEBRAIC[1]+ 3.00000*ALGEBRAIC[28])*STATES[13]+ ALGEBRAIC[13]*STATES[14]+ ALGEBRAIC[24]*STATES[11];
RATES[14] =  - (ALGEBRAIC[13]+ALGEBRAIC[24]+ 3.00000*ALGEBRAIC[28])*STATES[14]+ ALGEBRAIC[1]*STATES[13]+ 2.00000*ALGEBRAIC[24]*STATES[12]+ 4.00000*ALGEBRAIC[28]*STATES[15];
ALGEBRAIC[8] = 1.00000/( 1.20890*(1.00000+exp((STATES[0] - 18.4099)/- 29.3814)));
ALGEBRAIC[19] = 3.50000/(1.00000+exp((STATES[0]+100.000)/29.3814));
ALGEBRAIC[25] = 1.00000/(ALGEBRAIC[8]+ALGEBRAIC[19]);
ALGEBRAIC[29] = 1.00000/(1.00000+exp((STATES[0]+9.43700)/- 7.13300));
RATES[36] = (ALGEBRAIC[29] - STATES[36])/ALGEBRAIC[25];
ALGEBRAIC[31] =  0.0773200*exp(( - 0.0647260*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
RATES[15] =  - ( 4.00000*ALGEBRAIC[28]+CONSTANTS[80])*STATES[15]+ ALGEBRAIC[24]*STATES[14]+ ALGEBRAIC[31]*STATES[16];
ALGEBRAIC[33] =  0.794050*exp(( - 0.0801740*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[35] =  0.586380*exp(( 0.282060*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
RATES[16] =  - (ALGEBRAIC[31]+ALGEBRAIC[35])*STATES[16]+ ALGEBRAIC[33]*STATES[17]+ CONSTANTS[80]*STATES[15];
RATES[17] =  - ALGEBRAIC[33]*STATES[17]+ ALGEBRAIC[35]*STATES[16];
ALGEBRAIC[56] =  (( - CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[6]/STATES[34]);
ALGEBRAIC[57] =  CONSTANTS[39]*(STATES[0] - ALGEBRAIC[56]);
ALGEBRAIC[50] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[5]/STATES[29]);
ALGEBRAIC[62] = ( CONSTANTS[43]*pow(ALGEBRAIC[50] - ALGEBRAIC[56], 4.00000))/(pow(ALGEBRAIC[50] - ALGEBRAIC[56], 4.00000)+pow(87.8251, 4.00000));
ALGEBRAIC[53] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[3]/STATES[33]);
ALGEBRAIC[63] = ( CONSTANTS[44]*(ALGEBRAIC[53] - ALGEBRAIC[56]))/((ALGEBRAIC[53]+87.8251) - ALGEBRAIC[56]);
ALGEBRAIC[72] = (STATES[46] - STATES[34])/CONSTANTS[66];
RATES[34] = - (( ALGEBRAIC[57]*CONSTANTS[87])/( - 1.00000*CONSTANTS[88]) - (ALGEBRAIC[62]+ALGEBRAIC[63]+( ALGEBRAIC[72]*CONSTANTS[91])/CONSTANTS[88]));
ALGEBRAIC[68] = ( (( CONSTANTS[46]*pow(CONSTANTS[47], 2.00000)*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*(STATES[34] -  CONSTANTS[6]*exp(( STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]))))/(1.00000 - exp(( STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[69] = 1.00000 - 1.00000/(1.00000+pow(STATES[39]/CONSTANTS[48], 2.00000));
ALGEBRAIC[70] =  ALGEBRAIC[68]*STATES[40]*ALGEBRAIC[69];
RATES[46] = - (( ALGEBRAIC[70]*CONSTANTS[87])/( - 1.00000*CONSTANTS[91])+ALGEBRAIC[72]);
ALGEBRAIC[0] =  floor(VOI/CONSTANTS[10])*CONSTANTS[10];
ALGEBRAIC[12] = (VOI - ALGEBRAIC[0]>=CONSTANTS[9]&&VOI - ALGEBRAIC[0]<=CONSTANTS[9]+CONSTANTS[11] ? CONSTANTS[12] : 0.00000);
ALGEBRAIC[58] = 1.02000/(1.00000+exp( 0.238500*((STATES[0] - ALGEBRAIC[53]) - 59.2150)));
ALGEBRAIC[59] = ( 0.491240*exp( 0.0803200*((STATES[0] - ALGEBRAIC[53])+5.47600))+exp( 0.0617500*((STATES[0] - ALGEBRAIC[53]) - 594.310)))/(1.00000+exp( - 0.514300*((STATES[0] - ALGEBRAIC[53])+4.75300)));
ALGEBRAIC[60] = ALGEBRAIC[58]/(ALGEBRAIC[58]+ALGEBRAIC[59]);
ALGEBRAIC[61] =  CONSTANTS[82]*ALGEBRAIC[60]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[47] = 1.00000/(1.00000+exp((7.48800 - STATES[0])/5.98000));
ALGEBRAIC[54] =  CONSTANTS[32]*ALGEBRAIC[47]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[74] = ((CONSTANTS[67]+CONSTANTS[68]) - STATES[43])+CONSTANTS[70]+CONSTANTS[69];
ALGEBRAIC[75] = ( CONSTANTS[70]*CONSTANTS[69] -  STATES[43]*(CONSTANTS[70]+CONSTANTS[69]))+ CONSTANTS[68]*CONSTANTS[69]+ CONSTANTS[67]*CONSTANTS[70];
ALGEBRAIC[76] =  - CONSTANTS[70]*CONSTANTS[69]*STATES[43];
ALGEBRAIC[77] =  (( 2.00000* pow((pow(ALGEBRAIC[74], 2.00000) -  3.00000*ALGEBRAIC[75]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[74]*ALGEBRAIC[75] -  2.00000*pow(ALGEBRAIC[74], 3.00000)) -  27.0000*ALGEBRAIC[76])/( 2.00000*pow(pow(ALGEBRAIC[74], 2.00000) -  3.00000*ALGEBRAIC[75], 1.50000)))/3.00000) - ALGEBRAIC[74]/3.00000;
ALGEBRAIC[78] =  0.0826000*(1.00000+0.600000/(1.00000+pow(3.80000e-05/ALGEBRAIC[77], 1.40000)));
ALGEBRAIC[23] = STATES[16]+STATES[17];
ALGEBRAIC[55] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log((CONSTANTS[3]+ CONSTANTS[42]*CONSTANTS[5])/(STATES[33]+ CONSTANTS[42]*STATES[29]));
ALGEBRAIC[79] =  ALGEBRAIC[78]*ALGEBRAIC[23]*(STATES[0] - ALGEBRAIC[55]);
ALGEBRAIC[64] = 1.00000/(1.00000+exp((STATES[0]+10.0000)/15.4000));
ALGEBRAIC[65] =  CONSTANTS[83]*STATES[35]*ALGEBRAIC[64]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[41] = ( CONSTANTS[22]*(STATES[0] - CONSTANTS[23])*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]);
ALGEBRAIC[42] = 1.00000/(1.00000+exp(- ALGEBRAIC[41]));
ALGEBRAIC[43] = pow(STATES[29]/(STATES[29]+CONSTANTS[19]), 3.00000);
ALGEBRAIC[44] =  CONSTANTS[21]*ALGEBRAIC[42]*CONSTANTS[93]*ALGEBRAIC[43];
ALGEBRAIC[66] = exp(STATES[0]/550.000);
ALGEBRAIC[67] =  CONSTANTS[45]*pow(STATES[36], 3.00000)*STATES[37]*STATES[38]*ALGEBRAIC[66]*(STATES[0] - ALGEBRAIC[53]);
RATES[33] = - (( ((ALGEBRAIC[79]+ALGEBRAIC[65]+ALGEBRAIC[61]+ALGEBRAIC[67]+ALGEBRAIC[54]+ALGEBRAIC[12]) -  2.00000*ALGEBRAIC[44])*CONSTANTS[87])/CONSTANTS[88] - ALGEBRAIC[63]);
ALGEBRAIC[27] = 0.590000+( 0.800000*exp( 0.0520000*(STATES[0]+13.0000)))/(1.00000+exp( 0.132000*(STATES[0]+13.0000)));
ALGEBRAIC[30] = 1.00000/(1.00000+exp(- (STATES[0] - 13.5600)/9.45000));
ALGEBRAIC[32] = ALGEBRAIC[30]/ALGEBRAIC[27];
ALGEBRAIC[34] = (1.00000 - ALGEBRAIC[30])/ALGEBRAIC[27];
ALGEBRAIC[88] = ((CONSTANTS[71]+CONSTANTS[72]) - STATES[45])+CONSTANTS[73]+CONSTANTS[74];
ALGEBRAIC[89] = ( CONSTANTS[74]*CONSTANTS[73] -  STATES[45]*(CONSTANTS[73]+CONSTANTS[74]))+ CONSTANTS[72]*CONSTANTS[74]+ CONSTANTS[71]*CONSTANTS[73];
ALGEBRAIC[90] =  - CONSTANTS[73]*CONSTANTS[74]*STATES[45];
ALGEBRAIC[94] =  (( 2.00000* pow((pow(ALGEBRAIC[88], 2.00000) -  3.00000*ALGEBRAIC[89]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[88]*ALGEBRAIC[89] -  2.00000*pow(ALGEBRAIC[88], 3.00000)) -  27.0000*ALGEBRAIC[90])/( 2.00000*pow(pow(ALGEBRAIC[88], 2.00000) -  3.00000*ALGEBRAIC[89], 1.50000)))/3.00000) - ALGEBRAIC[88]/3.00000;
ALGEBRAIC[105] = 3.00000/(1.00000+pow(0.00300000/ALGEBRAIC[94], 4.00000));
ALGEBRAIC[37] = 1.00000/(1.00000/( 24.8280*(1.00000+exp((STATES[0]+49.1000)/10.3490)))+1.00000/( 30.5530*(1.00000+exp(- (STATES[0]+0.213000)/10.8070))));
ALGEBRAIC[36] = (1.00000/(1.00000+exp((STATES[0]+17.5000)/3.00000))+0.250000)/1.25000;
ALGEBRAIC[38] = ALGEBRAIC[36]/ALGEBRAIC[37];
ALGEBRAIC[39] = (1.00000 - ALGEBRAIC[36])/ALGEBRAIC[37];
RATES[18] =  - (ALGEBRAIC[32]+ALGEBRAIC[105]+ALGEBRAIC[39])*STATES[18]+ ALGEBRAIC[34]*STATES[19]+ CONSTANTS[14]*STATES[20]+ ALGEBRAIC[38]*STATES[22];
RATES[19] =  - (ALGEBRAIC[34]+ALGEBRAIC[105]+ALGEBRAIC[39])*STATES[19]+ ALGEBRAIC[32]*STATES[18]+ CONSTANTS[14]*STATES[21]+ ALGEBRAIC[38]*STATES[23];
ALGEBRAIC[95] = 25.0000 - 17.5000/(1.00000+pow(0.00300000/ALGEBRAIC[94], 4.00000));
ALGEBRAIC[97] = 1.00000/( ALGEBRAIC[95]*(1.00000+exp(- (STATES[0]+0.213000)/10.8070)));
ALGEBRAIC[99] = 1.00000/(1.00000/( 24.8280*(1.00000+exp((STATES[0]+49.1000)/10.3490)))+ALGEBRAIC[97]);
ALGEBRAIC[40] = (1.00000/(1.00000+exp((STATES[0]+17.5000)/3.00000))+0.000100000)/1.00010;
ALGEBRAIC[101] = ALGEBRAIC[40]/ALGEBRAIC[99];
ALGEBRAIC[103] = (1.00000 - ALGEBRAIC[40])/ALGEBRAIC[99];
RATES[20] =  - (ALGEBRAIC[32]+CONSTANTS[14]+ALGEBRAIC[103])*STATES[20]+ ALGEBRAIC[105]*STATES[18]+ ALGEBRAIC[34]*STATES[21]+ ALGEBRAIC[101]*STATES[24];
RATES[21] =  - (ALGEBRAIC[34]+CONSTANTS[14]+ALGEBRAIC[103])*STATES[21]+ ALGEBRAIC[105]*STATES[19]+ ALGEBRAIC[32]*STATES[20]+ ALGEBRAIC[101]*STATES[25];
ALGEBRAIC[107] = ( CONSTANTS[15]*ALGEBRAIC[38]*ALGEBRAIC[103]*ALGEBRAIC[105])/( ALGEBRAIC[39]*ALGEBRAIC[101]*CONSTANTS[14]);
RATES[22] =  - (ALGEBRAIC[32]+ALGEBRAIC[107]+ALGEBRAIC[38])*STATES[22]+ ALGEBRAIC[39]*STATES[18]+ CONSTANTS[15]*STATES[24]+ ALGEBRAIC[34]*STATES[23];
RATES[23] =  - (ALGEBRAIC[34]+ALGEBRAIC[107]+ALGEBRAIC[38])*STATES[23]+ ALGEBRAIC[39]*STATES[19]+ CONSTANTS[15]*STATES[25]+ ALGEBRAIC[32]*STATES[22];
RATES[24] =  - (ALGEBRAIC[32]+CONSTANTS[15]+ALGEBRAIC[101])*STATES[24]+ ALGEBRAIC[107]*STATES[22]+ ALGEBRAIC[103]*STATES[20]+ ALGEBRAIC[34]*STATES[25];
RATES[25] =  - (ALGEBRAIC[34]+CONSTANTS[15]+ALGEBRAIC[101])*STATES[25]+ ALGEBRAIC[107]*STATES[23]+ ALGEBRAIC[103]*STATES[21]+ ALGEBRAIC[32]*STATES[24];
ALGEBRAIC[51] =  CONSTANTS[18]*pow(STATES[26], 3.00000)*STATES[27]*STATES[28]*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[81] =  0.800000*CONSTANTS[25]*( pow(STATES[29], 3.00000)*CONSTANTS[4]*exp(( CONSTANTS[27]*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[77]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[82] = 1.00000+pow(CONSTANTS[24]/ALGEBRAIC[77], 2.00000);
ALGEBRAIC[45] = 1.00000+ CONSTANTS[26]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[83] =  CONSTANTS[31]*pow(STATES[29], 3.00000)+ pow(CONSTANTS[29], 3.00000)*ALGEBRAIC[77]+ pow(CONSTANTS[28], 3.00000)*CONSTANTS[4]*(1.00000+ALGEBRAIC[77]/CONSTANTS[30]);
ALGEBRAIC[84] =  CONSTANTS[30]*pow(CONSTANTS[5], 3.00000)*(1.00000+pow(STATES[29]/CONSTANTS[28], 3.00000))+ pow(STATES[29], 3.00000)*CONSTANTS[4]+ pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[77];
ALGEBRAIC[85] = ALGEBRAIC[81]/( ALGEBRAIC[82]*ALGEBRAIC[45]*(ALGEBRAIC[83]+ALGEBRAIC[84]));
ALGEBRAIC[52] =  CONSTANTS[40]*pow(STATES[31], 3.00000)*STATES[32]*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[48] = ( CONSTANTS[0]*STATES[0])/( CONSTANTS[2]*CONSTANTS[1]);
ALGEBRAIC[49] = ( CONSTANTS[0]*CONSTANTS[38]*ALGEBRAIC[48]*( STATES[29]*exp(ALGEBRAIC[48]) - CONSTANTS[5]))/(exp(ALGEBRAIC[48]) - 1.00000);
ALGEBRAIC[112] = (STATES[30] - STATES[29])/CONSTANTS[66];
RATES[29] = - (( ( 3.00000*ALGEBRAIC[85]+ 3.00000*ALGEBRAIC[44]+ALGEBRAIC[51]+ALGEBRAIC[52]+ALGEBRAIC[49])*CONSTANTS[87])/CONSTANTS[88] - (ALGEBRAIC[62]+( ALGEBRAIC[112]*CONSTANTS[91])/CONSTANTS[88]));
ALGEBRAIC[91] = ((CONSTANTS[71]+CONSTANTS[72]) - STATES[44])+CONSTANTS[73]+CONSTANTS[74];
ALGEBRAIC[92] = ( CONSTANTS[74]*CONSTANTS[73] -  STATES[44]*(CONSTANTS[73]+CONSTANTS[74]))+ CONSTANTS[72]*CONSTANTS[74]+ CONSTANTS[71]*CONSTANTS[73];
ALGEBRAIC[93] =  - CONSTANTS[73]*CONSTANTS[74]*STATES[44];
ALGEBRAIC[100] =  (( 2.00000* pow((pow(ALGEBRAIC[91], 2.00000) -  3.00000*ALGEBRAIC[92]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[91]*ALGEBRAIC[92] -  2.00000*pow(ALGEBRAIC[91], 3.00000)) -  27.0000*ALGEBRAIC[93])/( 2.00000*pow(pow(ALGEBRAIC[91], 2.00000) -  3.00000*ALGEBRAIC[92], 1.50000)))/3.00000) - ALGEBRAIC[91]/3.00000;
ALGEBRAIC[102] =  0.200000*CONSTANTS[25]*( pow(STATES[30], 3.00000)*CONSTANTS[4]*exp(( CONSTANTS[27]*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[100]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[104] = 1.00000+pow(CONSTANTS[24]/ALGEBRAIC[100], 2.00000);
ALGEBRAIC[46] = 1.00000+ CONSTANTS[26]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[106] =  CONSTANTS[31]*pow(STATES[30], 3.00000)+ pow(CONSTANTS[29], 3.00000)*ALGEBRAIC[100]+ pow(CONSTANTS[28], 3.00000)*CONSTANTS[4]*(1.00000+ALGEBRAIC[100]/CONSTANTS[30]);
ALGEBRAIC[108] =  CONSTANTS[30]*pow(CONSTANTS[5], 3.00000)*(1.00000+pow(STATES[30]/CONSTANTS[28], 3.00000))+ pow(STATES[30], 3.00000)*CONSTANTS[4]+ pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[100];
ALGEBRAIC[109] = ALGEBRAIC[102]/( ALGEBRAIC[104]*ALGEBRAIC[46]*(ALGEBRAIC[106]+ALGEBRAIC[108]));
RATES[30] = - (( 3.00000*ALGEBRAIC[109]*CONSTANTS[87])/CONSTANTS[91]+ALGEBRAIC[112]);
ALGEBRAIC[96] = ( (( CONSTANTS[13]*4.00000*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*( CONSTANTS[16]*ALGEBRAIC[94]*exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  CONSTANTS[17]*CONSTANTS[4]))/(exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) - 1.00000);
ALGEBRAIC[98] =  ALGEBRAIC[96]*(STATES[19]+STATES[21]);
ALGEBRAIC[86] = ( CONSTANTS[33]*ALGEBRAIC[77])/(CONSTANTS[34]+ALGEBRAIC[77]);
ALGEBRAIC[87] = ( (( CONSTANTS[35]*4.00000*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*( CONSTANTS[36]*ALGEBRAIC[77]*exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  CONSTANTS[37]*CONSTANTS[4]))/(exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) - 1.00000);
ALGEBRAIC[110] = (ALGEBRAIC[98]+ALGEBRAIC[87]+ALGEBRAIC[86]) -  2.00000*(ALGEBRAIC[85]+ALGEBRAIC[109]);
ALGEBRAIC[113] = ALGEBRAIC[51]+ 3.00000*(ALGEBRAIC[85]+ALGEBRAIC[109])+ 3.00000*ALGEBRAIC[44]+ALGEBRAIC[52]+ALGEBRAIC[49];
ALGEBRAIC[80] = ALGEBRAIC[65]+ALGEBRAIC[79]+ALGEBRAIC[61]+ALGEBRAIC[54]+ - 2.00000*ALGEBRAIC[44]+ALGEBRAIC[67]+ALGEBRAIC[12];
ALGEBRAIC[71] = ALGEBRAIC[57]+ALGEBRAIC[70];
RATES[0] = - (ALGEBRAIC[113]+ALGEBRAIC[80]+ALGEBRAIC[110]+ALGEBRAIC[71]);
ALGEBRAIC[111] = (ALGEBRAIC[100] - ALGEBRAIC[77])/CONSTANTS[66];
ALGEBRAIC[115] = (ALGEBRAIC[100] - ALGEBRAIC[94])/CONSTANTS[65];
RATES[44] = - ((ALGEBRAIC[111]+ALGEBRAIC[115]) - (( 2.00000*ALGEBRAIC[109]*CONSTANTS[87])/( 2.00000*CONSTANTS[91])+( STATES[39]*CONSTANTS[90])/CONSTANTS[91]));
RATES[45] = - (( ALGEBRAIC[98]*CONSTANTS[87])/( 2.00000*CONSTANTS[92]) - ( ALGEBRAIC[115]*CONSTANTS[91])/CONSTANTS[92]);
ALGEBRAIC[114] = (CONSTANTS[75]+CONSTANTS[76]) - STATES[42];
ALGEBRAIC[116] =  STATES[42]*CONSTANTS[76];
ALGEBRAIC[117] = - ALGEBRAIC[114]/2.00000+ pow((pow(ALGEBRAIC[114], 2.00000)+ 4.00000*ALGEBRAIC[116]), 1.0 / 2)/2.00000;
ALGEBRAIC[118] = (STATES[41] - ALGEBRAIC[117])/CONSTANTS[64];
RATES[42] = ALGEBRAIC[118] - STATES[39];
ALGEBRAIC[119] = ( CONSTANTS[79]*(1.00000 - STATES[47])*1.00000)/(1.00000+CONSTANTS[62]/ALGEBRAIC[100]);
RATES[47] =  CONSTANTS[77]*ALGEBRAIC[119]*(ALGEBRAIC[119] - STATES[47]) -  CONSTANTS[78]*STATES[47];
ALGEBRAIC[123] = ( CONSTANTS[59]*ALGEBRAIC[119]*1.00000)/(CONSTANTS[62]+ ALGEBRAIC[119]*1.00000);
ALGEBRAIC[121] = ( CONSTANTS[61]*ALGEBRAIC[119]*1.00000)/(CONSTANTS[62]+ ALGEBRAIC[119]*1.00000);
ALGEBRAIC[125] = ( (ALGEBRAIC[121]+1.00000)*CONSTANTS[60]*ALGEBRAIC[77])/((ALGEBRAIC[77]+CONSTANTS[58]) - ALGEBRAIC[123]);
ALGEBRAIC[73] =  (0.00437500/CONSTANTS[63])*STATES[41];
RATES[43] = (( - ((ALGEBRAIC[87]+ALGEBRAIC[86]) -  2.00000*ALGEBRAIC[85])*CONSTANTS[87])/( 2.00000*CONSTANTS[88])+( (ALGEBRAIC[125] - ALGEBRAIC[73])*CONSTANTS[89])/CONSTANTS[88]) - ( ALGEBRAIC[111]*CONSTANTS[91])/CONSTANTS[88];
RATES[41] = ALGEBRAIC[125] - (ALGEBRAIC[73]+( ALGEBRAIC[118]*CONSTANTS[90])/CONSTANTS[89]);
ALGEBRAIC[120] = CONSTANTS[55]/(1.00000+pow(CONSTANTS[56]/( 1.00000*ALGEBRAIC[119]), CONSTANTS[54]));
ALGEBRAIC[122] =  CONSTANTS[51]*(1.00000+ALGEBRAIC[120]);
ALGEBRAIC[124] =  ALGEBRAIC[122]*CONSTANTS[52];
ALGEBRAIC[127] = ( ALGEBRAIC[98]*ALGEBRAIC[124])/(1.00000+pow(CONSTANTS[50]/ALGEBRAIC[117], CONSTANTS[53]));
ALGEBRAIC[126] = ALGEBRAIC[122]/(1.00000+CONSTANTS[57]/ALGEBRAIC[117]);
RATES[39] = - (ALGEBRAIC[127]+STATES[39])/ALGEBRAIC[126];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[6] = 1.00000/(1.00000+exp((STATES[0]+91.0000)/6.10000));
ALGEBRAIC[1] =  0.0148640*exp(( 0.0298770*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[13] =  0.0839860*exp(( - 0.0554610*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[2] = ( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[14] =  0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[3] = (STATES[0]>=- 40.0000 ? 0.00000 :  0.135000*exp((80.0000+STATES[0])/- 6.80000));
ALGEBRAIC[15] = (STATES[0]>=- 40.0000 ? 1.00000/( 0.130000*(1.00000+exp((STATES[0]+10.6600)/- 11.1000))) :  3.56000*exp( 0.0790000*STATES[0])+ 310000.*exp( 0.350000*STATES[0]));
ALGEBRAIC[4] = (STATES[0]>=- 40.0000 ? 0.00000 : ( ( - 127140.*exp( 0.244400*STATES[0]) -  6.94800e-05*exp( - 0.0439100*STATES[0]))*(STATES[0]+37.7800))/(1.00000+exp( 0.311000*(STATES[0]+79.2300))));
ALGEBRAIC[16] = (STATES[0]>=- 40.0000 ? ( 0.300000*exp( - 2.53500e-07*STATES[0]))/(1.00000+exp( - 0.100000*(STATES[0]+32.0000))) : ( 0.121200*exp( - 0.0105200*STATES[0]))/(1.00000+exp( - 0.137800*(STATES[0]+40.1400))));
ALGEBRAIC[5] = ( 0.320000*(STATES[0]+47.1300))/(1.00000 - exp( - 0.100000*(STATES[0]+47.1300)));
ALGEBRAIC[17] =  0.0800000*exp(- STATES[0]/11.0000);
ALGEBRAIC[7] = 1.00000/(1.00000+exp(- (STATES[0]+10.0850)/4.25000));
ALGEBRAIC[18] = 1.00000/(( 0.000600000*(STATES[0] - 1.73840))/(1.00000 - exp( - 0.136000*(STATES[0] - 1.73840)))+( 0.000300000*(STATES[0]+38.3608))/(exp( 0.152200*(STATES[0]+38.3608)) - 1.00000));
ALGEBRAIC[20] = 0.0250000/(1.00000+exp((STATES[0]+58.0000)/5.00000));
ALGEBRAIC[9] = 1.00000/( 9.79530*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
ALGEBRAIC[21] = 1.00000/( 250.000*(1.00000+exp((STATES[0]+60.0000)/5.00000)));
ALGEBRAIC[10] = 1.00000/( 9.79530*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
ALGEBRAIC[22] = 0.0250000/(1.00000+exp((STATES[0]+58.0000)/5.00000));
ALGEBRAIC[11] = 1.00000/( 5.00000*(1.00000+exp((STATES[0]+19.0000)/- 9.00000)));
ALGEBRAIC[26] = ALGEBRAIC[22]/(ALGEBRAIC[22]+ALGEBRAIC[11]);
ALGEBRAIC[28] =  0.00311730*exp(( - 0.426250*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[24] =  0.0146010*exp(( 0.244650*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[8] = 1.00000/( 1.20890*(1.00000+exp((STATES[0] - 18.4099)/- 29.3814)));
ALGEBRAIC[19] = 3.50000/(1.00000+exp((STATES[0]+100.000)/29.3814));
ALGEBRAIC[25] = 1.00000/(ALGEBRAIC[8]+ALGEBRAIC[19]);
ALGEBRAIC[29] = 1.00000/(1.00000+exp((STATES[0]+9.43700)/- 7.13300));
ALGEBRAIC[31] =  0.0773200*exp(( - 0.0647260*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[33] =  0.794050*exp(( - 0.0801740*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[35] =  0.586380*exp(( 0.282060*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[56] =  (( - CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[6]/STATES[34]);
ALGEBRAIC[57] =  CONSTANTS[39]*(STATES[0] - ALGEBRAIC[56]);
ALGEBRAIC[50] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[5]/STATES[29]);
ALGEBRAIC[62] = ( CONSTANTS[43]*pow(ALGEBRAIC[50] - ALGEBRAIC[56], 4.00000))/(pow(ALGEBRAIC[50] - ALGEBRAIC[56], 4.00000)+pow(87.8251, 4.00000));
ALGEBRAIC[53] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log(CONSTANTS[3]/STATES[33]);
ALGEBRAIC[63] = ( CONSTANTS[44]*(ALGEBRAIC[53] - ALGEBRAIC[56]))/((ALGEBRAIC[53]+87.8251) - ALGEBRAIC[56]);
ALGEBRAIC[72] = (STATES[46] - STATES[34])/CONSTANTS[66];
ALGEBRAIC[68] = ( (( CONSTANTS[46]*pow(CONSTANTS[47], 2.00000)*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*(STATES[34] -  CONSTANTS[6]*exp(( STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]))))/(1.00000 - exp(( STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[69] = 1.00000 - 1.00000/(1.00000+pow(STATES[39]/CONSTANTS[48], 2.00000));
ALGEBRAIC[70] =  ALGEBRAIC[68]*STATES[40]*ALGEBRAIC[69];
ALGEBRAIC[0] =  floor(VOI/CONSTANTS[10])*CONSTANTS[10];
ALGEBRAIC[12] = (VOI - ALGEBRAIC[0]>=CONSTANTS[9]&&VOI - ALGEBRAIC[0]<=CONSTANTS[9]+CONSTANTS[11] ? CONSTANTS[12] : 0.00000);
ALGEBRAIC[58] = 1.02000/(1.00000+exp( 0.238500*((STATES[0] - ALGEBRAIC[53]) - 59.2150)));
ALGEBRAIC[59] = ( 0.491240*exp( 0.0803200*((STATES[0] - ALGEBRAIC[53])+5.47600))+exp( 0.0617500*((STATES[0] - ALGEBRAIC[53]) - 594.310)))/(1.00000+exp( - 0.514300*((STATES[0] - ALGEBRAIC[53])+4.75300)));
ALGEBRAIC[60] = ALGEBRAIC[58]/(ALGEBRAIC[58]+ALGEBRAIC[59]);
ALGEBRAIC[61] =  CONSTANTS[82]*ALGEBRAIC[60]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[47] = 1.00000/(1.00000+exp((7.48800 - STATES[0])/5.98000));
ALGEBRAIC[54] =  CONSTANTS[32]*ALGEBRAIC[47]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[74] = ((CONSTANTS[67]+CONSTANTS[68]) - STATES[43])+CONSTANTS[70]+CONSTANTS[69];
ALGEBRAIC[75] = ( CONSTANTS[70]*CONSTANTS[69] -  STATES[43]*(CONSTANTS[70]+CONSTANTS[69]))+ CONSTANTS[68]*CONSTANTS[69]+ CONSTANTS[67]*CONSTANTS[70];
ALGEBRAIC[76] =  - CONSTANTS[70]*CONSTANTS[69]*STATES[43];
ALGEBRAIC[77] =  (( 2.00000* pow((pow(ALGEBRAIC[74], 2.00000) -  3.00000*ALGEBRAIC[75]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[74]*ALGEBRAIC[75] -  2.00000*pow(ALGEBRAIC[74], 3.00000)) -  27.0000*ALGEBRAIC[76])/( 2.00000*pow(pow(ALGEBRAIC[74], 2.00000) -  3.00000*ALGEBRAIC[75], 1.50000)))/3.00000) - ALGEBRAIC[74]/3.00000;
ALGEBRAIC[78] =  0.0826000*(1.00000+0.600000/(1.00000+pow(3.80000e-05/ALGEBRAIC[77], 1.40000)));
ALGEBRAIC[23] = STATES[16]+STATES[17];
ALGEBRAIC[55] =  (( CONSTANTS[2]*CONSTANTS[1])/CONSTANTS[0])*log((CONSTANTS[3]+ CONSTANTS[42]*CONSTANTS[5])/(STATES[33]+ CONSTANTS[42]*STATES[29]));
ALGEBRAIC[79] =  ALGEBRAIC[78]*ALGEBRAIC[23]*(STATES[0] - ALGEBRAIC[55]);
ALGEBRAIC[64] = 1.00000/(1.00000+exp((STATES[0]+10.0000)/15.4000));
ALGEBRAIC[65] =  CONSTANTS[83]*STATES[35]*ALGEBRAIC[64]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[41] = ( CONSTANTS[22]*(STATES[0] - CONSTANTS[23])*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]);
ALGEBRAIC[42] = 1.00000/(1.00000+exp(- ALGEBRAIC[41]));
ALGEBRAIC[43] = pow(STATES[29]/(STATES[29]+CONSTANTS[19]), 3.00000);
ALGEBRAIC[44] =  CONSTANTS[21]*ALGEBRAIC[42]*CONSTANTS[93]*ALGEBRAIC[43];
ALGEBRAIC[66] = exp(STATES[0]/550.000);
ALGEBRAIC[67] =  CONSTANTS[45]*pow(STATES[36], 3.00000)*STATES[37]*STATES[38]*ALGEBRAIC[66]*(STATES[0] - ALGEBRAIC[53]);
ALGEBRAIC[27] = 0.590000+( 0.800000*exp( 0.0520000*(STATES[0]+13.0000)))/(1.00000+exp( 0.132000*(STATES[0]+13.0000)));
ALGEBRAIC[30] = 1.00000/(1.00000+exp(- (STATES[0] - 13.5600)/9.45000));
ALGEBRAIC[32] = ALGEBRAIC[30]/ALGEBRAIC[27];
ALGEBRAIC[34] = (1.00000 - ALGEBRAIC[30])/ALGEBRAIC[27];
ALGEBRAIC[88] = ((CONSTANTS[71]+CONSTANTS[72]) - STATES[45])+CONSTANTS[73]+CONSTANTS[74];
ALGEBRAIC[89] = ( CONSTANTS[74]*CONSTANTS[73] -  STATES[45]*(CONSTANTS[73]+CONSTANTS[74]))+ CONSTANTS[72]*CONSTANTS[74]+ CONSTANTS[71]*CONSTANTS[73];
ALGEBRAIC[90] =  - CONSTANTS[73]*CONSTANTS[74]*STATES[45];
ALGEBRAIC[94] =  (( 2.00000* pow((pow(ALGEBRAIC[88], 2.00000) -  3.00000*ALGEBRAIC[89]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[88]*ALGEBRAIC[89] -  2.00000*pow(ALGEBRAIC[88], 3.00000)) -  27.0000*ALGEBRAIC[90])/( 2.00000*pow(pow(ALGEBRAIC[88], 2.00000) -  3.00000*ALGEBRAIC[89], 1.50000)))/3.00000) - ALGEBRAIC[88]/3.00000;
ALGEBRAIC[105] = 3.00000/(1.00000+pow(0.00300000/ALGEBRAIC[94], 4.00000));
ALGEBRAIC[37] = 1.00000/(1.00000/( 24.8280*(1.00000+exp((STATES[0]+49.1000)/10.3490)))+1.00000/( 30.5530*(1.00000+exp(- (STATES[0]+0.213000)/10.8070))));
ALGEBRAIC[36] = (1.00000/(1.00000+exp((STATES[0]+17.5000)/3.00000))+0.250000)/1.25000;
ALGEBRAIC[38] = ALGEBRAIC[36]/ALGEBRAIC[37];
ALGEBRAIC[39] = (1.00000 - ALGEBRAIC[36])/ALGEBRAIC[37];
ALGEBRAIC[95] = 25.0000 - 17.5000/(1.00000+pow(0.00300000/ALGEBRAIC[94], 4.00000));
ALGEBRAIC[97] = 1.00000/( ALGEBRAIC[95]*(1.00000+exp(- (STATES[0]+0.213000)/10.8070)));
ALGEBRAIC[99] = 1.00000/(1.00000/( 24.8280*(1.00000+exp((STATES[0]+49.1000)/10.3490)))+ALGEBRAIC[97]);
ALGEBRAIC[40] = (1.00000/(1.00000+exp((STATES[0]+17.5000)/3.00000))+0.000100000)/1.00010;
ALGEBRAIC[101] = ALGEBRAIC[40]/ALGEBRAIC[99];
ALGEBRAIC[103] = (1.00000 - ALGEBRAIC[40])/ALGEBRAIC[99];
ALGEBRAIC[107] = ( CONSTANTS[15]*ALGEBRAIC[38]*ALGEBRAIC[103]*ALGEBRAIC[105])/( ALGEBRAIC[39]*ALGEBRAIC[101]*CONSTANTS[14]);
ALGEBRAIC[51] =  CONSTANTS[18]*pow(STATES[26], 3.00000)*STATES[27]*STATES[28]*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[81] =  0.800000*CONSTANTS[25]*( pow(STATES[29], 3.00000)*CONSTANTS[4]*exp(( CONSTANTS[27]*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[77]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[82] = 1.00000+pow(CONSTANTS[24]/ALGEBRAIC[77], 2.00000);
ALGEBRAIC[45] = 1.00000+ CONSTANTS[26]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[83] =  CONSTANTS[31]*pow(STATES[29], 3.00000)+ pow(CONSTANTS[29], 3.00000)*ALGEBRAIC[77]+ pow(CONSTANTS[28], 3.00000)*CONSTANTS[4]*(1.00000+ALGEBRAIC[77]/CONSTANTS[30]);
ALGEBRAIC[84] =  CONSTANTS[30]*pow(CONSTANTS[5], 3.00000)*(1.00000+pow(STATES[29]/CONSTANTS[28], 3.00000))+ pow(STATES[29], 3.00000)*CONSTANTS[4]+ pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[77];
ALGEBRAIC[85] = ALGEBRAIC[81]/( ALGEBRAIC[82]*ALGEBRAIC[45]*(ALGEBRAIC[83]+ALGEBRAIC[84]));
ALGEBRAIC[52] =  CONSTANTS[40]*pow(STATES[31], 3.00000)*STATES[32]*(STATES[0] - ALGEBRAIC[50]);
ALGEBRAIC[48] = ( CONSTANTS[0]*STATES[0])/( CONSTANTS[2]*CONSTANTS[1]);
ALGEBRAIC[49] = ( CONSTANTS[0]*CONSTANTS[38]*ALGEBRAIC[48]*( STATES[29]*exp(ALGEBRAIC[48]) - CONSTANTS[5]))/(exp(ALGEBRAIC[48]) - 1.00000);
ALGEBRAIC[112] = (STATES[30] - STATES[29])/CONSTANTS[66];
ALGEBRAIC[91] = ((CONSTANTS[71]+CONSTANTS[72]) - STATES[44])+CONSTANTS[73]+CONSTANTS[74];
ALGEBRAIC[92] = ( CONSTANTS[74]*CONSTANTS[73] -  STATES[44]*(CONSTANTS[73]+CONSTANTS[74]))+ CONSTANTS[72]*CONSTANTS[74]+ CONSTANTS[71]*CONSTANTS[73];
ALGEBRAIC[93] =  - CONSTANTS[73]*CONSTANTS[74]*STATES[44];
ALGEBRAIC[100] =  (( 2.00000* pow((pow(ALGEBRAIC[91], 2.00000) -  3.00000*ALGEBRAIC[92]), 1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGEBRAIC[91]*ALGEBRAIC[92] -  2.00000*pow(ALGEBRAIC[91], 3.00000)) -  27.0000*ALGEBRAIC[93])/( 2.00000*pow(pow(ALGEBRAIC[91], 2.00000) -  3.00000*ALGEBRAIC[92], 1.50000)))/3.00000) - ALGEBRAIC[91]/3.00000;
ALGEBRAIC[102] =  0.200000*CONSTANTS[25]*( pow(STATES[30], 3.00000)*CONSTANTS[4]*exp(( CONSTANTS[27]*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[100]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])));
ALGEBRAIC[104] = 1.00000+pow(CONSTANTS[24]/ALGEBRAIC[100], 2.00000);
ALGEBRAIC[46] = 1.00000+ CONSTANTS[26]*exp(( (CONSTANTS[27] - 1.00000)*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1]));
ALGEBRAIC[106] =  CONSTANTS[31]*pow(STATES[30], 3.00000)+ pow(CONSTANTS[29], 3.00000)*ALGEBRAIC[100]+ pow(CONSTANTS[28], 3.00000)*CONSTANTS[4]*(1.00000+ALGEBRAIC[100]/CONSTANTS[30]);
ALGEBRAIC[108] =  CONSTANTS[30]*pow(CONSTANTS[5], 3.00000)*(1.00000+pow(STATES[30]/CONSTANTS[28], 3.00000))+ pow(STATES[30], 3.00000)*CONSTANTS[4]+ pow(CONSTANTS[5], 3.00000)*ALGEBRAIC[100];
ALGEBRAIC[109] = ALGEBRAIC[102]/( ALGEBRAIC[104]*ALGEBRAIC[46]*(ALGEBRAIC[106]+ALGEBRAIC[108]));
ALGEBRAIC[96] = ( (( CONSTANTS[13]*4.00000*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*( CONSTANTS[16]*ALGEBRAIC[94]*exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  CONSTANTS[17]*CONSTANTS[4]))/(exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) - 1.00000);
ALGEBRAIC[98] =  ALGEBRAIC[96]*(STATES[19]+STATES[21]);
ALGEBRAIC[86] = ( CONSTANTS[33]*ALGEBRAIC[77])/(CONSTANTS[34]+ALGEBRAIC[77]);
ALGEBRAIC[87] = ( (( CONSTANTS[35]*4.00000*STATES[0]*pow(CONSTANTS[0], 2.00000))/( CONSTANTS[2]*CONSTANTS[1]))*( CONSTANTS[36]*ALGEBRAIC[77]*exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) -  CONSTANTS[37]*CONSTANTS[4]))/(exp(( 2.00000*STATES[0]*CONSTANTS[0])/( CONSTANTS[2]*CONSTANTS[1])) - 1.00000);
ALGEBRAIC[110] = (ALGEBRAIC[98]+ALGEBRAIC[87]+ALGEBRAIC[86]) -  2.00000*(ALGEBRAIC[85]+ALGEBRAIC[109]);
ALGEBRAIC[113] = ALGEBRAIC[51]+ 3.00000*(ALGEBRAIC[85]+ALGEBRAIC[109])+ 3.00000*ALGEBRAIC[44]+ALGEBRAIC[52]+ALGEBRAIC[49];
ALGEBRAIC[80] = ALGEBRAIC[65]+ALGEBRAIC[79]+ALGEBRAIC[61]+ALGEBRAIC[54]+ - 2.00000*ALGEBRAIC[44]+ALGEBRAIC[67]+ALGEBRAIC[12];
ALGEBRAIC[71] = ALGEBRAIC[57]+ALGEBRAIC[70];
ALGEBRAIC[111] = (ALGEBRAIC[100] - ALGEBRAIC[77])/CONSTANTS[66];
ALGEBRAIC[115] = (ALGEBRAIC[100] - ALGEBRAIC[94])/CONSTANTS[65];
ALGEBRAIC[114] = (CONSTANTS[75]+CONSTANTS[76]) - STATES[42];
ALGEBRAIC[116] =  STATES[42]*CONSTANTS[76];
ALGEBRAIC[117] = - ALGEBRAIC[114]/2.00000+ pow((pow(ALGEBRAIC[114], 2.00000)+ 4.00000*ALGEBRAIC[116]), 1.0 / 2)/2.00000;
ALGEBRAIC[118] = (STATES[41] - ALGEBRAIC[117])/CONSTANTS[64];
ALGEBRAIC[119] = ( CONSTANTS[79]*(1.00000 - STATES[47])*1.00000)/(1.00000+CONSTANTS[62]/ALGEBRAIC[100]);
ALGEBRAIC[123] = ( CONSTANTS[59]*ALGEBRAIC[119]*1.00000)/(CONSTANTS[62]+ ALGEBRAIC[119]*1.00000);
ALGEBRAIC[121] = ( CONSTANTS[61]*ALGEBRAIC[119]*1.00000)/(CONSTANTS[62]+ ALGEBRAIC[119]*1.00000);
ALGEBRAIC[125] = ( (ALGEBRAIC[121]+1.00000)*CONSTANTS[60]*ALGEBRAIC[77])/((ALGEBRAIC[77]+CONSTANTS[58]) - ALGEBRAIC[123]);
ALGEBRAIC[73] =  (0.00437500/CONSTANTS[63])*STATES[41];
ALGEBRAIC[120] = CONSTANTS[55]/(1.00000+pow(CONSTANTS[56]/( 1.00000*ALGEBRAIC[119]), CONSTANTS[54]));
ALGEBRAIC[122] =  CONSTANTS[51]*(1.00000+ALGEBRAIC[120]);
ALGEBRAIC[124] =  ALGEBRAIC[122]*CONSTANTS[52];
ALGEBRAIC[127] = ( ALGEBRAIC[98]*ALGEBRAIC[124])/(1.00000+pow(CONSTANTS[50]/ALGEBRAIC[117], CONSTANTS[53]));
ALGEBRAIC[126] = ALGEBRAIC[122]/(1.00000+CONSTANTS[57]/ALGEBRAIC[117]);
}