Generated Code

The following is c code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

/*
   There are a total of 98 entries in the algebraic variable array.
   There are a total of 30 entries in each of the rate and state variable arrays.
   There are a total of 108 entries in the constant variable array.
 */
/*
 * VOI is t in component lpc (s).
 * CONSTANTS[0] is Vlvrd in component lpc (mL).
 * CONSTANTS[1] is Vlvrs in component lpc (mL).
 * CONSTANTS[2] is Vrvrd in component lpc (mL).
 * CONSTANTS[3] is Vrvrs in component lpc (mL).
 * CONSTANTS[4] is Vlard in component lpc (mL).
 * CONSTANTS[5] is Vlars in component lpc (mL).
 * CONSTANTS[6] is Vrard in component lpc (mL).
 * CONSTANTS[7] is Vrars in component lpc (mL).
 * CONSTANTS[8] is Rra in component lpc (resistance).
 * CONSTANTS[9] is Rla in component lpc (resistance).
 * CONSTANTS[10] is PRint in component lpc (s).
 * CONSTANTS[11] is Emaxlv in component lpc (elastance).
 * CONSTANTS[12] is Eminlv in component lpc (elastance).
 * CONSTANTS[13] is Emaxrv in component lpc (elastance).
 * CONSTANTS[14] is Eminrv in component lpc (elastance).
 * CONSTANTS[15] is Emaxra in component lpc (elastance).
 * CONSTANTS[16] is Eminra in component lpc (elastance).
 * CONSTANTS[17] is Emaxla in component lpc (elastance).
 * CONSTANTS[18] is Eminla in component lpc (elastance).
 * CONSTANTS[19] is Pbs in component lpc (mmHg).
 * CONSTANTS[20] is Vmyo in component lpc (mL).
 * CONSTANTS[21] is TsvK in component lpc (s).
 * CONSTANTS[22] is TsaK in component lpc (s).
 * CONSTANTS[23] is HR in component lpc (ratepm).
 * ALGEBRAIC[17] is Elv in component lpc (elastance).
 * ALGEBRAIC[15] is Erv in component lpc (elastance).
 * ALGEBRAIC[14] is Era in component lpc (elastance).
 * ALGEBRAIC[16] is Ela in component lpc (elastance).
 * ALGEBRAIC[58] is Vlvr in component lpc (mL).
 * ALGEBRAIC[81] is Vrvr in component lpc (mL).
 * ALGEBRAIC[55] is Vlar in component lpc (mL).
 * ALGEBRAIC[70] is Vrar in component lpc (mL).
 * ALGEBRAIC[88] is Fra in component lpc (flow).
 * ALGEBRAIC[94] is Frv in component lpc (flow).
 * ALGEBRAIC[80] is Fla in component lpc (flow).
 * ALGEBRAIC[83] is Flv in component lpc (flow).
 * ALGEBRAIC[72] is Pra in component lpc (mmHg).
 * ALGEBRAIC[74] is Prac in component lpc (mmHg).
 * ALGEBRAIC[84] is Prv in component lpc (mmHg).
 * ALGEBRAIC[86] is Prvc in component lpc (mmHg).
 * ALGEBRAIC[57] is Pla in component lpc (mmHg).
 * ALGEBRAIC[75] is Plac in component lpc (mmHg).
 * ALGEBRAIC[59] is Plv in component lpc (mmHg).
 * ALGEBRAIC[79] is Plvc in component lpc (mmHg).
 * STATES[0] is Vra in component lpc (mL).
 * STATES[1] is Vrv in component lpc (mL).
 * STATES[2] is Vla in component lpc (mL).
 * STATES[3] is Vlv in component lpc (mL).
 * CONSTANTS[24] is COutput in component lpc (flow).
 * CONSTANTS[103] is SV in component lpc (mL).
 * ALGEBRAIC[6] is P_QRSwave in component lpc (mV).
 * CONSTANTS[105] is Tsv in component lpc (s).
 * CONSTANTS[107] is Tsa in component lpc (s).
 * ALGEBRAIC[9] is trela in component lpc (s).
 * ALGEBRAIC[7] is trelv in component lpc (s).
 * CONSTANTS[25] is Rav in component lpc (resistance).
 * CONSTANTS[26] is Raop in component lpc (resistance).
 * CONSTANTS[27] is Rcrb in component lpc (resistance).
 * CONSTANTS[28] is Raod in component lpc (resistance).
 * CONSTANTS[29] is Rtaop in component lpc (resistance).
 * CONSTANTS[30] is Rtaod in component lpc (resistance).
 * CONSTANTS[31] is Rsap in component lpc (resistance).
 * CONSTANTS[32] is Rsc in component lpc (resistance).
 * CONSTANTS[33] is Rsv in component lpc (resistance).
 * CONSTANTS[34] is Rsao in component lpc (resistance).
 * CONSTANTS[35] is Caop in component lpc (capacitance).
 * CONSTANTS[36] is Caod in component lpc (capacitance).
 * CONSTANTS[37] is Csap in component lpc (capacitance).
 * CONSTANTS[38] is Csc in component lpc (capacitance).
 * CONSTANTS[39] is Laop in component lpc (inductance).
 * CONSTANTS[40] is Laod in component lpc (inductance).
 * CONSTANTS[41] is Kc in component lpc (mmHg).
 * CONSTANTS[42] is Do in component lpc (mL).
 * CONSTANTS[43] is Vsa_o in component lpc (mL).
 * CONSTANTS[44] is Vsa_max in component lpc (mL).
 * CONSTANTS[45] is Kp1 in component lpc (mmHg).
 * CONSTANTS[46] is Kp2 in component lpc (mmHgmlm2).
 * CONSTANTS[47] is Kr in component lpc (resistance).
 * CONSTANTS[48] is tau_p in component lpc (perml).
 * CONSTANTS[49] is Kv in component lpc (mmHg).
 * CONSTANTS[50] is Vmax_sv in component lpc (mL).
 * CONSTANTS[51] is D2 in component lpc (mmHg).
 * CONSTANTS[52] is K1 in component lpc (dimensionless).
 * CONSTANTS[53] is K2 in component lpc (mmHg).
 * CONSTANTS[54] is KR in component lpc (resistance).
 * CONSTANTS[55] is Ro in component lpc (resistance).
 * CONSTANTS[56] is Vo in component lpc (mL).
 * CONSTANTS[57] is Vmax_vc in component lpc (mL).
 * CONSTANTS[58] is Vmin_vc in component lpc (mL).
 * CONSTANTS[59] is COtau in component lpc (s).
 * CONSTANTS[60] is Pplc in component lpc (mmHg).
 * CONSTANTS[61] is Px2 in component lpc (mmHg).
 * CONSTANTS[62] is Vx8 in component lpc (mL).
 * CONSTANTS[63] is Vx75 in component lpc (mL).
 * CONSTANTS[64] is Vx1 in component lpc (mL).
 * CONSTANTS[65] is Px1 in component lpc (mmHg).
 * CONSTANTS[66] is F_vaso in component lpc (dimensionless).
 * ALGEBRAIC[52] is Rvc in component lpc (resistance).
 * ALGEBRAIC[44] is Rsa in component lpc (resistance).
 * ALGEBRAIC[0] is Paop in component lpc (mmHg).
 * STATES[4] is Paopc in component lpc (mmHg).
 * ALGEBRAIC[50] is Paod in component lpc (mmHg).
 * ALGEBRAIC[49] is Paodc in component lpc (mmHg).
 * ALGEBRAIC[36] is Psa_a in component lpc (mmHg).
 * ALGEBRAIC[37] is Psa_p in component lpc (mmHg).
 * ALGEBRAIC[38] is Psa in component lpc (mmHg).
 * ALGEBRAIC[39] is Psap in component lpc (mmHg).
 * ALGEBRAIC[41] is Psc in component lpc (mmHg).
 * ALGEBRAIC[42] is Psv in component lpc (mmHg).
 * ALGEBRAIC[45] is Pvc in component lpc (mmHg).
 * ALGEBRAIC[47] is Pvcc in component lpc (mmHg).
 * STATES[5] is MAP in component lpc (mmHg).
 * STATES[6] is Faop in component lpc (flowLm).
 * STATES[7] is Faod in component lpc (flow).
 * ALGEBRAIC[40] is Fsap in component lpc (flow).
 * ALGEBRAIC[46] is Fsa in component lpc (flow).
 * ALGEBRAIC[43] is Fsc in component lpc (flow).
 * ALGEBRAIC[48] is Fsv in component lpc (flow).
 * ALGEBRAIC[78] is Fvc in component lpc (flow).
 * ALGEBRAIC[51] is Fcrb in component lpc (flow).
 * STATES[8] is Vaop in component lpc (mL).
 * STATES[9] is Vaod in component lpc (mL).
 * STATES[10] is Vsa in component lpc (mL).
 * STATES[11] is Vsap in component lpc (mL).
 * STATES[12] is Vsc in component lpc (mL).
 * STATES[13] is Vsv in component lpc (mL).
 * STATES[14] is Vvc in component lpc (mL).
 * ALGEBRAIC[54] is Vtot in component lpc (mL).
 * ALGEBRAIC[1] is SysArtVol in component lpc (mL).
 * ALGEBRAIC[2] is SysVenVol in component lpc (mL).
 * ALGEBRAIC[3] is PulArtVol in component lpc (mL).
 * ALGEBRAIC[4] is PulVenVol in component lpc (mL).
 * ALGEBRAIC[56] is VBcirc in component lpc (mL).
 * CONSTANTS[104] is Ppl in component lpc (mmHg).
 * CONSTANTS[67] is Rpuv in component lpc (resistance).
 * CONSTANTS[68] is Rtpap in component lpc (resistance).
 * CONSTANTS[69] is Rtpad in component lpc (resistance).
 * CONSTANTS[70] is Rpap in component lpc (resistance).
 * CONSTANTS[71] is Rpad in component lpc (resistance).
 * CONSTANTS[72] is Rps in component lpc (resistance).
 * CONSTANTS[73] is Rpa in component lpc (resistance).
 * CONSTANTS[74] is Rpc in component lpc (resistance).
 * CONSTANTS[75] is Rpv in component lpc (resistance).
 * CONSTANTS[76] is Ctpap in component lpc (capacitance).
 * CONSTANTS[77] is Ctpad in component lpc (capacitance).
 * CONSTANTS[78] is Cpa in component lpc (capacitance).
 * CONSTANTS[79] is Cpc in component lpc (capacitance).
 * CONSTANTS[80] is Cpv in component lpc (capacitance).
 * CONSTANTS[81] is Lpa in component lpc (inductance).
 * CONSTANTS[82] is Lpad in component lpc (inductance).
 * ALGEBRAIC[92] is Ppapc in component lpc (mmHg).
 * ALGEBRAIC[90] is Ppapc1 in component lpc (mmHg).
 * ALGEBRAIC[28] is Ppapc2 in component lpc (mmHg).
 * ALGEBRAIC[95] is Ppap in component lpc (mmHg).
 * ALGEBRAIC[61] is Ppad in component lpc (mmHg).
 * ALGEBRAIC[60] is Ppadc in component lpc (mmHg).
 * ALGEBRAIC[26] is Ppa in component lpc (mmHg).
 * ALGEBRAIC[27] is Ppac in component lpc (mmHg).
 * ALGEBRAIC[29] is Ppc in component lpc (mmHg).
 * ALGEBRAIC[30] is Ppcc in component lpc (mmHg).
 * ALGEBRAIC[32] is Ppv in component lpc (mmHg).
 * ALGEBRAIC[33] is Ppvc in component lpc (mmHg).
 * STATES[15] is Vpap in component lpc (mL).
 * STATES[16] is Vpad in component lpc (mL).
 * STATES[17] is Vpa in component lpc (mL).
 * STATES[18] is Vpc in component lpc (mL).
 * STATES[19] is Vpv in component lpc (mL).
 * STATES[20] is Fpap in component lpc (flowLm).
 * STATES[21] is Fpad in component lpc (flow).
 * ALGEBRAIC[35] is Fps in component lpc (flow).
 * ALGEBRAIC[31] is Fpa in component lpc (flow).
 * ALGEBRAIC[34] is Fpc in component lpc (flow).
 * ALGEBRAIC[77] is Fpv in component lpc (flow).
 * CONSTANTS[83] is K_pcd in component lpc (mmHg).
 * CONSTANTS[84] is phi_pcd in component lpc (mL).
 * CONSTANTS[85] is Vpcd_o in component lpc (mL).
 * CONSTANTS[86] is perifl in component lpc (mL).
 * ALGEBRAIC[63] is Ppcd in component lpc (mmHg).
 * ALGEBRAIC[64] is Ppcdc in component lpc (mmHg).
 * ALGEBRAIC[62] is Vpcd in component lpc (mL).
 * CONSTANTS[87] is Rcorao in component lpc (resistance).
 * CONSTANTS[88] is Rcorea in component lpc (resistance).
 * CONSTANTS[89] is Rcorla in component lpc (resistance).
 * CONSTANTS[90] is Rcorsa in component lpc (resistance).
 * CONSTANTS[91] is Rcorcap in component lpc (resistance).
 * CONSTANTS[92] is Rcorsv in component lpc (resistance).
 * CONSTANTS[93] is Rcorlv in component lpc (resistance).
 * CONSTANTS[94] is Rcorev in component lpc (resistance).
 * CONSTANTS[95] is Ccorao in component lpc (capacitance).
 * CONSTANTS[96] is Ccorea in component lpc (capacitance).
 * CONSTANTS[97] is Ccorla in component lpc (capacitance).
 * CONSTANTS[98] is Ccorsa in component lpc (capacitance).
 * CONSTANTS[99] is Ccorcap in component lpc (capacitance).
 * CONSTANTS[100] is Ccorsv in component lpc (capacitance).
 * CONSTANTS[101] is Ccorlv in component lpc (capacitance).
 * CONSTANTS[102] is Ccorev in component lpc (capacitance).
 * ALGEBRAIC[82] is Pcorisfc in component lpc (mmHg).
 * ALGEBRAIC[18] is Pcoraoc in component lpc (mmHg).
 * ALGEBRAIC[65] is Pcoreac in component lpc (mmHg).
 * ALGEBRAIC[89] is Pcorlac in component lpc (mmHg).
 * ALGEBRAIC[93] is Pcorsac in component lpc (mmHg).
 * ALGEBRAIC[85] is Pcorcapc in component lpc (mmHg).
 * ALGEBRAIC[71] is Pcorsvc in component lpc (mmHg).
 * ALGEBRAIC[68] is Pcorlvc in component lpc (mmHg).
 * ALGEBRAIC[67] is Pcorevc in component lpc (mmHg).
 * ALGEBRAIC[8] is Pcorao in component lpc (mmHg).
 * ALGEBRAIC[20] is Pcorea in component lpc (mmHg).
 * ALGEBRAIC[22] is Pcorla in component lpc (mmHg).
 * ALGEBRAIC[24] is Pcorsa in component lpc (mmHg).
 * ALGEBRAIC[19] is Pcorcap in component lpc (mmHg).
 * ALGEBRAIC[25] is Pcorsv in component lpc (mmHg).
 * ALGEBRAIC[23] is Pcorlv in component lpc (mmHg).
 * ALGEBRAIC[21] is Pcorev in component lpc (mmHg).
 * STATES[22] is Vcorao in component lpc (mL).
 * STATES[23] is Vcorea in component lpc (mL).
 * STATES[24] is Vcorla in component lpc (mL).
 * STATES[25] is Vcorsa in component lpc (mL).
 * STATES[26] is Vcorcap in component lpc (mL).
 * STATES[27] is Vcorsv in component lpc (mL).
 * STATES[28] is Vcorlv in component lpc (mL).
 * STATES[29] is Vcorev in component lpc (mL).
 * ALGEBRAIC[53] is Vcorcirc in component lpc (mL).
 * ALGEBRAIC[66] is Fcorao in component lpc (flow).
 * ALGEBRAIC[91] is Fcorea in component lpc (flow).
 * ALGEBRAIC[96] is Fcorla in component lpc (flow).
 * ALGEBRAIC[97] is Fcorsa in component lpc (flow).
 * ALGEBRAIC[87] is Fcorcap in component lpc (flow).
 * ALGEBRAIC[73] is Fcorsv in component lpc (flow).
 * ALGEBRAIC[69] is Fcorlv in component lpc (flow).
 * ALGEBRAIC[76] is Fcorev in component lpc (flow).
 * ALGEBRAIC[5] is beattime in component lpc (s).
 * ALGEBRAIC[10] is yla in component lpc (dimensionless).
 * ALGEBRAIC[11] is yra in component lpc (dimensionless).
 * ALGEBRAIC[12] is ylv in component lpc (dimensionless).
 * ALGEBRAIC[13] is yrv in component lpc (dimensionless).
 * CONSTANTS[106] is hrf in component lpc (Hz).
 * RATES[7] is d/dt Faod in component lpc (flow).
 * RATES[6] is d/dt Faop in component lpc (flowLm).
 * RATES[21] is d/dt Fpad in component lpc (flow).
 * RATES[20] is d/dt Fpap in component lpc (flowLm).
 * RATES[5] is d/dt MAP in component lpc (mmHg).
 * RATES[4] is d/dt Paopc in component lpc (mmHg).
 * RATES[8] is d/dt Vaop in component lpc (mL).
 * RATES[16] is d/dt Vpad in component lpc (mL).
 * RATES[9] is d/dt Vaod in component lpc (mL).
 * RATES[22] is d/dt Vcorao in component lpc (mL).
 * RATES[26] is d/dt Vcorcap in component lpc (mL).
 * RATES[23] is d/dt Vcorea in component lpc (mL).
 * RATES[29] is d/dt Vcorev in component lpc (mL).
 * RATES[24] is d/dt Vcorla in component lpc (mL).
 * RATES[28] is d/dt Vcorlv in component lpc (mL).
 * RATES[25] is d/dt Vcorsa in component lpc (mL).
 * RATES[27] is d/dt Vcorsv in component lpc (mL).
 * RATES[2] is d/dt Vla in component lpc (mL).
 * RATES[3] is d/dt Vlv in component lpc (mL).
 * RATES[17] is d/dt Vpa in component lpc (mL).
 * RATES[15] is d/dt Vpap in component lpc (mL).
 * RATES[18] is d/dt Vpc in component lpc (mL).
 * RATES[19] is d/dt Vpv in component lpc (mL).
 * RATES[0] is d/dt Vra in component lpc (mL).
 * RATES[1] is d/dt Vrv in component lpc (mL).
 * RATES[10] is d/dt Vsa in component lpc (mL).
 * RATES[11] is d/dt Vsap in component lpc (mL).
 * RATES[12] is d/dt Vsc in component lpc (mL).
 * RATES[13] is d/dt Vsv in component lpc (mL).
 * RATES[14] is d/dt Vvc in component lpc (mL).
 */
