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 200 entries in the algebraic variable array.
   There are a total of 49 entries in each of the rate and state variable arrays.
   There are a total of 206 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (millisecond).
 * CONSTANTS[0] is celltype in component environment (dimensionless).
 * CONSTANTS[1] is nao in component extracellular (millimolar).
 * CONSTANTS[2] is cao in component extracellular (millimolar).
 * CONSTANTS[3] is ko in component extracellular (millimolar).
 * CONSTANTS[4] is R in component physical_constants (joule_per_kilomole_kelvin).
 * CONSTANTS[5] is T in component physical_constants (kelvin).
 * CONSTANTS[6] is F in component physical_constants (coulomb_per_mole).
 * CONSTANTS[7] is zna in component physical_constants (dimensionless).
 * CONSTANTS[8] is zca in component physical_constants (dimensionless).
 * CONSTANTS[9] is zk in component physical_constants (dimensionless).
 * CONSTANTS[10] is L in component cell_geometry (centimeter).
 * CONSTANTS[11] is rad in component cell_geometry (centimeter).
 * CONSTANTS[162] is vcell in component cell_geometry (microliter).
 * CONSTANTS[177] is Ageo in component cell_geometry (centimeter_squared).
 * CONSTANTS[183] is Acap in component cell_geometry (centimeter_squared).
 * CONSTANTS[184] is vmyo in component cell_geometry (microliter).
 * CONSTANTS[185] is vnsr in component cell_geometry (microliter).
 * CONSTANTS[186] is vjsr in component cell_geometry (microliter).
 * CONSTANTS[187] is vss in component cell_geometry (microliter).
 * STATES[0] is v in component membrane (millivolt).
 * ALGEBRAIC[1] is vfrt in component membrane (dimensionless).
 * CONSTANTS[169] is ffrt in component membrane (coulomb_per_mole_millivolt).
 * CONSTANTS[149] is frt in component membrane (per_millivolt).
 * ALGEBRAIC[23] is INa in component INa (microA_per_microF).
 * ALGEBRAIC[29] is INaL in component INaL (microA_per_microF).
 * ALGEBRAIC[48] is Ito in component Ito (microA_per_microF).
 * ALGEBRAIC[77] is ICaL in component ICaL (microA_per_microF).
 * ALGEBRAIC[78] is ICaNa in component ICaL (microA_per_microF).
 * ALGEBRAIC[79] is ICaK in component ICaL (microA_per_microF).
 * ALGEBRAIC[80] is IKr in component IKr (microA_per_microF).
 * ALGEBRAIC[86] is IKs in component IKs (microA_per_microF).
 * ALGEBRAIC[90] is IK1 in component IK1 (microA_per_microF).
 * ALGEBRAIC[122] is INaCa_i in component INaCa_i (microA_per_microF).
 * ALGEBRAIC[152] is INaCa_ss in component INaCa_i (microA_per_microF).
 * ALGEBRAIC[171] is INaK in component INaK (microA_per_microF).
 * ALGEBRAIC[176] is INab in component INab (microA_per_microF).
 * ALGEBRAIC[173] is IKb in component IKb (microA_per_microF).
 * ALGEBRAIC[180] is IpCa in component IpCa (microA_per_microF).
 * ALGEBRAIC[179] is ICab in component ICab (microA_per_microF).
 * ALGEBRAIC[0] is Istim in component membrane (microA_per_microF).
 * CONSTANTS[12] is i_Stim_Start in component membrane (millisecond).
 * CONSTANTS[13] is i_Stim_End in component membrane (millisecond).
 * CONSTANTS[14] is i_Stim_Amplitude in component membrane (microA_per_microF).
 * CONSTANTS[15] is i_Stim_Period in component membrane (millisecond).
 * CONSTANTS[16] is i_Stim_PulseDuration in component membrane (millisecond).
 * CONSTANTS[17] is KmCaMK in component CaMK (millimolar).
 * CONSTANTS[18] is aCaMK in component CaMK (per_millimolar_per_millisecond).
 * CONSTANTS[19] is bCaMK in component CaMK (per_millisecond).
 * CONSTANTS[20] is CaMKo in component CaMK (dimensionless).
 * CONSTANTS[21] is KmCaM in component CaMK (millimolar).
 * ALGEBRAIC[2] is CaMKb in component CaMK (millimolar).
 * ALGEBRAIC[3] is CaMKa in component CaMK (millimolar).
 * STATES[1] is CaMKt in component CaMK (millimolar).
 * STATES[2] is cass in component intracellular_ions (millimolar).
 * CONSTANTS[22] is cmdnmax_b in component intracellular_ions (millimolar).
 * CONSTANTS[150] is cmdnmax in component intracellular_ions (millimolar).
 * CONSTANTS[23] is kmcmdn in component intracellular_ions (millimolar).
 * CONSTANTS[24] is trpnmax in component intracellular_ions (millimolar).
 * CONSTANTS[25] is kmtrpn in component intracellular_ions (millimolar).
 * CONSTANTS[26] is BSRmax in component intracellular_ions (millimolar).
 * CONSTANTS[27] is KmBSR in component intracellular_ions (millimolar).
 * CONSTANTS[28] is BSLmax in component intracellular_ions (millimolar).
 * CONSTANTS[29] is KmBSL in component intracellular_ions (millimolar).
 * CONSTANTS[30] is csqnmax in component intracellular_ions (millimolar).
 * CONSTANTS[31] is kmcsqn in component intracellular_ions (millimolar).
 * STATES[3] is nai in component intracellular_ions (millimolar).
 * STATES[4] is nass in component intracellular_ions (millimolar).
 * STATES[5] is ki in component intracellular_ions (millimolar).
 * STATES[6] is kss in component intracellular_ions (millimolar).
 * STATES[7] is cansr in component intracellular_ions (millimolar).
 * STATES[8] is cajsr in component intracellular_ions (millimolar).
 * STATES[9] is cai in component intracellular_ions (millimolar).
 * ALGEBRAIC[181] is JdiffNa in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[183] is Jdiff in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[198] is Jup in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[182] is JdiffK in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[193] is Jrel in component ryr (millimolar_per_millisecond).
 * ALGEBRAIC[199] is Jtr in component trans_flux (millimolar_per_millisecond).
 * ALGEBRAIC[4] is Bcai in component intracellular_ions (dimensionless).
 * ALGEBRAIC[6] is Bcajsr in component intracellular_ions (dimensionless).
 * ALGEBRAIC[5] is Bcass in component intracellular_ions (dimensionless).
 * CONSTANTS[32] is cm in component intracellular_ions (microF_per_centimeter_squared).
 * CONSTANTS[33] is PKNa in component reversal_potentials (dimensionless).
 * ALGEBRAIC[7] is ENa in component reversal_potentials (millivolt).
 * ALGEBRAIC[8] is EK in component reversal_potentials (millivolt).
 * ALGEBRAIC[9] is EKs in component reversal_potentials (millivolt).
 * ALGEBRAIC[10] is mss in component INa (dimensionless).
 * ALGEBRAIC[11] is tm in component INa (millisecond).
 * CONSTANTS[34] is mssV1 in component INa (millivolt).
 * CONSTANTS[35] is mssV2 in component INa (millivolt).
 * CONSTANTS[36] is mtV1 in component INa (millivolt).
 * CONSTANTS[37] is mtV2 in component INa (millivolt).
 * CONSTANTS[38] is mtD1 in component INa (dimensionless).
 * CONSTANTS[39] is mtD2 in component INa (dimensionless).
 * CONSTANTS[40] is mtV3 in component INa (millivolt).
 * CONSTANTS[41] is mtV4 in component INa (millivolt).
 * STATES[10] is m in component INa (dimensionless).
 * ALGEBRAIC[12] is hss in component INa (dimensionless).
 * ALGEBRAIC[13] is thf in component INa (millisecond).
 * ALGEBRAIC[14] is ths in component INa (millisecond).
 * CONSTANTS[42] is hssV1 in component INa (millivolt).
 * CONSTANTS[43] is hssV2 in component INa (millivolt).
 * CONSTANTS[151] is Ahs in component INa (dimensionless).
 * CONSTANTS[44] is Ahf in component INa (dimensionless).
 * STATES[11] is hf in component INa (dimensionless).
 * STATES[12] is hs in component INa (dimensionless).
 * ALGEBRAIC[15] is h in component INa (dimensionless).
 * CONSTANTS[45] is GNa in component INa (milliS_per_microF).
 * CONSTANTS[46] is shift_INa_inact in component INa (millivolt).
 * ALGEBRAIC[16] is jss in component INa (dimensionless).
 * ALGEBRAIC[17] is tj in component INa (millisecond).
 * STATES[13] is j in component INa (dimensionless).
 * ALGEBRAIC[18] is hssp in component INa (dimensionless).
 * ALGEBRAIC[19] is thsp in component INa (millisecond).
 * STATES[14] is hsp in component INa (dimensionless).
 * ALGEBRAIC[20] is hp in component INa (dimensionless).
 * ALGEBRAIC[21] is tjp in component INa (millisecond).
 * STATES[15] is jp in component INa (dimensionless).
 * ALGEBRAIC[22] is fINap in component INa (dimensionless).
 * ALGEBRAIC[24] is mLss in component INaL (dimensionless).
 * ALGEBRAIC[25] is tmL in component INaL (millisecond).
 * STATES[16] is mL in component INaL (dimensionless).
 * CONSTANTS[47] is thL in component INaL (millisecond).
 * ALGEBRAIC[26] is hLss in component INaL (dimensionless).
 * STATES[17] is hL in component INaL (dimensionless).
 * ALGEBRAIC[27] is hLssp in component INaL (dimensionless).
 * CONSTANTS[152] is thLp in component INaL (millisecond).
 * STATES[18] is hLp in component INaL (dimensionless).
 * CONSTANTS[48] is GNaL_b in component INaL (milliS_per_microF).
 * CONSTANTS[153] is GNaL in component INaL (milliS_per_microF).
 * ALGEBRAIC[28] is fINaLp in component INaL (dimensionless).
 * CONSTANTS[49] is Gto_b in component Ito (milliS_per_microF).
 * ALGEBRAIC[30] is ass in component Ito (dimensionless).
 * ALGEBRAIC[31] is ta in component Ito (millisecond).
 * STATES[19] is a in component Ito (dimensionless).
 * ALGEBRAIC[32] is iss in component Ito (dimensionless).
 * ALGEBRAIC[33] is delta_epi in component Ito (dimensionless).
 * ALGEBRAIC[34] is tiF_b in component Ito (millisecond).
 * ALGEBRAIC[35] is tiS_b in component Ito (millisecond).
 * ALGEBRAIC[36] is tiF in component Ito (millisecond).
 * ALGEBRAIC[37] is tiS in component Ito (millisecond).
 * ALGEBRAIC[38] is AiF in component Ito (dimensionless).
 * ALGEBRAIC[39] is AiS in component Ito (dimensionless).
 * STATES[20] is iF in component Ito (dimensionless).
 * STATES[21] is iS in component Ito (dimensionless).
 * ALGEBRAIC[40] is i in component Ito (dimensionless).
 * ALGEBRAIC[41] is assp in component Ito (dimensionless).
 * STATES[22] is ap in component Ito (dimensionless).
 * ALGEBRAIC[42] is dti_develop in component Ito (dimensionless).
 * ALGEBRAIC[43] is dti_recover in component Ito (dimensionless).
 * ALGEBRAIC[44] is tiFp in component Ito (millisecond).
 * ALGEBRAIC[45] is tiSp in component Ito (millisecond).
 * STATES[23] is iFp in component Ito (dimensionless).
 * STATES[24] is iSp in component Ito (dimensionless).
 * ALGEBRAIC[46] is ip in component Ito (dimensionless).
 * CONSTANTS[154] is Gto in component Ito (milliS_per_microF).
 * ALGEBRAIC[47] is fItop in component Ito (dimensionless).
 * CONSTANTS[50] is Kmn in component ICaL (millimolar).
 * CONSTANTS[51] is k2n in component ICaL (per_millisecond).
 * CONSTANTS[52] is PCa_b in component ICaL (dimensionless).
 * ALGEBRAIC[49] is dss in component ICaL (dimensionless).
 * STATES[25] is d in component ICaL (dimensionless).
 * ALGEBRAIC[51] is fss in component ICaL (dimensionless).
 * CONSTANTS[155] is Aff in component ICaL (dimensionless).
 * CONSTANTS[170] is Afs in component ICaL (dimensionless).
 * STATES[26] is ff in component ICaL (dimensionless).
 * STATES[27] is fs in component ICaL (dimensionless).
 * ALGEBRAIC[54] is f in component ICaL (dimensionless).
 * ALGEBRAIC[55] is fcass in component ICaL (dimensionless).
 * ALGEBRAIC[58] is Afcaf in component ICaL (dimensionless).
 * ALGEBRAIC[59] is Afcas in component ICaL (dimensionless).
 * STATES[28] is fcaf in component ICaL (dimensionless).
 * STATES[29] is fcas in component ICaL (dimensionless).
 * ALGEBRAIC[60] is fca in component ICaL (dimensionless).
 * STATES[30] is jca in component ICaL (dimensionless).
 * STATES[31] is ffp in component ICaL (dimensionless).
 * ALGEBRAIC[62] is fp in component ICaL (dimensionless).
 * STATES[32] is fcafp in component ICaL (dimensionless).
 * ALGEBRAIC[64] is fcap in component ICaL (dimensionless).
 * ALGEBRAIC[65] is km2n in component ICaL (per_millisecond).
 * ALGEBRAIC[66] is anca in component ICaL (dimensionless).
 * STATES[33] is nca in component ICaL (dimensionless).
 * ALGEBRAIC[69] is PhiCaL in component ICaL (dimensionless).
 * ALGEBRAIC[72] is PhiCaNa in component ICaL (dimensionless).
 * ALGEBRAIC[75] is PhiCaK in component ICaL (dimensionless).
 * CONSTANTS[156] is PCa in component ICaL (dimensionless).
 * CONSTANTS[171] is PCap in component ICaL (dimensionless).
 * CONSTANTS[172] is PCaNa in component ICaL (dimensionless).
 * CONSTANTS[173] is PCaK in component ICaL (dimensionless).
 * CONSTANTS[181] is PCaNap in component ICaL (dimensionless).
 * CONSTANTS[182] is PCaKp in component ICaL (dimensionless).
 * ALGEBRAIC[76] is fICaLp in component ICaL (dimensionless).
 * ALGEBRAIC[50] is td in component ICaL (millisecond).
 * ALGEBRAIC[52] is tff in component ICaL (millisecond).
 * ALGEBRAIC[53] is tfs in component ICaL (millisecond).
 * ALGEBRAIC[56] is tfcaf in component ICaL (millisecond).
 * ALGEBRAIC[57] is tfcas in component ICaL (millisecond).
 * CONSTANTS[157] is tjca in component ICaL (millisecond).
 * ALGEBRAIC[61] is tffp in component ICaL (millisecond).
 * ALGEBRAIC[63] is tfcafp in component ICaL (millisecond).
 * CONSTANTS[158] is v0 in component ICaL (millivolt).
 * ALGEBRAIC[67] is A_1 in component ICaL (dimensionless).
 * CONSTANTS[174] is B_1 in component ICaL (per_millivolt).
 * ALGEBRAIC[68] is U_1 in component ICaL (dimensionless).
 * ALGEBRAIC[70] is A_2 in component ICaL (dimensionless).
 * CONSTANTS[175] is B_2 in component ICaL (per_millivolt).
 * ALGEBRAIC[71] is U_2 in component ICaL (dimensionless).
 * ALGEBRAIC[73] is A_3 in component ICaL (dimensionless).
 * CONSTANTS[176] is B_3 in component ICaL (per_millivolt).
 * ALGEBRAIC[74] is U_3 in component ICaL (dimensionless).
 * CONSTANTS[53] is GKr_b in component IKr (milliS_per_microF).
 * STATES[34] is IC1 in component IKr (dimensionless).
 * STATES[35] is IC2 in component IKr (dimensionless).
 * STATES[36] is C1 in component IKr (dimensionless).
 * STATES[37] is C2 in component IKr (dimensionless).
 * STATES[38] is O in component IKr (dimensionless).
 * STATES[39] is IO in component IKr (dimensionless).
 * STATES[40] is IObound in component IKr (dimensionless).
 * STATES[41] is Obound in component IKr (dimensionless).
 * STATES[42] is Cbound in component IKr (dimensionless).
 * STATES[43] is D in component IKr (dimensionless).
 * CONSTANTS[159] is GKr in component IKr (milliS_per_microF).
 * CONSTANTS[54] is A1 in component IKr (per_millisecond).
 * CONSTANTS[55] is B1 in component IKr (per_millivolt).
 * CONSTANTS[56] is q1 in component IKr (dimensionless).
 * CONSTANTS[57] is A2 in component IKr (per_millisecond).
 * CONSTANTS[58] is B2 in component IKr (per_millivolt).
 * CONSTANTS[59] is q2 in component IKr (dimensionless).
 * CONSTANTS[60] is A3 in component IKr (per_millisecond).
 * CONSTANTS[61] is B3 in component IKr (per_millivolt).
 * CONSTANTS[62] is q3 in component IKr (dimensionless).
 * CONSTANTS[63] is A4 in component IKr (per_millisecond).
 * CONSTANTS[64] is B4 in component IKr (per_millivolt).
 * CONSTANTS[65] is q4 in component IKr (dimensionless).
 * CONSTANTS[66] is A11 in component IKr (per_millisecond).
 * CONSTANTS[67] is B11 in component IKr (per_millivolt).
 * CONSTANTS[68] is q11 in component IKr (dimensionless).
 * CONSTANTS[69] is A21 in component IKr (per_millisecond).
 * CONSTANTS[70] is B21 in component IKr (per_millivolt).
 * CONSTANTS[71] is q21 in component IKr (dimensionless).
 * CONSTANTS[72] is A31 in component IKr (per_millisecond).
 * CONSTANTS[73] is B31 in component IKr (per_millivolt).
 * CONSTANTS[74] is q31 in component IKr (dimensionless).
 * CONSTANTS[75] is A41 in component IKr (per_millisecond).
 * CONSTANTS[76] is B41 in component IKr (per_millivolt).
 * CONSTANTS[77] is q41 in component IKr (dimensionless).
 * CONSTANTS[78] is A51 in component IKr (per_millisecond).
 * CONSTANTS[79] is B51 in component IKr (per_millivolt).
 * CONSTANTS[80] is q51 in component IKr (dimensionless).
 * CONSTANTS[81] is A52 in component IKr (per_millisecond).
 * CONSTANTS[82] is B52 in component IKr (per_millivolt).
 * CONSTANTS[83] is q52 in component IKr (dimensionless).
 * CONSTANTS[84] is A53 in component IKr (per_millisecond).
 * CONSTANTS[85] is B53 in component IKr (per_millivolt).
 * CONSTANTS[86] is q53 in component IKr (dimensionless).
 * CONSTANTS[87] is A61 in component IKr (per_millisecond).
 * CONSTANTS[88] is B61 in component IKr (per_millivolt).
 * CONSTANTS[89] is q61 in component IKr (dimensionless).
 * CONSTANTS[90] is A62 in component IKr (per_millisecond).
 * CONSTANTS[91] is B62 in component IKr (per_millivolt).
 * CONSTANTS[92] is q62 in component IKr (dimensionless).
 * CONSTANTS[93] is A63 in component IKr (per_millisecond).
 * CONSTANTS[94] is B63 in component IKr (per_millivolt).
 * CONSTANTS[95] is q63 in component IKr (dimensionless).
 * CONSTANTS[96] is Kmax in component IKr (dimensionless).
 * CONSTANTS[97] is Ku in component IKr (per_millisecond).
 * CONSTANTS[98] is n in component IKr (dimensionless).
 * CONSTANTS[99] is halfmax in component IKr (dimensionless).
 * CONSTANTS[100] is Kt in component IKr (per_millisecond).
 * CONSTANTS[101] is Vhalf in component IKr (millivolt).
 * CONSTANTS[102] is Temp in component IKr (dimensionless).
 * CONSTANTS[103] is GKs_b in component IKs (milliS_per_microF).
 * CONSTANTS[160] is GKs in component IKs (milliS_per_microF).
 * ALGEBRAIC[81] is xs1ss in component IKs (dimensionless).
 * ALGEBRAIC[83] is xs2ss in component IKs (dimensionless).
 * ALGEBRAIC[82] is txs1 in component IKs (millisecond).
 * CONSTANTS[104] is txs1_max in component IKs (millisecond).
 * STATES[44] is xs1 in component IKs (dimensionless).
 * STATES[45] is xs2 in component IKs (dimensionless).
 * ALGEBRAIC[85] is KsCa in component IKs (dimensionless).
 * ALGEBRAIC[84] is txs2 in component IKs (millisecond).
 * CONSTANTS[161] is GK1 in component IK1 (milliS_per_microF).
 * CONSTANTS[105] is GK1_b in component IK1 (milliS_per_microF).
 * ALGEBRAIC[87] is xk1ss in component IK1 (dimensionless).
 * ALGEBRAIC[88] is txk1 in component IK1 (millisecond).
 * STATES[46] is xk1 in component IK1 (dimensionless).
 * ALGEBRAIC[89] is rk1 in component IK1 (millisecond).
 * CONSTANTS[106] is kna1 in component INaCa_i (per_millisecond).
 * CONSTANTS[107] is kna2 in component INaCa_i (per_millisecond).
 * CONSTANTS[108] is kna3 in component INaCa_i (per_millisecond).
 * CONSTANTS[109] is kasymm in component INaCa_i (dimensionless).
 * CONSTANTS[110] is wna in component INaCa_i (dimensionless).
 * CONSTANTS[111] is wca in component INaCa_i (dimensionless).
 * CONSTANTS[112] is wnaca in component INaCa_i (dimensionless).
 * CONSTANTS[113] is kcaon in component INaCa_i (per_millisecond).
 * CONSTANTS[114] is kcaoff in component INaCa_i (per_millisecond).
 * CONSTANTS[115] is qna in component INaCa_i (dimensionless).
 * CONSTANTS[116] is qca in component INaCa_i (dimensionless).
 * ALGEBRAIC[92] is hna in component INaCa_i (dimensionless).
 * ALGEBRAIC[91] is hca in component INaCa_i (dimensionless).
 * CONSTANTS[117] is KmCaAct in component INaCa_i (millimolar).
 * CONSTANTS[118] is Gncx_b in component INaCa_i (milliS_per_microF).
 * CONSTANTS[194] is Gncx in component INaCa_i (milliS_per_microF).
 * ALGEBRAIC[93] is h1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[94] is h2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[95] is h3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[96] is h4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[97] is h5_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[98] is h6_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[99] is h7_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[100] is h8_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[101] is h9_i in component INaCa_i (dimensionless).
 * CONSTANTS[188] is h10_i in component INaCa_i (dimensionless).
 * CONSTANTS[189] is h11_i in component INaCa_i (dimensionless).
 * CONSTANTS[190] is h12_i in component INaCa_i (dimensionless).
 * CONSTANTS[191] is k1_i in component INaCa_i (dimensionless).
 * CONSTANTS[192] is k2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[102] is k3p_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[103] is k3pp_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[104] is k3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[107] is k4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[105] is k4p_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[106] is k4pp_i in component INaCa_i (dimensionless).
 * CONSTANTS[193] is k5_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[108] is k6_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[109] is k7_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[110] is k8_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[111] is x1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[112] is x2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[113] is x3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[114] is x4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[115] is E1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[116] is E2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[117] is E3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[118] is E4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[119] is allo_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[120] is JncxNa_i in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[121] is JncxCa_i in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[123] is h1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[124] is h2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[125] is h3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[126] is h4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[127] is h5_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[128] is h6_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[129] is h7_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[130] is h8_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[131] is h9_ss in component INaCa_i (dimensionless).
 * CONSTANTS[195] is h10_ss in component INaCa_i (dimensionless).
 * CONSTANTS[196] is h11_ss in component INaCa_i (dimensionless).
 * CONSTANTS[197] is h12_ss in component INaCa_i (dimensionless).
 * CONSTANTS[198] is k1_ss in component INaCa_i (dimensionless).
 * CONSTANTS[199] is k2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[132] is k3p_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[133] is k3pp_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[134] is k3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[137] is k4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[135] is k4p_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[136] is k4pp_ss in component INaCa_i (dimensionless).
 * CONSTANTS[200] is k5_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[138] is k6_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[139] is k7_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[140] is k8_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[141] is x1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[142] is x2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[143] is x3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[144] is x4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[145] is E1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[146] is E2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[147] is E3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[148] is E4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[149] is allo_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[150] is JncxNa_ss in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[151] is JncxCa_ss in component INaCa_i (millimolar_per_millisecond).
 * CONSTANTS[119] is k1p in component INaK (per_millisecond).
 * CONSTANTS[120] is k1m in component INaK (per_millisecond).
 * CONSTANTS[121] is k2p in component INaK (per_millisecond).
 * CONSTANTS[122] is k2m in component INaK (per_millisecond).
 * CONSTANTS[123] is k3p in component INaK (per_millisecond).
 * CONSTANTS[124] is k3m in component INaK (per_millisecond).
 * CONSTANTS[125] is k4p in component INaK (per_millisecond).
 * CONSTANTS[126] is k4m in component INaK (per_millisecond).
 * CONSTANTS[127] is Knai0 in component INaK (millimolar).
 * CONSTANTS[128] is Knao0 in component INaK (millimolar).
 * CONSTANTS[129] is delta in component INaK (millivolt).
 * CONSTANTS[130] is Kki in component INaK (per_millisecond).
 * CONSTANTS[131] is Kko in component INaK (per_millisecond).
 * CONSTANTS[132] is MgADP in component INaK (millimolar).
 * CONSTANTS[133] is MgATP in component INaK (millimolar).
 * CONSTANTS[134] is Kmgatp in component INaK (millimolar).
 * CONSTANTS[135] is H in component INaK (millimolar).
 * CONSTANTS[136] is eP in component INaK (dimensionless).
 * CONSTANTS[137] is Khp in component INaK (millimolar).
 * CONSTANTS[138] is Knap in component INaK (millimolar).
 * CONSTANTS[139] is Kxkur in component INaK (millimolar).
 * CONSTANTS[140] is Pnak_b in component INaK (milliS_per_microF).
 * CONSTANTS[204] is Pnak in component INaK (milliS_per_microF).
 * ALGEBRAIC[153] is Knai in component INaK (millimolar).
 * ALGEBRAIC[154] is Knao in component INaK (millimolar).
 * ALGEBRAIC[155] is P in component INaK (dimensionless).
 * ALGEBRAIC[156] is a1 in component INaK (dimensionless).
 * CONSTANTS[201] is b1 in component INaK (dimensionless).
 * CONSTANTS[202] is a2 in component INaK (dimensionless).
 * ALGEBRAIC[157] is b2 in component INaK (dimensionless).
 * ALGEBRAIC[158] is a3 in component INaK (dimensionless).
 * ALGEBRAIC[159] is b3 in component INaK (dimensionless).
 * CONSTANTS[203] is a4 in component INaK (dimensionless).
 * ALGEBRAIC[160] is b4 in component INaK (dimensionless).
 * ALGEBRAIC[161] is x1 in component INaK (dimensionless).
 * ALGEBRAIC[162] is x2 in component INaK (dimensionless).
 * ALGEBRAIC[163] is x3 in component INaK (dimensionless).
 * ALGEBRAIC[164] is x4 in component INaK (dimensionless).
 * ALGEBRAIC[165] is E1 in component INaK (dimensionless).
 * ALGEBRAIC[166] is E2 in component INaK (dimensionless).
 * ALGEBRAIC[167] is E3 in component INaK (dimensionless).
 * ALGEBRAIC[168] is E4 in component INaK (dimensionless).
 * ALGEBRAIC[169] is JnakNa in component INaK (millimolar_per_millisecond).
 * ALGEBRAIC[170] is JnakK in component INaK (millimolar_per_millisecond).
 * ALGEBRAIC[172] is xkb in component IKb (dimensionless).
 * CONSTANTS[141] is GKb_b in component IKb (milliS_per_microF).
 * CONSTANTS[163] is GKb in component IKb (milliS_per_microF).
 * CONSTANTS[142] is PNab in component INab (milliS_per_microF).
 * ALGEBRAIC[174] is A in component INab (microA_per_microF).
 * CONSTANTS[178] is B in component INab (per_millivolt).
 * CONSTANTS[164] is v0 in component INab (millivolt).
 * ALGEBRAIC[175] is U in component INab (dimensionless).
 * CONSTANTS[143] is PCab in component ICab (milliS_per_microF).
 * ALGEBRAIC[177] is A in component ICab (microA_per_microF).
 * CONSTANTS[179] is B in component ICab (per_millivolt).
 * CONSTANTS[165] is v0 in component ICab (millivolt).
 * ALGEBRAIC[178] is U in component ICab (dimensionless).
 * CONSTANTS[144] is GpCa in component IpCa (milliS_per_microF).
 * CONSTANTS[145] is KmCap in component IpCa (millimolar).
 * CONSTANTS[146] is bt in component ryr (millisecond).
 * CONSTANTS[166] is a_rel in component ryr (millisecond).
 * ALGEBRAIC[185] is Jrel_inf in component ryr (dimensionless).
 * ALGEBRAIC[187] is tau_rel in component ryr (millisecond).
 * ALGEBRAIC[189] is Jrel_infp in component ryr (dimensionless).
 * ALGEBRAIC[188] is Jrel_temp in component ryr (dimensionless).
 * ALGEBRAIC[191] is tau_relp in component ryr (millisecond).
 * STATES[47] is Jrelnp in component ryr (dimensionless).
 * STATES[48] is Jrelp in component ryr (dimensionless).
 * CONSTANTS[167] is btp in component ryr (millisecond).
 * CONSTANTS[180] is a_relp in component ryr (millisecond).
 * ALGEBRAIC[184] is Jrel_inf_temp in component ryr (dimensionless).
 * ALGEBRAIC[192] is fJrelp in component ryr (dimensionless).
 * CONSTANTS[147] is Jrel_scaling_factor in component ryr (dimensionless).
 * ALGEBRAIC[186] is tau_rel_temp in component ryr (millisecond).
 * ALGEBRAIC[190] is tau_relp_temp in component ryr (millisecond).
 * CONSTANTS[168] is upScale in component SERCA (dimensionless).
 * ALGEBRAIC[194] is Jupnp in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[195] is Jupp in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[196] is fJupp in component SERCA (dimensionless).
 * ALGEBRAIC[197] is Jleak in component SERCA (millimolar_per_millisecond).
 * CONSTANTS[148] is Jup_b in component SERCA (dimensionless).
 * RATES[0] is d/dt v in component membrane (millivolt).
 * RATES[1] is d/dt CaMKt in component CaMK (millimolar).
 * RATES[3] is d/dt nai in component intracellular_ions (millimolar).
 * RATES[4] is d/dt nass in component intracellular_ions (millimolar).
 * RATES[5] is d/dt ki in component intracellular_ions (millimolar).
 * RATES[6] is d/dt kss in component intracellular_ions (millimolar).
 * RATES[9] is d/dt cai in component intracellular_ions (millimolar).
 * RATES[2] is d/dt cass in component intracellular_ions (millimolar).
 * RATES[7] is d/dt cansr in component intracellular_ions (millimolar).
 * RATES[8] is d/dt cajsr in component intracellular_ions (millimolar).
 * RATES[10] is d/dt m in component INa (dimensionless).
 * RATES[11] is d/dt hf in component INa (dimensionless).
 * RATES[12] is d/dt hs in component INa (dimensionless).
 * RATES[13] is d/dt j in component INa (dimensionless).
 * RATES[14] is d/dt hsp in component INa (dimensionless).
 * RATES[15] is d/dt jp in component INa (dimensionless).
 * RATES[16] is d/dt mL in component INaL (dimensionless).
 * RATES[17] is d/dt hL in component INaL (dimensionless).
 * RATES[18] is d/dt hLp in component INaL (dimensionless).
 * RATES[19] is d/dt a in component Ito (dimensionless).
 * RATES[20] is d/dt iF in component Ito (dimensionless).
 * RATES[21] is d/dt iS in component Ito (dimensionless).
 * RATES[22] is d/dt ap in component Ito (dimensionless).
 * RATES[23] is d/dt iFp in component Ito (dimensionless).
 * RATES[24] is d/dt iSp in component Ito (dimensionless).
 * RATES[25] is d/dt d in component ICaL (dimensionless).
 * RATES[26] is d/dt ff in component ICaL (dimensionless).
 * RATES[27] is d/dt fs in component ICaL (dimensionless).
 * RATES[28] is d/dt fcaf in component ICaL (dimensionless).
 * RATES[29] is d/dt fcas in component ICaL (dimensionless).
 * RATES[30] is d/dt jca in component ICaL (dimensionless).
 * RATES[31] is d/dt ffp in component ICaL (dimensionless).
 * RATES[32] is d/dt fcafp in component ICaL (dimensionless).
 * RATES[33] is d/dt nca in component ICaL (dimensionless).
 * RATES[34] is d/dt IC1 in component IKr (dimensionless).
 * RATES[35] is d/dt IC2 in component IKr (dimensionless).
 * RATES[36] is d/dt C1 in component IKr (dimensionless).
 * RATES[37] is d/dt C2 in component IKr (dimensionless).
 * RATES[38] is d/dt O in component IKr (dimensionless).
 * RATES[39] is d/dt IO in component IKr (dimensionless).
 * RATES[40] is d/dt IObound in component IKr (dimensionless).
 * RATES[41] is d/dt Obound in component IKr (dimensionless).
 * RATES[42] is d/dt Cbound in component IKr (dimensionless).
 * RATES[43] is d/dt D in component IKr (dimensionless).
 * RATES[44] is d/dt xs1 in component IKs (dimensionless).
 * RATES[45] is d/dt xs2 in component IKs (dimensionless).
 * RATES[46] is d/dt xk1 in component IK1 (dimensionless).
 * RATES[47] is d/dt Jrelnp in component ryr (dimensionless).
 * RATES[48] is d/dt Jrelp in component ryr (dimensionless).
 * There are a total of 15 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 0;
