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 198 entries in the algebraic variable array.
   There are a total of 41 entries in each of the rate and state variable arrays.
   There are a total of 139 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[104] is vcell in component cell_geometry (microliter).
 * CONSTANTS[113] is Ageo in component cell_geometry (centimeter_squared).
 * CONSTANTS[117] is Acap in component cell_geometry (centimeter_squared).
 * CONSTANTS[118] is vmyo in component cell_geometry (microliter).
 * CONSTANTS[119] is vnsr in component cell_geometry (microliter).
 * CONSTANTS[120] is vjsr in component cell_geometry (microliter).
 * CONSTANTS[121] is vss in component cell_geometry (microliter).
 * STATES[0] is v in component membrane (millivolt).
 * ALGEBRAIC[1] is vffrt in component membrane (coulomb_per_mole).
 * ALGEBRAIC[2] is vfrt in component membrane (dimensionless).
 * ALGEBRAIC[24] is INa in component INa (microA_per_microF).
 * ALGEBRAIC[30] is INaL in component INaL (microA_per_microF).
 * ALGEBRAIC[49] is Ito in component Ito (microA_per_microF).
 * ALGEBRAIC[72] is ICaL in component ICaL (microA_per_microF).
 * ALGEBRAIC[73] is ICaNa in component ICaL (microA_per_microF).
 * ALGEBRAIC[74] is ICaK in component ICaL (microA_per_microF).
 * ALGEBRAIC[82] is IKr in component IKr (microA_per_microF).
 * ALGEBRAIC[88] is IKs in component IKs (microA_per_microF).
 * ALGEBRAIC[92] is IK1 in component IK1 (microA_per_microF).
 * ALGEBRAIC[124] is INaCa_i in component INaCa_i (microA_per_microF).
 * ALGEBRAIC[154] is INaCa_ss in component INaCa_i (microA_per_microF).
 * ALGEBRAIC[173] is INaK in component INaK (microA_per_microF).
 * ALGEBRAIC[176] is INab in component INab (microA_per_microF).
 * ALGEBRAIC[175] is IKb in component IKb (microA_per_microF).
 * ALGEBRAIC[178] is IpCa in component IpCa (microA_per_microF).
 * ALGEBRAIC[177] is ICab in component ICab (microA_per_microF).
 * ALGEBRAIC[0] is Istim in component membrane (microA_per_microF).
 * CONSTANTS[12] is amp in component membrane (microA_per_microF).
 * CONSTANTS[13] is duration in component membrane (millisecond).
 * CONSTANTS[14] is KmCaMK in component CaMK (millimolar).
 * CONSTANTS[15] is aCaMK in component CaMK (per_millimolar_per_millisecond).
 * CONSTANTS[16] is bCaMK in component CaMK (per_millisecond).
 * CONSTANTS[17] is CaMKo in component CaMK (dimensionless).
 * CONSTANTS[18] is KmCaM in component CaMK (millimolar).
 * ALGEBRAIC[3] is CaMKb in component CaMK (millimolar).
 * ALGEBRAIC[4] is CaMKa in component CaMK (millimolar).
 * STATES[1] is CaMKt in component CaMK (millimolar).
 * STATES[2] is cass in component intracellular_ions (millimolar).
 * CONSTANTS[19] is cmdnmax_b in component intracellular_ions (millimolar).
 * CONSTANTS[93] is cmdnmax in component intracellular_ions (millimolar).
 * CONSTANTS[20] is kmcmdn in component intracellular_ions (millimolar).
 * CONSTANTS[21] is trpnmax in component intracellular_ions (millimolar).
 * CONSTANTS[22] is kmtrpn in component intracellular_ions (millimolar).
 * CONSTANTS[23] is BSRmax in component intracellular_ions (millimolar).
 * CONSTANTS[24] is KmBSR in component intracellular_ions (millimolar).
 * CONSTANTS[25] is BSLmax in component intracellular_ions (millimolar).
 * CONSTANTS[26] is KmBSL in component intracellular_ions (millimolar).
 * CONSTANTS[27] is csqnmax in component intracellular_ions (millimolar).
 * CONSTANTS[28] 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[179] is JdiffNa in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[181] is Jdiff in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[196] is Jup in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[180] is JdiffK in component diff (millimolar_per_millisecond).
 * ALGEBRAIC[191] is Jrel in component ryr (millimolar_per_millisecond).
 * ALGEBRAIC[197] is Jtr in component trans_flux (millimolar_per_millisecond).
 * ALGEBRAIC[5] is Bcai in component intracellular_ions (dimensionless).
 * ALGEBRAIC[7] is Bcajsr in component intracellular_ions (dimensionless).
 * ALGEBRAIC[6] is Bcass in component intracellular_ions (dimensionless).
 * CONSTANTS[29] is cm in component intracellular_ions (microF_per_centimeter_squared).
 * CONSTANTS[30] is PKNa in component reversal_potentials (dimensionless).
 * ALGEBRAIC[8] is ENa in component reversal_potentials (millivolt).
 * ALGEBRAIC[9] is EK in component reversal_potentials (millivolt).
 * ALGEBRAIC[10] is EKs in component reversal_potentials (millivolt).
 * ALGEBRAIC[11] is mss in component INa (dimensionless).
 * ALGEBRAIC[12] is tm in component INa (millisecond).
 * CONSTANTS[31] is mssV1 in component INa (millivolt).
 * CONSTANTS[32] is mssV2 in component INa (millivolt).
 * CONSTANTS[33] is mtV1 in component INa (millivolt).
 * CONSTANTS[34] is mtV2 in component INa (millivolt).
 * CONSTANTS[35] is mtD1 in component INa (dimensionless).
 * CONSTANTS[36] is mtD2 in component INa (dimensionless).
 * CONSTANTS[37] is mtV3 in component INa (millivolt).
 * CONSTANTS[38] is mtV4 in component INa (millivolt).
 * STATES[10] is m in component INa (dimensionless).
 * ALGEBRAIC[13] is hss in component INa (dimensionless).
 * ALGEBRAIC[14] is thf in component INa (millisecond).
 * ALGEBRAIC[15] is ths in component INa (millisecond).
 * CONSTANTS[39] is hssV1 in component INa (millivolt).
 * CONSTANTS[40] is hssV2 in component INa (millivolt).
 * CONSTANTS[94] is Ahs in component INa (dimensionless).
 * CONSTANTS[41] is Ahf in component INa (dimensionless).
 * STATES[11] is hf in component INa (dimensionless).
 * STATES[12] is hs in component INa (dimensionless).
 * ALGEBRAIC[16] is h in component INa (dimensionless).
 * CONSTANTS[42] is GNa in component INa (milliS_per_microF).
 * ALGEBRAIC[17] is jss in component INa (dimensionless).
 * ALGEBRAIC[18] is tj in component INa (millisecond).
 * STATES[13] is j in component INa (dimensionless).
 * ALGEBRAIC[19] is hssp in component INa (dimensionless).
 * ALGEBRAIC[20] is thsp in component INa (millisecond).
 * STATES[14] is hsp in component INa (dimensionless).
 * ALGEBRAIC[21] is hp in component INa (dimensionless).
 * ALGEBRAIC[22] is tjp in component INa (millisecond).
 * STATES[15] is jp in component INa (dimensionless).
 * ALGEBRAIC[23] is fINap in component INa (dimensionless).
 * ALGEBRAIC[25] is mLss in component INaL (dimensionless).
 * ALGEBRAIC[26] is tmL in component INaL (millisecond).
 * STATES[16] is mL in component INaL (dimensionless).
 * CONSTANTS[43] is thL in component INaL (millisecond).
 * ALGEBRAIC[27] is hLss in component INaL (dimensionless).
 * STATES[17] is hL in component INaL (dimensionless).
 * ALGEBRAIC[28] is hLssp in component INaL (dimensionless).
 * CONSTANTS[95] is thLp in component INaL (millisecond).
 * STATES[18] is hLp in component INaL (dimensionless).
 * CONSTANTS[44] is GNaL_b in component INaL (milliS_per_microF).
 * CONSTANTS[96] is GNaL in component INaL (milliS_per_microF).
 * ALGEBRAIC[29] is fINaLp in component INaL (dimensionless).
 * CONSTANTS[45] is Gto_b in component Ito (milliS_per_microF).
 * ALGEBRAIC[31] is ass in component Ito (dimensionless).
 * ALGEBRAIC[32] is ta in component Ito (millisecond).
 * STATES[19] is a in component Ito (dimensionless).
 * ALGEBRAIC[33] is iss in component Ito (dimensionless).
 * ALGEBRAIC[34] is delta_epi in component Ito (dimensionless).
 * ALGEBRAIC[35] is tiF_b in component Ito (millisecond).
 * ALGEBRAIC[36] is tiS_b in component Ito (millisecond).
 * ALGEBRAIC[37] is tiF in component Ito (millisecond).
 * ALGEBRAIC[38] is tiS in component Ito (millisecond).
 * ALGEBRAIC[39] is AiF in component Ito (dimensionless).
 * ALGEBRAIC[40] is AiS in component Ito (dimensionless).
 * STATES[20] is iF in component Ito (dimensionless).
 * STATES[21] is iS in component Ito (dimensionless).
 * ALGEBRAIC[41] is i in component Ito (dimensionless).
 * ALGEBRAIC[42] is assp in component Ito (dimensionless).
 * STATES[22] is ap in component Ito (dimensionless).
 * ALGEBRAIC[43] is dti_develop in component Ito (dimensionless).
 * ALGEBRAIC[44] is dti_recover in component Ito (dimensionless).
 * ALGEBRAIC[45] is tiFp in component Ito (millisecond).
 * ALGEBRAIC[46] is tiSp in component Ito (millisecond).
 * STATES[23] is iFp in component Ito (dimensionless).
 * STATES[24] is iSp in component Ito (dimensionless).
 * ALGEBRAIC[47] is ip in component Ito (dimensionless).
 * CONSTANTS[97] is Gto in component Ito (milliS_per_microF).
 * ALGEBRAIC[48] is fItop in component Ito (dimensionless).
 * CONSTANTS[46] is Kmn in component ICaL (millimolar).
 * CONSTANTS[47] is k2n in component ICaL (per_millisecond).
 * CONSTANTS[48] is PCa_b in component ICaL (dimensionless).
 * ALGEBRAIC[50] is dss in component ICaL (dimensionless).
 * STATES[25] is d in component ICaL (dimensionless).
 * ALGEBRAIC[52] is fss in component ICaL (dimensionless).
 * CONSTANTS[98] is Aff in component ICaL (dimensionless).
 * CONSTANTS[109] is Afs in component ICaL (dimensionless).
 * STATES[26] is ff in component ICaL (dimensionless).
 * STATES[27] is fs in component ICaL (dimensionless).
 * ALGEBRAIC[55] is f in component ICaL (dimensionless).
 * ALGEBRAIC[56] is fcass in component ICaL (dimensionless).
 * ALGEBRAIC[59] is Afcaf in component ICaL (dimensionless).
 * ALGEBRAIC[60] is Afcas in component ICaL (dimensionless).
 * STATES[28] is fcaf in component ICaL (dimensionless).
 * STATES[29] is fcas in component ICaL (dimensionless).
 * ALGEBRAIC[61] is fca in component ICaL (dimensionless).
 * STATES[30] is jca in component ICaL (dimensionless).
 * STATES[31] is ffp in component ICaL (dimensionless).
 * ALGEBRAIC[63] is fp in component ICaL (dimensionless).
 * STATES[32] is fcafp in component ICaL (dimensionless).
 * ALGEBRAIC[65] is fcap in component ICaL (dimensionless).
 * ALGEBRAIC[66] is km2n in component ICaL (per_millisecond).
 * ALGEBRAIC[67] is anca in component ICaL (dimensionless).
 * STATES[33] is nca in component ICaL (dimensionless).
 * ALGEBRAIC[68] is PhiCaL in component ICaL (dimensionless).
 * ALGEBRAIC[69] is PhiCaNa in component ICaL (dimensionless).
 * ALGEBRAIC[70] is PhiCaK in component ICaL (dimensionless).
 * CONSTANTS[99] is PCa in component ICaL (dimensionless).
 * CONSTANTS[110] is PCap in component ICaL (dimensionless).
 * CONSTANTS[111] is PCaNa in component ICaL (dimensionless).
 * CONSTANTS[112] is PCaK in component ICaL (dimensionless).
 * CONSTANTS[115] is PCaNap in component ICaL (dimensionless).
 * CONSTANTS[116] is PCaKp in component ICaL (dimensionless).
 * ALGEBRAIC[71] is fICaLp in component ICaL (dimensionless).
 * ALGEBRAIC[51] is td in component ICaL (millisecond).
 * ALGEBRAIC[53] is tff in component ICaL (millisecond).
 * ALGEBRAIC[54] is tfs in component ICaL (millisecond).
 * ALGEBRAIC[57] is tfcaf in component ICaL (millisecond).
 * ALGEBRAIC[58] is tfcas in component ICaL (millisecond).
 * CONSTANTS[100] is tjca in component ICaL (millisecond).
 * ALGEBRAIC[62] is tffp in component ICaL (millisecond).
 * ALGEBRAIC[64] is tfcafp in component ICaL (millisecond).
 * CONSTANTS[49] is GKr_b in component IKr (milliS_per_microF).
 * CONSTANTS[101] is GKr in component IKr (milliS_per_microF).
 * ALGEBRAIC[75] is xrss in component IKr (dimensionless).
 * ALGEBRAIC[76] is txrf in component IKr (millisecond).
 * ALGEBRAIC[77] is txrs in component IKr (millisecond).
 * ALGEBRAIC[78] is Axrf in component IKr (dimensionless).
 * ALGEBRAIC[79] is Axrs in component IKr (dimensionless).
 * STATES[34] is xrf in component IKr (dimensionless).
 * STATES[35] is xrs in component IKr (dimensionless).
 * ALGEBRAIC[80] is xr in component IKr (dimensionless).
 * ALGEBRAIC[81] is rkr in component IKr (dimensionless).
 * CONSTANTS[50] is GKs_b in component IKs (milliS_per_microF).
 * CONSTANTS[102] is GKs in component IKs (milliS_per_microF).
 * ALGEBRAIC[83] is xs1ss in component IKs (dimensionless).
 * ALGEBRAIC[85] is xs2ss in component IKs (dimensionless).
 * ALGEBRAIC[84] is txs1 in component IKs (millisecond).
 * STATES[36] is xs1 in component IKs (dimensionless).
 * STATES[37] is xs2 in component IKs (dimensionless).
 * ALGEBRAIC[87] is KsCa in component IKs (dimensionless).
 * ALGEBRAIC[86] is txs2 in component IKs (millisecond).
 * CONSTANTS[103] is GK1 in component IK1 (milliS_per_microF).
 * CONSTANTS[51] is GK1_b in component IK1 (milliS_per_microF).
 * ALGEBRAIC[89] is xk1ss in component IK1 (dimensionless).
 * ALGEBRAIC[90] is txk1 in component IK1 (millisecond).
 * STATES[38] is xk1 in component IK1 (dimensionless).
 * ALGEBRAIC[91] is rk1 in component IK1 (millisecond).
 * CONSTANTS[52] is kna1 in component INaCa_i (per_millisecond).
 * CONSTANTS[53] is kna2 in component INaCa_i (per_millisecond).
 * CONSTANTS[54] is kna3 in component INaCa_i (per_millisecond).
 * CONSTANTS[55] is kasymm in component INaCa_i (dimensionless).
 * CONSTANTS[56] is wna in component INaCa_i (dimensionless).
 * CONSTANTS[57] is wca in component INaCa_i (dimensionless).
 * CONSTANTS[58] is wnaca in component INaCa_i (dimensionless).
 * CONSTANTS[59] is kcaon in component INaCa_i (per_millisecond).
 * CONSTANTS[60] is kcaoff in component INaCa_i (per_millisecond).
 * CONSTANTS[61] is qna in component INaCa_i (dimensionless).
 * CONSTANTS[62] is qca in component INaCa_i (dimensionless).
 * ALGEBRAIC[94] is hna in component INaCa_i (dimensionless).
 * ALGEBRAIC[93] is hca in component INaCa_i (dimensionless).
 * CONSTANTS[63] is KmCaAct in component INaCa_i (millimolar).
 * CONSTANTS[64] is Gncx_b in component INaCa_i (milliS_per_microF).
 * CONSTANTS[128] is Gncx in component INaCa_i (milliS_per_microF).
 * ALGEBRAIC[95] is h1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[96] is h2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[97] is h3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[98] is h4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[99] is h5_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[100] is h6_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[101] is h7_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[102] is h8_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[103] is h9_i in component INaCa_i (dimensionless).
 * CONSTANTS[122] is h10_i in component INaCa_i (dimensionless).
 * CONSTANTS[123] is h11_i in component INaCa_i (dimensionless).
 * CONSTANTS[124] is h12_i in component INaCa_i (dimensionless).
 * CONSTANTS[125] is k1_i in component INaCa_i (dimensionless).
 * CONSTANTS[126] is k2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[104] is k3p_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[105] is k3pp_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[106] is k3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[109] is k4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[107] is k4p_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[108] is k4pp_i in component INaCa_i (dimensionless).
 * CONSTANTS[127] is k5_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[110] is k6_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[111] is k7_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[112] is k8_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[113] is x1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[114] is x2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[115] is x3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[116] is x4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[117] is E1_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[118] is E2_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[119] is E3_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[120] is E4_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[121] is allo_i in component INaCa_i (dimensionless).
 * ALGEBRAIC[122] is JncxNa_i in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[123] is JncxCa_i in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[125] is h1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[126] is h2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[127] is h3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[128] is h4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[129] is h5_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[130] is h6_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[131] is h7_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[132] is h8_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[133] is h9_ss in component INaCa_i (dimensionless).
 * CONSTANTS[129] is h10_ss in component INaCa_i (dimensionless).
 * CONSTANTS[130] is h11_ss in component INaCa_i (dimensionless).
 * CONSTANTS[131] is h12_ss in component INaCa_i (dimensionless).
 * CONSTANTS[132] is k1_ss in component INaCa_i (dimensionless).
 * CONSTANTS[133] is k2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[134] is k3p_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[135] is k3pp_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[136] is k3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[139] is k4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[137] is k4p_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[138] is k4pp_ss in component INaCa_i (dimensionless).
 * CONSTANTS[134] is k5_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[140] is k6_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[141] is k7_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[142] is k8_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[143] is x1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[144] is x2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[145] is x3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[146] is x4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[147] is E1_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[148] is E2_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[149] is E3_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[150] is E4_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[151] is allo_ss in component INaCa_i (dimensionless).
 * ALGEBRAIC[152] is JncxNa_ss in component INaCa_i (millimolar_per_millisecond).
 * ALGEBRAIC[153] is JncxCa_ss in component INaCa_i (millimolar_per_millisecond).
 * CONSTANTS[65] is k1p in component INaK (per_millisecond).
 * CONSTANTS[66] is k1m in component INaK (per_millisecond).
 * CONSTANTS[67] is k2p in component INaK (per_millisecond).
 * CONSTANTS[68] is k2m in component INaK (per_millisecond).
 * CONSTANTS[69] is k3p in component INaK (per_millisecond).
 * CONSTANTS[70] is k3m in component INaK (per_millisecond).
 * CONSTANTS[71] is k4p in component INaK (per_millisecond).
 * CONSTANTS[72] is k4m in component INaK (per_millisecond).
 * CONSTANTS[73] is Knai0 in component INaK (millimolar).
 * CONSTANTS[74] is Knao0 in component INaK (millimolar).
 * CONSTANTS[75] is delta in component INaK (millivolt).
 * CONSTANTS[76] is Kki in component INaK (per_millisecond).
 * CONSTANTS[77] is Kko in component INaK (per_millisecond).
 * CONSTANTS[78] is MgADP in component INaK (millimolar).
 * CONSTANTS[79] is MgATP in component INaK (millimolar).
 * CONSTANTS[80] is Kmgatp in component INaK (millimolar).
 * CONSTANTS[81] is H in component INaK (millimolar).
 * CONSTANTS[82] is eP in component INaK (dimensionless).
 * CONSTANTS[83] is Khp in component INaK (millimolar).
 * CONSTANTS[84] is Knap in component INaK (millimolar).
 * CONSTANTS[85] is Kxkur in component INaK (millimolar).
 * CONSTANTS[86] is Pnak_b in component INaK (milliS_per_microF).
 * CONSTANTS[138] is Pnak in component INaK (milliS_per_microF).
 * ALGEBRAIC[155] is Knai in component INaK (millimolar).
 * ALGEBRAIC[156] is Knao in component INaK (millimolar).
 * ALGEBRAIC[157] is P in component INaK (dimensionless).
 * ALGEBRAIC[158] is a1 in component INaK (dimensionless).
 * CONSTANTS[135] is b1 in component INaK (dimensionless).
 * CONSTANTS[136] is a2 in component INaK (dimensionless).
 * ALGEBRAIC[159] is b2 in component INaK (dimensionless).
 * ALGEBRAIC[160] is a3 in component INaK (dimensionless).
 * ALGEBRAIC[161] is b3 in component INaK (dimensionless).
 * CONSTANTS[137] is a4 in component INaK (dimensionless).
 * ALGEBRAIC[162] is b4 in component INaK (dimensionless).
 * ALGEBRAIC[163] is x1 in component INaK (dimensionless).
 * ALGEBRAIC[164] is x2 in component INaK (dimensionless).
 * ALGEBRAIC[165] is x3 in component INaK (dimensionless).
 * ALGEBRAIC[166] is x4 in component INaK (dimensionless).
 * ALGEBRAIC[167] is E1 in component INaK (dimensionless).
 * ALGEBRAIC[168] is E2 in component INaK (dimensionless).
 * ALGEBRAIC[169] is E3 in component INaK (dimensionless).
 * ALGEBRAIC[170] is E4 in component INaK (dimensionless).
 * ALGEBRAIC[171] is JnakNa in component INaK (millimolar_per_millisecond).
 * ALGEBRAIC[172] is JnakK in component INaK (millimolar_per_millisecond).
 * ALGEBRAIC[174] is xkb in component IKb (dimensionless).
 * CONSTANTS[87] is GKb_b in component IKb (milliS_per_microF).
 * CONSTANTS[105] is GKb in component IKb (milliS_per_microF).
 * CONSTANTS[88] is PNab in component INab (milliS_per_microF).
 * CONSTANTS[89] is PCab in component ICab (milliS_per_microF).
 * CONSTANTS[90] is GpCa in component IpCa (milliS_per_microF).
 * CONSTANTS[91] is KmCap in component IpCa (millimolar).
 * CONSTANTS[92] is bt in component ryr (millisecond).
 * CONSTANTS[106] is a_rel in component ryr (millisecond).
 * ALGEBRAIC[183] is Jrel_inf in component ryr (dimensionless).
 * ALGEBRAIC[185] is tau_rel in component ryr (millisecond).
 * ALGEBRAIC[187] is Jrel_infp in component ryr (dimensionless).
 * ALGEBRAIC[186] is Jrel_temp in component ryr (dimensionless).
 * ALGEBRAIC[189] is tau_relp in component ryr (millisecond).
 * STATES[39] is Jrelnp in component ryr (dimensionless).
 * STATES[40] is Jrelp in component ryr (dimensionless).
 * CONSTANTS[107] is btp in component ryr (millisecond).
 * CONSTANTS[114] is a_relp in component ryr (millisecond).
 * ALGEBRAIC[182] is Jrel_inf_temp in component ryr (dimensionless).
 * ALGEBRAIC[190] is fJrelp in component ryr (dimensionless).
 * ALGEBRAIC[184] is tau_rel_temp in component ryr (millisecond).
 * ALGEBRAIC[188] is tau_relp_temp in component ryr (millisecond).
 * CONSTANTS[108] is upScale in component SERCA (dimensionless).
 * ALGEBRAIC[192] is Jupnp in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[193] is Jupp in component SERCA (millimolar_per_millisecond).
 * ALGEBRAIC[194] is fJupp in component SERCA (dimensionless).
 * ALGEBRAIC[195] is Jleak in component SERCA (millimolar_per_millisecond).
 * 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 xrf in component IKr (dimensionless).
 * RATES[35] is d/dt xrs in component IKr (dimensionless).
 * RATES[36] is d/dt xs1 in component IKs (dimensionless).
 * RATES[37] is d/dt xs2 in component IKs (dimensionless).
 * RATES[38] is d/dt xk1 in component IK1 (dimensionless).
 * RATES[39] is d/dt Jrelnp in component ryr (dimensionless).
 * RATES[40] is d/dt Jrelp in component ryr (dimensionless).
 * There are a total of 3 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] = -87;