void
initConsts(double* CONSTANTS, double* RATES, double *STATES)
{
CONSTANTS[0] = 72;
CONSTANTS[1] = 23;
CONSTANTS[2] = 103;
CONSTANTS[3] = 53;
CONSTANTS[4] = 10;
CONSTANTS[5] = 8;
CONSTANTS[6] = 10;
CONSTANTS[7] = 8;
CONSTANTS[8] = 0.001;
CONSTANTS[9] = 0.001;
CONSTANTS[10] = 0.12;
CONSTANTS[11] = 5.6;
CONSTANTS[12] = 0.186874659;
CONSTANTS[13] = 0.67;
CONSTANTS[14] = 0.1041640922;
CONSTANTS[15] = 0.1091675077;
CONSTANTS[16] = 0.0992431888;
CONSTANTS[17] = 0.1446191772;
CONSTANTS[18] = 0.1314719793;
CONSTANTS[19] = 0;
CONSTANTS[20] = 238;
CONSTANTS[21] = 0.35;
CONSTANTS[22] = 0.2;
CONSTANTS[23] = 77;
STATES[0] = 78.2537;
STATES[1] = 167.4806;
STATES[2] = 85.9126;
STATES[3] = 125.360568;
CONSTANTS[24] = 108.56912706;
CONSTANTS[25] = 1e-4;
CONSTANTS[26] = 1e-4;
CONSTANTS[27] = 6.8284472205;
CONSTANTS[28] = 0.025;
CONSTANTS[29] = 0.2;
CONSTANTS[30] = 0.3;
CONSTANTS[31] = 0.025;
CONSTANTS[32] = 0.1545054945;
CONSTANTS[33] = 0.1381298227;
CONSTANTS[34] = 0.5508058134;
CONSTANTS[35] = 0.3445734208;
CONSTANTS[36] = 1.4544677036;
CONSTANTS[37] = 1.4843409851;
CONSTANTS[38] = 7.9822364317;
CONSTANTS[39] = 3.5e-4;
CONSTANTS[40] = 3.5e-4;
CONSTANTS[41] = 497.7852450367;
CONSTANTS[42] = 50;
CONSTANTS[43] = 485.7624931891;
CONSTANTS[44] = 577.7106000108;
CONSTANTS[45] = 0.03;
CONSTANTS[46] = 0.05;
CONSTANTS[47] = 0.01;
CONSTANTS[48] = 0.1;
CONSTANTS[49] = 21.83;
CONSTANTS[50] = 3379.545;
CONSTANTS[51] = -5;
CONSTANTS[52] = 0.0968305478;
CONSTANTS[53] = 0.4;
CONSTANTS[54] = 0.001;
CONSTANTS[55] = 0.025;
CONSTANTS[56] = 129.6486;
CONSTANTS[57] = 350.5314;
CONSTANTS[58] = 50.010747;
CONSTANTS[59] = 15;
CONSTANTS[60] = -5.6;
CONSTANTS[61] = 2;
CONSTANTS[62] = 8;
CONSTANTS[63] = 75;
CONSTANTS[64] = 1;
CONSTANTS[65] = 1;
CONSTANTS[66] = 0.5;
STATES[4] = 87.93968;
STATES[5] = 90.6179;
STATES[6] = 0.698577;
STATES[7] = 23.5957;
STATES[8] = 31.1705;
STATES[9] = 138.4476;
STATES[10] = 519.7915;
STATES[11] = 129.6439;
STATES[12] = 256.8555;
STATES[13] = 2961.6507;
STATES[14] = 232.46638962;
CONSTANTS[67] = 1e-4;
CONSTANTS[68] = 0.05;
CONSTANTS[69] = 0.05;
CONSTANTS[70] = 1e-4;
CONSTANTS[71] = 0.03;
CONSTANTS[72] = 4.2958026137;
CONSTANTS[73] = 0.0565149137;
CONSTANTS[74] = 0.0309026688;
CONSTANTS[75] = 1e-4;
CONSTANTS[76] = 1.5365929068;
CONSTANTS[77] = 2.6893667388;
CONSTANTS[78] = 3.1321449506;
CONSTANTS[79] = 7.7147;
CONSTANTS[80] = 27.87028922;
CONSTANTS[81] = 1.801907e-4;
CONSTANTS[82] = 1.932239e-4;
STATES[15] = 33.1398;
STATES[16] = 60.11203897;
STATES[17] = 58.926;
STATES[18] = 107.57022;
STATES[19] = 293.0398;
STATES[20] = 1.2282;
STATES[21] = 57.1876;
CONSTANTS[83] = 1;
CONSTANTS[84] = 40;
CONSTANTS[85] = 785;
CONSTANTS[86] = 15;
CONSTANTS[87] = 2.642367;
CONSTANTS[88] = 2.642367;
CONSTANTS[89] = 5.073345;
CONSTANTS[90] = 5.073345;
CONSTANTS[91] = 4.227788;
CONSTANTS[92] = 0.4932479;
CONSTANTS[93] = 0.4932479;
CONSTANTS[94] = 0.4932479;
CONSTANTS[95] = 0.13;
CONSTANTS[96] = 0.05507;
CONSTANTS[97] = 0.09129;
CONSTANTS[98] = 0.15602;
CONSTANTS[99] = 1.8;
CONSTANTS[100] = 0.58155;
CONSTANTS[101] = 0.68372;
CONSTANTS[102] = 0.832299;
STATES[22] = 2.76087;
STATES[23] = 4.41135;
STATES[24] = 4.992799;
STATES[25] = 4.22047;
STATES[26] = 8.55228;
STATES[27] = 7.8362;
STATES[28] = 8.213955;
STATES[29] = 8.76758;
CONSTANTS[103] =  (CONSTANTS[24]/CONSTANTS[23])*60.0000;
CONSTANTS[104] = CONSTANTS[60] - CONSTANTS[19];
CONSTANTS[105] =  CONSTANTS[21]* pow((( 1.00000*1.00000)/CONSTANTS[23]), 1.0 / 2)*7.74597;
CONSTANTS[106] = 60.0000/CONSTANTS[23];
CONSTANTS[107] =  CONSTANTS[22]* pow((1.00000/CONSTANTS[23]), 1.0 / 2)*7.74597;
}
void
computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[26] = STATES[17]/CONSTANTS[78] - ( CONSTANTS[61]*1.00000)/(exp(STATES[17]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[27] = ALGEBRAIC[26]+CONSTANTS[60];
ALGEBRAIC[29] = STATES[18]/CONSTANTS[79] - ( CONSTANTS[61]*1.00000)/(exp(STATES[18]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[30] = ALGEBRAIC[29]+CONSTANTS[60];
ALGEBRAIC[31] = (ALGEBRAIC[27] - ALGEBRAIC[30])/CONSTANTS[73];
ALGEBRAIC[32] = STATES[19]/CONSTANTS[80] - ( CONSTANTS[61]*1.00000)/(exp(STATES[19]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[33] = ALGEBRAIC[32]+CONSTANTS[60];
ALGEBRAIC[34] = (ALGEBRAIC[30] - ALGEBRAIC[33])/CONSTANTS[74];
RATES[18] = ALGEBRAIC[31] - ALGEBRAIC[34];
ALGEBRAIC[35] = (ALGEBRAIC[27] - ALGEBRAIC[33])/CONSTANTS[72];
RATES[17] = (STATES[21] - ALGEBRAIC[35]) - ALGEBRAIC[31];
ALGEBRAIC[36] =  CONSTANTS[41]*arbitrary_log((STATES[10] - CONSTANTS[43])/CONSTANTS[42]+1.00000, 10);
ALGEBRAIC[37] =  CONSTANTS[45]*exp( CONSTANTS[48]*(STATES[10] - CONSTANTS[43]))+ CONSTANTS[46]*pow(STATES[10] - CONSTANTS[43], 2.00000);
ALGEBRAIC[38] =  CONSTANTS[66]*ALGEBRAIC[36]+ (1.00000 - CONSTANTS[66])*ALGEBRAIC[37];
RATES[5] = (ALGEBRAIC[38] - STATES[5])/CONSTANTS[59];
ALGEBRAIC[39] = STATES[11]/CONSTANTS[37] - ( CONSTANTS[61]*1.00000)/(exp(STATES[11]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[40] = (ALGEBRAIC[39] - ALGEBRAIC[38])/CONSTANTS[31];
RATES[11] = STATES[7] - ALGEBRAIC[40];
ALGEBRAIC[44] = CONSTANTS[34]+ CONSTANTS[47]*exp( 4.00000*CONSTANTS[66])+ CONSTANTS[47]*pow(CONSTANTS[44]/STATES[10], 2.00000);
ALGEBRAIC[41] = STATES[12]/CONSTANTS[38] - ( CONSTANTS[61]*1.00000)/(exp(STATES[12]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[46] = (ALGEBRAIC[38] - ALGEBRAIC[41])/ALGEBRAIC[44];
RATES[10] = ALGEBRAIC[40] - ALGEBRAIC[46];
ALGEBRAIC[42] =  CONSTANTS[49]*arbitrary_log(CONSTANTS[50]/STATES[13] - 0.990000, 10)*- 1.00000;
ALGEBRAIC[43] = (ALGEBRAIC[41] - ALGEBRAIC[42])/CONSTANTS[32];
RATES[12] = ALGEBRAIC[46] - ALGEBRAIC[43];
ALGEBRAIC[45] = (STATES[14]>CONSTANTS[56] ? (CONSTANTS[51]+ CONSTANTS[53]*exp(CONSTANTS[56]/CONSTANTS[58])+( CONSTANTS[52]*(STATES[14] - CONSTANTS[56]))/1.00000) - CONSTANTS[61]/(exp(STATES[14]/CONSTANTS[62]) - 1.00000) : (CONSTANTS[51]+ CONSTANTS[53]*exp(STATES[14]/CONSTANTS[58])) - CONSTANTS[61]/(exp(STATES[14]/CONSTANTS[62]) - 1.00000));
ALGEBRAIC[47] = ALGEBRAIC[45]+CONSTANTS[60];
ALGEBRAIC[48] = (ALGEBRAIC[42] - ALGEBRAIC[47])/CONSTANTS[33];
RATES[13] = ALGEBRAIC[43] - ALGEBRAIC[48];
ALGEBRAIC[49] =  ((((( CONSTANTS[30]*CONSTANTS[27]*STATES[6] -  CONSTANTS[30]*CONSTANTS[27]*STATES[7]*0.0600000)+ (( STATES[9]*CONSTANTS[27])/CONSTANTS[36])*0.0600000) -  (( CONSTANTS[27]*CONSTANTS[61])/(exp(STATES[9]/CONSTANTS[62]) - 1.00000))*0.0600000)+ ALGEBRAIC[47]*CONSTANTS[30]*0.0600000)/(CONSTANTS[27]+CONSTANTS[30]))*16.6667;
RATES[7] = ((ALGEBRAIC[49] -  STATES[7]*CONSTANTS[28]) - ALGEBRAIC[39])/CONSTANTS[40];
RATES[6] =  (((STATES[4] -  STATES[6]*CONSTANTS[26]*16.6667) - ALGEBRAIC[49])/CONSTANTS[39])*0.0600000;
ALGEBRAIC[51] = (ALGEBRAIC[49] - ALGEBRAIC[47])/CONSTANTS[27];
RATES[9] =  ((STATES[6] -  STATES[7]*0.0600000) -  ALGEBRAIC[51]*0.0600000)*16.6667;
RATES[8] = ((STATES[4] - STATES[8]/CONSTANTS[35])+( CONSTANTS[61]*1.00000)/(exp(STATES[8]/CONSTANTS[62]) - 1.00000))/CONSTANTS[29];
RATES[16] =  (STATES[20] -  STATES[21]*0.0600000)*16.6667;
ALGEBRAIC[60] = ( RATES[16]*CONSTANTS[69]+CONSTANTS[60]+STATES[16]/CONSTANTS[77]) - ( CONSTANTS[61]*1.00000)/(exp(STATES[16]/CONSTANTS[62]) - 1.00000);
RATES[21] = ((ALGEBRAIC[60] - ALGEBRAIC[27]) -  STATES[21]*CONSTANTS[71])/CONSTANTS[82];
ALGEBRAIC[53] = STATES[22]+STATES[23]+STATES[24]+STATES[25]+STATES[26]+STATES[27]+STATES[28]+STATES[29];
ALGEBRAIC[62] = STATES[1]+STATES[0]+STATES[3]+STATES[2]+CONSTANTS[86]+CONSTANTS[20]+ALGEBRAIC[53];
ALGEBRAIC[63] =  CONSTANTS[83]*exp((ALGEBRAIC[62] - CONSTANTS[85])/CONSTANTS[84]) - ( CONSTANTS[61]*1.00000)/(exp(ALGEBRAIC[62]/CONSTANTS[63]) - 1.00000);
ALGEBRAIC[64] = ALGEBRAIC[63]+CONSTANTS[60];
ALGEBRAIC[25] = STATES[27]/CONSTANTS[100] - ( CONSTANTS[65]*1.00000)/(exp(STATES[27]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[71] = ALGEBRAIC[25]+ALGEBRAIC[64];
ALGEBRAIC[23] = STATES[28]/CONSTANTS[101] - ( CONSTANTS[65]*1.00000)/(exp(STATES[28]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[68] = ALGEBRAIC[23]+ALGEBRAIC[64];
ALGEBRAIC[73] = (ALGEBRAIC[71] - ALGEBRAIC[68])/CONSTANTS[92];
ALGEBRAIC[21] = STATES[29]/CONSTANTS[102] - ( CONSTANTS[61]*1.00000)/(exp(STATES[29]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[67] = ALGEBRAIC[21]+ALGEBRAIC[64];
ALGEBRAIC[69] = (ALGEBRAIC[68] - ALGEBRAIC[67])/CONSTANTS[93];
RATES[28] = ALGEBRAIC[73] - ALGEBRAIC[69];
ALGEBRAIC[5] = VOI -  floor(VOI/CONSTANTS[106])*CONSTANTS[106];
ALGEBRAIC[9] = ALGEBRAIC[5];
ALGEBRAIC[10] = (ALGEBRAIC[9]>=0.00000&&ALGEBRAIC[9]<=CONSTANTS[107] ? (1.00000 - cos((  3.14159265358979*ALGEBRAIC[9])/CONSTANTS[107]))/2.00000 : ALGEBRAIC[9]< 1.50000*CONSTANTS[107]&&ALGEBRAIC[9]>=CONSTANTS[107] ? (1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[9] - CONSTANTS[107]))/CONSTANTS[107]))/2.00000 : 0.00000);
ALGEBRAIC[11] = ALGEBRAIC[10];
ALGEBRAIC[14] =  (CONSTANTS[15] - CONSTANTS[16])*ALGEBRAIC[11]+CONSTANTS[16];
ALGEBRAIC[70] =  (1.00000 - ALGEBRAIC[11])*(CONSTANTS[6] - CONSTANTS[7])+CONSTANTS[7];
ALGEBRAIC[72] =  (STATES[0] - ALGEBRAIC[70])*ALGEBRAIC[14] - ( CONSTANTS[61]*1.00000)/(exp(STATES[0]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[74] = ALGEBRAIC[72]+ALGEBRAIC[64];
ALGEBRAIC[76] = (ALGEBRAIC[67] - ALGEBRAIC[74])/CONSTANTS[94];
RATES[29] = ALGEBRAIC[69] - ALGEBRAIC[76];
ALGEBRAIC[16] =  (CONSTANTS[17] - CONSTANTS[18])*ALGEBRAIC[10]+CONSTANTS[18];
ALGEBRAIC[55] =  (1.00000 - ALGEBRAIC[10])*(CONSTANTS[4] - CONSTANTS[5])+CONSTANTS[5];
ALGEBRAIC[57] =  (STATES[2] - ALGEBRAIC[55])*ALGEBRAIC[16] - ( CONSTANTS[61]*1.00000)/(exp(STATES[2]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[75] = ALGEBRAIC[57]+ALGEBRAIC[64];
ALGEBRAIC[77] = (ALGEBRAIC[33] - ALGEBRAIC[75])/CONSTANTS[75];
RATES[19] = (ALGEBRAIC[34]+ALGEBRAIC[35]) - ALGEBRAIC[77];
ALGEBRAIC[52] =  CONSTANTS[54]*pow(CONSTANTS[57]/STATES[14], 2.00000)+CONSTANTS[55];
ALGEBRAIC[78] = (ALGEBRAIC[47] - ALGEBRAIC[74])/ALGEBRAIC[52];
RATES[14] = (ALGEBRAIC[48]+ALGEBRAIC[51]) - ALGEBRAIC[78];
ALGEBRAIC[7] = ALGEBRAIC[5] - CONSTANTS[10];
ALGEBRAIC[12] = (ALGEBRAIC[7]>=0.00000&&ALGEBRAIC[7]<=CONSTANTS[105] ? (1.00000 - cos((  3.14159265358979*ALGEBRAIC[7])/CONSTANTS[105]))/2.00000 : ALGEBRAIC[7]< 1.50000*CONSTANTS[105]&&ALGEBRAIC[7]>=CONSTANTS[105] ? (1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[7] - CONSTANTS[105]))/CONSTANTS[105]))/2.00000 : 0.00000);
ALGEBRAIC[17] =  (CONSTANTS[11] - CONSTANTS[12])*ALGEBRAIC[12]+CONSTANTS[12];
ALGEBRAIC[58] =  (1.00000 - ALGEBRAIC[12])*(CONSTANTS[0] - CONSTANTS[1])+CONSTANTS[1];
ALGEBRAIC[59] =  (STATES[3] - ALGEBRAIC[58])*ALGEBRAIC[17] - ( CONSTANTS[61]*1.00000)/(exp(STATES[3]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[79] = ALGEBRAIC[59]+ALGEBRAIC[64];
ALGEBRAIC[80] = (ALGEBRAIC[75]>ALGEBRAIC[79] ? (ALGEBRAIC[75] - ALGEBRAIC[79])/CONSTANTS[9] : 0.00000);
RATES[2] = ALGEBRAIC[77] - ALGEBRAIC[80];
ALGEBRAIC[83] = (ALGEBRAIC[79]>STATES[4] ? (ALGEBRAIC[79] - STATES[4])/CONSTANTS[25] : 0.00000);
ALGEBRAIC[18] = STATES[4];
ALGEBRAIC[20] = STATES[23]/CONSTANTS[96] - ( CONSTANTS[65]*1.00000)/(exp(STATES[23]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[65] = ALGEBRAIC[20]+ALGEBRAIC[64];
ALGEBRAIC[66] = (ALGEBRAIC[18] - ALGEBRAIC[65])/CONSTANTS[87];
RATES[4] =  (((ALGEBRAIC[83] - RATES[8]) -  STATES[6]*16.6667) - ALGEBRAIC[66])*(1.00000/CONSTANTS[95]+( (CONSTANTS[61]/1.00000)*exp(STATES[22]/CONSTANTS[64]))/pow(exp(STATES[22]/CONSTANTS[64]) - 1.00000, 2.00000));
RATES[22] = ((ALGEBRAIC[83] - RATES[8]) -  STATES[6]*16.6667) - ALGEBRAIC[66];
RATES[3] = ALGEBRAIC[80] - ALGEBRAIC[83];
ALGEBRAIC[82] = fabs((ALGEBRAIC[79] - ALGEBRAIC[64])/2.00000);
ALGEBRAIC[19] = STATES[26]/CONSTANTS[99] - ( CONSTANTS[65]*1.00000)/(exp(STATES[26]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[85] = ALGEBRAIC[19]+ALGEBRAIC[82];
ALGEBRAIC[87] = (ALGEBRAIC[85] - ALGEBRAIC[71])/CONSTANTS[91];
RATES[27] = ALGEBRAIC[87] - ALGEBRAIC[73];
ALGEBRAIC[13] = ALGEBRAIC[12];
ALGEBRAIC[15] =  (CONSTANTS[13] - CONSTANTS[14])*ALGEBRAIC[13]+CONSTANTS[14];
ALGEBRAIC[81] =  (1.00000 - ALGEBRAIC[13])*(CONSTANTS[2] - CONSTANTS[3])+CONSTANTS[3];
ALGEBRAIC[84] =  (STATES[1] - ALGEBRAIC[81])*ALGEBRAIC[15] - ( CONSTANTS[61]*1.00000)/(exp(STATES[1]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[86] = ALGEBRAIC[84]+ALGEBRAIC[64];
ALGEBRAIC[88] = (ALGEBRAIC[74]>ALGEBRAIC[86] ? (ALGEBRAIC[74] - ALGEBRAIC[86])/CONSTANTS[8] : 0.00000);
RATES[0] = (ALGEBRAIC[78] - ALGEBRAIC[88])+ALGEBRAIC[76];
ALGEBRAIC[22] = STATES[24]/CONSTANTS[97] - ( CONSTANTS[65]*1.00000)/(exp(STATES[24]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[89] = ALGEBRAIC[22]+ALGEBRAIC[82];
ALGEBRAIC[91] = (ALGEBRAIC[65] - ALGEBRAIC[89])/CONSTANTS[88];
RATES[23] = ALGEBRAIC[66] - ALGEBRAIC[91];
ALGEBRAIC[90] = ((((( CONSTANTS[67]*STATES[15])/CONSTANTS[76] - ( CONSTANTS[67]*CONSTANTS[61]*1.00000)/(exp(STATES[15]/CONSTANTS[62]) - 1.00000))+ ALGEBRAIC[86]*CONSTANTS[68]) -  CONSTANTS[67]*CONSTANTS[68]*STATES[20]*16.6667)+ CONSTANTS[60]*CONSTANTS[67])/(CONSTANTS[68]+CONSTANTS[67]);
ALGEBRAIC[28] = ((STATES[15]/CONSTANTS[76]+CONSTANTS[60]) -  CONSTANTS[68]*STATES[20]*16.6667) - ( CONSTANTS[61]*1.00000)/(exp(STATES[15]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[92] = (ALGEBRAIC[86]>ALGEBRAIC[90] ? ALGEBRAIC[90] : ALGEBRAIC[28]);
RATES[20] =  (((ALGEBRAIC[92] - ALGEBRAIC[60]) -  STATES[20]*CONSTANTS[70]*16.6667)/CONSTANTS[81])*0.0600000;
ALGEBRAIC[24] = STATES[25]/CONSTANTS[98] - ( CONSTANTS[65]*1.00000)/(exp(STATES[25]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[93] = ALGEBRAIC[24]+ALGEBRAIC[82];
ALGEBRAIC[96] = (ALGEBRAIC[89] - ALGEBRAIC[93])/CONSTANTS[89];
RATES[24] = ALGEBRAIC[91] - ALGEBRAIC[96];
ALGEBRAIC[94] = (ALGEBRAIC[86]>ALGEBRAIC[92] ? (ALGEBRAIC[86] - ALGEBRAIC[92])/CONSTANTS[67] : 0.00000);
RATES[15] = ALGEBRAIC[94] -  STATES[20]*16.6667;
RATES[1] = ALGEBRAIC[88] - ALGEBRAIC[94];
ALGEBRAIC[97] = (ALGEBRAIC[93] - ALGEBRAIC[85])/CONSTANTS[90];
RATES[26] = ALGEBRAIC[97] - ALGEBRAIC[87];
RATES[25] = ALGEBRAIC[96] - ALGEBRAIC[97];
}
void
computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC)
{
ALGEBRAIC[26] = STATES[17]/CONSTANTS[78] - ( CONSTANTS[61]*1.00000)/(exp(STATES[17]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[27] = ALGEBRAIC[26]+CONSTANTS[60];
ALGEBRAIC[29] = STATES[18]/CONSTANTS[79] - ( CONSTANTS[61]*1.00000)/(exp(STATES[18]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[30] = ALGEBRAIC[29]+CONSTANTS[60];
ALGEBRAIC[31] = (ALGEBRAIC[27] - ALGEBRAIC[30])/CONSTANTS[73];
ALGEBRAIC[32] = STATES[19]/CONSTANTS[80] - ( CONSTANTS[61]*1.00000)/(exp(STATES[19]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[33] = ALGEBRAIC[32]+CONSTANTS[60];
ALGEBRAIC[34] = (ALGEBRAIC[30] - ALGEBRAIC[33])/CONSTANTS[74];
ALGEBRAIC[35] = (ALGEBRAIC[27] - ALGEBRAIC[33])/CONSTANTS[72];
ALGEBRAIC[36] =  CONSTANTS[41]*arbitrary_log((STATES[10] - CONSTANTS[43])/CONSTANTS[42]+1.00000, 10);
ALGEBRAIC[37] =  CONSTANTS[45]*exp( CONSTANTS[48]*(STATES[10] - CONSTANTS[43]))+ CONSTANTS[46]*pow(STATES[10] - CONSTANTS[43], 2.00000);
ALGEBRAIC[38] =  CONSTANTS[66]*ALGEBRAIC[36]+ (1.00000 - CONSTANTS[66])*ALGEBRAIC[37];
ALGEBRAIC[39] = STATES[11]/CONSTANTS[37] - ( CONSTANTS[61]*1.00000)/(exp(STATES[11]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[40] = (ALGEBRAIC[39] - ALGEBRAIC[38])/CONSTANTS[31];
ALGEBRAIC[44] = CONSTANTS[34]+ CONSTANTS[47]*exp( 4.00000*CONSTANTS[66])+ CONSTANTS[47]*pow(CONSTANTS[44]/STATES[10], 2.00000);
ALGEBRAIC[41] = STATES[12]/CONSTANTS[38] - ( CONSTANTS[61]*1.00000)/(exp(STATES[12]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[46] = (ALGEBRAIC[38] - ALGEBRAIC[41])/ALGEBRAIC[44];
ALGEBRAIC[42] =  CONSTANTS[49]*arbitrary_log(CONSTANTS[50]/STATES[13] - 0.990000, 10)*- 1.00000;
ALGEBRAIC[43] = (ALGEBRAIC[41] - ALGEBRAIC[42])/CONSTANTS[32];
ALGEBRAIC[45] = (STATES[14]>CONSTANTS[56] ? (CONSTANTS[51]+ CONSTANTS[53]*exp(CONSTANTS[56]/CONSTANTS[58])+( CONSTANTS[52]*(STATES[14] - CONSTANTS[56]))/1.00000) - CONSTANTS[61]/(exp(STATES[14]/CONSTANTS[62]) - 1.00000) : (CONSTANTS[51]+ CONSTANTS[53]*exp(STATES[14]/CONSTANTS[58])) - CONSTANTS[61]/(exp(STATES[14]/CONSTANTS[62]) - 1.00000));
ALGEBRAIC[47] = ALGEBRAIC[45]+CONSTANTS[60];
ALGEBRAIC[48] = (ALGEBRAIC[42] - ALGEBRAIC[47])/CONSTANTS[33];
ALGEBRAIC[49] =  ((((( CONSTANTS[30]*CONSTANTS[27]*STATES[6] -  CONSTANTS[30]*CONSTANTS[27]*STATES[7]*0.0600000)+ (( STATES[9]*CONSTANTS[27])/CONSTANTS[36])*0.0600000) -  (( CONSTANTS[27]*CONSTANTS[61])/(exp(STATES[9]/CONSTANTS[62]) - 1.00000))*0.0600000)+ ALGEBRAIC[47]*CONSTANTS[30]*0.0600000)/(CONSTANTS[27]+CONSTANTS[30]))*16.6667;
ALGEBRAIC[51] = (ALGEBRAIC[49] - ALGEBRAIC[47])/CONSTANTS[27];
ALGEBRAIC[60] = ( RATES[16]*CONSTANTS[69]+CONSTANTS[60]+STATES[16]/CONSTANTS[77]) - ( CONSTANTS[61]*1.00000)/(exp(STATES[16]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[53] = STATES[22]+STATES[23]+STATES[24]+STATES[25]+STATES[26]+STATES[27]+STATES[28]+STATES[29];
ALGEBRAIC[62] = STATES[1]+STATES[0]+STATES[3]+STATES[2]+CONSTANTS[86]+CONSTANTS[20]+ALGEBRAIC[53];
ALGEBRAIC[63] =  CONSTANTS[83]*exp((ALGEBRAIC[62] - CONSTANTS[85])/CONSTANTS[84]) - ( CONSTANTS[61]*1.00000)/(exp(ALGEBRAIC[62]/CONSTANTS[63]) - 1.00000);
ALGEBRAIC[64] = ALGEBRAIC[63]+CONSTANTS[60];
ALGEBRAIC[25] = STATES[27]/CONSTANTS[100] - ( CONSTANTS[65]*1.00000)/(exp(STATES[27]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[71] = ALGEBRAIC[25]+ALGEBRAIC[64];
ALGEBRAIC[23] = STATES[28]/CONSTANTS[101] - ( CONSTANTS[65]*1.00000)/(exp(STATES[28]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[68] = ALGEBRAIC[23]+ALGEBRAIC[64];
ALGEBRAIC[73] = (ALGEBRAIC[71] - ALGEBRAIC[68])/CONSTANTS[92];
ALGEBRAIC[21] = STATES[29]/CONSTANTS[102] - ( CONSTANTS[61]*1.00000)/(exp(STATES[29]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[67] = ALGEBRAIC[21]+ALGEBRAIC[64];
ALGEBRAIC[69] = (ALGEBRAIC[68] - ALGEBRAIC[67])/CONSTANTS[93];
ALGEBRAIC[5] = VOI -  floor(VOI/CONSTANTS[106])*CONSTANTS[106];
ALGEBRAIC[9] = ALGEBRAIC[5];
ALGEBRAIC[10] = (ALGEBRAIC[9]>=0.00000&&ALGEBRAIC[9]<=CONSTANTS[107] ? (1.00000 - cos((  3.14159265358979*ALGEBRAIC[9])/CONSTANTS[107]))/2.00000 : ALGEBRAIC[9]< 1.50000*CONSTANTS[107]&&ALGEBRAIC[9]>=CONSTANTS[107] ? (1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[9] - CONSTANTS[107]))/CONSTANTS[107]))/2.00000 : 0.00000);
ALGEBRAIC[11] = ALGEBRAIC[10];
ALGEBRAIC[14] =  (CONSTANTS[15] - CONSTANTS[16])*ALGEBRAIC[11]+CONSTANTS[16];
ALGEBRAIC[70] =  (1.00000 - ALGEBRAIC[11])*(CONSTANTS[6] - CONSTANTS[7])+CONSTANTS[7];
ALGEBRAIC[72] =  (STATES[0] - ALGEBRAIC[70])*ALGEBRAIC[14] - ( CONSTANTS[61]*1.00000)/(exp(STATES[0]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[74] = ALGEBRAIC[72]+ALGEBRAIC[64];
ALGEBRAIC[76] = (ALGEBRAIC[67] - ALGEBRAIC[74])/CONSTANTS[94];
ALGEBRAIC[16] =  (CONSTANTS[17] - CONSTANTS[18])*ALGEBRAIC[10]+CONSTANTS[18];
ALGEBRAIC[55] =  (1.00000 - ALGEBRAIC[10])*(CONSTANTS[4] - CONSTANTS[5])+CONSTANTS[5];
ALGEBRAIC[57] =  (STATES[2] - ALGEBRAIC[55])*ALGEBRAIC[16] - ( CONSTANTS[61]*1.00000)/(exp(STATES[2]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[75] = ALGEBRAIC[57]+ALGEBRAIC[64];
ALGEBRAIC[77] = (ALGEBRAIC[33] - ALGEBRAIC[75])/CONSTANTS[75];
ALGEBRAIC[52] =  CONSTANTS[54]*pow(CONSTANTS[57]/STATES[14], 2.00000)+CONSTANTS[55];
ALGEBRAIC[78] = (ALGEBRAIC[47] - ALGEBRAIC[74])/ALGEBRAIC[52];
ALGEBRAIC[7] = ALGEBRAIC[5] - CONSTANTS[10];
ALGEBRAIC[12] = (ALGEBRAIC[7]>=0.00000&&ALGEBRAIC[7]<=CONSTANTS[105] ? (1.00000 - cos((  3.14159265358979*ALGEBRAIC[7])/CONSTANTS[105]))/2.00000 : ALGEBRAIC[7]< 1.50000*CONSTANTS[105]&&ALGEBRAIC[7]>=CONSTANTS[105] ? (1.00000+cos(( 2.00000* 3.14159265358979*(ALGEBRAIC[7] - CONSTANTS[105]))/CONSTANTS[105]))/2.00000 : 0.00000);
ALGEBRAIC[17] =  (CONSTANTS[11] - CONSTANTS[12])*ALGEBRAIC[12]+CONSTANTS[12];
ALGEBRAIC[58] =  (1.00000 - ALGEBRAIC[12])*(CONSTANTS[0] - CONSTANTS[1])+CONSTANTS[1];
ALGEBRAIC[59] =  (STATES[3] - ALGEBRAIC[58])*ALGEBRAIC[17] - ( CONSTANTS[61]*1.00000)/(exp(STATES[3]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[79] = ALGEBRAIC[59]+ALGEBRAIC[64];
ALGEBRAIC[80] = (ALGEBRAIC[75]>ALGEBRAIC[79] ? (ALGEBRAIC[75] - ALGEBRAIC[79])/CONSTANTS[9] : 0.00000);
ALGEBRAIC[83] = (ALGEBRAIC[79]>STATES[4] ? (ALGEBRAIC[79] - STATES[4])/CONSTANTS[25] : 0.00000);
ALGEBRAIC[18] = STATES[4];
ALGEBRAIC[20] = STATES[23]/CONSTANTS[96] - ( CONSTANTS[65]*1.00000)/(exp(STATES[23]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[65] = ALGEBRAIC[20]+ALGEBRAIC[64];
ALGEBRAIC[66] = (ALGEBRAIC[18] - ALGEBRAIC[65])/CONSTANTS[87];
ALGEBRAIC[82] = fabs((ALGEBRAIC[79] - ALGEBRAIC[64])/2.00000);
ALGEBRAIC[19] = STATES[26]/CONSTANTS[99] - ( CONSTANTS[65]*1.00000)/(exp(STATES[26]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[85] = ALGEBRAIC[19]+ALGEBRAIC[82];
ALGEBRAIC[87] = (ALGEBRAIC[85] - ALGEBRAIC[71])/CONSTANTS[91];
ALGEBRAIC[13] = ALGEBRAIC[12];
ALGEBRAIC[15] =  (CONSTANTS[13] - CONSTANTS[14])*ALGEBRAIC[13]+CONSTANTS[14];
ALGEBRAIC[81] =  (1.00000 - ALGEBRAIC[13])*(CONSTANTS[2] - CONSTANTS[3])+CONSTANTS[3];
ALGEBRAIC[84] =  (STATES[1] - ALGEBRAIC[81])*ALGEBRAIC[15] - ( CONSTANTS[61]*1.00000)/(exp(STATES[1]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[86] = ALGEBRAIC[84]+ALGEBRAIC[64];
ALGEBRAIC[88] = (ALGEBRAIC[74]>ALGEBRAIC[86] ? (ALGEBRAIC[74] - ALGEBRAIC[86])/CONSTANTS[8] : 0.00000);
ALGEBRAIC[22] = STATES[24]/CONSTANTS[97] - ( CONSTANTS[65]*1.00000)/(exp(STATES[24]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[89] = ALGEBRAIC[22]+ALGEBRAIC[82];
ALGEBRAIC[91] = (ALGEBRAIC[65] - ALGEBRAIC[89])/CONSTANTS[88];
ALGEBRAIC[90] = ((((( CONSTANTS[67]*STATES[15])/CONSTANTS[76] - ( CONSTANTS[67]*CONSTANTS[61]*1.00000)/(exp(STATES[15]/CONSTANTS[62]) - 1.00000))+ ALGEBRAIC[86]*CONSTANTS[68]) -  CONSTANTS[67]*CONSTANTS[68]*STATES[20]*16.6667)+ CONSTANTS[60]*CONSTANTS[67])/(CONSTANTS[68]+CONSTANTS[67]);
ALGEBRAIC[28] = ((STATES[15]/CONSTANTS[76]+CONSTANTS[60]) -  CONSTANTS[68]*STATES[20]*16.6667) - ( CONSTANTS[61]*1.00000)/(exp(STATES[15]/CONSTANTS[62]) - 1.00000);
ALGEBRAIC[92] = (ALGEBRAIC[86]>ALGEBRAIC[90] ? ALGEBRAIC[90] : ALGEBRAIC[28]);
ALGEBRAIC[24] = STATES[25]/CONSTANTS[98] - ( CONSTANTS[65]*1.00000)/(exp(STATES[25]/CONSTANTS[64]) - 1.00000);
ALGEBRAIC[93] = ALGEBRAIC[24]+ALGEBRAIC[82];
ALGEBRAIC[96] = (ALGEBRAIC[89] - ALGEBRAIC[93])/CONSTANTS[89];
ALGEBRAIC[94] = (ALGEBRAIC[86]>ALGEBRAIC[92] ? (ALGEBRAIC[86] - ALGEBRAIC[92])/CONSTANTS[67] : 0.00000);
ALGEBRAIC[97] = (ALGEBRAIC[93] - ALGEBRAIC[85])/CONSTANTS[90];
ALGEBRAIC[0] = STATES[4] - CONSTANTS[60];
ALGEBRAIC[1] = STATES[8]+STATES[9]+STATES[10]+STATES[11];
ALGEBRAIC[2] = STATES[13]+STATES[14];
ALGEBRAIC[3] = STATES[15]+STATES[16]+STATES[17];
ALGEBRAIC[4] = STATES[19];
ALGEBRAIC[6] = (VOI>ALGEBRAIC[5]&&VOI<ALGEBRAIC[5]+0.0200000 ? 5.00000 : VOI>ALGEBRAIC[5]+CONSTANTS[10]&&VOI<ALGEBRAIC[5]+CONSTANTS[10]+0.0200000 ? 10.0000 : 0.00000);
ALGEBRAIC[8] = ALGEBRAIC[0];
ALGEBRAIC[50] = ALGEBRAIC[49] - CONSTANTS[19];
ALGEBRAIC[54] = STATES[0]+STATES[1]+STATES[15]+STATES[16]+STATES[17]+STATES[18]+STATES[19]+STATES[2]+STATES[3]+STATES[8]+STATES[9]+STATES[10]+STATES[11]+STATES[12]+STATES[13]+STATES[14]+CONSTANTS[86]+ALGEBRAIC[53];
ALGEBRAIC[56] = ALGEBRAIC[54] - CONSTANTS[86];
ALGEBRAIC[61] = ALGEBRAIC[60] - CONSTANTS[60];
ALGEBRAIC[95] = ALGEBRAIC[92] - CONSTANTS[60];
}