/* There are a total of 51 entries in the algebraic variable array. There are a total of 23 entries in each of the rate and state variable arrays. There are a total of 69 entries in the constant variable array. */ /* * VOI is time in component environment (second). * CONSTANTS[0] is R in component cell_parameters (millijoule_per_mole_kelvin). * CONSTANTS[1] is T in component cell_parameters (kelvin). * CONSTANTS[2] is F in component cell_parameters (coulomb_per_mole). * CONSTANTS[3] is Cm in component cell_parameters (microF). * CONSTANTS[4] is v_i in component cell_parameters (microlitre). * CONSTANTS[5] is v_SR in component cell_parameters (microlitre). * CONSTANTS[6] is Na_o in component cell_parameters (millimolar). * CONSTANTS[7] is K_o in component cell_parameters (millimolar). * CONSTANTS[8] is Ca_o in component cell_parameters (millimolar). * STATES[0] is V in component membrane_potential (millivolt). * ALGEBRAIC[21] is i_Na in component fast_sodium_current (nanoA). * ALGEBRAIC[23] is i_K1 in component time_independent_potassium_current (nanoA). * ALGEBRAIC[24] is i_to in component transient_outward_current (nanoA). * ALGEBRAIC[22] is i_K in component time_dependent_rectifier_potassium_current (nanoA). * ALGEBRAIC[28] is i_Ca_L in component L_type_Ca_channel (nanoA). * ALGEBRAIC[32] is i_NaK in component sodium_potassium_pump (nanoA). * ALGEBRAIC[30] is i_NaCa in component sodium_calcium_exchanger (nanoA). * ALGEBRAIC[39] is i_b_Na in component sodium_background_current (nanoA). * ALGEBRAIC[36] is i_b_K in component potassium_background_current (nanoA). * ALGEBRAIC[35] is i_b_Ca in component calcium_background_current (nanoA). * ALGEBRAIC[0] is i_Stim in component membrane_potential (nanoA). * CONSTANTS[9] is stim_start in component membrane_potential (second). * CONSTANTS[10] is stim_end in component membrane_potential (second). * CONSTANTS[11] is stim_period in component membrane_potential (second). * CONSTANTS[12] is stim_duration in component membrane_potential (second). * CONSTANTS[13] is stim_amplitude in component membrane_potential (nanoA). * ALGEBRAIC[8] is E_Na in component reversal_potentials (millivolt). * ALGEBRAIC[15] is E_K in component reversal_potentials (millivolt). * ALGEBRAIC[19] is E_Ca in component reversal_potentials (millivolt). * ALGEBRAIC[20] is E_mh in component reversal_potentials (millivolt). * STATES[1] is K_i in component intracellular_potassium_concentration (millimolar). * STATES[2] is Na_i in component intracellular_sodium_concentration (millimolar). * STATES[3] is Ca_i in component intracellular_calcium_concentration (millimolar). * CONSTANTS[14] is g_Na in component fast_sodium_current (microS). * STATES[4] is m in component fast_sodium_current_m_gate (dimensionless). * STATES[5] is h in component fast_sodium_current_h_gate (dimensionless). * ALGEBRAIC[9] is alpha_m in component fast_sodium_current_m_gate (per_second). * ALGEBRAIC[16] is beta_m in component fast_sodium_current_m_gate (per_second). * CONSTANTS[15] is delta_m in component fast_sodium_current_m_gate (millivolt). * ALGEBRAIC[1] is E0_m in component fast_sodium_current_m_gate (millivolt). * ALGEBRAIC[2] is alpha_h in component fast_sodium_current_h_gate (per_second). * ALGEBRAIC[10] is beta_h in component fast_sodium_current_h_gate (per_second). * CONSTANTS[16] is shift_h in component fast_sodium_current_h_gate (millivolt). * CONSTANTS[17] is i_Kmax in component time_dependent_rectifier_potassium_current (nanoA). * STATES[6] is x in component time_dependent_rectifier_potassium_current_x_gate (dimensionless). * ALGEBRAIC[3] is alpha_x in component time_dependent_rectifier_potassium_current_x_gate (per_second). * ALGEBRAIC[11] is beta_x in component time_dependent_rectifier_potassium_current_x_gate (per_second). * CONSTANTS[18] is K_mk1 in component time_independent_potassium_current (millimolar). * CONSTANTS[19] is g_K1 in component time_independent_potassium_current (microS). * CONSTANTS[20] is g_to in component transient_outward_current (microS). * STATES[7] is s in component transient_outward_current_s_gate (dimensionless). * STATES[8] is r in component transient_outward_current_r_gate (dimensionless). * ALGEBRAIC[4] is alpha_s in component transient_outward_current_s_gate (per_second). * ALGEBRAIC[12] is beta_s in component transient_outward_current_s_gate (per_second). * ALGEBRAIC[27] is i_Ca_L_Na in component L_type_Ca_channel (nanoA). * ALGEBRAIC[26] is i_Ca_L_K in component L_type_Ca_channel (nanoA). * ALGEBRAIC[25] is i_Ca_L_Ca in component L_type_Ca_channel (nanoA). * CONSTANTS[21] is P_Ca_L_Ca in component L_type_Ca_channel (nanoA_per_millimolar). * STATES[9] is d in component L_type_Ca_channel_d_gate (dimensionless). * STATES[10] is f in component L_type_Ca_channel_f_gate (dimensionless). * ALGEBRAIC[13] is alpha_d in component L_type_Ca_channel_d_gate (per_second). * ALGEBRAIC[17] is beta_d in component L_type_Ca_channel_d_gate (per_second). * ALGEBRAIC[5] is E0_d in component L_type_Ca_channel_d_gate (millivolt). * CONSTANTS[22] is speed_d in component L_type_Ca_channel_d_gate (dimensionless). * ALGEBRAIC[14] is alpha_f in component L_type_Ca_channel_f_gate (per_second). * ALGEBRAIC[18] is beta_f in component L_type_Ca_channel_f_gate (per_second). * CONSTANTS[23] is speed_f in component L_type_Ca_channel_f_gate (dimensionless). * ALGEBRAIC[6] is E0_f in component L_type_Ca_channel_f_gate (millivolt). * CONSTANTS[24] is i_NaCa_max in component sodium_calcium_exchanger (nanoA_per_millimolar4). * CONSTANTS[25] is gamma in component sodium_calcium_exchanger (dimensionless). * CONSTANTS[26] is i_NaK_max in component sodium_potassium_pump (nanoA). * CONSTANTS[27] is K_mK in component sodium_potassium_pump (millimolar). * CONSTANTS[28] is K_mNa in component sodium_potassium_pump (millimolar). * CONSTANTS[29] is g_b_Ca in component calcium_background_current (microS). * CONSTANTS[30] is g_b_K in component potassium_background_current (microS). * CONSTANTS[31] is g_b_Na in component sodium_background_current (microS). * STATES[11] is F_CaMK in component CaMKII_factor (dimensionless). * ALGEBRAIC[7] is Inf_CaMK in component CaMKII_factor (dimensionless). * CONSTANTS[32] is Tau_CaMK in component CaMKII_factor (second). * STATES[12] is Cmdn_Ca in component calmodulin (millimolar). * ALGEBRAIC[41] is j_rel in component RyR (millimolar_per_second). * ALGEBRAIC[40] is K_rel in component RyR (per_second). * ALGEBRAIC[37] is F_rel in component RyR (dimensionless). * STATES[13] is Ca_SR in component SR_calcium_concentration (millimolar). * CONSTANTS[33] is K_rel_max in component RyR (per_second). * STATES[14] is F_SRCa_RyR in component RyR (millimolar). * CONSTANTS[34] is Tau_SRCa_RyR in component RyR (second). * ALGEBRAIC[29] is N_CaMK in component RyR (dimensionless). * CONSTANTS[35] is gain_k1 in component RyR (dimensionless). * CONSTANTS[36] is gain_k2 in component RyR (dimensionless). * CONSTANTS[37] is gain_k3 in component RyR (dimensionless). * CONSTANTS[38] is gain_k4 in component RyR (dimensionless). * ALGEBRAIC[31] is k_1 in component RyR (per_second). * ALGEBRAIC[33] is k_2 in component RyR (per_second). * ALGEBRAIC[34] is k_3 in component RyR (per_second). * CONSTANTS[53] is k_4 in component RyR (per_second). * STATES[15] is F_1 in component RyR (dimensionless). * STATES[16] is F_2 in component RyR (dimensionless). * ALGEBRAIC[38] is F_3 in component RyR (dimensionless). * CONSTANTS[39] is K_leak_rate in component RyR (per_second). * ALGEBRAIC[44] is j_up in component SERCA (millimolar_per_second). * CONSTANTS[40] is V_max_f in component SERCA (millimolar_per_second). * CONSTANTS[41] is V_max_r in component SERCA (millimolar_per_second). * ALGEBRAIC[42] is f_b in component SERCA (dimensionless). * ALGEBRAIC[43] is r_b in component SERCA (dimensionless). * CONSTANTS[42] is Cmdn_tot in component calmodulin (millimolar). * CONSTANTS[43] is alpha_cmdn in component calmodulin (per_millimolar_per_second). * CONSTANTS[44] is beta_cmdn in component calmodulin (per_second). * ALGEBRAIC[45] is dCmdn_Ca_dtime in component calmodulin (millimolar_per_second). * STATES[17] is Trpn_Ca in component troponin (millimolar). * CONSTANTS[45] is Trpn_tot in component troponin (millimolar). * CONSTANTS[46] is alpha_trpn in component troponin (per_millimolar_per_second). * CONSTANTS[47] is beta_trpn in component troponin (per_second). * ALGEBRAIC[48] is Force_norm in component Force (dimensionless). * ALGEBRAIC[49] is dTrpn_Ca_dtime in component troponin (millimolar_per_second). * ALGEBRAIC[50] is Force in component Force (N_per_mm2). * CONSTANTS[48] is zeta in component Force (N_per_mm2). * CONSTANTS[68] is Force_max in component Force (dimensionless). * CONSTANTS[54] is phi_SL in component Force (dimensionless). * CONSTANTS[65] is P_1_max in component Force (dimensionless). * CONSTANTS[66] is P_2_max in component Force (dimensionless). * CONSTANTS[67] is P_3_max in component Force (dimensionless). * CONSTANTS[64] is sigma_paths in component Force (dimensionless). * STATES[18] is N_0 in component Force (dimensionless). * STATES[19] is P_0 in component Force (dimensionless). * STATES[20] is P_1 in component Force (dimensionless). * STATES[21] is P_2 in component Force (dimensionless). * STATES[22] is P_3 in component Force (dimensionless). * ALGEBRAIC[47] is N_1 in component Force (dimensionless). * ALGEBRAIC[46] is alpha_tm in component Force (per_second). * CONSTANTS[49] is beta_tm in component Force (per_second). * CONSTANTS[57] is K_tm in component Force (dimensionless). * CONSTANTS[58] is N_tm in component Force (dimensionless). * CONSTANTS[50] is SL in component Force (micrometre). * CONSTANTS[55] is SL_norm in component Force (dimensionless). * CONSTANTS[56] is f_01 in component Force (per_second). * CONSTANTS[59] is f_12 in component Force (per_second). * CONSTANTS[63] is f_23 in component Force (per_second). * CONSTANTS[60] is g_01 in component Force (per_second). * CONSTANTS[61] is g_12 in component Force (per_second). * CONSTANTS[62] is g_23 in component Force (per_second). * CONSTANTS[51] is f_XB in component Force (per_second). * CONSTANTS[52] is g_XB in component Force (per_second). * RATES[0] is d/dt V in component membrane_potential (millivolt). * RATES[4] is d/dt m in component fast_sodium_current_m_gate (dimensionless). * RATES[5] is d/dt h in component fast_sodium_current_h_gate (dimensionless). * RATES[6] is d/dt x in component time_dependent_rectifier_potassium_current_x_gate (dimensionless). * RATES[7] is d/dt s in component transient_outward_current_s_gate (dimensionless). * RATES[8] is d/dt r in component transient_outward_current_r_gate (dimensionless). * RATES[9] is d/dt d in component L_type_Ca_channel_d_gate (dimensionless). * RATES[10] is d/dt f in component L_type_Ca_channel_f_gate (dimensionless). * RATES[11] is d/dt F_CaMK in component CaMKII_factor (dimensionless). * RATES[15] is d/dt F_1 in component RyR (dimensionless). * RATES[16] is d/dt F_2 in component RyR (dimensionless). * RATES[14] is d/dt F_SRCa_RyR in component RyR (millimolar). * RATES[12] is d/dt Cmdn_Ca in component calmodulin (millimolar). * RATES[17] is d/dt Trpn_Ca in component troponin (millimolar). * RATES[3] is d/dt Ca_i in component intracellular_calcium_concentration (millimolar). * RATES[13] is d/dt Ca_SR in component SR_calcium_concentration (millimolar). * RATES[2] is d/dt Na_i in component intracellular_sodium_concentration (millimolar). * RATES[1] is d/dt K_i in component intracellular_potassium_concentration (millimolar). * RATES[18] is d/dt N_0 in component Force (dimensionless). * RATES[19] is d/dt P_0 in component Force (dimensionless). * RATES[20] is d/dt P_1 in component Force (dimensionless). * RATES[21] is d/dt P_2 in component Force (dimensionless). * RATES[22] is d/dt P_3 in component Force (dimensionless). */ void initConsts(double* CONSTANTS, double* RATES, double *STATES) { CONSTANTS[0] = 8314.472; CONSTANTS[1] = 310; CONSTANTS[2] = 96485.3415; CONSTANTS[3] = 9.5e-5; CONSTANTS[4] = 1.6404e-5; CONSTANTS[5] = 3.3477e-6; CONSTANTS[6] = 140; CONSTANTS[7] = 4; CONSTANTS[8] = 2; STATES[0] = -92.849333; CONSTANTS[9] = 0; CONSTANTS[10] = 1000; CONSTANTS[11] = 0.5; CONSTANTS[12] = 0.002; CONSTANTS[13] = -4; STATES[1] = 138.22; STATES[2] = 5.8041; STATES[3] = 9.91e-6; CONSTANTS[14] = 2.5; STATES[4] = 0.0013809; STATES[5] = 0.99569; CONSTANTS[15] = 1e-5; CONSTANTS[16] = 0; CONSTANTS[17] = 1; STATES[6] = 5.1127e-2; CONSTANTS[18] = 10; CONSTANTS[19] = 1; CONSTANTS[20] = 0.005; STATES[7] = 0.95854; STATES[8] = 1.5185e-8; CONSTANTS[21] = 0.25; STATES[9] = 1.7908e-8; STATES[10] = 1; CONSTANTS[22] = 3; CONSTANTS[23] = 0.5; CONSTANTS[24] = 0.0005; CONSTANTS[25] = 0.5; CONSTANTS[26] = 1.36; CONSTANTS[27] = 1; CONSTANTS[28] = 21.7; CONSTANTS[29] = 0.00025; CONSTANTS[30] = 0.0006; CONSTANTS[31] = 0.0006; STATES[11] = 1.028; CONSTANTS[32] = 0.8; STATES[12] = 3.9636e-6; STATES[13] = 0.24886; CONSTANTS[33] = 500; STATES[14] = 0.25089; CONSTANTS[34] = 0.05; CONSTANTS[35] = 1; CONSTANTS[36] = 1; CONSTANTS[37] = 1; CONSTANTS[38] = 1; STATES[15] = 0.5268; STATES[16] = 8.7508e-6; CONSTANTS[39] = 0; CONSTANTS[40] = 0.292; CONSTANTS[41] = 0.391; CONSTANTS[42] = 0.02; CONSTANTS[43] = 10000; CONSTANTS[44] = 500; STATES[17] = 2.7661e-4; CONSTANTS[45] = 0.07; CONSTANTS[46] = 80000; CONSTANTS[47] = 200; CONSTANTS[48] = 0.1; STATES[18] = 0.99917; STATES[19] = 9.8593e-5; STATES[20] = 1.3331e-4; STATES[21] = 2.3505e-4; STATES[22] = 1.5349e-4; CONSTANTS[49] = 40; CONSTANTS[50] = 2.15; CONSTANTS[51] = 10; CONSTANTS[52] = 30; CONSTANTS[53] = CONSTANTS[38]*1.80000; CONSTANTS[54] = (CONSTANTS[50]>=1.70000&&CONSTANTS[50]<=2.00000 ? (CONSTANTS[50] - 0.600000)/1.40000 : CONSTANTS[50]>2.00000&&CONSTANTS[50]<=2.20000 ? 1.00000 : CONSTANTS[50]>2.20000&&CONSTANTS[50]<=2.30000 ? (3.60000 - CONSTANTS[50])/1.40000 : 0.0/0.0); CONSTANTS[55] = (CONSTANTS[50] - 1.70000)/0.700000; CONSTANTS[56] = 3.00000*CONSTANTS[51]; CONSTANTS[57] = 1.00000/(1.00000+(CONSTANTS[47]/CONSTANTS[46])/(0.00170000 - 0.000900000*CONSTANTS[55])); CONSTANTS[58] = 3.50000+ 2.50000*CONSTANTS[55]; CONSTANTS[59] = 10.0000*CONSTANTS[51]; CONSTANTS[60] = CONSTANTS[52]*(2.00000 - CONSTANTS[55]); CONSTANTS[61] = 2.00000*CONSTANTS[52]*(2.00000 - CONSTANTS[55]); CONSTANTS[62] = 3.00000*CONSTANTS[52]*(2.00000 - CONSTANTS[55]); CONSTANTS[63] = 7.00000*CONSTANTS[51]; CONSTANTS[64] = 1.00000*CONSTANTS[52]*2.00000*CONSTANTS[52]*3.00000*CONSTANTS[52]+ 1.00000*CONSTANTS[56]*2.00000*CONSTANTS[52]*3.00000*CONSTANTS[52]+ 1.00000*CONSTANTS[56]*1.00000*CONSTANTS[59]*3.00000*CONSTANTS[52]+ 1.00000*CONSTANTS[56]*1.00000*CONSTANTS[59]*1.00000*CONSTANTS[63]; CONSTANTS[65] = ( 1.00000*CONSTANTS[56]*2.00000*CONSTANTS[52]*3.00000*CONSTANTS[52])/CONSTANTS[64]; CONSTANTS[66] = ( 1.00000*CONSTANTS[56]*1.00000*CONSTANTS[59]*3.00000*CONSTANTS[52])/CONSTANTS[64]; CONSTANTS[67] = ( 1.00000*CONSTANTS[56]*1.00000*CONSTANTS[59]*1.00000*CONSTANTS[63])/CONSTANTS[64]; CONSTANTS[68] = CONSTANTS[65]+ 2.00000*CONSTANTS[66]+ 3.00000*CONSTANTS[67]; } void computeRates(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { RATES[8] = 333.000*(1.00000/(1.00000+exp(- (STATES[0]+4.00000)/5.00000)) - STATES[8]); RATES[14] = (STATES[13] - STATES[14])/CONSTANTS[34]; RATES[12] = CONSTANTS[43]*(CONSTANTS[42] - STATES[12])*STATES[3] - CONSTANTS[44]*STATES[12]; RATES[21] = - (CONSTANTS[63]+CONSTANTS[61])*STATES[21]+ CONSTANTS[59]*STATES[20]+ CONSTANTS[62]*STATES[22]; RATES[22] = - CONSTANTS[62]*STATES[22]+ CONSTANTS[63]*STATES[21]; ALGEBRAIC[7] = STATES[12]/5.00000e-05; RATES[11] = (ALGEBRAIC[7] - STATES[11])/CONSTANTS[32]; ALGEBRAIC[2] = 20.0000*exp( - 0.125000*((STATES[0]+75.0000) - CONSTANTS[16])); ALGEBRAIC[10] = 2000.00/(1.00000+ 320.000*exp( - 0.100000*((STATES[0]+75.0000) - CONSTANTS[16]))); RATES[5] = ALGEBRAIC[2]*(1.00000 - STATES[5]) - ALGEBRAIC[10]*STATES[5]; ALGEBRAIC[3] = ( 0.500000*exp( 0.0826000*(STATES[0]+50.0000)))/(1.00000+exp( 0.0570000*(STATES[0]+50.0000))); ALGEBRAIC[11] = ( 1.30000*exp( - 0.0600000*(STATES[0]+20.0000)))/(1.00000+exp( - 0.0400000*(STATES[0]+20.0000))); RATES[6] = ALGEBRAIC[3]*(1.00000 - STATES[6]) - ALGEBRAIC[11]*STATES[6]; ALGEBRAIC[4] = 0.0330000*exp(- STATES[0]/17.0000); ALGEBRAIC[12] = 33.0000/(1.00000+exp( - 0.125000*(STATES[0]+10.0000))); RATES[7] = ALGEBRAIC[4]*(1.00000 - STATES[7]) - ALGEBRAIC[12]*STATES[7]; ALGEBRAIC[1] = STATES[0]+41.0000; ALGEBRAIC[9] = (fabs(ALGEBRAIC[1])=CONSTANTS[9]&&VOI<=CONSTANTS[10]&&(VOI - CONSTANTS[9]) - floor((VOI - CONSTANTS[9])/CONSTANTS[11])*CONSTANTS[11]<=CONSTANTS[12] ? CONSTANTS[13] : 0.00000); RATES[0] = (- 1.00000/CONSTANTS[3])*(ALGEBRAIC[21]+ALGEBRAIC[39]+ALGEBRAIC[23]+ALGEBRAIC[22]+ALGEBRAIC[24]+ALGEBRAIC[36]+ALGEBRAIC[28]+ALGEBRAIC[35]+ALGEBRAIC[30]+ALGEBRAIC[32]+ALGEBRAIC[0]); RATES[2] = - (ALGEBRAIC[21]+ALGEBRAIC[39]+ALGEBRAIC[27]+ 3.00000*ALGEBRAIC[30]+ 3.00000*ALGEBRAIC[32])/( CONSTANTS[4]*CONSTANTS[2]); ALGEBRAIC[40] = ( CONSTANTS[33]*STATES[14])/(STATES[14]+0.200000); ALGEBRAIC[37] = pow(STATES[16]/(STATES[16]+0.250000), 2.00000); ALGEBRAIC[41] = ( ALGEBRAIC[40]*ALGEBRAIC[37]+CONSTANTS[39])*(STATES[13] - STATES[3]); ALGEBRAIC[42] = pow(STATES[3]/0.000240000, 2.00000); ALGEBRAIC[43] = pow(STATES[13]/1.64000, 2.00000); ALGEBRAIC[44] = ( STATES[11]*CONSTANTS[40]*ALGEBRAIC[42] - CONSTANTS[41]*ALGEBRAIC[43])/(1.00000+ALGEBRAIC[42]+ALGEBRAIC[43]); RATES[13] = ( ALGEBRAIC[44]*CONSTANTS[4])/CONSTANTS[5] - ALGEBRAIC[41]; ALGEBRAIC[46] = CONSTANTS[49]*pow(STATES[17]/( CONSTANTS[45]*CONSTANTS[57]), CONSTANTS[58]); RATES[19] = - (CONSTANTS[49]+CONSTANTS[56])*STATES[19]+ ALGEBRAIC[46]*STATES[18]+ CONSTANTS[60]*STATES[20]; ALGEBRAIC[47] = 1.00000 - (STATES[18]+STATES[19]+STATES[20]+STATES[21]+STATES[22]); RATES[18] = ( CONSTANTS[49]*STATES[19] - ALGEBRAIC[46]*STATES[18])+ CONSTANTS[60]*ALGEBRAIC[47]; RATES[20] = - (CONSTANTS[49]+CONSTANTS[59]+CONSTANTS[60])*STATES[20]+ ALGEBRAIC[46]*ALGEBRAIC[47]+ CONSTANTS[56]*STATES[19]+ CONSTANTS[61]*STATES[21]; ALGEBRAIC[48] = ( CONSTANTS[54]*(STATES[20]+ALGEBRAIC[47]+ 2.00000*STATES[21]+ 3.00000*STATES[22]))/CONSTANTS[68]; RATES[17] = CONSTANTS[46]*(CONSTANTS[45] - STATES[17])*STATES[3] - (( CONSTANTS[47]*(1.00000+ 2.00000*(1.00000 - ALGEBRAIC[48])))/3.00000)*STATES[17]; ALGEBRAIC[45] = CONSTANTS[43]*(CONSTANTS[42] - STATES[12])*STATES[3] - CONSTANTS[44]*STATES[12]; ALGEBRAIC[49] = CONSTANTS[46]*(CONSTANTS[45] - STATES[17])*STATES[3] - (( CONSTANTS[47]*(1.00000+ 2.00000*(1.00000 - ALGEBRAIC[48])))/3.00000)*STATES[17]; RATES[3] = (((- ((ALGEBRAIC[25]+ALGEBRAIC[35]) - 2.00000*ALGEBRAIC[30])/( 2.00000*CONSTANTS[4]*CONSTANTS[2]) - ALGEBRAIC[44])+( ALGEBRAIC[41]*CONSTANTS[5])/CONSTANTS[4]) - ALGEBRAIC[45]) - ALGEBRAIC[49]; } void computeVariables(double VOI, double* CONSTANTS, double* RATES, double* STATES, double* ALGEBRAIC) { ALGEBRAIC[7] = STATES[12]/5.00000e-05; ALGEBRAIC[2] = 20.0000*exp( - 0.125000*((STATES[0]+75.0000) - CONSTANTS[16])); ALGEBRAIC[10] = 2000.00/(1.00000+ 320.000*exp( - 0.100000*((STATES[0]+75.0000) - CONSTANTS[16]))); ALGEBRAIC[3] = ( 0.500000*exp( 0.0826000*(STATES[0]+50.0000)))/(1.00000+exp( 0.0570000*(STATES[0]+50.0000))); ALGEBRAIC[11] = ( 1.30000*exp( - 0.0600000*(STATES[0]+20.0000)))/(1.00000+exp( - 0.0400000*(STATES[0]+20.0000))); ALGEBRAIC[4] = 0.0330000*exp(- STATES[0]/17.0000); ALGEBRAIC[12] = 33.0000/(1.00000+exp( - 0.125000*(STATES[0]+10.0000))); ALGEBRAIC[1] = STATES[0]+41.0000; ALGEBRAIC[9] = (fabs(ALGEBRAIC[1])=CONSTANTS[9]&&VOI<=CONSTANTS[10]&&(VOI - CONSTANTS[9]) - floor((VOI - CONSTANTS[9])/CONSTANTS[11])*CONSTANTS[11]<=CONSTANTS[12] ? CONSTANTS[13] : 0.00000); ALGEBRAIC[40] = ( CONSTANTS[33]*STATES[14])/(STATES[14]+0.200000); ALGEBRAIC[37] = pow(STATES[16]/(STATES[16]+0.250000), 2.00000); ALGEBRAIC[41] = ( ALGEBRAIC[40]*ALGEBRAIC[37]+CONSTANTS[39])*(STATES[13] - STATES[3]); ALGEBRAIC[42] = pow(STATES[3]/0.000240000, 2.00000); ALGEBRAIC[43] = pow(STATES[13]/1.64000, 2.00000); ALGEBRAIC[44] = ( STATES[11]*CONSTANTS[40]*ALGEBRAIC[42] - CONSTANTS[41]*ALGEBRAIC[43])/(1.00000+ALGEBRAIC[42]+ALGEBRAIC[43]); ALGEBRAIC[46] = CONSTANTS[49]*pow(STATES[17]/( CONSTANTS[45]*CONSTANTS[57]), CONSTANTS[58]); ALGEBRAIC[47] = 1.00000 - (STATES[18]+STATES[19]+STATES[20]+STATES[21]+STATES[22]); ALGEBRAIC[48] = ( CONSTANTS[54]*(STATES[20]+ALGEBRAIC[47]+ 2.00000*STATES[21]+ 3.00000*STATES[22]))/CONSTANTS[68]; ALGEBRAIC[45] = CONSTANTS[43]*(CONSTANTS[42] - STATES[12])*STATES[3] - CONSTANTS[44]*STATES[12]; ALGEBRAIC[49] = CONSTANTS[46]*(CONSTANTS[45] - STATES[17])*STATES[3] - (( CONSTANTS[47]*(1.00000+ 2.00000*(1.00000 - ALGEBRAIC[48])))/3.00000)*STATES[17]; ALGEBRAIC[50] = CONSTANTS[48]*ALGEBRAIC[48]; }