CONSTANTS[12] = -80;
CONSTANTS[13] = 0.5;
CONSTANTS[14] = 0.15;
CONSTANTS[15] = 0.05;
CONSTANTS[16] = 0.00068;
CONSTANTS[17] = 0.05;
CONSTANTS[18] = 0.0015;
STATES[1] = 0;
STATES[2] = 1e-4;
CONSTANTS[19] = 0.05;
CONSTANTS[20] = 0.00238;
CONSTANTS[21] = 0.07;
CONSTANTS[22] = 0.0005;
CONSTANTS[23] = 0.047;
CONSTANTS[24] = 0.00087;
CONSTANTS[25] = 1.124;
CONSTANTS[26] = 0.0087;
CONSTANTS[27] = 10;
CONSTANTS[28] = 0.8;
STATES[3] = 7;
STATES[4] = 7;
STATES[5] = 145;
STATES[6] = 145;
STATES[7] = 1.2;
STATES[8] = 1.2;
STATES[9] = 1e-4;
CONSTANTS[29] = 1;
CONSTANTS[30] = 0.01833;
CONSTANTS[31] = 39.57;
CONSTANTS[32] = 9.871;
CONSTANTS[33] = 11.64;
CONSTANTS[34] = 34.77;
CONSTANTS[35] = 6.765;
CONSTANTS[36] = 8.552;
CONSTANTS[37] = 77.42;
CONSTANTS[38] = 5.955;
STATES[10] = 0;
CONSTANTS[39] = 82.9;
CONSTANTS[40] = 6.086;
CONSTANTS[41] = 0.99;
STATES[11] = 1;
STATES[12] = 1;
CONSTANTS[42] = 75;
STATES[13] = 1;
STATES[14] = 1;
STATES[15] = 1;
STATES[16] = 0;
CONSTANTS[43] = 200;
STATES[17] = 1;
STATES[18] = 1;
CONSTANTS[44] = 0.0075;
CONSTANTS[45] = 0.02;
STATES[19] = 0;
STATES[20] = 1;
STATES[21] = 1;
STATES[22] = 0;
STATES[23] = 1;
STATES[24] = 1;
CONSTANTS[46] = 0.002;
CONSTANTS[47] = 1000;
CONSTANTS[48] = 0.0001;
STATES[25] = 0;
STATES[26] = 1;
STATES[27] = 1;
STATES[28] = 1;
STATES[29] = 1;
STATES[30] = 1;
STATES[31] = 1;
STATES[32] = 1;
STATES[33] = 0;
CONSTANTS[49] = 0.046;
STATES[34] = 0;
STATES[35] = 0;
CONSTANTS[50] = 0.0034;
STATES[36] = 0;
STATES[37] = 0;
CONSTANTS[51] = 0.1908;
STATES[38] = 1;
CONSTANTS[52] = 15;
CONSTANTS[53] = 5;
CONSTANTS[54] = 88.12;
CONSTANTS[55] = 12.5;
CONSTANTS[56] = 6e4;
CONSTANTS[57] = 6e4;
CONSTANTS[58] = 5e3;
CONSTANTS[59] = 1.5e6;
CONSTANTS[60] = 5e3;
CONSTANTS[61] = 0.5224;
CONSTANTS[62] = 0.167;
CONSTANTS[63] = 150e-6;
CONSTANTS[64] = 0.0008;
CONSTANTS[65] = 949.5;
CONSTANTS[66] = 182.4;
CONSTANTS[67] = 687.2;
CONSTANTS[68] = 39.4;
CONSTANTS[69] = 1899;
CONSTANTS[70] = 79300;
CONSTANTS[71] = 639;
CONSTANTS[72] = 40;
CONSTANTS[73] = 9.073;
CONSTANTS[74] = 27.78;
CONSTANTS[75] = -0.155;
CONSTANTS[76] = 0.5;
CONSTANTS[77] = 0.3582;
CONSTANTS[78] = 0.05;
CONSTANTS[79] = 9.8;
CONSTANTS[80] = 1.698e-7;
CONSTANTS[81] = 1e-7;
CONSTANTS[82] = 4.2;
CONSTANTS[83] = 1.698e-7;
CONSTANTS[84] = 224;
CONSTANTS[85] = 292;
CONSTANTS[86] = 30;
CONSTANTS[87] = 0.003;
CONSTANTS[88] = 3.75e-10;
CONSTANTS[89] = 2.5e-8;
CONSTANTS[90] = 0.0005;
CONSTANTS[91] = 0.0005;
CONSTANTS[92] = 4.75;
STATES[39] = 0;
STATES[40] = 0;
CONSTANTS[93] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[19]*1.30000 : CONSTANTS[19]);
CONSTANTS[94] = 1.00000 - CONSTANTS[41];
CONSTANTS[95] =  3.00000*CONSTANTS[43];
CONSTANTS[96] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[44]*0.600000 : CONSTANTS[44]);
CONSTANTS[97] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[45]*4.00000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[45]*4.00000 : CONSTANTS[45]);
CONSTANTS[98] = 0.600000;
CONSTANTS[99] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[48]*1.20000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[48]*2.50000 : CONSTANTS[48]);
CONSTANTS[100] = 75.0000;
CONSTANTS[101] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[49]*1.30000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[49]*0.800000 : CONSTANTS[49]);
CONSTANTS[102] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[50]*1.40000 : CONSTANTS[50]);
CONSTANTS[103] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[51]*1.20000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[51]*1.30000 : CONSTANTS[51]);
CONSTANTS[104] =  1000.00*3.14000*CONSTANTS[11]*CONSTANTS[11]*CONSTANTS[10];
CONSTANTS[105] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[87]*0.600000 : CONSTANTS[87]);
CONSTANTS[106] =  0.500000*CONSTANTS[92];
CONSTANTS[107] =  1.25000*CONSTANTS[92];
CONSTANTS[108] = (CONSTANTS[0]==1.00000 ? 1.30000 : 1.00000);
CONSTANTS[109] = 1.00000 - CONSTANTS[98];
CONSTANTS[110] =  1.10000*CONSTANTS[99];
CONSTANTS[111] =  0.00125000*CONSTANTS[99];
CONSTANTS[112] =  0.000357400*CONSTANTS[99];
CONSTANTS[113] =  2.00000*3.14000*CONSTANTS[11]*CONSTANTS[11]+ 2.00000*3.14000*CONSTANTS[11]*CONSTANTS[10];
CONSTANTS[114] =  0.500000*CONSTANTS[107];
CONSTANTS[115] =  0.00125000*CONSTANTS[110];
CONSTANTS[116] =  0.000357400*CONSTANTS[110];
CONSTANTS[117] =  2.00000*CONSTANTS[113];
CONSTANTS[118] =  0.680000*CONSTANTS[104];
CONSTANTS[119] =  0.0552000*CONSTANTS[104];
CONSTANTS[120] =  0.00480000*CONSTANTS[104];
CONSTANTS[121] =  0.0200000*CONSTANTS[104];
CONSTANTS[122] = CONSTANTS[55]+1.00000+ (CONSTANTS[1]/CONSTANTS[52])*(1.00000+CONSTANTS[1]/CONSTANTS[53]);
CONSTANTS[123] = ( CONSTANTS[1]*CONSTANTS[1])/( CONSTANTS[122]*CONSTANTS[52]*CONSTANTS[53]);
CONSTANTS[124] = 1.00000/CONSTANTS[122];
CONSTANTS[125] =  CONSTANTS[124]*CONSTANTS[2]*CONSTANTS[59];
CONSTANTS[126] = CONSTANTS[60];
CONSTANTS[127] = CONSTANTS[60];
CONSTANTS[128] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[64]*1.10000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[64]*1.40000 : CONSTANTS[64]);
CONSTANTS[129] = CONSTANTS[55]+1.00000+ (CONSTANTS[1]/CONSTANTS[52])*(1.00000+CONSTANTS[1]/CONSTANTS[53]);
CONSTANTS[130] = ( CONSTANTS[1]*CONSTANTS[1])/( CONSTANTS[129]*CONSTANTS[52]*CONSTANTS[53]);
CONSTANTS[131] = 1.00000/CONSTANTS[129];
CONSTANTS[132] =  CONSTANTS[131]*CONSTANTS[2]*CONSTANTS[59];
CONSTANTS[133] = CONSTANTS[60];
CONSTANTS[134] = CONSTANTS[60];
CONSTANTS[135] =  CONSTANTS[66]*CONSTANTS[78];
CONSTANTS[136] = CONSTANTS[67];
CONSTANTS[137] = (( CONSTANTS[71]*CONSTANTS[79])/CONSTANTS[80])/(1.00000+CONSTANTS[79]/CONSTANTS[80]);
CONSTANTS[138] = (CONSTANTS[0]==1.00000 ?  CONSTANTS[86]*0.900000 : CONSTANTS[0]==2.00000 ?  CONSTANTS[86]*0.700000 : CONSTANTS[86]);
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;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] - - (ALGEBRAIC[24]+ALGEBRAIC[30]+ALGEBRAIC[49]+ALGEBRAIC[72]+ALGEBRAIC[73]+ALGEBRAIC[74]+ALGEBRAIC[82]+ALGEBRAIC[88]+ALGEBRAIC[92]+ALGEBRAIC[124]+ALGEBRAIC[154]+ALGEBRAIC[173]+ALGEBRAIC[176]+ALGEBRAIC[175]+ALGEBRAIC[178]+ALGEBRAIC[177]+ALGEBRAIC[0]);
resid[1] = RATES[1] -  CONSTANTS[15]*ALGEBRAIC[3]*(ALGEBRAIC[3]+STATES[1]) -  CONSTANTS[16]*STATES[1];
resid[2] = RATES[3] - ( - (ALGEBRAIC[24]+ALGEBRAIC[30]+ 3.00000*ALGEBRAIC[124]+ 3.00000*ALGEBRAIC[173]+ALGEBRAIC[176])*CONSTANTS[117]*CONSTANTS[29])/( CONSTANTS[6]*CONSTANTS[118])+( ALGEBRAIC[179]*CONSTANTS[121])/CONSTANTS[118];
resid[3] = RATES[4] - ( - (ALGEBRAIC[73]+ 3.00000*ALGEBRAIC[154])*CONSTANTS[29]*CONSTANTS[117])/( CONSTANTS[6]*CONSTANTS[121]) - ALGEBRAIC[179];
resid[4] = RATES[5] - ( - ((ALGEBRAIC[49]+ALGEBRAIC[82]+ALGEBRAIC[88]+ALGEBRAIC[92]+ALGEBRAIC[175]+ALGEBRAIC[0]) -  2.00000*ALGEBRAIC[173])*CONSTANTS[29]*CONSTANTS[117])/( CONSTANTS[6]*CONSTANTS[118])+( ALGEBRAIC[180]*CONSTANTS[121])/CONSTANTS[118];
resid[5] = RATES[6] - ( - ALGEBRAIC[74]*CONSTANTS[29]*CONSTANTS[117])/( CONSTANTS[6]*CONSTANTS[121]) - ALGEBRAIC[180];
resid[6] = RATES[9] -  ALGEBRAIC[5]*((( - ((ALGEBRAIC[178]+ALGEBRAIC[177]) -  2.00000*ALGEBRAIC[124])*CONSTANTS[29]*CONSTANTS[117])/( 2.00000*CONSTANTS[6]*CONSTANTS[118]) - ( ALGEBRAIC[196]*CONSTANTS[119])/CONSTANTS[118])+( ALGEBRAIC[181]*CONSTANTS[121])/CONSTANTS[118]);
resid[7] = RATES[2] -  ALGEBRAIC[6]*((( - (ALGEBRAIC[72] -  2.00000*ALGEBRAIC[154])*CONSTANTS[29]*CONSTANTS[117])/( 2.00000*CONSTANTS[6]*CONSTANTS[121])+( ALGEBRAIC[191]*CONSTANTS[120])/CONSTANTS[121]) - ALGEBRAIC[181]);
resid[8] = RATES[7] - ALGEBRAIC[196] - ( ALGEBRAIC[197]*CONSTANTS[120])/CONSTANTS[119];
resid[9] = RATES[8] -  ALGEBRAIC[7]*(ALGEBRAIC[197] - ALGEBRAIC[191]);
resid[10] = RATES[10] - (ALGEBRAIC[11] - STATES[10])/ALGEBRAIC[12];
resid[11] = RATES[11] - (ALGEBRAIC[13] - STATES[11])/ALGEBRAIC[14];
resid[12] = RATES[12] - (ALGEBRAIC[13] - STATES[12])/ALGEBRAIC[15];
resid[13] = RATES[13] - (ALGEBRAIC[17] - STATES[13])/ALGEBRAIC[18];
resid[14] = RATES[14] - (ALGEBRAIC[19] - STATES[14])/ALGEBRAIC[20];
resid[15] = RATES[15] - (ALGEBRAIC[17] - STATES[15])/ALGEBRAIC[22];
resid[16] = RATES[16] - (ALGEBRAIC[25] - STATES[16])/ALGEBRAIC[26];
resid[17] = RATES[17] - (ALGEBRAIC[27] - STATES[17])/CONSTANTS[43];
resid[18] = RATES[18] - (ALGEBRAIC[28] - STATES[18])/CONSTANTS[95];
resid[19] = RATES[19] - (ALGEBRAIC[31] - STATES[19])/ALGEBRAIC[32];
resid[20] = RATES[20] - (ALGEBRAIC[33] - STATES[20])/ALGEBRAIC[37];
resid[21] = RATES[21] - (ALGEBRAIC[33] - STATES[21])/ALGEBRAIC[38];
resid[22] = RATES[22] - (ALGEBRAIC[42] - STATES[22])/ALGEBRAIC[32];
resid[23] = RATES[23] - (ALGEBRAIC[33] - STATES[23])/ALGEBRAIC[45];
resid[24] = RATES[24] - (ALGEBRAIC[33] - STATES[24])/ALGEBRAIC[46];
resid[25] = RATES[25] - (ALGEBRAIC[50] - STATES[25])/ALGEBRAIC[51];
resid[26] = RATES[26] - (ALGEBRAIC[52] - STATES[26])/ALGEBRAIC[53];
resid[27] = RATES[27] - (ALGEBRAIC[52] - STATES[27])/ALGEBRAIC[54];
resid[28] = RATES[28] - (ALGEBRAIC[56] - STATES[28])/ALGEBRAIC[57];
resid[29] = RATES[29] - (ALGEBRAIC[56] - STATES[29])/ALGEBRAIC[58];
resid[30] = RATES[30] - (ALGEBRAIC[56] - STATES[30])/CONSTANTS[100];
resid[31] = RATES[31] - (ALGEBRAIC[52] - STATES[31])/ALGEBRAIC[62];
resid[32] = RATES[32] - (ALGEBRAIC[56] - STATES[32])/ALGEBRAIC[64];
resid[33] = RATES[33] -  ALGEBRAIC[67]*CONSTANTS[47] -  STATES[33]*ALGEBRAIC[66];
resid[34] = RATES[34] - (ALGEBRAIC[75] - STATES[34])/ALGEBRAIC[76];
resid[35] = RATES[35] - (ALGEBRAIC[75] - STATES[35])/ALGEBRAIC[77];
resid[36] = RATES[36] - (ALGEBRAIC[83] - STATES[36])/ALGEBRAIC[84];
resid[37] = RATES[37] - (ALGEBRAIC[85] - STATES[37])/ALGEBRAIC[86];
resid[38] = RATES[38] - (ALGEBRAIC[89] - STATES[38])/ALGEBRAIC[90];
resid[39] = RATES[39] - (ALGEBRAIC[183] - STATES[39])/ALGEBRAIC[185];
resid[40] = RATES[40] - (ALGEBRAIC[187] - STATES[40])/ALGEBRAIC[189];
}
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 ? CONSTANTS[12] : 0.00000);
ALGEBRAIC[3] = ( CONSTANTS[17]*(1.00000 - STATES[1]))/(1.00000+CONSTANTS[18]/STATES[2]);
ALGEBRAIC[5] = 1.00000/(1.00000+( CONSTANTS[93]*CONSTANTS[20])/pow(CONSTANTS[20]+STATES[9], 2.00000)+( CONSTANTS[21]*CONSTANTS[22])/pow(CONSTANTS[22]+STATES[9], 2.00000));
ALGEBRAIC[6] = 1.00000/(1.00000+( CONSTANTS[23]*CONSTANTS[24])/pow(CONSTANTS[24]+STATES[2], 2.00000)+( CONSTANTS[25]*CONSTANTS[26])/pow(CONSTANTS[26]+STATES[2], 2.00000));
ALGEBRAIC[7] = 1.00000/(1.00000+( CONSTANTS[27]*CONSTANTS[28])/pow(CONSTANTS[28]+STATES[8], 2.00000));
ALGEBRAIC[11] = 1.00000/(1.00000+exp(- (STATES[0]+CONSTANTS[31])/CONSTANTS[32]));
ALGEBRAIC[12] = 1.00000/( CONSTANTS[35]*exp((STATES[0]+CONSTANTS[33])/CONSTANTS[34])+ CONSTANTS[36]*exp(- (STATES[0]+CONSTANTS[37])/CONSTANTS[38]));
ALGEBRAIC[13] = 1.00000/(1.00000+exp((STATES[0]+CONSTANTS[39])/CONSTANTS[40]));
ALGEBRAIC[14] = 1.00000/( 1.43200e-05*exp(- (STATES[0]+1.19600)/6.28500)+ 6.14900*exp((STATES[0]+0.509600)/20.2700));
ALGEBRAIC[15] = 1.00000/( 0.00979400*exp(- (STATES[0]+17.9500)/28.0500)+ 0.334300*exp((STATES[0]+5.73000)/56.6600));
ALGEBRAIC[17] = ALGEBRAIC[13];
ALGEBRAIC[18] = 2.03800+1.00000/( 0.0213600*exp(- (STATES[0]+100.600)/8.28100)+ 0.305200*exp((STATES[0]+0.994100)/38.4500));
ALGEBRAIC[19] = 1.00000/(1.00000+exp((STATES[0]+89.1000)/6.08600));
ALGEBRAIC[20] =  3.00000*ALGEBRAIC[15];
ALGEBRAIC[22] =  1.46000*ALGEBRAIC[18];
ALGEBRAIC[8] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log(CONSTANTS[1]/STATES[3]);
ALGEBRAIC[16] =  CONSTANTS[41]*STATES[11]+ CONSTANTS[94]*STATES[12];
ALGEBRAIC[21] =  CONSTANTS[41]*STATES[11]+ CONSTANTS[94]*STATES[14];
ALGEBRAIC[4] = ALGEBRAIC[3]+STATES[1];
ALGEBRAIC[23] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[24] =  CONSTANTS[42]*(STATES[0] - ALGEBRAIC[8])*pow(STATES[10], 3.00000)*( (1.00000 - ALGEBRAIC[23])*ALGEBRAIC[16]*STATES[13]+ ALGEBRAIC[23]*ALGEBRAIC[21]*STATES[15]);
ALGEBRAIC[25] = 1.00000/(1.00000+exp(- (STATES[0]+42.8500)/5.26400));
ALGEBRAIC[26] = ALGEBRAIC[12];
ALGEBRAIC[27] = 1.00000/(1.00000+exp((STATES[0]+87.6100)/7.48800));
ALGEBRAIC[28] = 1.00000/(1.00000+exp((STATES[0]+93.8100)/7.48800));
ALGEBRAIC[29] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[30] =  CONSTANTS[96]*(STATES[0] - ALGEBRAIC[8])*STATES[16]*( (1.00000 - ALGEBRAIC[29])*STATES[17]+ ALGEBRAIC[29]*STATES[18]);
ALGEBRAIC[31] = 1.00000/(1.00000+exp(- (STATES[0] - 14.3400)/14.8200));
ALGEBRAIC[32] = 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[33] = 1.00000/(1.00000+exp((STATES[0]+43.9400)/5.71100));
ALGEBRAIC[34] = (CONSTANTS[0]==1.00000 ? 1.00000 - 0.950000/(1.00000+exp((STATES[0]+70.0000)/5.00000)) : 1.00000);
ALGEBRAIC[35] = 4.56200+1.00000/( 0.393300*exp(- (STATES[0]+100.000)/100.000)+ 0.0800400*exp((STATES[0]+50.0000)/16.5900));
ALGEBRAIC[37] =  ALGEBRAIC[35]*ALGEBRAIC[34];
ALGEBRAIC[36] = 23.6200+1.00000/( 0.00141600*exp(- (STATES[0]+96.5200)/59.0500)+ 1.78000e-08*exp((STATES[0]+114.100)/8.07900));
ALGEBRAIC[38] =  ALGEBRAIC[36]*ALGEBRAIC[34];
ALGEBRAIC[42] = 1.00000/(1.00000+exp(- (STATES[0] - 24.3400)/14.8200));
ALGEBRAIC[43] = 1.35400+0.000100000/(exp((STATES[0] - 167.400)/15.8900)+exp(- (STATES[0] - 12.2300)/0.215400));
ALGEBRAIC[44] = 1.00000 - 0.500000/(1.00000+exp((STATES[0]+70.0000)/20.0000));
ALGEBRAIC[45] =  ALGEBRAIC[43]*ALGEBRAIC[44]*ALGEBRAIC[37];
ALGEBRAIC[46] =  ALGEBRAIC[43]*ALGEBRAIC[44]*ALGEBRAIC[38];
ALGEBRAIC[9] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log(CONSTANTS[3]/STATES[5]);
ALGEBRAIC[39] = 1.00000/(1.00000+exp((STATES[0] - 213.600)/151.200));
ALGEBRAIC[40] = 1.00000 - ALGEBRAIC[39];
ALGEBRAIC[41] =  ALGEBRAIC[39]*STATES[20]+ ALGEBRAIC[40]*STATES[21];
ALGEBRAIC[47] =  ALGEBRAIC[39]*STATES[23]+ ALGEBRAIC[40]*STATES[24];
ALGEBRAIC[48] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[49] =  CONSTANTS[97]*(STATES[0] - ALGEBRAIC[9])*( (1.00000 - ALGEBRAIC[48])*STATES[19]*ALGEBRAIC[41]+ ALGEBRAIC[48]*STATES[22]*ALGEBRAIC[47]);
ALGEBRAIC[50] = 1.00000/(1.00000+exp(- (STATES[0]+3.94000)/4.23000));
ALGEBRAIC[51] = 0.600000+1.00000/(exp( - 0.0500000*(STATES[0]+6.00000))+exp( 0.0900000*(STATES[0]+14.0000)));
ALGEBRAIC[52] = 1.00000/(1.00000+exp((STATES[0]+19.5800)/3.69600));
ALGEBRAIC[53] = 7.00000+1.00000/( 0.00450000*exp(- (STATES[0]+20.0000)/10.0000)+ 0.00450000*exp((STATES[0]+20.0000)/10.0000));
ALGEBRAIC[54] = 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[56] = ALGEBRAIC[52];
ALGEBRAIC[57] = 7.00000+1.00000/( 0.0400000*exp(- (STATES[0] - 4.00000)/7.00000)+ 0.0400000*exp((STATES[0] - 4.00000)/7.00000));
ALGEBRAIC[58] = 100.000+1.00000/( 0.000120000*exp(- STATES[0]/3.00000)+ 0.000120000*exp(STATES[0]/7.00000));
ALGEBRAIC[62] =  2.50000*ALGEBRAIC[53];
ALGEBRAIC[64] =  2.50000*ALGEBRAIC[57];
ALGEBRAIC[66] =  STATES[30]*1.00000;
ALGEBRAIC[67] = 1.00000/(CONSTANTS[47]/ALGEBRAIC[66]+pow(1.00000+CONSTANTS[46]/STATES[2], 4.00000));
ALGEBRAIC[55] =  CONSTANTS[98]*STATES[26]+ CONSTANTS[109]*STATES[27];
ALGEBRAIC[59] = 0.300000+0.600000/(1.00000+exp((STATES[0] - 10.0000)/10.0000));
ALGEBRAIC[60] = 1.00000 - ALGEBRAIC[59];
ALGEBRAIC[61] =  ALGEBRAIC[59]*STATES[28]+ ALGEBRAIC[60]*STATES[29];
ALGEBRAIC[63] =  CONSTANTS[98]*STATES[31]+ CONSTANTS[109]*STATES[27];
ALGEBRAIC[65] =  ALGEBRAIC[59]*STATES[32]+ ALGEBRAIC[60]*STATES[29];
ALGEBRAIC[1] = ( STATES[0]*CONSTANTS[6]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]);
ALGEBRAIC[2] = ( STATES[0]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]);
ALGEBRAIC[68] = ( 4.00000*ALGEBRAIC[1]*( STATES[2]*exp( 2.00000*ALGEBRAIC[2]) -  0.341000*CONSTANTS[2]))/(exp( 2.00000*ALGEBRAIC[2]) - 1.00000);
ALGEBRAIC[71] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[72] =  (1.00000 - ALGEBRAIC[71])*CONSTANTS[99]*ALGEBRAIC[68]*STATES[25]*( ALGEBRAIC[55]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[61]*STATES[33])+ ALGEBRAIC[71]*CONSTANTS[110]*ALGEBRAIC[68]*STATES[25]*( ALGEBRAIC[63]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[65]*STATES[33]);
ALGEBRAIC[69] = ( 1.00000*ALGEBRAIC[1]*( 0.750000*STATES[4]*exp( 1.00000*ALGEBRAIC[2]) -  0.750000*CONSTANTS[1]))/(exp( 1.00000*ALGEBRAIC[2]) - 1.00000);
ALGEBRAIC[73] =  (1.00000 - ALGEBRAIC[71])*CONSTANTS[111]*ALGEBRAIC[69]*STATES[25]*( ALGEBRAIC[55]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[61]*STATES[33])+ ALGEBRAIC[71]*CONSTANTS[115]*ALGEBRAIC[69]*STATES[25]*( ALGEBRAIC[63]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[65]*STATES[33]);
ALGEBRAIC[70] = ( 1.00000*ALGEBRAIC[1]*( 0.750000*STATES[6]*exp( 1.00000*ALGEBRAIC[2]) -  0.750000*CONSTANTS[3]))/(exp( 1.00000*ALGEBRAIC[2]) - 1.00000);
ALGEBRAIC[74] =  (1.00000 - ALGEBRAIC[71])*CONSTANTS[112]*ALGEBRAIC[70]*STATES[25]*( ALGEBRAIC[55]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[61]*STATES[33])+ ALGEBRAIC[71]*CONSTANTS[116]*ALGEBRAIC[70]*STATES[25]*( ALGEBRAIC[63]*(1.00000 - STATES[33])+ STATES[30]*ALGEBRAIC[65]*STATES[33]);
ALGEBRAIC[75] = 1.00000/(1.00000+exp(- (STATES[0]+8.33700)/6.78900));
ALGEBRAIC[76] = 12.9800+1.00000/( 0.365200*exp((STATES[0] - 31.6600)/3.86900)+ 4.12300e-05*exp(- (STATES[0] - 47.7800)/20.3800));
ALGEBRAIC[77] = 1.86500+1.00000/( 0.0662900*exp((STATES[0] - 34.7000)/7.35500)+ 1.12800e-05*exp(- (STATES[0] - 29.7400)/25.9400));
ALGEBRAIC[78] = 1.00000/(1.00000+exp((STATES[0]+54.8100)/38.2100));
ALGEBRAIC[79] = 1.00000 - ALGEBRAIC[78];
ALGEBRAIC[80] =  ALGEBRAIC[78]*STATES[34]+ ALGEBRAIC[79]*STATES[35];
ALGEBRAIC[81] = ( (1.00000/(1.00000+exp((STATES[0]+55.0000)/75.0000)))*1.00000)/(1.00000+exp((STATES[0] - 10.0000)/30.0000));
ALGEBRAIC[82] =  CONSTANTS[101]* pow((CONSTANTS[3]/5.40000), 1.0 / 2)*ALGEBRAIC[80]*ALGEBRAIC[81]*(STATES[0] - ALGEBRAIC[9]);
ALGEBRAIC[83] = 1.00000/(1.00000+exp(- (STATES[0]+11.6000)/8.93200));
ALGEBRAIC[84] = 817.300+1.00000/( 0.000232600*exp((STATES[0]+48.2800)/17.8000)+ 0.00129200*exp(- (STATES[0]+210.000)/230.000));
ALGEBRAIC[85] = ALGEBRAIC[83];
ALGEBRAIC[86] = 1.00000/( 0.0100000*exp((STATES[0] - 50.0000)/20.0000)+ 0.0193000*exp(- (STATES[0]+66.5400)/31.0000));
ALGEBRAIC[10] =  (( CONSTANTS[4]*CONSTANTS[5])/CONSTANTS[6])*log((CONSTANTS[3]+ CONSTANTS[30]*CONSTANTS[1])/(STATES[5]+ CONSTANTS[30]*STATES[3]));
ALGEBRAIC[87] = 1.00000+0.600000/(1.00000+pow(3.80000e-05/STATES[9], 1.40000));
ALGEBRAIC[88] =  CONSTANTS[102]*ALGEBRAIC[87]*STATES[36]*STATES[37]*(STATES[0] - ALGEBRAIC[10]);
ALGEBRAIC[89] = 1.00000/(1.00000+exp(- (STATES[0]+ 2.55380*CONSTANTS[3]+144.590)/( 1.56920*CONSTANTS[3]+3.81150)));
ALGEBRAIC[90] = 122.200/(exp(- (STATES[0]+127.200)/20.3600)+exp((STATES[0]+236.800)/69.3300));
ALGEBRAIC[91] = 1.00000/(1.00000+exp(((STATES[0]+105.800) -  2.60000*CONSTANTS[3])/9.49300));
ALGEBRAIC[92] =  CONSTANTS[103]* pow(CONSTANTS[3], 1.0 / 2)*ALGEBRAIC[91]*STATES[38]*(STATES[0] - ALGEBRAIC[9]);
ALGEBRAIC[121] = 1.00000/(1.00000+pow(CONSTANTS[63]/STATES[9], 2.00000));
ALGEBRAIC[94] = exp(( CONSTANTS[61]*STATES[0]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[101] = 1.00000+ (CONSTANTS[1]/CONSTANTS[54])*(1.00000+1.00000/ALGEBRAIC[94]);
ALGEBRAIC[102] = CONSTANTS[1]/( CONSTANTS[54]*ALGEBRAIC[94]*ALGEBRAIC[101]);
ALGEBRAIC[105] =  ALGEBRAIC[102]*CONSTANTS[58];
ALGEBRAIC[95] = 1.00000+ (STATES[3]/CONSTANTS[54])*(1.00000+ALGEBRAIC[94]);
ALGEBRAIC[96] = ( STATES[3]*ALGEBRAIC[94])/( CONSTANTS[54]*ALGEBRAIC[95]);
ALGEBRAIC[108] =  ALGEBRAIC[96]*CONSTANTS[58];
ALGEBRAIC[98] = 1.00000+ (STATES[3]/CONSTANTS[52])*(1.00000+STATES[3]/CONSTANTS[53]);
ALGEBRAIC[99] = ( STATES[3]*STATES[3])/( ALGEBRAIC[98]*CONSTANTS[52]*CONSTANTS[53]);
ALGEBRAIC[111] =  ALGEBRAIC[99]*ALGEBRAIC[96]*CONSTANTS[56];
ALGEBRAIC[112] =  ALGEBRAIC[102]*CONSTANTS[123]*CONSTANTS[56];
ALGEBRAIC[103] = 1.00000/ALGEBRAIC[101];
ALGEBRAIC[104] =  ALGEBRAIC[103]*CONSTANTS[57];
ALGEBRAIC[106] = ALGEBRAIC[104]+ALGEBRAIC[105];
ALGEBRAIC[93] = exp(( CONSTANTS[62]*STATES[0]*CONSTANTS[6])/( CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[97] = 1.00000/ALGEBRAIC[95];
ALGEBRAIC[107] = ( ALGEBRAIC[97]*CONSTANTS[57])/ALGEBRAIC[93];
ALGEBRAIC[109] = ALGEBRAIC[107]+ALGEBRAIC[108];
ALGEBRAIC[100] = 1.00000/ALGEBRAIC[98];
ALGEBRAIC[110] =  ALGEBRAIC[100]*STATES[9]*CONSTANTS[59];
ALGEBRAIC[113] =  CONSTANTS[126]*ALGEBRAIC[109]*(ALGEBRAIC[111]+ALGEBRAIC[110])+ CONSTANTS[127]*ALGEBRAIC[111]*(CONSTANTS[126]+ALGEBRAIC[106]);
ALGEBRAIC[114] =  CONSTANTS[125]*ALGEBRAIC[111]*(ALGEBRAIC[109]+CONSTANTS[127])+ ALGEBRAIC[109]*ALGEBRAIC[110]*(CONSTANTS[125]+ALGEBRAIC[112]);
ALGEBRAIC[115] =  CONSTANTS[125]*ALGEBRAIC[106]*(ALGEBRAIC[111]+ALGEBRAIC[110])+ ALGEBRAIC[112]*ALGEBRAIC[110]*(CONSTANTS[126]+ALGEBRAIC[106]);
ALGEBRAIC[116] =  CONSTANTS[126]*ALGEBRAIC[112]*(ALGEBRAIC[109]+CONSTANTS[127])+ ALGEBRAIC[106]*CONSTANTS[127]*(CONSTANTS[125]+ALGEBRAIC[112]);
ALGEBRAIC[117] = ALGEBRAIC[113]/(ALGEBRAIC[113]+ALGEBRAIC[114]+ALGEBRAIC[115]+ALGEBRAIC[116]);
ALGEBRAIC[118] = ALGEBRAIC[114]/(ALGEBRAIC[113]+ALGEBRAIC[114]+ALGEBRAIC[115]+ALGEBRAIC[116]);
ALGEBRAIC[119] = ALGEBRAIC[115]/(ALGEBRAIC[113]+ALGEBRAIC[114]+ALGEBRAIC[115]+ALGEBRAIC[116]);
ALGEBRAIC[120] = ALGEBRAIC[116]/(ALGEBRAIC[113]+ALGEBRAIC[114]+ALGEBRAIC[115]+ALGEBRAIC[116]);
ALGEBRAIC[122] = ( 3.00000*( ALGEBRAIC[120]*ALGEBRAIC[111] -  ALGEBRAIC[117]*ALGEBRAIC[112])+ ALGEBRAIC[119]*ALGEBRAIC[108]) -  ALGEBRAIC[118]*ALGEBRAIC[105];
ALGEBRAIC[123] =  ALGEBRAIC[118]*CONSTANTS[126] -  ALGEBRAIC[117]*CONSTANTS[125];
ALGEBRAIC[124] =  0.800000*CONSTANTS[128]*ALGEBRAIC[121]*( CONSTANTS[7]*ALGEBRAIC[122]+ CONSTANTS[8]*ALGEBRAIC[123]);
ALGEBRAIC[151] = 1.00000/(1.00000+pow(CONSTANTS[63]/STATES[2], 2.00000));
ALGEBRAIC[131] = 1.00000+ (CONSTANTS[1]/CONSTANTS[54])*(1.00000+1.00000/ALGEBRAIC[94]);
ALGEBRAIC[132] = CONSTANTS[1]/( CONSTANTS[54]*ALGEBRAIC[94]*ALGEBRAIC[131]);
ALGEBRAIC[135] =  ALGEBRAIC[132]*CONSTANTS[58];
ALGEBRAIC[125] = 1.00000+ (STATES[4]/CONSTANTS[54])*(1.00000+ALGEBRAIC[94]);
ALGEBRAIC[126] = ( STATES[4]*ALGEBRAIC[94])/( CONSTANTS[54]*ALGEBRAIC[125]);
ALGEBRAIC[138] =  ALGEBRAIC[126]*CONSTANTS[58];
ALGEBRAIC[128] = 1.00000+ (STATES[4]/CONSTANTS[52])*(1.00000+STATES[4]/CONSTANTS[53]);
ALGEBRAIC[129] = ( STATES[4]*STATES[4])/( ALGEBRAIC[128]*CONSTANTS[52]*CONSTANTS[53]);
ALGEBRAIC[141] =  ALGEBRAIC[129]*ALGEBRAIC[126]*CONSTANTS[56];
ALGEBRAIC[142] =  ALGEBRAIC[132]*CONSTANTS[130]*CONSTANTS[56];
ALGEBRAIC[133] = 1.00000/ALGEBRAIC[131];
ALGEBRAIC[134] =  ALGEBRAIC[133]*CONSTANTS[57];
ALGEBRAIC[136] = ALGEBRAIC[134]+ALGEBRAIC[135];
ALGEBRAIC[127] = 1.00000/ALGEBRAIC[125];
ALGEBRAIC[137] = ( ALGEBRAIC[127]*CONSTANTS[57])/ALGEBRAIC[93];
ALGEBRAIC[139] = ALGEBRAIC[137]+ALGEBRAIC[138];
ALGEBRAIC[130] = 1.00000/ALGEBRAIC[128];
ALGEBRAIC[140] =  ALGEBRAIC[130]*STATES[2]*CONSTANTS[59];
ALGEBRAIC[143] =  CONSTANTS[133]*ALGEBRAIC[139]*(ALGEBRAIC[141]+ALGEBRAIC[140])+ CONSTANTS[134]*ALGEBRAIC[141]*(CONSTANTS[133]+ALGEBRAIC[136]);
ALGEBRAIC[144] =  CONSTANTS[132]*ALGEBRAIC[141]*(ALGEBRAIC[139]+CONSTANTS[134])+ ALGEBRAIC[139]*ALGEBRAIC[140]*(CONSTANTS[132]+ALGEBRAIC[142]);
ALGEBRAIC[145] =  CONSTANTS[132]*ALGEBRAIC[136]*(ALGEBRAIC[141]+ALGEBRAIC[140])+ ALGEBRAIC[142]*ALGEBRAIC[140]*(CONSTANTS[133]+ALGEBRAIC[136]);
ALGEBRAIC[146] =  CONSTANTS[133]*ALGEBRAIC[142]*(ALGEBRAIC[139]+CONSTANTS[134])+ ALGEBRAIC[136]*CONSTANTS[134]*(CONSTANTS[132]+ALGEBRAIC[142]);
ALGEBRAIC[147] = ALGEBRAIC[143]/(ALGEBRAIC[143]+ALGEBRAIC[144]+ALGEBRAIC[145]+ALGEBRAIC[146]);
ALGEBRAIC[148] = ALGEBRAIC[144]/(ALGEBRAIC[143]+ALGEBRAIC[144]+ALGEBRAIC[145]+ALGEBRAIC[146]);
ALGEBRAIC[149] = ALGEBRAIC[145]/(ALGEBRAIC[143]+ALGEBRAIC[144]+ALGEBRAIC[145]+ALGEBRAIC[146]);
ALGEBRAIC[150] = ALGEBRAIC[146]/(ALGEBRAIC[143]+ALGEBRAIC[144]+ALGEBRAIC[145]+ALGEBRAIC[146]);
ALGEBRAIC[152] = ( 3.00000*( ALGEBRAIC[150]*ALGEBRAIC[141] -  ALGEBRAIC[147]*ALGEBRAIC[142])+ ALGEBRAIC[149]*ALGEBRAIC[138]) -  ALGEBRAIC[148]*ALGEBRAIC[135];
ALGEBRAIC[153] =  ALGEBRAIC[148]*CONSTANTS[133] -  ALGEBRAIC[147]*CONSTANTS[132];
ALGEBRAIC[154] =  0.200000*CONSTANTS[128]*ALGEBRAIC[151]*( CONSTANTS[7]*ALGEBRAIC[152]+ CONSTANTS[8]*ALGEBRAIC[153]);
ALGEBRAIC[156] =  CONSTANTS[74]*exp(( (1.00000 - CONSTANTS[75])*STATES[0]*CONSTANTS[6])/( 3.00000*CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[160] = ( CONSTANTS[69]*pow(CONSTANTS[3]/CONSTANTS[77], 2.00000))/((pow(1.00000+CONSTANTS[1]/ALGEBRAIC[156], 3.00000)+pow(1.00000+CONSTANTS[3]/CONSTANTS[77], 2.00000)) - 1.00000);
ALGEBRAIC[157] = CONSTANTS[82]/(1.00000+CONSTANTS[81]/CONSTANTS[83]+STATES[3]/CONSTANTS[84]+STATES[5]/CONSTANTS[85]);
ALGEBRAIC[161] = ( CONSTANTS[70]*ALGEBRAIC[157]*CONSTANTS[81])/(1.00000+CONSTANTS[79]/CONSTANTS[80]);
ALGEBRAIC[155] =  CONSTANTS[73]*exp(( CONSTANTS[75]*STATES[0]*CONSTANTS[6])/( 3.00000*CONSTANTS[4]*CONSTANTS[5]));
ALGEBRAIC[158] = ( CONSTANTS[65]*pow(STATES[3]/ALGEBRAIC[155], 3.00000))/((pow(1.00000+STATES[3]/ALGEBRAIC[155], 3.00000)+pow(1.00000+STATES[5]/CONSTANTS[76], 2.00000)) - 1.00000);
ALGEBRAIC[159] = ( CONSTANTS[68]*pow(CONSTANTS[1]/ALGEBRAIC[156], 3.00000))/((pow(1.00000+CONSTANTS[1]/ALGEBRAIC[156], 3.00000)+pow(1.00000+CONSTANTS[3]/CONSTANTS[77], 2.00000)) - 1.00000);
ALGEBRAIC[162] = ( CONSTANTS[72]*pow(STATES[5]/CONSTANTS[76], 2.00000))/((pow(1.00000+STATES[3]/ALGEBRAIC[155], 3.00000)+pow(1.00000+STATES[5]/CONSTANTS[76], 2.00000)) - 1.00000);
ALGEBRAIC[163] =  CONSTANTS[137]*ALGEBRAIC[158]*CONSTANTS[136]+ ALGEBRAIC[159]*ALGEBRAIC[162]*ALGEBRAIC[161]+ CONSTANTS[136]*ALGEBRAIC[162]*ALGEBRAIC[161]+ ALGEBRAIC[161]*ALGEBRAIC[158]*CONSTANTS[136];
ALGEBRAIC[164] =  ALGEBRAIC[159]*CONSTANTS[135]*ALGEBRAIC[162]+ ALGEBRAIC[158]*CONSTANTS[136]*ALGEBRAIC[160]+ ALGEBRAIC[160]*CONSTANTS[135]*ALGEBRAIC[162]+ CONSTANTS[136]*ALGEBRAIC[160]*ALGEBRAIC[162];
ALGEBRAIC[165] =  CONSTANTS[136]*ALGEBRAIC[160]*CONSTANTS[137]+ ALGEBRAIC[161]*ALGEBRAIC[159]*CONSTANTS[135]+ ALGEBRAIC[159]*CONSTANTS[135]*CONSTANTS[137]+ ALGEBRAIC[160]*CONSTANTS[137]*CONSTANTS[135];
ALGEBRAIC[166] =  ALGEBRAIC[162]*ALGEBRAIC[161]*ALGEBRAIC[159]+ ALGEBRAIC[160]*CONSTANTS[137]*ALGEBRAIC[158]+ ALGEBRAIC[159]*CONSTANTS[137]*ALGEBRAIC[158]+ ALGEBRAIC[161]*ALGEBRAIC[159]*ALGEBRAIC[158];
ALGEBRAIC[167] = ALGEBRAIC[163]/(ALGEBRAIC[163]+ALGEBRAIC[164]+ALGEBRAIC[165]+ALGEBRAIC[166]);
ALGEBRAIC[168] = ALGEBRAIC[164]/(ALGEBRAIC[163]+ALGEBRAIC[164]+ALGEBRAIC[165]+ALGEBRAIC[166]);
ALGEBRAIC[171] =  3.00000*( ALGEBRAIC[167]*ALGEBRAIC[160] -  ALGEBRAIC[168]*ALGEBRAIC[161]);
ALGEBRAIC[169] = ALGEBRAIC[165]/(ALGEBRAIC[163]+ALGEBRAIC[164]+ALGEBRAIC[165]+ALGEBRAIC[166]);
ALGEBRAIC[170] = ALGEBRAIC[166]/(ALGEBRAIC[163]+ALGEBRAIC[164]+ALGEBRAIC[165]+ALGEBRAIC[166]);
ALGEBRAIC[172] =  2.00000*( ALGEBRAIC[170]*CONSTANTS[135] -  ALGEBRAIC[169]*ALGEBRAIC[158]);
ALGEBRAIC[173] =  CONSTANTS[138]*( CONSTANTS[7]*ALGEBRAIC[171]+ CONSTANTS[9]*ALGEBRAIC[172]);
ALGEBRAIC[174] = 1.00000/(1.00000+exp(- (STATES[0] - 14.4800)/18.3400));
ALGEBRAIC[175] =  CONSTANTS[105]*ALGEBRAIC[174]*(STATES[0] - ALGEBRAIC[9]);
ALGEBRAIC[176] = ( CONSTANTS[88]*ALGEBRAIC[1]*( STATES[3]*exp(ALGEBRAIC[2]) - CONSTANTS[1]))/(exp(ALGEBRAIC[2]) - 1.00000);
ALGEBRAIC[177] = ( CONSTANTS[89]*4.00000*ALGEBRAIC[1]*( STATES[9]*exp( 2.00000*ALGEBRAIC[2]) -  0.341000*CONSTANTS[2]))/(exp( 2.00000*ALGEBRAIC[2]) - 1.00000);
ALGEBRAIC[178] = ( CONSTANTS[90]*STATES[9])/(CONSTANTS[91]+STATES[9]);
ALGEBRAIC[179] = (STATES[4] - STATES[3])/2.00000;
ALGEBRAIC[180] = (STATES[6] - STATES[5])/2.00000;
ALGEBRAIC[181] = (STATES[2] - STATES[9])/0.200000;
ALGEBRAIC[182] = ( CONSTANTS[106]*- ALGEBRAIC[72])/(1.00000+ 1.00000*pow(1.50000/STATES[8], 8.00000));
ALGEBRAIC[183] = (CONSTANTS[0]==2.00000 ?  ALGEBRAIC[182]*1.70000 : ALGEBRAIC[182]);
ALGEBRAIC[184] = CONSTANTS[92]/(1.00000+0.0123000/STATES[8]);
ALGEBRAIC[185] = (CONDVAR[1]<0.00000 ? 0.00100000 : ALGEBRAIC[184]);
ALGEBRAIC[186] = ( CONSTANTS[114]*- ALGEBRAIC[72])/(1.00000+pow(1.50000/STATES[8], 8.00000));
ALGEBRAIC[187] = (CONSTANTS[0]==2.00000 ?  ALGEBRAIC[186]*1.70000 : ALGEBRAIC[186]);
ALGEBRAIC[188] = CONSTANTS[107]/(1.00000+0.0123000/STATES[8]);
ALGEBRAIC[189] = (CONDVAR[2]<0.00000 ? 0.00100000 : ALGEBRAIC[188]);
ALGEBRAIC[190] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[191] =  (1.00000 - ALGEBRAIC[190])*STATES[39]+ ALGEBRAIC[190]*STATES[40];
ALGEBRAIC[192] = ( CONSTANTS[108]*0.00437500*STATES[9])/(STATES[9]+0.000920000);
ALGEBRAIC[193] = ( CONSTANTS[108]*2.75000*0.00437500*STATES[9])/((STATES[9]+0.000920000) - 0.000170000);
ALGEBRAIC[194] = 1.00000/(1.00000+CONSTANTS[14]/ALGEBRAIC[4]);
ALGEBRAIC[195] = ( 0.00393750*STATES[7])/15.0000;
ALGEBRAIC[196] = ( (1.00000 - ALGEBRAIC[194])*ALGEBRAIC[192]+ ALGEBRAIC[194]*ALGEBRAIC[193]) - ALGEBRAIC[195];
ALGEBRAIC[197] = (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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = VOI - CONSTANTS[13];
CONDVAR[1] = ALGEBRAIC[184] - 0.00100000;
CONDVAR[2] = ALGEBRAIC[188] - 0.00100000;
}