/* There are a total of 75 entries in the algebraic variable array. There are a total of 9 entries in each of the rate and state variable arrays. There are a total of 54 entries in the constant variable array. */ /* * VOI is time in component environment (millisecond). * STATES[0] is Gi in component Gi (millimolar). * ALGEBRAIC[6] is Jglut in component Jglut (millimolar_per_millisecond). * ALGEBRAIC[7] is Jgk in component Jgk (millimolar_per_millisecond). * ALGEBRAIC[3] is Ge in component Ge (millimolar). * CONSTANTS[0] is gluper in component Ge (dimensionless). * CONSTANTS[1] is gluamp in component Ge (millimolar). * CONSTANTS[2] is glubasa1 in component Ge (millimolar). * CONSTANTS[3] is glustep in component Ge (dimensionless). * CONSTANTS[4] is steptime in component Ge (millisecond). * ALGEBRAIC[0] is GeStep in component Ge (millimolar). * STATES[1] is G6P in component G6P (millimolar). * CONSTANTS[5] is kappa in component model_parameters (dimensionless). * ALGEBRAIC[74] is JPFK in component JPFK (micromolar_per_millisecond). * STATES[2] is FBP in component FBP (micromolar). * ALGEBRAIC[8] is JGPDH in component JGPDH (micromolar_per_millisecond). * ALGEBRAIC[5] is F6P in component F6P (millimolar). * CONSTANTS[6] is Kglut in component Jglut (millimolar). * CONSTANTS[7] is Vglut in component Jglut (millimolar_per_millisecond). * CONSTANTS[8] is Kgk in component Jgk (millimolar). * CONSTANTS[9] is Vgk in component Jgk (millimolar_per_millisecond). * CONSTANTS[10] is ngk in component Jgk (dimensionless). * CONSTANTS[11] is pfkbas in component JPFK (dimensionless). * CONSTANTS[12] is cat in component JPFK (micromolar_per_millisecond). * ALGEBRAIC[60] is topb in component w (dimensionless). * ALGEBRAIC[72] is topa16 in component w (dimensionless). * ALGEBRAIC[73] is bottom16 in component w (dimensionless). * CONSTANTS[51] is weight1 in component w (dimensionless). * ALGEBRAIC[51] is weight9 in component w (dimensionless). * ALGEBRAIC[9] is weight5 in component w (dimensionless). * ALGEBRAIC[10] is weight3 in component w (dimensionless). * ALGEBRAIC[15] is weight2 in component w (dimensionless). * ALGEBRAIC[53] is weight13 in component w (dimensionless). * ALGEBRAIC[54] is weight11 in component w (dimensionless). * ALGEBRAIC[56] is weight10 in component w (dimensionless). * ALGEBRAIC[23] is weight6 in component w (dimensionless). * ALGEBRAIC[26] is weight4 in component w (dimensionless). * ALGEBRAIC[59] is weight15 in component w (dimensionless). * ALGEBRAIC[45] is weight8 in component w (dimensionless). * ALGEBRAIC[61] is weight12 in component w (dimensionless). * ALGEBRAIC[66] is weight14 in component w (dimensionless). * ALGEBRAIC[71] is weight16 in component w (dimensionless). * ALGEBRAIC[12] is weight7 in component w (dimensionless). * CONSTANTS[50] is topa1 in component w (dimensionless). * CONSTANTS[53] is topa2 in component w (dimensionless). * ALGEBRAIC[11] is topa3 in component w (dimensionless). * ALGEBRAIC[29] is topa4 in component w (dimensionless). * ALGEBRAIC[32] is topa5 in component w (dimensionless). * ALGEBRAIC[35] is topa6 in component w (dimensionless). * ALGEBRAIC[43] is topa7 in component w (dimensionless). * ALGEBRAIC[46] is topa8 in component w (dimensionless). * ALGEBRAIC[47] is topa9 in component w (dimensionless). * ALGEBRAIC[48] is topa10 in component w (dimensionless). * ALGEBRAIC[55] is topa11 in component w (dimensionless). * ALGEBRAIC[62] is topa12 in component w (dimensionless). * ALGEBRAIC[63] is topa13 in component w (dimensionless). * ALGEBRAIC[67] is topa14 in component w (dimensionless). * ALGEBRAIC[68] is topa15 in component w (dimensionless). * CONSTANTS[52] is bottom1 in component w (dimensionless). * ALGEBRAIC[18] is bottom2 in component w (dimensionless). * ALGEBRAIC[21] is bottom3 in component w (dimensionless). * ALGEBRAIC[37] is bottom4 in component w (dimensionless). * ALGEBRAIC[39] is bottom5 in component w (dimensionless). * ALGEBRAIC[41] is bottom6 in component w (dimensionless). * ALGEBRAIC[44] is bottom7 in component w (dimensionless). * ALGEBRAIC[49] is bottom8 in component w (dimensionless). * ALGEBRAIC[52] is bottom9 in component w (dimensionless). * ALGEBRAIC[57] is bottom10 in component w (dimensionless). * ALGEBRAIC[58] is bottom11 in component w (dimensionless). * ALGEBRAIC[64] is bottom12 in component w (dimensionless). * ALGEBRAIC[65] is bottom13 in component w (dimensionless). * ALGEBRAIC[69] is bottom14 in component w (dimensionless). * ALGEBRAIC[70] is bottom15 in component w (dimensionless). * CONSTANTS[13] is famp in component w (dimensionless). * CONSTANTS[14] is ffbp in component w (dimensionless). * CONSTANTS[15] is fmt in component w (dimensionless). * CONSTANTS[16] is fbt in component w (dimensionless). * CONSTANTS[17] is fatp in component w (dimensionless). * CONSTANTS[18] is K1 in component w (micromolar). * CONSTANTS[19] is K2 in component w (micromolar). * CONSTANTS[20] is K3 in component w (micromolar). * CONSTANTS[21] is K4 in component w (micromolar). * ALGEBRAIC[50] is AMP in component AMP (micromolar). * ALGEBRAIC[14] is ATP in component ATP (micromolar). * CONSTANTS[22] is Atot in component ATP (micromolar). * ALGEBRAIC[13] is rad in component ATP (micromolar). * STATES[3] is ADP in component ADP (micromolar). * ALGEBRAIC[16] is y in component ADP (dimensionless). * CONSTANTS[23] is tau_a in component ADP (millisecond). * CONSTANTS[24] is r in component ADP (dimensionless). * CONSTANTS[25] is r1 in component ADP (micromolar). * CONSTANTS[26] is autoadp in component ADP (dimensionless). * CONSTANTS[27] is adpknot in component ADP (micromolar). * ALGEBRAIC[19] is fback in component ADP (dimensionless). * CONSTANTS[28] is ky in component ADP (dimensionless). * CONSTANTS[29] is kg in component ADP (micromolar_per_millisecond). * STATES[4] is Ca in component Ca (micromolar). * STATES[5] is v in component membrane (millivolt). * CONSTANTS[30] is cm in component membrane (femtofarad). * ALGEBRAIC[22] is I_Ca in component I_Ca (femtoampere). * ALGEBRAIC[17] is I_K in component I_K (femtoampere). * ALGEBRAIC[24] is I_K_Ca in component I_K_Ca (femtoampere). * ALGEBRAIC[42] is I_K_ATP in component I_K_ATP (femtoampere). * CONSTANTS[31] is gK in component I_K (picosiemens). * CONSTANTS[32] is vK in component model_parameters (millivolt). * STATES[6] is n in component n (dimensionless). * ALGEBRAIC[4] is n_infinity in component n (dimensionless). * ALGEBRAIC[1] is tau_n in component n (millisecond). * CONSTANTS[33] is gCa in component I_Ca (picosiemens). * CONSTANTS[34] is vCa in component model_parameters (millivolt). * ALGEBRAIC[20] is m_infinity in component m (dimensionless). * CONSTANTS[35] is gkCa in component I_K_Ca (picosiemens). * CONSTANTS[36] is KD in component I_K_Ca (micromolar). * CONSTANTS[37] is nh in component I_K_Ca (dimensionless). * CONSTANTS[38] is gkATP_bar in component I_K_ATP (picosiemens). * ALGEBRAIC[40] is katpo in component I_K_ATP (dimensionless). * ALGEBRAIC[30] is topo in component I_K_ATP (dimensionless). * ALGEBRAIC[38] is bottomo in component I_K_ATP (dimensionless). * ALGEBRAIC[27] is MgADP in component I_K_ATP (micromolar). * ALGEBRAIC[33] is ADP3 in component I_K_ATP (micromolar). * ALGEBRAIC[36] is ATP4 in component I_K_ATP (micromolar). * CONSTANTS[39] is fcyt in component Ca (dimensionless). * ALGEBRAIC[25] is Jmem in component Jmem (micromolar_per_millisecond). * ALGEBRAIC[34] is Jer in component Jer (micromolar_per_millisecond). * STATES[7] is Caer in component Caer (micromolar). * CONSTANTS[40] is fer in component Caer (dimensionless). * CONSTANTS[41] is sigmav in component Caer (dimensionless). * CONSTANTS[42] is kPMCA in component Jmem (first_order_rate_constant). * CONSTANTS[43] is alpha in component Jmem (micromolar_per_millisecond). * ALGEBRAIC[31] is Jleak in component Jleak (micromolar_per_millisecond). * ALGEBRAIC[28] is JSERCA in component JSERCA (micromolar_per_millisecond). * CONSTANTS[44] is kSERCA in component JSERCA (first_order_rate_constant). * CONSTANTS[45] is pleak in component Jleak (first_order_rate_constant). * STATES[8] is I in component I (dimensionless). * ALGEBRAIC[2] is I_infinity in component I (dimensionless). * CONSTANTS[46] is tau_I in component I (millisecond). * CONSTANTS[47] is I_max in component I (dimensionless). * CONSTANTS[48] is delta in component I (dimensionless). * CONSTANTS[49] is ki in component I (micromolar). * RATES[0] is d/dt Gi in component Gi (millimolar). * RATES[1] is d/dt G6P in component G6P (millimolar). * RATES[2] is d/dt FBP in component FBP (micromolar). * RATES[3] is d/dt ADP in component ADP (micromolar). * RATES[5] is d/dt v in component membrane (millivolt). * RATES[6] is d/dt n in component n (dimensionless). * RATES[4] is d/dt Ca in component Ca (micromolar). * RATES[7] is d/dt Caer in component Caer (micromolar). * RATES[8] is d/dt I in component I (dimensionless). */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { STATES[0] = 6.0637; CONSTANTS[0] = 7.0; CONSTANTS[1] = 0.0; CONSTANTS[2] = 7.0; CONSTANTS[3] = 0.0; CONSTANTS[4] = 480000; STATES[1] = 525.97; CONSTANTS[5] = 0.005; STATES[2] = 0.2088; CONSTANTS[6] = 7; CONSTANTS[7] = 8; CONSTANTS[8] = 7; CONSTANTS[9] = 0.8; CONSTANTS[10] = 4; CONSTANTS[11] = 0.06; CONSTANTS[12] = 2; CONSTANTS[13] = 0.02; CONSTANTS[14] = 0.2; CONSTANTS[15] = 20; CONSTANTS[16] = 20; CONSTANTS[17] = 20; CONSTANTS[18] = 30; CONSTANTS[19] = 1; CONSTANTS[20] = 50000; CONSTANTS[21] = 1000; CONSTANTS[22] = 3000; STATES[3] = 537.6; CONSTANTS[23] = 300000; CONSTANTS[24] = 0.5; CONSTANTS[25] = 0.35; CONSTANTS[26] = 1.0; CONSTANTS[27] = 800.0; CONSTANTS[28] = 2.2; CONSTANTS[29] = 0.1; STATES[4] = 0.05626; STATES[5] = -66.7; CONSTANTS[30] = 5300; CONSTANTS[31] = 2700; CONSTANTS[32] = -75; STATES[6] = 0.00012; CONSTANTS[33] = 1000; CONSTANTS[34] = 25; CONSTANTS[35] = 400; CONSTANTS[36] = 0.5; CONSTANTS[37] = 2.0; CONSTANTS[38] = 2000; CONSTANTS[39] = 0.01; STATES[7] = 121.8; CONSTANTS[40] = 0.01; CONSTANTS[41] = 31; CONSTANTS[42] = 0.18; CONSTANTS[43] = 4.5e-6; CONSTANTS[44] = 0.4; CONSTANTS[45] = 0.0002; STATES[8] = 0.316; CONSTANTS[46] = 10000; CONSTANTS[47] = 20; CONSTANTS[48] = 8.0; CONSTANTS[49] = 0.1; CONSTANTS[50] = 0.00000; CONSTANTS[51] = 1.00000; CONSTANTS[52] = 1.00000; CONSTANTS[53] = CONSTANTS[50]; } void computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[2] = CONSTANTS[47]*(pow(STATES[4], CONSTANTS[48])/(pow(CONSTANTS[49], CONSTANTS[48])+pow(STATES[4], CONSTANTS[48]))); RATES[8] = (ALGEBRAIC[2] - STATES[8])/CONSTANTS[46]; ALGEBRAIC[4] = 0.500000*(1.00000+ tanh((STATES[5] - -16.0000)/11.2000)); ALGEBRAIC[1] = 1.00000/( 0.0350000*cosh((STATES[5] - -16.0000)/22.4000)); RATES[6] = (ALGEBRAIC[4] - STATES[6])/ALGEBRAIC[1]; ALGEBRAIC[0] = ((VOI - CONSTANTS[4])/1000.00>1.00000 ? CONSTANTS[3]*CONSTANTS[1] : (VOI - CONSTANTS[4])/1000.00>0.00000&&(VOI - CONSTANTS[4])/1000.00<1.00000 ? ((VOI - CONSTANTS[4])/1000.00)*CONSTANTS[3]*CONSTANTS[1] : (VOI - CONSTANTS[4])/1000.00<0.00000 ? 0.00000 : 0.0/0.0); ALGEBRAIC[3] = CONSTANTS[2]+ CONSTANTS[1]*(1.00000 - CONSTANTS[3])*cos(( VOI*2.00000* 3.14159265358979)/( 60000.0*CONSTANTS[0]))+ALGEBRAIC[0]; ALGEBRAIC[6] = CONSTANTS[7]*(( (ALGEBRAIC[3] - STATES[0])*CONSTANTS[6])/( (CONSTANTS[6]+ALGEBRAIC[3])*(CONSTANTS[6]+STATES[0]))); ALGEBRAIC[7] = ( CONSTANTS[9]*pow(STATES[0], CONSTANTS[10]))/(pow(CONSTANTS[8], CONSTANTS[10])+pow(STATES[0], CONSTANTS[10])); RATES[0] = ALGEBRAIC[6] - ALGEBRAIC[7]; ALGEBRAIC[13] = pow((pow(STATES[3] - CONSTANTS[22], 2.00000) - 4.00000*pow(STATES[3], 2.00000)), 1.0 / 2); ALGEBRAIC[14] = 0.500000*((CONSTANTS[22]+ALGEBRAIC[13]) - STATES[3]); ALGEBRAIC[8] = 0.200000* pow((STATES[2]/1.00000), 1.0 / 2); ALGEBRAIC[16] = ( CONSTANTS[28]*ALGEBRAIC[8])/(CONSTANTS[29]+ALGEBRAIC[8]); ALGEBRAIC[19] = CONSTANTS[24]+ALGEBRAIC[16]; RATES[3] = CONSTANTS[26]*((ALGEBRAIC[14] - STATES[3]*exp( ALGEBRAIC[19]*((1.00000 - STATES[4])/CONSTANTS[25])))/CONSTANTS[23])+ 1.00000*(1.00000 - CONSTANTS[26])*(CONSTANTS[27] - STATES[3]); ALGEBRAIC[20] = 0.500000*(1.00000+ tanh((STATES[5] - -20.0000)/24.0000)); ALGEBRAIC[22] = CONSTANTS[33]*ALGEBRAIC[20]*(STATES[5] - CONSTANTS[34]); ALGEBRAIC[25] = - ( CONSTANTS[43]*1.00000*ALGEBRAIC[22]+ CONSTANTS[42]*STATES[4]); ALGEBRAIC[31] = CONSTANTS[45]*(STATES[7] - STATES[4]); ALGEBRAIC[28] = CONSTANTS[44]*STATES[4]; ALGEBRAIC[34] = ALGEBRAIC[31] - ALGEBRAIC[28]; RATES[4] = CONSTANTS[39]*(ALGEBRAIC[25]+ALGEBRAIC[34]); RATES[7] = - CONSTANTS[40]*CONSTANTS[41]*ALGEBRAIC[34]; ALGEBRAIC[17] = CONSTANTS[31]*STATES[6]*(STATES[5] - CONSTANTS[32]); ALGEBRAIC[24] = (CONSTANTS[35]/(1.00000+pow(CONSTANTS[36]/STATES[4], CONSTANTS[37])))*(STATES[5] - CONSTANTS[32]); ALGEBRAIC[27] = 0.165000*STATES[3]; ALGEBRAIC[30] = 0.0800000*(1.00000+( 2.00000*ALGEBRAIC[27])/17.0000)+ 0.890000*pow(ALGEBRAIC[27]/17.0000, 2.00000); ALGEBRAIC[33] = 0.135000*STATES[3]; ALGEBRAIC[36] = 0.0500000*ALGEBRAIC[14]; ALGEBRAIC[38] = pow(1.00000+ALGEBRAIC[27]/17.0000, 2.00000)*(1.00000+ALGEBRAIC[33]/26.0000+ALGEBRAIC[36]/1.00000); ALGEBRAIC[40] = 20.0000*(ALGEBRAIC[30]/ALGEBRAIC[38]); ALGEBRAIC[42] = CONSTANTS[38]*ALGEBRAIC[40]*(STATES[5] - CONSTANTS[32]); RATES[5] = - (ALGEBRAIC[17]+ALGEBRAIC[22]+ALGEBRAIC[24]+ALGEBRAIC[42])/CONSTANTS[30]; ALGEBRAIC[5] = 0.300000*STATES[1]; ALGEBRAIC[50] = pow(STATES[3], 2.00000)/ALGEBRAIC[14]; ALGEBRAIC[59] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]*CONSTANTS[13]); ALGEBRAIC[60] = ALGEBRAIC[59]; ALGEBRAIC[71] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[13]*CONSTANTS[16]*CONSTANTS[15]*CONSTANTS[17]); ALGEBRAIC[61] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[13]*CONSTANTS[15]*CONSTANTS[17]); ALGEBRAIC[54] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[13]); ALGEBRAIC[45] = ( STATES[2]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[16]*CONSTANTS[17]); ALGEBRAIC[12] = ( STATES[2]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]); ALGEBRAIC[26] = pow( ALGEBRAIC[5]*ALGEBRAIC[14], 2.00000)/( 1.00000*CONSTANTS[17]*CONSTANTS[20]*CONSTANTS[21]); ALGEBRAIC[10] = pow(ALGEBRAIC[5], 2.00000)/( 1.00000*CONSTANTS[20]); ALGEBRAIC[11] = CONSTANTS[53]+ALGEBRAIC[10]; ALGEBRAIC[29] = ALGEBRAIC[11]+ALGEBRAIC[26]; ALGEBRAIC[32] = ALGEBRAIC[29]; ALGEBRAIC[35] = ALGEBRAIC[32]; ALGEBRAIC[43] = ALGEBRAIC[35]+ALGEBRAIC[12]; ALGEBRAIC[46] = ALGEBRAIC[43]+ALGEBRAIC[45]; ALGEBRAIC[47] = ALGEBRAIC[46]; ALGEBRAIC[48] = ALGEBRAIC[47]; ALGEBRAIC[55] = ALGEBRAIC[48]+ALGEBRAIC[54]; ALGEBRAIC[62] = ALGEBRAIC[55]+ALGEBRAIC[61]; ALGEBRAIC[63] = ALGEBRAIC[62]; ALGEBRAIC[67] = ALGEBRAIC[63]; ALGEBRAIC[68] = ALGEBRAIC[67]; ALGEBRAIC[72] = ALGEBRAIC[68]+ALGEBRAIC[71]; ALGEBRAIC[66] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]*CONSTANTS[15]); ALGEBRAIC[53] = ( ALGEBRAIC[50]*STATES[2])/( CONSTANTS[18]*CONSTANTS[19]); ALGEBRAIC[56] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[21]*CONSTANTS[15]); ALGEBRAIC[51] = ALGEBRAIC[50]/CONSTANTS[18]; ALGEBRAIC[23] = ( STATES[2]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]); ALGEBRAIC[9] = STATES[2]/CONSTANTS[19]; ALGEBRAIC[15] = pow(ALGEBRAIC[14], 2.00000)/( 1.00000*CONSTANTS[21]); ALGEBRAIC[18] = CONSTANTS[52]+ALGEBRAIC[15]; ALGEBRAIC[21] = ALGEBRAIC[18]+ALGEBRAIC[10]; ALGEBRAIC[37] = ALGEBRAIC[21]+ALGEBRAIC[26]; ALGEBRAIC[39] = ALGEBRAIC[37]+ALGEBRAIC[9]; ALGEBRAIC[41] = ALGEBRAIC[39]+ALGEBRAIC[23]; ALGEBRAIC[44] = ALGEBRAIC[41]+ALGEBRAIC[12]; ALGEBRAIC[49] = ALGEBRAIC[44]+ALGEBRAIC[45]; ALGEBRAIC[52] = ALGEBRAIC[49]+ALGEBRAIC[51]; ALGEBRAIC[57] = ALGEBRAIC[52]+ALGEBRAIC[56]; ALGEBRAIC[58] = ALGEBRAIC[57]+ALGEBRAIC[54]; ALGEBRAIC[64] = ALGEBRAIC[58]+ALGEBRAIC[61]; ALGEBRAIC[65] = ALGEBRAIC[64]+ALGEBRAIC[53]; ALGEBRAIC[69] = ALGEBRAIC[65]+ALGEBRAIC[66]; ALGEBRAIC[70] = ALGEBRAIC[69]+ALGEBRAIC[59]; ALGEBRAIC[73] = ALGEBRAIC[70]+ALGEBRAIC[71]; ALGEBRAIC[74] = ( CONSTANTS[11]*CONSTANTS[12]*ALGEBRAIC[72]+ CONSTANTS[12]*ALGEBRAIC[60])/ALGEBRAIC[73]; RATES[1] = CONSTANTS[5]*(ALGEBRAIC[7] - ALGEBRAIC[74]); RATES[2] = CONSTANTS[5]*(ALGEBRAIC[74] - 0.500000*ALGEBRAIC[8]); } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[2] = CONSTANTS[47]*(pow(STATES[4], CONSTANTS[48])/(pow(CONSTANTS[49], CONSTANTS[48])+pow(STATES[4], CONSTANTS[48]))); ALGEBRAIC[4] = 0.500000*(1.00000+ tanh((STATES[5] - -16.0000)/11.2000)); ALGEBRAIC[1] = 1.00000/( 0.0350000*cosh((STATES[5] - -16.0000)/22.4000)); ALGEBRAIC[0] = ((VOI - CONSTANTS[4])/1000.00>1.00000 ? CONSTANTS[3]*CONSTANTS[1] : (VOI - CONSTANTS[4])/1000.00>0.00000&&(VOI - CONSTANTS[4])/1000.00<1.00000 ? ((VOI - CONSTANTS[4])/1000.00)*CONSTANTS[3]*CONSTANTS[1] : (VOI - CONSTANTS[4])/1000.00<0.00000 ? 0.00000 : 0.0/0.0); ALGEBRAIC[3] = CONSTANTS[2]+ CONSTANTS[1]*(1.00000 - CONSTANTS[3])*cos(( VOI*2.00000* 3.14159265358979)/( 60000.0*CONSTANTS[0]))+ALGEBRAIC[0]; ALGEBRAIC[6] = CONSTANTS[7]*(( (ALGEBRAIC[3] - STATES[0])*CONSTANTS[6])/( (CONSTANTS[6]+ALGEBRAIC[3])*(CONSTANTS[6]+STATES[0]))); ALGEBRAIC[7] = ( CONSTANTS[9]*pow(STATES[0], CONSTANTS[10]))/(pow(CONSTANTS[8], CONSTANTS[10])+pow(STATES[0], CONSTANTS[10])); ALGEBRAIC[13] = pow((pow(STATES[3] - CONSTANTS[22], 2.00000) - 4.00000*pow(STATES[3], 2.00000)), 1.0 / 2); ALGEBRAIC[14] = 0.500000*((CONSTANTS[22]+ALGEBRAIC[13]) - STATES[3]); ALGEBRAIC[8] = 0.200000* pow((STATES[2]/1.00000), 1.0 / 2); ALGEBRAIC[16] = ( CONSTANTS[28]*ALGEBRAIC[8])/(CONSTANTS[29]+ALGEBRAIC[8]); ALGEBRAIC[19] = CONSTANTS[24]+ALGEBRAIC[16]; ALGEBRAIC[20] = 0.500000*(1.00000+ tanh((STATES[5] - -20.0000)/24.0000)); ALGEBRAIC[22] = CONSTANTS[33]*ALGEBRAIC[20]*(STATES[5] - CONSTANTS[34]); ALGEBRAIC[25] = - ( CONSTANTS[43]*1.00000*ALGEBRAIC[22]+ CONSTANTS[42]*STATES[4]); ALGEBRAIC[31] = CONSTANTS[45]*(STATES[7] - STATES[4]); ALGEBRAIC[28] = CONSTANTS[44]*STATES[4]; ALGEBRAIC[34] = ALGEBRAIC[31] - ALGEBRAIC[28]; ALGEBRAIC[17] = CONSTANTS[31]*STATES[6]*(STATES[5] - CONSTANTS[32]); ALGEBRAIC[24] = (CONSTANTS[35]/(1.00000+pow(CONSTANTS[36]/STATES[4], CONSTANTS[37])))*(STATES[5] - CONSTANTS[32]); ALGEBRAIC[27] = 0.165000*STATES[3]; ALGEBRAIC[30] = 0.0800000*(1.00000+( 2.00000*ALGEBRAIC[27])/17.0000)+ 0.890000*pow(ALGEBRAIC[27]/17.0000, 2.00000); ALGEBRAIC[33] = 0.135000*STATES[3]; ALGEBRAIC[36] = 0.0500000*ALGEBRAIC[14]; ALGEBRAIC[38] = pow(1.00000+ALGEBRAIC[27]/17.0000, 2.00000)*(1.00000+ALGEBRAIC[33]/26.0000+ALGEBRAIC[36]/1.00000); ALGEBRAIC[40] = 20.0000*(ALGEBRAIC[30]/ALGEBRAIC[38]); ALGEBRAIC[42] = CONSTANTS[38]*ALGEBRAIC[40]*(STATES[5] - CONSTANTS[32]); ALGEBRAIC[5] = 0.300000*STATES[1]; ALGEBRAIC[50] = pow(STATES[3], 2.00000)/ALGEBRAIC[14]; ALGEBRAIC[59] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]*CONSTANTS[13]); ALGEBRAIC[60] = ALGEBRAIC[59]; ALGEBRAIC[71] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[13]*CONSTANTS[16]*CONSTANTS[15]*CONSTANTS[17]); ALGEBRAIC[61] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[13]*CONSTANTS[15]*CONSTANTS[17]); ALGEBRAIC[54] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[13]); ALGEBRAIC[45] = ( STATES[2]*pow(ALGEBRAIC[5], 2.00000)*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[16]*CONSTANTS[17]); ALGEBRAIC[12] = ( STATES[2]*pow(ALGEBRAIC[5], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]); ALGEBRAIC[26] = pow( ALGEBRAIC[5]*ALGEBRAIC[14], 2.00000)/( 1.00000*CONSTANTS[17]*CONSTANTS[20]*CONSTANTS[21]); ALGEBRAIC[10] = pow(ALGEBRAIC[5], 2.00000)/( 1.00000*CONSTANTS[20]); ALGEBRAIC[11] = CONSTANTS[53]+ALGEBRAIC[10]; ALGEBRAIC[29] = ALGEBRAIC[11]+ALGEBRAIC[26]; ALGEBRAIC[32] = ALGEBRAIC[29]; ALGEBRAIC[35] = ALGEBRAIC[32]; ALGEBRAIC[43] = ALGEBRAIC[35]+ALGEBRAIC[12]; ALGEBRAIC[46] = ALGEBRAIC[43]+ALGEBRAIC[45]; ALGEBRAIC[47] = ALGEBRAIC[46]; ALGEBRAIC[48] = ALGEBRAIC[47]; ALGEBRAIC[55] = ALGEBRAIC[48]+ALGEBRAIC[54]; ALGEBRAIC[62] = ALGEBRAIC[55]+ALGEBRAIC[61]; ALGEBRAIC[63] = ALGEBRAIC[62]; ALGEBRAIC[67] = ALGEBRAIC[63]; ALGEBRAIC[68] = ALGEBRAIC[67]; ALGEBRAIC[72] = ALGEBRAIC[68]+ALGEBRAIC[71]; ALGEBRAIC[66] = ( ALGEBRAIC[50]*STATES[2]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]*CONSTANTS[15]); ALGEBRAIC[53] = ( ALGEBRAIC[50]*STATES[2])/( CONSTANTS[18]*CONSTANTS[19]); ALGEBRAIC[56] = ( ALGEBRAIC[50]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[21]*CONSTANTS[15]); ALGEBRAIC[51] = ALGEBRAIC[50]/CONSTANTS[18]; ALGEBRAIC[23] = ( STATES[2]*pow(ALGEBRAIC[14], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]); ALGEBRAIC[9] = STATES[2]/CONSTANTS[19]; ALGEBRAIC[15] = pow(ALGEBRAIC[14], 2.00000)/( 1.00000*CONSTANTS[21]); ALGEBRAIC[18] = CONSTANTS[52]+ALGEBRAIC[15]; ALGEBRAIC[21] = ALGEBRAIC[18]+ALGEBRAIC[10]; ALGEBRAIC[37] = ALGEBRAIC[21]+ALGEBRAIC[26]; ALGEBRAIC[39] = ALGEBRAIC[37]+ALGEBRAIC[9]; ALGEBRAIC[41] = ALGEBRAIC[39]+ALGEBRAIC[23]; ALGEBRAIC[44] = ALGEBRAIC[41]+ALGEBRAIC[12]; ALGEBRAIC[49] = ALGEBRAIC[44]+ALGEBRAIC[45]; ALGEBRAIC[52] = ALGEBRAIC[49]+ALGEBRAIC[51]; ALGEBRAIC[57] = ALGEBRAIC[52]+ALGEBRAIC[56]; ALGEBRAIC[58] = ALGEBRAIC[57]+ALGEBRAIC[54]; ALGEBRAIC[64] = ALGEBRAIC[58]+ALGEBRAIC[61]; ALGEBRAIC[65] = ALGEBRAIC[64]+ALGEBRAIC[53]; ALGEBRAIC[69] = ALGEBRAIC[65]+ALGEBRAIC[66]; ALGEBRAIC[70] = ALGEBRAIC[69]+ALGEBRAIC[59]; ALGEBRAIC[73] = ALGEBRAIC[70]+ALGEBRAIC[71]; ALGEBRAIC[74] = ( CONSTANTS[11]*CONSTANTS[12]*ALGEBRAIC[72]+ CONSTANTS[12]*ALGEBRAIC[60])/ALGEBRAIC[73]; }