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 105 entries in the algebraic variable array.
   There are a total of 45 entries in each of the rate and state variable arrays.
   There are a total of 154 entries in the constant variable array.
 */
/*
 * VOI is time in component environment (second).
 * ALGEBRAIC[90] is JCaM_DYAD_SL in component JCaM_DYAD_SL (flux).
 * CONSTANTS[0] is k0B_on in component JCaM_DYAD_SL (second_order_rate_constant).
 * CONSTANTS[1] is k0B_off in component JCaM_DYAD_SL (first_order_rate_constant).
 * STATES[0] is CaM in component CaM (micromolar).
 * ALGEBRAIC[7] is B in component B (micromolar).
 * STATES[1] is CaM in component CaM (micromolar).
 * ALGEBRAIC[91] is JCa2CaM_DYAD_SL in component JCa2CaM_DYAD_SL (flux).
 * CONSTANTS[2] is k2B_on in component JCa2CaM_DYAD_SL (second_order_rate_constant).
 * CONSTANTS[3] is k2B_off in component JCa2CaM_DYAD_SL (first_order_rate_constant).
 * STATES[2] is Ca2CaM in component Ca2CaM (micromolar).
 * STATES[3] is Ca2CaM in component Ca2CaM (micromolar).
 * ALGEBRAIC[92] is JCa4CaM_DYAD_SL in component JCa4CaM_DYAD_SL (flux).
 * CONSTANTS[4] is k4B_on in component JCa4CaM_DYAD_SL (second_order_rate_constant).
 * CONSTANTS[5] is k4B_off in component JCa4CaM_DYAD_SL (first_order_rate_constant).
 * STATES[4] is Ca4CaM in component Ca4CaM (micromolar).
 * STATES[5] is Ca4CaM in component Ca4CaM (micromolar).
 * ALGEBRAIC[0] is JCaM_SL_CYT in component JCaM_SL_CYT (micromole_per_second).
 * CONSTANTS[6] is kSLCYT in component model_parameters (litre_per_second).
 * STATES[6] is CaM in component CaM (micromolar).
 * ALGEBRAIC[1] is JCa2CaM_SL_CYT in component JCa2CaM_SL_CYT (micromole_per_second).
 * STATES[7] is Ca2CaM in component Ca2CaM (micromolar).
 * ALGEBRAIC[2] is JCa4CaM_SL_CYT in component JCa4CaM_SL_CYT (micromole_per_second).
 * STATES[8] is Ca4CaM in component Ca4CaM (micromolar).
 * ALGEBRAIC[3] is Reaction_02 in component Reaction_02 (flux).
 * CONSTANTS[130] is k02 in component Reaction_02 (third_order_rate_constant).
 * CONSTANTS[7] is k20 in component Reaction_02 (first_order_rate_constant).
 * CONSTANTS[109] is Kd02 in component Reaction_02 (micromolar2).
 * CONSTANTS[8] is K in component model_parameters (micromolar).
 * CONSTANTS[9] is Mg in component model_parameters (micromolar).
 * CONSTANTS[10] is Ca in component model_parameters (micromolar).
 * ALGEBRAIC[4] is Reaction_24 in component Reaction_24 (flux).
 * CONSTANTS[131] is k24 in component Reaction_24 (third_order_rate_constant).
 * CONSTANTS[11] is k42 in component Reaction_24 (first_order_rate_constant).
 * CONSTANTS[110] is Kd24 in component Reaction_24 (micromolar2).
 * ALGEBRAIC[5] is Reaction_02B in component Reaction_02B (flux).
 * CONSTANTS[136] is k02B in component Reaction_02B (third_order_rate_constant).
 * CONSTANTS[12] is k20B in component Reaction_02B (first_order_rate_constant).
 * STATES[9] is CaMB in component CaMB (micromolar).
 * STATES[10] is Ca2CaMB in component Ca2CaMB (micromolar).
 * ALGEBRAIC[6] is Reaction_24B in component Reaction_24B (flux).
 * CONSTANTS[137] is k24B in component Reaction_24B (third_order_rate_constant).
 * CONSTANTS[111] is k42B in component Reaction_24B (first_order_rate_constant).
 * STATES[11] is Ca4CaMB in component Ca4CaMB (micromolar).
 * ALGEBRAIC[93] is Reaction_2B in component Reaction_2B (flux).
 * CONSTANTS[13] is k2B_on in component Reaction_2B (second_order_rate_constant).
 * CONSTANTS[14] is k2B_off in component Reaction_2B (first_order_rate_constant).
 * ALGEBRAIC[94] is Reaction_0B in component Reaction_0B (flux).
 * CONSTANTS[15] is k0B_on in component Reaction_0B (second_order_rate_constant).
 * CONSTANTS[16] is k0B_off in component Reaction_0B (first_order_rate_constant).
 * ALGEBRAIC[95] is Reaction_4B in component Reaction_4B (flux).
 * CONSTANTS[17] is k4B_on in component Reaction_4B (second_order_rate_constant).
 * CONSTANTS[18] is k4B_off in component Reaction_4B (first_order_rate_constant).
 * CONSTANTS[19] is Btot in component B (micromolar).
 * ALGEBRAIC[31] is Reaction_0CaN in component Reaction_0CaN (flux).
 * CONSTANTS[20] is CaMKIItot in component model_parameters (micromolar).
 * ALGEBRAIC[29] is Reaction_2CaN in component Reaction_2CaN (flux).
 * ALGEBRAIC[22] is Reaction_CKt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[17] is Reaction_CKib2 in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[30] is Reaction_4CaN in component Reaction_4CaN (flux).
 * ALGEBRAIC[21] is Reaction_CKta in component Reaction_CKta (first_order_rate_constant).
 * ALGEBRAIC[19] is Reaction_CKib in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[96] is CaMKIIi in component CaMKIIi (micromolar).
 * ALGEBRAIC[13] is Pi in component Pi (dimensionless).
 * ALGEBRAIC[8] is CaMKIIb2 in component CaMKIIb2 (micromolar).
 * STATES[12] is Pb2 in component Pb2 (dimensionless).
 * ALGEBRAIC[9] is CaMKIIb in component CaMKIIb (micromolar).
 * STATES[13] is Pb in component Pb (dimensionless).
 * ALGEBRAIC[10] is CaMKIIt in component CaMKIIt (micromolar).
 * STATES[14] is Pt in component Pt (dimensionless).
 * ALGEBRAIC[11] is CaMKIIt2 in component CaMKIIt2 (micromolar).
 * STATES[15] is Pt2 in component Pt2 (dimensionless).
 * ALGEBRAIC[12] is CaMKIIa in component CaMKIIa (micromolar).
 * STATES[16] is Pa in component Pa (dimensionless).
 * ALGEBRAIC[14] is T in component T (dimensionless).
 * ALGEBRAIC[16] is Reaction_CKbt in component Reaction_CKbt (first_order_rate_constant).
 * ALGEBRAIC[15] is kbt in component Reaction_CKbt (first_order_rate_constant).
 * CONSTANTS[21] is kPP1 in component model_parameters (first_order_rate_constant).
 * CONSTANTS[22] is KmPP1 in component model_parameters (micromolar).
 * CONSTANTS[23] is PP1tot in component model_parameters (micromolar).
 * CONSTANTS[24] is kib2 in component Reaction_CKib2 (second_order_rate_constant).
 * CONSTANTS[25] is kb2i in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[18] is Reaction_CKb2b in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[138] is kb24 in component Reaction_CKb2b (third_order_rate_constant).
 * CONSTANTS[112] is kb42 in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[26] is kib in component Reaction_CKib (second_order_rate_constant).
 * CONSTANTS[27] is kbi in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[20] is Reaction_CKtt2 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[139] is kt24 in component Reaction_CKtt2 (third_order_rate_constant).
 * CONSTANTS[113] is kt42 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[28] is kat in component Reaction_CKta (second_order_rate_constant).
 * CONSTANTS[29] is kta in component Reaction_CKta (first_order_rate_constant).
 * CONSTANTS[30] is kat2 in component Reaction_CKt2a (second_order_rate_constant).
 * CONSTANTS[31] is kt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[23] is Reaction_CKt2b2 in component Reaction_CKt2b2 (first_order_rate_constant).
 * ALGEBRAIC[24] is Reaction_CKai in component Reaction_CKai (first_order_rate_constant).
 * ALGEBRAIC[25] is Ca2CaN in component Ca2CaN (micromolar).
 * CONSTANTS[32] is CaNtot in component Ca2CaN (micromolar).
 * STATES[17] is Ca4CaN in component Ca4CaN (micromolar).
 * STATES[18] is CaMCaN in component CaMCaN (micromolar).
 * STATES[19] is Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * STATES[20] is Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * ALGEBRAIC[26] is Reaction_Ca4CaN in component Reaction_Ca4CaN (flux).
 * CONSTANTS[33] is kCaNCa_on in component Reaction_Ca4CaN (third_order_rate_constant).
 * CONSTANTS[34] is kCaNCa_off in component Reaction_Ca4CaN (first_order_rate_constant).
 * ALGEBRAIC[27] is Reaction_02CaN in component Reaction_02CaN (flux).
 * CONSTANTS[140] is k02CaN in component Reaction_02CaN (third_order_rate_constant).
 * CONSTANTS[114] is k20CaN in component Reaction_02CaN (first_order_rate_constant).
 * ALGEBRAIC[28] is Reaction_24CaN in component Reaction_24CaN (flux).
 * CONSTANTS[141] is k24CaN in component Reaction_24CaN (third_order_rate_constant).
 * CONSTANTS[115] is k42CaN in component Reaction_24CaN (first_order_rate_constant).
 * CONSTANTS[35] is kCaN2_on in component Reaction_2CaN (second_order_rate_constant).
 * CONSTANTS[36] is kCaN2_off in component Reaction_2CaN (first_order_rate_constant).
 * CONSTANTS[37] is kCaN4_on in component Reaction_4CaN (second_order_rate_constant).
 * CONSTANTS[38] is kCaN4_off in component Reaction_4CaN (first_order_rate_constant).
 * CONSTANTS[39] is kCaN0_on in component Reaction_0CaN (second_order_rate_constant).
 * CONSTANTS[40] is kCaN0_off in component Reaction_0CaN (first_order_rate_constant).
 * ALGEBRAIC[32] is Reaction_02 in component Reaction_02 (flux).
 * CONSTANTS[132] is k02 in component Reaction_02 (third_order_rate_constant).
 * CONSTANTS[41] is k20 in component Reaction_02 (first_order_rate_constant).
 * CONSTANTS[116] is Kd02 in component Reaction_02 (micromolar2).
 * CONSTANTS[42] is K in component model_parameters (micromolar).
 * CONSTANTS[43] is Mg in component model_parameters (micromolar).
 * CONSTANTS[44] is Ca in component model_parameters (micromolar).
 * ALGEBRAIC[33] is Reaction_24 in component Reaction_24 (flux).
 * CONSTANTS[133] is k24 in component Reaction_24 (third_order_rate_constant).
 * CONSTANTS[45] is k42 in component Reaction_24 (first_order_rate_constant).
 * CONSTANTS[117] is Kd24 in component Reaction_24 (micromolar2).
 * ALGEBRAIC[34] is Reaction_02B in component Reaction_02B (flux).
 * CONSTANTS[142] is k02B in component Reaction_02B (third_order_rate_constant).
 * CONSTANTS[46] is k20B in component Reaction_02B (first_order_rate_constant).
 * STATES[21] is CaMB in component CaMB (micromolar).
 * STATES[22] is Ca2CaMB in component Ca2CaMB (micromolar).
 * ALGEBRAIC[35] is Reaction_24B in component Reaction_24B (flux).
 * CONSTANTS[143] is k24B in component Reaction_24B (third_order_rate_constant).
 * CONSTANTS[118] is k42B in component Reaction_24B (first_order_rate_constant).
 * STATES[23] is Ca4CaMB in component Ca4CaMB (micromolar).
 * ALGEBRAIC[97] is Reaction_2B in component Reaction_2B (flux).
 * CONSTANTS[47] is k2B_on in component Reaction_2B (second_order_rate_constant).
 * CONSTANTS[48] is k2B_off in component Reaction_2B (first_order_rate_constant).
 * ALGEBRAIC[36] is B in component B (micromolar).
 * ALGEBRAIC[98] is Reaction_0B in component Reaction_0B (flux).
 * CONSTANTS[49] is k0B_on in component Reaction_0B (second_order_rate_constant).
 * CONSTANTS[50] is k0B_off in component Reaction_0B (first_order_rate_constant).
 * ALGEBRAIC[99] is Reaction_4B in component Reaction_4B (flux).
 * CONSTANTS[51] is k4B_on in component Reaction_4B (second_order_rate_constant).
 * CONSTANTS[52] is k4B_off in component Reaction_4B (first_order_rate_constant).
 * CONSTANTS[53] is Btot in component B (micromolar).
 * ALGEBRAIC[60] is Reaction_0CaN in component Reaction_0CaN (flux).
 * CONSTANTS[54] is CaMKIItot in component model_parameters (micromolar).
 * ALGEBRAIC[58] is Reaction_2CaN in component Reaction_2CaN (flux).
 * ALGEBRAIC[51] is Reaction_CKt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[46] is Reaction_CKib2 in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[59] is Reaction_4CaN in component Reaction_4CaN (flux).
 * ALGEBRAIC[50] is Reaction_CKta in component Reaction_CKta (first_order_rate_constant).
 * ALGEBRAIC[48] is Reaction_CKib in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[100] is CaMKIIi in component CaMKIIi (micromolar).
 * ALGEBRAIC[42] is Pi in component Pi (dimensionless).
 * ALGEBRAIC[37] is CaMKIIb2 in component CaMKIIb2 (micromolar).
 * STATES[24] is Pb2 in component Pb2 (dimensionless).
 * ALGEBRAIC[38] is CaMKIIb in component CaMKIIb (micromolar).
 * STATES[25] is Pb in component Pb (dimensionless).
 * ALGEBRAIC[39] is CaMKIIt in component CaMKIIt (micromolar).
 * STATES[26] is Pt in component Pt (dimensionless).
 * ALGEBRAIC[40] is CaMKIIt2 in component CaMKIIt2 (micromolar).
 * STATES[27] is Pt2 in component Pt2 (dimensionless).
 * ALGEBRAIC[41] is CaMKIIa in component CaMKIIa (micromolar).
 * STATES[28] is Pa in component Pa (dimensionless).
 * ALGEBRAIC[43] is T in component T (dimensionless).
 * ALGEBRAIC[45] is Reaction_CKbt in component Reaction_CKbt (first_order_rate_constant).
 * ALGEBRAIC[44] is kbt in component Reaction_CKbt (first_order_rate_constant).
 * CONSTANTS[55] is kPP1 in component model_parameters (first_order_rate_constant).
 * CONSTANTS[56] is KmPP1 in component model_parameters (micromolar).
 * CONSTANTS[57] is PP1tot in component model_parameters (micromolar).
 * CONSTANTS[58] is kib2 in component Reaction_CKib2 (second_order_rate_constant).
 * CONSTANTS[59] is kb2i in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[47] is Reaction_CKb2b in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[144] is kb24 in component Reaction_CKb2b (third_order_rate_constant).
 * CONSTANTS[119] is kb42 in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[60] is kib in component Reaction_CKib (second_order_rate_constant).
 * CONSTANTS[61] is kbi in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[49] is Reaction_CKtt2 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[145] is kt24 in component Reaction_CKtt2 (third_order_rate_constant).
 * CONSTANTS[120] is kt42 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[62] is kat in component Reaction_CKta (second_order_rate_constant).
 * CONSTANTS[63] is kta in component Reaction_CKta (first_order_rate_constant).
 * CONSTANTS[64] is kat2 in component Reaction_CKt2a (second_order_rate_constant).
 * CONSTANTS[65] is kt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[52] is Reaction_CKt2b2 in component Reaction_CKt2b2 (first_order_rate_constant).
 * ALGEBRAIC[53] is Reaction_CKai in component Reaction_CKai (first_order_rate_constant).
 * ALGEBRAIC[54] is Ca2CaN in component Ca2CaN (micromolar).
 * CONSTANTS[66] is CaNtot in component Ca2CaN (micromolar).
 * STATES[29] is Ca4CaN in component Ca4CaN (micromolar).
 * STATES[30] is CaMCaN in component CaMCaN (micromolar).
 * STATES[31] is Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * STATES[32] is Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * ALGEBRAIC[55] is Reaction_Ca4CaN in component Reaction_Ca4CaN (flux).
 * CONSTANTS[67] is kCaNCa_on in component Reaction_Ca4CaN (third_order_rate_constant).
 * CONSTANTS[68] is kCaNCa_off in component Reaction_Ca4CaN (first_order_rate_constant).
 * ALGEBRAIC[56] is Reaction_02CaN in component Reaction_02CaN (flux).
 * CONSTANTS[146] is k02CaN in component Reaction_02CaN (third_order_rate_constant).
 * CONSTANTS[121] is k20CaN in component Reaction_02CaN (first_order_rate_constant).
 * ALGEBRAIC[57] is Reaction_24CaN in component Reaction_24CaN (flux).
 * CONSTANTS[147] is k24CaN in component Reaction_24CaN (third_order_rate_constant).
 * CONSTANTS[122] is k42CaN in component Reaction_24CaN (first_order_rate_constant).
 * CONSTANTS[69] is kCaN2_on in component Reaction_2CaN (second_order_rate_constant).
 * CONSTANTS[70] is kCaN2_off in component Reaction_2CaN (first_order_rate_constant).
 * CONSTANTS[71] is kCaN4_on in component Reaction_4CaN (second_order_rate_constant).
 * CONSTANTS[72] is kCaN4_off in component Reaction_4CaN (first_order_rate_constant).
 * CONSTANTS[73] is kCaN0_on in component Reaction_0CaN (second_order_rate_constant).
 * CONSTANTS[74] is kCaN0_off in component Reaction_0CaN (first_order_rate_constant).
 * ALGEBRAIC[61] is Reaction_02 in component Reaction_02 (flux).
 * CONSTANTS[134] is k02 in component Reaction_02 (third_order_rate_constant).
 * CONSTANTS[75] is k20 in component Reaction_02 (first_order_rate_constant).
 * CONSTANTS[123] is Kd02 in component Reaction_02 (micromolar2).
 * CONSTANTS[76] is K in component model_parameters (micromolar).
 * CONSTANTS[77] is Mg in component model_parameters (micromolar).
 * CONSTANTS[78] is Ca in component model_parameters (micromolar).
 * ALGEBRAIC[62] is Reaction_24 in component Reaction_24 (flux).
 * CONSTANTS[135] is k24 in component Reaction_24 (third_order_rate_constant).
 * CONSTANTS[79] is k42 in component Reaction_24 (first_order_rate_constant).
 * CONSTANTS[124] is Kd24 in component Reaction_24 (micromolar2).
 * ALGEBRAIC[63] is Reaction_02B in component Reaction_02B (flux).
 * CONSTANTS[148] is k02B in component Reaction_02B (third_order_rate_constant).
 * CONSTANTS[80] is k20B in component Reaction_02B (first_order_rate_constant).
 * STATES[33] is CaMB in component CaMB (micromolar).
 * STATES[34] is Ca2CaMB in component Ca2CaMB (micromolar).
 * ALGEBRAIC[64] is Reaction_24B in component Reaction_24B (flux).
 * CONSTANTS[149] is k24B in component Reaction_24B (third_order_rate_constant).
 * CONSTANTS[125] is k42B in component Reaction_24B (first_order_rate_constant).
 * STATES[35] is Ca4CaMB in component Ca4CaMB (micromolar).
 * ALGEBRAIC[101] is Reaction_2B in component Reaction_2B (flux).
 * CONSTANTS[81] is k2B_on in component Reaction_2B (second_order_rate_constant).
 * CONSTANTS[82] is k2B_off in component Reaction_2B (first_order_rate_constant).
 * ALGEBRAIC[65] is B in component B (micromolar).
 * ALGEBRAIC[102] is Reaction_0B in component Reaction_0B (flux).
 * CONSTANTS[83] is k0B_on in component Reaction_0B (second_order_rate_constant).
 * CONSTANTS[84] is k0B_off in component Reaction_0B (first_order_rate_constant).
 * ALGEBRAIC[103] is Reaction_4B in component Reaction_4B (flux).
 * CONSTANTS[85] is k4B_on in component Reaction_4B (second_order_rate_constant).
 * CONSTANTS[86] is k4B_off in component Reaction_4B (first_order_rate_constant).
 * CONSTANTS[87] is Btot in component B (micromolar).
 * ALGEBRAIC[89] is Reaction_0CaN in component Reaction_0CaN (flux).
 * CONSTANTS[88] is CaMKIItot in component model_parameters (micromolar).
 * ALGEBRAIC[87] is Reaction_2CaN in component Reaction_2CaN (flux).
 * ALGEBRAIC[80] is Reaction_CKt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[75] is Reaction_CKib2 in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[88] is Reaction_4CaN in component Reaction_4CaN (flux).
 * ALGEBRAIC[79] is Reaction_CKta in component Reaction_CKta (first_order_rate_constant).
 * ALGEBRAIC[77] is Reaction_CKib in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[104] is CaMKIIi in component CaMKIIi (micromolar).
 * ALGEBRAIC[71] is Pi in component Pi (dimensionless).
 * ALGEBRAIC[66] is CaMKIIb2 in component CaMKIIb2 (micromolar).
 * STATES[36] is Pb2 in component Pb2 (dimensionless).
 * ALGEBRAIC[67] is CaMKIIb in component CaMKIIb (micromolar).
 * STATES[37] is Pb in component Pb (dimensionless).
 * ALGEBRAIC[68] is CaMKIIt in component CaMKIIt (micromolar).
 * STATES[38] is Pt in component Pt (dimensionless).
 * ALGEBRAIC[69] is CaMKIIt2 in component CaMKIIt2 (micromolar).
 * STATES[39] is Pt2 in component Pt2 (dimensionless).
 * ALGEBRAIC[70] is CaMKIIa in component CaMKIIa (micromolar).
 * STATES[40] is Pa in component Pa (dimensionless).
 * ALGEBRAIC[72] is T in component T (dimensionless).
 * ALGEBRAIC[74] is Reaction_CKbt in component Reaction_CKbt (first_order_rate_constant).
 * ALGEBRAIC[73] is kbt in component Reaction_CKbt (first_order_rate_constant).
 * CONSTANTS[89] is kPP1 in component model_parameters (first_order_rate_constant).
 * CONSTANTS[90] is KmPP1 in component model_parameters (micromolar).
 * CONSTANTS[91] is PP1tot in component model_parameters (micromolar).
 * CONSTANTS[92] is kib2 in component Reaction_CKib2 (second_order_rate_constant).
 * CONSTANTS[93] is kb2i in component Reaction_CKib2 (first_order_rate_constant).
 * ALGEBRAIC[76] is Reaction_CKb2b in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[150] is kb24 in component Reaction_CKb2b (third_order_rate_constant).
 * CONSTANTS[126] is kb42 in component Reaction_CKb2b (first_order_rate_constant).
 * CONSTANTS[94] is kib in component Reaction_CKib (second_order_rate_constant).
 * CONSTANTS[95] is kbi in component Reaction_CKib (first_order_rate_constant).
 * ALGEBRAIC[78] is Reaction_CKtt2 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[151] is kt24 in component Reaction_CKtt2 (third_order_rate_constant).
 * CONSTANTS[127] is kt42 in component Reaction_CKtt2 (first_order_rate_constant).
 * CONSTANTS[96] is kat in component Reaction_CKta (second_order_rate_constant).
 * CONSTANTS[97] is kta in component Reaction_CKta (first_order_rate_constant).
 * CONSTANTS[98] is kat2 in component Reaction_CKt2a (second_order_rate_constant).
 * CONSTANTS[99] is kt2a in component Reaction_CKt2a (first_order_rate_constant).
 * ALGEBRAIC[81] is Reaction_CKt2b2 in component Reaction_CKt2b2 (first_order_rate_constant).
 * ALGEBRAIC[82] is Reaction_CKai in component Reaction_CKai (first_order_rate_constant).
 * ALGEBRAIC[83] is Ca2CaN in component Ca2CaN (micromolar).
 * CONSTANTS[100] is CaNtot in component Ca2CaN (micromolar).
 * STATES[41] is Ca4CaN in component Ca4CaN (micromolar).
 * STATES[42] is CaMCaN in component CaMCaN (micromolar).
 * STATES[43] is Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * STATES[44] is Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * ALGEBRAIC[84] is Reaction_Ca4CaN in component Reaction_Ca4CaN (flux).
 * CONSTANTS[101] is kCaNCa_on in component Reaction_Ca4CaN (third_order_rate_constant).
 * CONSTANTS[102] is kCaNCa_off in component Reaction_Ca4CaN (first_order_rate_constant).
 * ALGEBRAIC[85] is Reaction_02CaN in component Reaction_02CaN (flux).
 * CONSTANTS[152] is k02CaN in component Reaction_02CaN (third_order_rate_constant).
 * CONSTANTS[128] is k20CaN in component Reaction_02CaN (first_order_rate_constant).
 * ALGEBRAIC[86] is Reaction_24CaN in component Reaction_24CaN (flux).
 * CONSTANTS[153] is k24CaN in component Reaction_24CaN (third_order_rate_constant).
 * CONSTANTS[129] is k42CaN in component Reaction_24CaN (first_order_rate_constant).
 * CONSTANTS[103] is kCaN2_on in component Reaction_2CaN (second_order_rate_constant).
 * CONSTANTS[104] is kCaN2_off in component Reaction_2CaN (first_order_rate_constant).
 * CONSTANTS[105] is kCaN4_on in component Reaction_4CaN (second_order_rate_constant).
 * CONSTANTS[106] is kCaN4_off in component Reaction_4CaN (first_order_rate_constant).
 * CONSTANTS[107] is kCaN0_on in component Reaction_0CaN (second_order_rate_constant).
 * CONSTANTS[108] is kCaN0_off in component Reaction_0CaN (first_order_rate_constant).
 * RATES[0] is d/dt CaM in component CaM (micromolar).
 * RATES[2] is d/dt Ca2CaM in component Ca2CaM (micromolar).
 * RATES[4] is d/dt Ca4CaM in component Ca4CaM (micromolar).
 * RATES[9] is d/dt CaMB in component CaMB (micromolar).
 * RATES[10] is d/dt Ca2CaMB in component Ca2CaMB (micromolar).
 * RATES[11] is d/dt Ca4CaMB in component Ca4CaMB (micromolar).
 * RATES[12] is d/dt Pb2 in component Pb2 (dimensionless).
 * RATES[13] is d/dt Pb in component Pb (dimensionless).
 * RATES[14] is d/dt Pt in component Pt (dimensionless).
 * RATES[15] is d/dt Pt2 in component Pt2 (dimensionless).
 * RATES[16] is d/dt Pa in component Pa (dimensionless).
 * RATES[17] is d/dt Ca4CaN in component Ca4CaN (micromolar).
 * RATES[18] is d/dt CaMCaN in component CaMCaN (micromolar).
 * RATES[19] is d/dt Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * RATES[20] is d/dt Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * RATES[1] is d/dt CaM in component CaM (micromolar).
 * RATES[3] is d/dt Ca2CaM in component Ca2CaM (micromolar).
 * RATES[5] is d/dt Ca4CaM in component Ca4CaM (micromolar).
 * RATES[21] is d/dt CaMB in component CaMB (micromolar).
 * RATES[22] is d/dt Ca2CaMB in component Ca2CaMB (micromolar).
 * RATES[23] is d/dt Ca4CaMB in component Ca4CaMB (micromolar).
 * RATES[24] is d/dt Pb2 in component Pb2 (dimensionless).
 * RATES[25] is d/dt Pb in component Pb (dimensionless).
 * RATES[26] is d/dt Pt in component Pt (dimensionless).
 * RATES[27] is d/dt Pt2 in component Pt2 (dimensionless).
 * RATES[28] is d/dt Pa in component Pa (dimensionless).
 * RATES[29] is d/dt Ca4CaN in component Ca4CaN (micromolar).
 * RATES[30] is d/dt CaMCaN in component CaMCaN (micromolar).
 * RATES[31] is d/dt Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * RATES[32] is d/dt Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * RATES[6] is d/dt CaM in component CaM (micromolar).
 * RATES[7] is d/dt Ca2CaM in component Ca2CaM (micromolar).
 * RATES[8] is d/dt Ca4CaM in component Ca4CaM (micromolar).
 * RATES[33] is d/dt CaMB in component CaMB (micromolar).
 * RATES[34] is d/dt Ca2CaMB in component Ca2CaMB (micromolar).
 * RATES[35] is d/dt Ca4CaMB in component Ca4CaMB (micromolar).
 * RATES[36] is d/dt Pb2 in component Pb2 (dimensionless).
 * RATES[37] is d/dt Pb in component Pb (dimensionless).
 * RATES[38] is d/dt Pt in component Pt (dimensionless).
 * RATES[39] is d/dt Pt2 in component Pt2 (dimensionless).
 * RATES[40] is d/dt Pa in component Pa (dimensionless).
 * RATES[41] is d/dt Ca4CaN in component Ca4CaN (micromolar).
 * RATES[42] is d/dt CaMCaN in component CaMCaN (micromolar).
 * RATES[43] is d/dt Ca2CaMCaN in component Ca2CaMCaN (micromolar).
 * RATES[44] is d/dt Ca4CaMCaN in component Ca4CaMCaN (micromolar).
 * There are a total of 0 condition variables.
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 0.007;
CONSTANTS[1] = 0.0014;
STATES[0] = 0.1;
STATES[1] = 0.1;
CONSTANTS[2] = 0.007;
CONSTANTS[3] = 0.000014;
STATES[2] = 0.1;
STATES[3] = 0.1;
CONSTANTS[4] = 0.007;
CONSTANTS[5] = 0.000014;
STATES[4] = 0.1;
STATES[5] = 0.1;
CONSTANTS[6] = 8.59E-12;
STATES[6] = 0.1;
STATES[7] = 0.1;
STATES[8] = 0.1;
CONSTANTS[7] = 10.0;
CONSTANTS[8] = 135;
CONSTANTS[9] = 1;
CONSTANTS[10] = 1;
CONSTANTS[11] = 500.0;
CONSTANTS[12] = 0.1;
STATES[9] = 0.1;
STATES[10] = 0.1;
STATES[11] = 0.1;
CONSTANTS[13] = 0.007;
CONSTANTS[14] = 0.000014;
CONSTANTS[15] = 0.007;
CONSTANTS[16] = 0.0014;
CONSTANTS[17] = 0.007;
CONSTANTS[18] = 0.000014;
CONSTANTS[19] = 1860.0;
CONSTANTS[20] = 120.0;
STATES[12] = 0.1;
STATES[13] = 0.1;
STATES[14] = 0.1;
STATES[15] = 0.1;
STATES[16] = 0.1;
CONSTANTS[21] = 1.72;
CONSTANTS[22] = 11.5;
CONSTANTS[23] = 96.5;
CONSTANTS[24] = 65.67;
CONSTANTS[25] = 328.36;
CONSTANTS[26] = 6.567;
CONSTANTS[27] = 2.2;
CONSTANTS[28] = 6.567;
CONSTANTS[29] = 0.0022;
CONSTANTS[30] = 6.567;
CONSTANTS[31] = 32.835;
CONSTANTS[32] = 3.62;
STATES[17] = 0.1;
STATES[18] = 0.1;
STATES[19] = 0.1;
STATES[20] = 0.1;
CONSTANTS[33] = 2.0;
CONSTANTS[34] = 1.0;
CONSTANTS[35] = 46.0;
CONSTANTS[36] = 3.2604;
CONSTANTS[37] = 46.0;
CONSTANTS[38] = 1.3E-3;
CONSTANTS[39] = 46.0;
CONSTANTS[40] = 537.966;
CONSTANTS[41] = 10.0;
CONSTANTS[42] = 135;
CONSTANTS[43] = 1;
CONSTANTS[44] = 1;
CONSTANTS[45] = 500.0;
CONSTANTS[46] = 0.1;
STATES[21] = 0.1;
STATES[22] = 0.1;
STATES[23] = 0.1;
CONSTANTS[47] = 0.007;
CONSTANTS[48] = 0.000014;
CONSTANTS[49] = 0.007;
CONSTANTS[50] = 0.0014;
CONSTANTS[51] = 0.007;
CONSTANTS[52] = 0.000014;
CONSTANTS[53] = 24.5;
CONSTANTS[54] = 0.2;
STATES[24] = 0.1;
STATES[25] = 0.1;
STATES[26] = 0.1;
STATES[27] = 0.1;
STATES[28] = 0.1;
CONSTANTS[55] = 1.72;
CONSTANTS[56] = 11.5;
CONSTANTS[57] = 0.57;
CONSTANTS[58] = 65.67;
CONSTANTS[59] = 328.36;
CONSTANTS[60] = 6.567;
CONSTANTS[61] = 2.2;
CONSTANTS[62] = 6.567;
CONSTANTS[63] = 0.0022;
CONSTANTS[64] = 6.567;
CONSTANTS[65] = 32.835;
CONSTANTS[66] = 3E-3;
STATES[29] = 0.1;
STATES[30] = 0.1;
STATES[31] = 0.1;
STATES[32] = 0.1;
CONSTANTS[67] = 2.0;
CONSTANTS[68] = 1.0;
CONSTANTS[69] = 46.0;
CONSTANTS[70] = 3.2604;
CONSTANTS[71] = 46.0;
CONSTANTS[72] = 1.3E-3;
CONSTANTS[73] = 46.0;
CONSTANTS[74] = 537.966;
CONSTANTS[75] = 10.0;
CONSTANTS[76] = 135;
CONSTANTS[77] = 1;
CONSTANTS[78] = 1;
CONSTANTS[79] = 500.0;
CONSTANTS[80] = 0.1;
STATES[33] = 0.1;
STATES[34] = 0.1;
STATES[35] = 0.1;
CONSTANTS[81] = 0.007;
CONSTANTS[82] = 0.000014;
CONSTANTS[83] = 0.007;
CONSTANTS[84] = 0.0014;
CONSTANTS[85] = 0.007;
CONSTANTS[86] = 0.000014;
CONSTANTS[87] = 24.5;
CONSTANTS[88] = 0.2;
STATES[36] = 0.1;
STATES[37] = 0.1;
STATES[38] = 0.1;
STATES[39] = 0.1;
STATES[40] = 0.1;
CONSTANTS[89] = 1.72;
CONSTANTS[90] = 11.5;
CONSTANTS[91] = 0.57;
CONSTANTS[92] = 65.67;
CONSTANTS[93] = 328.36;
CONSTANTS[94] = 6.567;
CONSTANTS[95] = 2.2;
CONSTANTS[96] = 6.567;
CONSTANTS[97] = 0.0022;
CONSTANTS[98] = 6.567;
CONSTANTS[99] = 32.835;
CONSTANTS[100] = 3E-3;
STATES[41] = 0.1;
STATES[42] = 0.1;
STATES[43] = 0.1;
STATES[44] = 0.1;
CONSTANTS[101] = 2.0;
CONSTANTS[102] = 1.0;
CONSTANTS[103] = 46.0;
CONSTANTS[104] = 3.2604;
CONSTANTS[105] = 46.0;
CONSTANTS[106] = 1.3E-3;
CONSTANTS[107] = 46.0;
CONSTANTS[108] = 537.966;
CONSTANTS[109] = (CONSTANTS[9]<=1.00000 ?  0.00250000*((1.00000+CONSTANTS[8]/0.940000) - CONSTANTS[9]/0.0120000)*(1.00000+CONSTANTS[8]/8.10000+CONSTANTS[9]/0.0220000) :  0.00250000*((1.00000+CONSTANTS[8]/0.940000+(CONSTANTS[9] - 1.00000)/0.0600000) - 1.00000/0.0120000)*(1.00000+CONSTANTS[8]/8.10000+1.00000/0.0220000+(CONSTANTS[9] - 1.00000)/0.0680000));
CONSTANTS[110] = (CONSTANTS[9]<=1.00000 ?  0.128000*(1.00000+CONSTANTS[8]/0.640000+CONSTANTS[9]/0.0140000)*((1.00000+CONSTANTS[8]/13.0000) - CONSTANTS[9]/0.153000) :  0.128000*(1.00000+CONSTANTS[8]/0.640000+(CONSTANTS[9] - 1.00000)/0.00500000)*(1.00000/0.0120000)*((1.00000+CONSTANTS[8]/13.0000+(CONSTANTS[9] - 1.00000)/0.150000) - 1.00000/0.153000));
CONSTANTS[111] = CONSTANTS[11];
CONSTANTS[112] =  CONSTANTS[11]*(0.0335000/5.00000);
CONSTANTS[113] =  CONSTANTS[11]*(3.35000e-05/5.00000);
CONSTANTS[114] = CONSTANTS[7]/160.000;
CONSTANTS[115] = CONSTANTS[11]/2508.00;
CONSTANTS[116] = (CONSTANTS[43]<=1.00000 ?  0.00250000*((1.00000+CONSTANTS[42]/0.940000) - CONSTANTS[43]/0.0120000)*(1.00000+CONSTANTS[42]/8.10000+CONSTANTS[43]/0.0220000) :  0.00250000*((1.00000+CONSTANTS[42]/0.940000+(CONSTANTS[43] - 1.00000)/0.0600000) - 1.00000/0.0120000)*(1.00000+CONSTANTS[42]/8.10000+1.00000/0.0220000+(CONSTANTS[43] - 1.00000)/0.0680000));
CONSTANTS[117] = (CONSTANTS[43]<=1.00000 ?  0.128000*(1.00000+CONSTANTS[42]/0.640000+CONSTANTS[43]/0.0140000)*((1.00000+CONSTANTS[42]/13.0000) - CONSTANTS[43]/0.153000) :  0.128000*(1.00000+CONSTANTS[42]/0.640000+(CONSTANTS[43] - 1.00000)/0.00500000)*(1.00000/0.0120000)*((1.00000+CONSTANTS[42]/13.0000+(CONSTANTS[43] - 1.00000)/0.150000) - 1.00000/0.153000));
CONSTANTS[118] = CONSTANTS[45];
CONSTANTS[119] =  CONSTANTS[45]*(0.0335000/5.00000);
CONSTANTS[120] =  CONSTANTS[45]*(3.35000e-05/5.00000);
CONSTANTS[121] = CONSTANTS[41]/160.000;
CONSTANTS[122] = CONSTANTS[45]/2508.00;
CONSTANTS[123] = (CONSTANTS[77]<=1.00000 ?  0.00250000*((1.00000+CONSTANTS[76]/0.940000) - CONSTANTS[77]/0.0120000)*(1.00000+CONSTANTS[76]/8.10000+CONSTANTS[77]/0.0220000) :  0.00250000*((1.00000+CONSTANTS[76]/0.940000+(CONSTANTS[77] - 1.00000)/0.0600000) - 1.00000/0.0120000)*(1.00000+CONSTANTS[76]/8.10000+1.00000/0.0220000+(CONSTANTS[77] - 1.00000)/0.0680000));
CONSTANTS[124] = (CONSTANTS[77]<=1.00000 ?  0.128000*(1.00000+CONSTANTS[76]/0.640000+CONSTANTS[77]/0.0140000)*((1.00000+CONSTANTS[76]/13.0000) - CONSTANTS[77]/0.153000) :  0.128000*(1.00000+CONSTANTS[76]/0.640000+(CONSTANTS[77] - 1.00000)/0.00500000)*(1.00000/0.0120000)*((1.00000+CONSTANTS[76]/13.0000+(CONSTANTS[77] - 1.00000)/0.150000) - 1.00000/0.153000));
CONSTANTS[125] = CONSTANTS[79];
CONSTANTS[126] =  CONSTANTS[79]*(0.0335000/5.00000);
CONSTANTS[127] =  CONSTANTS[79]*(3.35000e-05/5.00000);
CONSTANTS[128] = CONSTANTS[75]/160.000;
CONSTANTS[129] = CONSTANTS[79]/2508.00;
CONSTANTS[130] = CONSTANTS[7]/CONSTANTS[109];
CONSTANTS[131] = CONSTANTS[11]/CONSTANTS[110];
CONSTANTS[132] = CONSTANTS[41]/CONSTANTS[116];
CONSTANTS[133] = CONSTANTS[45]/CONSTANTS[117];
CONSTANTS[134] = CONSTANTS[75]/CONSTANTS[123];
CONSTANTS[135] = CONSTANTS[79]/CONSTANTS[124];
CONSTANTS[136] = CONSTANTS[130];
CONSTANTS[137] = CONSTANTS[131];
CONSTANTS[138] = CONSTANTS[131];
CONSTANTS[139] = CONSTANTS[131];
CONSTANTS[140] = CONSTANTS[130];
CONSTANTS[141] = CONSTANTS[131];
CONSTANTS[142] = CONSTANTS[132];
CONSTANTS[143] = CONSTANTS[133];
CONSTANTS[144] = CONSTANTS[133];
CONSTANTS[145] = CONSTANTS[133];
CONSTANTS[146] = CONSTANTS[132];
CONSTANTS[147] = CONSTANTS[133];
CONSTANTS[148] = CONSTANTS[134];
CONSTANTS[149] = CONSTANTS[135];
CONSTANTS[150] = CONSTANTS[135];
CONSTANTS[151] = CONSTANTS[135];
CONSTANTS[152] = CONSTANTS[134];
CONSTANTS[153] = CONSTANTS[135];
RATES[0] = 0.1001;
RATES[2] = 0.1001;
RATES[4] = 0.1001;
RATES[9] = 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[1] = 0.1001;
RATES[3] = 0.1001;
RATES[5] = 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[6] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 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[43] = 0.1001;
RATES[44] = 0.1001;
}
void
computeResiduals(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
                 double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
resid[0] = RATES[0] -  0.00100000*- (ALGEBRAIC[3]+ALGEBRAIC[94]+ALGEBRAIC[31]);
resid[1] = RATES[2] -  0.00100000*(( CONSTANTS[20]*(ALGEBRAIC[22] - ALGEBRAIC[17])+ALGEBRAIC[3]) - (ALGEBRAIC[4]+ALGEBRAIC[93]+ALGEBRAIC[29]));
resid[2] = RATES[4] -  0.00100000*(( CONSTANTS[20]*(ALGEBRAIC[21] - ALGEBRAIC[19])+ALGEBRAIC[4]) - (ALGEBRAIC[30]+ALGEBRAIC[95]));
resid[3] = RATES[9] -  0.00100000*(ALGEBRAIC[94] - ALGEBRAIC[5]);
resid[4] = RATES[10] -  0.00100000*((ALGEBRAIC[5]+ALGEBRAIC[93]) - ALGEBRAIC[6]);
resid[5] = RATES[11] -  0.00100000*(ALGEBRAIC[6]+ALGEBRAIC[95]);
resid[6] = RATES[12] -  0.00100000*(ALGEBRAIC[23] - (ALGEBRAIC[17]+ALGEBRAIC[18]));
resid[7] = RATES[13] -  0.00100000*((ALGEBRAIC[19]+ALGEBRAIC[18]) - ALGEBRAIC[16]);
resid[8] = RATES[14] -  0.00100000*- (ALGEBRAIC[16]+ALGEBRAIC[21]+ALGEBRAIC[20]);
resid[9] = RATES[15] -  0.00100000*- (ALGEBRAIC[20]+ALGEBRAIC[22]+ALGEBRAIC[23]);
resid[10] = RATES[16] -  0.00100000*((ALGEBRAIC[21]+ALGEBRAIC[22]) - ALGEBRAIC[24]);
resid[11] = RATES[17] -  0.00100000*(ALGEBRAIC[26] - (ALGEBRAIC[31]+ALGEBRAIC[29]+ALGEBRAIC[30]));
resid[12] = RATES[18] -  0.00100000*(ALGEBRAIC[31] - ALGEBRAIC[27]);
resid[13] = RATES[19] -  0.00100000*((ALGEBRAIC[29]+ALGEBRAIC[27]) - ALGEBRAIC[28]);
resid[14] = RATES[20] -  0.00100000*(ALGEBRAIC[30]+ALGEBRAIC[28]);
resid[15] = RATES[1] -  0.00100000*- (ALGEBRAIC[32]+ALGEBRAIC[98]+ALGEBRAIC[60]);
resid[16] = RATES[3] -  0.00100000*(( CONSTANTS[54]*(ALGEBRAIC[51] - ALGEBRAIC[46])+ALGEBRAIC[32]) - (ALGEBRAIC[33]+ALGEBRAIC[97]+ALGEBRAIC[58]));
resid[17] = RATES[5] -  0.00100000*(( CONSTANTS[54]*(ALGEBRAIC[50] - ALGEBRAIC[48])+ALGEBRAIC[33]) - (ALGEBRAIC[59]+ALGEBRAIC[99]));
resid[18] = RATES[21] -  0.00100000*(ALGEBRAIC[98] - ALGEBRAIC[34]);
resid[19] = RATES[22] -  0.00100000*((ALGEBRAIC[34]+ALGEBRAIC[97]) - ALGEBRAIC[35]);
resid[20] = RATES[23] -  0.00100000*(ALGEBRAIC[35]+ALGEBRAIC[99]);
resid[21] = RATES[24] -  0.00100000*(ALGEBRAIC[52] - (ALGEBRAIC[46]+ALGEBRAIC[47]));
resid[22] = RATES[25] -  0.00100000*((ALGEBRAIC[48]+ALGEBRAIC[47]) - ALGEBRAIC[45]);
resid[23] = RATES[26] -  0.00100000*- (ALGEBRAIC[45]+ALGEBRAIC[50]+ALGEBRAIC[49]);
resid[24] = RATES[27] -  0.00100000*- (ALGEBRAIC[49]+ALGEBRAIC[51]+ALGEBRAIC[52]);
resid[25] = RATES[28] -  0.00100000*((ALGEBRAIC[50]+ALGEBRAIC[51]) - ALGEBRAIC[53]);
resid[26] = RATES[29] -  0.00100000*(ALGEBRAIC[55] - (ALGEBRAIC[60]+ALGEBRAIC[58]+ALGEBRAIC[59]));
resid[27] = RATES[30] -  0.00100000*(ALGEBRAIC[60] - ALGEBRAIC[56]);
resid[28] = RATES[31] -  0.00100000*((ALGEBRAIC[58]+ALGEBRAIC[56]) - ALGEBRAIC[57]);
resid[29] = RATES[32] -  0.00100000*(ALGEBRAIC[59]+ALGEBRAIC[57]);
resid[30] = RATES[6] -  0.00100000*- (ALGEBRAIC[61]+ALGEBRAIC[102]+ALGEBRAIC[89]);
resid[31] = RATES[7] -  0.00100000*(( CONSTANTS[88]*(ALGEBRAIC[80] - ALGEBRAIC[75])+ALGEBRAIC[61]) - (ALGEBRAIC[62]+ALGEBRAIC[101]+ALGEBRAIC[87]));
resid[32] = RATES[8] -  0.00100000*(( CONSTANTS[88]*(ALGEBRAIC[79] - ALGEBRAIC[77])+ALGEBRAIC[62]) - (ALGEBRAIC[88]+ALGEBRAIC[103]));
resid[33] = RATES[33] -  0.00100000*(ALGEBRAIC[102] - ALGEBRAIC[63]);
resid[34] = RATES[34] -  0.00100000*((ALGEBRAIC[63]+ALGEBRAIC[101]) - ALGEBRAIC[64]);
resid[35] = RATES[35] -  0.00100000*(ALGEBRAIC[64]+ALGEBRAIC[103]);
resid[36] = RATES[36] -  0.00100000*(ALGEBRAIC[81] - (ALGEBRAIC[75]+ALGEBRAIC[76]));
resid[37] = RATES[37] -  0.00100000*((ALGEBRAIC[77]+ALGEBRAIC[76]) - ALGEBRAIC[74]);
resid[38] = RATES[38] -  0.00100000*- (ALGEBRAIC[74]+ALGEBRAIC[79]+ALGEBRAIC[78]);
resid[39] = RATES[39] -  0.00100000*- (ALGEBRAIC[78]+ALGEBRAIC[80]+ALGEBRAIC[81]);
resid[40] = RATES[40] -  0.00100000*((ALGEBRAIC[79]+ALGEBRAIC[80]) - ALGEBRAIC[82]);
resid[41] = RATES[41] -  0.00100000*(ALGEBRAIC[84] - (ALGEBRAIC[89]+ALGEBRAIC[87]+ALGEBRAIC[88]));
resid[42] = RATES[42] -  0.00100000*(ALGEBRAIC[89] - ALGEBRAIC[85]);
resid[43] = RATES[43] -  0.00100000*((ALGEBRAIC[87]+ALGEBRAIC[85]) - ALGEBRAIC[86]);
resid[44] = RATES[44] -  0.00100000*(ALGEBRAIC[88]+ALGEBRAIC[86]);
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[0] =  CONSTANTS[6]*(STATES[1] - STATES[6]);
ALGEBRAIC[1] =  CONSTANTS[6]*(STATES[3] - STATES[7]);
ALGEBRAIC[2] =  CONSTANTS[6]*(STATES[5] - STATES[8]);
ALGEBRAIC[8] =  STATES[12]*CONSTANTS[20];
ALGEBRAIC[9] =  STATES[13]*CONSTANTS[20];
ALGEBRAIC[10] =  STATES[14]*CONSTANTS[20];
ALGEBRAIC[11] =  STATES[15]*CONSTANTS[20];
ALGEBRAIC[12] =  STATES[16]*CONSTANTS[20];
ALGEBRAIC[37] =  STATES[24]*CONSTANTS[54];
ALGEBRAIC[38] =  STATES[25]*CONSTANTS[54];
ALGEBRAIC[39] =  STATES[26]*CONSTANTS[54];
ALGEBRAIC[40] =  STATES[27]*CONSTANTS[54];
ALGEBRAIC[41] =  STATES[28]*CONSTANTS[54];
ALGEBRAIC[66] =  STATES[36]*CONSTANTS[88];
ALGEBRAIC[67] =  STATES[37]*CONSTANTS[88];
ALGEBRAIC[68] =  STATES[38]*CONSTANTS[88];
ALGEBRAIC[69] =  STATES[39]*CONSTANTS[88];
ALGEBRAIC[70] =  STATES[40]*CONSTANTS[88];
ALGEBRAIC[90] =  CONSTANTS[1]*STATES[0] -  CONSTANTS[0]*ALGEBRAIC[7]*STATES[1];
ALGEBRAIC[91] =  CONSTANTS[3]*STATES[2] -  CONSTANTS[2]*ALGEBRAIC[7]*STATES[3];
ALGEBRAIC[92] =  CONSTANTS[5]*STATES[4] -  CONSTANTS[4]*ALGEBRAIC[7]*STATES[5];
ALGEBRAIC[96] =  ALGEBRAIC[13]*CONSTANTS[20];
ALGEBRAIC[100] =  ALGEBRAIC[42]*CONSTANTS[54];
ALGEBRAIC[104] =  ALGEBRAIC[71]*CONSTANTS[88];
}
void
computeEssentialVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[3] =  CONSTANTS[130]*pow(CONSTANTS[10], 2.00000)*STATES[0] -  CONSTANTS[7]*STATES[2];
ALGEBRAIC[4] =  CONSTANTS[131]*pow(CONSTANTS[10], 2.00000)*STATES[2] -  CONSTANTS[11]*STATES[4];
ALGEBRAIC[5] =  CONSTANTS[136]*pow(CONSTANTS[10], 2.00000)*STATES[9] -  CONSTANTS[12]*STATES[10];
ALGEBRAIC[6] =  CONSTANTS[137]*pow(CONSTANTS[10], 2.00000)*STATES[10] -  CONSTANTS[111]*STATES[11];
ALGEBRAIC[14] = STATES[13]+STATES[14]+STATES[15]+STATES[16];
ALGEBRAIC[15] =  0.0550000*ALGEBRAIC[14]+ 0.00740000*pow(ALGEBRAIC[14], 2.00000)+ 0.0150000*pow(ALGEBRAIC[14], 3.00000);
ALGEBRAIC[16] =  ALGEBRAIC[15]*STATES[13] - ( CONSTANTS[21]*CONSTANTS[23]*STATES[14])/(CONSTANTS[22]+ CONSTANTS[20]*STATES[14]);
ALGEBRAIC[13] = 1.00000 - (STATES[13]+STATES[12]+STATES[14]+STATES[15]+STATES[16]);
ALGEBRAIC[17] =  CONSTANTS[24]*STATES[2]*ALGEBRAIC[13] -  CONSTANTS[25]*STATES[12];
ALGEBRAIC[18] =  CONSTANTS[138]*pow(CONSTANTS[10], 2.00000)*STATES[12] -  CONSTANTS[112]*STATES[12];
ALGEBRAIC[19] =  CONSTANTS[26]*STATES[4]*ALGEBRAIC[13] -  CONSTANTS[27]*STATES[13];
ALGEBRAIC[20] =  CONSTANTS[113]*STATES[14] -  CONSTANTS[139]*pow(CONSTANTS[10], 2.00000)*STATES[15];
ALGEBRAIC[21] =  CONSTANTS[29]*STATES[14] -  CONSTANTS[28]*STATES[4]*STATES[16];
ALGEBRAIC[22] =  CONSTANTS[31]*STATES[15] -  CONSTANTS[30]*STATES[2]*STATES[16];
ALGEBRAIC[23] = ( CONSTANTS[21]*CONSTANTS[23]*STATES[15])/(CONSTANTS[22]+ CONSTANTS[20]*STATES[15]);
ALGEBRAIC[24] = ( CONSTANTS[21]*CONSTANTS[23]*STATES[16])/(CONSTANTS[22]+ CONSTANTS[20]*STATES[16]);
ALGEBRAIC[25] = CONSTANTS[32] - (STATES[17]+STATES[18]+STATES[19]+STATES[20]);
ALGEBRAIC[26] =  CONSTANTS[33]*pow(CONSTANTS[10], 2.00000)*ALGEBRAIC[25] -  CONSTANTS[34]*STATES[17];
ALGEBRAIC[27] =  CONSTANTS[140]*pow(CONSTANTS[10], 2.00000)*STATES[18] -  CONSTANTS[114]*STATES[19];
ALGEBRAIC[28] =  CONSTANTS[141]*pow(CONSTANTS[10], 2.00000)*STATES[19] -  CONSTANTS[115]*STATES[20];
ALGEBRAIC[29] =  CONSTANTS[35]*STATES[2]*STATES[17] -  CONSTANTS[36]*STATES[19];
ALGEBRAIC[30] =  CONSTANTS[37]*STATES[4]*STATES[17] -  CONSTANTS[38]*STATES[20];
ALGEBRAIC[31] =  CONSTANTS[39]*STATES[0]*STATES[17] -  CONSTANTS[40]*STATES[18];
ALGEBRAIC[32] =  CONSTANTS[132]*pow(CONSTANTS[44], 2.00000)*STATES[1] -  CONSTANTS[41]*STATES[3];
ALGEBRAIC[33] =  CONSTANTS[133]*pow(CONSTANTS[44], 2.00000)*STATES[3] -  CONSTANTS[45]*STATES[5];
ALGEBRAIC[34] =  CONSTANTS[142]*pow(CONSTANTS[44], 2.00000)*STATES[21] -  CONSTANTS[46]*STATES[22];
ALGEBRAIC[35] =  CONSTANTS[143]*pow(CONSTANTS[44], 2.00000)*STATES[22] -  CONSTANTS[118]*STATES[23];
ALGEBRAIC[43] = STATES[25]+STATES[26]+STATES[27]+STATES[28];
ALGEBRAIC[44] =  0.0550000*ALGEBRAIC[43]+ 0.00740000*pow(ALGEBRAIC[43], 2.00000)+ 0.0150000*pow(ALGEBRAIC[43], 3.00000);
ALGEBRAIC[45] =  ALGEBRAIC[44]*STATES[25] - ( CONSTANTS[55]*CONSTANTS[57]*STATES[26])/(CONSTANTS[56]+ CONSTANTS[54]*STATES[26]);
ALGEBRAIC[42] = 1.00000 - (STATES[25]+STATES[24]+STATES[26]+STATES[27]+STATES[28]);
ALGEBRAIC[46] =  CONSTANTS[58]*STATES[3]*ALGEBRAIC[42] -  CONSTANTS[59]*STATES[24];
ALGEBRAIC[47] =  CONSTANTS[144]*pow(CONSTANTS[44], 2.00000)*STATES[24] -  CONSTANTS[119]*STATES[24];
ALGEBRAIC[48] =  CONSTANTS[60]*STATES[5]*ALGEBRAIC[42] -  CONSTANTS[61]*STATES[25];
ALGEBRAIC[49] =  CONSTANTS[120]*STATES[26] -  CONSTANTS[145]*pow(CONSTANTS[44], 2.00000)*STATES[27];
ALGEBRAIC[50] =  CONSTANTS[63]*STATES[26] -  CONSTANTS[62]*STATES[5]*STATES[28];
ALGEBRAIC[51] =  CONSTANTS[65]*STATES[27] -  CONSTANTS[64]*STATES[3]*STATES[28];
ALGEBRAIC[52] = ( CONSTANTS[55]*CONSTANTS[57]*STATES[27])/(CONSTANTS[56]+ CONSTANTS[54]*STATES[27]);
ALGEBRAIC[53] = ( CONSTANTS[55]*CONSTANTS[57]*STATES[28])/(CONSTANTS[56]+ CONSTANTS[54]*STATES[28]);
ALGEBRAIC[54] = CONSTANTS[66] - (STATES[29]+STATES[30]+STATES[31]+STATES[32]);
ALGEBRAIC[55] =  CONSTANTS[67]*pow(CONSTANTS[44], 2.00000)*ALGEBRAIC[54] -  CONSTANTS[68]*STATES[29];
ALGEBRAIC[56] =  CONSTANTS[146]*pow(CONSTANTS[44], 2.00000)*STATES[30] -  CONSTANTS[121]*STATES[31];
ALGEBRAIC[57] =  CONSTANTS[147]*pow(CONSTANTS[44], 2.00000)*STATES[31] -  CONSTANTS[122]*STATES[32];
ALGEBRAIC[58] =  CONSTANTS[69]*STATES[3]*STATES[29] -  CONSTANTS[70]*STATES[31];
ALGEBRAIC[59] =  CONSTANTS[71]*STATES[5]*STATES[29] -  CONSTANTS[72]*STATES[32];
ALGEBRAIC[60] =  CONSTANTS[73]*STATES[1]*STATES[29] -  CONSTANTS[74]*STATES[30];
ALGEBRAIC[61] =  CONSTANTS[134]*pow(CONSTANTS[78], 2.00000)*STATES[6] -  CONSTANTS[75]*STATES[7];
ALGEBRAIC[62] =  CONSTANTS[135]*pow(CONSTANTS[78], 2.00000)*STATES[7] -  CONSTANTS[79]*STATES[8];
ALGEBRAIC[63] =  CONSTANTS[148]*pow(CONSTANTS[78], 2.00000)*STATES[33] -  CONSTANTS[80]*STATES[34];
ALGEBRAIC[64] =  CONSTANTS[149]*pow(CONSTANTS[78], 2.00000)*STATES[34] -  CONSTANTS[125]*STATES[35];
ALGEBRAIC[72] = STATES[37]+STATES[38]+STATES[39]+STATES[40];
ALGEBRAIC[73] =  0.0550000*ALGEBRAIC[72]+ 0.00740000*pow(ALGEBRAIC[72], 2.00000)+ 0.0150000*pow(ALGEBRAIC[72], 3.00000);
ALGEBRAIC[74] =  ALGEBRAIC[73]*STATES[37] - ( CONSTANTS[89]*CONSTANTS[91]*STATES[38])/(CONSTANTS[90]+ CONSTANTS[88]*STATES[38]);
ALGEBRAIC[71] = 1.00000 - (STATES[37]+STATES[36]+STATES[38]+STATES[39]+STATES[40]);
ALGEBRAIC[75] =  CONSTANTS[92]*STATES[7]*ALGEBRAIC[71] -  CONSTANTS[93]*STATES[36];
ALGEBRAIC[76] =  CONSTANTS[150]*pow(CONSTANTS[78], 2.00000)*STATES[36] -  CONSTANTS[126]*STATES[36];
ALGEBRAIC[77] =  CONSTANTS[94]*STATES[8]*ALGEBRAIC[71] -  CONSTANTS[95]*STATES[37];
ALGEBRAIC[78] =  CONSTANTS[127]*STATES[38] -  CONSTANTS[151]*pow(CONSTANTS[78], 2.00000)*STATES[39];
ALGEBRAIC[79] =  CONSTANTS[97]*STATES[38] -  CONSTANTS[96]*STATES[8]*STATES[40];
ALGEBRAIC[80] =  CONSTANTS[99]*STATES[39] -  CONSTANTS[98]*STATES[7]*STATES[40];
ALGEBRAIC[81] = ( CONSTANTS[89]*CONSTANTS[91]*STATES[39])/(CONSTANTS[90]+ CONSTANTS[88]*STATES[39]);
ALGEBRAIC[82] = ( CONSTANTS[89]*CONSTANTS[91]*STATES[40])/(CONSTANTS[90]+ CONSTANTS[88]*STATES[40]);
ALGEBRAIC[83] = CONSTANTS[100] - (STATES[41]+STATES[42]+STATES[43]+STATES[44]);
ALGEBRAIC[84] =  CONSTANTS[101]*pow(CONSTANTS[78], 2.00000)*ALGEBRAIC[83] -  CONSTANTS[102]*STATES[41];
ALGEBRAIC[85] =  CONSTANTS[152]*pow(CONSTANTS[78], 2.00000)*STATES[42] -  CONSTANTS[128]*STATES[43];
ALGEBRAIC[86] =  CONSTANTS[153]*pow(CONSTANTS[78], 2.00000)*STATES[43] -  CONSTANTS[129]*STATES[44];
ALGEBRAIC[87] =  CONSTANTS[103]*STATES[7]*STATES[41] -  CONSTANTS[104]*STATES[43];
ALGEBRAIC[88] =  CONSTANTS[105]*STATES[8]*STATES[41] -  CONSTANTS[106]*STATES[44];
ALGEBRAIC[89] =  CONSTANTS[107]*STATES[6]*STATES[41] -  CONSTANTS[108]*STATES[42];
ALGEBRAIC[7] = CONSTANTS[19] - (STATES[9]+STATES[10]+STATES[11]);
ALGEBRAIC[93] =  CONSTANTS[13]*STATES[2]*ALGEBRAIC[7] -  CONSTANTS[14]*STATES[10];
ALGEBRAIC[94] =  CONSTANTS[15]*STATES[0]*ALGEBRAIC[7] -  CONSTANTS[16]*STATES[9];
ALGEBRAIC[95] =  CONSTANTS[17]*STATES[4]*ALGEBRAIC[7] -  CONSTANTS[18]*STATES[11];
ALGEBRAIC[36] = CONSTANTS[53] - (STATES[21]+STATES[22]+STATES[23]);
ALGEBRAIC[97] =  CONSTANTS[47]*STATES[3]*ALGEBRAIC[36] -  CONSTANTS[48]*STATES[22];
ALGEBRAIC[98] =  CONSTANTS[49]*STATES[1]*ALGEBRAIC[36] -  CONSTANTS[50]*STATES[21];
ALGEBRAIC[99] =  CONSTANTS[51]*STATES[5]*ALGEBRAIC[36] -  CONSTANTS[52]*STATES[23];
ALGEBRAIC[65] = CONSTANTS[87] - (STATES[33]+STATES[34]+STATES[35]);
ALGEBRAIC[101] =  CONSTANTS[81]*STATES[7]*ALGEBRAIC[65] -  CONSTANTS[82]*STATES[34];
ALGEBRAIC[102] =  CONSTANTS[83]*STATES[6]*ALGEBRAIC[65] -  CONSTANTS[84]*STATES[33];
ALGEBRAIC[103] =  CONSTANTS[85]*STATES[8]*ALGEBRAIC[65] -  CONSTANTS[86]*STATES[35];
}
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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
}