CONSTANTS[1] = 140;
CONSTANTS[2] = 1.8;
CONSTANTS[3] = 5.4;
CONSTANTS[4] = 8314;
CONSTANTS[5] = 310;
CONSTANTS[6] = 96485;
CONSTANTS[7] = 1;
CONSTANTS[8] = 2;
CONSTANTS[9] = 1;
CONSTANTS[10] = 0.01;
CONSTANTS[11] = 0.0011;
STATES[0] = -88.00190465;
CONSTANTS[12] = 10;
CONSTANTS[13] = 100000000000000000;
CONSTANTS[14] = -80;
CONSTANTS[15] = 1000;
CONSTANTS[16] = 0.5;
CONSTANTS[17] = 0.15;
CONSTANTS[18] = 0.05;
CONSTANTS[19] = 0.00068;
CONSTANTS[20] = 0.05;
CONSTANTS[21] = 0.0015;
STATES[1] = 0.0125840447;
STATES[2] = 8.49e-05;
CONSTANTS[22] = 0.05;
CONSTANTS[23] = 0.00238;
CONSTANTS[24] = 0.07;
CONSTANTS[25] = 0.0005;
CONSTANTS[26] = 0.047;
CONSTANTS[27] = 0.00087;
CONSTANTS[28] = 1.124;
CONSTANTS[29] = 0.0087;
CONSTANTS[30] = 10;
CONSTANTS[31] = 0.8;
STATES[3] = 7.268004498;
STATES[4] = 7.268089977;
STATES[5] = 144.6555918;
STATES[6] = 144.6555651;
STATES[7] = 1.619574538;
STATES[8] = 1.571234014;
STATES[9] = 8.6e-05;
CONSTANTS[32] = 1;
CONSTANTS[33] = 0.01833;
CONSTANTS[34] = 39.57;
CONSTANTS[35] = 9.871;
CONSTANTS[36] = 11.64;
CONSTANTS[37] = 34.77;
CONSTANTS[38] = 6.765;
CONSTANTS[39] = 8.552;
CONSTANTS[40] = 77.42;
CONSTANTS[41] = 5.955;
STATES[10] = 0.007344121102;
CONSTANTS[42] = 82.9;
CONSTANTS[43] = 6.086;
CONSTANTS[44] = 0.99;
STATES[11] = 0.6981071913;
STATES[12] = 0.6980895801;
CONSTANTS[45] = 75;
CONSTANTS[46] = 0;
STATES[13] = 0.6979908432;
STATES[14] = 0.4549485525;
STATES[15] = 0.6979245865;
STATES[16] = 0.0001882617273;
CONSTANTS[47] = 200;
STATES[17] = 0.5008548855;
STATES[18] = 0.2693065357;
CONSTANTS[48] = 0.019957499999999975;
CONSTANTS[49] = 0.02;
STATES[19] = 0.001001097687;
STATES[20] = 0.9995541745;
STATES[21] = 0.5865061736;
STATES[22] = 0.0005100862934;
STATES[23] = 0.9995541823;
STATES[24] = 0.6393399482;
CONSTANTS[50] = 0.002;
CONSTANTS[51] = 1000;
CONSTANTS[52] = 0.0001007;
STATES[25] = 2.34e-9;
STATES[26] = 0.9999999909;
STATES[27] = 0.9102412777;
STATES[28] = 0.9999999909;
STATES[29] = 0.9998046777;
STATES[30] = 0.9999738312;
STATES[31] = 0.9999999909;
STATES[32] = 0.9999999909;
STATES[33] = 0.002749414044;
CONSTANTS[53] = 0.04658545454545456;
STATES[34] = 0.999637;
STATES[35] = 6.83208e-05;
STATES[36] = 1.80145e-08;
STATES[37] = 8.26619e-05;
STATES[38] = 0.00015551;
STATES[39] = 5.67623e-05;
STATES[40] = 0;
STATES[41] = 0;
STATES[42] = 0;
STATES[43] = 0;
CONSTANTS[54] = 0.0264;
CONSTANTS[55] = 4.631E-05;
CONSTANTS[56] = 4.843;
CONSTANTS[57] = 4.986E-06;
CONSTANTS[58] = -0.004226;
CONSTANTS[59] = 4.23;
CONSTANTS[60] = 0.001214;
CONSTANTS[61] = 0.008516;
CONSTANTS[62] = 4.962;
CONSTANTS[63] = 1.854E-05;
CONSTANTS[64] = -0.04641;
CONSTANTS[65] = 3.769;
CONSTANTS[66] = 0.0007868;
CONSTANTS[67] = 1.535E-08;
CONSTANTS[68] = 4.942;
CONSTANTS[69] = 5.455E-06;
CONSTANTS[70] = -0.1688;
CONSTANTS[71] = 4.156;
CONSTANTS[72] = 0.005509;
CONSTANTS[73] = 7.771E-09;
CONSTANTS[74] = 4.22;
CONSTANTS[75] = 0.001416;
CONSTANTS[76] = -0.02877;
CONSTANTS[77] = 1.459;
CONSTANTS[78] = 0.4492;
CONSTANTS[79] = 0.008595;
CONSTANTS[80] = 5;
CONSTANTS[81] = 0.3181;
CONSTANTS[82] = 3.613E-08;
CONSTANTS[83] = 4.663;
CONSTANTS[84] = 0.149;
CONSTANTS[85] = 0.004668;
CONSTANTS[86] = 2.412;
CONSTANTS[87] = 0.01241;
CONSTANTS[88] = 0.1725;
CONSTANTS[89] = 5.568;
CONSTANTS[90] = 0.3226;
CONSTANTS[91] = -0.0006575;
CONSTANTS[92] = 5;
CONSTANTS[93] = 0.008978;
CONSTANTS[94] = -0.02215;
CONSTANTS[95] = 5.682;
CONSTANTS[96] = 0;
CONSTANTS[97] = 0;
CONSTANTS[98] = 1;
CONSTANTS[99] = 1;
CONSTANTS[100] = 0;
CONSTANTS[101] = 1;
CONSTANTS[102] = 37;
CONSTANTS[103] = 0.006358000000000001;
CONSTANTS[104] = 817.3;
STATES[44] = 0.2707758025;
STATES[45] = 0.0001928503426;
CONSTANTS[105] = 0.3239783999999998;
STATES[46] = 0.9967597594;
CONSTANTS[106] = 15;
CONSTANTS[107] = 5;
CONSTANTS[108] = 88.12;
CONSTANTS[109] = 12.5;
CONSTANTS[110] = 6e4;
CONSTANTS[111] = 6e4;
CONSTANTS[112] = 5e3;
CONSTANTS[113] = 1.5e6;
CONSTANTS[114] = 5e3;
CONSTANTS[115] = 0.5224;
CONSTANTS[116] = 0.167;
CONSTANTS[117] = 150e-6;
CONSTANTS[118] = 0.0008;
CONSTANTS[119] = 949.5;
CONSTANTS[120] = 182.4;
CONSTANTS[121] = 687.2;
CONSTANTS[122] = 39.4;
CONSTANTS[123] = 1899;
CONSTANTS[124] = 79300;
CONSTANTS[125] = 639;
CONSTANTS[126] = 40;
CONSTANTS[127] = 9.073;
CONSTANTS[128] = 27.78;
CONSTANTS[129] = -0.155;
CONSTANTS[130] = 0.5;
CONSTANTS[131] = 0.3582;
CONSTANTS[132] = 0.05;
CONSTANTS[133] = 9.8;
CONSTANTS[134] = 1.698e-7;
CONSTANTS[135] = 1e-7;
CONSTANTS[136] = 4.2;
CONSTANTS[137] = 1.698e-7;
CONSTANTS[138] = 224;
CONSTANTS[139] = 292;
CONSTANTS[140] = 30;
CONSTANTS[141] = 0.003;
CONSTANTS[142] = 3.75e-10;
CONSTANTS[143] = 2.5e-8;
CONSTANTS[144] = 0.0005;
CONSTANTS[145] = 0.0005;
CONSTANTS[146] = 4.75;
STATES[47] = 2.5e-7;
STATES[48] = 3.12e-7;
CONSTANTS[147] = 1.0;
CONSTANTS[148] = 1.0;
CONSTANTS[149] = CONSTANTS[6]/( CONSTANTS[4]*CONSTANTS[5]);
CONSTANTS[150] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[22]*1.30000 : CONSTANTS[22]);
CONSTANTS[151] = 1.00000 - CONSTANTS[44];
CONSTANTS[152] =  3.00000*CONSTANTS[47];
CONSTANTS[153] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[48]*0.600000 : CONSTANTS[48]);
CONSTANTS[154] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[49]*4.00000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[49]*4.00000 : CONSTANTS[49]);
CONSTANTS[155] = 0.600000;
CONSTANTS[156] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[52]*1.20000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[52]*2.50000 : CONSTANTS[52]);
CONSTANTS[157] = 75.0000;
CONSTANTS[158] = 0.00000;
CONSTANTS[159] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[53]*1.30000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[53]*0.800000 : CONSTANTS[53]);
CONSTANTS[160] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[103]*1.40000 : CONSTANTS[103]);
CONSTANTS[161] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[105]*1.20000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[105]*1.30000 : CONSTANTS[105]);
CONSTANTS[162] =  1000.00*3.14000*CONSTANTS[11]*CONSTANTS[11]*CONSTANTS[10];
CONSTANTS[163] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[141]*0.600000 : CONSTANTS[141]);
CONSTANTS[164] = 0.00000;
CONSTANTS[165] = 0.00000;
CONSTANTS[166] =  0.500000*CONSTANTS[146];
CONSTANTS[167] =  1.25000*CONSTANTS[146];
CONSTANTS[168] = (CONSTANTS[0]==1.00000 ? 1.30000 : 1.00000);
CONSTANTS[205] = 0.00000;
CONSTANTS[169] =  CONSTANTS[6]*CONSTANTS[149];
CONSTANTS[170] = 1.00000 - CONSTANTS[155];
CONSTANTS[171] =  1.10000*CONSTANTS[156];
CONSTANTS[172] =  0.00125000*CONSTANTS[156];
CONSTANTS[173] =  0.000357400*CONSTANTS[156];
CONSTANTS[174] =  2.00000*CONSTANTS[149];
CONSTANTS[175] = CONSTANTS[149];
CONSTANTS[176] = CONSTANTS[149];
CONSTANTS[177] =  2.00000*3.14000*CONSTANTS[11]*CONSTANTS[11]+ 2.00000*3.14000*CONSTANTS[11]*CONSTANTS[10];
CONSTANTS[178] = CONSTANTS[149];
CONSTANTS[179] =  2.00000*CONSTANTS[149];
CONSTANTS[180] =  0.500000*CONSTANTS[167];
CONSTANTS[181] =  0.00125000*CONSTANTS[171];
CONSTANTS[182] =  0.000357400*CONSTANTS[171];
CONSTANTS[183] =  2.00000*CONSTANTS[177];
CONSTANTS[184] =  0.680000*CONSTANTS[162];
CONSTANTS[185] =  0.0552000*CONSTANTS[162];
CONSTANTS[186] =  0.00480000*CONSTANTS[162];
CONSTANTS[187] =  0.0200000*CONSTANTS[162];
CONSTANTS[188] = CONSTANTS[109]+1.00000+ (CONSTANTS[1]/CONSTANTS[106])*(1.00000+CONSTANTS[1]/CONSTANTS[107]);
CONSTANTS[189] = ( CONSTANTS[1]*CONSTANTS[1])/( CONSTANTS[188]*CONSTANTS[106]*CONSTANTS[107]);
CONSTANTS[190] = 1.00000/CONSTANTS[188];
CONSTANTS[191] =  CONSTANTS[190]*CONSTANTS[2]*CONSTANTS[113];
CONSTANTS[192] = CONSTANTS[114];
CONSTANTS[193] = CONSTANTS[114];
CONSTANTS[194] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[118]*1.10000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[118]*1.40000 : CONSTANTS[118]);
CONSTANTS[195] = CONSTANTS[109]+1.00000+ (CONSTANTS[1]/CONSTANTS[106])*(1.00000+CONSTANTS[1]/CONSTANTS[107]);
CONSTANTS[196] = ( CONSTANTS[1]*CONSTANTS[1])/( CONSTANTS[195]*CONSTANTS[106]*CONSTANTS[107]);
CONSTANTS[197] = 1.00000/CONSTANTS[195];
CONSTANTS[198] =  CONSTANTS[197]*CONSTANTS[2]*CONSTANTS[113];
CONSTANTS[199] = CONSTANTS[114];
CONSTANTS[200] = CONSTANTS[114];
CONSTANTS[201] =  CONSTANTS[120]*CONSTANTS[132];
CONSTANTS[202] = CONSTANTS[121];
CONSTANTS[203] = (( CONSTANTS[125]*CONSTANTS[133])/CONSTANTS[134])/(1.00000+CONSTANTS[133]/CONSTANTS[134]);
CONSTANTS[204] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[140]*0.900000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[140]*0.700000 : CONSTANTS[140]);
RATES[0] = 0.1001;
RATES[1] = 0.1001;
RATES[3] = 0.1001;
RATES[4] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[9] = 0.1001;
RATES[2] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 0.1001;
RATES[10] = 0.1001;
RATES[11] = 0.1001;
RATES[12] = 0.1001;
RATES[13] = 0.1001;
RATES[14] = 0.1001;
RATES[15] = 0.1001;
RATES[16] = 0.1001;
RATES[17] = 0.1001;
RATES[18] = 0.1001;
RATES[19] = 0.1001;
RATES[20] = 0.1001;
RATES[21] = 0.1001;
RATES[22] = 0.1001;
RATES[23] = 0.1001;
RATES[24] = 0.1001;
RATES[25] = 0.1001;
RATES[26] = 0.1001;
RATES[27] = 0.1001;
RATES[28] = 0.1001;
RATES[29] = 0.1001;
RATES[30] = 0.1001;
RATES[31] = 0.1001;
RATES[32] = 0.1001;
RATES[33] = 0.1001;
RATES[34] = 0.1001;
RATES[35] = 0.1001;
RATES[36] = 0.1001;
RATES[37] = 0.1001;
RATES[38] = 0.1001;
RATES[39] = 0.1001;
RATES[40] = 0.1001;
RATES[41] = 0.1001;
RATES[42] = 0.1001;
RATES[44] = 0.1001;
RATES[45] = 0.1001;
RATES[46] = 0.1001;
RATES[47] = 0.1001;
RATES[48] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - - (ALGEBRAIC[23]+ALGEBRAIC[29]+ALGEBRAIC[48]+ALGEBRAIC[77]+ALGEBRAIC[78]+ALGEBRAIC[79]+ALGEBRAIC[80]+ALGEBRAIC[86]+ALGEBRAIC[90]+ALGEBRAIC[122]+ALGEBRAIC[152]+ALGEBRAIC[171]+ALGEBRAIC[176]+ALGEBRAIC[173]+ALGEBRAIC[180]+ALGEBRAIC[179]+ALGEBRAIC[0]);
resid[1] = RATES[1] -  CONSTANTS[18]*ALGEBRAIC[2]*(ALGEBRAIC[2]+STATES[1]) -  CONSTANTS[19]*STATES[1];
resid[2] = RATES[3] - ( - (ALGEBRAIC[23]+ALGEBRAIC[29]+ 3.00000*ALGEBRAIC[122]+ 3.00000*ALGEBRAIC[171]+ALGEBRAIC[176])*CONSTANTS[183]*CONSTANTS[32])/( CONSTANTS[6]*CONSTANTS[184])+( ALGEBRAIC[181]*CONSTANTS[187])/CONSTANTS[184];
resid[3] = RATES[4] - ( - (ALGEBRAIC[78]+ 3.00000*ALGEBRAIC[152])*CONSTANTS[32]*CONSTANTS[183])/( CONSTANTS[6]*CONSTANTS[187]) - ALGEBRAIC[181];
resid[4] = RATES[5] - ( - ((ALGEBRAIC[48]+ALGEBRAIC[80]+ALGEBRAIC[86]+ALGEBRAIC[90]+ALGEBRAIC[173]+ALGEBRAIC[0]) -  2.00000*ALGEBRAIC[171])*CONSTANTS[32]*CONSTANTS[183])/( CONSTANTS[6]*CONSTANTS[184])+( ALGEBRAIC[182]*CONSTANTS[187])/CONSTANTS[184];
resid[5] = RATES[6] - ( - ALGEBRAIC[79]*CONSTANTS[32]*CONSTANTS[183])/( CONSTANTS[6]*CONSTANTS[187]) - ALGEBRAIC[182];
resid[6] = RATES[9] -  ALGEBRAIC[4]*((( - ((ALGEBRAIC[180]+ALGEBRAIC[179]) -  2.00000*ALGEBRAIC[122])*CONSTANTS[32]*CONSTANTS[183])/( 2.00000*CONSTANTS[6]*CONSTANTS[184]) - ( ALGEBRAIC[198]*CONSTANTS[185])/CONSTANTS[184])+( ALGEBRAIC[183]*CONSTANTS[187])/CONSTANTS[184]);
resid[7] = RATES[2] -  ALGEBRAIC[5]*((( - (ALGEBRAIC[77] -  2.00000*ALGEBRAIC[152])*CONSTANTS[32]*CONSTANTS[183])/( 2.00000*CONSTANTS[6]*CONSTANTS[187])+( ALGEBRAIC[193]*CONSTANTS[186])/CONSTANTS[187]) - ALGEBRAIC[183]);
resid[8] = RATES[7] - ALGEBRAIC[198] - ( ALGEBRAIC[199]*CONSTANTS[186])/CONSTANTS[185];
resid[9] = RATES[8] -  ALGEBRAIC[6]*(ALGEBRAIC[199] - ALGEBRAIC[193]);
resid[10] = RATES[10] - (ALGEBRAIC[10] - STATES[10])/ALGEBRAIC[11];
resid[11] = RATES[11] - (ALGEBRAIC[12] - STATES[11])/ALGEBRAIC[13];
resid[12] = RATES[12] - (ALGEBRAIC[12] - STATES[12])/ALGEBRAIC[14];
resid[13] = RATES[13] - (ALGEBRAIC[16] - STATES[13])/ALGEBRAIC[17];
resid[14] = RATES[14] - (ALGEBRAIC[18] - STATES[14])/ALGEBRAIC[19];
resid[15] = RATES[15] - (ALGEBRAIC[16] - STATES[15])/ALGEBRAIC[21];
resid[16] = RATES[16] - (ALGEBRAIC[24] - STATES[16])/ALGEBRAIC[25];
resid[17] = RATES[17] - (ALGEBRAIC[26] - STATES[17])/CONSTANTS[47];
resid[18] = RATES[18] - (ALGEBRAIC[27] - STATES[18])/CONSTANTS[152];
resid[19] = RATES[19] - (ALGEBRAIC[30] - STATES[19])/ALGEBRAIC[31];
resid[20] = RATES[20] - (ALGEBRAIC[32] - STATES[20])/ALGEBRAIC[36];
resid[21] = RATES[21] - (ALGEBRAIC[32] - STATES[21])/ALGEBRAIC[37];
resid[22] = RATES[22] - (ALGEBRAIC[41] - STATES[22])/ALGEBRAIC[31];
resid[23] = RATES[23] - (ALGEBRAIC[32] - STATES[23])/ALGEBRAIC[44];
resid[24] = RATES[24] - (ALGEBRAIC[32] - STATES[24])/ALGEBRAIC[45];
resid[25] = RATES[25] - (ALGEBRAIC[49] - STATES[25])/ALGEBRAIC[50];
resid[26] = RATES[26] - (ALGEBRAIC[51] - STATES[26])/ALGEBRAIC[52];
resid[27] = RATES[27] - (ALGEBRAIC[51] - STATES[27])/ALGEBRAIC[53];
resid[28] = RATES[28] - (ALGEBRAIC[55] - STATES[28])/ALGEBRAIC[56];
resid[29] = RATES[29] - (ALGEBRAIC[55] - STATES[29])/ALGEBRAIC[57];
resid[30] = RATES[30] - (ALGEBRAIC[55] - STATES[30])/CONSTANTS[157];
resid[31] = RATES[31] - (ALGEBRAIC[51] - STATES[31])/ALGEBRAIC[61];
resid[32] = RATES[32] - (ALGEBRAIC[55] - STATES[32])/ALGEBRAIC[63];
resid[33] = RATES[33] -  ALGEBRAIC[66]*CONSTANTS[51] -  STATES[33]*ALGEBRAIC[65];
resid[34] = RATES[34] - (- ( CONSTANTS[66]*exp( CONSTANTS[67]*STATES[0])*STATES[34]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[68]))/10.0000) -  CONSTANTS[69]*exp( CONSTANTS[70]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[71]))/10.0000))+ CONSTANTS[78]*exp( CONSTANTS[79]*STATES[0])*STATES[36]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[80]))/10.0000)) -  CONSTANTS[87]*exp( CONSTANTS[88]*STATES[0])*STATES[34]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[89]))/10.0000);
resid[35] = RATES[35] - ((( CONSTANTS[66]*exp( CONSTANTS[67]*STATES[0])*STATES[34]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[68]))/10.0000) -  CONSTANTS[69]*exp( CONSTANTS[70]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[71]))/10.0000)) - ( CONSTANTS[60]*exp( CONSTANTS[61]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[62]))/10.0000) -  CONSTANTS[63]*exp( CONSTANTS[64]*STATES[0])*STATES[39]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[65]))/10.0000)))+ CONSTANTS[81]*exp( CONSTANTS[82]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[83]))/10.0000)) -  CONSTANTS[90]*exp( CONSTANTS[91]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[92]))/10.0000);
resid[36] = RATES[36] - - ( CONSTANTS[54]*exp( CONSTANTS[55]*STATES[0])*STATES[36]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[56]))/10.0000) -  CONSTANTS[57]*exp( CONSTANTS[58]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[59]))/10.0000)) - ( CONSTANTS[78]*exp( CONSTANTS[79]*STATES[0])*STATES[36]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[80]))/10.0000) -  CONSTANTS[87]*exp( CONSTANTS[88]*STATES[0])*STATES[34]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[89]))/10.0000));
resid[37] = RATES[37] - (( CONSTANTS[54]*exp( CONSTANTS[55]*STATES[0])*STATES[36]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[56]))/10.0000) -  CONSTANTS[57]*exp( CONSTANTS[58]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[59]))/10.0000)) - ( CONSTANTS[72]*exp( CONSTANTS[73]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[74]))/10.0000) -  CONSTANTS[75]*exp( CONSTANTS[76]*STATES[0])*STATES[38]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[77]))/10.0000))) - ( CONSTANTS[81]*exp( CONSTANTS[82]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[83]))/10.0000) -  CONSTANTS[90]*exp( CONSTANTS[91]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[92]))/10.0000));
resid[38] = RATES[38] - (( CONSTANTS[72]*exp( CONSTANTS[73]*STATES[0])*STATES[37]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[74]))/10.0000) -  CONSTANTS[75]*exp( CONSTANTS[76]*STATES[0])*STATES[38]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[77]))/10.0000)) - ( CONSTANTS[84]*exp( CONSTANTS[85]*STATES[0])*STATES[38]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[86]))/10.0000) -  CONSTANTS[93]*exp( CONSTANTS[94]*STATES[0])*STATES[39]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[95]))/10.0000))) - ( (( CONSTANTS[96]*CONSTANTS[97]*exp( CONSTANTS[98]*log(STATES[43])))/(exp( CONSTANTS[98]*log(STATES[43]))+CONSTANTS[99]))*STATES[38] -  CONSTANTS[97]*STATES[41]);
resid[39] = RATES[39] - ((( CONSTANTS[60]*exp( CONSTANTS[61]*STATES[0])*STATES[35]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[62]))/10.0000) -  CONSTANTS[63]*exp( CONSTANTS[64]*STATES[0])*STATES[39]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[65]))/10.0000))+ CONSTANTS[84]*exp( CONSTANTS[85]*STATES[0])*STATES[38]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[86]))/10.0000)) -  CONSTANTS[93]*exp( CONSTANTS[94]*STATES[0])*STATES[39]*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[95]))/10.0000)) - ( (( CONSTANTS[96]*CONSTANTS[97]*exp( CONSTANTS[98]*log(STATES[43])))/(exp( CONSTANTS[98]*log(STATES[43]))+CONSTANTS[99]))*STATES[39] -  (( CONSTANTS[97]*CONSTANTS[84]*exp( CONSTANTS[85]*STATES[0])*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[86]))/10.0000))/( CONSTANTS[93]*exp( CONSTANTS[94]*STATES[0])*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[95]))/10.0000)))*STATES[40]);
resid[40] = RATES[40] - (( (( CONSTANTS[96]*CONSTANTS[97]*exp( CONSTANTS[98]*log(STATES[43])))/(exp( CONSTANTS[98]*log(STATES[43]))+CONSTANTS[99]))*STATES[39] -  (( CONSTANTS[97]*CONSTANTS[84]*exp( CONSTANTS[85]*STATES[0])*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[86]))/10.0000))/( CONSTANTS[93]*exp( CONSTANTS[94]*STATES[0])*exp(( (CONSTANTS[102] - 20.0000)*log(CONSTANTS[95]))/10.0000)))*STATES[40])+ (CONSTANTS[100]/(1.00000+exp(- (STATES[0] - CONSTANTS[101])/6.78900)))*STATES[42]) -  CONSTANTS[100]*STATES[40];
resid[41] = RATES[41] - (( (( CONSTANTS[96]*CONSTANTS[97]*exp( CONSTANTS[98]*log(STATES[43])))/(exp( CONSTANTS[98]*log(STATES[43]))+CONSTANTS[99]))*STATES[38] -  CONSTANTS[97]*STATES[41])+ (CONSTANTS[100]/(1.00000+exp(- (STATES[0] - CONSTANTS[101])/6.78900)))*STATES[42]) -  CONSTANTS[100]*STATES[41];
resid[42] = RATES[42] - - ( (CONSTANTS[100]/(1.00000+exp(- (STATES[0] - CONSTANTS[101])/6.78900)))*STATES[42] -  CONSTANTS[100]*STATES[41]) - ( (CONSTANTS[100]/(1.00000+exp(- (STATES[0] - CONSTANTS[101])/6.78900)))*STATES[42] -  CONSTANTS[100]*STATES[40]);
resid[43] = RATES[44] - (ALGEBRAIC[81] - STATES[44])/ALGEBRAIC[82];
resid[44] = RATES[45] - (ALGEBRAIC[83] - STATES[45])/ALGEBRAIC[84];
resid[45] = RATES[46] - (ALGEBRAIC[87] - STATES[46])/ALGEBRAIC[88];
resid[46] = RATES[47] - (ALGEBRAIC[185] - STATES[47])/ALGEBRAIC[187];
resid[47] = RATES[48] - (ALGEBRAIC[189] - STATES[48])/ALGEBRAIC[191];
resid[48] = RATES[43] - CONSTANTS[205];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] = (CONDVAR[0]>=0.00000&&CONDVAR[1]<=0.00000&&CONDVAR[2]<=0.00000 ? CONSTANTS[14] : 0.00000);
ALGEBRAIC[2] = ( CONSTANTS[20]*(1.00000 - STATES[1]))/(1.00000+CONSTANTS[21]/STATES[2]);
ALGEBRAIC[4] = 1.00000/(1.00000+( CONSTANTS[150]*CONSTANTS[23])/pow(CONSTANTS[23]+STATES[9], 2.00000)+( CONSTANTS[24]*CONSTANTS[25])/pow(CONSTANTS[25]+STATES[9], 2.00000));
ALGEBRAIC[5] = 1.00000/(1.00000+( CONSTANTS[26]*CONSTANTS[27])/pow(CONSTANTS[27]+STATES[2], 2.00000)+( CONSTANTS[28]*CONSTANTS[29])/pow(CONSTANTS[29]+STATES[2], 2.00000));
ALGEBRAIC[6] = 1.00000/(1.00000+( CONSTANTS[30]*CONSTANTS[31])/pow(CONSTANTS[31]+STATES[8], 2.00000));
ALGEBRAIC[10] = 1.00000/(1.00000+exp(- (STATES[0]+CONSTANTS[34])/CONSTANTS[35]));
ALGEBRAIC[11] = 1.00000/( CONSTANTS[38]*exp((STATES[0]+CONSTANTS[36])/CONSTANTS[37])+ CONSTANTS[39]*exp(- (STATES[0]+CONSTANTS[40])/CONSTANTS[41]));
ALGEBRAIC[12] = 1.00000/(1.00000+exp(((STATES[0]+CONSTANTS[42]) - CONSTANTS[46])/CONSTANTS[43]));
ALGEBRAIC[13] = 1.00000/( 1.43200e-05*exp(- ((STATES[0]+1.19600) - CONSTANTS[46])/6.28500)+ 6.14900*exp(((STATES[0]+0.509600) - CONSTANTS[46])/20.2700));
ALGEBRAIC[14] = 1.00000/( 0.00979400*exp(- ((STATES[0]+17.9500) - CONSTANTS[46])/28.0500)+ 0.334300*exp(((STATES[0]+5.73000) - CONSTANTS[46])/56.6600));
ALGEBRAIC[16] = ALGEBRAIC[12];
ALGEBRAIC[17] = 2.03800+1.00000/( 0.0213600*exp(- ((STATES[0]+100.600) - CONSTANTS[46])/8.28100)+ 0.305200*exp(((STATES[0]+0.994100) - CONSTANTS[46])/38.4500));
ALGEBRAIC[18] = 1.00000/(1.00000+exp(((STATES[0]+89.1000) - CONSTANTS[46])/6.08600));
ALGEBRAIC[19] =  3.00000*ALGEBRAIC[14];
ALGEBRAIC[21] =  1.46000*ALGEBRAIC[17];
ALGEBRAIC[7] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log(CONSTANTS[1]/STATES[3]);
ALGEBRAIC[15] =  CONSTANTS[44]*STATES[11]+ CONSTANTS[151]*STATES[12];
ALGEBRAIC[20] =  CONSTANTS[44]*STATES[11]+ CONSTANTS[151]*STATES[14];
ALGEBRAIC[3] = ALGEBRAIC[2]+STATES[1];
ALGEBRAIC[22] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[23] =  CONSTANTS[45]*(STATES[0] - ALGEBRAIC[7])*pow(STATES[10], 3.00000)*( (1.00000 - ALGEBRAIC[22])*ALGEBRAIC[15]*STATES[13]+ ALGEBRAIC[22]*ALGEBRAIC[20]*STATES[15]);
ALGEBRAIC[24] = 1.00000/(1.00000+exp(- (STATES[0]+42.8500)/5.26400));
ALGEBRAIC[25] = ALGEBRAIC[11];
ALGEBRAIC[26] = 1.00000/(1.00000+exp((STATES[0]+87.6100)/7.48800));
ALGEBRAIC[27] = 1.00000/(1.00000+exp((STATES[0]+93.8100)/7.48800));
ALGEBRAIC[28] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[29] =  CONSTANTS[153]*(STATES[0] - ALGEBRAIC[7])*STATES[16]*( (1.00000 - ALGEBRAIC[28])*STATES[17]+ ALGEBRAIC[28]*STATES[18]);
ALGEBRAIC[30] = 1.00000/(1.00000+exp(- (STATES[0] - 14.3400)/14.8200));
ALGEBRAIC[31] = 1.05150/(1.00000/( 1.20890*(1.00000+exp(- (STATES[0] - 18.4099)/29.3814)))+3.50000/(1.00000+exp((STATES[0]+100.000)/29.3814)));
ALGEBRAIC[32] = 1.00000/(1.00000+exp((STATES[0]+43.9400)/5.71100));
ALGEBRAIC[33] = (CONSTANTS[0]==1.00000 ? 1.00000 - 0.950000/(1.00000+exp((STATES[0]+70.0000)/5.00000)) : 1.00000);
ALGEBRAIC[34] = 4.56200+1.00000/( 0.393300*exp(- (STATES[0]+100.000)/100.000)+ 0.0800400*exp((STATES[0]+50.0000)/16.5900));
ALGEBRAIC[36] =  ALGEBRAIC[34]*ALGEBRAIC[33];
ALGEBRAIC[35] = 23.6200+1.00000/( 0.00141600*exp(- (STATES[0]+96.5200)/59.0500)+ 1.78000e-08*exp((STATES[0]+114.100)/8.07900));
ALGEBRAIC[37] =  ALGEBRAIC[35]*ALGEBRAIC[33];
ALGEBRAIC[41] = 1.00000/(1.00000+exp(- (STATES[0] - 24.3400)/14.8200));
ALGEBRAIC[42] = 1.35400+0.000100000/(exp((STATES[0] - 167.400)/15.8900)+exp(- (STATES[0] - 12.2300)/0.215400));
ALGEBRAIC[43] = 1.00000 - 0.500000/(1.00000+exp((STATES[0]+70.0000)/20.0000));
ALGEBRAIC[44] =  ALGEBRAIC[42]*ALGEBRAIC[43]*ALGEBRAIC[36];
ALGEBRAIC[45] =  ALGEBRAIC[42]*ALGEBRAIC[43]*ALGEBRAIC[37];
ALGEBRAIC[8] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log(CONSTANTS[3]/STATES[5]);
ALGEBRAIC[38] = 1.00000/(1.00000+exp((STATES[0] - 213.600)/151.200));
ALGEBRAIC[39] = 1.00000 - ALGEBRAIC[38];
ALGEBRAIC[40] =  ALGEBRAIC[38]*STATES[20]+ ALGEBRAIC[39]*STATES[21];
ALGEBRAIC[46] =  ALGEBRAIC[38]*STATES[23]+ ALGEBRAIC[39]*STATES[24];
ALGEBRAIC[47] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[48] =  CONSTANTS[154]*(STATES[0] - ALGEBRAIC[8])*( (1.00000 - ALGEBRAIC[47])*STATES[19]*ALGEBRAIC[40]+ ALGEBRAIC[47]*STATES[22]*ALGEBRAIC[46]);
ALGEBRAIC[49] = 1.00000/(1.00000+exp(- (STATES[0]+3.94000)/4.23000));
ALGEBRAIC[50] = 0.600000+1.00000/(exp( - 0.0500000*(STATES[0]+6.00000))+exp( 0.0900000*(STATES[0]+14.0000)));
ALGEBRAIC[51] = 1.00000/(1.00000+exp((STATES[0]+19.5800)/3.69600));
ALGEBRAIC[52] = 7.00000+1.00000/( 0.00450000*exp(- (STATES[0]+20.0000)/10.0000)+ 0.00450000*exp((STATES[0]+20.0000)/10.0000));
ALGEBRAIC[53] = 1000.00+1.00000/( 3.50000e-05*exp(- (STATES[0]+5.00000)/4.00000)+ 3.50000e-05*exp((STATES[0]+5.00000)/6.00000));
ALGEBRAIC[55] = ALGEBRAIC[51];
ALGEBRAIC[56] = 7.00000+1.00000/( 0.0400000*exp(- (STATES[0] - 4.00000)/7.00000)+ 0.0400000*exp((STATES[0] - 4.00000)/7.00000));
ALGEBRAIC[57] = 100.000+1.00000/( 0.000120000*exp(- STATES[0]/3.00000)+ 0.000120000*exp(STATES[0]/7.00000));
ALGEBRAIC[61] =  2.50000*ALGEBRAIC[52];
ALGEBRAIC[63] =  2.50000*ALGEBRAIC[56];
ALGEBRAIC[65] =  STATES[30]*1.00000;
ALGEBRAIC[66] = 1.00000/(CONSTANTS[51]/ALGEBRAIC[65]+pow(1.00000+CONSTANTS[50]/STATES[2], 4.00000));
ALGEBRAIC[54] =  CONSTANTS[155]*STATES[26]+ CONSTANTS[170]*STATES[27];
ALGEBRAIC[58] = 0.300000+0.600000/(1.00000+exp((STATES[0] - 10.0000)/10.0000));
ALGEBRAIC[59] = 1.00000 - ALGEBRAIC[58];
ALGEBRAIC[60] =  ALGEBRAIC[58]*STATES[28]+ ALGEBRAIC[59]*STATES[29];
ALGEBRAIC[62] =  CONSTANTS[155]*STATES[31]+ CONSTANTS[170]*STATES[27];
ALGEBRAIC[64] =  ALGEBRAIC[58]*STATES[32]+ ALGEBRAIC[59]*STATES[29];
ALGEBRAIC[1] =  STATES[0]*CONSTANTS[149];
ALGEBRAIC[67] = ( 4.00000*CONSTANTS[169]*( STATES[2]*exp( 2.00000*ALGEBRAIC[1]) -  0.341000*CONSTANTS[2]))/CONSTANTS[174];
ALGEBRAIC[68] =  CONSTANTS[174]*(STATES[0] - CONSTANTS[158]);
ALGEBRAIC[69] = (CONDVAR[3]<=0.00000&&CONDVAR[4]<=0.00000 ?  ALGEBRAIC[67]*(1.00000 -  0.500000*ALGEBRAIC[68]) : ( ALGEBRAIC[67]*ALGEBRAIC[68])/(exp(ALGEBRAIC[68]) - 1.00000));
ALGEBRAIC[76] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[77] =  (1.00000 - ALGEBRAIC[76])*CONSTANTS[156]*ALGEBRAIC[69]*STATES[25]*( ALGEBRAIC[54]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[60]*STATES[33])+ ALGEBRAIC[76]*CONSTANTS[171]*ALGEBRAIC[69]*STATES[25]*( ALGEBRAIC[62]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[64]*STATES[33]);
ALGEBRAIC[70] = ( 0.750000*CONSTANTS[169]*( STATES[4]*exp(ALGEBRAIC[1]) - CONSTANTS[1]))/CONSTANTS[175];
ALGEBRAIC[71] =  CONSTANTS[175]*(STATES[0] - CONSTANTS[158]);
ALGEBRAIC[72] = (CONDVAR[5]<=0.00000&&CONDVAR[6]<=0.00000 ?  ALGEBRAIC[70]*(1.00000 -  0.500000*ALGEBRAIC[71]) : ( ALGEBRAIC[70]*ALGEBRAIC[71])/(exp(ALGEBRAIC[71]) - 1.00000));
ALGEBRAIC[78] =  (1.00000 - ALGEBRAIC[76])*CONSTANTS[172]*ALGEBRAIC[72]*STATES[25]*( ALGEBRAIC[54]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[60]*STATES[33])+ ALGEBRAIC[76]*CONSTANTS[181]*ALGEBRAIC[72]*STATES[25]*( ALGEBRAIC[62]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[64]*STATES[33]);
ALGEBRAIC[73] = ( 0.750000*CONSTANTS[169]*( STATES[6]*exp(ALGEBRAIC[1]) - CONSTANTS[3]))/CONSTANTS[176];
ALGEBRAIC[74] =  CONSTANTS[176]*(STATES[0] - CONSTANTS[158]);
ALGEBRAIC[75] = (CONDVAR[7]<=0.00000&&CONDVAR[8]<=0.00000 ?  ALGEBRAIC[73]*(1.00000 -  0.500000*ALGEBRAIC[74]) : ( ALGEBRAIC[73]*ALGEBRAIC[74])/(exp(ALGEBRAIC[74]) - 1.00000));
ALGEBRAIC[79] =  (1.00000 - ALGEBRAIC[76])*CONSTANTS[173]*ALGEBRAIC[75]*STATES[25]*( ALGEBRAIC[54]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[60]*STATES[33])+ ALGEBRAIC[76]*CONSTANTS[182]*ALGEBRAIC[75]*STATES[25]*( ALGEBRAIC[62]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[64]*STATES[33]);
ALGEBRAIC[80] =  CONSTANTS[159]* pow((CONSTANTS[3]/5.40000), 1.0 / 2)*STATES[38]*(STATES[0] - ALGEBRAIC[8]);
ALGEBRAIC[81] = 1.00000/(1.00000+exp(- (STATES[0]+11.6000)/8.93200));
ALGEBRAIC[82] = CONSTANTS[104]+1.00000/( 0.000232600*exp((STATES[0]+48.2800)/17.8000)+ 0.00129200*exp(- (STATES[0]+210.000)/230.000));
ALGEBRAIC[83] = ALGEBRAIC[81];
ALGEBRAIC[84] = 1.00000/( 0.0100000*exp((STATES[0] - 50.0000)/20.0000)+ 0.0193000*exp(- (STATES[0]+66.5400)/31.0000));
ALGEBRAIC[9] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log((CONSTANTS[3]+ CONSTANTS[33]*CONSTANTS[1])/(STATES[5]+ CONSTANTS[33]*STATES[3]));
ALGEBRAIC[85] = 1.00000+0.600000/(1.00000+pow(3.80000e-05/STATES[9], 1.40000));
ALGEBRAIC[86] =  CONSTANTS[160]*ALGEBRAIC[85]*STATES[44]*STATES[45]*(STATES[0] - ALGEBRAIC[9]);
ALGEBRAIC[87] = 1.00000/(1.00000+exp(- (STATES[0]+ 2.55380*CONSTANTS[3]+144.590)/( 1.56920*CONSTANTS[3]+3.81150)));
ALGEBRAIC[88] = 122.200/(exp(- (STATES[0]+127.200)/20.3600)+exp((STATES[0]+236.800)/69.3300));
ALGEBRAIC[89] = 1.00000/(1.00000+exp(((STATES[0]+105.800) -  2.60000*CONSTANTS[3])/9.49300));
ALGEBRAIC[90] =  CONSTANTS[161]* pow(CONSTANTS[3], 1.0 / 2)*ALGEBRAIC[89]*STATES[46]*(STATES[0] - ALGEBRAIC[8]);
ALGEBRAIC[119] = 1.00000/(1.00000+pow(CONSTANTS[117]/STATES[9], 2.00000));
ALGEBRAIC[92] = exp(( CONSTANTS[115]*STATES[0]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[99] = 1.00000+ (CONSTANTS[1]/CONSTANTS[108])*(1.00000+1.00000/ALGEBRAIC[92]);
ALGEBRAIC[100] = CONSTANTS[1]/( CONSTANTS[108]*ALGEBRAIC[92]*ALGEBRAIC[99]);
ALGEBRAIC[103] =  ALGEBRAIC[100]*CONSTANTS[112];
ALGEBRAIC[93] = 1.00000+ (STATES[3]/CONSTANTS[108])*(1.00000+ALGEBRAIC[92]);
ALGEBRAIC[94] = ( STATES[3]*ALGEBRAIC[92])/( CONSTANTS[108]*ALGEBRAIC[93]);
ALGEBRAIC[106] =  ALGEBRAIC[94]*CONSTANTS[112];
ALGEBRAIC[96] = 1.00000+ (STATES[3]/CONSTANTS[106])*(1.00000+STATES[3]/CONSTANTS[107]);
ALGEBRAIC[97] = ( STATES[3]*STATES[3])/( ALGEBRAIC[96]*CONSTANTS[106]*CONSTANTS[107]);
ALGEBRAIC[109] =  ALGEBRAIC[97]*ALGEBRAIC[94]*CONSTANTS[110];
ALGEBRAIC[110] =  ALGEBRAIC[100]*CONSTANTS[189]*CONSTANTS[110];
ALGEBRAIC[101] = 1.00000/ALGEBRAIC[99];
ALGEBRAIC[102] =  ALGEBRAIC[101]*CONSTANTS[111];
ALGEBRAIC[104] = ALGEBRAIC[102]+ALGEBRAIC[103];
ALGEBRAIC[91] = exp(( CONSTANTS[116]*STATES[0]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[95] = 1.00000/ALGEBRAIC[93];
ALGEBRAIC[105] = ( ALGEBRAIC[95]*CONSTANTS[111])/ALGEBRAIC[91];
ALGEBRAIC[107] = ALGEBRAIC[105]+ALGEBRAIC[106];
ALGEBRAIC[98] = 1.00000/ALGEBRAIC[96];
ALGEBRAIC[108] =  ALGEBRAIC[98]*STATES[9]*CONSTANTS[113];
ALGEBRAIC[111] =  CONSTANTS[192]*ALGEBRAIC[107]*(ALGEBRAIC[109]+ALGEBRAIC[108])+ CONSTANTS[193]*ALGEBRAIC[109]*(CONSTANTS[192]+ALGEBRAIC[104]);
ALGEBRAIC[112] =  CONSTANTS[191]*ALGEBRAIC[109]*(ALGEBRAIC[107]+CONSTANTS[193])+ ALGEBRAIC[107]*ALGEBRAIC[108]*(CONSTANTS[191]+ALGEBRAIC[110]);
ALGEBRAIC[113] =  CONSTANTS[191]*ALGEBRAIC[104]*(ALGEBRAIC[109]+ALGEBRAIC[108])+ ALGEBRAIC[110]*ALGEBRAIC[108]*(CONSTANTS[192]+ALGEBRAIC[104]);
ALGEBRAIC[114] =  CONSTANTS[192]*ALGEBRAIC[110]*(ALGEBRAIC[107]+CONSTANTS[193])+ ALGEBRAIC[104]*CONSTANTS[193]*(CONSTANTS[191]+ALGEBRAIC[110]);
ALGEBRAIC[115] = ALGEBRAIC[111]/(ALGEBRAIC[111]+ALGEBRAIC[112]+ALGEBRAIC[113]+ALGEBRAIC[114]);
ALGEBRAIC[116] = ALGEBRAIC[112]/(ALGEBRAIC[111]+ALGEBRAIC[112]+ALGEBRAIC[113]+ALGEBRAIC[114]);
ALGEBRAIC[117] = ALGEBRAIC[113]/(ALGEBRAIC[111]+ALGEBRAIC[112]+ALGEBRAIC[113]+ALGEBRAIC[114]);
ALGEBRAIC[118] = ALGEBRAIC[114]/(ALGEBRAIC[111]+ALGEBRAIC[112]+ALGEBRAIC[113]+ALGEBRAIC[114]);
ALGEBRAIC[120] = ( 3.00000*( ALGEBRAIC[118]*ALGEBRAIC[109] -  ALGEBRAIC[115]*ALGEBRAIC[110])+ ALGEBRAIC[117]*ALGEBRAIC[106]) -  ALGEBRAIC[116]*ALGEBRAIC[103];
ALGEBRAIC[121] =  ALGEBRAIC[116]*CONSTANTS[192] -  ALGEBRAIC[115]*CONSTANTS[191];
ALGEBRAIC[122] =  0.800000*CONSTANTS[194]*ALGEBRAIC[119]*( CONSTANTS[7]*ALGEBRAIC[120]+ CONSTANTS[8]*ALGEBRAIC[121]);
ALGEBRAIC[149] = 1.00000/(1.00000+pow(CONSTANTS[117]/STATES[2], 2.00000));
ALGEBRAIC[129] = 1.00000+ (CONSTANTS[1]/CONSTANTS[108])*(1.00000+1.00000/ALGEBRAIC[92]);
ALGEBRAIC[130] = CONSTANTS[1]/( CONSTANTS[108]*ALGEBRAIC[92]*ALGEBRAIC[129]);
ALGEBRAIC[133] =  ALGEBRAIC[130]*CONSTANTS[112];
ALGEBRAIC[123] = 1.00000+ (STATES[4]/CONSTANTS[108])*(1.00000+ALGEBRAIC[92]);
ALGEBRAIC[124] = ( STATES[4]*ALGEBRAIC[92])/( CONSTANTS[108]*ALGEBRAIC[123]);
ALGEBRAIC[136] =  ALGEBRAIC[124]*CONSTANTS[112];
ALGEBRAIC[126] = 1.00000+ (STATES[4]/CONSTANTS[106])*(1.00000+STATES[4]/CONSTANTS[107]);
ALGEBRAIC[127] = ( STATES[4]*STATES[4])/( ALGEBRAIC[126]*CONSTANTS[106]*CONSTANTS[107]);
ALGEBRAIC[139] =  ALGEBRAIC[127]*ALGEBRAIC[124]*CONSTANTS[110];
ALGEBRAIC[140] =  ALGEBRAIC[130]*CONSTANTS[196]*CONSTANTS[110];
ALGEBRAIC[131] = 1.00000/ALGEBRAIC[129];
ALGEBRAIC[132] =  ALGEBRAIC[131]*CONSTANTS[111];
ALGEBRAIC[134] = ALGEBRAIC[132]+ALGEBRAIC[133];
ALGEBRAIC[125] = 1.00000/ALGEBRAIC[123];
ALGEBRAIC[135] = ( ALGEBRAIC[125]*CONSTANTS[111])/ALGEBRAIC[91];
ALGEBRAIC[137] = ALGEBRAIC[135]+ALGEBRAIC[136];
ALGEBRAIC[128] = 1.00000/ALGEBRAIC[126];
ALGEBRAIC[138] =  ALGEBRAIC[128]*STATES[2]*CONSTANTS[113];
ALGEBRAIC[141] =  CONSTANTS[199]*ALGEBRAIC[137]*(ALGEBRAIC[139]+ALGEBRAIC[138])+ CONSTANTS[200]*ALGEBRAIC[139]*(CONSTANTS[199]+ALGEBRAIC[134]);
ALGEBRAIC[142] =  CONSTANTS[198]*ALGEBRAIC[139]*(ALGEBRAIC[137]+CONSTANTS[200])+ ALGEBRAIC[137]*ALGEBRAIC[138]*(CONSTANTS[198]+ALGEBRAIC[140]);
ALGEBRAIC[143] =  CONSTANTS[198]*ALGEBRAIC[134]*(ALGEBRAIC[139]+ALGEBRAIC[138])+ ALGEBRAIC[140]*ALGEBRAIC[138]*(CONSTANTS[199]+ALGEBRAIC[134]);
ALGEBRAIC[144] =  CONSTANTS[199]*ALGEBRAIC[140]*(ALGEBRAIC[137]+CONSTANTS[200])+ ALGEBRAIC[134]*CONSTANTS[200]*(CONSTANTS[198]+ALGEBRAIC[140]);
ALGEBRAIC[145] = ALGEBRAIC[141]/(ALGEBRAIC[141]+ALGEBRAIC[142]+ALGEBRAIC[143]+ALGEBRAIC[144]);
ALGEBRAIC[146] = ALGEBRAIC[142]/(ALGEBRAIC[141]+ALGEBRAIC[142]+ALGEBRAIC[143]+ALGEBRAIC[144]);
ALGEBRAIC[147] = ALGEBRAIC[143]/(ALGEBRAIC[141]+ALGEBRAIC[142]+ALGEBRAIC[143]+ALGEBRAIC[144]);
ALGEBRAIC[148] = ALGEBRAIC[144]/(ALGEBRAIC[141]+ALGEBRAIC[142]+ALGEBRAIC[143]+ALGEBRAIC[144]);
ALGEBRAIC[150] = ( 3.00000*( ALGEBRAIC[148]*ALGEBRAIC[139] -  ALGEBRAIC[145]*ALGEBRAIC[140])+ ALGEBRAIC[147]*ALGEBRAIC[136]) -  ALGEBRAIC[146]*ALGEBRAIC[133];
ALGEBRAIC[151] =  ALGEBRAIC[146]*CONSTANTS[199] -  ALGEBRAIC[145]*CONSTANTS[198];
ALGEBRAIC[152] =  0.200000*CONSTANTS[194]*ALGEBRAIC[149]*( CONSTANTS[7]*ALGEBRAIC[150]+ CONSTANTS[8]*ALGEBRAIC[151]);
ALGEBRAIC[154] =  CONSTANTS[128]*exp(( (1.00000 - CONSTANTS[129])*STATES[0]*CONSTANTS[6])/( 3.00000*CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[158] = ( CONSTANTS[123]*pow(CONSTANTS[3]/CONSTANTS[131], 2.00000))/((pow(1.00000+CONSTANTS[1]/ALGEBRAIC[154], 3.00000)+pow(1.00000+CONSTANTS[3]/CONSTANTS[131], 2.00000)) - 1.00000);
ALGEBRAIC[155] = CONSTANTS[136]/(1.00000+CONSTANTS[135]/CONSTANTS[137]+STATES[3]/CONSTANTS[138]+STATES[5]/CONSTANTS[139]);
ALGEBRAIC[159] = ( CONSTANTS[124]*ALGEBRAIC[155]*CONSTANTS[135])/(1.00000+CONSTANTS[133]/CONSTANTS[134]);
ALGEBRAIC[153] =  CONSTANTS[127]*exp(( CONSTANTS[129]*STATES[0]*CONSTANTS[6])/( 3.00000*CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[156] = ( CONSTANTS[119]*pow(STATES[3]/ALGEBRAIC[153], 3.00000))/((pow(1.00000+STATES[3]/ALGEBRAIC[153], 3.00000)+pow(1.00000+STATES[5]/CONSTANTS[130], 2.00000)) - 1.00000);
ALGEBRAIC[157] = ( CONSTANTS[122]*pow(CONSTANTS[1]/ALGEBRAIC[154], 3.00000))/((pow(1.00000+CONSTANTS[1]/ALGEBRAIC[154], 3.00000)+pow(1.00000+CONSTANTS[3]/CONSTANTS[131], 2.00000)) - 1.00000);
ALGEBRAIC[160] = ( CONSTANTS[126]*pow(STATES[5]/CONSTANTS[130], 2.00000))/((pow(1.00000+STATES[3]/ALGEBRAIC[153], 3.00000)+pow(1.00000+STATES[5]/CONSTANTS[130], 2.00000)) - 1.00000);
ALGEBRAIC[161] =  CONSTANTS[203]*ALGEBRAIC[156]*CONSTANTS[202]+ ALGEBRAIC[157]*ALGEBRAIC[160]*ALGEBRAIC[159]+ CONSTANTS[202]*ALGEBRAIC[160]*ALGEBRAIC[159]+ ALGEBRAIC[159]*ALGEBRAIC[156]*CONSTANTS[202];
ALGEBRAIC[162] =  ALGEBRAIC[157]*CONSTANTS[201]*ALGEBRAIC[160]+ ALGEBRAIC[156]*CONSTANTS[202]*ALGEBRAIC[158]+ ALGEBRAIC[158]*CONSTANTS[201]*ALGEBRAIC[160]+ CONSTANTS[202]*ALGEBRAIC[158]*ALGEBRAIC[160];
ALGEBRAIC[163] =  CONSTANTS[202]*ALGEBRAIC[158]*CONSTANTS[203]+ ALGEBRAIC[159]*ALGEBRAIC[157]*CONSTANTS[201]+ ALGEBRAIC[157]*CONSTANTS[201]*CONSTANTS[203]+ ALGEBRAIC[158]*CONSTANTS[203]*CONSTANTS[201];
ALGEBRAIC[164] =  ALGEBRAIC[160]*ALGEBRAIC[159]*ALGEBRAIC[157]+ ALGEBRAIC[158]*CONSTANTS[203]*ALGEBRAIC[156]+ ALGEBRAIC[157]*CONSTANTS[203]*ALGEBRAIC[156]+ ALGEBRAIC[159]*ALGEBRAIC[157]*ALGEBRAIC[156];
ALGEBRAIC[165] = ALGEBRAIC[161]/(ALGEBRAIC[161]+ALGEBRAIC[162]+ALGEBRAIC[163]+ALGEBRAIC[164]);
ALGEBRAIC[166] = ALGEBRAIC[162]/(ALGEBRAIC[161]+ALGEBRAIC[162]+ALGEBRAIC[163]+ALGEBRAIC[164]);
ALGEBRAIC[169] =  3.00000*( ALGEBRAIC[165]*ALGEBRAIC[158] -  ALGEBRAIC[166]*ALGEBRAIC[159]);
ALGEBRAIC[167] = ALGEBRAIC[163]/(ALGEBRAIC[161]+ALGEBRAIC[162]+ALGEBRAIC[163]+ALGEBRAIC[164]);
ALGEBRAIC[168] = ALGEBRAIC[164]/(ALGEBRAIC[161]+ALGEBRAIC[162]+ALGEBRAIC[163]+ALGEBRAIC[164]);
ALGEBRAIC[170] =  2.00000*( ALGEBRAIC[168]*CONSTANTS[201] -  ALGEBRAIC[167]*ALGEBRAIC[156]);
ALGEBRAIC[171] =  CONSTANTS[204]*( CONSTANTS[7]*ALGEBRAIC[169]+ CONSTANTS[9]*ALGEBRAIC[170]);
ALGEBRAIC[172] = 1.00000/(1.00000+exp(- (STATES[0] - 14.4800)/18.3400));
ALGEBRAIC[173] =  CONSTANTS[163]*ALGEBRAIC[172]*(STATES[0] - ALGEBRAIC[8]);
ALGEBRAIC[174] = ( CONSTANTS[142]*CONSTANTS[169]*( STATES[3]*exp(ALGEBRAIC[1]) - CONSTANTS[1]))/CONSTANTS[178];
ALGEBRAIC[175] =  CONSTANTS[178]*(STATES[0] - CONSTANTS[164]);
ALGEBRAIC[176] = (CONDVAR[9]<=0.00000&&CONDVAR[10]<=0.00000 ?  ALGEBRAIC[174]*(1.00000 -  0.500000*ALGEBRAIC[175]) : ( ALGEBRAIC[174]*ALGEBRAIC[175])/(exp(ALGEBRAIC[175]) - 1.00000));
ALGEBRAIC[177] = ( CONSTANTS[143]*4.00000*CONSTANTS[169]*( STATES[9]*exp( 2.00000*ALGEBRAIC[1]) -  0.341000*CONSTANTS[2]))/CONSTANTS[179];
ALGEBRAIC[178] =  CONSTANTS[179]*(STATES[0] - CONSTANTS[165]);
ALGEBRAIC[179] = (CONDVAR[11]<=0.00000&&CONDVAR[12]<=0.00000 ?  ALGEBRAIC[177]*(1.00000 -  0.500000*ALGEBRAIC[178]) : ( ALGEBRAIC[177]*ALGEBRAIC[178])/(exp(ALGEBRAIC[178]) - 1.00000));
ALGEBRAIC[180] = ( CONSTANTS[144]*STATES[9])/(CONSTANTS[145]+STATES[9]);
ALGEBRAIC[181] = (STATES[4] - STATES[3])/2.00000;
ALGEBRAIC[182] = (STATES[6] - STATES[5])/2.00000;
ALGEBRAIC[183] = (STATES[2] - STATES[9])/0.200000;
ALGEBRAIC[184] = ( CONSTANTS[166]*- ALGEBRAIC[77])/(1.00000+ 1.00000*pow(1.50000/STATES[8], 8.00000));
ALGEBRAIC[185] = (CONSTANTS[0]==2.00000 ?  ALGEBRAIC[184]*1.70000 : ALGEBRAIC[184]);
ALGEBRAIC[186] = CONSTANTS[146]/(1.00000+0.0123000/STATES[8]);
ALGEBRAIC[187] = (CONDVAR[13]<0.00000 ? 0.00100000 : ALGEBRAIC[186]);
ALGEBRAIC[188] = ( CONSTANTS[180]*- ALGEBRAIC[77])/(1.00000+pow(1.50000/STATES[8], 8.00000));
ALGEBRAIC[189] = (CONSTANTS[0]==2.00000 ?  ALGEBRAIC[188]*1.70000 : ALGEBRAIC[188]);
ALGEBRAIC[190] = CONSTANTS[167]/(1.00000+0.0123000/STATES[8]);
ALGEBRAIC[191] = (CONDVAR[14]<0.00000 ? 0.00100000 : ALGEBRAIC[190]);
ALGEBRAIC[192] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[193] =  CONSTANTS[147]*( (1.00000 - ALGEBRAIC[192])*STATES[47]+ ALGEBRAIC[192]*STATES[48]);
ALGEBRAIC[194] = ( CONSTANTS[168]*0.00437500*STATES[9])/(STATES[9]+0.000920000);
ALGEBRAIC[195] = ( CONSTANTS[168]*2.75000*0.00437500*STATES[9])/((STATES[9]+0.000920000) - 0.000170000);
ALGEBRAIC[196] = 1.00000/(1.00000+CONSTANTS[17]/ALGEBRAIC[3]);
ALGEBRAIC[197] = ( 0.00393750*STATES[7])/15.0000;
ALGEBRAIC[198] =  CONSTANTS[148]*(( (1.00000 - ALGEBRAIC[196])*ALGEBRAIC[194]+ ALGEBRAIC[196]*ALGEBRAIC[195]) - ALGEBRAIC[197]);
ALGEBRAIC[199] = (STATES[7] - STATES[8])/100.000;
}
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;
SI[34] = 1.0;
SI[35] = 1.0;
SI[36] = 1.0;
SI[37] = 1.0;
SI[38] = 1.0;
SI[39] = 1.0;
SI[40] = 1.0;
SI[41] = 1.0;
SI[42] = 1.0;
SI[43] = 1.0;
SI[44] = 1.0;
SI[45] = 1.0;
SI[46] = 1.0;
SI[47] = 1.0;
SI[48] = 1.0;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = VOI - CONSTANTS[12];
CONDVAR[1] = VOI - CONSTANTS[13];
CONDVAR[2] = ((VOI - CONSTANTS[12]) -  floor((VOI - CONSTANTS[12])/CONSTANTS[15])*CONSTANTS[15]) - CONSTANTS[16];
CONDVAR[3] = - 1.00000e-07 - ALGEBRAIC[68];
CONDVAR[4] = ALGEBRAIC[68] - 1.00000e-07;
CONDVAR[5] = - 1.00000e-07 - ALGEBRAIC[71];
CONDVAR[6] = ALGEBRAIC[71] - 1.00000e-07;
CONDVAR[7] = - 1.00000e-07 - ALGEBRAIC[74];
CONDVAR[8] = ALGEBRAIC[74] - 1.00000e-07;
CONDVAR[9] = - 1.00000e-07 - ALGEBRAIC[175];
CONDVAR[10] = ALGEBRAIC[175] - 1.00000e-07;
CONDVAR[11] = - 1.00000e-07 - ALGEBRAIC[178];
CONDVAR[12] = ALGEBRAIC[178] - 1.00000e-07;
CONDVAR[13] = ALGEBRAIC[186] - 0.00100000;
CONDVAR[14] = ALGEBRAIC[190] - 0.00100000;
}