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 71 entries in the algebraic variable array.
C There are a total of 22 entries in each of the rate and state variable arrays.
C There are a total of 90 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C CONSTS(1) is dCell in component membrane (dimensionless).
C CONSTS(67) is FCell in component membrane (dimensionless).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(2) is R in component membrane (millijoule_per_mole_kelvin).
C CONSTS(3) is T in component membrane (kelvin).
C CONSTS(4) is F in component membrane (coulomb_per_mole).
C CONSTS(72) is Cm in component membrane (microF).
C CONSTS(5) is CmCentre in component membrane (microF).
C CONSTS(6) is CmPeriphery in component membrane (microF).
C ALGBRC(34) is i_Na in component sodium_current (nanoA).
C ALGBRC(43) is i_Ca_L in component L_type_Ca_channel (nanoA).
C ALGBRC(50) is i_Ca_T in component T_type_Ca_channel (nanoA).
C ALGBRC(51) is i_to in component four_AP_sensitive_currents (nanoA).
C ALGBRC(52) is i_sus in component four_AP_sensitive_currents (nanoA).
C ALGBRC(54) is i_K_r in component rapid_delayed_rectifying_potassium_current (nanoA).
C ALGBRC(55) is i_K_s in component slow_delayed_rectifying_potassium_current (nanoA).
C ALGBRC(56) is i_f_Na in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(57) is i_f_K in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(58) is i_b_Na in component sodium_background_current (nanoA).
C ALGBRC(60) is i_b_Ca in component calcium_background_current (nanoA).
C ALGBRC(59) is i_b_K in component potassium_background_current (nanoA).
C ALGBRC(61) is i_NaCa in component sodium_calcium_exchanger (nanoA).
C ALGBRC(62) is i_p in component sodium_potassium_pump (nanoA).
C ALGBRC(64) is i_Ca_P in component intracellular_calcium_handling (nanoA).
C ALGBRC(2) is i_st in component sustained_inward_current (nanoA).
C CONSTS(73) is g_Na in component sodium_current (microlitre_per_second).
C CONSTS(7) is g_Na_Centre in component sodium_current (microlitre_per_second).
C CONSTS(8) is g_Na_Periphery in component sodium_current (microlitre_per_second).
C CONSTS(68) is E_Na in component reversal_and_equilibrium_potentials (millivolt).
C CONSTS(9) is Na_o in component ionic_concentrations (millimolar).
C STATES(2) is m in component sodium_current_m_gate (dimensionless).
C ALGBRC(18) is h in component sodium_current_h_gate (dimensionless).
C ALGBRC(3) is m_infinity in component sodium_current_m_gate (dimensionless).
C ALGBRC(19) is tau_m in component sodium_current_m_gate (second).
C ALGBRC(1) is F_Na in component sodium_current_h_gate (dimensionless).
C STATES(3) is h1 in component sodium_current_h_gate (dimensionless).
C STATES(4) is h2 in component sodium_current_h_gate (dimensionless).
C ALGBRC(4) is h1_infinity in component sodium_current_h_gate (dimensionless).
C ALGBRC(20) is h2_infinity in component sodium_current_h_gate (dimensionless).
C ALGBRC(21) is tau_h1 in component sodium_current_h_gate (second).
C ALGBRC(35) is tau_h2 in component sodium_current_h_gate (second).
C CONSTS(10) is g_Ca_L_Centre in component L_type_Ca_channel (microS).
C CONSTS(11) is g_Ca_L_Periphery in component L_type_Ca_channel (microS).
C CONSTS(74) is g_Ca_L in component L_type_Ca_channel (microS).
C CONSTS(12) is E_Ca_L in component L_type_Ca_channel (millivolt).
C STATES(5) is d_L in component L_type_Ca_channel_d_gate (dimensionless).
C STATES(6) is f_L in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(5) is alpha_d_L in component L_type_Ca_channel_d_gate (per_second).
C ALGBRC(22) is beta_d_L in component L_type_Ca_channel_d_gate (per_second).
C ALGBRC(44) is d_L_infinity in component L_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(36) is tau_d_L in component L_type_Ca_channel_d_gate (second).
C ALGBRC(6) is alpha_f_L in component L_type_Ca_channel_f_gate (per_second).
C ALGBRC(23) is beta_f_L in component L_type_Ca_channel_f_gate (per_second).
C ALGBRC(45) is f_L_infinity in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(37) is tau_f_L in component L_type_Ca_channel_f_gate (second).
C CONSTS(13) is g_Ca_T_Centre in component T_type_Ca_channel (microS).
C CONSTS(14) is g_Ca_T_Periphery in component T_type_Ca_channel (microS).
C CONSTS(75) is g_Ca_T in component T_type_Ca_channel (microS).
C CONSTS(15) is E_Ca_T in component T_type_Ca_channel (millivolt).
C STATES(7) is d_T in component T_type_Ca_channel_d_gate (dimensionless).
C STATES(8) is f_T in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(7) is alpha_d_T in component T_type_Ca_channel_d_gate (per_second).
C ALGBRC(24) is beta_d_T in component T_type_Ca_channel_d_gate (per_second).
C ALGBRC(46) is d_T_infinity in component T_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(38) is tau_d_T in component T_type_Ca_channel_d_gate (second).
C ALGBRC(8) is alpha_f_T in component T_type_Ca_channel_f_gate (per_second).
C ALGBRC(25) is beta_f_T in component T_type_Ca_channel_f_gate (per_second).
C ALGBRC(47) is f_T_infinity in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(39) is tau_f_T in component T_type_Ca_channel_f_gate (second).
C CONSTS(16) is g_to_Centre in component four_AP_sensitive_currents (microS).
C CONSTS(17) is g_to_Periphery in component four_AP_sensitive_currents (microS).
C CONSTS(76) is g_to in component four_AP_sensitive_currents (microS).
C CONSTS(18) is g_sus_Centre in component four_AP_sensitive_currents (microS).
C CONSTS(19) is g_sus_Periphery in component four_AP_sensitive_currents (microS).
C CONSTS(77) is g_sus in component four_AP_sensitive_currents (microS).
C CONSTS(69) is E_K in component reversal_and_equilibrium_potentials (millivolt).
C STATES(9) is q in component four_AP_sensitive_currents_q_gate (dimensionless).
C STATES(10) is r in component four_AP_sensitive_currents_r_gate (dimensionless).
C ALGBRC(9) is q_infinity in component four_AP_sensitive_currents_q_gate (dimensionless).
C ALGBRC(26) is tau_q in component four_AP_sensitive_currents_q_gate (second).
C ALGBRC(10) is r_infinity in component four_AP_sensitive_currents_r_gate (dimensionless).
C ALGBRC(27) is tau_r in component four_AP_sensitive_currents_r_gate (second).
C CONSTS(20) is g_K_r_Centre in component rapid_delayed_rectifying_potassium_current (microS).
C CONSTS(21) is g_K_r_Periphery in component rapid_delayed_rectifying_potassium_current (microS).
C CONSTS(78) is g_K_r in component rapid_delayed_rectifying_potassium_current (microS).
C ALGBRC(53) is P_a in component rapid_delayed_rectifying_potassium_current (dimensionless).
C STATES(11) is P_af in component rapid_delayed_rectifying_potassium_current_P_af_gate (dimensionless).
C STATES(12) is P_as in component rapid_delayed_rectifying_potassium_current_P_as_gate (dimensionless).
C STATES(13) is P_i in component rapid_delayed_rectifying_potassium_current_P_i_gate (dimensionless).
C ALGBRC(11) is P_af_infinity in component rapid_delayed_rectifying_potassium_current_P_af_gate (dimensionless).
C ALGBRC(28) is tau_P_af in component rapid_delayed_rectifying_potassium_current_P_af_gate (second).
C ALGBRC(29) is P_as_infinity in component rapid_delayed_rectifying_potassium_current_P_as_gate (dimensionless).
C ALGBRC(40) is tau_P_as in component rapid_delayed_rectifying_potassium_current_P_as_gate (second).
C ALGBRC(12) is P_i_infinity in component rapid_delayed_rectifying_potassium_current_P_i_gate (dimensionless).
C CONSTS(22) is tau_P_i in component rapid_delayed_rectifying_potassium_current_P_i_gate (second).
C CONSTS(23) is g_K_s_Centre in component slow_delayed_rectifying_potassium_current (microS).
C CONSTS(24) is g_K_s_Periphery in component slow_delayed_rectifying_potassium_current (microS).
C CONSTS(79) is g_K_s in component slow_delayed_rectifying_potassium_current (microS).
C CONSTS(70) is E_K_s in component reversal_and_equilibrium_potentials (millivolt).
C STATES(14) is xs in component slow_delayed_rectifying_potassium_current_xs_gate (dimensionless).
C ALGBRC(13) is alpha_xs in component slow_delayed_rectifying_potassium_current_xs_gate (per_second).
C ALGBRC(30) is beta_xs in component slow_delayed_rectifying_potassium_current_xs_gate (per_second).
C CONSTS(25) is g_f_Na_Centre in component hyperpolarisation_activated_current (microS).
C CONSTS(26) is g_f_Na_Periphery in component hyperpolarisation_activated_current (microS).
C CONSTS(80) is g_f_Na in component hyperpolarisation_activated_current (microS).
C CONSTS(27) is g_f_K_Centre in component hyperpolarisation_activated_current (microS).
C CONSTS(28) is g_f_K_Periphery in component hyperpolarisation_activated_current (microS).
C CONSTS(81) is g_f_K in component hyperpolarisation_activated_current (microS).
C STATES(15) is y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C ALGBRC(14) is alpha_y in component hyperpolarisation_activated_current_y_gate (per_second).
C ALGBRC(31) is beta_y in component hyperpolarisation_activated_current_y_gate (per_second).
C CONSTS(29) is g_b_Na_Centre in component sodium_background_current (microS).
C CONSTS(30) is g_b_Na_Periphery in component sodium_background_current (microS).
C CONSTS(82) is g_b_Na in component sodium_background_current (microS).
C CONSTS(31) is g_b_K_Centre in component potassium_background_current (microS).
C CONSTS(32) is g_b_K_Periphery in component potassium_background_current (microS).
C CONSTS(83) is g_b_K in component potassium_background_current (microS).
C CONSTS(33) is g_b_Ca_Centre in component calcium_background_current (microS).
C CONSTS(34) is g_b_Ca_Periphery in component calcium_background_current (microS).
C CONSTS(84) is g_b_Ca in component calcium_background_current (microS).
C CONSTS(71) is E_Ca in component reversal_and_equilibrium_potentials (millivolt).
C CONSTS(35) is k_NaCa_Centre in component sodium_calcium_exchanger (nanoA).
C CONSTS(36) is k_NaCa_Periphery in component sodium_calcium_exchanger (nanoA).
C CONSTS(85) is k_NaCa in component sodium_calcium_exchanger (nanoA).
C CONSTS(37) is d_NaCa in component sodium_calcium_exchanger (dimensionless).
C CONSTS(38) is gamma_NaCa in component sodium_calcium_exchanger (dimensionless).
C CONSTS(39) is Na_i in component ionic_concentrations (millimolar).
C CONSTS(40) is Ca_i in component ionic_concentrations (millimolar).
C CONSTS(41) is Ca_o in component ionic_concentrations (millimolar).
C CONSTS(42) is K_m_Na in component sodium_potassium_pump (millimolar).
C CONSTS(43) is K_m_K in component sodium_potassium_pump (millimolar).
C CONSTS(44) is i_p_max_Centre in component sodium_potassium_pump (nanoA).
C CONSTS(45) is i_p_max_Periphery in component sodium_potassium_pump (nanoA).
C CONSTS(86) is i_p_max in component sodium_potassium_pump (nanoA).
C CONSTS(46) is K_o in component ionic_concentrations (millimolar).
C CONSTS(47) is K_i in component ionic_concentrations (millimolar).
C CONSTS(48) is g_st in component sustained_inward_current (microS).
C STATES(16) is d_s in component sustained_inward_current_d_gate (dimensionless).
C STATES(17) is f_s in component sustained_inward_current_f_gate (dimensionless).
C ALGBRC(15) is alpha_d_s in component sustained_inward_current_d_gate (per_second).
C ALGBRC(32) is beta_d_s in component sustained_inward_current_d_gate (per_second).
C ALGBRC(48) is d_s_infinity in component sustained_inward_current_d_gate (dimensionless).
C ALGBRC(41) is tau_d_s in component sustained_inward_current_d_gate (second).
C ALGBRC(16) is alpha_f_s in component sustained_inward_current_f_gate (per_second).
C ALGBRC(33) is beta_f_s in component sustained_inward_current_f_gate (per_second).
C ALGBRC(49) is f_s_infinity in component sustained_inward_current_f_gate (dimensionless).
C ALGBRC(42) is tau_f_s in component sustained_inward_current_f_gate (second).
C ALGBRC(63) is U_d in component intracellular_calcium_handling (dimensionless).
C ALGBRC(67) is U_s in component intracellular_calcium_handling (dimensionless).
C CONSTS(49) is i_Ca_P_max in component intracellular_calcium_handling (nanoA).
C ALGBRC(65) is J_Ca_ds in component intracellular_calcium_handling (millimole_per_second).
C ALGBRC(66) is J_Ca_r in component intracellular_calcium_handling (millimole_per_second).
C ALGBRC(17) is J_Ca_P in component intracellular_calcium_handling (millimole_per_second).
C CONSTS(50) is J_Ca_P_max in component intracellular_calcium_handling (millimole_per_second).
C ALGBRC(68) is J_Ca_u in component intracellular_calcium_handling (millimole_per_second).
C CONSTS(51) is J_Ca_u_max in component intracellular_calcium_handling (millimole_per_second).
C ALGBRC(69) is J_Ca_ur in component intracellular_calcium_handling (millimole_per_second).
C ALGBRC(70) is J_Ca_1 in component intracellular_calcium_handling (millimole_per_second).
C STATES(18) is Ca_d in component intracellular_calcium_handling (millimolar).
C STATES(19) is Ca_s in component intracellular_calcium_handling (millimolar).
C STATES(20) is Ca_u in component intracellular_calcium_handling (millimolar).
C STATES(21) is Ca_r in component intracellular_calcium_handling (millimolar).
C CONSTS(52) is B_d in component intracellular_calcium_handling (millimolar).
C CONSTS(53) is B_s in component intracellular_calcium_handling (millimolar).
C CONSTS(87) is Vol_u in component intracellular_calcium_handling (litre).
C CONSTS(88) is Vol_r in component intracellular_calcium_handling (litre).
C CONSTS(89) is Vol_d in component intracellular_calcium_handling (litre).
C CONSTS(90) is Vol_s in component intracellular_calcium_handling (litre).
C CONSTS(54) is Vol_c in component intracellular_calcium_handling (litre).
C CONSTS(55) is K_m_b in component intracellular_calcium_handling (millimolar).
C CONSTS(56) is K_m_r in component intracellular_calcium_handling (millimolar).
C CONSTS(57) is K_m_u in component intracellular_calcium_handling (millimolar).
C CONSTS(58) is f_d in component intracellular_calcium_handling (dimensionless).
C CONSTS(59) is f_r in component intracellular_calcium_handling (dimensionless).
C CONSTS(60) is f_u in component intracellular_calcium_handling (dimensionless).
C CONSTS(61) is alpha_ds in component intracellular_calcium_handling (per_second).
C CONSTS(62) is alpha_fR in component intracellular_calcium_handling (per_second_millimolar).
C CONSTS(63) is alpha_1 in component intracellular_calcium_handling (per_second).
C CONSTS(64) is alpha_r in component intracellular_calcium_handling (per_second).
C CONSTS(65) is alpha_ur in component intracellular_calcium_handling (per_second).
C CONSTS(66) is beta_fR in component intracellular_calcium_handling (per_second).
C STATES(22) is f_R in component intracellular_calcium_handling (dimensionless).
C ALGBRC(71) is i_Ca in component intracellular_calcium_handling (nanoA).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(2) is d/dt m in component sodium_current_m_gate (dimensionless).
C RATES(3) is d/dt h1 in component sodium_current_h_gate (dimensionless).
C RATES(4) is d/dt h2 in component sodium_current_h_gate (dimensionless).
C RATES(5) is d/dt d_L in component L_type_Ca_channel_d_gate (dimensionless).
C RATES(6) is d/dt f_L in component L_type_Ca_channel_f_gate (dimensionless).
C RATES(7) is d/dt d_T in component T_type_Ca_channel_d_gate (dimensionless).
C RATES(8) is d/dt f_T in component T_type_Ca_channel_f_gate (dimensionless).
C RATES(9) is d/dt q in component four_AP_sensitive_currents_q_gate (dimensionless).
C RATES(10) is d/dt r in component four_AP_sensitive_currents_r_gate (dimensionless).
C RATES(11) is d/dt P_af in component rapid_delayed_rectifying_potassium_current_P_af_gate (dimensionless).
C RATES(12) is d/dt P_as in component rapid_delayed_rectifying_potassium_current_P_as_gate (dimensionless).
C RATES(13) is d/dt P_i in component rapid_delayed_rectifying_potassium_current_P_i_gate (dimensionless).
C RATES(14) is d/dt xs in component slow_delayed_rectifying_potassium_current_xs_gate (dimensionless).
C RATES(15) is d/dt y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C RATES(16) is d/dt d_s in component sustained_inward_current_d_gate (dimensionless).
C RATES(17) is d/dt f_s in component sustained_inward_current_f_gate (dimensionless).
C RATES(22) is d/dt f_R in component intracellular_calcium_handling (dimensionless).
C RATES(18) is d/dt Ca_d in component intracellular_calcium_handling (millimolar).
C RATES(19) is d/dt Ca_s in component intracellular_calcium_handling (millimolar).
C RATES(20) is d/dt Ca_u in component intracellular_calcium_handling (millimolar).
C RATES(21) is d/dt Ca_r in component intracellular_calcium_handling (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0
      STATES(1) = -39.013558536
      CONSTS(2) = 8314
      CONSTS(3) = 310
      CONSTS(4) = 96845
      CONSTS(5) = 2e-5
      CONSTS(6) = 6.5e-5
      CONSTS(7) = 0
      CONSTS(8) = 1.2e-6
      CONSTS(9) = 140
      STATES(2) = 0.092361701692
      STATES(3) = 0.015905380261
      STATES(4) = 0.01445216109
      CONSTS(10) = 0.0058
      CONSTS(11) = 0.0659
      CONSTS(12) = 46.4
      STATES(5) = 0.04804900895
      STATES(6) = 0.48779845203
      CONSTS(13) = 0.0043
      CONSTS(14) = 0.0139
      CONSTS(15) = 45
      STATES(7) = 0.42074047435
      STATES(8) = 0.038968420558
      CONSTS(16) = 0.00491
      CONSTS(17) = 0.03649
      CONSTS(18) = 6.65e-5
      CONSTS(19) = 0.0114
      STATES(9) = 0.29760539675
      STATES(10) = 0.064402950262
      CONSTS(20) = 0.000797
      CONSTS(21) = 0.016
      STATES(11) = 0.13034201158
      STATES(12) = 0.46960956028
      STATES(13) = 0.87993375273
      CONSTS(22) = 0.002
      CONSTS(23) = 0.000518
      CONSTS(24) = 0.0104
      STATES(14) = 0.082293827208
      CONSTS(25) = 0.000548
      CONSTS(26) = 0.0069
      CONSTS(27) = 0.000548
      CONSTS(28) = 0.0069
      STATES(15) = 0.03889291759
      CONSTS(29) = 5.8e-5
      CONSTS(30) = 0.000189
      CONSTS(31) = 2.52e-5
      CONSTS(32) = 8.19e-5
      CONSTS(33) = 1.32e-5
      CONSTS(34) = 4.3e-5
      CONSTS(35) = 2.7e-6
      CONSTS(36) = 8.8e-6
      CONSTS(37) = 0.0001
      CONSTS(38) = 0.5
      CONSTS(39) = 8
      CONSTS(40) = 0.0001
      CONSTS(41) = 2
      CONSTS(42) = 5.64
      CONSTS(43) = 0.621
      CONSTS(44) = 0.0478
      CONSTS(45) = 0.16
      CONSTS(46) = 5.4
      CONSTS(47) = 140
      CONSTS(48) = 0.00214
      STATES(16) = 0.230
      STATES(17) = 0.283
      CONSTS(49) = 0.24
      CONSTS(50) = 0.00000000096
      CONSTS(51) = 0.00000000096
      STATES(18) = 0.001544
      STATES(19) = 0.05487
      STATES(20) = 6.983
      STATES(21) = 4.909
      CONSTS(52) = 0.4
      CONSTS(53) = 0.2
      CONSTS(54) = 8.0e-12
      CONSTS(55) = 0.002
      CONSTS(56) = 0.001
      CONSTS(57) = 0.005
      CONSTS(58) = 0.1
      CONSTS(59) = 0.3
      CONSTS(60) = 0.06
      CONSTS(61) = 3300.0
      CONSTS(62) = 6670.0
      CONSTS(63) = 0.172
      CONSTS(64) = 333.5
      CONSTS(65) = 533.6
      CONSTS(66) = 2.0
      STATES(22) = 0.188
      CONSTS(67) = ( 1.07000*( 3.00000*CONSTS(1) - 0.100000))/( 3.00000*(1.00000+ 0.774500*EXP(- ( 3.00000*CONSTS(1) - 2.05000)/0.295000)))
      CONSTS(68) =  (( CONSTS(2)*CONSTS(3))/CONSTS(4))*log(CONSTS(9)/CONSTS(39))
      CONSTS(69) =  (( CONSTS(2)*CONSTS(3))/CONSTS(4))*log(CONSTS(46)/CONSTS(47))
      CONSTS(70) =  (( CONSTS(2)*CONSTS(3))/CONSTS(4))*log((CONSTS(46)+ 0.120000*CONSTS(9))/(CONSTS(47)+ 0.120000*CONSTS(39)))
      CONSTS(71) =  (( CONSTS(2)*CONSTS(3))/( 2.00000*CONSTS(4)))*log(CONSTS(41)/CONSTS(40))
      CONSTS(72) = CONSTS(5)+ CONSTS(67)*(CONSTS(6) - CONSTS(5))
      CONSTS(73) = CONSTS(7)+ CONSTS(67)*(CONSTS(8) - CONSTS(7))
      CONSTS(74) = CONSTS(10)+ CONSTS(67)*(CONSTS(11) - CONSTS(10))
      CONSTS(75) = CONSTS(13)+ CONSTS(67)*(CONSTS(14) - CONSTS(13))
      CONSTS(76) = CONSTS(16)+ CONSTS(67)*(CONSTS(17) - CONSTS(16))
      CONSTS(77) = CONSTS(18)+ CONSTS(67)*(CONSTS(19) - CONSTS(18))
      CONSTS(78) = CONSTS(20)+ CONSTS(67)*(CONSTS(21) - CONSTS(20))
      CONSTS(79) = CONSTS(23)+ CONSTS(67)*(CONSTS(24) - CONSTS(23))
      CONSTS(80) = CONSTS(25)+ CONSTS(67)*(CONSTS(26) - CONSTS(25))
      CONSTS(81) = CONSTS(27)+ CONSTS(67)*(CONSTS(28) - CONSTS(27))
      CONSTS(82) = CONSTS(29)+ CONSTS(67)*(CONSTS(30) - CONSTS(29))
      CONSTS(83) = CONSTS(31)+ CONSTS(67)*(CONSTS(32) - CONSTS(31))
      CONSTS(84) = CONSTS(33)+ CONSTS(67)*(CONSTS(34) - CONSTS(33))
      CONSTS(85) = CONSTS(35)+ CONSTS(67)*(CONSTS(36) - CONSTS(35))
      CONSTS(86) = CONSTS(44)+ CONSTS(67)*(CONSTS(45) - CONSTS(44))
      CONSTS(87) =  CONSTS(60)*CONSTS(54)
      CONSTS(88) =  CONSTS(59)*CONSTS(54)
      CONSTS(89) =  CONSTS(58)*CONSTS(54)
      CONSTS(90) = CONSTS(54) - (CONSTS(87)+CONSTS(89))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(22) =  - CONSTS(62)*STATES(18)*STATES(22)+ CONSTS(66)*(1.00000 - STATES(22))
      ALGBRC(12) = 1.00000/(1.00000+EXP((STATES(1)+18.6000)/10.1000))
      RATES(13) = (ALGBRC(12) - STATES(13))/CONSTS(22)
      ALGBRC(3) = 1.00000/(1.00000+EXP(- STATES(1)/5.46000)) ** 1.00000/3.00000
      ALGBRC(19) = 0.000624700/( 0.832000*EXP( - 0.335000*(STATES(1)+56.7000))+ 0.627000*EXP( 0.0820000*(STATES(1)+65.0100)))+4.00000e-05
      RATES(2) = (ALGBRC(3) - STATES(2))/ALGBRC(19)
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+66.1000)/6.40000))
      ALGBRC(21) = ( 3.71700e-06*EXP( - 0.281500*(STATES(1)+17.1100)))/(1.00000+ 0.00373200*EXP( - 0.342600*(STATES(1)+37.7600)))+0.000597700
      RATES(3) = (ALGBRC(4) - STATES(3))/ALGBRC(21)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+59.3700)/13.1000))
      ALGBRC(26) = 0.0101000+0.0651700/( 0.570000*EXP( - 0.0800000*(STATES(1)+49.0000)))+ 2.40000e-05*EXP( 0.100000*(STATES(1)+50.9300))
      RATES(9) = (ALGBRC(9) - STATES(9))/ALGBRC(26)
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 10.9300)/19.7000))
      ALGBRC(27) =  0.00100000*(2.98000+15.5900/( 1.03700*EXP( 0.0900000*(STATES(1)+30.6100))+ 0.369000*EXP( - 0.120000*(STATES(1)+23.8400))))
      RATES(10) = (ALGBRC(10) - STATES(10))/ALGBRC(27)
      ALGBRC(11) = 1.00000/(1.00000+EXP(- (STATES(1)+14.2000)/10.6000))
      ALGBRC(28) = 1.00000/( 37.2000*EXP((STATES(1) - 9.00000)/15.9000)+ 0.960000*EXP(- (STATES(1) - 9.00000)/22.5000))
      RATES(11) = (ALGBRC(11) - STATES(11))/ALGBRC(28)
      ALGBRC(13) = 14.0000/(1.00000+EXP(- (STATES(1) - 40.0000)/9.00000))
      ALGBRC(30) =  1.00000*EXP(- STATES(1)/45.0000)
      RATES(14) =  ALGBRC(13)*(1.00000 - STATES(14)) -  ALGBRC(30)*STATES(14)
      ALGBRC(14) =  1.00000*EXP(- (STATES(1)+78.9100)/26.6200)
      ALGBRC(31) =  1.00000*EXP((STATES(1)+75.1300)/21.2500)
      RATES(15) =  ALGBRC(14)*(1.00000 - STATES(15)) -  ALGBRC(31)*STATES(15)
      ALGBRC(20) = ALGBRC(4)
      ALGBRC(35) = ( 3.18600e-08*EXP( - 0.621900*(STATES(1)+18.8000)))/(1.00000+ 7.18900e-05*EXP( - 0.668300*(STATES(1)+34.0700)))+0.00355600
      RATES(4) = (ALGBRC(20) - STATES(4))/ALGBRC(35)
      ALGBRC(29) = ALGBRC(11)
      ALGBRC(40) = 1.00000/( 4.20000*EXP((STATES(1) - 9.00000)/17.0000)+ 0.150000*EXP(- (STATES(1) - 9.00000)/21.6000))
      RATES(12) = (ALGBRC(29) - STATES(12))/ALGBRC(40)
      ALGBRC(44) = 1.00000/(1.00000+EXP(- (STATES(1)+23.1000)/6.00000))
      ALGBRC(5) = ( - 28.3800*(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(22) = ( 11.4200*(STATES(1) - 5.00000))/(EXP( 0.400000*(STATES(1) - 5.00000)) - 1.00000)
      ALGBRC(36) = 2.00000/(ALGBRC(5)+ALGBRC(22))
      RATES(5) = (ALGBRC(44) - STATES(5))/ALGBRC(36)
      ALGBRC(45) = 1.00000/(1.00000+EXP((STATES(1)+45.0000)/5.00000))
      ALGBRC(6) = ( 3.12000*(STATES(1)+28.0000))/(EXP((STATES(1)+28.0000)/4.00000) - 1.00000)
      ALGBRC(23) = 25.0000/(1.00000+EXP(- (STATES(1)+28.0000)/4.00000))
      ALGBRC(37) = 1.00000/(ALGBRC(6)+ALGBRC(23))
      RATES(6) = (ALGBRC(45) - STATES(6))/ALGBRC(37)
      ALGBRC(46) = 1.00000/(1.00000+EXP(- (STATES(1)+37.0000)/6.80000))
      ALGBRC(7) =  1068.00*EXP((STATES(1)+26.3000)/30.0000)
      ALGBRC(24) =  1068.00*EXP(- (STATES(1)+26.3000)/30.0000)
      ALGBRC(38) = 1.00000/(ALGBRC(7)+ALGBRC(24))
      RATES(7) = (ALGBRC(46) - STATES(7))/ALGBRC(38)
      ALGBRC(47) = 1.00000/(1.00000+EXP((STATES(1)+71.0000)/9.00000))
      ALGBRC(8) =  15.3000*EXP(- (STATES(1)+71.7000)/83.3000)
      ALGBRC(25) =  15.0000*EXP((STATES(1)+71.7000)/15.3800)
      ALGBRC(39) = 1.00000/(ALGBRC(8)+ALGBRC(25))
      RATES(8) = (ALGBRC(47) - STATES(8))/ALGBRC(39)
      ALGBRC(15) = 1000.00/( 0.150000*EXP(- STATES(1)/11.0000)+ 0.200000*EXP(- STATES(1)/700.000))
      ALGBRC(32) = 1000.00/( 16.0000*EXP(STATES(1)/8.00000)+ 0.200000*EXP(STATES(1)/50.0000))
      ALGBRC(48) = ALGBRC(15)/(ALGBRC(15)+ALGBRC(32))
      ALGBRC(41) = 1.00000/(ALGBRC(15)+ALGBRC(32))
      RATES(16) = (ALGBRC(48) - STATES(16))/ALGBRC(41)
      ALGBRC(16) = 1000.00/( 3100.00*EXP(- STATES(1)/13.0000)+ 700.000*EXP(- STATES(1)/70.0000))
      ALGBRC(33) = 1000.00/( 16.0000*EXP(STATES(1)/8.00000)+ 0.200000*EXP(STATES(1)/50.0000))
      ALGBRC(49) = ALGBRC(16)/(ALGBRC(16)+ALGBRC(33))
      ALGBRC(42) = 1.00000/(ALGBRC(16)+ALGBRC(33))
      RATES(17) = (ALGBRC(49) - STATES(17))/ALGBRC(42)
      ALGBRC(1) = ( 0.0952000*EXP( - 0.0630000*(STATES(1)+34.4000)))/(1.00000+ 1.66000*EXP( - 0.225000*(STATES(1)+63.7000)))+0.0869000
      ALGBRC(18) =  (1.00000 - ALGBRC(1))*STATES(3)+ ALGBRC(1)*STATES(4)
      ALGBRC(34) =  (( (( CONSTS(73)*STATES(2) ** 3.00000*ALGBRC(18)*CONSTS(9)*CONSTS(4) ** 2.00000)/( CONSTS(2)*CONSTS(3)))*(EXP(( (STATES(1) - CONSTS(68))*CONSTS(4))/( CONSTS(2)*CONSTS(3))) - 1.00000))/(EXP(( STATES(1)*CONSTS(4))/( CONSTS(2)*CONSTS(3))) - 1.00000))*STATES(1)
      ALGBRC(43) =  CONSTS(74)*( STATES(6)*STATES(5)+0.00600000/(1.00000+EXP(- (STATES(1)+14.1000)/6.00000)))*(STATES(1) - CONSTS(12))
      ALGBRC(50) =  CONSTS(75)*STATES(7)*STATES(8)*(STATES(1) - CONSTS(15))
      ALGBRC(51) =  CONSTS(76)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(69))
      ALGBRC(52) =  CONSTS(77)*STATES(10)*(STATES(1) - CONSTS(69))
      ALGBRC(53) =  0.600000*STATES(11)+ 0.400000*STATES(12)
      ALGBRC(54) =  CONSTS(78)*ALGBRC(53)*STATES(13)*(STATES(1) - CONSTS(69))
      ALGBRC(55) =  CONSTS(79)*STATES(14) ** 2.00000*(STATES(1) - CONSTS(70))
      ALGBRC(56) =  CONSTS(80)*STATES(15)*(STATES(1) - CONSTS(68))
      ALGBRC(57) =  CONSTS(81)*STATES(15)*(STATES(1) - CONSTS(69))
      ALGBRC(58) =  CONSTS(82)*(STATES(1) - CONSTS(68))
      ALGBRC(60) =  CONSTS(84)*(STATES(1) - CONSTS(71))
      ALGBRC(59) =  CONSTS(83)*(STATES(1) - CONSTS(69))
      ALGBRC(61) = ( CONSTS(85)*( CONSTS(39) ** 3.00000*CONSTS(41)*EXP( 0.0374300*STATES(1)*CONSTS(38)) -  CONSTS(9) ** 3.00000*CONSTS(40)*EXP( 0.0374000*STATES(1)*(CONSTS(38) - 1.00000))))/(1.00000+ CONSTS(37)*( CONSTS(40)*CONSTS(9) ** 3.00000+ CONSTS(41)*CONSTS(39) ** 3.00000))
      ALGBRC(62) = ( CONSTS(86)*CONSTS(39)/(CONSTS(42)+CONSTS(39)) ** 3.00000*CONSTS(46)/(CONSTS(43)+CONSTS(46)) ** 2.00000*1.60000)/(1.50000+EXP(- (STATES(1)+60.0000)/40.0000))
      ALGBRC(64) =  CONSTS(49)*(STATES(19)/(STATES(19)+0.000400000))
      RATES(1) =  (- 1.00000/CONSTS(72))*(ALGBRC(34)+ALGBRC(43)+ALGBRC(50)+ALGBRC(51)+ALGBRC(52)+ALGBRC(54)+ALGBRC(55)+ALGBRC(56)+ALGBRC(57)+ALGBRC(58)+ALGBRC(60)+ALGBRC(59)+ALGBRC(61)+ALGBRC(62)+ALGBRC(64))
      ALGBRC(66) =  CONSTS(64)*STATES(22)*(STATES(18) ** 2.00000/(CONSTS(56) ** 2.00000+STATES(18) ** 2.00000))*CONSTS(88)*STATES(21)
      ALGBRC(69) =  CONSTS(65)*CONSTS(87)*(STATES(20) - STATES(21))
      RATES(21) = (ALGBRC(69) - ALGBRC(66))/CONSTS(88)
      ALGBRC(68) =  CONSTS(51)*(STATES(19) ** 2.00000/(CONSTS(57) ** 2.00000+STATES(19) ** 2.00000))
      ALGBRC(70) =  CONSTS(63)*CONSTS(87)*STATES(20)
      RATES(20) = (ALGBRC(68) - (ALGBRC(70)+ALGBRC(69)))/CONSTS(87)
      ALGBRC(63) = 1.00000 - CONSTS(52)/(CONSTS(55)+STATES(18)+CONSTS(52))
      ALGBRC(65) =  CONSTS(61)*CONSTS(89)*(STATES(18) - STATES(19))
      ALGBRC(71) = ALGBRC(43)+ALGBRC(50)
      RATES(18) =  (ALGBRC(63)/CONSTS(89))*(ALGBRC(65) - ( 0.950000*ALGBRC(71))/( 2.00000*CONSTS(4)))
      ALGBRC(67) = 1.00000 - CONSTS(53)/(CONSTS(55)+STATES(19)+CONSTS(53))
      RATES(19) =  (ALGBRC(67)/CONSTS(90))*((ALGBRC(65) - ((( 0.0500000*ALGBRC(71) -  2.00000*ALGBRC(61))+ALGBRC(60))/( 2.00000*CONSTS(4))+ALGBRC(68)))+ALGBRC(66)+ALGBRC(70))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(12) = 1.00000/(1.00000+EXP((STATES(1)+18.6000)/10.1000))
      ALGBRC(3) = 1.00000/(1.00000+EXP(- STATES(1)/5.46000)) ** 1.00000/3.00000
      ALGBRC(19) = 0.000624700/( 0.832000*EXP( - 0.335000*(STATES(1)+56.7000))+ 0.627000*EXP( 0.0820000*(STATES(1)+65.0100)))+4.00000e-05
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+66.1000)/6.40000))
      ALGBRC(21) = ( 3.71700e-06*EXP( - 0.281500*(STATES(1)+17.1100)))/(1.00000+ 0.00373200*EXP( - 0.342600*(STATES(1)+37.7600)))+0.000597700
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+59.3700)/13.1000))
      ALGBRC(26) = 0.0101000+0.0651700/( 0.570000*EXP( - 0.0800000*(STATES(1)+49.0000)))+ 2.40000e-05*EXP( 0.100000*(STATES(1)+50.9300))
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 10.9300)/19.7000))
      ALGBRC(27) =  0.00100000*(2.98000+15.5900/( 1.03700*EXP( 0.0900000*(STATES(1)+30.6100))+ 0.369000*EXP( - 0.120000*(STATES(1)+23.8400))))
      ALGBRC(11) = 1.00000/(1.00000+EXP(- (STATES(1)+14.2000)/10.6000))
      ALGBRC(28) = 1.00000/( 37.2000*EXP((STATES(1) - 9.00000)/15.9000)+ 0.960000*EXP(- (STATES(1) - 9.00000)/22.5000))
      ALGBRC(13) = 14.0000/(1.00000+EXP(- (STATES(1) - 40.0000)/9.00000))
      ALGBRC(30) =  1.00000*EXP(- STATES(1)/45.0000)
      ALGBRC(14) =  1.00000*EXP(- (STATES(1)+78.9100)/26.6200)
      ALGBRC(31) =  1.00000*EXP((STATES(1)+75.1300)/21.2500)
      ALGBRC(20) = ALGBRC(4)
      ALGBRC(35) = ( 3.18600e-08*EXP( - 0.621900*(STATES(1)+18.8000)))/(1.00000+ 7.18900e-05*EXP( - 0.668300*(STATES(1)+34.0700)))+0.00355600
      ALGBRC(29) = ALGBRC(11)
      ALGBRC(40) = 1.00000/( 4.20000*EXP((STATES(1) - 9.00000)/17.0000)+ 0.150000*EXP(- (STATES(1) - 9.00000)/21.6000))
      ALGBRC(44) = 1.00000/(1.00000+EXP(- (STATES(1)+23.1000)/6.00000))
      ALGBRC(5) = ( - 28.3800*(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(22) = ( 11.4200*(STATES(1) - 5.00000))/(EXP( 0.400000*(STATES(1) - 5.00000)) - 1.00000)
      ALGBRC(36) = 2.00000/(ALGBRC(5)+ALGBRC(22))
      ALGBRC(45) = 1.00000/(1.00000+EXP((STATES(1)+45.0000)/5.00000))
      ALGBRC(6) = ( 3.12000*(STATES(1)+28.0000))/(EXP((STATES(1)+28.0000)/4.00000) - 1.00000)
      ALGBRC(23) = 25.0000/(1.00000+EXP(- (STATES(1)+28.0000)/4.00000))
      ALGBRC(37) = 1.00000/(ALGBRC(6)+ALGBRC(23))
      ALGBRC(46) = 1.00000/(1.00000+EXP(- (STATES(1)+37.0000)/6.80000))
      ALGBRC(7) =  1068.00*EXP((STATES(1)+26.3000)/30.0000)
      ALGBRC(24) =  1068.00*EXP(- (STATES(1)+26.3000)/30.0000)
      ALGBRC(38) = 1.00000/(ALGBRC(7)+ALGBRC(24))
      ALGBRC(47) = 1.00000/(1.00000+EXP((STATES(1)+71.0000)/9.00000))
      ALGBRC(8) =  15.3000*EXP(- (STATES(1)+71.7000)/83.3000)
      ALGBRC(25) =  15.0000*EXP((STATES(1)+71.7000)/15.3800)
      ALGBRC(39) = 1.00000/(ALGBRC(8)+ALGBRC(25))
      ALGBRC(15) = 1000.00/( 0.150000*EXP(- STATES(1)/11.0000)+ 0.200000*EXP(- STATES(1)/700.000))
      ALGBRC(32) = 1000.00/( 16.0000*EXP(STATES(1)/8.00000)+ 0.200000*EXP(STATES(1)/50.0000))
      ALGBRC(48) = ALGBRC(15)/(ALGBRC(15)+ALGBRC(32))
      ALGBRC(41) = 1.00000/(ALGBRC(15)+ALGBRC(32))
      ALGBRC(16) = 1000.00/( 3100.00*EXP(- STATES(1)/13.0000)+ 700.000*EXP(- STATES(1)/70.0000))
      ALGBRC(33) = 1000.00/( 16.0000*EXP(STATES(1)/8.00000)+ 0.200000*EXP(STATES(1)/50.0000))
      ALGBRC(49) = ALGBRC(16)/(ALGBRC(16)+ALGBRC(33))
      ALGBRC(42) = 1.00000/(ALGBRC(16)+ALGBRC(33))
      ALGBRC(1) = ( 0.0952000*EXP( - 0.0630000*(STATES(1)+34.4000)))/(1.00000+ 1.66000*EXP( - 0.225000*(STATES(1)+63.7000)))+0.0869000
      ALGBRC(18) =  (1.00000 - ALGBRC(1))*STATES(3)+ ALGBRC(1)*STATES(4)
      ALGBRC(34) =  (( (( CONSTS(73)*STATES(2) ** 3.00000*ALGBRC(18)*CONSTS(9)*CONSTS(4) ** 2.00000)/( CONSTS(2)*CONSTS(3)))*(EXP(( (STATES(1) - CONSTS(68))*CONSTS(4))/( CONSTS(2)*CONSTS(3))) - 1.00000))/(EXP(( STATES(1)*CONSTS(4))/( CONSTS(2)*CONSTS(3))) - 1.00000))*STATES(1)
      ALGBRC(43) =  CONSTS(74)*( STATES(6)*STATES(5)+0.00600000/(1.00000+EXP(- (STATES(1)+14.1000)/6.00000)))*(STATES(1) - CONSTS(12))
      ALGBRC(50) =  CONSTS(75)*STATES(7)*STATES(8)*(STATES(1) - CONSTS(15))
      ALGBRC(51) =  CONSTS(76)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(69))
      ALGBRC(52) =  CONSTS(77)*STATES(10)*(STATES(1) - CONSTS(69))
      ALGBRC(53) =  0.600000*STATES(11)+ 0.400000*STATES(12)
      ALGBRC(54) =  CONSTS(78)*ALGBRC(53)*STATES(13)*(STATES(1) - CONSTS(69))
      ALGBRC(55) =  CONSTS(79)*STATES(14) ** 2.00000*(STATES(1) - CONSTS(70))
      ALGBRC(56) =  CONSTS(80)*STATES(15)*(STATES(1) - CONSTS(68))
      ALGBRC(57) =  CONSTS(81)*STATES(15)*(STATES(1) - CONSTS(69))
      ALGBRC(58) =  CONSTS(82)*(STATES(1) - CONSTS(68))
      ALGBRC(60) =  CONSTS(84)*(STATES(1) - CONSTS(71))
      ALGBRC(59) =  CONSTS(83)*(STATES(1) - CONSTS(69))
      ALGBRC(61) = ( CONSTS(85)*( CONSTS(39) ** 3.00000*CONSTS(41)*EXP( 0.0374300*STATES(1)*CONSTS(38)) -  CONSTS(9) ** 3.00000*CONSTS(40)*EXP( 0.0374000*STATES(1)*(CONSTS(38) - 1.00000))))/(1.00000+ CONSTS(37)*( CONSTS(40)*CONSTS(9) ** 3.00000+ CONSTS(41)*CONSTS(39) ** 3.00000))
      ALGBRC(62) = ( CONSTS(86)*CONSTS(39)/(CONSTS(42)+CONSTS(39)) ** 3.00000*CONSTS(46)/(CONSTS(43)+CONSTS(46)) ** 2.00000*1.60000)/(1.50000+EXP(- (STATES(1)+60.0000)/40.0000))
      ALGBRC(64) =  CONSTS(49)*(STATES(19)/(STATES(19)+0.000400000))
      ALGBRC(66) =  CONSTS(64)*STATES(22)*(STATES(18) ** 2.00000/(CONSTS(56) ** 2.00000+STATES(18) ** 2.00000))*CONSTS(88)*STATES(21)
      ALGBRC(69) =  CONSTS(65)*CONSTS(87)*(STATES(20) - STATES(21))
      ALGBRC(68) =  CONSTS(51)*(STATES(19) ** 2.00000/(CONSTS(57) ** 2.00000+STATES(19) ** 2.00000))
      ALGBRC(70) =  CONSTS(63)*CONSTS(87)*STATES(20)
      ALGBRC(63) = 1.00000 - CONSTS(52)/(CONSTS(55)+STATES(18)+CONSTS(52))
      ALGBRC(65) =  CONSTS(61)*CONSTS(89)*(STATES(18) - STATES(19))
      ALGBRC(71) = ALGBRC(43)+ALGBRC(50)
      ALGBRC(67) = 1.00000 - CONSTS(53)/(CONSTS(55)+STATES(19)+CONSTS(53))
      ALGBRC(2) =  CONSTS(48)*STATES(16)*STATES(17)*(STATES(1) - 18.0000)
      ALGBRC(17) =  CONSTS(50)*(STATES(19)/(STATES(19)+0.000400000))
      RETURN
      END