Generated Code

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

The raw code is available.

C
C There are a total of 73 entries in the algebraic variable array.
C There are a total of 29 entries in each of the rate and state variable arrays.
C There are a total of 55 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(1) is R in component membrane (joule_per_kilomole_kelvin).
C CONSTS(2) is T in component membrane (kelvin).
C CONSTS(3) is F in component membrane (coulomb_per_mole).
C CONSTS(4) is Cm in component membrane (microF).
C ALGBRC(64) is i_Na in component sodium_current (nanoA).
C ALGBRC(41) is i_Ca_T in component T_type_Ca_channel (nanoA).
C ALGBRC(40) is i_Ca_L in component L_type_Ca_channel (nanoA).
C ALGBRC(67) is i_K in component delayed_rectifying_potassium_current (nanoA).
C ALGBRC(46) is i_f in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(73) is i_B in component linear_background_current (nanoA).
C ALGBRC(48) is i_NaK in component sodium_potassium_pump (nanoA).
C ALGBRC(50) is i_NaCa in component sodium_calcium_pump (nanoA).
C ALGBRC(49) is i_Ca_P in component calcium_pump_current (nanoA).
C ALGBRC(70) is i_K_ACh in component muscarinic_potassium_current (nanoA).
C CONSTS(5) is P_Na in component sodium_current (mul_per_second).
C ALGBRC(63) is E_Na in component reversal_potentials (millivolt).
C STATES(2) is Na_c in component cleft_space_equations (millimolar).
C CONSTS(46) is F_ACh_Na in component sodium_current (dimensionless).
C CONSTS(6) is ACh in component cAMP_balance (millimolar).
C STATES(3) is m in component sodium_current_m_gate (dimensionless).
C STATES(4) is h1 in component sodium_current_h_gate (dimensionless).
C STATES(5) is h2 in component sodium_current_h_gate (dimensionless).
C ALGBRC(23) is m_infinity in component sodium_current_m_gate (dimensionless).
C ALGBRC(30) is tau_m in component sodium_current_m_gate (second).
C ALGBRC(1) is alpha_m in component sodium_current_m_gate (per_second).
C ALGBRC(13) is beta_m in component sodium_current_m_gate (per_second).
C ALGBRC(24) is h1_infinity in component sodium_current_h_gate (dimensionless).
C ALGBRC(36) is h2_infinity in component sodium_current_h_gate (dimensionless).
C ALGBRC(31) is tau_h1 in component sodium_current_h_gate (second).
C ALGBRC(38) is tau_h2 in component sodium_current_h_gate (second).
C ALGBRC(2) is alpha_h1 in component sodium_current_h_gate (per_second).
C ALGBRC(14) is beta_h1 in component sodium_current_h_gate (per_second).
C ALGBRC(21) is g_Ca_L in component L_type_Ca_channel (microS).
C CONSTS(7) is g_Ca_L_cont in component L_type_Ca_channel (microS).
C ALGBRC(10) is F_cAMP_CaL in component L_type_Ca_channel (dimensionless).
C STATES(6) is cAMP in component cAMP_balance (millimolar).
C CONSTS(8) is E_Ca_L in component L_type_Ca_channel (millivolt).
C STATES(7) is d_L in component L_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(39) is d_L_infinity in component L_type_Ca_channel_d_gate (dimensionless).
C STATES(8) is f_L in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(29) is alpha_d_L in component L_type_Ca_channel_d_gate (per_second).
C ALGBRC(35) is beta_d_L in component L_type_Ca_channel_d_gate (per_second).
C ALGBRC(37) is tau_d_L in component L_type_Ca_channel_d_gate (second).
C ALGBRC(3) is alpha_f_L in component L_type_Ca_channel_f_gate (per_second).
C ALGBRC(15) is beta_f_L in component L_type_Ca_channel_f_gate (per_second).
C ALGBRC(32) is f_L_infinity in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(25) is tau_f_L in component L_type_Ca_channel_f_gate (second).
C CONSTS(9) is g_Ca_T in component T_type_Ca_channel (microS).
C CONSTS(10) is E_Ca_T in component T_type_Ca_channel (millivolt).
C STATES(9) is d_T in component T_type_Ca_channel_d_gate (dimensionless).
C STATES(10) is f_T in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(4) is alpha_d_T in component T_type_Ca_channel_d_gate (per_second).
C ALGBRC(16) is beta_d_T in component T_type_Ca_channel_d_gate (per_second).
C ALGBRC(33) is d_T_infinity in component T_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(26) is tau_d_T in component T_type_Ca_channel_d_gate (second).
C ALGBRC(5) is alpha_f_T in component T_type_Ca_channel_f_gate (per_second).
C ALGBRC(17) is beta_f_T in component T_type_Ca_channel_f_gate (per_second).
C ALGBRC(34) is f_T_infinity in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(27) is tau_f_T in component T_type_Ca_channel_f_gate (second).
C ALGBRC(43) is g_K in component delayed_rectifying_potassium_current (microS).
C ALGBRC(42) is F_cAMP_K in component delayed_rectifying_potassium_current (dimensionless).
C ALGBRC(66) is E_K in component reversal_potentials (millivolt).
C CONSTS(11) is K_b in component cleft_space_equations (millimolar).
C STATES(11) is P_a in component delayed_rectifying_potassium_current_P_a_gate (dimensionless).
C STATES(12) is P_i in component delayed_rectifying_potassium_current_P_i_gate (dimensionless).
C ALGBRC(18) is tau_P_a in component delayed_rectifying_potassium_current_P_a_gate (second).
C ALGBRC(6) is P_a_infinity in component delayed_rectifying_potassium_current_P_a_gate (dimensionless).
C ALGBRC(7) is alpha_P_i in component delayed_rectifying_potassium_current_P_i_gate (per_second).
C ALGBRC(19) is beta_P_i in component delayed_rectifying_potassium_current_P_i_gate (per_second).
C ALGBRC(65) is i_B_Na in component linear_background_current (nanoA).
C ALGBRC(72) is i_B_Ca in component linear_background_current (nanoA).
C ALGBRC(68) is i_B_K in component linear_background_current (nanoA).
C CONSTS(12) is g_B_Na in component linear_background_current (microS).
C CONSTS(13) is g_B_Ca in component linear_background_current (microS).
C CONSTS(14) is g_B_K in component linear_background_current (microS).
C ALGBRC(71) is E_Ca in component reversal_potentials (millivolt).
C CONSTS(47) is F_ACh_bNa in component linear_background_current (dimensionless).
C ALGBRC(44) is i_f_Na in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(45) is i_f_K in component hyperpolarisation_activated_current (nanoA).
C CONSTS(15) is g_f_Na in component hyperpolarisation_activated_current (microS).
C CONSTS(16) is g_f_K in component hyperpolarisation_activated_current (microS).
C STATES(13) is y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C ALGBRC(20) is y_infinity in component hyperpolarisation_activated_current_y_gate (dimensionless).
C ALGBRC(8) is V_half in component hyperpolarisation_activated_current_y_gate (millivolt).
C ALGBRC(28) is tau_y in component hyperpolarisation_activated_current_y_gate (second).
C CONSTS(17) is K_m_Na in component sodium_potassium_pump (millimolar).
C CONSTS(18) is K_m_K in component sodium_potassium_pump (millimolar).
C CONSTS(19) is i_NaK_max in component sodium_potassium_pump (nanoA).
C ALGBRC(47) is F_cAMP_NaK in component sodium_potassium_pump (dimensionless).
C STATES(14) is Na_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C STATES(15) is K_c in component cleft_space_equations (millimolar).
C STATES(16) is Ca_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C CONSTS(20) is i_Ca_P_max in component calcium_pump_current (nanoA).
C CONSTS(21) is K_NaCa in component sodium_calcium_pump (nanoA).
C CONSTS(22) is d_NaCa in component sodium_calcium_pump (dimensionless).
C CONSTS(23) is gamma in component sodium_calcium_pump (dimensionless).
C STATES(17) is Ca_c in component cleft_space_equations (millimolar).
C ALGBRC(69) is I_K_ACh in component muscarinic_potassium_current (nanoA).
C CONSTS(53) is g_K_ACh in component muscarinic_potassium_current (microS).
C CONSTS(24) is g_K_ACh_base in component muscarinic_potassium_current (microS).
C CONSTS(48) is P_M2_KACh in component muscarinic_potassium_current (dimensionless).
C STATES(18) is a in component muscarinic_potassium_current (dimensionless).
C ALGBRC(9) is alpha_a in component muscarinic_potassium_current (per_second).
C CONSTS(49) is beta_a in component muscarinic_potassium_current (per_second).
C CONSTS(25) is f_Vagal in component cAMP_balance (per_second).
C STATES(19) is K_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C STATES(20) is Ca_Calmod in component intracellular_concentrations_and_buffer_equations (dimensionless).
C STATES(21) is Ca_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C STATES(22) is Ca_Mg_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C STATES(23) is Mg_Mg_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C ALGBRC(51) is phi_C in component intracellular_concentrations_and_buffer_equations (per_second).
C ALGBRC(52) is phi_TC in component intracellular_concentrations_and_buffer_equations (per_second).
C ALGBRC(53) is phi_TMgC in component intracellular_concentrations_and_buffer_equations (per_second).
C ALGBRC(11) is phi_TMgM in component intracellular_concentrations_and_buffer_equations (per_second).
C ALGBRC(57) is phi_B in component intracellular_concentrations_and_buffer_equations (millimolar_per_second).
C CONSTS(26) is Mg_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C ALGBRC(54) is F_C in component intracellular_concentrations_and_buffer_equations (millimolar_per_second).
C ALGBRC(55) is F_TC in component intracellular_concentrations_and_buffer_equations (millimolar_per_second).
C ALGBRC(56) is F_TMgC in component intracellular_concentrations_and_buffer_equations (millimolar_per_second).
C CONSTS(27) is Vol in component cleft_space_equations (mm_cubed).
C CONSTS(50) is V_i in component intracellular_concentrations_and_buffer_equations (mm_cubed).
C ALGBRC(62) is i_up in component SR_Ca_uptake_and_release (nanoA).
C ALGBRC(60) is i_rel in component SR_Ca_uptake_and_release (nanoA).
C CONSTS(28) is Na_b in component cleft_space_equations (millimolar).
C CONSTS(29) is Ca_b in component cleft_space_equations (millimolar).
C CONSTS(51) is V_c in component cleft_space_equations (mm_cubed).
C CONSTS(30) is tau_p in component cleft_space_equations (second).
C STATES(24) is Ca_up in component SR_Ca_uptake_and_release (millimolar).
C CONSTS(31) is alpha_up in component SR_Ca_uptake_and_release (nanoA).
C CONSTS(32) is beta_up in component SR_Ca_uptake_and_release (nanoA).
C STATES(25) is Ca_rel in component SR_Ca_uptake_and_release (millimolar).
C CONSTS(33) is alpha_rel in component SR_Ca_uptake_and_release (nanoA_per_millimolar).
C ALGBRC(61) is i_tr in component SR_Ca_uptake_and_release (nanoA).
C CONSTS(52) is K1 in component SR_Ca_uptake_and_release (dimensionless).
C ALGBRC(58) is K2 in component SR_Ca_uptake_and_release (millimolar).
C CONSTS(34) is k_cyca in component SR_Ca_uptake_and_release (millimolar).
C CONSTS(35) is k_xcs in component SR_Ca_uptake_and_release (dimensionless).
C CONSTS(36) is k_SRCa in component SR_Ca_uptake_and_release (millimolar).
C CONSTS(37) is k_rel in component SR_Ca_uptake_and_release (millimolar).
C ALGBRC(12) is r_act in component SR_Ca_uptake_and_release (per_second).
C ALGBRC(22) is r_inact in component SR_Ca_uptake_and_release (per_second).
C STATES(26) is Ca_Calse in component SR_Ca_uptake_and_release (dimensionless).
C ALGBRC(59) is phi_Calse in component SR_Ca_uptake_and_release (per_second).
C STATES(27) is F1 in component SR_Ca_uptake_and_release (dimensionless).
C STATES(28) is F2 in component SR_Ca_uptake_and_release (dimensionless).
C STATES(29) is F3 in component SR_Ca_uptake_and_release (dimensionless).
C CONSTS(54) is V_up in component SR_Ca_uptake_and_release (mm_cubed).
C CONSTS(55) is V_rel in component SR_Ca_uptake_and_release (mm_cubed).
C CONSTS(38) is cGMP in component cAMP_balance (millimolar).
C CONSTS(39) is Iso in component cAMP_balance (millimolar).
C CONSTS(40) is Km_Iso in component cAMP_balance (millimolar).
C CONSTS(41) is Km_ACh in component cAMP_balance (millimolar).
C CONSTS(42) is K_PDE in component cAMP_balance (dimensionless).
C CONSTS(43) is K_ADC in component cAMP_balance (millimolar_per_second).
C CONSTS(44) is V_PDE in component cAMP_balance (per_second).
C CONSTS(45) is P_M2_ADC in component cAMP_balance (dimensionless).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(3) is d/dt m in component sodium_current_m_gate (dimensionless).
C RATES(4) is d/dt h1 in component sodium_current_h_gate (dimensionless).
C RATES(5) is d/dt h2 in component sodium_current_h_gate (dimensionless).
C RATES(7) is d/dt d_L in component L_type_Ca_channel_d_gate (dimensionless).
C RATES(8) is d/dt f_L in component L_type_Ca_channel_f_gate (dimensionless).
C RATES(9) is d/dt d_T in component T_type_Ca_channel_d_gate (dimensionless).
C RATES(10) is d/dt f_T in component T_type_Ca_channel_f_gate (dimensionless).
C RATES(11) is d/dt P_a in component delayed_rectifying_potassium_current_P_a_gate (dimensionless).
C RATES(12) is d/dt P_i in component delayed_rectifying_potassium_current_P_i_gate (dimensionless).
C RATES(13) is d/dt y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C RATES(18) is d/dt a in component muscarinic_potassium_current (dimensionless).
C RATES(20) is d/dt Ca_Calmod in component intracellular_concentrations_and_buffer_equations (dimensionless).
C RATES(21) is d/dt Ca_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C RATES(22) is d/dt Ca_Mg_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C RATES(23) is d/dt Mg_Mg_Trop in component intracellular_concentrations_and_buffer_equations (dimensionless).
C RATES(14) is d/dt Na_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C RATES(19) is d/dt K_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C RATES(16) is d/dt Ca_i in component intracellular_concentrations_and_buffer_equations (millimolar).
C RATES(2) is d/dt Na_c in component cleft_space_equations (millimolar).
C RATES(15) is d/dt K_c in component cleft_space_equations (millimolar).
C RATES(17) is d/dt Ca_c in component cleft_space_equations (millimolar).
C RATES(26) is d/dt Ca_Calse in component SR_Ca_uptake_and_release (dimensionless).
C RATES(27) is d/dt F1 in component SR_Ca_uptake_and_release (dimensionless).
C RATES(28) is d/dt F2 in component SR_Ca_uptake_and_release (dimensionless).
C RATES(29) is d/dt F3 in component SR_Ca_uptake_and_release (dimensionless).
C RATES(24) is d/dt Ca_up in component SR_Ca_uptake_and_release (millimolar).
C RATES(25) is d/dt Ca_rel in component SR_Ca_uptake_and_release (millimolar).
C RATES(6) is d/dt cAMP in component cAMP_balance (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -49.54105
      CONSTS(1) = 8314.472
      CONSTS(2) = 310
      CONSTS(3) = 96485.3415
      CONSTS(4) = 5.5e-5
      CONSTS(5) = 0.00344
      STATES(2) = 139.9988
      CONSTS(6) = 0
      STATES(3) = 0.250113
      STATES(4) = 0.001386897
      STATES(5) = 0.002065463
      CONSTS(7) = 0.02115
      STATES(6) = 3e-3
      CONSTS(8) = 46.4
      STATES(7) = 0.002572773
      STATES(8) = 0.98651
      CONSTS(9) = 0.02521
      CONSTS(10) = 45
      STATES(9) = 0.02012114
      STATES(10) = 0.1945111
      CONSTS(11) = 5.4
      STATES(11) = 0.02302278
      STATES(12) = 0.3777728
      CONSTS(12) = 0.00016
      CONSTS(13) = 0.0000364
      CONSTS(14) = 0.0000694
      CONSTS(15) = 0.0067478
      CONSTS(16) = 0.0128821
      STATES(13) = 0.09227776
      CONSTS(17) = 5.46
      CONSTS(18) = 0.621
      CONSTS(19) = 0.2192
      STATES(14) = 9.701621
      STATES(15) = 5.389014
      STATES(16) = 3.787018e-4
      CONSTS(20) = 0.02869
      CONSTS(21) = 0.00001248
      CONSTS(22) = 0.0001
      CONSTS(23) = 0.5
      STATES(17) = 2.00474
      CONSTS(24) = 7.833e-3
      STATES(18) = 0
      CONSTS(25) = 200
      STATES(19) = 1.407347e2
      STATES(20) = 0.1411678
      STATES(21) = 0.07331396
      STATES(22) = 0.7618549
      STATES(23) = 0.2097049
      CONSTS(26) = 2.5
      CONSTS(27) = 3.497e-6
      CONSTS(28) = 140
      CONSTS(29) = 2
      CONSTS(30) = 0.01
      STATES(24) = 16.95311
      CONSTS(31) = 0.08
      CONSTS(32) = 0.072
      STATES(25) = 16.85024
      CONSTS(33) = 0.5
      CONSTS(34) = 0.00005
      CONSTS(35) = 0.9
      CONSTS(36) = 22
      CONSTS(37) = 0.004
      STATES(26) = 0.9528726
      STATES(27) = 0.1133251
      STATES(28) = 0.0007594214
      STATES(29) = 0.8859153
      CONSTS(38) = 2e-3
      CONSTS(39) = 0
      CONSTS(40) = 0.14e-3
      CONSTS(41) = 0.14e-3
      CONSTS(42) = 6
      CONSTS(43) = 8e-3
      CONSTS(44) = 20
      CONSTS(45) = 0.02
      CONSTS(46) = 1.00000 - CONSTS(6)/(CONSTS(6)+0.00100000)
      CONSTS(47) = 1.00000 - CONSTS(6)/(CONSTS(6)+0.500000)
      CONSTS(48) = TERNRY(CONSTS(25).LT.100.000.AND.CONSTS(25).GT.25.0000, 1.02600/(1.00000+EXP((CONSTS(25)+11.0500)/- 7.50950)) - 0.990000, 0.000600000)
      CONSTS(49) = 12.3200/(1.00000+0.00420000/CONSTS(6))
      CONSTS(50) =  0.465000*CONSTS(27)
      CONSTS(51) =  0.136000*CONSTS(27)
      CONSTS(52) = ( CONSTS(34)*CONSTS(35))/CONSTS(36)
      CONSTS(53) =  CONSTS(48)*CONSTS(24)
      CONSTS(54) =  0.0116600*CONSTS(50)
      CONSTS(55) =  0.00129600*CONSTS(50)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(6) =  1.00000*( CONSTS(43)*((1.00000+CONSTS(39)/(CONSTS(39)+CONSTS(40))) - ( CONSTS(45)*CONSTS(6))/( CONSTS(45)*CONSTS(6)+CONSTS(41))) - ( CONSTS(44)*CONSTS(38)*STATES(6))/(STATES(6)+ CONSTS(42)*CONSTS(38)))
      ALGBRC(9) =  17.0000*EXP( 0.0133000*(STATES(1)+40.0000))
      RATES(18) =  CONSTS(49)*(1.00000 - STATES(18)) -  ALGBRC(9)*STATES(18)
      ALGBRC(11) =  1290.00*CONSTS(26)*(1.00000 - (STATES(22)+STATES(23))) -  429.000*STATES(23)
      RATES(23) = ALGBRC(11)
      ALGBRC(12) =  240.000*EXP( (STATES(1) - 40.0000)*0.0800000)+ 240.000*STATES(16)/(STATES(16)+CONSTS(37)) ** 4.00000
      RATES(27) =  0.960000*STATES(29) -  ALGBRC(12)*STATES(27)
      ALGBRC(18) = 1.00000/( 17.0000*EXP( 0.0398000*STATES(1))+ 2.11000*EXP( - 0.0510000*STATES(1)))
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+5.10000)/- 7.40000))
      RATES(11) = (ALGBRC(6) - STATES(11))/ALGBRC(18)
      ALGBRC(7) =  100.000*EXP( - 0.0183000*STATES(1))
      ALGBRC(19) =  656.000*EXP( 0.00942000*STATES(1))
      RATES(12) =  ALGBRC(7)*(1.00000 - STATES(12)) -  ALGBRC(19)*STATES(12)
      ALGBRC(22) = 40.0000+ 240.000*STATES(16)/(STATES(16)+CONSTS(37)) ** 4.00000
      RATES(28) =  ALGBRC(12)*STATES(27) -  ALGBRC(22)*STATES(28)
      RATES(29) =  ALGBRC(22)*STATES(28) -  0.960000*STATES(29)
      ALGBRC(8) = 20.5000/(1.00000+EXP((STATES(6) - 0.00340000)/- 0.000500000)) - 78.5600
      ALGBRC(20) = 1.00000/(1.00000+EXP((STATES(1) - ALGBRC(8))/9.00000))
      ALGBRC(28) = 1.00000/( 1.64830*EXP((STATES(1)+54.0600)/- 24.3300)+14.0106/(0.700000+EXP((STATES(1)+60.0000)/- 5.50000)))
      RATES(13) = (ALGBRC(20) - STATES(13))/ALGBRC(28)
      ALGBRC(1) = ( - 824.000*(STATES(1)+51.9000))/(EXP((STATES(1)+51.9000)/- 8.90000) - 1.00000)
      ALGBRC(13) =  32960.0*EXP((STATES(1)+51.9000)/- 8.90000)
      ALGBRC(23) = ALGBRC(1)/(ALGBRC(1)+ALGBRC(13))
      ALGBRC(30) = 1.00000/(ALGBRC(1)+ALGBRC(13))+1.50000e-05
      RATES(3) = (ALGBRC(23) - STATES(3))/ALGBRC(30)
      ALGBRC(2) =  165.000*EXP((STATES(1)+101.300)/- 12.6000)
      ALGBRC(14) = 12360.0/( 320.000*EXP((STATES(1)+101.300)/- 12.6000)+1.00000)
      ALGBRC(24) = ALGBRC(2)/(ALGBRC(2)+ALGBRC(14))
      ALGBRC(31) = 1.00000/(ALGBRC(2)+ALGBRC(14))
      RATES(4) = (ALGBRC(24) - STATES(4))/ALGBRC(31)
      ALGBRC(32) = 1.00000/(1.00000+EXP((STATES(1)+30.0000)/5.00000))
      ALGBRC(3) = ( 3.75000*(STATES(1)+28.0000))/(EXP((STATES(1)+28.0000)/4.00000) - 1.00000)
      ALGBRC(15) = 30.0000/(1.00000+EXP((STATES(1)+28.0000)/- 4.00000))
      ALGBRC(25) = 1.00000/(ALGBRC(3)+ALGBRC(15))
      RATES(8) = (ALGBRC(32) - STATES(8))/ALGBRC(25)
      ALGBRC(33) = 1.00000/(1.00000+EXP((STATES(1)+26.3000)/- 6.00000))
      ALGBRC(4) =  1068.00*EXP((STATES(1)+26.3000)/30.0000)
      ALGBRC(16) =  1068.00*EXP((STATES(1)+26.3000)/- 30.0000)
      ALGBRC(26) = 1.00000/(ALGBRC(4)+ALGBRC(16))
      RATES(9) = (ALGBRC(33) - STATES(9))/ALGBRC(26)
      ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(1)+61.7000)/5.60000))
      ALGBRC(5) =  15.3000*EXP((STATES(1)+61.7000)/- 83.3000)
      ALGBRC(17) =  15.0000*EXP((STATES(1)+61.7000)/15.3800)
      ALGBRC(27) = 1.00000/(ALGBRC(5)+ALGBRC(17))
      RATES(10) = (ALGBRC(34) - STATES(10))/ALGBRC(27)
      ALGBRC(36) = ALGBRC(24)
      ALGBRC(38) =  20.0000*ALGBRC(31)
      RATES(5) = (ALGBRC(36) - STATES(5))/ALGBRC(38)
      ALGBRC(39) = 1.00000/(1.00000+EXP((STATES(1)+14.1000)/- 6.00000))
      ALGBRC(29) = ( - 28.3900*(STATES(1)+35.0000))/(EXP((STATES(1)+35.0000)/- 2.50000) - 1.00000)+( - 84.9000*STATES(1))/(EXP( - 0.208000*STATES(1)) - 1.00000)
      ALGBRC(35) = ( 11.4300*(STATES(1) - 5.00000))/(EXP( 0.400000*(STATES(1) - 5.00000)) - 1.00000)
      ALGBRC(37) = 1.00000/(ALGBRC(29)+ALGBRC(35))
      RATES(7) = (ALGBRC(39) - STATES(7))/ALGBRC(37)
      ALGBRC(51) =  129000.*STATES(16)*(1.00000 - STATES(20)) -  307.000*STATES(20)
      RATES(20) = ALGBRC(51)
      ALGBRC(52) =  50500.0*STATES(16)*(1.00000 - STATES(21)) -  252.000*STATES(21)
      RATES(21) = ALGBRC(52)
      ALGBRC(53) =  129000.*STATES(16)*(1.00000 - (STATES(22)+STATES(23))) -  4.25000*STATES(22)
      RATES(22) = ALGBRC(53)
      ALGBRC(59) =  770.000*STATES(25)*(1.00000 - STATES(26)) -  641.000*STATES(26)
      RATES(26) = ALGBRC(59)
      ALGBRC(60) =  CONSTS(33)*STATES(28)/(STATES(28)+0.250000) ** 2.00000*STATES(25)
      ALGBRC(61) = ( (STATES(24) - STATES(25))*2.00000*CONSTS(3)*CONSTS(54))/0.0641800
      RATES(25) = (ALGBRC(61) - ALGBRC(60))/( 2.00000*CONSTS(55)*CONSTS(3)) -  11.4800*ALGBRC(59)
      ALGBRC(58) = STATES(16)+ STATES(24)*CONSTS(52)+ CONSTS(34)*CONSTS(35)+CONSTS(34)
      ALGBRC(62) = ( CONSTS(31)*STATES(16) -  CONSTS(32)*STATES(24)*CONSTS(52))/ALGBRC(58)
      RATES(24) = (ALGBRC(62) - ALGBRC(61))/( 2.00000*CONSTS(54)*CONSTS(3))
      ALGBRC(63) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(2)/STATES(14))
      ALGBRC(64) = ( (( CONSTS(46)*CONSTS(5)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*STATES(2)*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*(EXP(( (STATES(1) - ALGBRC(63))*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))/(EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(47) = 1.60000/(1.00000+EXP((STATES(6) - 0.00375000)/- 0.000150000))+0.990000
      ALGBRC(48) = TERNRY(STATES(16).LT.0.000150000, ( (2.00000 - ALGBRC(47))*CONSTS(19)*STATES(14)/(CONSTS(17)+STATES(14)) ** 3.00000*STATES(15)/(CONSTS(18)+STATES(15)) ** 2.00000*1.60000)/(1.50000+EXP((STATES(1)+60.0000)/- 40.0000)), ( ALGBRC(47)*CONSTS(19)*STATES(14)/(CONSTS(17)+STATES(14)) ** 3.00000*STATES(15)/(CONSTS(18)+STATES(15)) ** 2.00000*1.60000)/(1.50000+EXP((STATES(1)+60.0000)/- 40.0000)))
      ALGBRC(50) = ( CONSTS(21)*( STATES(14) ** 3.00000*STATES(17)*EXP( 0.0374300*STATES(1)*CONSTS(23)) -  STATES(2) ** 3.00000*STATES(16)*EXP( 0.0374300*STATES(1)*(CONSTS(23) - 1.00000))))/(1.00000+ CONSTS(22)*( STATES(16)*STATES(2) ** 3.00000+ STATES(17)*STATES(14) ** 3.00000))
      ALGBRC(65) =  CONSTS(47)*CONSTS(12)*(STATES(1) - ALGBRC(63))
      ALGBRC(44) =  CONSTS(15)*STATES(13) ** 2.00000*(STATES(1) - 75.0000)
      RATES(14) = - ( 3.00000*ALGBRC(48)+ 3.00000*ALGBRC(50)+ALGBRC(65)+ALGBRC(44)+ALGBRC(64))/( CONSTS(3)*CONSTS(50))
      RATES(2) = (CONSTS(28) - STATES(2))/CONSTS(30)+(ALGBRC(64)+ 3.00000*ALGBRC(50)+ 3.00000*ALGBRC(48)+ALGBRC(65)+ALGBRC(44))/( CONSTS(3)*CONSTS(51))
      ALGBRC(42) =  0.620000*(1.00000+( 2.61290*STATES(6))/(STATES(6)+0.00900000)) - 0.0250000
      ALGBRC(43) =  ALGBRC(42)*0.00693000*CONSTS(11)/1.00000 ** 0.590000
      ALGBRC(66) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(15)/STATES(19))
      ALGBRC(67) =  ALGBRC(43)*STATES(11)*STATES(12)*(STATES(1) - ALGBRC(66))
      ALGBRC(68) =  CONSTS(14)*(STATES(1) - ALGBRC(66))
      ALGBRC(45) =  CONSTS(16)*STATES(13) ** 2.00000*(STATES(1)+85.0000)
      RATES(19) = ( 2.00000*ALGBRC(48) - (ALGBRC(67)+ALGBRC(45)+ALGBRC(68)))/( CONSTS(3)*CONSTS(50))
      RATES(15) = (CONSTS(11) - STATES(15))/CONSTS(30)+( - 2.00000*ALGBRC(48)+ALGBRC(67)+ALGBRC(68)+ALGBRC(45))/( CONSTS(3)*CONSTS(51))
      ALGBRC(41) =  CONSTS(9)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(10))
      ALGBRC(10) =  0.400000*(1.00000+( 4.50000*STATES(6))/(STATES(6)+0.00650000))+0.0315700
      ALGBRC(21) =  CONSTS(7)*ALGBRC(10)
      ALGBRC(40) =  ALGBRC(21)*( STATES(8)*STATES(7)+ 0.0950000*ALGBRC(39))*(STATES(1) - CONSTS(8))
      ALGBRC(49) = ( CONSTS(20)*STATES(16))/(STATES(16)+0.000400000)
      ALGBRC(71) =  (( 0.500000*CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(17)/STATES(16))
      ALGBRC(72) =  CONSTS(13)*(STATES(1) - ALGBRC(71))
      ALGBRC(54) =  0.0900000*ALGBRC(51)
      ALGBRC(55) =  0.0310000*ALGBRC(52)
      ALGBRC(56) =  0.0620000*ALGBRC(53)
      ALGBRC(57) = ALGBRC(54)+ALGBRC(55)+ALGBRC(56)
      RATES(16) = (( 2.00000*ALGBRC(50)+ALGBRC(60)) - (ALGBRC(40)+ALGBRC(41)+ALGBRC(49)+ALGBRC(72)+ALGBRC(62)))/( 2.00000*CONSTS(50)*CONSTS(3)) - ALGBRC(57)
      RATES(17) = (CONSTS(29) - STATES(17))/CONSTS(30)+( - 2.00000*ALGBRC(50)+ALGBRC(40)+ALGBRC(41)+ALGBRC(49)+ALGBRC(72))/( 2.00000*CONSTS(3)*CONSTS(51))
      ALGBRC(46) = ALGBRC(44)+ALGBRC(45)
      ALGBRC(73) = ALGBRC(65)+ALGBRC(72)+ALGBRC(68)
      ALGBRC(69) =  CONSTS(53)*(STATES(1) - ALGBRC(66))
      ALGBRC(70) =  STATES(18)*ALGBRC(69)
      RATES(1) = - (ALGBRC(64)+ALGBRC(41)+ALGBRC(40)+ALGBRC(67)+ALGBRC(46)+ALGBRC(73)+ALGBRC(48)+ALGBRC(50)+ALGBRC(49)+ALGBRC(70))/CONSTS(4)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(9) =  17.0000*EXP( 0.0133000*(STATES(1)+40.0000))
      ALGBRC(11) =  1290.00*CONSTS(26)*(1.00000 - (STATES(22)+STATES(23))) -  429.000*STATES(23)
      ALGBRC(12) =  240.000*EXP( (STATES(1) - 40.0000)*0.0800000)+ 240.000*STATES(16)/(STATES(16)+CONSTS(37)) ** 4.00000
      ALGBRC(18) = 1.00000/( 17.0000*EXP( 0.0398000*STATES(1))+ 2.11000*EXP( - 0.0510000*STATES(1)))
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+5.10000)/- 7.40000))
      ALGBRC(7) =  100.000*EXP( - 0.0183000*STATES(1))
      ALGBRC(19) =  656.000*EXP( 0.00942000*STATES(1))
      ALGBRC(22) = 40.0000+ 240.000*STATES(16)/(STATES(16)+CONSTS(37)) ** 4.00000
      ALGBRC(8) = 20.5000/(1.00000+EXP((STATES(6) - 0.00340000)/- 0.000500000)) - 78.5600
      ALGBRC(20) = 1.00000/(1.00000+EXP((STATES(1) - ALGBRC(8))/9.00000))
      ALGBRC(28) = 1.00000/( 1.64830*EXP((STATES(1)+54.0600)/- 24.3300)+14.0106/(0.700000+EXP((STATES(1)+60.0000)/- 5.50000)))
      ALGBRC(1) = ( - 824.000*(STATES(1)+51.9000))/(EXP((STATES(1)+51.9000)/- 8.90000) - 1.00000)
      ALGBRC(13) =  32960.0*EXP((STATES(1)+51.9000)/- 8.90000)
      ALGBRC(23) = ALGBRC(1)/(ALGBRC(1)+ALGBRC(13))
      ALGBRC(30) = 1.00000/(ALGBRC(1)+ALGBRC(13))+1.50000e-05
      ALGBRC(2) =  165.000*EXP((STATES(1)+101.300)/- 12.6000)
      ALGBRC(14) = 12360.0/( 320.000*EXP((STATES(1)+101.300)/- 12.6000)+1.00000)
      ALGBRC(24) = ALGBRC(2)/(ALGBRC(2)+ALGBRC(14))
      ALGBRC(31) = 1.00000/(ALGBRC(2)+ALGBRC(14))
      ALGBRC(32) = 1.00000/(1.00000+EXP((STATES(1)+30.0000)/5.00000))
      ALGBRC(3) = ( 3.75000*(STATES(1)+28.0000))/(EXP((STATES(1)+28.0000)/4.00000) - 1.00000)
      ALGBRC(15) = 30.0000/(1.00000+EXP((STATES(1)+28.0000)/- 4.00000))
      ALGBRC(25) = 1.00000/(ALGBRC(3)+ALGBRC(15))
      ALGBRC(33) = 1.00000/(1.00000+EXP((STATES(1)+26.3000)/- 6.00000))
      ALGBRC(4) =  1068.00*EXP((STATES(1)+26.3000)/30.0000)
      ALGBRC(16) =  1068.00*EXP((STATES(1)+26.3000)/- 30.0000)
      ALGBRC(26) = 1.00000/(ALGBRC(4)+ALGBRC(16))
      ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(1)+61.7000)/5.60000))
      ALGBRC(5) =  15.3000*EXP((STATES(1)+61.7000)/- 83.3000)
      ALGBRC(17) =  15.0000*EXP((STATES(1)+61.7000)/15.3800)
      ALGBRC(27) = 1.00000/(ALGBRC(5)+ALGBRC(17))
      ALGBRC(36) = ALGBRC(24)
      ALGBRC(38) =  20.0000*ALGBRC(31)
      ALGBRC(39) = 1.00000/(1.00000+EXP((STATES(1)+14.1000)/- 6.00000))
      ALGBRC(29) = ( - 28.3900*(STATES(1)+35.0000))/(EXP((STATES(1)+35.0000)/- 2.50000) - 1.00000)+( - 84.9000*STATES(1))/(EXP( - 0.208000*STATES(1)) - 1.00000)
      ALGBRC(35) = ( 11.4300*(STATES(1) - 5.00000))/(EXP( 0.400000*(STATES(1) - 5.00000)) - 1.00000)
      ALGBRC(37) = 1.00000/(ALGBRC(29)+ALGBRC(35))
      ALGBRC(51) =  129000.*STATES(16)*(1.00000 - STATES(20)) -  307.000*STATES(20)
      ALGBRC(52) =  50500.0*STATES(16)*(1.00000 - STATES(21)) -  252.000*STATES(21)
      ALGBRC(53) =  129000.*STATES(16)*(1.00000 - (STATES(22)+STATES(23))) -  4.25000*STATES(22)
      ALGBRC(59) =  770.000*STATES(25)*(1.00000 - STATES(26)) -  641.000*STATES(26)
      ALGBRC(60) =  CONSTS(33)*STATES(28)/(STATES(28)+0.250000) ** 2.00000*STATES(25)
      ALGBRC(61) = ( (STATES(24) - STATES(25))*2.00000*CONSTS(3)*CONSTS(54))/0.0641800
      ALGBRC(58) = STATES(16)+ STATES(24)*CONSTS(52)+ CONSTS(34)*CONSTS(35)+CONSTS(34)
      ALGBRC(62) = ( CONSTS(31)*STATES(16) -  CONSTS(32)*STATES(24)*CONSTS(52))/ALGBRC(58)
      ALGBRC(63) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(2)/STATES(14))
      ALGBRC(64) = ( (( CONSTS(46)*CONSTS(5)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*STATES(2)*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*(EXP(( (STATES(1) - ALGBRC(63))*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))/(EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(47) = 1.60000/(1.00000+EXP((STATES(6) - 0.00375000)/- 0.000150000))+0.990000
      ALGBRC(48) = TERNRY(STATES(16).LT.0.000150000, ( (2.00000 - ALGBRC(47))*CONSTS(19)*STATES(14)/(CONSTS(17)+STATES(14)) ** 3.00000*STATES(15)/(CONSTS(18)+STATES(15)) ** 2.00000*1.60000)/(1.50000+EXP((STATES(1)+60.0000)/- 40.0000)), ( ALGBRC(47)*CONSTS(19)*STATES(14)/(CONSTS(17)+STATES(14)) ** 3.00000*STATES(15)/(CONSTS(18)+STATES(15)) ** 2.00000*1.60000)/(1.50000+EXP((STATES(1)+60.0000)/- 40.0000)))
      ALGBRC(50) = ( CONSTS(21)*( STATES(14) ** 3.00000*STATES(17)*EXP( 0.0374300*STATES(1)*CONSTS(23)) -  STATES(2) ** 3.00000*STATES(16)*EXP( 0.0374300*STATES(1)*(CONSTS(23) - 1.00000))))/(1.00000+ CONSTS(22)*( STATES(16)*STATES(2) ** 3.00000+ STATES(17)*STATES(14) ** 3.00000))
      ALGBRC(65) =  CONSTS(47)*CONSTS(12)*(STATES(1) - ALGBRC(63))
      ALGBRC(44) =  CONSTS(15)*STATES(13) ** 2.00000*(STATES(1) - 75.0000)
      ALGBRC(42) =  0.620000*(1.00000+( 2.61290*STATES(6))/(STATES(6)+0.00900000)) - 0.0250000
      ALGBRC(43) =  ALGBRC(42)*0.00693000*CONSTS(11)/1.00000 ** 0.590000
      ALGBRC(66) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(15)/STATES(19))
      ALGBRC(67) =  ALGBRC(43)*STATES(11)*STATES(12)*(STATES(1) - ALGBRC(66))
      ALGBRC(68) =  CONSTS(14)*(STATES(1) - ALGBRC(66))
      ALGBRC(45) =  CONSTS(16)*STATES(13) ** 2.00000*(STATES(1)+85.0000)
      ALGBRC(41) =  CONSTS(9)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(10))
      ALGBRC(10) =  0.400000*(1.00000+( 4.50000*STATES(6))/(STATES(6)+0.00650000))+0.0315700
      ALGBRC(21) =  CONSTS(7)*ALGBRC(10)
      ALGBRC(40) =  ALGBRC(21)*( STATES(8)*STATES(7)+ 0.0950000*ALGBRC(39))*(STATES(1) - CONSTS(8))
      ALGBRC(49) = ( CONSTS(20)*STATES(16))/(STATES(16)+0.000400000)
      ALGBRC(71) =  (( 0.500000*CONSTS(1)*CONSTS(2))/CONSTS(3))*log(STATES(17)/STATES(16))
      ALGBRC(72) =  CONSTS(13)*(STATES(1) - ALGBRC(71))
      ALGBRC(54) =  0.0900000*ALGBRC(51)
      ALGBRC(55) =  0.0310000*ALGBRC(52)
      ALGBRC(56) =  0.0620000*ALGBRC(53)
      ALGBRC(57) = ALGBRC(54)+ALGBRC(55)+ALGBRC(56)
      ALGBRC(46) = ALGBRC(44)+ALGBRC(45)
      ALGBRC(73) = ALGBRC(65)+ALGBRC(72)+ALGBRC(68)
      ALGBRC(69) =  CONSTS(53)*(STATES(1) - ALGBRC(66))
      ALGBRC(70) =  STATES(18)*ALGBRC(69)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END