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 80 entries in the algebraic variable array.
C There are a total of 38 entries in each of the rate and state variable arrays.
C There are a total of 65 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(1) is R in component membrane (joule_per_mole_kelvin).
C CONSTS(2) is T in component membrane (kelvin).
C CONSTS(3) is F in component membrane (coulomb_per_millimole).
C CONSTS(4) is Cm in component membrane (picoF).
C ALGBRC(14) is I_stim in component I_stim (picoA).
C ALGBRC(54) is i_Na in component sodium_current (picoA).
C ALGBRC(22) is i_Ca_L in component L_type_Ca_channel (picoA).
C ALGBRC(30) is i_Ca_T in component T_type_Ca_channel (picoA).
C ALGBRC(38) is i_Kv in component voltage_dep_K_channel (picoA).
C ALGBRC(46) is i_BK in component Calcium_voltage_activated_potassium_channel (picoA).
C ALGBRC(58) is i_NCX in component Na_Ca_exchanger (picoA).
C ALGBRC(61) is i_NaK in component sodium_potassium_pump (picoA).
C ALGBRC(73) is i_NsK in component non_specific_K_current (picoA).
C ALGBRC(67) is i_NsNa in component non_specific_Na_current (picoA).
C ALGBRC(9) is local_time in component I_stim (millisecond).
C CONSTS(5) is period in component I_stim (millisecond).
C ALGBRC(1) is stim_start in component I_stim (millisecond).
C CONSTS(6) is Gcouple in component I_stim (nanoS).
C CONSTS(7) is t_ICCpeak in component I_stim (millisecond).
C CONSTS(8) is t_ICCplateau in component I_stim (millisecond).
C CONSTS(9) is t_slope in component I_stim (millisecond).
C CONSTS(10) is f_1 in component I_stim (millisecond).
C CONSTS(11) is f_2 in component I_stim (millisecond).
C CONSTS(12) is V_ICCrest in component I_stim (millivolt).
C CONSTS(13) is V_ICCamp in component I_stim (millivolt).
C ALGBRC(18) is E_Ca in component L_type_Ca_channel (millivolt).
C CONSTS(14) is g_CaL in component L_type_Ca_channel (nanoS).
C CONSTS(15) is Cao in component ionic_concentrations (millimolar).
C STATES(2) is Cai in component ionic_concentrations (millimolar).
C STATES(3) is O_CaL in component L_type_Ca_channel_states (dimensionless).
C STATES(4) is C0 in component L_type_Ca_channel_states (dimensionless).
C STATES(5) is C1 in component L_type_Ca_channel_states (dimensionless).
C STATES(6) is C2 in component L_type_Ca_channel_states (dimensionless).
C STATES(7) is C3 in component L_type_Ca_channel_states (dimensionless).
C STATES(8) is C0Ca in component L_type_Ca_channel_states (dimensionless).
C STATES(9) is C1Ca in component L_type_Ca_channel_states (dimensionless).
C STATES(10) is C2Ca in component L_type_Ca_channel_states (dimensionless).
C STATES(11) is C3Ca in component L_type_Ca_channel_states (dimensionless).
C STATES(12) is ICa in component L_type_Ca_channel_states (dimensionless).
C STATES(13) is IVs in component L_type_Ca_channel_states (dimensionless).
C STATES(14) is IVf in component L_type_Ca_channel_states (dimensionless).
C STATES(15) is IVfCa in component L_type_Ca_channel_states (dimensionless).
C STATES(16) is IVsCa in component L_type_Ca_channel_states (dimensionless).
C ALGBRC(2) is alpha in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(10) is beta in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(15) is alpha_0 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(19) is alpha_1 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(23) is alpha_2 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(27) is alpha_3 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(31) is beta_0 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(35) is beta_1 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(39) is beta_2 in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(43) is beta_3 in component L_type_Ca_channel_states (per_millisecond).
C CONSTS(54) is delta in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(78) is theta in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(51) is phi_s in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(47) is phi_f in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(71) is omega_s in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(68) is omega_f in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(76) is omega_fs in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(74) is omega_sf in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(65) is psi_s in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(62) is psi_f in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(59) is xi_s in component L_type_Ca_channel_states (per_millisecond).
C ALGBRC(55) is xi_f in component L_type_Ca_channel_states (per_millisecond).
C CONSTS(45) is T_correction_Ca in component L_type_Ca_channel_states (dimensionless).
C CONSTS(16) is Q10Ca in component L_type_Ca_channel_states (dimensionless).
C ALGBRC(80) is norm in component L_type_Ca_channel_states (dimensionless).
C CONSTS(17) is g_CaT in component T_type_Ca_channel (nanoS).
C ALGBRC(26) is E_Ca in component T_type_Ca_channel (millivolt).
C STATES(17) is d_CaT in component T_type_Ca_channel_d_gate (dimensionless).
C STATES(18) is f_CaT in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(3) is d_CaT_inf in component T_type_Ca_channel_d_gate (dimensionless).
C CONSTS(55) is tau_d_CaT in component T_type_Ca_channel_d_gate (millisecond).
C CONSTS(46) is T_correction_Ca in component T_type_Ca_channel_d_gate (dimensionless).
C CONSTS(18) is Q10Ca in component T_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(4) is f_CaT_inf in component T_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(11) is tau_f_CaT in component T_type_Ca_channel_f_gate (millisecond).
C CONSTS(47) is T_correction_Ca in component T_type_Ca_channel_f_gate (dimensionless).
C CONSTS(19) is Q10Ca in component T_type_Ca_channel_f_gate (dimensionless).
C CONSTS(20) is g_Kv in component voltage_dep_K_channel (nanoS).
C ALGBRC(34) is E_K in component voltage_dep_K_channel (millivolt).
C STATES(19) is x_Kv in component voltage_dep_K_channel_x_gate (dimensionless).
C STATES(20) is y_Kv in component voltage_dep_K_channel_y_gate (dimensionless).
C CONSTS(21) is Ko in component ionic_concentrations (millimolar).
C STATES(21) is Ki in component ionic_concentrations (millimolar).
C ALGBRC(5) is x_Kv_inf in component voltage_dep_K_channel_x_gate (dimensionless).
C CONSTS(56) is tau_x_Kv in component voltage_dep_K_channel_x_gate (millisecond).
C CONSTS(48) is T_correction_K in component voltage_dep_K_channel_x_gate (dimensionless).
C CONSTS(22) is Q10K in component voltage_dep_K_channel_x_gate (dimensionless).
C ALGBRC(6) is y_Kv_inf in component voltage_dep_K_channel_y_gate (dimensionless).
C CONSTS(57) is tau_y_Kv in component voltage_dep_K_channel_y_gate (millisecond).
C CONSTS(49) is T_correction_K in component voltage_dep_K_channel_y_gate (dimensionless).
C CONSTS(23) is Q10K in component voltage_dep_K_channel_y_gate (dimensionless).
C ALGBRC(42) is E_K in component Calcium_voltage_activated_potassium_channel (millivolt).
C CONSTS(24) is g_BK in component Calcium_voltage_activated_potassium_channel (nanoS).
C STATES(22) is O4 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(23) is C0 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(24) is C1 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(25) is C2 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(26) is C3 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(27) is C4 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(28) is O0 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(29) is O1 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(30) is O2 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C STATES(31) is O3 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C ALGBRC(7) is alpha in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(12) is beta in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(50) is k_on in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(51) is k_off_C in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(52) is k_off_O in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(16) is k_C0O0 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(20) is k_C1O1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(24) is k_C2O2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(28) is k_C3O3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(32) is k_C4O4 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(36) is k_O0C0 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(40) is k_O1C1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(44) is k_O2C2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(48) is k_O3C3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(52) is k_O4C4 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(56) is k_C0C1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(60) is k_C1C2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(63) is k_C2C3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(66) is k_C3C4 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(58) is k_C4C3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(59) is k_C3C2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(60) is k_C2C1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(61) is k_C1C0 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(69) is k_O0O1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(72) is k_O1O2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(75) is k_O2O3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(77) is k_O3O4 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(62) is k_O4O3 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(63) is k_O3O2 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(64) is k_O2O1 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C CONSTS(65) is k_O1O0 in component Calcium_voltage_activated_potassium_channel_states (per_millisecond).
C ALGBRC(79) is norm in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C ALGBRC(50) is E_Na in component sodium_current (millivolt).
C CONSTS(25) is g_Na in component sodium_current (nanoS).
C CONSTS(26) is Nao in component ionic_concentrations (millimolar).
C STATES(32) is Nai in component ionic_concentrations (millimolar).
C STATES(33) is O_Na in component Na_channel_states (dimensionless).
C STATES(34) is C1 in component Na_channel_states (dimensionless).
C STATES(35) is C2 in component Na_channel_states (dimensionless).
C STATES(36) is C3 in component Na_channel_states (dimensionless).
C STATES(37) is I1 in component Na_channel_states (dimensionless).
C STATES(38) is I2 in component Na_channel_states (dimensionless).
C ALGBRC(8) is k_I2I1 in component Na_channel_states (per_millisecond).
C ALGBRC(13) is k_I1O in component Na_channel_states (per_millisecond).
C ALGBRC(17) is k_OC1 in component Na_channel_states (per_millisecond).
C ALGBRC(21) is k_C1C2 in component Na_channel_states (per_millisecond).
C ALGBRC(25) is k_C2C3 in component Na_channel_states (per_millisecond).
C ALGBRC(29) is k_C3C2 in component Na_channel_states (per_millisecond).
C ALGBRC(33) is k_C2C1 in component Na_channel_states (per_millisecond).
C ALGBRC(37) is k_C1O in component Na_channel_states (per_millisecond).
C ALGBRC(41) is k_OI1 in component Na_channel_states (per_millisecond).
C ALGBRC(45) is k_I1I2 in component Na_channel_states (per_millisecond).
C ALGBRC(49) is k_I1C1 in component Na_channel_states (per_millisecond).
C ALGBRC(53) is k_C1I1 in component Na_channel_states (per_millisecond).
C ALGBRC(57) is norm in component Na_channel_states (dimensionless).
C CONSTS(53) is T_correction_Na in component Na_channel_states (dimensionless).
C CONSTS(27) is Q10Na in component Na_channel_states (dimensionless).
C CONSTS(28) is P_NCX in component Na_Ca_exchanger (picoA).
C CONSTS(29) is K_mCa in component Na_Ca_exchanger (millimolar).
C CONSTS(30) is K_mNai in component Na_Ca_exchanger (millimolar).
C CONSTS(31) is k_sat in component Na_Ca_exchanger (dimensionless).
C CONSTS(32) is gamma in component Na_Ca_exchanger (dimensionless).
C CONSTS(33) is P_NaK in component sodium_potassium_pump (picoA).
C CONSTS(34) is K_mK in component sodium_potassium_pump (millimolar).
C CONSTS(35) is K_mNa in component sodium_potassium_pump (millimolar).
C CONSTS(36) is g_NsNa in component non_specific_Na_current (nanoS).
C ALGBRC(64) is E_Na in component non_specific_Na_current (millivolt).
C CONSTS(37) is g_NsK in component non_specific_K_current (nanoS).
C ALGBRC(70) is E_K in component non_specific_K_current (millivolt).
C CONSTS(38) is CRT_total in component ionic_concentrations (millimolar).
C CONSTS(39) is CaM_total in component ionic_concentrations (millimolar).
C CONSTS(40) is K_D_CRT in component ionic_concentrations (millimolar).
C CONSTS(41) is K_D_CaM in component ionic_concentrations (millimolar4).
C CONSTS(42) is n_CRT in component ionic_concentrations (dimensionless).
C CONSTS(43) is n_CaM in component ionic_concentrations (dimensionless).
C CONSTS(44) is V_myo in component ionic_concentrations (litre).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(7) is d/dt C3 in component L_type_Ca_channel_states (dimensionless).
C RATES(6) is d/dt C2 in component L_type_Ca_channel_states (dimensionless).
C RATES(5) is d/dt C1 in component L_type_Ca_channel_states (dimensionless).
C RATES(4) is d/dt C0 in component L_type_Ca_channel_states (dimensionless).
C RATES(11) is d/dt C3Ca in component L_type_Ca_channel_states (dimensionless).
C RATES(10) is d/dt C2Ca in component L_type_Ca_channel_states (dimensionless).
C RATES(9) is d/dt C1Ca in component L_type_Ca_channel_states (dimensionless).
C RATES(8) is d/dt C0Ca in component L_type_Ca_channel_states (dimensionless).
C RATES(3) is d/dt O_CaL in component L_type_Ca_channel_states (dimensionless).
C RATES(12) is d/dt ICa in component L_type_Ca_channel_states (dimensionless).
C RATES(13) is d/dt IVs in component L_type_Ca_channel_states (dimensionless).
C RATES(14) is d/dt IVf in component L_type_Ca_channel_states (dimensionless).
C RATES(16) is d/dt IVsCa in component L_type_Ca_channel_states (dimensionless).
C RATES(15) is d/dt IVfCa in component L_type_Ca_channel_states (dimensionless).
C RATES(17) is d/dt d_CaT in component T_type_Ca_channel_d_gate (dimensionless).
C RATES(18) is d/dt f_CaT in component T_type_Ca_channel_f_gate (dimensionless).
C RATES(19) is d/dt x_Kv in component voltage_dep_K_channel_x_gate (dimensionless).
C RATES(20) is d/dt y_Kv in component voltage_dep_K_channel_y_gate (dimensionless).
C RATES(27) is d/dt C4 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(26) is d/dt C3 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(25) is d/dt C2 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(24) is d/dt C1 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(23) is d/dt C0 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(22) is d/dt O4 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(31) is d/dt O3 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(30) is d/dt O2 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(29) is d/dt O1 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(28) is d/dt O0 in component Calcium_voltage_activated_potassium_channel_states (dimensionless).
C RATES(36) is d/dt C3 in component Na_channel_states (dimensionless).
C RATES(35) is d/dt C2 in component Na_channel_states (dimensionless).
C RATES(34) is d/dt C1 in component Na_channel_states (dimensionless).
C RATES(33) is d/dt O_Na in component Na_channel_states (dimensionless).
C RATES(38) is d/dt I2 in component Na_channel_states (dimensionless).
C RATES(37) is d/dt I1 in component Na_channel_states (dimensionless).
C RATES(32) is d/dt Nai in component ionic_concentrations (millimolar).
C RATES(21) is d/dt Ki in component ionic_concentrations (millimolar).
C RATES(2) is d/dt Cai in component ionic_concentrations (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -73.5049651455872
      CONSTS(1) = 8.314
      CONSTS(2) = 310
      CONSTS(3) = 96.48534
      CONSTS(4) = 50
      CONSTS(5) = 10000
      CONSTS(6) = 2.6
      CONSTS(7) = 300
      CONSTS(8) = 9700
      CONSTS(9) = 600
      CONSTS(10) = 12000
      CONSTS(11) = 300
      CONSTS(12) = -57
      CONSTS(13) = 33.5
      CONSTS(14) = 1.44
      CONSTS(15) = 2
      STATES(2) = 5.38843941249284e-5
      STATES(3) = 3.88576045134351e-6
      STATES(4) = 0.815464741971086
      STATES(5) = 0.152399266235657
      STATES(6) = 0.0106805060777161
      STATES(7) = 0.000332673548872087
      STATES(8) = 0.0175888495282545
      STATES(9) = 0.00328711668724504
      STATES(10) = 0.000230369020877669
      STATES(11) = 7.1754726923539e-6
      STATES(12) = 8.38123983500905e-8
      STATES(13) = 1.1193313274705e-6
      STATES(14) = 4.0998751301597e-6
      STATES(15) = 8.84306615061238e-8
      STATES(16) = 2.41429816075123e-8
      CONSTS(16) = 2.1
      CONSTS(17) = 0.0425
      STATES(17) = 0.0791635737410974
      STATES(18) = 0.377831534375835
      CONSTS(18) = 2.1
      CONSTS(19) = 2.1
      CONSTS(20) = 1.0217
      STATES(19) = 0.14714161078933
      STATES(20) = 0.99994773314105
      CONSTS(21) = 5.4
      STATES(21) = 153.604280337996
      CONSTS(22) = 3.1
      CONSTS(23) = 3.1
      CONSTS(24) = 80
      STATES(22) = 1.82113764497095e-6
      STATES(23) = 0.48379087935899
      STATES(24) = 0.385183559520031
      STATES(25) = 0.115002824567753
      STATES(26) = 0.0152602714149774
      STATES(27) = 0.000759264410974374
      STATES(28) = 6.94960798375172e-7
      STATES(29) = 5.55636826398253e-8
      STATES(30) = 2.85143702125325e-8
      STATES(31) = 1.59832806123435e-6
      CONSTS(25) = 25.1
      CONSTS(26) = 140
      STATES(32) = 10.5731241425458
      STATES(33) = 1.96760342050475e-6
      STATES(34) = 0.0119443135223679
      STATES(35) = 0.0109545368437155
      STATES(36) = 0.973782548650071
      STATES(37) = 0.000126882921013389
      STATES(38) = 0.00318975045717667
      CONSTS(27) = 2.45
      CONSTS(28) = 1992.335
      CONSTS(29) = 1.38
      CONSTS(30) = 87.5
      CONSTS(31) = 0.1
      CONSTS(32) = 0.35
      CONSTS(33) = 9.26
      CONSTS(34) = 1
      CONSTS(35) = 40
      CONSTS(36) = 0.022488
      CONSTS(37) = 0.017512
      CONSTS(38) = 0.034
      CONSTS(39) = 0.012
      CONSTS(40) = 0.0009
      CONSTS(41) = 0.0001
      CONSTS(42) = 1
      CONSTS(43) = 4
      CONSTS(44) = 3.50000e-12
      CONSTS(45) = CONSTS(16) ** (CONSTS(2) - 310.000)/10.0000
      CONSTS(46) = CONSTS(18) ** (CONSTS(2) - 297.000)/10.0000
      CONSTS(47) = CONSTS(19) ** (CONSTS(2) - 297.000)/10.0000
      CONSTS(48) = CONSTS(22) ** (CONSTS(2) - 297.000)/10.0000
      CONSTS(49) = CONSTS(23) ** (CONSTS(2) - 297.000)/10.0000
      CONSTS(50) = 40633.0
      CONSTS(51) = 11.0000
      CONSTS(52) = 1.10000
      CONSTS(53) =  1.00000*CONSTS(27) ** (CONSTS(2) - 297.000)/10.0000
      CONSTS(54) =  CONSTS(45)*0.0100000
      CONSTS(55) = 1.90580/CONSTS(46)
      CONSTS(56) = 4.78030/CONSTS(48)
      CONSTS(57) = 763.756/CONSTS(49)
      CONSTS(58) =  4.00000*CONSTS(51)
      CONSTS(59) =  3.00000*CONSTS(51)
      CONSTS(60) =  2.00000*CONSTS(51)
      CONSTS(61) =  1.00000*CONSTS(51)
      CONSTS(62) =  4.00000*CONSTS(52)
      CONSTS(63) =  3.00000*CONSTS(52)
      CONSTS(64) =  2.00000*CONSTS(52)
      CONSTS(65) =  1.00000*CONSTS(52)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = 1.00000/(1.00000+EXP(- (STATES(1)+60.5000)/5.30000))
      RATES(17) = (ALGBRC(3) - STATES(17))/CONSTS(55)
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+43.0000)/17.3600))
      RATES(19) = (ALGBRC(5) - STATES(19))/CONSTS(56)
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1) - 44.9000)/12.0096))
      RATES(20) = (ALGBRC(6) - STATES(20))/CONSTS(57)
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+75.5000)/4.00000))
      ALGBRC(11) = ( 0.381170*(8.60000+ 14.7000*EXP(( - (STATES(1)+50.0000)*(STATES(1)+50.0000))/900.000)))/CONSTS(47)
      RATES(18) = (ALGBRC(4) - STATES(18))/ALGBRC(11)
      ALGBRC(25) =  CONSTS(53)*0.554320*EXP(- 0.0990740+ 0.0364410*STATES(1))
      ALGBRC(29) =  CONSTS(53)*0.000525480*EXP(- 0.0691020+ 0.00319450*STATES(1))
      ALGBRC(57) = STATES(33)+STATES(34)+STATES(35)+STATES(36)+STATES(37)+STATES(38)
      RATES(36) = ( - ALGBRC(29)*STATES(36))/ALGBRC(57)+( ALGBRC(25)*STATES(35))/ALGBRC(57)
      ALGBRC(21) =  CONSTS(53)*3.15660*EXP(0.363520+ 0.0771930*STATES(1))
      ALGBRC(33) =  CONSTS(53)*1.44960*EXP(- 0.156600+ 0.0583530*STATES(1))
      RATES(35) = ( - (ALGBRC(33)+ALGBRC(25))*STATES(35))/ALGBRC(57)+( ALGBRC(21)*STATES(34))/ALGBRC(57)+( ALGBRC(29)*STATES(36))/ALGBRC(57)
      ALGBRC(17) =  CONSTS(53)*2.39100*EXP(- 13.3350 -  0.252890*STATES(1))
      ALGBRC(37) =  CONSTS(53)*1.53290*EXP(0.00931930+ 0.0410750*STATES(1))
      ALGBRC(49) =  CONSTS(53)*1.90460*EXP(- 2.48400+ 0.0204060*STATES(1))
      ALGBRC(53) =  CONSTS(53)*0.000216880*EXP(- 0.0634380+ 0.00466830*STATES(1))
      RATES(34) = ( - (ALGBRC(21)+ALGBRC(37)+ALGBRC(53))*STATES(34))/ALGBRC(57)+( ALGBRC(17)*STATES(33))/ALGBRC(57)+( ALGBRC(33)*STATES(35))/ALGBRC(57)+( ALGBRC(49)*STATES(37))/ALGBRC(57)
      ALGBRC(13) =  CONSTS(53)*0.120520*EXP(- 9.60280+ 0.0830250*STATES(1))
      ALGBRC(41) =  CONSTS(53)*1.61640*EXP(0.307630+ 0.00605350*STATES(1))
      RATES(33) = ( - (ALGBRC(17)+ALGBRC(41))*STATES(33))/ALGBRC(57)+( ALGBRC(37)*STATES(34))/ALGBRC(57)+( ALGBRC(13)*STATES(37))/ALGBRC(57)
      ALGBRC(8) =  CONSTS(53)*0.00392390*EXP(2.67930+ 0.00614680*STATES(1))
      ALGBRC(45) =  CONSTS(53)*0.0277350*EXP(0.0514900 -  0.0468650*STATES(1))
      RATES(38) = ( - ALGBRC(8)*STATES(38))/ALGBRC(57)+( ALGBRC(45)*STATES(37))/ALGBRC(57)
      RATES(37) = ( - (ALGBRC(13)+ALGBRC(45)+ALGBRC(49))*STATES(37))/ALGBRC(57)+( ALGBRC(8)*STATES(38))/ALGBRC(57)+( ALGBRC(53)*STATES(34))/ALGBRC(57)+( ALGBRC(41)*STATES(33))/ALGBRC(57)
      ALGBRC(18) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(15)/STATES(2))
      ALGBRC(22) =  CONSTS(14)*STATES(3)*(STATES(1) - ALGBRC(18))
      ALGBRC(26) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(15)/STATES(2))
      ALGBRC(30) =  CONSTS(17)*STATES(17)*STATES(18)*(STATES(1) - ALGBRC(26))
      ALGBRC(58) = ( CONSTS(28)*( EXP(( CONSTS(32)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(32) ** 3.00000*CONSTS(15) -  2.50000*EXP(( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*CONSTS(26) ** 3.00000*STATES(2)))/( (CONSTS(30) ** 3.00000+CONSTS(26) ** 3.00000)*(CONSTS(29)+CONSTS(15))*(1.00000+ CONSTS(31)*EXP(( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      RATES(2) = (( - 1.00000e-15*((ALGBRC(22)+ALGBRC(30)) -  ALGBRC(58)*2.00000))/( 2.00000*CONSTS(44)*CONSTS(3)))/(1.00000+( CONSTS(42)*CONSTS(38)*CONSTS(40)*STATES(2) ** CONSTS(42) - 1.00000)/STATES(2) ** CONSTS(42)+CONSTS(40) ** 2.00000+( CONSTS(43)*CONSTS(39)*CONSTS(41)*STATES(2) ** CONSTS(43) - 1.00000)/STATES(2) ** CONSTS(43)+CONSTS(41) ** 2.00000)
      ALGBRC(50) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(26)/STATES(32))
      ALGBRC(54) =  CONSTS(25)*STATES(33)*(STATES(1) - ALGBRC(50))
      ALGBRC(61) = ( CONSTS(33)*CONSTS(21)*STATES(32))/( (CONSTS(21)+CONSTS(34))*(CONSTS(35)+STATES(32))*(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0353000*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(64) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(26)/STATES(32))
      ALGBRC(67) =  CONSTS(36)*(STATES(1) - ALGBRC(64))
      RATES(32) = ( (- 1.00000/1.00000e+15)*(ALGBRC(54)+ALGBRC(67)+ ALGBRC(58)*3.00000+ ALGBRC(61)*3.00000))/( CONSTS(44)*CONSTS(3))
      ALGBRC(1) = TERNRY(VOI.GE. CONSTS(5)*0.00000.AND.VOI.LE. CONSTS(5)*1.00000,  CONSTS(5)*0.00000, TERNRY(VOI.GE. CONSTS(5)*1.00000.AND.VOI.LE. CONSTS(5)*2.00000,  CONSTS(5)*1.00000, TERNRY(VOI.GE. CONSTS(5)*2.00000.AND.VOI.LT. CONSTS(5)*3.00000,  CONSTS(5)*2.00000, TERNRY(VOI.GE. CONSTS(5)*3.00000.AND.VOI.LT. CONSTS(5)*4.00000,  CONSTS(5)*3.00000, 0.00000)
      ALGBRC(9) = VOI - ALGBRC(1)
      ALGBRC(14) = TERNRY(ALGBRC(9).LT.CONSTS(7),  CONSTS(6)*(STATES(1) - (CONSTS(12)+( CONSTS(13)*ALGBRC(9))/CONSTS(11))),  CONSTS(6)*(STATES(1) - (CONSTS(12)+( CONSTS(13)*(1.00000+EXP(- CONSTS(10)/( 2.00000*CONSTS(9))))*1.00000)/(1.00000+EXP(((ALGBRC(9) - CONSTS(11)) -  0.500000*CONSTS(10))/CONSTS(9))))))
      ALGBRC(34) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(38) =  CONSTS(20)*STATES(19)*STATES(20)*(STATES(1) - ALGBRC(34))
      ALGBRC(42) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(46) =  CONSTS(24)*STATES(22)*(STATES(1) - ALGBRC(42))
      ALGBRC(70) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(73) =  CONSTS(37)*(STATES(1) - ALGBRC(70))
      RATES(1) =  (- 1.00000/CONSTS(4))*(ALGBRC(54)+ALGBRC(22)+ALGBRC(30)+ALGBRC(38)+ALGBRC(46)+ALGBRC(58)+ALGBRC(61)+ALGBRC(73)+ALGBRC(67)+ALGBRC(14))
      RATES(21) = ( - 1.00000e-15*((ALGBRC(38)+ALGBRC(46)+ALGBRC(73)+ALGBRC(14)) -  ALGBRC(61)*2.00000))/( CONSTS(44)*CONSTS(3))
      ALGBRC(7) =  1.00000*EXP(( 8.47188*STATES(1))/( 1.00000*CONSTS(2)))
      ALGBRC(32) =  0.0443240*ALGBRC(7)
      ALGBRC(12) =  1.00000*EXP(( - 7.77556*STATES(1))/( 1.00000*CONSTS(2)))
      ALGBRC(52) =  0.000106000*ALGBRC(12)
      ALGBRC(66) =  1.00000*CONSTS(50)*STATES(2)
      ALGBRC(79) = STATES(23)+STATES(24)+STATES(25)+STATES(26)+STATES(27)+STATES(28)+STATES(29)+STATES(30)+STATES(31)+STATES(22)
      RATES(27) = ( - (CONSTS(58)+ALGBRC(32))*STATES(27))/ALGBRC(79)+( ALGBRC(66)*STATES(26))/ALGBRC(79)+( ALGBRC(52)*STATES(22))/ALGBRC(79)
      ALGBRC(28) =  0.000781000*ALGBRC(7)
      ALGBRC(48) =  0.0953120*ALGBRC(12)
      ALGBRC(63) =  2.00000*CONSTS(50)*STATES(2)
      RATES(26) = ( - (CONSTS(59)+ALGBRC(28)+ALGBRC(66))*STATES(26))/ALGBRC(79)+( ALGBRC(63)*STATES(25))/ALGBRC(79)+( ALGBRC(48)*STATES(31))/ALGBRC(79)+( CONSTS(58)*STATES(27))/ALGBRC(79)
      ALGBRC(24) =  2.81000e-05*ALGBRC(7)
      ALGBRC(44) =  32.6594*ALGBRC(12)
      ALGBRC(60) =  3.00000*CONSTS(50)*STATES(2)
      RATES(25) = ( - (CONSTS(60)+ALGBRC(24)+ALGBRC(63))*STATES(25))/ALGBRC(79)+( ALGBRC(60)*STATES(24))/ALGBRC(79)+( ALGBRC(44)*STATES(30))/ALGBRC(79)+( CONSTS(59)*STATES(26))/ALGBRC(79)
      ALGBRC(20) =  0.000869000*ALGBRC(7)
      ALGBRC(40) =  144.174*ALGBRC(12)
      ALGBRC(56) =  4.00000*CONSTS(50)*STATES(2)
      RATES(24) = ( - (CONSTS(61)+ALGBRC(20)+ALGBRC(60))*STATES(24))/ALGBRC(79)+( ALGBRC(56)*STATES(23))/ALGBRC(79)+( ALGBRC(40)*STATES(29))/ALGBRC(79)+( CONSTS(60)*STATES(25))/ALGBRC(79)
      ALGBRC(16) =  0.0216200*ALGBRC(7)
      ALGBRC(36) =  318.108*ALGBRC(12)
      RATES(23) = ( - (ALGBRC(56)+ALGBRC(16))*STATES(23))/ALGBRC(79)+( CONSTS(61)*STATES(24))/ALGBRC(79)+( ALGBRC(36)*STATES(28))/ALGBRC(79)
      ALGBRC(77) =  1.00000*CONSTS(50)*STATES(2)
      RATES(22) = ( - (CONSTS(62)+ALGBRC(52))*STATES(22))/ALGBRC(79)+( ALGBRC(77)*STATES(31))/ALGBRC(79)+( ALGBRC(32)*STATES(27))/ALGBRC(79)
      ALGBRC(75) =  2.00000*CONSTS(50)*STATES(2)
      RATES(31) = ( - (CONSTS(63)+ALGBRC(48)+ALGBRC(77))*STATES(31))/ALGBRC(79)+( ALGBRC(75)*STATES(30))/ALGBRC(79)+( ALGBRC(28)*STATES(26))/ALGBRC(79)+( CONSTS(62)*STATES(22))/ALGBRC(79)
      ALGBRC(72) =  3.00000*CONSTS(50)*STATES(2)
      RATES(30) = ( - (CONSTS(64)+ALGBRC(44)+ALGBRC(75))*STATES(30))/ALGBRC(79)+( ALGBRC(72)*STATES(29))/ALGBRC(79)+( ALGBRC(24)*STATES(25))/ALGBRC(79)+( CONSTS(63)*STATES(31))/ALGBRC(79)
      ALGBRC(69) =  4.00000*CONSTS(50)*STATES(2)
      RATES(29) = ( - (CONSTS(65)+ALGBRC(40)+ALGBRC(72))*STATES(29))/ALGBRC(79)+( ALGBRC(69)*STATES(28))/ALGBRC(79)+( ALGBRC(20)*STATES(24))/ALGBRC(79)+( CONSTS(64)*STATES(30))/ALGBRC(79)
      RATES(28) = ( - (ALGBRC(69)+ALGBRC(36))*STATES(28))/ALGBRC(79)+( CONSTS(65)*STATES(29))/ALGBRC(79)+( ALGBRC(16)*STATES(23))/ALGBRC(79)
      ALGBRC(2) =  CONSTS(45)*0.731000*EXP(STATES(1)/30.0000)
      ALGBRC(23) =  2.00000*ALGBRC(2)
      ALGBRC(27) =  1.00000*ALGBRC(2)
      ALGBRC(10) =  CONSTS(45)*0.214900*EXP(- STATES(1)/40.0000)
      ALGBRC(39) =  3.00000*ALGBRC(10)
      ALGBRC(43) =  4.00000*ALGBRC(10)
      ALGBRC(78) = ( CONSTS(45)*4.00000)/(1.00000+1.00000/STATES(2))
      ALGBRC(51) =  CONSTS(45)*0.0595600*EXP(- STATES(1)/40.0000)
      ALGBRC(47) =  CONSTS(45)*0.474200*EXP(STATES(1)/10.0000)
      ALGBRC(65) =  CONSTS(45)*0.00232000*EXP(- STATES(1)/280.000)
      ALGBRC(59) =  CONSTS(45)*0.0121300*EXP(STATES(1)/500.000)
      ALGBRC(71) = ( ALGBRC(43)*ALGBRC(59)*ALGBRC(51))/( ALGBRC(27)*ALGBRC(65))
      ALGBRC(62) =  CONSTS(45)*0.0219700*EXP(STATES(1)/500.000)
      ALGBRC(55) =  CONSTS(45)*0.0140700*EXP(- STATES(1)/300.000)
      ALGBRC(68) = ( ALGBRC(43)*ALGBRC(55)*ALGBRC(47))/( ALGBRC(27)*ALGBRC(62))
      ALGBRC(80) = STATES(7)+STATES(6)+STATES(5)+STATES(4)+STATES(11)+STATES(10)+STATES(9)+STATES(8)+STATES(3)+STATES(12)+STATES(13)+STATES(14)+STATES(16)+STATES(15)
      RATES(7) = (( ALGBRC(23)*STATES(6))/ALGBRC(80) - ( (ALGBRC(27)+ALGBRC(39)+ALGBRC(51)+ALGBRC(47)+ALGBRC(78))*STATES(7))/ALGBRC(80))+( ALGBRC(43)*STATES(3))/ALGBRC(80)+( ALGBRC(68)*STATES(14))/ALGBRC(80)+( ALGBRC(71)*STATES(13))/ALGBRC(80)+( CONSTS(54)*STATES(11))/ALGBRC(80)
      ALGBRC(19) =  3.00000*ALGBRC(2)
      ALGBRC(35) =  2.00000*ALGBRC(10)
      RATES(6) = (( ALGBRC(19)*STATES(5))/ALGBRC(80) - ( (ALGBRC(23)+ALGBRC(35)+ALGBRC(78))*STATES(6))/ALGBRC(80))+( ALGBRC(39)*STATES(7))/ALGBRC(80)+( CONSTS(54)*STATES(10))/ALGBRC(80)
      ALGBRC(15) =  4.00000*ALGBRC(2)
      ALGBRC(31) =  1.00000*ALGBRC(10)
      RATES(5) = (( ALGBRC(15)*STATES(4))/ALGBRC(80) - ( (ALGBRC(19)+ALGBRC(31)+ALGBRC(78))*STATES(5))/ALGBRC(80))+( ALGBRC(35)*STATES(6))/ALGBRC(80)+( CONSTS(54)*STATES(9))/ALGBRC(80)
      RATES(4) = ( - (ALGBRC(15)+ALGBRC(78))*STATES(4))/ALGBRC(80)+( ALGBRC(31)*STATES(5))/ALGBRC(80)+( CONSTS(54)*STATES(8))/ALGBRC(80)
      RATES(11) = ((( ALGBRC(78)*STATES(7))/ALGBRC(80)+( ALGBRC(23)*STATES(10))/ALGBRC(80)) - ( (ALGBRC(27)+ALGBRC(39)+ALGBRC(47)+ALGBRC(51)+CONSTS(54))*STATES(11))/ALGBRC(80))+( ALGBRC(43)*STATES(12))/ALGBRC(80)+( ALGBRC(68)*STATES(15))/ALGBRC(80)+( ALGBRC(71)*STATES(16))/ALGBRC(80)
      RATES(10) = ((( ALGBRC(78)*STATES(6))/ALGBRC(80)+( ALGBRC(19)*STATES(9))/ALGBRC(80)) - ( (ALGBRC(23)+ALGBRC(35)+CONSTS(54))*STATES(10))/ALGBRC(80))+( ALGBRC(39)*STATES(11))/ALGBRC(80)
      RATES(9) = ((( ALGBRC(78)*STATES(5))/ALGBRC(80)+( ALGBRC(15)*STATES(8))/ALGBRC(80)) - ( (ALGBRC(19)+ALGBRC(31)+CONSTS(54))*STATES(9))/ALGBRC(80))+( ALGBRC(35)*STATES(10))/ALGBRC(80)
      RATES(8) = (( ALGBRC(78)*STATES(4))/ALGBRC(80) - ( (ALGBRC(15)+CONSTS(54))*STATES(8))/ALGBRC(80))+( ALGBRC(31)*STATES(9))/ALGBRC(80)
      RATES(3) = (( ALGBRC(27)*STATES(7))/ALGBRC(80) - ( (ALGBRC(43)+ALGBRC(62)+ALGBRC(65)+ALGBRC(78))*STATES(3))/ALGBRC(80))+( ALGBRC(55)*STATES(14))/ALGBRC(80)+( ALGBRC(59)*STATES(13))/ALGBRC(80)+( CONSTS(54)*STATES(12))/ALGBRC(80)
      RATES(12) = ((( ALGBRC(78)*STATES(3))/ALGBRC(80)+( ALGBRC(27)*STATES(11))/ALGBRC(80)) - ( (ALGBRC(43)+ALGBRC(62)+ALGBRC(65)+CONSTS(54))*STATES(12))/ALGBRC(80))+( ALGBRC(55)*STATES(15))/ALGBRC(80)+( ALGBRC(59)*STATES(16))/ALGBRC(80)
      ALGBRC(76) = ALGBRC(65)
      ALGBRC(74) = ( ALGBRC(59)*ALGBRC(62))/ALGBRC(55)
      RATES(13) = ((( ALGBRC(51)*STATES(7))/ALGBRC(80)+( ALGBRC(65)*STATES(3))/ALGBRC(80)+( ALGBRC(76)*STATES(14))/ALGBRC(80)) - ( (ALGBRC(71)+ALGBRC(59)+ALGBRC(74)+ALGBRC(78))*STATES(13))/ALGBRC(80))+( CONSTS(54)*STATES(16))/ALGBRC(80)
      RATES(14) = ((( ALGBRC(47)*STATES(7))/ALGBRC(80)+( ALGBRC(62)*STATES(3))/ALGBRC(80)) - ( (ALGBRC(68)+ALGBRC(55)+ALGBRC(76)+ALGBRC(78))*STATES(14))/ALGBRC(80))+( ALGBRC(74)*STATES(13))/ALGBRC(80)+( CONSTS(54)*STATES(15))/ALGBRC(80)
      RATES(16) = (( ALGBRC(78)*STATES(13))/ALGBRC(80)+( ALGBRC(51)*STATES(11))/ALGBRC(80)+( ALGBRC(65)*STATES(12))/ALGBRC(80)+( ALGBRC(76)*STATES(15))/ALGBRC(80)) - ( (ALGBRC(71)+ALGBRC(59)+ALGBRC(74)+CONSTS(54))*STATES(16))/ALGBRC(80)
      RATES(15) = ((( ALGBRC(78)*STATES(14))/ALGBRC(80)+( ALGBRC(47)*STATES(11))/ALGBRC(80)+( ALGBRC(62)*STATES(12))/ALGBRC(80)) - ( (ALGBRC(68)+ALGBRC(55)+ALGBRC(76)+CONSTS(54))*STATES(15))/ALGBRC(80))+( ALGBRC(74)*STATES(16))/ALGBRC(80)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = 1.00000/(1.00000+EXP(- (STATES(1)+60.5000)/5.30000))
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+43.0000)/17.3600))
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1) - 44.9000)/12.0096))
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+75.5000)/4.00000))
      ALGBRC(11) = ( 0.381170*(8.60000+ 14.7000*EXP(( - (STATES(1)+50.0000)*(STATES(1)+50.0000))/900.000)))/CONSTS(47)
      ALGBRC(25) =  CONSTS(53)*0.554320*EXP(- 0.0990740+ 0.0364410*STATES(1))
      ALGBRC(29) =  CONSTS(53)*0.000525480*EXP(- 0.0691020+ 0.00319450*STATES(1))
      ALGBRC(57) = STATES(33)+STATES(34)+STATES(35)+STATES(36)+STATES(37)+STATES(38)
      ALGBRC(21) =  CONSTS(53)*3.15660*EXP(0.363520+ 0.0771930*STATES(1))
      ALGBRC(33) =  CONSTS(53)*1.44960*EXP(- 0.156600+ 0.0583530*STATES(1))
      ALGBRC(17) =  CONSTS(53)*2.39100*EXP(- 13.3350 -  0.252890*STATES(1))
      ALGBRC(37) =  CONSTS(53)*1.53290*EXP(0.00931930+ 0.0410750*STATES(1))
      ALGBRC(49) =  CONSTS(53)*1.90460*EXP(- 2.48400+ 0.0204060*STATES(1))
      ALGBRC(53) =  CONSTS(53)*0.000216880*EXP(- 0.0634380+ 0.00466830*STATES(1))
      ALGBRC(13) =  CONSTS(53)*0.120520*EXP(- 9.60280+ 0.0830250*STATES(1))
      ALGBRC(41) =  CONSTS(53)*1.61640*EXP(0.307630+ 0.00605350*STATES(1))
      ALGBRC(8) =  CONSTS(53)*0.00392390*EXP(2.67930+ 0.00614680*STATES(1))
      ALGBRC(45) =  CONSTS(53)*0.0277350*EXP(0.0514900 -  0.0468650*STATES(1))
      ALGBRC(18) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(15)/STATES(2))
      ALGBRC(22) =  CONSTS(14)*STATES(3)*(STATES(1) - ALGBRC(18))
      ALGBRC(26) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(15)/STATES(2))
      ALGBRC(30) =  CONSTS(17)*STATES(17)*STATES(18)*(STATES(1) - ALGBRC(26))
      ALGBRC(58) = ( CONSTS(28)*( EXP(( CONSTS(32)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(32) ** 3.00000*CONSTS(15) -  2.50000*EXP(( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*CONSTS(26) ** 3.00000*STATES(2)))/( (CONSTS(30) ** 3.00000+CONSTS(26) ** 3.00000)*(CONSTS(29)+CONSTS(15))*(1.00000+ CONSTS(31)*EXP(( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(50) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(26)/STATES(32))
      ALGBRC(54) =  CONSTS(25)*STATES(33)*(STATES(1) - ALGBRC(50))
      ALGBRC(61) = ( CONSTS(33)*CONSTS(21)*STATES(32))/( (CONSTS(21)+CONSTS(34))*(CONSTS(35)+STATES(32))*(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0353000*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(64) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(26)/STATES(32))
      ALGBRC(67) =  CONSTS(36)*(STATES(1) - ALGBRC(64))
      ALGBRC(1) = TERNRY(VOI.GE. CONSTS(5)*0.00000.AND.VOI.LE. CONSTS(5)*1.00000,  CONSTS(5)*0.00000, TERNRY(VOI.GE. CONSTS(5)*1.00000.AND.VOI.LE. CONSTS(5)*2.00000,  CONSTS(5)*1.00000, TERNRY(VOI.GE. CONSTS(5)*2.00000.AND.VOI.LT. CONSTS(5)*3.00000,  CONSTS(5)*2.00000, TERNRY(VOI.GE. CONSTS(5)*3.00000.AND.VOI.LT. CONSTS(5)*4.00000,  CONSTS(5)*3.00000, 0.00000)
      ALGBRC(9) = VOI - ALGBRC(1)
      ALGBRC(14) = TERNRY(ALGBRC(9).LT.CONSTS(7),  CONSTS(6)*(STATES(1) - (CONSTS(12)+( CONSTS(13)*ALGBRC(9))/CONSTS(11))),  CONSTS(6)*(STATES(1) - (CONSTS(12)+( CONSTS(13)*(1.00000+EXP(- CONSTS(10)/( 2.00000*CONSTS(9))))*1.00000)/(1.00000+EXP(((ALGBRC(9) - CONSTS(11)) -  0.500000*CONSTS(10))/CONSTS(9))))))
      ALGBRC(34) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(38) =  CONSTS(20)*STATES(19)*STATES(20)*(STATES(1) - ALGBRC(34))
      ALGBRC(42) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(46) =  CONSTS(24)*STATES(22)*(STATES(1) - ALGBRC(42))
      ALGBRC(70) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(21))
      ALGBRC(73) =  CONSTS(37)*(STATES(1) - ALGBRC(70))
      ALGBRC(7) =  1.00000*EXP(( 8.47188*STATES(1))/( 1.00000*CONSTS(2)))
      ALGBRC(32) =  0.0443240*ALGBRC(7)
      ALGBRC(12) =  1.00000*EXP(( - 7.77556*STATES(1))/( 1.00000*CONSTS(2)))
      ALGBRC(52) =  0.000106000*ALGBRC(12)
      ALGBRC(66) =  1.00000*CONSTS(50)*STATES(2)
      ALGBRC(79) = STATES(23)+STATES(24)+STATES(25)+STATES(26)+STATES(27)+STATES(28)+STATES(29)+STATES(30)+STATES(31)+STATES(22)
      ALGBRC(28) =  0.000781000*ALGBRC(7)
      ALGBRC(48) =  0.0953120*ALGBRC(12)
      ALGBRC(63) =  2.00000*CONSTS(50)*STATES(2)
      ALGBRC(24) =  2.81000e-05*ALGBRC(7)
      ALGBRC(44) =  32.6594*ALGBRC(12)
      ALGBRC(60) =  3.00000*CONSTS(50)*STATES(2)
      ALGBRC(20) =  0.000869000*ALGBRC(7)
      ALGBRC(40) =  144.174*ALGBRC(12)
      ALGBRC(56) =  4.00000*CONSTS(50)*STATES(2)
      ALGBRC(16) =  0.0216200*ALGBRC(7)
      ALGBRC(36) =  318.108*ALGBRC(12)
      ALGBRC(77) =  1.00000*CONSTS(50)*STATES(2)
      ALGBRC(75) =  2.00000*CONSTS(50)*STATES(2)
      ALGBRC(72) =  3.00000*CONSTS(50)*STATES(2)
      ALGBRC(69) =  4.00000*CONSTS(50)*STATES(2)
      ALGBRC(2) =  CONSTS(45)*0.731000*EXP(STATES(1)/30.0000)
      ALGBRC(23) =  2.00000*ALGBRC(2)
      ALGBRC(27) =  1.00000*ALGBRC(2)
      ALGBRC(10) =  CONSTS(45)*0.214900*EXP(- STATES(1)/40.0000)
      ALGBRC(39) =  3.00000*ALGBRC(10)
      ALGBRC(43) =  4.00000*ALGBRC(10)
      ALGBRC(78) = ( CONSTS(45)*4.00000)/(1.00000+1.00000/STATES(2))
      ALGBRC(51) =  CONSTS(45)*0.0595600*EXP(- STATES(1)/40.0000)
      ALGBRC(47) =  CONSTS(45)*0.474200*EXP(STATES(1)/10.0000)
      ALGBRC(65) =  CONSTS(45)*0.00232000*EXP(- STATES(1)/280.000)
      ALGBRC(59) =  CONSTS(45)*0.0121300*EXP(STATES(1)/500.000)
      ALGBRC(71) = ( ALGBRC(43)*ALGBRC(59)*ALGBRC(51))/( ALGBRC(27)*ALGBRC(65))
      ALGBRC(62) =  CONSTS(45)*0.0219700*EXP(STATES(1)/500.000)
      ALGBRC(55) =  CONSTS(45)*0.0140700*EXP(- STATES(1)/300.000)
      ALGBRC(68) = ( ALGBRC(43)*ALGBRC(55)*ALGBRC(47))/( ALGBRC(27)*ALGBRC(62))
      ALGBRC(80) = STATES(7)+STATES(6)+STATES(5)+STATES(4)+STATES(11)+STATES(10)+STATES(9)+STATES(8)+STATES(3)+STATES(12)+STATES(13)+STATES(14)+STATES(16)+STATES(15)
      ALGBRC(19) =  3.00000*ALGBRC(2)
      ALGBRC(35) =  2.00000*ALGBRC(10)
      ALGBRC(15) =  4.00000*ALGBRC(2)
      ALGBRC(31) =  1.00000*ALGBRC(10)
      ALGBRC(76) = ALGBRC(65)
      ALGBRC(74) = ( ALGBRC(59)*ALGBRC(62))/ALGBRC(55)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END