Generated Code

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

The raw code is available.

/*
   There are a total of 65 entries in the algebraic variable array.
   There are a total of 34 entries in each of the rate and state variable arrays.
   There are a total of 157 entries in the constant variable array.
 */
/*
 * CONSTANTS[0] is t_ss in component Clamp_parameters (ms).
 * CONSTANTS[1] is V_actHolding in component Clamp_parameters (mV).
 * CONSTANTS[2] is V_actTest in component Clamp_parameters (mV).
 * CONSTANTS[3] is Cai in component Clamp_parameters (mM).
 * CONSTANTS[4] is Cao in component Clamp_parameters (mM).
 * CONSTANTS[5] is Ki in component Clamp_parameters (mM).
 * CONSTANTS[6] is Nai in component Clamp_parameters (mM).
 * CONSTANTS[7] is T in component Clamp_parameters (kelvin).
 * VOI is time in component time (ms).
 * ALGEBRAIC[0] is V in component Patch_clamp_protocol (mV).
 * ALGEBRAIC[64] is I_ion in component Clamped_current_Xi (pA).
 * ALGEBRAIC[5] is I in component Ionic_currents (pA).
 * ALGEBRAIC[27] is I in component Ionic_currents (pA).
 * ALGEBRAIC[31] is I in component Ionic_currents (pA).
 * ALGEBRAIC[34] is I in component Ionic_currents (pA).
 * ALGEBRAIC[48] is I in component Ionic_currents (pA).
 * ALGEBRAIC[3] is I_NCX in component INCX (pA).
 * ALGEBRAIC[4] is I_NaK in component INaK (pA).
 * ALGEBRAIC[62] is I in component Ionic_currents (pA).
 * ALGEBRAIC[63] is I in component Ionic_currents (pA).
 * STATES[0] is O_CaL in component ICaL_channel_states (dimensionless).
 * ALGEBRAIC[1] is P_CaT in component ICaT (dimensionless).
 * STATES[1] is O4 in component IBK_channel_states (dimensionless).
 * ALGEBRAIC[2] is P_Kv in component IKv (dimensionless).
 * STATES[2] is O_Na in component INa_channel_states (dimensionless).
 * STATES[3] is X in component gating_kinetics (dimensionless).
 * STATES[4] is X in component gating_kinetics (dimensionless).
 * STATES[5] is X in component gating_kinetics (dimensionless).
 * STATES[6] is X in component gating_kinetics (dimensionless).
 * CONSTANTS[8] is g_CaL in component model_parameters (nS).
 * CONSTANTS[9] is R in component model_parameters (J_per_K_mol).
 * CONSTANTS[10] is F in component model_parameters (C_per_mmol).
 * CONSTANTS[11] is T0CaL in component model_parameters (kelvin).
 * CONSTANTS[12] is T0CaT in component model_parameters (kelvin).
 * CONSTANTS[13] is Q10Ca in component model_parameters (dimensionless).
 * CONSTANTS[14] is C0_init in component initial_conditions (dimensionless).
 * CONSTANTS[15] is C1_init in component initial_conditions (dimensionless).
 * CONSTANTS[16] is C2_init in component initial_conditions (dimensionless).
 * CONSTANTS[17] is C3_init in component initial_conditions (dimensionless).
 * CONSTANTS[18] is C0Ca_init in component initial_conditions (dimensionless).
 * CONSTANTS[19] is C1Ca_init in component initial_conditions (dimensionless).
 * CONSTANTS[20] is C2Ca_init in component initial_conditions (dimensionless).
 * CONSTANTS[21] is C3Ca_init in component initial_conditions (dimensionless).
 * CONSTANTS[22] is ICa_init in component initial_conditions (dimensionless).
 * CONSTANTS[23] is IVs_init in component initial_conditions (dimensionless).
 * CONSTANTS[24] is IVf_init in component initial_conditions (dimensionless).
 * CONSTANTS[25] is IVfCa_init in component initial_conditions (dimensionless).
 * CONSTANTS[26] is IVsCa_init in component initial_conditions (dimensionless).
 * CONSTANTS[27] is O_CaL_init in component initial_conditions (dimensionless).
 * CONSTANTS[28] is g_CaT in component model_parameters (nS).
 * CONSTANTS[29] is d_CaT_init in component initial_conditions (dimensionless).
 * CONSTANTS[30] is f_CaT_init in component initial_conditions (dimensionless).
 * CONSTANTS[31] is tau_dCaT in component model_parameters (ms).
 * CONSTANTS[32] is g_Kv in component model_parameters (nS).
 * CONSTANTS[33] is T0K in component model_parameters (kelvin).
 * CONSTANTS[34] is Q10K in component model_parameters (dimensionless).
 * CONSTANTS[35] is Ko in component model_parameters (mM).
 * CONSTANTS[36] is x_Kv_init in component initial_conditions (dimensionless).
 * CONSTANTS[37] is y_Kv_init in component initial_conditions (dimensionless).
 * CONSTANTS[38] is tau_xKv in component model_parameters (ms).
 * CONSTANTS[39] is tau_yKv in component model_parameters (ms).
 * CONSTANTS[40] is g_BK in component model_parameters (nS).
 * CONSTANTS[41] is BK_C0_init in component initial_conditions (dimensionless).
 * CONSTANTS[42] is BK_C1_init in component initial_conditions (dimensionless).
 * CONSTANTS[43] is BK_C2_init in component initial_conditions (dimensionless).
 * CONSTANTS[44] is BK_C3_init in component initial_conditions (dimensionless).
 * CONSTANTS[45] is BK_C4_init in component initial_conditions (dimensionless).
 * CONSTANTS[46] is O0_init in component initial_conditions (dimensionless).
 * CONSTANTS[47] is O1_init in component initial_conditions (dimensionless).
 * CONSTANTS[48] is O2_init in component initial_conditions (dimensionless).
 * CONSTANTS[49] is O3_init in component initial_conditions (dimensionless).
 * CONSTANTS[50] is O4_init in component initial_conditions (dimensionless).
 * CONSTANTS[51] is k_on in component model_parameters (per_ms).
 * CONSTANTS[52] is k_off_C in component model_parameters (per_ms).
 * CONSTANTS[53] is k_off_O in component model_parameters (per_ms).
 * CONSTANTS[54] is g_Na in component model_parameters (nS).
 * CONSTANTS[55] is T0Na in component model_parameters (kelvin).
 * CONSTANTS[56] is Q10Na in component model_parameters (dimensionless).
 * CONSTANTS[57] is Nao in component model_parameters (mM).
 * CONSTANTS[58] is Na_C1_init in component initial_conditions (dimensionless).
 * CONSTANTS[59] is Na_C2_init in component initial_conditions (dimensionless).
 * CONSTANTS[60] is Na_C3_init in component initial_conditions (dimensionless).
 * CONSTANTS[61] is I1_init in component initial_conditions (dimensionless).
 * CONSTANTS[62] is I2_init in component initial_conditions (dimensionless).
 * CONSTANTS[63] is O_Na_init in component initial_conditions (dimensionless).
 * CONSTANTS[64] is K_mCa in component model_parameters (mM).
 * CONSTANTS[65] is K_mNai in component model_parameters (mM).
 * CONSTANTS[66] is k_sat in component model_parameters (dimensionless).
 * CONSTANTS[67] is gamma in component model_parameters (dimensionless).
 * CONSTANTS[68] is P_NCX in component model_parameters (pA).
 * CONSTANTS[69] is K_mK in component model_parameters (mM).
 * CONSTANTS[70] is K_mNa in component model_parameters (mM).
 * CONSTANTS[71] is P_NaK in component model_parameters (pA).
 * CONSTANTS[72] is g_NsNa in component model_parameters (nS).
 * CONSTANTS[73] is g_NsK in component model_parameters (nS).
 * CONSTANTS[74] is T in component model_parameters (kelvin).
 * CONSTANTS[75] is Cm in component model_parameters (pF).
 * CONSTANTS[76] is V_cell in component model_parameters (litre).
 * CONSTANTS[77] is Cao in component model_parameters (mM).
 * CONSTANTS[78] is n_CRT in component model_parameters (dimensionless).
 * CONSTANTS[79] is n_CaM in component model_parameters (dimensionless).
 * CONSTANTS[80] is CRT_total in component model_parameters (mM).
 * CONSTANTS[81] is CaM_total in component model_parameters (mM).
 * CONSTANTS[82] is K_D_CRT in component model_parameters (mM).
 * CONSTANTS[83] is K_D_CaM in component model_parameters (mM4).
 * CONSTANTS[84] is V_init in component initial_conditions (mV).
 * CONSTANTS[85] is Cai_total_init in component initial_conditions (mM).
 * CONSTANTS[86] is Cai_init in component initial_conditions (mM).
 * CONSTANTS[87] is Ki_init in component initial_conditions (mM).
 * CONSTANTS[88] is Nai_init in component initial_conditions (mM).
 * ALGEBRAIC[47] is norm in component IBK_channel_states (dimensionless).
 * ALGEBRAIC[61] is norm in component INa_channel_states (dimensionless).
 * CONSTANTS[89] is PO in component INS_Na (dimensionless).
 * CONSTANTS[90] is PO in component INS_K (dimensionless).
 * CONSTANTS[127] is E in component Nernst_potential (mV).
 * STATES[7] is C0 in component ICaL_channel_states (dimensionless).
 * STATES[8] is C1 in component ICaL_channel_states (dimensionless).
 * STATES[9] is C2 in component ICaL_channel_states (dimensionless).
 * STATES[10] is C3 in component ICaL_channel_states (dimensionless).
 * STATES[11] is C0Ca in component ICaL_channel_states (dimensionless).
 * STATES[12] is C1Ca in component ICaL_channel_states (dimensionless).
 * STATES[13] is C2Ca in component ICaL_channel_states (dimensionless).
 * STATES[14] is C3Ca in component ICaL_channel_states (dimensionless).
 * STATES[15] is ICa in component ICaL_channel_states (dimensionless).
 * STATES[16] is IVs in component ICaL_channel_states (dimensionless).
 * STATES[17] is IVf in component ICaL_channel_states (dimensionless).
 * STATES[18] is IVfCa in component ICaL_channel_states (dimensionless).
 * STATES[19] is IVsCa in component ICaL_channel_states (dimensionless).
 * ALGEBRAIC[6] is alpha in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[7] is beta in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[8] is alpha_0 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[9] is alpha_1 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[10] is alpha_2 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[11] is alpha_3 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[12] is beta_0 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[13] is beta_1 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[14] is beta_2 in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[15] is beta_3 in component ICaL_channel_states (per_ms).
 * CONSTANTS[128] is delta in component ICaL_channel_states (per_ms).
 * CONSTANTS[129] is theta in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[17] is phi_s in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[16] is phi_f in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[23] is omega_s in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[22] is omega_f in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[25] is omega_fs in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[24] is omega_sf in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[21] is psi_s in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[20] is psi_f in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[19] is xi_s in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[18] is xi_f in component ICaL_channel_states (per_ms).
 * ALGEBRAIC[26] is norm in component ICaL_channel_states (dimensionless).
 * CONSTANTS[126] is phi in component temperature_factor (dimensionless).
 * CONSTANTS[152] is E in component Nernst_potential (mV).
 * ALGEBRAIC[28] is X_inf in component d_inf (dimensionless).
 * CONSTANTS[130] is phi in component temperature_factor (dimensionless).
 * ALGEBRAIC[29] is X_inf in component f_inf (dimensionless).
 * ALGEBRAIC[30] is tau in component tau_f (ms).
 * CONSTANTS[131] is phi in component temperature_factor (dimensionless).
 * CONSTANTS[153] is E in component Nernst_potential (mV).
 * ALGEBRAIC[32] is X_inf in component x_inf (dimensionless).
 * CONSTANTS[132] is phi in component temperature_factor (dimensionless).
 * ALGEBRAIC[33] is X_inf in component y_inf (dimensionless).
 * CONSTANTS[133] is phi in component temperature_factor (dimensionless).
 * CONSTANTS[134] is E in component Nernst_potential (mV).
 * STATES[20] is C0 in component IBK_channel_states (dimensionless).
 * STATES[21] is C1 in component IBK_channel_states (dimensionless).
 * STATES[22] is C2 in component IBK_channel_states (dimensionless).
 * STATES[23] is C3 in component IBK_channel_states (dimensionless).
 * STATES[24] is C4 in component IBK_channel_states (dimensionless).
 * STATES[25] is O0 in component IBK_channel_states (dimensionless).
 * STATES[26] is O1 in component IBK_channel_states (dimensionless).
 * STATES[27] is O2 in component IBK_channel_states (dimensionless).
 * STATES[28] is O3 in component IBK_channel_states (dimensionless).
 * ALGEBRAIC[35] is alpha in component IBK_channel_states (per_ms).
 * ALGEBRAIC[36] is beta in component IBK_channel_states (per_ms).
 * ALGEBRAIC[37] is k_C0O0 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[38] is k_C1O1 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[39] is k_C2O2 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[40] is k_C3O3 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[41] is k_C4O4 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[42] is k_O0C0 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[43] is k_O1C1 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[44] is k_O2C2 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[45] is k_O3C3 in component IBK_channel_states (per_ms).
 * ALGEBRAIC[46] is k_O4C4 in component IBK_channel_states (per_ms).
 * CONSTANTS[135] is k_C0C1 in component IBK_channel_states (per_ms).
 * CONSTANTS[136] is k_C1C2 in component IBK_channel_states (per_ms).
 * CONSTANTS[137] is k_C2C3 in component IBK_channel_states (per_ms).
 * CONSTANTS[138] is k_C3C4 in component IBK_channel_states (per_ms).
 * CONSTANTS[139] is k_C4C3 in component IBK_channel_states (per_ms).
 * CONSTANTS[140] is k_C3C2 in component IBK_channel_states (per_ms).
 * CONSTANTS[141] is k_C2C1 in component IBK_channel_states (per_ms).
 * CONSTANTS[142] is k_C1C0 in component IBK_channel_states (per_ms).
 * CONSTANTS[143] is k_O0O1 in component IBK_channel_states (per_ms).
 * CONSTANTS[144] is k_O1O2 in component IBK_channel_states (per_ms).
 * CONSTANTS[145] is k_O2O3 in component IBK_channel_states (per_ms).
 * CONSTANTS[146] is k_O3O4 in component IBK_channel_states (per_ms).
 * CONSTANTS[147] is k_O4O3 in component IBK_channel_states (per_ms).
 * CONSTANTS[148] is k_O3O2 in component IBK_channel_states (per_ms).
 * CONSTANTS[149] is k_O2O1 in component IBK_channel_states (per_ms).
 * CONSTANTS[150] is k_O1O0 in component IBK_channel_states (per_ms).
 * CONSTANTS[151] is E in component Nernst_potential (mV).
 * STATES[29] is C1 in component INa_channel_states (dimensionless).
 * STATES[30] is C2 in component INa_channel_states (dimensionless).
 * STATES[31] is C3 in component INa_channel_states (dimensionless).
 * STATES[32] is I1 in component INa_channel_states (dimensionless).
 * STATES[33] is I2 in component INa_channel_states (dimensionless).
 * ALGEBRAIC[49] is k_I2I1 in component INa_channel_states (per_ms).
 * ALGEBRAIC[50] is k_I1O in component INa_channel_states (per_ms).
 * ALGEBRAIC[51] is k_OC1 in component INa_channel_states (per_ms).
 * ALGEBRAIC[52] is k_C1C2 in component INa_channel_states (per_ms).
 * ALGEBRAIC[53] is k_C2C3 in component INa_channel_states (per_ms).
 * ALGEBRAIC[54] is k_C3C2 in component INa_channel_states (per_ms).
 * ALGEBRAIC[55] is k_C2C1 in component INa_channel_states (per_ms).
 * ALGEBRAIC[56] is k_C1O in component INa_channel_states (per_ms).
 * ALGEBRAIC[57] is k_OI1 in component INa_channel_states (per_ms).
 * ALGEBRAIC[58] is k_I1I2 in component INa_channel_states (per_ms).
 * ALGEBRAIC[59] is k_I1C1 in component INa_channel_states (per_ms).
 * ALGEBRAIC[60] is k_C1I1 in component INa_channel_states (per_ms).
 * CONSTANTS[154] is phi in component temperature_factor (dimensionless).
 * CONSTANTS[155] is E in component Nernst_potential (mV).
 * CONSTANTS[156] is E in component Nernst_potential (mV).
 * CONSTANTS[91] is R in component constants (J_per_K_mol).
 * CONSTANTS[92] is F in component constants (C_per_mmol).
 * CONSTANTS[93] is z_Ca in component constants (dimensionless).
 * CONSTANTS[94] is z_Na in component constants (dimensionless).
 * CONSTANTS[95] is z_K in component constants (dimensionless).
 * CONSTANTS[96] is R in component constants (J_per_K_mol).
 * CONSTANTS[97] is F in component constants (C_per_mmol).
 * CONSTANTS[98] is z_Ca in component constants (dimensionless).
 * CONSTANTS[99] is z_Na in component constants (dimensionless).
 * CONSTANTS[100] is z_K in component constants (dimensionless).
 * CONSTANTS[101] is R in component constants (J_per_K_mol).
 * CONSTANTS[102] is F in component constants (C_per_mmol).
 * CONSTANTS[103] is z_K in component constants (dimensionless).
 * CONSTANTS[104] is z_Na in component constants (dimensionless).
 * CONSTANTS[105] is z_Ca in component constants (dimensionless).
 * CONSTANTS[106] is R in component constants (J_per_K_mol).
 * CONSTANTS[107] is F in component constants (C_per_mmol).
 * CONSTANTS[108] is z_K in component constants (dimensionless).
 * CONSTANTS[109] is z_Na in component constants (dimensionless).
 * CONSTANTS[110] is z_Ca in component constants (dimensionless).
 * CONSTANTS[111] is R in component constants (J_per_K_mol).
 * CONSTANTS[112] is F in component constants (C_per_mmol).
 * CONSTANTS[113] is z_Na in component constants (dimensionless).
 * CONSTANTS[114] is z_Ca in component constants (dimensionless).
 * CONSTANTS[115] is z_K in component constants (dimensionless).
 * CONSTANTS[116] is R in component constants (J_per_K_mol).
 * CONSTANTS[117] is F in component constants (C_per_mmol).
 * CONSTANTS[118] is z_Na in component constants (dimensionless).
 * CONSTANTS[119] is z_Ca in component constants (dimensionless).
 * CONSTANTS[120] is z_K in component constants (dimensionless).
 * CONSTANTS[121] is R in component constants (J_per_K_mol).
 * CONSTANTS[122] is F in component constants (C_per_mmol).
 * CONSTANTS[123] is z_K in component constants (dimensionless).
 * CONSTANTS[124] is z_Na in component constants (dimensionless).
 * CONSTANTS[125] is z_Ca in component constants (dimensionless).
 * RATES[10] is d/dt C3 in component ICaL_channel_states (dimensionless).
 * RATES[9] is d/dt C2 in component ICaL_channel_states (dimensionless).
 * RATES[8] is d/dt C1 in component ICaL_channel_states (dimensionless).
 * RATES[7] is d/dt C0 in component ICaL_channel_states (dimensionless).
 * RATES[14] is d/dt C3Ca in component ICaL_channel_states (dimensionless).
 * RATES[13] is d/dt C2Ca in component ICaL_channel_states (dimensionless).
 * RATES[12] is d/dt C1Ca in component ICaL_channel_states (dimensionless).
 * RATES[11] is d/dt C0Ca in component ICaL_channel_states (dimensionless).
 * RATES[0] is d/dt O_CaL in component ICaL_channel_states (dimensionless).
 * RATES[15] is d/dt ICa in component ICaL_channel_states (dimensionless).
 * RATES[16] is d/dt IVs in component ICaL_channel_states (dimensionless).
 * RATES[17] is d/dt IVf in component ICaL_channel_states (dimensionless).
 * RATES[19] is d/dt IVsCa in component ICaL_channel_states (dimensionless).
 * RATES[18] is d/dt IVfCa in component ICaL_channel_states (dimensionless).
 * RATES[3] is d/dt X in component gating_kinetics (dimensionless).
 * RATES[4] is d/dt X in component gating_kinetics (dimensionless).
 * RATES[5] is d/dt X in component gating_kinetics (dimensionless).
 * RATES[6] is d/dt X in component gating_kinetics (dimensionless).
 * RATES[24] is d/dt C4 in component IBK_channel_states (dimensionless).
 * RATES[23] is d/dt C3 in component IBK_channel_states (dimensionless).
 * RATES[22] is d/dt C2 in component IBK_channel_states (dimensionless).
 * RATES[21] is d/dt C1 in component IBK_channel_states (dimensionless).
 * RATES[20] is d/dt C0 in component IBK_channel_states (dimensionless).
 * RATES[1] is d/dt O4 in component IBK_channel_states (dimensionless).
 * RATES[28] is d/dt O3 in component IBK_channel_states (dimensionless).
 * RATES[27] is d/dt O2 in component IBK_channel_states (dimensionless).
 * RATES[26] is d/dt O1 in component IBK_channel_states (dimensionless).
 * RATES[25] is d/dt O0 in component IBK_channel_states (dimensionless).
 * RATES[31] is d/dt C3 in component INa_channel_states (dimensionless).
 * RATES[30] is d/dt C2 in component INa_channel_states (dimensionless).
 * RATES[29] is d/dt C1 in component INa_channel_states (dimensionless).
 * RATES[2] is d/dt O_Na in component INa_channel_states (dimensionless).
 * RATES[33] is d/dt I2 in component INa_channel_states (dimensionless).
 * RATES[32] is d/dt I1 in component INa_channel_states (dimensionless).
 * There are a total of 1 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 1000;
CONSTANTS[1] = -100;
CONSTANTS[2] = -90;
CONSTANTS[3] = 5.38843941249284e-5;
CONSTANTS[4] = 2;
CONSTANTS[5] = 153.604280337996;
CONSTANTS[6] = 50;
CONSTANTS[7] = 297;
CONSTANTS[8] = 1.44;
CONSTANTS[9] = 8.314;
CONSTANTS[10] = 96.48534;
CONSTANTS[11] = 310;
CONSTANTS[12] = 297;
CONSTANTS[13] = 2.1;
CONSTANTS[14] = 0.815464741971086;
CONSTANTS[15] = 0.152399266235657;
CONSTANTS[16] = 0.0106805060777161;
CONSTANTS[17] = 0.000332673548872087;
CONSTANTS[18] = 0.0175888495282545;
CONSTANTS[19] = 0.00328711668724504;
CONSTANTS[20] = 0.000230369020877669;
CONSTANTS[21] = 7.1754726923539e-6;
CONSTANTS[22] = 8.38123983500905e-8;
CONSTANTS[23] = 1.1193313274705e-6;
CONSTANTS[24] = 4.0998751301597e-6;
CONSTANTS[25] = 8.84306615061238e-8;
CONSTANTS[26] = 2.41429816075123e-8;
CONSTANTS[27] = 3.88576045134351e-6;
CONSTANTS[28] = 0.0425;
CONSTANTS[29] = 0.0791635737410974;
CONSTANTS[30] = 0.377831534375835;
CONSTANTS[31] = 1.9508;
CONSTANTS[32] = 1.0217;
CONSTANTS[33] = 297;
CONSTANTS[34] = 3.1;
CONSTANTS[35] = 5.4;
CONSTANTS[36] = 0.14714161078933;
CONSTANTS[37] = 0.99994773314105;
CONSTANTS[38] = 4.7803;
CONSTANTS[39] = 763.7564;
CONSTANTS[40] = 80;
CONSTANTS[41] = 0.48379087935899;
CONSTANTS[42] = 0.385183559520031;
CONSTANTS[43] = 0.115002824567753;
CONSTANTS[44] = 0.0152602714149774;
CONSTANTS[45] = 0.000759264410974374;
CONSTANTS[46] = 6.94960798375172e-7;
CONSTANTS[47] = 5.55636826398253e-8;
CONSTANTS[48] = 2.85143702125325e-8;
CONSTANTS[49] = 1.59832806123435e-6;
CONSTANTS[50] = 1.82113764497095e-6;
CONSTANTS[51] = 40633;
CONSTANTS[52] = 11;
CONSTANTS[53] = 1.1;
CONSTANTS[54] = 25.1;
CONSTANTS[55] = 297;
CONSTANTS[56] = 2.45;
CONSTANTS[57] = 140;
CONSTANTS[58] = 0.0119443135223679;
CONSTANTS[59] = 0.0109545368437155;
CONSTANTS[60] = 0.973782548650071;
CONSTANTS[61] = 0.000126882921013389;
CONSTANTS[62] = 0.00318975045717667;
CONSTANTS[63] = 1.96760342050475e-6;
CONSTANTS[64] = 1.38;
CONSTANTS[65] = 87.5;
CONSTANTS[66] = 0.1;
CONSTANTS[67] = 0.35;
CONSTANTS[68] = 1992.1865;
CONSTANTS[69] = 1;
CONSTANTS[70] = 40;
CONSTANTS[71] = 16.197;
CONSTANTS[72] = 0.022488;
CONSTANTS[73] = 0.017512;
CONSTANTS[74] = 310;
CONSTANTS[75] = 50;
CONSTANTS[76] = 3.5e-12;
CONSTANTS[77] = 2;
CONSTANTS[78] = 1;
CONSTANTS[79] = 4;
CONSTANTS[80] = 0.034;
CONSTANTS[81] = 0.012;
CONSTANTS[82] = 0.0009;
CONSTANTS[83] = 0.0001;
CONSTANTS[84] = -73.5049651455872;
CONSTANTS[85] = 0.004914;
CONSTANTS[86] = 5.38843941249284e-5;
CONSTANTS[87] = 153.604280337996;
CONSTANTS[88] = 10.5731241425458;
CONSTANTS[89] = 1;
CONSTANTS[90] = 1;
CONSTANTS[91] = 8.314;
CONSTANTS[92] = 96.48534;
CONSTANTS[93] = 2;
CONSTANTS[94] = 1;
CONSTANTS[95] = 1;
CONSTANTS[96] = 8.314;
CONSTANTS[97] = 96.48534;
CONSTANTS[98] = 2;
CONSTANTS[99] = 1;
CONSTANTS[100] = 1;
CONSTANTS[101] = 8.314;
CONSTANTS[102] = 96.48534;
CONSTANTS[103] = 1;
CONSTANTS[104] = 1;
CONSTANTS[105] = 2;
CONSTANTS[106] = 8.314;
CONSTANTS[107] = 96.48534;
CONSTANTS[108] = 1;
CONSTANTS[109] = 1;
CONSTANTS[110] = 2;
CONSTANTS[111] = 8.314;
CONSTANTS[112] = 96.48534;
CONSTANTS[113] = 1;
CONSTANTS[114] = 2;
CONSTANTS[115] = 1;
CONSTANTS[116] = 8.314;
CONSTANTS[117] = 96.48534;
CONSTANTS[118] = 1;
CONSTANTS[119] = 2;
CONSTANTS[120] = 1;
CONSTANTS[121] = 8.314;
CONSTANTS[122] = 96.48534;
CONSTANTS[123] = 1;
CONSTANTS[124] = 1;
CONSTANTS[125] = 2;
CONSTANTS[126] = pow(CONSTANTS[13], (CONSTANTS[7] - CONSTANTS[11])/10.0000);
CONSTANTS[127] =  (( CONSTANTS[91]*CONSTANTS[7])/( CONSTANTS[93]*CONSTANTS[92]))*log(CONSTANTS[4]/CONSTANTS[3]);
CONSTANTS[128] = 0.00000;
CONSTANTS[129] = 0.00000;
CONSTANTS[130] = pow(CONSTANTS[13], (CONSTANTS[7] - CONSTANTS[12])/10.0000);
CONSTANTS[131] = pow(CONSTANTS[13], (CONSTANTS[7] - CONSTANTS[12])/10.0000);
CONSTANTS[132] = pow(CONSTANTS[34], (CONSTANTS[7] - CONSTANTS[33])/10.0000);
CONSTANTS[133] = pow(CONSTANTS[34], (CONSTANTS[7] - CONSTANTS[33])/10.0000);
CONSTANTS[134] =  (( CONSTANTS[106]*CONSTANTS[7])/( CONSTANTS[108]*CONSTANTS[107]))*log(CONSTANTS[35]/CONSTANTS[5]);
CONSTANTS[135] =  4.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[136] =  3.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[137] =  2.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[138] =  1.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[139] =  4.00000*CONSTANTS[52];
CONSTANTS[140] =  3.00000*CONSTANTS[52];
CONSTANTS[141] =  2.00000*CONSTANTS[52];
CONSTANTS[142] =  1.00000*CONSTANTS[52];
CONSTANTS[143] =  4.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[144] =  3.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[145] =  2.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[146] =  1.00000*CONSTANTS[51]*CONSTANTS[3];
CONSTANTS[147] =  4.00000*CONSTANTS[53];
CONSTANTS[148] =  3.00000*CONSTANTS[53];
CONSTANTS[149] =  2.00000*CONSTANTS[53];
CONSTANTS[150] =  1.00000*CONSTANTS[53];
CONSTANTS[151] =  (( CONSTANTS[111]*CONSTANTS[7])/( CONSTANTS[113]*CONSTANTS[112]))*log(CONSTANTS[57]/CONSTANTS[6]);
CONSTANTS[152] =  (( CONSTANTS[96]*CONSTANTS[7])/( CONSTANTS[98]*CONSTANTS[97]))*log(CONSTANTS[4]/CONSTANTS[3]);
CONSTANTS[153] =  (( CONSTANTS[101]*CONSTANTS[7])/( CONSTANTS[103]*CONSTANTS[102]))*log(CONSTANTS[35]/CONSTANTS[5]);
CONSTANTS[154] = pow(CONSTANTS[56], (CONSTANTS[7] - CONSTANTS[55])/10.0000);
CONSTANTS[155] =  (( CONSTANTS[116]*CONSTANTS[7])/( CONSTANTS[118]*CONSTANTS[117]))*log(CONSTANTS[57]/CONSTANTS[6]);
CONSTANTS[156] =  (( CONSTANTS[121]*CONSTANTS[7])/( CONSTANTS[123]*CONSTANTS[122]))*log(CONSTANTS[35]/CONSTANTS[5]);
STATES[0] = CONSTANTS[27];
STATES[1] = CONSTANTS[50];
STATES[2] = CONSTANTS[63];
STATES[3] = CONSTANTS[29];
STATES[4] = CONSTANTS[30];
STATES[5] = CONSTANTS[36];
STATES[6] = CONSTANTS[37];
STATES[7] = CONSTANTS[14];
STATES[8] = CONSTANTS[15];
STATES[9] = CONSTANTS[16];
STATES[10] = CONSTANTS[17];
STATES[11] = CONSTANTS[18];
STATES[12] = CONSTANTS[19];
STATES[13] = CONSTANTS[20];
STATES[14] = CONSTANTS[21];
STATES[15] = CONSTANTS[22];
STATES[16] = CONSTANTS[23];
STATES[17] = CONSTANTS[24];
STATES[18] = CONSTANTS[25];
STATES[19] = CONSTANTS[25];
STATES[20] = CONSTANTS[41];
STATES[21] = CONSTANTS[42];
STATES[22] = CONSTANTS[43];
STATES[23] = CONSTANTS[44];
STATES[24] = CONSTANTS[45];
STATES[25] = CONSTANTS[46];
STATES[26] = CONSTANTS[47];
STATES[27] = CONSTANTS[48];
STATES[28] = CONSTANTS[49];
STATES[29] = CONSTANTS[58];
STATES[30] = CONSTANTS[59];
STATES[31] = CONSTANTS[60];
STATES[32] = CONSTANTS[61];
STATES[33] = CONSTANTS[62];
RATES[10] = 0.1001;
RATES[9] = 0.1001;
RATES[8] = 0.1001;
RATES[7] = 0.1001;
RATES[14] = 0.1001;
RATES[13] = 0.1001;
RATES[12] = 0.1001;
RATES[11] = 0.1001;
RATES[0] = 0.1001;
RATES[15] = 0.1001;
RATES[16] = 0.1001;
RATES[17] = 0.1001;
RATES[19] = 0.1001;
RATES[18] = 0.1001;
RATES[3] = 0.1001;
RATES[4] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[24] = 0.1001;
RATES[23] = 0.1001;
RATES[22] = 0.1001;
RATES[21] = 0.1001;
RATES[20] = 0.1001;
RATES[1] = 0.1001;
RATES[28] = 0.1001;
RATES[27] = 0.1001;
RATES[26] = 0.1001;
RATES[25] = 0.1001;
RATES[31] = 0.1001;
RATES[30] = 0.1001;
RATES[29] = 0.1001;
RATES[2] = 0.1001;
RATES[33] = 0.1001;
RATES[32] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[10] - (( ALGEBRAIC[10]*STATES[9])/ALGEBRAIC[26] - ( (ALGEBRAIC[11]+ALGEBRAIC[14]+ALGEBRAIC[17]+ALGEBRAIC[16]+CONSTANTS[129])*STATES[10])/ALGEBRAIC[26])+( ALGEBRAIC[15]*STATES[0])/ALGEBRAIC[26]+( ALGEBRAIC[22]*STATES[17])/ALGEBRAIC[26]+( ALGEBRAIC[23]*STATES[16])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[14])/ALGEBRAIC[26];
resid[1] = RATES[9] - (( ALGEBRAIC[9]*STATES[8])/ALGEBRAIC[26] - ( (ALGEBRAIC[10]+ALGEBRAIC[13]+CONSTANTS[129])*STATES[9])/ALGEBRAIC[26])+( ALGEBRAIC[14]*STATES[10])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[13])/ALGEBRAIC[26];
resid[2] = RATES[8] - (( ALGEBRAIC[8]*STATES[7])/ALGEBRAIC[26] - ( (ALGEBRAIC[9]+ALGEBRAIC[12]+CONSTANTS[129])*STATES[8])/ALGEBRAIC[26])+( ALGEBRAIC[13]*STATES[9])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[12])/ALGEBRAIC[26];
resid[3] = RATES[7] - ( - (ALGEBRAIC[8]+CONSTANTS[129])*STATES[7])/ALGEBRAIC[26]+( ALGEBRAIC[12]*STATES[8])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[11])/ALGEBRAIC[26];
resid[4] = RATES[14] - ((( CONSTANTS[129]*STATES[10])/ALGEBRAIC[26]+( ALGEBRAIC[10]*STATES[13])/ALGEBRAIC[26]) - ( (ALGEBRAIC[11]+ALGEBRAIC[14]+ALGEBRAIC[16]+ALGEBRAIC[17]+CONSTANTS[128])*STATES[14])/ALGEBRAIC[26])+( ALGEBRAIC[15]*STATES[15])/ALGEBRAIC[26]+( ALGEBRAIC[22]*STATES[18])/ALGEBRAIC[26]+( ALGEBRAIC[23]*STATES[19])/ALGEBRAIC[26];
resid[5] = RATES[13] - ((( CONSTANTS[129]*STATES[9])/ALGEBRAIC[26]+( ALGEBRAIC[9]*STATES[12])/ALGEBRAIC[26]) - ( (ALGEBRAIC[10]+ALGEBRAIC[13]+CONSTANTS[128])*STATES[13])/ALGEBRAIC[26])+( ALGEBRAIC[14]*STATES[14])/ALGEBRAIC[26];
resid[6] = RATES[12] - ((( CONSTANTS[129]*STATES[8])/ALGEBRAIC[26]+( ALGEBRAIC[8]*STATES[11])/ALGEBRAIC[26]) - ( (ALGEBRAIC[9]+ALGEBRAIC[12]+CONSTANTS[128])*STATES[12])/ALGEBRAIC[26])+( ALGEBRAIC[13]*STATES[13])/ALGEBRAIC[26];
resid[7] = RATES[11] - (( CONSTANTS[129]*STATES[7])/ALGEBRAIC[26] - ( (ALGEBRAIC[8]+CONSTANTS[128])*STATES[11])/ALGEBRAIC[26])+( ALGEBRAIC[12]*STATES[12])/ALGEBRAIC[26];
resid[8] = RATES[0] - (( ALGEBRAIC[11]*STATES[10])/ALGEBRAIC[26] - ( (ALGEBRAIC[15]+ALGEBRAIC[20]+ALGEBRAIC[21]+CONSTANTS[129])*STATES[0])/ALGEBRAIC[26])+( ALGEBRAIC[18]*STATES[17])/ALGEBRAIC[26]+( ALGEBRAIC[19]*STATES[16])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[15])/ALGEBRAIC[26];
resid[9] = RATES[15] - ((( CONSTANTS[129]*STATES[0])/ALGEBRAIC[26]+( ALGEBRAIC[11]*STATES[14])/ALGEBRAIC[26]) - ( (ALGEBRAIC[15]+ALGEBRAIC[20]+ALGEBRAIC[21]+CONSTANTS[128])*STATES[15])/ALGEBRAIC[26])+( ALGEBRAIC[18]*STATES[18])/ALGEBRAIC[26]+( ALGEBRAIC[19]*STATES[19])/ALGEBRAIC[26];
resid[10] = RATES[16] - ((( ALGEBRAIC[17]*STATES[10])/ALGEBRAIC[26]+( ALGEBRAIC[21]*STATES[0])/ALGEBRAIC[26]+( ALGEBRAIC[25]*STATES[17])/ALGEBRAIC[26]) - ( (ALGEBRAIC[23]+ALGEBRAIC[19]+ALGEBRAIC[24]+CONSTANTS[129])*STATES[16])/ALGEBRAIC[26])+( CONSTANTS[128]*STATES[19])/ALGEBRAIC[26];
resid[11] = RATES[17] - ((( ALGEBRAIC[16]*STATES[10])/ALGEBRAIC[26]+( ALGEBRAIC[20]*STATES[0])/ALGEBRAIC[26]) - ( (ALGEBRAIC[22]+ALGEBRAIC[18]+ALGEBRAIC[25]+CONSTANTS[129])*STATES[17])/ALGEBRAIC[26])+( ALGEBRAIC[24]*STATES[16])/ALGEBRAIC[26]+( CONSTANTS[128]*STATES[18])/ALGEBRAIC[26];
resid[12] = RATES[19] - (( CONSTANTS[129]*STATES[16])/ALGEBRAIC[26]+( ALGEBRAIC[17]*STATES[14])/ALGEBRAIC[26]+( ALGEBRAIC[21]*STATES[15])/ALGEBRAIC[26]+( ALGEBRAIC[25]*STATES[18])/ALGEBRAIC[26]) - ( (ALGEBRAIC[23]+ALGEBRAIC[19]+ALGEBRAIC[24]+CONSTANTS[128])*STATES[19])/ALGEBRAIC[26];
resid[13] = RATES[18] - ((( CONSTANTS[129]*STATES[17])/ALGEBRAIC[26]+( ALGEBRAIC[16]*STATES[14])/ALGEBRAIC[26]+( ALGEBRAIC[20]*STATES[15])/ALGEBRAIC[26]) - ( (ALGEBRAIC[22]+ALGEBRAIC[18]+ALGEBRAIC[25]+CONSTANTS[128])*STATES[18])/ALGEBRAIC[26])+( ALGEBRAIC[24]*STATES[19])/ALGEBRAIC[26];
resid[14] = RATES[3] -  ((ALGEBRAIC[28] - STATES[3])/CONSTANTS[31])*CONSTANTS[130];
resid[15] = RATES[4] -  ((ALGEBRAIC[29] - STATES[4])/ALGEBRAIC[30])*CONSTANTS[131];
resid[16] = RATES[5] -  ((ALGEBRAIC[32] - STATES[5])/CONSTANTS[38])*CONSTANTS[132];
resid[17] = RATES[6] -  ((ALGEBRAIC[33] - STATES[6])/CONSTANTS[39])*CONSTANTS[133];
resid[18] = RATES[24] - ( - (CONSTANTS[139]+ALGEBRAIC[41])*STATES[24])/ALGEBRAIC[47]+( CONSTANTS[138]*STATES[23])/ALGEBRAIC[47]+( ALGEBRAIC[46]*STATES[1])/ALGEBRAIC[47];
resid[19] = RATES[23] - ( - (CONSTANTS[140]+ALGEBRAIC[40]+CONSTANTS[138])*STATES[23])/ALGEBRAIC[47]+( CONSTANTS[137]*STATES[22])/ALGEBRAIC[47]+( ALGEBRAIC[45]*STATES[28])/ALGEBRAIC[47]+( CONSTANTS[139]*STATES[24])/ALGEBRAIC[47];
resid[20] = RATES[22] - ( - (CONSTANTS[141]+ALGEBRAIC[39]+CONSTANTS[137])*STATES[22])/ALGEBRAIC[47]+( CONSTANTS[136]*STATES[21])/ALGEBRAIC[47]+( ALGEBRAIC[44]*STATES[27])/ALGEBRAIC[47]+( CONSTANTS[140]*STATES[23])/ALGEBRAIC[47];
resid[21] = RATES[21] - ( - (CONSTANTS[142]+ALGEBRAIC[38]+CONSTANTS[136])*STATES[21])/ALGEBRAIC[47]+( CONSTANTS[135]*STATES[20])/ALGEBRAIC[47]+( ALGEBRAIC[43]*STATES[26])/ALGEBRAIC[47]+( CONSTANTS[141]*STATES[22])/ALGEBRAIC[47];
resid[22] = RATES[20] - ( - (CONSTANTS[135]+ALGEBRAIC[37])*STATES[20])/ALGEBRAIC[47]+( CONSTANTS[142]*STATES[21])/ALGEBRAIC[47]+( ALGEBRAIC[42]*STATES[25])/ALGEBRAIC[47];
resid[23] = RATES[1] - ( - (CONSTANTS[147]+ALGEBRAIC[46])*STATES[1])/ALGEBRAIC[47]+( CONSTANTS[146]*STATES[28])/ALGEBRAIC[47]+( ALGEBRAIC[41]*STATES[24])/ALGEBRAIC[47];
resid[24] = RATES[28] - ( - (CONSTANTS[148]+ALGEBRAIC[45]+CONSTANTS[146])*STATES[28])/ALGEBRAIC[47]+( CONSTANTS[145]*STATES[27])/ALGEBRAIC[47]+( ALGEBRAIC[40]*STATES[23])/ALGEBRAIC[47]+( CONSTANTS[147]*STATES[1])/ALGEBRAIC[47];
resid[25] = RATES[27] - ( - (CONSTANTS[149]+ALGEBRAIC[44]+CONSTANTS[145])*STATES[27])/ALGEBRAIC[47]+( CONSTANTS[144]*STATES[26])/ALGEBRAIC[47]+( ALGEBRAIC[39]*STATES[22])/ALGEBRAIC[47]+( CONSTANTS[148]*STATES[28])/ALGEBRAIC[47];
resid[26] = RATES[26] - ( - (CONSTANTS[150]+ALGEBRAIC[43]+CONSTANTS[144])*STATES[26])/ALGEBRAIC[47]+( CONSTANTS[143]*STATES[25])/ALGEBRAIC[47]+( ALGEBRAIC[38]*STATES[21])/ALGEBRAIC[47]+( CONSTANTS[149]*STATES[27])/ALGEBRAIC[47];
resid[27] = RATES[25] - ( - (CONSTANTS[143]+ALGEBRAIC[42])*STATES[25])/ALGEBRAIC[47]+( CONSTANTS[150]*STATES[26])/ALGEBRAIC[47]+( ALGEBRAIC[37]*STATES[20])/ALGEBRAIC[47];
resid[28] = RATES[31] - ( - ALGEBRAIC[54]*STATES[31])/ALGEBRAIC[61]+( ALGEBRAIC[53]*STATES[30])/ALGEBRAIC[61];
resid[29] = RATES[30] - ( - (ALGEBRAIC[55]+ALGEBRAIC[53])*STATES[30])/ALGEBRAIC[61]+( ALGEBRAIC[52]*STATES[29])/ALGEBRAIC[61]+( ALGEBRAIC[54]*STATES[31])/ALGEBRAIC[61];
resid[30] = RATES[29] - ( - (ALGEBRAIC[52]+ALGEBRAIC[56]+ALGEBRAIC[60])*STATES[29])/ALGEBRAIC[61]+( ALGEBRAIC[51]*STATES[2])/ALGEBRAIC[61]+( ALGEBRAIC[55]*STATES[30])/ALGEBRAIC[61]+( ALGEBRAIC[59]*STATES[32])/ALGEBRAIC[61];
resid[31] = RATES[2] - ( - (ALGEBRAIC[51]+ALGEBRAIC[57])*STATES[2])/ALGEBRAIC[61]+( ALGEBRAIC[56]*STATES[29])/ALGEBRAIC[61]+( ALGEBRAIC[50]*STATES[32])/ALGEBRAIC[61];
resid[32] = RATES[33] - ( - ALGEBRAIC[49]*STATES[33])/ALGEBRAIC[61]+( ALGEBRAIC[58]*STATES[32])/ALGEBRAIC[61];
resid[33] = RATES[32] - ( - (ALGEBRAIC[50]+ALGEBRAIC[58]+ALGEBRAIC[59])*STATES[32])/ALGEBRAIC[61]+( ALGEBRAIC[49]*STATES[33])/ALGEBRAIC[61]+( ALGEBRAIC[60]*STATES[29])/ALGEBRAIC[61]+( ALGEBRAIC[57]*STATES[2])/ALGEBRAIC[61];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[1] =  STATES[3]*STATES[4];
ALGEBRAIC[2] =  STATES[5]*STATES[6];
ALGEBRAIC[3] = ( CONSTANTS[68]*( exp(( CONSTANTS[67]*ALGEBRAIC[0]*CONSTANTS[10])/( CONSTANTS[9]*CONSTANTS[7]))*pow(CONSTANTS[6], 3.00000)*CONSTANTS[4] -  2.50000*exp(( (CONSTANTS[67] - 1.00000)*ALGEBRAIC[0]*CONSTANTS[10])/( CONSTANTS[9]*CONSTANTS[7]))*pow(CONSTANTS[57], 3.00000)*CONSTANTS[3]))/( (pow(CONSTANTS[65], 3.00000)+pow(CONSTANTS[57], 3.00000))*(CONSTANTS[64]+CONSTANTS[4])*(1.00000+ CONSTANTS[66]*exp(( (CONSTANTS[67] - 1.00000)*ALGEBRAIC[0]*CONSTANTS[10])/( CONSTANTS[9]*CONSTANTS[7]))));
ALGEBRAIC[4] = ( CONSTANTS[71]*CONSTANTS[35]*CONSTANTS[6])/( (CONSTANTS[35]+CONSTANTS[69])*(CONSTANTS[70]+CONSTANTS[6])*(1.00000+ 0.124500*exp(( - 0.100000*ALGEBRAIC[0]*CONSTANTS[10])/( CONSTANTS[9]*CONSTANTS[7]))+ 0.0353000*exp(( - ALGEBRAIC[0]*CONSTANTS[10])/( CONSTANTS[9]*CONSTANTS[7]))));
ALGEBRAIC[5] =  CONSTANTS[8]*STATES[0]*(ALGEBRAIC[0] - CONSTANTS[127]);
ALGEBRAIC[27] =  CONSTANTS[28]*ALGEBRAIC[1]*(ALGEBRAIC[0] - CONSTANTS[152]);
ALGEBRAIC[31] =  CONSTANTS[32]*ALGEBRAIC[2]*(ALGEBRAIC[0] - CONSTANTS[153]);
ALGEBRAIC[34] =  CONSTANTS[40]*STATES[1]*(ALGEBRAIC[0] - CONSTANTS[134]);
ALGEBRAIC[48] =  CONSTANTS[54]*STATES[2]*(ALGEBRAIC[0] - CONSTANTS[151]);
ALGEBRAIC[62] =  CONSTANTS[72]*CONSTANTS[89]*(ALGEBRAIC[0] - CONSTANTS[155]);
ALGEBRAIC[63] =  CONSTANTS[73]*CONSTANTS[90]*(ALGEBRAIC[0] - CONSTANTS[156]);
ALGEBRAIC[64] = ALGEBRAIC[5]+ALGEBRAIC[27]+ALGEBRAIC[31]+ALGEBRAIC[34]+ALGEBRAIC[48]+ALGEBRAIC[3]+ALGEBRAIC[4]+ALGEBRAIC[62]+ALGEBRAIC[63];
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (CONDVAR[0]<0.00000 ? CONSTANTS[1] : CONSTANTS[2]);
ALGEBRAIC[6] =  CONSTANTS[126]*0.731000*exp(ALGEBRAIC[0]/30.0000);
ALGEBRAIC[8] =  4.00000*ALGEBRAIC[6];
ALGEBRAIC[9] =  3.00000*ALGEBRAIC[6];
ALGEBRAIC[10] =  2.00000*ALGEBRAIC[6];
ALGEBRAIC[11] =  1.00000*ALGEBRAIC[6];
ALGEBRAIC[7] =  CONSTANTS[126]*0.214900*exp(- ALGEBRAIC[0]/40.0000);
ALGEBRAIC[12] =  1.00000*ALGEBRAIC[7];
ALGEBRAIC[13] =  2.00000*ALGEBRAIC[7];
ALGEBRAIC[14] =  3.00000*ALGEBRAIC[7];
ALGEBRAIC[15] =  4.00000*ALGEBRAIC[7];
ALGEBRAIC[16] =  CONSTANTS[126]*0.474200*exp(ALGEBRAIC[0]/10.0000);
ALGEBRAIC[17] =  CONSTANTS[126]*0.00595600*exp(- ALGEBRAIC[0]/40.0000);
ALGEBRAIC[18] =  CONSTANTS[126]*0.0140700*exp(- ALGEBRAIC[0]/300.000);
ALGEBRAIC[19] =  CONSTANTS[126]*0.0121300*exp(ALGEBRAIC[0]/500.000);
ALGEBRAIC[20] =  CONSTANTS[126]*0.0219700*exp(ALGEBRAIC[0]/500.000);
ALGEBRAIC[21] =  CONSTANTS[126]*0.00232000*exp(- ALGEBRAIC[0]/280.000);
ALGEBRAIC[22] = ( ALGEBRAIC[15]*ALGEBRAIC[18]*ALGEBRAIC[16])/( ALGEBRAIC[11]*ALGEBRAIC[20]);
ALGEBRAIC[23] = ( ALGEBRAIC[15]*ALGEBRAIC[19]*ALGEBRAIC[17])/( ALGEBRAIC[11]*ALGEBRAIC[21]);
ALGEBRAIC[24] = ( ALGEBRAIC[19]*ALGEBRAIC[20])/ALGEBRAIC[18];
ALGEBRAIC[25] = ALGEBRAIC[21];
ALGEBRAIC[26] = STATES[10]+STATES[9]+STATES[8]+STATES[7]+STATES[14]+STATES[13]+STATES[12]+STATES[11]+STATES[0]+STATES[15]+STATES[16]+STATES[17]+STATES[19]+STATES[18];
ALGEBRAIC[28] = 1.00000/(1.00000+exp(- (ALGEBRAIC[0]+60.5000)/5.30000));
ALGEBRAIC[29] = 1.00000/(1.00000+exp((ALGEBRAIC[0]+75.5000)/4.00000));
ALGEBRAIC[30] =  0.381170*(8.60000+ 14.7000*exp(- pow(ALGEBRAIC[0]+50.0000, 2.00000)/( 900.000*1.00000)));
ALGEBRAIC[32] = 1.00000/(1.00000+exp(- (ALGEBRAIC[0]+43.0000)/17.3600));
ALGEBRAIC[33] = 1.00000/(1.00000+exp((ALGEBRAIC[0] - 44.9000)/12.0096));
ALGEBRAIC[35] =  1.00000*exp(( 8.47188*ALGEBRAIC[0])/( 1.00000*CONSTANTS[7]));
ALGEBRAIC[37] =  0.0216200*ALGEBRAIC[35];
ALGEBRAIC[38] =  0.000869000*ALGEBRAIC[35];
ALGEBRAIC[39] =  2.81000e-05*ALGEBRAIC[35];
ALGEBRAIC[40] =  0.000781000*ALGEBRAIC[35];
ALGEBRAIC[41] =  0.0443240*ALGEBRAIC[35];
ALGEBRAIC[36] =  1.00000*exp(( - 7.77556*ALGEBRAIC[0])/( 1.00000*CONSTANTS[7]));
ALGEBRAIC[42] =  318.108*ALGEBRAIC[36];
ALGEBRAIC[43] =  144.174*ALGEBRAIC[36];
ALGEBRAIC[44] =  32.6594*ALGEBRAIC[36];
ALGEBRAIC[45] =  0.0953120*ALGEBRAIC[36];
ALGEBRAIC[46] =  0.000106000*ALGEBRAIC[36];
ALGEBRAIC[47] = STATES[20]+STATES[21]+STATES[22]+STATES[23]+STATES[24]+STATES[25]+STATES[26]+STATES[27]+STATES[28]+STATES[1];
ALGEBRAIC[49] =  CONSTANTS[154]*0.00392390*exp(2.67930+ 0.00614680*ALGEBRAIC[0]);
ALGEBRAIC[50] =  CONSTANTS[154]*0.120520*exp(- 9.60280+ 0.0830250*ALGEBRAIC[0]);
ALGEBRAIC[51] =  CONSTANTS[154]*2.39100*exp(- 13.3350 -  0.252890*ALGEBRAIC[0]);
ALGEBRAIC[52] =  CONSTANTS[154]*3.15660*exp(0.363520+ 0.0771930*ALGEBRAIC[0]);
ALGEBRAIC[53] =  CONSTANTS[154]*0.554320*exp(- 0.0990740+ 0.0364410*ALGEBRAIC[0]);
ALGEBRAIC[54] =  CONSTANTS[154]*0.000525480*exp(- 0.0691020+ 0.00319450*ALGEBRAIC[0]);
ALGEBRAIC[55] =  CONSTANTS[154]*1.44960*exp(- 0.156600+ 0.0583530*ALGEBRAIC[0]);
ALGEBRAIC[56] =  CONSTANTS[154]*1.53290*exp(0.00931930+ 0.0410750*ALGEBRAIC[0]);
ALGEBRAIC[57] =  CONSTANTS[154]*1.61640*exp(0.307630+ 0.00605350*ALGEBRAIC[0]);
ALGEBRAIC[58] =  CONSTANTS[154]*0.0277350*exp(0.0514900 -  0.0468650*ALGEBRAIC[0]);
ALGEBRAIC[59] =  CONSTANTS[154]*1.90460*exp(- 2.48400+ 0.0204060*ALGEBRAIC[0]);
ALGEBRAIC[60] =  CONSTANTS[154]*0.000216880*exp(- 0.0634380+ 0.00466830*ALGEBRAIC[0]);
ALGEBRAIC[61] = STATES[2]+STATES[29]+STATES[30]+STATES[31]+STATES[32]+STATES[33];
}
void
getStateInformation(double* SI)
{
SI[0] = 1.0;
SI[1] = 1.0;
SI[2] = 1.0;
SI[3] = 1.0;
SI[4] = 1.0;
SI[5] = 1.0;
SI[6] = 1.0;
SI[7] = 1.0;
SI[8] = 1.0;
SI[9] = 1.0;
SI[10] = 1.0;
SI[11] = 1.0;
SI[12] = 1.0;
SI[13] = 1.0;
SI[14] = 1.0;
SI[15] = 1.0;
SI[16] = 1.0;
SI[17] = 1.0;
SI[18] = 1.0;
SI[19] = 1.0;
SI[20] = 1.0;
SI[21] = 1.0;
SI[22] = 1.0;
SI[23] = 1.0;
SI[24] = 1.0;
SI[25] = 1.0;
SI[26] = 1.0;
SI[27] = 1.0;
SI[28] = 1.0;
SI[29] = 1.0;
SI[30] = 1.0;
SI[31] = 1.0;
SI[32] = 1.0;
SI[33] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = VOI - CONSTANTS[0];
}