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 106 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 93 entries in the constant variable array.
C
C
C VOI is time in component environment (ms).
C STATES(1) is V in component membrane (mV).
C CONSTS(1) is R in component membrane (mJ_per_mole_K).
C CONSTS(2) is T in component membrane (kelvin).
C CONSTS(3) is F in component membrane (C_per_mole).
C CONSTS(4) is Cm in component membrane (uF).
C ALGBRC(1) is I_Stim in component membrane (uA).
C CONSTS(5) is stim_period in component membrane (ms).
C CONSTS(6) is stim_duration in component membrane (ms).
C CONSTS(7) is stim_amplitude in component membrane (uA).
C ALGBRC(26) is i_Na in component sodium_current (nanoA).
C ALGBRC(28) is i_t in component Ca_independent_transient_outward_K_current (nanoA).
C ALGBRC(29) is i_ss in component steady_state_outward_K_current (nanoA).
C ALGBRC(33) is i_f in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(30) is i_K1 in component inward_rectifier (nanoA).
C ALGBRC(34) is i_B_Na in component background_currents (nanoA).
C ALGBRC(36) is i_B_K in component background_currents (nanoA).
C ALGBRC(22) is i_NaK in component sodium_potassium_pump (uA).
C ALGBRC(106) is I_LCC in component convert_hinch (uA).
C ALGBRC(39) is I_NaCa in component convert_hinch (uA).
C ALGBRC(42) is I_pCa in component convert_hinch (uA).
C ALGBRC(45) is I_CaB in component convert_hinch (uA).
C ALGBRC(12) is FVRT in component membrane (dimensionless).
C ALGBRC(21) is FVRT_Ca in component membrane (dimensionless).
C CONSTS(8) is V_myo in component cell_geometry (um3).
C CONSTS(9) is V_SR in component cell_geometry (um3).
C CONSTS(10) is V_myo_uL in component cell_geometry (uL).
C CONSTS(11) is V_SR_uL in component cell_geometry (uL).
C ALGBRC(105) is I_LCC in component LCC_current (mM_per_ms).
C ALGBRC(38) is I_NaCa in component Na_Ca_Exchanger (mM_per_ms).
C ALGBRC(41) is I_pCa in component Sarcolemmal_Ca_pump (mM_per_ms).
C ALGBRC(44) is I_CaB in component Background_Ca_current (mM_per_ms).
C ALGBRC(101) is I_RyR in component RyR_current (mM_per_ms).
C ALGBRC(102) is I_RyR in component convert_hinch (mM_per_ms).
C CONSTS(12) is i_NaK_max in component sodium_potassium_pump (uA).
C CONSTS(13) is K_m_K in component sodium_potassium_pump (mM).
C CONSTS(14) is K_m_Na in component sodium_potassium_pump (mM).
C CONSTS(83) is sigma in component sodium_potassium_pump (dimensionless).
C CONSTS(15) is K_o in component standard_ionic_concentrations (millimolar).
C CONSTS(16) is Na_o in component standard_ionic_concentrations (millimolar).
C STATES(2) is Na_i in component intracellular_ion_concentrations (mM).
C STATES(3) is Ca_i in component intracellular_ion_concentrations (mM).
C STATES(4) is Ca_SR in component intracellular_ion_concentrations (mM).
C STATES(5) is K_i in component intracellular_ion_concentrations (mM).
C STATES(6) is TRPN in component intracellular_ion_concentrations (mM).
C ALGBRC(31) is i_f_Na in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(32) is i_f_K in component hyperpolarisation_activated_current (nanoA).
C ALGBRC(40) is I_SERCA in component SERCA (mM_per_ms).
C ALGBRC(46) is I_SR in component SR_Ca_leak_current (mM_per_ms).
C ALGBRC(24) is Ca_b in component intracellular_ion_concentrations (mM).
C CONSTS(17) is Ca_TRPN_Max in component troponin (mM).
C ALGBRC(62) is J_TRPN in component troponin (mM_per_ms).
C ALGBRC(47) is beta_CMDN in component calmodulin_Ca_buffer (dimensionless).
C ALGBRC(25) is E_Na in component sodium_current (millivolt).
C CONSTS(18) is g_Na in component sodium_current (microS).
C CONSTS(84) is g_Na_endo in component sodium_current (microS).
C STATES(7) is m in component sodium_current_m_gate (dimensionless).
C STATES(8) is h in component sodium_current_h_gate (dimensionless).
C STATES(9) is j in component sodium_current_j_gate (dimensionless).
C ALGBRC(27) is E_K in component Ca_independent_transient_outward_K_current (millivolt).
C CONSTS(19) is g_t in component Ca_independent_transient_outward_K_current (microS).
C CONSTS(85) is g_t_endo in component Ca_independent_transient_outward_K_current (microS).
C CONSTS(20) is a_endo in component Ca_independent_transient_outward_K_current (dimensionless).
C CONSTS(21) is b_endo in component Ca_independent_transient_outward_K_current (dimensionless).
C STATES(10) is r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
C STATES(11) is s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
C STATES(12) is s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
C CONSTS(22) is g_ss in component steady_state_outward_K_current (microS).
C STATES(13) is r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless).
C STATES(14) is s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless).
C CONSTS(23) is g_K1 in component inward_rectifier (microS).
C CONSTS(24) is g_f in component hyperpolarisation_activated_current (microS).
C CONSTS(25) is f_Na in component hyperpolarisation_activated_current (dimensionless).
C CONSTS(86) is f_K in component hyperpolarisation_activated_current (dimensionless).
C STATES(15) is y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C ALGBRC(37) is i_B in component background_currents (nanoA).
C ALGBRC(35) is i_B_Ca in component background_currents (nanoA).
C CONSTS(26) is g_B_Na in component background_currents (microS).
C CONSTS(27) is g_B_Ca in component background_currents (microS).
C CONSTS(28) is g_B_K in component background_currents (microS).
C CONSTS(29) is E_Ca in component background_currents (millivolt).
C CONSTS(30) is Ca_o in component standard_ionic_concentrations (millimolar).
C CONSTS(31) is g_D in component CaRU (um3_per_ms).
C CONSTS(32) is J_R in component CaRU (um3_per_ms).
C CONSTS(33) is J_L in component CaRU (um3_per_ms).
C CONSTS(34) is N in component CaRU (dimensionless).
C CONSTS(35) is K_mNa in component Na_Ca_Exchanger (mM).
C CONSTS(36) is K_mCa in component Na_Ca_Exchanger (mM).
C CONSTS(37) is eta in component Na_Ca_Exchanger (dimensionless).
C CONSTS(38) is k_sat in component Na_Ca_Exchanger (dimensionless).
C CONSTS(39) is g_NCX in component Na_Ca_Exchanger (mM_per_ms).
C CONSTS(40) is g_SERCA in component SERCA (mM_per_ms).
C CONSTS(41) is K_SERCA in component SERCA (mM).
C CONSTS(42) is g_pCa in component Sarcolemmal_Ca_pump (mM_per_ms).
C CONSTS(43) is K_mpCa in component Sarcolemmal_Ca_pump (mM).
C ALGBRC(43) is E_Ca in component Background_Ca_current (mV).
C CONSTS(44) is g_CaB in component Background_Ca_current (mM_per_mV_ms).
C CONSTS(45) is g_SRl in component SR_Ca_leak_current (per_ms).
C CONSTS(46) is k_CMDN in component calmodulin_Ca_buffer (mM).
C CONSTS(47) is B_CMDN in component calmodulin_Ca_buffer (mM).
C STATES(16) is z in component tropomyosin (dimensionless).
C ALGBRC(55) is z_max in component tropomyosin (dimensionless).
C CONSTS(48) is k_on in component troponin (per_mM_per_ms).
C CONSTS(49) is k_Ref_off in component troponin (per_ms).
C CONSTS(50) is gamma_trpn in component troponin (dimensionless).
C CONSTS(51) is alpha_0 in component tropomyosin (per_ms).
C CONSTS(52) is alpha_r1 in component tropomyosin (per_ms).
C CONSTS(53) is alpha_r2 in component tropomyosin (per_ms).
C CONSTS(54) is n_Rel in component tropomyosin (dimensionless).
C CONSTS(55) is K_z in component tropomyosin (dimensionless).
C CONSTS(56) is n_Hill in component tropomyosin (dimensionless).
C CONSTS(57) is Ca_50ref in component tropomyosin (mM).
C CONSTS(58) is z_p in component tropomyosin (dimensionless).
C CONSTS(59) is beta_1 in component tropomyosin (dimensionless).
C ALGBRC(52) is Ca_50 in component tropomyosin (mM).
C ALGBRC(53) is Ca_TRPN_50 in component tropomyosin (mM).
C CONSTS(87) is K_2 in component tropomyosin (per_ms).
C CONSTS(91) is K_1 in component tropomyosin (per_ms).
C ALGBRC(54) is alpha_Tm in component tropomyosin (per_ms).
C ALGBRC(48) is beta_Tm in component tropomyosin (per_ms).
C CONSTS(60) is beta_0 in component filament_overlap (dimensionless).
C ALGBRC(50) is lambda in component Myofilaments (dimensionless).
C ALGBRC(61) is k_off in component troponin (per_ms).
C ALGBRC(60) is Tension in component Cross_Bridges (N_per_mm2).
C CONSTS(61) is T_ref in component length_independent_tension (N_per_mm2).
C ALGBRC(49) is ExtensionRatio in component Myofilaments (dimensionless).
C CONSTS(88) is dExtensionRatiodt in component Myofilaments (per_ms).
C ALGBRC(51) is lambda_prev in component Myofilaments (dimensionless).
C ALGBRC(56) is overlap in component filament_overlap (dimensionless).
C ALGBRC(57) is T_Base in component length_independent_tension (N_per_mm2).
C ALGBRC(58) is T_0 in component isometric_tension (N_per_mm2).
C ALGBRC(59) is Q in component Cross_Bridges (dimensionless).
C CONSTS(62) is a in component Cross_Bridges (dimensionless).
C STATES(17) is Q_1 in component Cross_Bridges (dimensionless).
C STATES(18) is Q_2 in component Cross_Bridges (dimensionless).
C STATES(19) is Q_3 in component Cross_Bridges (dimensionless).
C CONSTS(63) is A_1 in component Cross_Bridges (dimensionless).
C CONSTS(64) is A_2 in component Cross_Bridges (dimensionless).
C CONSTS(65) is A_3 in component Cross_Bridges (dimensionless).
C CONSTS(66) is alpha_1 in component Cross_Bridges (per_ms).
C CONSTS(67) is alpha_2 in component Cross_Bridges (per_ms).
C CONSTS(68) is alpha_3 in component Cross_Bridges (per_ms).
C ALGBRC(2) is m_infinity in component sodium_current_m_gate (dimensionless).
C ALGBRC(13) is tau_m in component sodium_current_m_gate (second).
C ALGBRC(3) is h_infinity in component sodium_current_h_gate (dimensionless).
C ALGBRC(14) is tau_h in component sodium_current_h_gate (second).
C ALGBRC(4) is j_infinity in component sodium_current_j_gate (dimensionless).
C ALGBRC(15) is tau_j in component sodium_current_j_gate (second).
C ALGBRC(16) is tau_r in component Ca_independent_transient_outward_K_current_r_gate (second).
C ALGBRC(5) is r_infinity in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
C ALGBRC(17) is tau_s_endo in component Ca_independent_transient_outward_K_current_s_gate (second).
C ALGBRC(6) is s_infinity in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
C ALGBRC(18) is tau_s_slow_endo in component Ca_independent_transient_outward_K_current_s_slow_gate (second).
C ALGBRC(7) is s_slow_infinity in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
C ALGBRC(19) is tau_r_ss in component steady_state_outward_K_current_r_ss_gate (second).
C ALGBRC(8) is r_ss_infinity in component steady_state_outward_K_current_r_ss_gate (dimensionless).
C CONSTS(89) is tau_s_ss in component steady_state_outward_K_current_s_ss_gate (second).
C ALGBRC(9) is s_ss_infinity in component steady_state_outward_K_current_s_ss_gate (dimensionless).
C ALGBRC(20) is tau_y in component hyperpolarisation_activated_current_y_gate (second).
C ALGBRC(10) is y_infinity in component hyperpolarisation_activated_current_y_gate (dimensionless).
C ALGBRC(82) is C_oc in component DS_Calcium_Concentrations (mM).
C ALGBRC(80) is C_co in component DS_Calcium_Concentrations (mM).
C CONSTS(69) is V_L in component CaRU_Transitions (mV).
C CONSTS(70) is del_VL in component CaRU_Transitions (mV).
C CONSTS(71) is phi_L in component CaRU_Transitions (dimensionless).
C CONSTS(72) is t_L in component CaRU_Transitions (ms).
C CONSTS(73) is tau_L in component CaRU_Transitions (ms).
C CONSTS(90) is t_R in component CaRU_Transitions (ms).
C CONSTS(74) is tau_R in component CaRU_Transitions (ms).
C CONSTS(75) is phi_R in component CaRU_Transitions (dimensionless).
C CONSTS(76) is theta_R in component CaRU_Transitions (dimensionless).
C CONSTS(77) is K_RyR in component CaRU_Transitions (mM).
C CONSTS(78) is K_L in component CaRU_Transitions (mM).
C CONSTS(79) is a in component CaRU_Transitions (dimensionless).
C CONSTS(80) is b in component CaRU_Transitions (dimensionless).
C CONSTS(81) is c in component CaRU_Transitions (dimensionless).
C CONSTS(82) is d in component CaRU_Transitions (dimensionless).
C ALGBRC(63) is expVL in component CaRU_Transitions (dimensionless).
C ALGBRC(64) is alpha_p in component CaRU_Transitions (per_ms).
C CONSTS(92) is alpha_m in component CaRU_Transitions (per_ms).
C ALGBRC(83) is beta_poc in component CaRU_Transitions (per_ms).
C ALGBRC(65) is beta_pcc in component CaRU_Transitions (per_ms).
C CONSTS(93) is beta_m in component CaRU_Transitions (per_ms).
C ALGBRC(81) is epsilon_pco in component CaRU_Transitions (per_ms).
C ALGBRC(66) is epsilon_pcc in component CaRU_Transitions (per_ms).
C ALGBRC(67) is epsilon_m in component CaRU_Transitions (per_ms).
C ALGBRC(84) is mu_poc in component CaRU_Transitions (per_ms).
C ALGBRC(68) is mu_pcc in component CaRU_Transitions (per_ms).
C ALGBRC(85) is mu_moc in component CaRU_Transitions (per_ms).
C ALGBRC(69) is mu_mcc in component CaRU_Transitions (per_ms).
C ALGBRC(86) is denom in component CaRU_states (per_ms3).
C ALGBRC(87) is y_oc in component CaRU_states (dimensionless).
C ALGBRC(88) is y_co in component CaRU_states (dimensionless).
C ALGBRC(89) is y_oo in component CaRU_states (dimensionless).
C ALGBRC(91) is y_cc in component CaRU_states (dimensionless).
C ALGBRC(70) is y_ci in component CaRU_states (dimensionless).
C ALGBRC(71) is y_oi in component CaRU_states (dimensionless).
C ALGBRC(72) is y_ic in component CaRU_states (dimensionless).
C ALGBRC(73) is y_io in component CaRU_states (dimensionless).
C ALGBRC(93) is y_ii in component CaRU_states (dimensionless).
C ALGBRC(94) is r_1 in component CaRU_reduced_states (per_ms).
C ALGBRC(96) is r_2 in component CaRU_reduced_states (per_ms).
C ALGBRC(74) is r_3 in component CaRU_reduced_states (per_ms).
C ALGBRC(75) is r_4 in component CaRU_reduced_states (per_ms).
C ALGBRC(98) is r_5 in component CaRU_reduced_states (per_ms).
C ALGBRC(76) is r_6 in component CaRU_reduced_states (per_ms).
C ALGBRC(77) is r_7 in component CaRU_reduced_states (per_ms).
C ALGBRC(78) is r_8 in component CaRU_reduced_states (per_ms).
C STATES(20) is z_1 in component CaRU_reduced_states (dimensionless).
C STATES(21) is z_2 in component CaRU_reduced_states (dimensionless).
C STATES(22) is z_3 in component CaRU_reduced_states (dimensionless).
C ALGBRC(79) is z_4 in component CaRU_reduced_states (dimensionless).
C ALGBRC(11) is C_cc in component DS_Calcium_Concentrations (mM).
C ALGBRC(23) is C_oo in component DS_Calcium_Concentrations (mM).
C ALGBRC(97) is J_Loo in component LCC_and_RyR_fluxes (um3_mM_per_ms).
C ALGBRC(95) is J_Loc in component LCC_and_RyR_fluxes (um3_mM_per_ms).
C ALGBRC(90) is J_Rco in component LCC_and_RyR_fluxes (um3_mM_per_ms).
C ALGBRC(92) is J_Roo in component LCC_and_RyR_fluxes (um3_mM_per_ms).
C ALGBRC(99) is J_R1 in component RyR_current (um3_mM_per_ms).
C ALGBRC(100) is J_R3 in component RyR_current (um3_mM_per_ms).
C ALGBRC(103) is J_L1 in component LCC_current (um3_mM_per_ms).
C ALGBRC(104) is J_L2 in component LCC_current (um3_mM_per_ms).
C RATES(1) is d/dt V in component membrane (mV).
C RATES(2) is d/dt Na_i in component intracellular_ion_concentrations (mM).
C RATES(5) is d/dt K_i in component intracellular_ion_concentrations (mM).
C RATES(6) is d/dt TRPN in component intracellular_ion_concentrations (mM).
C RATES(3) is d/dt Ca_i in component intracellular_ion_concentrations (mM).
C RATES(4) is d/dt Ca_SR in component intracellular_ion_concentrations (mM).
C RATES(16) is d/dt z in component tropomyosin (dimensionless).
C RATES(17) is d/dt Q_1 in component Cross_Bridges (dimensionless).
C RATES(18) is d/dt Q_2 in component Cross_Bridges (dimensionless).
C RATES(19) is d/dt Q_3 in component Cross_Bridges (dimensionless).
C RATES(7) is d/dt m in component sodium_current_m_gate (dimensionless).
C RATES(8) is d/dt h in component sodium_current_h_gate (dimensionless).
C RATES(9) is d/dt j in component sodium_current_j_gate (dimensionless).
C RATES(10) is d/dt r in component Ca_independent_transient_outward_K_current_r_gate (dimensionless).
C RATES(11) is d/dt s in component Ca_independent_transient_outward_K_current_s_gate (dimensionless).
C RATES(12) is d/dt s_slow in component Ca_independent_transient_outward_K_current_s_slow_gate (dimensionless).
C RATES(13) is d/dt r_ss in component steady_state_outward_K_current_r_ss_gate (dimensionless).
C RATES(14) is d/dt s_ss in component steady_state_outward_K_current_s_ss_gate (dimensionless).
C RATES(15) is d/dt y in component hyperpolarisation_activated_current_y_gate (dimensionless).
C RATES(20) is d/dt z_1 in component CaRU_reduced_states (dimensionless).
C RATES(21) is d/dt z_2 in component CaRU_reduced_states (dimensionless).
C RATES(22) is d/dt z_3 in component CaRU_reduced_states (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -80.50146
      CONSTS(1) = 8314.5
      CONSTS(2) = 295
      CONSTS(3) = 96487
      CONSTS(4) = 0.0001
      CONSTS(5) = 1e3
      CONSTS(6) = 10
      CONSTS(7) = -0.6e-3
      CONSTS(8) = 25.85e3
      CONSTS(9) = 2.098e3
      CONSTS(10) = 25.85e-6
      CONSTS(11) = 2.098e-6
      CONSTS(12) = 0.95e-4
      CONSTS(13) = 1.5
      CONSTS(14) = 10
      CONSTS(15) = 5.4
      CONSTS(16) = 140
      STATES(2) = 10.73519
      STATES(3) = 0.00007901351
      STATES(4) = 700.0e-3
      STATES(5) = 139.2751
      STATES(6) = 0.067593139865
      CONSTS(17) = 70e-3
      CONSTS(18) = 0.8
      STATES(7) = 0.004164108
      STATES(8) = 0.6735613
      STATES(9) = 0.6729362
      CONSTS(19) = 0.035
      CONSTS(20) = 0.583
      CONSTS(21) = 0.417
      STATES(10) = 0.002191519
      STATES(11) = 0.9842542
      STATES(12) = 0.6421196
      CONSTS(22) = 0.007
      STATES(13) = 0.002907171
      STATES(14) = 0.3142767
      CONSTS(23) = 0.024
      CONSTS(24) = 0.00145
      CONSTS(25) = 0.2
      STATES(15) = 0.003578708
      CONSTS(26) = 0.00008015
      CONSTS(27) = 0.0000324
      CONSTS(28) = 0.000138
      CONSTS(29) = 65
      CONSTS(30) = 1.2
      CONSTS(31) = 0.065
      CONSTS(32) = 0.02
      CONSTS(33) = 9.13e-4
      CONSTS(34) = 50000
      CONSTS(35) = 87.5
      CONSTS(36) = 1.38
      CONSTS(37) = 0.35
      CONSTS(38) = 0.1
      CONSTS(39) = 38.5e-3
      CONSTS(40) = 0.45e-3
      CONSTS(41) = 0.5e-3
      CONSTS(42) = 0.0035e-3
      CONSTS(43) = 0.5e-3
      CONSTS(44) = 2.6875e-8
      CONSTS(45) = 1.8951e-5
      CONSTS(46) = 2.382e-3
      CONSTS(47) = 50e-3
      STATES(16) = 0.014417937837
      CONSTS(48) = 100
      CONSTS(49) = 0.2
      CONSTS(50) = 2
      CONSTS(51) = 8e-3
      CONSTS(52) = 2e-3
      CONSTS(53) = 1.75e-3
      CONSTS(54) = 3
      CONSTS(55) = 0.15
      CONSTS(56) = 3
      CONSTS(57) = 1.05e-3
      CONSTS(58) = 0.85
      CONSTS(59) = -4
      CONSTS(60) = 4.9
      CONSTS(61) = 56.2
      CONSTS(62) = 0.35
      STATES(17) = 0
      STATES(18) = 0
      STATES(19) = 0
      CONSTS(63) = -29
      CONSTS(64) = 138
      CONSTS(65) = 129
      CONSTS(66) = 0.03
      CONSTS(67) = 0.13
      CONSTS(68) = 0.625
      CONSTS(69) = -2
      CONSTS(70) = 7
      CONSTS(71) = 2.35
      CONSTS(72) = 1
      CONSTS(73) = 650
      CONSTS(74) = 2.43
      CONSTS(75) = 0.05
      CONSTS(76) = 0.012
      CONSTS(77) = 41e-3
      CONSTS(78) = 0.22e-3
      CONSTS(79) = 0.0625
      CONSTS(80) = 14
      CONSTS(81) = 0.01
      CONSTS(82) = 100
      STATES(20) = 0.98859
      STATES(21) = 0.0087302
      STATES(22) = 0.0026566
      CONSTS(83) = (EXP(CONSTS(16)/67.3000) - 1.00000)/7.00000
      CONSTS(84) =  1.33000*CONSTS(18)
      CONSTS(85) =  0.464700*CONSTS(19)
      CONSTS(86) = 1.00000 - CONSTS(25)
      CONSTS(87) =  (( CONSTS(53)*CONSTS(58) ** CONSTS(54))/(CONSTS(58) ** CONSTS(54)+CONSTS(55) ** CONSTS(54)))*(1.00000 - ( CONSTS(54)*CONSTS(55) ** CONSTS(54))/(CONSTS(58) ** CONSTS(54)+CONSTS(55) ** CONSTS(54)))
      CONSTS(88) = 0.00000
      CONSTS(89) = 2.10000
      CONSTS(90) =  1.17000*CONSTS(72)
      CONSTS(91) = ( CONSTS(53)*CONSTS(58) ** CONSTS(54) - 1.00000*CONSTS(54)*CONSTS(55) ** CONSTS(54))/CONSTS(58) ** CONSTS(54)+CONSTS(55) ** CONSTS(54) ** 2.00000
      CONSTS(92) = CONSTS(71)/CONSTS(72)
      CONSTS(93) = CONSTS(75)/CONSTS(90)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(17) =  CONSTS(63)*CONSTS(88) -  CONSTS(66)*STATES(17)
      RATES(18) =  CONSTS(64)*CONSTS(88) -  CONSTS(67)*STATES(18)
      RATES(19) =  CONSTS(65)*CONSTS(88) -  CONSTS(68)*STATES(19)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+87.5000)/10.3000))
      RATES(14) = ((ALGBRC(9) - STATES(14))/CONSTS(89))*0.00100000
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(1)+45.0000)/- 6.50000))
      ALGBRC(13) = 0.00136000/(( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))+ 0.0800000*EXP(- STATES(1)/11.0000))
      RATES(7) = ((ALGBRC(2) - STATES(7))/ALGBRC(13))*0.00100000
      ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1)+76.1000)/6.07000))
      ALGBRC(14) = TERNRY(STATES(1).GE.- 40.0000,  0.000453700*(1.00000+EXP(- (STATES(1)+10.6600)/11.1000)), 0.00349000/( 0.135000*EXP(- (STATES(1)+80.0000)/6.80000)+ 3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1))))
      RATES(8) = ((ALGBRC(3) - STATES(8))/ALGBRC(14))*0.00100000
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+76.1000)/6.07000))
      ALGBRC(15) = TERNRY(STATES(1).GE.- 40.0000, ( 0.0116300*(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))))/EXP( - 2.53500e-07*STATES(1)), 0.00349000/( ((STATES(1)+37.7800)/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))*( - 127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( - 0.0439100*STATES(1)))+( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400)))))
      RATES(9) = ((ALGBRC(4) - STATES(9))/ALGBRC(15))*0.00100000
      ALGBRC(16) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+10.6000)/- 11.4200))
      RATES(10) = ((ALGBRC(5) - STATES(10))/ALGBRC(16))*0.00100000
      ALGBRC(17) =  0.550000*EXP(- (STATES(1)+70.0000)/25.0000 ** 2.00000)+0.0490000
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      RATES(11) = ((ALGBRC(6) - STATES(11))/ALGBRC(17))*0.00100000
      ALGBRC(18) =  3.30000*EXP(( (- (STATES(1)+70.0000)/30.0000)*(STATES(1)+70.0000))/30.0000)+0.0490000
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      RATES(12) = ((ALGBRC(7) - STATES(12))/ALGBRC(18))*0.00100000
      ALGBRC(19) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(1)+11.5000)/- 11.8200))
      RATES(13) = ((ALGBRC(8) - STATES(13))/ALGBRC(19))*0.00100000
      ALGBRC(20) = 1.00000/( 0.118850*EXP((STATES(1)+80.0000)/28.3700)+ 0.562300*EXP((STATES(1)+80.0000)/- 14.1900))
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+138.600)/10.4800))
      RATES(15) = ((ALGBRC(10) - STATES(15))/ALGBRC(20))*0.00100000
      ALGBRC(1) = TERNRY(VOI -  INT(VOI/CONSTS(5))*CONSTS(5).GE.0.00000.AND.VOI -  INT(VOI/CONSTS(5))*CONSTS(5).LE.CONSTS(6), CONSTS(7), 0.00000)
      ALGBRC(27) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(15)/STATES(5))
      ALGBRC(28) =  CONSTS(85)*STATES(10)*( CONSTS(20)*STATES(11)+ CONSTS(21)*STATES(12))*(STATES(1) - ALGBRC(27))
      ALGBRC(29) =  CONSTS(22)*STATES(13)*STATES(14)*(STATES(1) - ALGBRC(27))
      ALGBRC(30) = ( (48.0000/(EXP((STATES(1)+37.0000)/25.0000)+EXP((STATES(1)+37.0000)/- 25.0000))+10.0000)*0.00100000)/(1.00000+EXP((STATES(1) - (ALGBRC(27)+76.7700))/- 17.0000))+( CONSTS(23)*(STATES(1) - (ALGBRC(27)+1.73000)))/( (1.00000+EXP(( 1.61300*CONSTS(3)*(STATES(1) - (ALGBRC(27)+1.73000)))/( CONSTS(1)*CONSTS(2))))*(1.00000+EXP((CONSTS(15) - 0.998800)/- 0.124000)))
      ALGBRC(36) =  CONSTS(28)*(STATES(1) - ALGBRC(27))
      ALGBRC(22) = ( (( (( CONSTS(12)*1.00000)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0365000*CONSTS(83)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*CONSTS(15))/(CONSTS(15)+CONSTS(13)))*1.00000)/(1.00000+CONSTS(14)/STATES(2) ** 4.00000)
      ALGBRC(32) =  CONSTS(24)*STATES(15)*CONSTS(86)*(STATES(1) - ALGBRC(27))
      RATES(5) = ( - (ALGBRC(1)+ALGBRC(29)*0.00100000+ALGBRC(36)*0.00100000+ALGBRC(28)*0.00100000+ALGBRC(30)*0.00100000+ALGBRC(32)*0.00100000+ ALGBRC(22)*- 2.00000)*1.00000)/( CONSTS(10)*CONSTS(3))
      ALGBRC(25) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(16)/STATES(2))
      ALGBRC(26) =  CONSTS(84)*STATES(7) ** 3.00000*STATES(8)*STATES(9)*(STATES(1) - ALGBRC(25))
      ALGBRC(34) =  CONSTS(26)*(STATES(1) - ALGBRC(25))
      ALGBRC(12) = ( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))
      ALGBRC(38) = ( CONSTS(39)*( EXP( CONSTS(37)*ALGBRC(12))*STATES(2) ** 3.00000*CONSTS(30) -  EXP( (CONSTS(37) - 1.00000)*ALGBRC(12))*CONSTS(16) ** 3.00000*STATES(3)))/( (CONSTS(16) ** 3.00000+CONSTS(35) ** 3.00000)*(CONSTS(30)+CONSTS(36))*(1.00000+ CONSTS(38)*EXP( (CONSTS(37) - 1.00000)*ALGBRC(12))))
      ALGBRC(39) =  ALGBRC(38)*CONSTS(10)*CONSTS(3)
      ALGBRC(31) =  CONSTS(24)*STATES(15)*CONSTS(25)*(STATES(1) - ALGBRC(25))
      RATES(2) = ( - (ALGBRC(26)*0.00100000+ALGBRC(34)*0.00100000+ ALGBRC(39)*3.00000+ ALGBRC(22)*3.00000+ALGBRC(31)*0.00100000)*1.00000)/( CONSTS(10)*CONSTS(3))
      ALGBRC(24) = CONSTS(17) - STATES(6)
      ALGBRC(49) = TERNRY(VOI.GT.300000., 1.00000, 1.00000)
      ALGBRC(50) = TERNRY(ALGBRC(49).GT.0.800000.AND.ALGBRC(49).LE.1.15000, ALGBRC(49), TERNRY(ALGBRC(49).GT.1.15000, 1.15000, 0.800000)
      ALGBRC(52) =  CONSTS(57)*(1.00000+ CONSTS(59)*(ALGBRC(50) - 1.00000))
      ALGBRC(53) = ( ALGBRC(52)*CONSTS(17))/(ALGBRC(52)+ (CONSTS(49)/CONSTS(48))*(1.00000 - ( (1.00000+ CONSTS(60)*(ALGBRC(50) - 1.00000))*0.500000)/CONSTS(50)))
      ALGBRC(54) =  CONSTS(51)*ALGBRC(24)/ALGBRC(53) ** CONSTS(56)
      ALGBRC(48) = CONSTS(52)+( CONSTS(53)*STATES(16) ** CONSTS(54) - 1.00000)/(STATES(16) ** CONSTS(54)+CONSTS(55) ** CONSTS(54))
      RATES(16) =  ALGBRC(54)*(1.00000 - STATES(16)) -  ALGBRC(48)*STATES(16)
      ALGBRC(56) = 1.00000+ CONSTS(60)*(ALGBRC(50) - 1.00000)
      ALGBRC(55) = (CONSTS(51)/ALGBRC(53)/CONSTS(17) ** CONSTS(56) - CONSTS(87))/(CONSTS(52)+CONSTS(91)+CONSTS(51)/ALGBRC(53)/CONSTS(17) ** CONSTS(56))
      ALGBRC(57) = ( CONSTS(61)*STATES(16))/ALGBRC(55)
      ALGBRC(58) =  ALGBRC(57)*ALGBRC(56)
      ALGBRC(59) = STATES(17)+STATES(18)+STATES(19)
      ALGBRC(60) = TERNRY(ALGBRC(59).LT.0.00000, ( ALGBRC(58)*( CONSTS(62)*ALGBRC(59)+1.00000))/(1.00000 - ALGBRC(59)), ( ALGBRC(58)*(1.00000+ (CONSTS(62)+2.00000)*ALGBRC(59)))/(1.00000+ALGBRC(59)))
      ALGBRC(61) = TERNRY(1.00000 - ALGBRC(60)/( CONSTS(50)*CONSTS(61)).GT.0.100000,  CONSTS(49)*(1.00000 - ALGBRC(60)/( CONSTS(50)*CONSTS(61))),  CONSTS(49)*0.100000)
      ALGBRC(62) =  (CONSTS(17) - STATES(6))*ALGBRC(61) -  STATES(3)*STATES(6)*CONSTS(48)
      RATES(6) = ALGBRC(62)
      ALGBRC(21) =  2.00000*ALGBRC(12)
      ALGBRC(82) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-09, (STATES(3)+( (CONSTS(33)/CONSTS(31))*CONSTS(30)*ALGBRC(21)*EXP(- ALGBRC(21)))/(1.00000 - EXP(- ALGBRC(21))))/(1.00000+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), (STATES(3)+ (CONSTS(33)/CONSTS(31))*CONSTS(30))/(1.00000+CONSTS(33)/CONSTS(31)))
      ALGBRC(84) = (ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000)/( CONSTS(74)*(ALGBRC(82) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(68) = (STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000)/( CONSTS(74)*(STATES(3) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(63) = EXP((STATES(1) - CONSTS(69))/CONSTS(70))
      ALGBRC(64) = ALGBRC(63)/( CONSTS(72)*(ALGBRC(63)+1.00000))
      ALGBRC(65) = STATES(3) ** 2.00000/( CONSTS(90)*(STATES(3) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(83) = ALGBRC(82) ** 2.00000/( CONSTS(90)*(ALGBRC(82) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(86) =  (ALGBRC(64)+CONSTS(92))*( (CONSTS(92)+CONSTS(93)+ALGBRC(83))*(CONSTS(93)+ALGBRC(65))+ ALGBRC(64)*(CONSTS(93)+ALGBRC(83)))
      ALGBRC(87) = ( ALGBRC(64)*CONSTS(93)*(ALGBRC(64)+CONSTS(92)+CONSTS(93)+ALGBRC(65)))/ALGBRC(86)
      ALGBRC(91) = ( CONSTS(92)*CONSTS(93)*(CONSTS(92)+ALGBRC(64)+CONSTS(93)+ALGBRC(83)))/ALGBRC(86)
      ALGBRC(94) =  ALGBRC(87)*ALGBRC(84)+ ALGBRC(91)*ALGBRC(68)
      ALGBRC(85) = ( CONSTS(76)*CONSTS(82)*(ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))/( CONSTS(74)*( CONSTS(82)*ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))
      ALGBRC(69) = ( CONSTS(76)*CONSTS(82)*(STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))/( CONSTS(74)*( CONSTS(82)*STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))
      ALGBRC(96) = ( ALGBRC(64)*ALGBRC(85)+ CONSTS(92)*ALGBRC(69))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(66) = ( STATES(3)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*CONSTS(78)*(ALGBRC(63)+1.00000))
      ALGBRC(77) = ( CONSTS(92)*ALGBRC(66))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(67) = ( CONSTS(80)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*( CONSTS(80)*ALGBRC(63)+CONSTS(79)))
      ALGBRC(78) = ALGBRC(67)
      ALGBRC(79) = ((1.00000 - STATES(20)) - STATES(21)) - STATES(22)
      RATES(21) = ( ALGBRC(94)*STATES(20) -  (ALGBRC(96)+ALGBRC(77))*STATES(21))+ ALGBRC(78)*ALGBRC(79)
      ALGBRC(80) = (STATES(3)+ (CONSTS(32)/CONSTS(31))*STATES(4))/(1.00000+CONSTS(32)/CONSTS(31))
      ALGBRC(81) = ( ALGBRC(80)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*CONSTS(78)*(ALGBRC(63)+1.00000))
      ALGBRC(88) = ( CONSTS(92)*( ALGBRC(65)*(CONSTS(92)+CONSTS(93)+ALGBRC(83))+ ALGBRC(83)*ALGBRC(64)))/ALGBRC(86)
      ALGBRC(98) =  ALGBRC(88)*ALGBRC(81)+ ALGBRC(91)*ALGBRC(66)
      ALGBRC(76) = ALGBRC(67)
      RATES(20) =  - (ALGBRC(94)+ALGBRC(98))*STATES(20)+ ALGBRC(96)*STATES(21)+ ALGBRC(76)*STATES(22)
      ALGBRC(74) = ( CONSTS(93)*ALGBRC(68))/(CONSTS(93)+ALGBRC(65))
      ALGBRC(75) = ALGBRC(69)
      RATES(22) = ( ALGBRC(98)*STATES(20) -  (ALGBRC(76)+ALGBRC(74))*STATES(22))+ ALGBRC(75)*ALGBRC(79)
      ALGBRC(89) = ( ALGBRC(64)*( ALGBRC(83)*(ALGBRC(64)+CONSTS(93)+ALGBRC(65))+ ALGBRC(65)*CONSTS(92)))/ALGBRC(86)
      ALGBRC(90) = ( CONSTS(32)*(STATES(4) - STATES(3)))/(1.00000+CONSTS(32)/CONSTS(31))
      ALGBRC(92) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( CONSTS(32)*((STATES(4) - STATES(3))+ (( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*(STATES(4) -  CONSTS(30)*EXP(- ALGBRC(21)))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), ( CONSTS(32)*((STATES(4) - STATES(3))+ (( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*(STATES(4) -  CONSTS(30)*EXP(- 1.00000e-05))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(99) =  ALGBRC(89)*ALGBRC(92)+ ALGBRC(90)*ALGBRC(88)
      ALGBRC(100) = ( ALGBRC(90)*ALGBRC(65))/(CONSTS(93)+ALGBRC(65))
      ALGBRC(101) = ( ( STATES(20)*ALGBRC(99)+ STATES(22)*ALGBRC(100))*CONSTS(34))/CONSTS(8)
      ALGBRC(102) =  1.50000*ALGBRC(101)
      ALGBRC(40) = ( CONSTS(40)*STATES(3) ** 2.00000)/(CONSTS(41) ** 2.00000+STATES(3) ** 2.00000)
      ALGBRC(46) =  CONSTS(45)*(STATES(4) - STATES(3))
      RATES(4) =  (CONSTS(10)/CONSTS(11))*((- ALGBRC(102)+ALGBRC(40)) - ALGBRC(46))
      ALGBRC(33) = ALGBRC(31)+ALGBRC(32)
      ALGBRC(97) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( (( CONSTS(33)*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*(( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(3))+ (CONSTS(32)/CONSTS(31))*( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(4))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(ALGBRC(21)))), ( (( CONSTS(33)*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*(( CONSTS(30)*EXP(- 1.00000e-05) - STATES(3))+ (CONSTS(32)/CONSTS(31))*( CONSTS(30)*EXP(- 1.00000e-05) - STATES(4))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(95) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( (( CONSTS(33)*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(3)))/(1.00000+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), ( (( CONSTS(33)*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*( CONSTS(30)*EXP(- 1.00000e-05) - STATES(3)))/(1.00000+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(103) =  ALGBRC(97)*ALGBRC(89)+ ALGBRC(95)*ALGBRC(87)
      ALGBRC(104) = ( ALGBRC(95)*ALGBRC(64))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(105) = ( ( STATES(20)*ALGBRC(103)+ STATES(21)*ALGBRC(104))*CONSTS(34))/CONSTS(8)
      ALGBRC(106) =  - 1.50000*ALGBRC(105)*2.00000*CONSTS(10)*CONSTS(3)
      ALGBRC(41) = ( CONSTS(42)*STATES(3))/(CONSTS(43)+STATES(3))
      ALGBRC(42) =  ALGBRC(41)*2.00000*CONSTS(10)*CONSTS(3)
      ALGBRC(43) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(30)/STATES(3))
      ALGBRC(44) =  CONSTS(44)*(ALGBRC(43) - STATES(1))
      ALGBRC(45) =  - ALGBRC(44)*2.00000*CONSTS(10)*CONSTS(3)
      RATES(1) = - (ALGBRC(26)*0.00100000+ALGBRC(28)*0.00100000+ALGBRC(29)*0.00100000+ALGBRC(33)*0.00100000+ALGBRC(30)*0.00100000+ALGBRC(34)*0.00100000+ALGBRC(36)*0.00100000+ALGBRC(22)+ALGBRC(1)+ALGBRC(45)+ALGBRC(39)+ALGBRC(42)+ALGBRC(106))/CONSTS(4)
      ALGBRC(47) = 1.00000+( CONSTS(46)*CONSTS(47))/CONSTS(46)+STATES(3) ** 2.00000 ** - 1.00000
      RATES(3) =  ALGBRC(47)*(((ALGBRC(102) - ALGBRC(40))+ALGBRC(46)+ALGBRC(62)) - ( - 2.00000*ALGBRC(39)+ALGBRC(42)+ALGBRC(45)+ALGBRC(106))/( 2.00000*CONSTS(10)*CONSTS(3)))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+87.5000)/10.3000))
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(1)+45.0000)/- 6.50000))
      ALGBRC(13) = 0.00136000/(( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))+ 0.0800000*EXP(- STATES(1)/11.0000))
      ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1)+76.1000)/6.07000))
      ALGBRC(14) = TERNRY(STATES(1).GE.- 40.0000,  0.000453700*(1.00000+EXP(- (STATES(1)+10.6600)/11.1000)), 0.00349000/( 0.135000*EXP(- (STATES(1)+80.0000)/6.80000)+ 3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1))))
      ALGBRC(4) = 1.00000/(1.00000+EXP((STATES(1)+76.1000)/6.07000))
      ALGBRC(15) = TERNRY(STATES(1).GE.- 40.0000, ( 0.0116300*(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))))/EXP( - 2.53500e-07*STATES(1)), 0.00349000/( ((STATES(1)+37.7800)/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))*( - 127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( - 0.0439100*STATES(1)))+( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400)))))
      ALGBRC(16) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+10.6000)/- 11.4200))
      ALGBRC(17) =  0.550000*EXP(- (STATES(1)+70.0000)/25.0000 ** 2.00000)+0.0490000
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      ALGBRC(18) =  3.30000*EXP(( (- (STATES(1)+70.0000)/30.0000)*(STATES(1)+70.0000))/30.0000)+0.0490000
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      ALGBRC(19) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(1)+11.5000)/- 11.8200))
      ALGBRC(20) = 1.00000/( 0.118850*EXP((STATES(1)+80.0000)/28.3700)+ 0.562300*EXP((STATES(1)+80.0000)/- 14.1900))
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+138.600)/10.4800))
      ALGBRC(1) = TERNRY(VOI -  INT(VOI/CONSTS(5))*CONSTS(5).GE.0.00000.AND.VOI -  INT(VOI/CONSTS(5))*CONSTS(5).LE.CONSTS(6), CONSTS(7), 0.00000)
      ALGBRC(27) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(15)/STATES(5))
      ALGBRC(28) =  CONSTS(85)*STATES(10)*( CONSTS(20)*STATES(11)+ CONSTS(21)*STATES(12))*(STATES(1) - ALGBRC(27))
      ALGBRC(29) =  CONSTS(22)*STATES(13)*STATES(14)*(STATES(1) - ALGBRC(27))
      ALGBRC(30) = ( (48.0000/(EXP((STATES(1)+37.0000)/25.0000)+EXP((STATES(1)+37.0000)/- 25.0000))+10.0000)*0.00100000)/(1.00000+EXP((STATES(1) - (ALGBRC(27)+76.7700))/- 17.0000))+( CONSTS(23)*(STATES(1) - (ALGBRC(27)+1.73000)))/( (1.00000+EXP(( 1.61300*CONSTS(3)*(STATES(1) - (ALGBRC(27)+1.73000)))/( CONSTS(1)*CONSTS(2))))*(1.00000+EXP((CONSTS(15) - 0.998800)/- 0.124000)))
      ALGBRC(36) =  CONSTS(28)*(STATES(1) - ALGBRC(27))
      ALGBRC(22) = ( (( (( CONSTS(12)*1.00000)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0365000*CONSTS(83)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*CONSTS(15))/(CONSTS(15)+CONSTS(13)))*1.00000)/(1.00000+CONSTS(14)/STATES(2) ** 4.00000)
      ALGBRC(32) =  CONSTS(24)*STATES(15)*CONSTS(86)*(STATES(1) - ALGBRC(27))
      ALGBRC(25) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(16)/STATES(2))
      ALGBRC(26) =  CONSTS(84)*STATES(7) ** 3.00000*STATES(8)*STATES(9)*(STATES(1) - ALGBRC(25))
      ALGBRC(34) =  CONSTS(26)*(STATES(1) - ALGBRC(25))
      ALGBRC(12) = ( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))
      ALGBRC(38) = ( CONSTS(39)*( EXP( CONSTS(37)*ALGBRC(12))*STATES(2) ** 3.00000*CONSTS(30) -  EXP( (CONSTS(37) - 1.00000)*ALGBRC(12))*CONSTS(16) ** 3.00000*STATES(3)))/( (CONSTS(16) ** 3.00000+CONSTS(35) ** 3.00000)*(CONSTS(30)+CONSTS(36))*(1.00000+ CONSTS(38)*EXP( (CONSTS(37) - 1.00000)*ALGBRC(12))))
      ALGBRC(39) =  ALGBRC(38)*CONSTS(10)*CONSTS(3)
      ALGBRC(31) =  CONSTS(24)*STATES(15)*CONSTS(25)*(STATES(1) - ALGBRC(25))
      ALGBRC(24) = CONSTS(17) - STATES(6)
      ALGBRC(49) = TERNRY(VOI.GT.300000., 1.00000, 1.00000)
      ALGBRC(50) = TERNRY(ALGBRC(49).GT.0.800000.AND.ALGBRC(49).LE.1.15000, ALGBRC(49), TERNRY(ALGBRC(49).GT.1.15000, 1.15000, 0.800000)
      ALGBRC(52) =  CONSTS(57)*(1.00000+ CONSTS(59)*(ALGBRC(50) - 1.00000))
      ALGBRC(53) = ( ALGBRC(52)*CONSTS(17))/(ALGBRC(52)+ (CONSTS(49)/CONSTS(48))*(1.00000 - ( (1.00000+ CONSTS(60)*(ALGBRC(50) - 1.00000))*0.500000)/CONSTS(50)))
      ALGBRC(54) =  CONSTS(51)*ALGBRC(24)/ALGBRC(53) ** CONSTS(56)
      ALGBRC(48) = CONSTS(52)+( CONSTS(53)*STATES(16) ** CONSTS(54) - 1.00000)/(STATES(16) ** CONSTS(54)+CONSTS(55) ** CONSTS(54))
      ALGBRC(56) = 1.00000+ CONSTS(60)*(ALGBRC(50) - 1.00000)
      ALGBRC(55) = (CONSTS(51)/ALGBRC(53)/CONSTS(17) ** CONSTS(56) - CONSTS(87))/(CONSTS(52)+CONSTS(91)+CONSTS(51)/ALGBRC(53)/CONSTS(17) ** CONSTS(56))
      ALGBRC(57) = ( CONSTS(61)*STATES(16))/ALGBRC(55)
      ALGBRC(58) =  ALGBRC(57)*ALGBRC(56)
      ALGBRC(59) = STATES(17)+STATES(18)+STATES(19)
      ALGBRC(60) = TERNRY(ALGBRC(59).LT.0.00000, ( ALGBRC(58)*( CONSTS(62)*ALGBRC(59)+1.00000))/(1.00000 - ALGBRC(59)), ( ALGBRC(58)*(1.00000+ (CONSTS(62)+2.00000)*ALGBRC(59)))/(1.00000+ALGBRC(59)))
      ALGBRC(61) = TERNRY(1.00000 - ALGBRC(60)/( CONSTS(50)*CONSTS(61)).GT.0.100000,  CONSTS(49)*(1.00000 - ALGBRC(60)/( CONSTS(50)*CONSTS(61))),  CONSTS(49)*0.100000)
      ALGBRC(62) =  (CONSTS(17) - STATES(6))*ALGBRC(61) -  STATES(3)*STATES(6)*CONSTS(48)
      ALGBRC(21) =  2.00000*ALGBRC(12)
      ALGBRC(82) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-09, (STATES(3)+( (CONSTS(33)/CONSTS(31))*CONSTS(30)*ALGBRC(21)*EXP(- ALGBRC(21)))/(1.00000 - EXP(- ALGBRC(21))))/(1.00000+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), (STATES(3)+ (CONSTS(33)/CONSTS(31))*CONSTS(30))/(1.00000+CONSTS(33)/CONSTS(31)))
      ALGBRC(84) = (ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000)/( CONSTS(74)*(ALGBRC(82) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(68) = (STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000)/( CONSTS(74)*(STATES(3) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(63) = EXP((STATES(1) - CONSTS(69))/CONSTS(70))
      ALGBRC(64) = ALGBRC(63)/( CONSTS(72)*(ALGBRC(63)+1.00000))
      ALGBRC(65) = STATES(3) ** 2.00000/( CONSTS(90)*(STATES(3) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(83) = ALGBRC(82) ** 2.00000/( CONSTS(90)*(ALGBRC(82) ** 2.00000+CONSTS(77) ** 2.00000))
      ALGBRC(86) =  (ALGBRC(64)+CONSTS(92))*( (CONSTS(92)+CONSTS(93)+ALGBRC(83))*(CONSTS(93)+ALGBRC(65))+ ALGBRC(64)*(CONSTS(93)+ALGBRC(83)))
      ALGBRC(87) = ( ALGBRC(64)*CONSTS(93)*(ALGBRC(64)+CONSTS(92)+CONSTS(93)+ALGBRC(65)))/ALGBRC(86)
      ALGBRC(91) = ( CONSTS(92)*CONSTS(93)*(CONSTS(92)+ALGBRC(64)+CONSTS(93)+ALGBRC(83)))/ALGBRC(86)
      ALGBRC(94) =  ALGBRC(87)*ALGBRC(84)+ ALGBRC(91)*ALGBRC(68)
      ALGBRC(85) = ( CONSTS(76)*CONSTS(82)*(ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))/( CONSTS(74)*( CONSTS(82)*ALGBRC(82) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))
      ALGBRC(69) = ( CONSTS(76)*CONSTS(82)*(STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))/( CONSTS(74)*( CONSTS(82)*STATES(3) ** 2.00000+ CONSTS(81)*CONSTS(77) ** 2.00000))
      ALGBRC(96) = ( ALGBRC(64)*ALGBRC(85)+ CONSTS(92)*ALGBRC(69))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(66) = ( STATES(3)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*CONSTS(78)*(ALGBRC(63)+1.00000))
      ALGBRC(77) = ( CONSTS(92)*ALGBRC(66))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(67) = ( CONSTS(80)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*( CONSTS(80)*ALGBRC(63)+CONSTS(79)))
      ALGBRC(78) = ALGBRC(67)
      ALGBRC(79) = ((1.00000 - STATES(20)) - STATES(21)) - STATES(22)
      ALGBRC(80) = (STATES(3)+ (CONSTS(32)/CONSTS(31))*STATES(4))/(1.00000+CONSTS(32)/CONSTS(31))
      ALGBRC(81) = ( ALGBRC(80)*(ALGBRC(63)+CONSTS(79)))/( CONSTS(73)*CONSTS(78)*(ALGBRC(63)+1.00000))
      ALGBRC(88) = ( CONSTS(92)*( ALGBRC(65)*(CONSTS(92)+CONSTS(93)+ALGBRC(83))+ ALGBRC(83)*ALGBRC(64)))/ALGBRC(86)
      ALGBRC(98) =  ALGBRC(88)*ALGBRC(81)+ ALGBRC(91)*ALGBRC(66)
      ALGBRC(76) = ALGBRC(67)
      ALGBRC(74) = ( CONSTS(93)*ALGBRC(68))/(CONSTS(93)+ALGBRC(65))
      ALGBRC(75) = ALGBRC(69)
      ALGBRC(89) = ( ALGBRC(64)*( ALGBRC(83)*(ALGBRC(64)+CONSTS(93)+ALGBRC(65))+ ALGBRC(65)*CONSTS(92)))/ALGBRC(86)
      ALGBRC(90) = ( CONSTS(32)*(STATES(4) - STATES(3)))/(1.00000+CONSTS(32)/CONSTS(31))
      ALGBRC(92) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( CONSTS(32)*((STATES(4) - STATES(3))+ (( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*(STATES(4) -  CONSTS(30)*EXP(- ALGBRC(21)))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), ( CONSTS(32)*((STATES(4) - STATES(3))+ (( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*(STATES(4) -  CONSTS(30)*EXP(- 1.00000e-05))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(99) =  ALGBRC(89)*ALGBRC(92)+ ALGBRC(90)*ALGBRC(88)
      ALGBRC(100) = ( ALGBRC(90)*ALGBRC(65))/(CONSTS(93)+ALGBRC(65))
      ALGBRC(101) = ( ( STATES(20)*ALGBRC(99)+ STATES(22)*ALGBRC(100))*CONSTS(34))/CONSTS(8)
      ALGBRC(102) =  1.50000*ALGBRC(101)
      ALGBRC(40) = ( CONSTS(40)*STATES(3) ** 2.00000)/(CONSTS(41) ** 2.00000+STATES(3) ** 2.00000)
      ALGBRC(46) =  CONSTS(45)*(STATES(4) - STATES(3))
      ALGBRC(33) = ALGBRC(31)+ALGBRC(32)
      ALGBRC(97) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( (( CONSTS(33)*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*(( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(3))+ (CONSTS(32)/CONSTS(31))*( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(4))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(ALGBRC(21)))), ( (( CONSTS(33)*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*(( CONSTS(30)*EXP(- 1.00000e-05) - STATES(3))+ (CONSTS(32)/CONSTS(31))*( CONSTS(30)*EXP(- 1.00000e-05) - STATES(4))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(95) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-05, ( (( CONSTS(33)*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21))))*( CONSTS(30)*EXP(- ALGBRC(21)) - STATES(3)))/(1.00000+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), ( (( CONSTS(33)*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05)))*( CONSTS(30)*EXP(- 1.00000e-05) - STATES(3)))/(1.00000+( (CONSTS(33)/CONSTS(31))*1.00000e-05)/(1.00000 - EXP(- 1.00000e-05))))
      ALGBRC(103) =  ALGBRC(97)*ALGBRC(89)+ ALGBRC(95)*ALGBRC(87)
      ALGBRC(104) = ( ALGBRC(95)*ALGBRC(64))/(ALGBRC(64)+CONSTS(92))
      ALGBRC(105) = ( ( STATES(20)*ALGBRC(103)+ STATES(21)*ALGBRC(104))*CONSTS(34))/CONSTS(8)
      ALGBRC(106) =  - 1.50000*ALGBRC(105)*2.00000*CONSTS(10)*CONSTS(3)
      ALGBRC(41) = ( CONSTS(42)*STATES(3))/(CONSTS(43)+STATES(3))
      ALGBRC(42) =  ALGBRC(41)*2.00000*CONSTS(10)*CONSTS(3)
      ALGBRC(43) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(30)/STATES(3))
      ALGBRC(44) =  CONSTS(44)*(ALGBRC(43) - STATES(1))
      ALGBRC(45) =  - ALGBRC(44)*2.00000*CONSTS(10)*CONSTS(3)
      ALGBRC(47) = 1.00000+( CONSTS(46)*CONSTS(47))/CONSTS(46)+STATES(3) ** 2.00000 ** - 1.00000
      ALGBRC(11) = STATES(3)
      ALGBRC(23) = TERNRY(ABS(ALGBRC(21)).GT.1.00000e-09, (STATES(3)+ (CONSTS(32)/CONSTS(31))*STATES(4)+( (CONSTS(33)/CONSTS(31))*CONSTS(30)*ALGBRC(21)*EXP(- ALGBRC(21)))/(1.00000 - EXP(- ALGBRC(21))))/(1.00000+CONSTS(32)/CONSTS(31)+( (CONSTS(33)/CONSTS(31))*ALGBRC(21))/(1.00000 - EXP(- ALGBRC(21)))), (STATES(3)+ (CONSTS(32)/CONSTS(31))*STATES(4)+ (CONSTS(33)/CONSTS(31))*CONSTS(30))/(1.00000+CONSTS(32)/CONSTS(31)+CONSTS(33)/CONSTS(31)))
      ALGBRC(35) =  CONSTS(27)*(STATES(1) - CONSTS(29))
      ALGBRC(37) = ALGBRC(34)+ALGBRC(35)+ALGBRC(36)
      ALGBRC(51) = ALGBRC(49)
      ALGBRC(70) = CONSTS(92)/(ALGBRC(64)+CONSTS(92))
      ALGBRC(71) = ALGBRC(64)/(ALGBRC(64)+CONSTS(92))
      ALGBRC(72) = CONSTS(93)/(ALGBRC(65)+CONSTS(93))
      ALGBRC(73) = ALGBRC(65)/(ALGBRC(65)+CONSTS(93))
      ALGBRC(93) = (((((((1.00000 - ALGBRC(87)) - ALGBRC(88)) - ALGBRC(89)) - ALGBRC(91)) - ALGBRC(70)) - ALGBRC(72)) - ALGBRC(71)) - ALGBRC(73)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END