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 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[22] is Jglut in component Jglut (millimolar_per_millisecond).
 * ALGEBRAIC[2] is Jgk in component Jgk (millimolar_per_millisecond).
 * ALGEBRAIC[21] 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[3] is JGPDH in component JGPDH (micromolar_per_millisecond).
 * ALGEBRAIC[1] 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[40] is topb in component w (dimensionless).
 * ALGEBRAIC[71] is topa16 in component w (dimensionless).
 * ALGEBRAIC[73] is bottom16 in component w (dimensionless).
 * CONSTANTS[51] is weight1 in component w (dimensionless).
 * ALGEBRAIC[30] is weight9 in component w (dimensionless).
 * ALGEBRAIC[4] is weight5 in component w (dimensionless).
 * ALGEBRAIC[5] is weight3 in component w (dimensionless).
 * ALGEBRAIC[31] is weight2 in component w (dimensionless).
 * ALGEBRAIC[33] is weight13 in component w (dimensionless).
 * ALGEBRAIC[34] is weight11 in component w (dimensionless).
 * ALGEBRAIC[35] is weight10 in component w (dimensionless).
 * ALGEBRAIC[36] is weight6 in component w (dimensionless).
 * ALGEBRAIC[37] is weight4 in component w (dimensionless).
 * ALGEBRAIC[39] is weight15 in component w (dimensionless).
 * ALGEBRAIC[41] is weight8 in component w (dimensionless).
 * ALGEBRAIC[42] is weight12 in component w (dimensionless).
 * ALGEBRAIC[43] is weight14 in component w (dimensionless).
 * ALGEBRAIC[44] is weight16 in component w (dimensionless).
 * ALGEBRAIC[7] is weight7 in component w (dimensionless).
 * CONSTANTS[50] is topa1 in component w (dimensionless).
 * CONSTANTS[53] is topa2 in component w (dimensionless).
 * ALGEBRAIC[6] is topa3 in component w (dimensionless).
 * ALGEBRAIC[38] is topa4 in component w (dimensionless).
 * ALGEBRAIC[46] is topa5 in component w (dimensionless).
 * ALGEBRAIC[48] is topa6 in component w (dimensionless).
 * ALGEBRAIC[50] is topa7 in component w (dimensionless).
 * ALGEBRAIC[51] is topa8 in component w (dimensionless).
 * ALGEBRAIC[53] is topa9 in component w (dimensionless).
 * ALGEBRAIC[55] is topa10 in component w (dimensionless).
 * ALGEBRAIC[61] is topa11 in component w (dimensionless).
 * ALGEBRAIC[63] is topa12 in component w (dimensionless).
 * ALGEBRAIC[64] is topa13 in component w (dimensionless).
 * ALGEBRAIC[67] is topa14 in component w (dimensionless).
 * ALGEBRAIC[69] is topa15 in component w (dimensionless).
 * CONSTANTS[52] is bottom1 in component w (dimensionless).
 * ALGEBRAIC[32] is bottom2 in component w (dimensionless).
 * ALGEBRAIC[47] is bottom3 in component w (dimensionless).
 * ALGEBRAIC[49] is bottom4 in component w (dimensionless).
 * ALGEBRAIC[54] is bottom5 in component w (dimensionless).
 * ALGEBRAIC[56] is bottom6 in component w (dimensionless).
 * ALGEBRAIC[57] is bottom7 in component w (dimensionless).
 * ALGEBRAIC[58] is bottom8 in component w (dimensionless).
 * ALGEBRAIC[60] is bottom9 in component w (dimensionless).
 * ALGEBRAIC[62] is bottom10 in component w (dimensionless).
 * ALGEBRAIC[65] is bottom11 in component w (dimensionless).
 * ALGEBRAIC[66] is bottom12 in component w (dimensionless).
 * ALGEBRAIC[68] is bottom13 in component w (dimensionless).
 * ALGEBRAIC[70] is bottom14 in component w (dimensionless).
 * ALGEBRAIC[72] 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[24] is AMP in component AMP (micromolar).
 * ALGEBRAIC[23] is ATP in component ATP (micromolar).
 * CONSTANTS[22] is Atot in component ATP (micromolar).
 * ALGEBRAIC[8] is rad in component ATP (micromolar).
 * STATES[3] is ADP in component ADP (micromolar).
 * ALGEBRAIC[9] 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[10] 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[25] is I_Ca in component I_Ca (femtoampere).
 * ALGEBRAIC[11] is I_K in component I_K (femtoampere).
 * ALGEBRAIC[15] is I_K_Ca in component I_K_Ca (femtoampere).
 * ALGEBRAIC[59] 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[13] is n_infinity in component n (dimensionless).
 * ALGEBRAIC[12] 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[14] 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[52] is katpo in component I_K_ATP (dimensionless).
 * ALGEBRAIC[26] is topo in component I_K_ATP (dimensionless).
 * ALGEBRAIC[45] is bottomo in component I_K_ATP (dimensionless).
 * ALGEBRAIC[16] is MgADP in component I_K_ATP (micromolar).
 * ALGEBRAIC[17] is ADP3 in component I_K_ATP (micromolar).
 * ALGEBRAIC[27] is ATP4 in component I_K_ATP (micromolar).
 * CONSTANTS[39] is fcyt in component Ca (dimensionless).
 * ALGEBRAIC[28] is Jmem in component Jmem (micromolar_per_millisecond).
 * ALGEBRAIC[29] 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[19] is Jleak in component Jleak (micromolar_per_millisecond).
 * ALGEBRAIC[18] 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[20] 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).
 * There are a total of 4 condition variables.
 */
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];
RATES[0] = 0.1001;
RATES[1] = 0.1001;
RATES[2] = 0.1001;
RATES[3] = 0.1001;
RATES[5] = 0.1001;
RATES[6] = 0.1001;
RATES[4] = 0.1001;
RATES[7] = 0.1001;
RATES[8] = 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[22] - ALGEBRAIC[2];
resid[1] = RATES[1] -  CONSTANTS[5]*(ALGEBRAIC[2] - ALGEBRAIC[74]);
resid[2] = RATES[2] -  CONSTANTS[5]*(ALGEBRAIC[74] -  0.500000*ALGEBRAIC[3]);
resid[3] = RATES[3] -  CONSTANTS[26]*((ALGEBRAIC[23] -  STATES[3]*exp( ALGEBRAIC[10]*((1.00000 - STATES[4])/CONSTANTS[25])))/CONSTANTS[23])+ 1.00000*(1.00000 - CONSTANTS[26])*(CONSTANTS[27] - STATES[3]);
resid[4] = RATES[5] - - (ALGEBRAIC[11]+ALGEBRAIC[25]+ALGEBRAIC[15]+ALGEBRAIC[59])/CONSTANTS[30];
resid[5] = RATES[6] - (ALGEBRAIC[13] - STATES[6])/ALGEBRAIC[12];
resid[6] = RATES[4] -  CONSTANTS[39]*(ALGEBRAIC[28]+ALGEBRAIC[29]);
resid[7] = RATES[7] -  - CONSTANTS[40]*CONSTANTS[41]*ALGEBRAIC[29];
resid[8] = RATES[8] - (ALGEBRAIC[20] - STATES[8])/CONSTANTS[46];
}
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[2] = ( CONSTANTS[9]*pow(STATES[0], CONSTANTS[10]))/(pow(CONSTANTS[8], CONSTANTS[10])+pow(STATES[0], CONSTANTS[10]));
ALGEBRAIC[3] =  0.200000* pow((STATES[2]/1.00000), 1.0 / 2);
ALGEBRAIC[9] = ( CONSTANTS[28]*ALGEBRAIC[3])/(CONSTANTS[29]+ALGEBRAIC[3]);
ALGEBRAIC[10] = CONSTANTS[24]+ALGEBRAIC[9];
ALGEBRAIC[11] =  CONSTANTS[31]*STATES[6]*(STATES[5] - CONSTANTS[32]);
ALGEBRAIC[12] = 1.00000/( 0.0350000*cosh((STATES[5] - -16.0000)/22.4000));
ALGEBRAIC[13] =  0.500000*(1.00000+ tanh((STATES[5] - -16.0000)/11.2000));
ALGEBRAIC[15] =  (CONSTANTS[35]/(1.00000+pow(CONSTANTS[36]/STATES[4], CONSTANTS[37])))*(STATES[5] - CONSTANTS[32]);
ALGEBRAIC[20] =  CONSTANTS[47]*(pow(STATES[4], CONSTANTS[48])/(pow(CONSTANTS[49], CONSTANTS[48])+pow(STATES[4], CONSTANTS[48])));
ALGEBRAIC[0] = (CONDVAR[0]>0.00000 ?  CONSTANTS[3]*CONSTANTS[1] : CONDVAR[1]>0.00000&&CONDVAR[2]<0.00000 ?  ((VOI - CONSTANTS[4])/1000.00)*CONSTANTS[3]*CONSTANTS[1] : CONDVAR[3]<0.00000 ? 0.00000 : 0.0/0.0);
ALGEBRAIC[21] = CONSTANTS[2]+ CONSTANTS[1]*(1.00000 - CONSTANTS[3])*cos(( VOI*2.00000* 3.14159265358979)/( 60000.0*CONSTANTS[0]))+ALGEBRAIC[0];
ALGEBRAIC[22] =  CONSTANTS[7]*(( (ALGEBRAIC[21] - STATES[0])*CONSTANTS[6])/( (CONSTANTS[6]+ALGEBRAIC[21])*(CONSTANTS[6]+STATES[0])));
ALGEBRAIC[8] =  pow((pow(STATES[3] - CONSTANTS[22], 2.00000) -  4.00000*pow(STATES[3], 2.00000)), 1.0 / 2);
ALGEBRAIC[23] =  0.500000*((CONSTANTS[22]+ALGEBRAIC[8]) - STATES[3]);
ALGEBRAIC[14] =  0.500000*(1.00000+ tanh((STATES[5] - -20.0000)/24.0000));
ALGEBRAIC[25] =  CONSTANTS[33]*ALGEBRAIC[14]*(STATES[5] - CONSTANTS[34]);
ALGEBRAIC[28] = - ( CONSTANTS[43]*1.00000*ALGEBRAIC[25]+ CONSTANTS[42]*STATES[4]);
ALGEBRAIC[19] =  CONSTANTS[45]*(STATES[7] - STATES[4]);
ALGEBRAIC[18] =  CONSTANTS[44]*STATES[4];
ALGEBRAIC[29] = ALGEBRAIC[19] - ALGEBRAIC[18];
ALGEBRAIC[16] =  0.165000*STATES[3];
ALGEBRAIC[26] =  0.0800000*(1.00000+( 2.00000*ALGEBRAIC[16])/17.0000)+ 0.890000*pow(ALGEBRAIC[16]/17.0000, 2.00000);
ALGEBRAIC[17] =  0.135000*STATES[3];
ALGEBRAIC[27] =  0.0500000*ALGEBRAIC[23];
ALGEBRAIC[45] =  pow(1.00000+ALGEBRAIC[16]/17.0000, 2.00000)*(1.00000+ALGEBRAIC[17]/26.0000+ALGEBRAIC[27]/1.00000);
ALGEBRAIC[52] =  20.0000*(ALGEBRAIC[26]/ALGEBRAIC[45]);
ALGEBRAIC[59] =  CONSTANTS[38]*ALGEBRAIC[52]*(STATES[5] - CONSTANTS[32]);
ALGEBRAIC[1] =  0.300000*STATES[1];
ALGEBRAIC[24] = pow(STATES[3], 2.00000)/ALGEBRAIC[23];
ALGEBRAIC[39] = ( ALGEBRAIC[24]*STATES[2]*pow(ALGEBRAIC[1], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]*CONSTANTS[13]);
ALGEBRAIC[40] = ALGEBRAIC[39];
ALGEBRAIC[44] = ( ALGEBRAIC[24]*STATES[2]*pow(ALGEBRAIC[1], 2.00000)*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[13]*CONSTANTS[16]*CONSTANTS[15]*CONSTANTS[17]);
ALGEBRAIC[42] = ( ALGEBRAIC[24]*pow(ALGEBRAIC[1], 2.00000)*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[13]*CONSTANTS[15]*CONSTANTS[17]);
ALGEBRAIC[34] = ( ALGEBRAIC[24]*pow(ALGEBRAIC[1], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[20]*CONSTANTS[13]);
ALGEBRAIC[41] = ( STATES[2]*pow(ALGEBRAIC[1], 2.00000)*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[21]*CONSTANTS[14]*CONSTANTS[16]*CONSTANTS[17]);
ALGEBRAIC[7] = ( STATES[2]*pow(ALGEBRAIC[1], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[20]*CONSTANTS[14]);
ALGEBRAIC[37] = pow( ALGEBRAIC[1]*ALGEBRAIC[23], 2.00000)/( 1.00000*CONSTANTS[17]*CONSTANTS[20]*CONSTANTS[21]);
ALGEBRAIC[5] = pow(ALGEBRAIC[1], 2.00000)/( 1.00000*CONSTANTS[20]);
ALGEBRAIC[6] = CONSTANTS[53]+ALGEBRAIC[5];
ALGEBRAIC[38] = ALGEBRAIC[6]+ALGEBRAIC[37];
ALGEBRAIC[46] = ALGEBRAIC[38];
ALGEBRAIC[48] = ALGEBRAIC[46];
ALGEBRAIC[50] = ALGEBRAIC[48]+ALGEBRAIC[7];
ALGEBRAIC[51] = ALGEBRAIC[50]+ALGEBRAIC[41];
ALGEBRAIC[53] = ALGEBRAIC[51];
ALGEBRAIC[55] = ALGEBRAIC[53];
ALGEBRAIC[61] = ALGEBRAIC[55]+ALGEBRAIC[34];
ALGEBRAIC[63] = ALGEBRAIC[61]+ALGEBRAIC[42];
ALGEBRAIC[64] = ALGEBRAIC[63];
ALGEBRAIC[67] = ALGEBRAIC[64];
ALGEBRAIC[69] = ALGEBRAIC[67];
ALGEBRAIC[71] = ALGEBRAIC[69]+ALGEBRAIC[44];
ALGEBRAIC[43] = ( ALGEBRAIC[24]*STATES[2]*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]*CONSTANTS[15]);
ALGEBRAIC[33] = ( ALGEBRAIC[24]*STATES[2])/( CONSTANTS[18]*CONSTANTS[19]);
ALGEBRAIC[35] = ( ALGEBRAIC[24]*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[18]*CONSTANTS[21]*CONSTANTS[15]);
ALGEBRAIC[30] = ALGEBRAIC[24]/CONSTANTS[18];
ALGEBRAIC[36] = ( STATES[2]*pow(ALGEBRAIC[23], 2.00000))/( 1.00000*CONSTANTS[19]*CONSTANTS[21]*CONSTANTS[16]);
ALGEBRAIC[4] = STATES[2]/CONSTANTS[19];
ALGEBRAIC[31] = pow(ALGEBRAIC[23], 2.00000)/( 1.00000*CONSTANTS[21]);
ALGEBRAIC[32] = CONSTANTS[52]+ALGEBRAIC[31];
ALGEBRAIC[47] = ALGEBRAIC[32]+ALGEBRAIC[5];
ALGEBRAIC[49] = ALGEBRAIC[47]+ALGEBRAIC[37];
ALGEBRAIC[54] = ALGEBRAIC[49]+ALGEBRAIC[4];
ALGEBRAIC[56] = ALGEBRAIC[54]+ALGEBRAIC[36];
ALGEBRAIC[57] = ALGEBRAIC[56]+ALGEBRAIC[7];
ALGEBRAIC[58] = ALGEBRAIC[57]+ALGEBRAIC[41];
ALGEBRAIC[60] = ALGEBRAIC[58]+ALGEBRAIC[30];
ALGEBRAIC[62] = ALGEBRAIC[60]+ALGEBRAIC[35];
ALGEBRAIC[65] = ALGEBRAIC[62]+ALGEBRAIC[34];
ALGEBRAIC[66] = ALGEBRAIC[65]+ALGEBRAIC[42];
ALGEBRAIC[68] = ALGEBRAIC[66]+ALGEBRAIC[33];
ALGEBRAIC[70] = ALGEBRAIC[68]+ALGEBRAIC[43];
ALGEBRAIC[72] = ALGEBRAIC[70]+ALGEBRAIC[39];
ALGEBRAIC[73] = ALGEBRAIC[72]+ALGEBRAIC[44];
ALGEBRAIC[74] = ( CONSTANTS[11]*CONSTANTS[12]*ALGEBRAIC[71]+ CONSTANTS[12]*ALGEBRAIC[40])/ALGEBRAIC[73];
}
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;
}
void
computeRoots(double VOI, double* CONSTANTS, double* RATES, double* OLDRATES, double* STATES,
             double* OLDSTATES, double* ALGEBRAIC, double* CONDVARS)
{
CONDVAR[0] = (VOI - CONSTANTS[4])/1000.00 - 1.00000;
CONDVAR[1] = (VOI - CONSTANTS[4])/1000.00 - 0.00000;
CONDVAR[2] = (VOI - CONSTANTS[4])/1000.00 - 1.00000;
CONDVAR[3] = (VOI - CONSTANTS[4])/1000.00 - 0.00000;
}