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 86 entries in the algebraic variable array.
C There are a total of 41 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 R in component model_parameters (joule_per_kilomole_kelvin).
C CONSTS(2) is T in component model_parameters (kelvin).
C CONSTS(3) is F in component model_parameters (coulomb_per_mole).
C CONSTS(4) is Nae in component model_parameters (millimolar).
C CONSTS(5) is Cae in component model_parameters (millimolar).
C CONSTS(6) is Ke in component model_parameters (millimolar).
C CONSTS(88) is Vt in component model_parameters (cm3).
C CONSTS(55) is Vd in component model_parameters (cm3).
C CONSTS(57) is Vmyo in component model_parameters (cm3).
C CONSTS(59) is Sms in component model_parameters (cm2).
C CONSTS(60) is Smt in component model_parameters (cm2).
C CONSTS(90) is Cms in component model_parameters (microF).
C CONSTS(89) is Cmt in component model_parameters (microF).
C CONSTS(87) is Rst in component model_parameters (ohm).
C CONSTS(56) is VSRrel in component model_parameters (cm3).
C CONSTS(58) is VSRup in component model_parameters (cm3).
C CONSTS(52) is Vc in component model_parameters (cm3).
C CONSTS(85) is pt in component model_parameters (dimensionless).
C CONSTS(86) is Lt in component model_parameters (cm).
C CONSTS(7) is Rot in component model_parameters (ohm_cm).
C CONSTS(8) is radiust in component model_parameters (cm).
C CONSTS(9) is ptcm in component model_parameters (per_cm2).
C CONSTS(10) is Smtot in component model_parameters (cm2).
C ALGBRC(23) is i_circ in component i_circ (microA).
C STATES(1) is Vms in component Vms (millivolt).
C STATES(2) is Vmt in component Vmt (millivolt).
C ALGBRC(47) is i_Stim in component i_Stim (microA).
C CONSTS(11) is stim_offset in component i_Stim (second).
C CONSTS(12) is stim_period in component i_Stim (second).
C CONSTS(13) is stim_duration in component i_Stim (second).
C CONSTS(14) is stim_amplitude in component i_Stim (microA).
C ALGBRC(44) is past in component i_Stim (second).
C CONSTS(61) is gNas in component membrane_permeabilities (milliS).
C CONSTS(62) is gCas in component membrane_permeabilities (cm3_per_second).
C CONSTS(63) is gKfs in component membrane_permeabilities (milliS).
C CONSTS(64) is gKsts in component membrane_permeabilities (milliS).
C CONSTS(65) is gK1s in component membrane_permeabilities (milliS).
C CONSTS(66) is gKbs in component membrane_permeabilities (milliS).
C CONSTS(67) is gKtos in component membrane_permeabilities (milliS).
C CONSTS(68) is gNabs in component membrane_permeabilities (milliS).
C CONSTS(69) is gCabs in component membrane_permeabilities (milliS).
C CONSTS(70) is i_pCa_maxs in component membrane_permeabilities (microA).
C CONSTS(71) is i_NaK_maxs in component membrane_permeabilities (microA).
C CONSTS(72) is i_NaCa_maxs in component membrane_permeabilities (microA).
C CONSTS(73) is gNat in component membrane_permeabilities (milliS).
C CONSTS(74) is gCat in component membrane_permeabilities (cm3_per_second).
C CONSTS(75) is gKft in component membrane_permeabilities (milliS).
C CONSTS(76) is gKstt in component membrane_permeabilities (milliS).
C CONSTS(77) is gK1t in component membrane_permeabilities (milliS).
C CONSTS(78) is gKbt in component membrane_permeabilities (milliS).
C CONSTS(79) is gKtot in component membrane_permeabilities (milliS).
C CONSTS(80) is gNabt in component membrane_permeabilities (milliS).
C CONSTS(81) is gCabt in component membrane_permeabilities (milliS).
C CONSTS(82) is i_pCa_maxt in component membrane_permeabilities (microA).
C CONSTS(83) is i_NaK_maxt in component membrane_permeabilities (microA).
C CONSTS(84) is i_NaCa_maxt in component membrane_permeabilities (microA).
C CONSTS(15) is gNa in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(16) is fNat in component membrane_permeabilities (dimensionless).
C CONSTS(17) is gKf in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(18) is fKft in component membrane_permeabilities (dimensionless).
C CONSTS(19) is gKst in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(20) is fKstt in component membrane_permeabilities (dimensionless).
C CONSTS(21) is gK1 in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(22) is fK1t in component membrane_permeabilities (dimensionless).
C CONSTS(23) is gKb in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(24) is fKbt in component membrane_permeabilities (dimensionless).
C CONSTS(25) is gKto in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(26) is fKtot in component membrane_permeabilities (dimensionless).
C CONSTS(27) is gNab in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(28) is fNabt in component membrane_permeabilities (dimensionless).
C CONSTS(29) is gCab in component membrane_permeabilities (milliS_per_cm2).
C CONSTS(30) is fCabt in component membrane_permeabilities (dimensionless).
C CONSTS(31) is gCa in component membrane_permeabilities (cm_per_second).
C CONSTS(32) is fCat in component membrane_permeabilities (dimensionless).
C CONSTS(33) is i_NaCa_max in component membrane_permeabilities (microA_per_cm2).
C CONSTS(34) is fNaCat in component membrane_permeabilities (dimensionless).
C CONSTS(35) is i_NaK_max in component membrane_permeabilities (microA_per_cm2).
C CONSTS(36) is fNaKt in component membrane_permeabilities (dimensionless).
C CONSTS(37) is i_pCa_max in component membrane_permeabilities (microA_per_cm2).
C CONSTS(38) is fpCat in component membrane_permeabilities (dimensionless).
C ALGBRC(49) is i_Nas in component i_Nas (microA).
C ALGBRC(48) is E_Nas in component i_Nas (millivolt).
C STATES(3) is Nai in component ion_concentrations (millimolar).
C STATES(4) is Ki in component ion_concentrations (millimolar).
C STATES(5) is m in component i_Nas_m_gate (dimensionless).
C STATES(6) is h in component i_Nas_h_gate (dimensionless).
C ALGBRC(1) is alpha_m in component i_Nas_m_gate (per_second).
C ALGBRC(24) is beta_m in component i_Nas_m_gate (per_second).
C ALGBRC(2) is alpha_h in component i_Nas_h_gate (per_second).
C ALGBRC(25) is beta_h in component i_Nas_h_gate (per_second).
C ALGBRC(51) is i_Nat in component i_Nat (microA).
C ALGBRC(50) is E_Nat in component i_Nat (millivolt).
C STATES(7) is Nat in component ion_concentrations (millimolar).
C STATES(8) is Kt in component ion_concentrations (millimolar).
C STATES(9) is m in component i_Nat_m_gate (dimensionless).
C STATES(10) is h in component i_Nat_h_gate (dimensionless).
C ALGBRC(3) is alpha_m in component i_Nat_m_gate (per_second).
C ALGBRC(26) is beta_m in component i_Nat_m_gate (per_second).
C ALGBRC(4) is alpha_h in component i_Nat_h_gate (per_second).
C ALGBRC(27) is beta_h in component i_Nat_h_gate (per_second).
C ALGBRC(53) is i_Cas in component i_Cas (microA).
C ALGBRC(52) is E_Cas in component i_Cas (millivolt).
C STATES(11) is Co in component i_Cas (dimensionless).
C STATES(12) is C1 in component i_Cas (dimensionless).
C STATES(13) is C2 in component i_Cas (dimensionless).
C ALGBRC(28) is tauCo in component i_Cas (second).
C CONSTS(39) is tauCcast in component i_Cas (second).
C ALGBRC(29) is tauC1 in component i_Cas (second).
C ALGBRC(45) is tauC2 in component i_Cas (second).
C STATES(14) is Ccast in component i_Cas (dimensionless).
C ALGBRC(5) is Coinf in component i_Cas (dimensionless).
C ALGBRC(6) is Ccastinf in component i_Cas (dimensionless).
C ALGBRC(7) is C1inf in component i_Cas (dimensionless).
C ALGBRC(30) is C2inf in component i_Cas (dimensionless).
C STATES(15) is Cass in component ion_concentrations (millimolar).
C STATES(16) is Cai in component ion_concentrations (millimolar).
C ALGBRC(55) is i_Cat in component i_Cat (microA).
C ALGBRC(54) is E_Cat in component i_Cat (millivolt).
C STATES(17) is Co in component i_Cat (dimensionless).
C STATES(18) is C1 in component i_Cat (dimensionless).
C STATES(19) is C2 in component i_Cat (dimensionless).
C ALGBRC(31) is tauCo in component i_Cat (second).
C CONSTS(40) is tauCcast in component i_Cat (second).
C ALGBRC(32) is tauC1 in component i_Cat (second).
C ALGBRC(46) is tauC2 in component i_Cat (second).
C ALGBRC(8) is Coinf in component i_Cat (dimensionless).
C STATES(20) is Ccast in component i_Cat (dimensionless).
C ALGBRC(9) is Ccastinf in component i_Cat (dimensionless).
C ALGBRC(10) is C1inf in component i_Cat (dimensionless).
C ALGBRC(33) is C2inf in component i_Cat (dimensionless).
C STATES(21) is Cat in component ion_concentrations (millimolar).
C ALGBRC(57) is i_Ktos in component i_Ktos (microA).
C ALGBRC(56) is E_Ks in component i_Ktos (millivolt).
C STATES(22) is rs in component i_Ktos_rs_gate (dimensionless).
C STATES(23) is ss in component i_Ktos_ss_gate (dimensionless).
C STATES(24) is sss in component i_Ktos_sss_gate (dimensionless).
C ALGBRC(34) is taurs in component i_Ktos_rs_gate (second).
C ALGBRC(11) is rinfs in component i_Ktos_rs_gate (dimensionless).
C ALGBRC(35) is tauss in component i_Ktos_ss_gate (second).
C ALGBRC(12) is sinfs in component i_Ktos_ss_gate (dimensionless).
C ALGBRC(36) is tausss in component i_Ktos_sss_gate (second).
C ALGBRC(13) is ssinfs in component i_Ktos_sss_gate (dimensionless).
C ALGBRC(59) is i_Ktot in component i_Ktot (microA).
C ALGBRC(58) is E_Kt in component i_Ktot (millivolt).
C STATES(25) is rt in component i_Ktot_rt_gate (dimensionless).
C STATES(26) is st in component i_Ktot_st_gate (dimensionless).
C STATES(27) is sst in component i_Ktot_sst_gate (dimensionless).
C ALGBRC(37) is taurt in component i_Ktot_rt_gate (second).
C ALGBRC(14) is rinft in component i_Ktot_rt_gate (dimensionless).
C ALGBRC(38) is taust in component i_Ktot_st_gate (second).
C ALGBRC(15) is sinft in component i_Ktot_st_gate (dimensionless).
C ALGBRC(39) is tausst in component i_Ktot_sst_gate (second).
C ALGBRC(16) is ssinft in component i_Ktot_sst_gate (dimensionless).
C ALGBRC(60) is i_Ksts in component i_Ksts (microA).
C STATES(28) is rsts in component i_Ksts_rsts_gate (dimensionless).
C STATES(29) is ssts in component i_Ksts_ssts_gate (dimensionless).
C ALGBRC(40) is taursts in component i_Ksts_rsts_gate (second).
C ALGBRC(17) is rstinfs in component i_Ksts_rsts_gate (dimensionless).
C CONSTS(41) is taussts in component i_Ksts_ssts_gate (second).
C ALGBRC(18) is sstinfs in component i_Ksts_ssts_gate (dimensionless).
C ALGBRC(61) is i_Kstt in component i_Kstt (microA).
C STATES(30) is rstt in component i_Kstt_rstt_gate (dimensionless).
C STATES(31) is sstt in component i_Kstt_sstt_gate (dimensionless).
C ALGBRC(41) is taurstt in component i_Kstt_rstt_gate (second).
C ALGBRC(19) is rstinft in component i_Kstt_rstt_gate (dimensionless).
C CONSTS(42) is tausstt in component i_Kstt_sstt_gate (second).
C ALGBRC(20) is sstinft in component i_Kstt_sstt_gate (dimensionless).
C ALGBRC(62) is i_Kfs in component i_Kfs (microA).
C STATES(32) is qs in component i_Kfs_qs_gate (dimensionless).
C ALGBRC(42) is tauqs in component i_Kfs_qs_gate (second).
C ALGBRC(21) is qinfs in component i_Kfs_qs_gate (dimensionless).
C ALGBRC(63) is i_Kft in component i_Kft (microA).
C STATES(33) is qt in component i_Kft_qt_gate (dimensionless).
C ALGBRC(43) is tauqt in component i_Kft_qt_gate (second).
C ALGBRC(22) is qinft in component i_Kft_qt_gate (dimensionless).
C ALGBRC(64) is i_K1s in component i_K1s (microA).
C ALGBRC(65) is i_K1t in component i_K1t (microA).
C ALGBRC(66) is i_Nabs in component i_Nabs (microA).
C ALGBRC(67) is i_Nabt in component i_Nabt (microA).
C ALGBRC(68) is i_Cabs in component i_Cabs (microA).
C ALGBRC(69) is i_Cabt in component i_Cabt (microA).
C ALGBRC(70) is i_Kbs in component i_Kbs (microA).
C ALGBRC(71) is i_Kbt in component i_Kbt (microA).
C ALGBRC(72) is i_NaCas in component i_NaCas (microA).
C ALGBRC(73) is i_NaCat in component i_NaCat (microA).
C ALGBRC(74) is i_NaKs in component i_NaKs (microA).
C ALGBRC(75) is i_NaKt in component i_NaKt (microA).
C ALGBRC(78) is i_pCas in component i_pCas (microA).
C ALGBRC(79) is i_pCat in component i_pCat (microA).
C ALGBRC(76) is JteNa in component t_tubular_ion_fluxes (millimolar_per_second).
C ALGBRC(80) is JteCa in component t_tubular_ion_fluxes (millimolar_per_second).
C ALGBRC(77) is JteK in component t_tubular_ion_fluxes (millimolar_per_second).
C CONSTS(43) is tauNa in component t_tubular_ion_fluxes (second).
C CONSTS(44) is tauCa in component t_tubular_ion_fluxes (second).
C CONSTS(45) is tauK in component t_tubular_ion_fluxes (second).
C ALGBRC(81) is JCaSRup in component JCaSRup (millimolar_per_second).
C STATES(34) is CaSRup in component CaSRup (millimolar).
C ALGBRC(82) is Jtr in component Jtr (millimolar_per_second).
C CONSTS(46) is tautr in component Jtr (second).
C STATES(35) is CaSRrel in component CaSRrel (millimolar).
C ALGBRC(83) is JCaSRrel in component JCaSRrel (millimolar_per_second).
C CONSTS(53) is kap in component JCaSRrel (per_millimolar4_per_second).
C CONSTS(47) is kam in component JCaSRrel (per_second).
C CONSTS(54) is kbp in component JCaSRrel (per_millimolar3_per_second).
C CONSTS(48) is kbm in component JCaSRrel (per_second).
C CONSTS(49) is kcp in component JCaSRrel (per_second).
C CONSTS(50) is kcm in component JCaSRrel (per_second).
C STATES(36) is F1 in component JCaSRrel (dimensionless).
C STATES(37) is F2 in component JCaSRrel (dimensionless).
C STATES(38) is F3 in component JCaSRrel (dimensionless).
C STATES(39) is F4 in component JCaSRrel (dimensionless).
C ALGBRC(84) is JCad in component JCad (millimolar_per_second).
C CONSTS(51) is taud in component JCad (second).
C STATES(40) is BTRH in component ion_concentrations (millimolar).
C STATES(41) is BTRL in component ion_concentrations (millimolar).
C ALGBRC(85) is dBTRH in component ion_concentrations (millimolar_per_second).
C ALGBRC(86) is dBTRL in component ion_concentrations (millimolar_per_second).
C RATES(5) is d/dt m in component i_Nas_m_gate (dimensionless).
C RATES(6) is d/dt h in component i_Nas_h_gate (dimensionless).
C RATES(9) is d/dt m in component i_Nat_m_gate (dimensionless).
C RATES(10) is d/dt h in component i_Nat_h_gate (dimensionless).
C RATES(12) is d/dt C1 in component i_Cas (dimensionless).
C RATES(13) is d/dt C2 in component i_Cas (dimensionless).
C RATES(11) is d/dt Co in component i_Cas (dimensionless).
C RATES(14) is d/dt Ccast in component i_Cas (dimensionless).
C RATES(18) is d/dt C1 in component i_Cat (dimensionless).
C RATES(19) is d/dt C2 in component i_Cat (dimensionless).
C RATES(17) is d/dt Co in component i_Cat (dimensionless).
C RATES(20) is d/dt Ccast in component i_Cat (dimensionless).
C RATES(22) is d/dt rs in component i_Ktos_rs_gate (dimensionless).
C RATES(23) is d/dt ss in component i_Ktos_ss_gate (dimensionless).
C RATES(24) is d/dt sss in component i_Ktos_sss_gate (dimensionless).
C RATES(25) is d/dt rt in component i_Ktot_rt_gate (dimensionless).
C RATES(26) is d/dt st in component i_Ktot_st_gate (dimensionless).
C RATES(27) is d/dt sst in component i_Ktot_sst_gate (dimensionless).
C RATES(28) is d/dt rsts in component i_Ksts_rsts_gate (dimensionless).
C RATES(29) is d/dt ssts in component i_Ksts_ssts_gate (dimensionless).
C RATES(30) is d/dt rstt in component i_Kstt_rstt_gate (dimensionless).
C RATES(31) is d/dt sstt in component i_Kstt_sstt_gate (dimensionless).
C RATES(32) is d/dt qs in component i_Kfs_qs_gate (dimensionless).
C RATES(33) is d/dt qt in component i_Kft_qt_gate (dimensionless).
C RATES(36) is d/dt F1 in component JCaSRrel (dimensionless).
C RATES(37) is d/dt F2 in component JCaSRrel (dimensionless).
C RATES(38) is d/dt F3 in component JCaSRrel (dimensionless).
C RATES(39) is d/dt F4 in component JCaSRrel (dimensionless).
C RATES(34) is d/dt CaSRup in component CaSRup (millimolar).
C RATES(35) is d/dt CaSRrel in component CaSRrel (millimolar).
C RATES(40) is d/dt BTRH in component ion_concentrations (millimolar).
C RATES(41) is d/dt BTRL in component ion_concentrations (millimolar).
C RATES(15) is d/dt Cass in component ion_concentrations (millimolar).
C RATES(16) is d/dt Cai in component ion_concentrations (millimolar).
C RATES(3) is d/dt Nai in component ion_concentrations (millimolar).
C RATES(4) is d/dt Ki in component ion_concentrations (millimolar).
C RATES(7) is d/dt Nat in component ion_concentrations (millimolar).
C RATES(21) is d/dt Cat in component ion_concentrations (millimolar).
C RATES(8) is d/dt Kt in component ion_concentrations (millimolar).
C RATES(1) is d/dt Vms in component Vms (millivolt).
C RATES(2) is d/dt Vmt in component Vmt (millivolt).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 8310
      CONSTS(2) = 295
      CONSTS(3) = 96500
      CONSTS(4) = 140
      CONSTS(5) = 1.2
      CONSTS(6) = 5.4
      CONSTS(7) = 83.33
      CONSTS(8) = 150e-7
      CONSTS(9) = 30000000
      CONSTS(10) = 0.0001
      STATES(1) = -8.0370197e1
      STATES(2) = -8.037019e1
      CONSTS(11) = 0
      CONSTS(12) = 0.2
      CONSTS(13) = 0.001
      CONSTS(14) = 0.0052
      CONSTS(15) = 10
      CONSTS(16) = 0.56
      CONSTS(17) = 0.0145
      CONSTS(18) = 0.56
      CONSTS(19) = 0.07
      CONSTS(20) = 0.76
      CONSTS(21) = 0.24
      CONSTS(22) = 0.56
      CONSTS(23) = 0.00138
      CONSTS(24) = 0.56
      CONSTS(25) = 0.35
      CONSTS(26) = 0.56
      CONSTS(27) = 0.0008015
      CONSTS(28) = 0.56
      CONSTS(29) = 0.000648
      CONSTS(30) = 0.56
      CONSTS(31) = 0.00021
      CONSTS(32) = 0.87
      CONSTS(33) = 0.00018
      CONSTS(34) = 0.81
      CONSTS(35) = 1
      CONSTS(36) = 0.59
      CONSTS(37) = 0.85
      CONSTS(38) = 0.56
      STATES(3) = 1.9426568e1
      STATES(4) = 1.2494394e2
      STATES(5) = 1.4956482e-6
      STATES(6) = 5.8925181e-1
      STATES(7) = 1.3998172e2
      STATES(8) = 5.3450263e0
      STATES(9) = 1.4956545e-6
      STATES(10) = 5.8924925e-1
      STATES(11) = 2.2292624e-6
      STATES(12) = 9.999433e-1
      STATES(13) = 9.9994746e-1
      CONSTS(39) = 0.009
      STATES(14) = 9.6561949e-3
      STATES(15) = 3.4938669e-4
      STATES(16) = 2.2847292e-4
      STATES(17) = 2.2292655e-6
      STATES(18) = 9.999433e-1
      STATES(19) = 9.9994746e-1
      CONSTS(40) = 0.009
      STATES(20) = 9.6561949e-1
      STATES(21) = 1.1906442e0
      STATES(22) = 2.2169306e-3
      STATES(23) = 6.2597631e-1
      STATES(24) = 1.6854927e-1
      STATES(25) = 2.216932e-3
      STATES(26) = 6.2597784e-1
      STATES(27) = 1.6852676e-1
      STATES(28) = 2.9408514e-3
      STATES(29) = 2.4351431e-1
      CONSTS(41) = 2.1
      STATES(30) = 2.9408534e-3
      STATES(31) = 2.4351426e-1
      CONSTS(42) = 2.1
      STATES(32) = 2.3879297e-3
      STATES(33) = 2.3878574e-3
      CONSTS(43) = 0.15
      CONSTS(44) = 0.5
      CONSTS(45) = 0.15
      STATES(34) = 1.5374352e0
      CONSTS(46) = 0.03448
      STATES(35) = 1.335789e0
      CONSTS(47) = 576
      CONSTS(48) = 1930
      CONSTS(49) = 18
      CONSTS(50) = 0.8
      STATES(36) = 1.4612276e-1
      STATES(37) = 1.0496025e-3
      STATES(38) = 9.4214405e-8
      STATES(39) = 8.5283034e-1
      CONSTS(51) = 0.003125
      STATES(40) = 9.9121461e-1
      STATES(41) = 1.9925769e-2
      CONSTS(52) = CONSTS(10)/7850.00
      CONSTS(53) = 1.21500e+13
      CONSTS(54) = 4.05000e+09
      CONSTS(55) =  CONSTS(52)*7.50000e-05
      CONSTS(56) =  CONSTS(52)*0.00350000
      CONSTS(57) =  CONSTS(52)*0.585000
      CONSTS(58) =  CONSTS(52)*0.0315000
      CONSTS(59) = CONSTS(10) -  4400.00*CONSTS(52)
      CONSTS(60) = CONSTS(10) - CONSTS(59)
      CONSTS(61) =  CONSTS(15)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(16))
      CONSTS(62) =  CONSTS(31)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(32))
      CONSTS(63) =  CONSTS(17)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(18))
      CONSTS(64) =  CONSTS(19)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(20))
      CONSTS(65) =  CONSTS(21)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(22))
      CONSTS(66) =  CONSTS(23)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(24))
      CONSTS(67) =  CONSTS(25)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(26))
      CONSTS(68) =  CONSTS(27)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(28))
      CONSTS(69) =  CONSTS(29)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(30))
      CONSTS(70) =  CONSTS(37)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(38))
      CONSTS(71) =  CONSTS(35)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(36))
      CONSTS(72) =  CONSTS(33)*(CONSTS(59)+CONSTS(60))*(1.00000 - CONSTS(34))
      CONSTS(73) =  CONSTS(15)*(CONSTS(59)+CONSTS(60))*CONSTS(16)
      CONSTS(74) =  CONSTS(31)*(CONSTS(59)+CONSTS(60))*CONSTS(32)
      CONSTS(75) =  CONSTS(17)*(CONSTS(59)+CONSTS(60))*CONSTS(18)
      CONSTS(76) =  CONSTS(19)*(CONSTS(59)+CONSTS(60))*CONSTS(20)
      CONSTS(77) =  CONSTS(21)*(CONSTS(59)+CONSTS(60))*CONSTS(22)
      CONSTS(78) =  CONSTS(23)*(CONSTS(59)+CONSTS(60))*CONSTS(24)
      CONSTS(79) =  CONSTS(25)*(CONSTS(59)+CONSTS(60))*CONSTS(26)
      CONSTS(80) =  CONSTS(27)*(CONSTS(59)+CONSTS(60))*CONSTS(28)
      CONSTS(81) =  CONSTS(29)*(CONSTS(59)+CONSTS(60))*CONSTS(30)
      CONSTS(82) =  CONSTS(37)*(CONSTS(59)+CONSTS(60))*CONSTS(38)
      CONSTS(83) =  CONSTS(35)*(CONSTS(59)+CONSTS(60))*CONSTS(36)
      CONSTS(84) =  CONSTS(33)*(CONSTS(59)+CONSTS(60))*CONSTS(34)
      CONSTS(85) =  CONSTS(9)*CONSTS(59)
      CONSTS(86) = CONSTS(60)/( 2.00000*3.14159*CONSTS(8)*CONSTS(85))
      CONSTS(87) = (( CONSTS(7)*CONSTS(86))/2.00000)/( 3.14159*CONSTS(8) ** 2.00000*CONSTS(85))
      CONSTS(88) =  3.14159*CONSTS(8) ** 2.00000*CONSTS(86)*CONSTS(85)
      CONSTS(89) =  CONSTS(60)*1.00000
      CONSTS(90) =  CONSTS(59)*1.00000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(36) =  STATES(37)*CONSTS(47) -  STATES(36)*CONSTS(53)*STATES(15) ** 4.00000
      RATES(37) = ( STATES(36)*CONSTS(53)*STATES(15) ** 4.00000+ STATES(38)*CONSTS(48)+ STATES(39)*CONSTS(50)) -  STATES(37)*(CONSTS(47)+ CONSTS(54)*STATES(15) ** 3.00000+CONSTS(49))
      RATES(38) =  STATES(37)*CONSTS(54)*STATES(15) ** 3.00000 -  STATES(38)*CONSTS(48)
      RATES(39) =  STATES(37)*CONSTS(49) -  STATES(39)*CONSTS(50)
      ALGBRC(6) = 1.00000/(1.00000+STATES(15)/0.0100000)
      RATES(14) = (ALGBRC(6) - STATES(14))/CONSTS(39)
      ALGBRC(9) = 1.00000/(1.00000+STATES(15)/0.0100000)
      RATES(20) = (ALGBRC(9) - STATES(20))/CONSTS(40)
      ALGBRC(18) = 1.00000/(1.00000+EXP((STATES(1)+87.5000)/10.3000))
      RATES(29) = (ALGBRC(18) - STATES(29))/CONSTS(41)
      ALGBRC(20) = 1.00000/(1.00000+EXP((STATES(2)+87.5000)/10.3000))
      RATES(31) = (ALGBRC(20) - STATES(31))/CONSTS(42)
      ALGBRC(1) = ( 117.260*(STATES(1)+59.3000))/(1.00000 - EXP( - 0.550000*(STATES(1)+59.3000)))
      ALGBRC(24) =  3800.00*EXP( - 0.0720000*(STATES(1)+61.0000))
      RATES(5) =  ALGBRC(1)*(1.00000 - STATES(5)) -  ALGBRC(24)*STATES(5)
      ALGBRC(2) = 284.400/(1.00000+EXP( 0.0812000*(STATES(1)+115.900)))
      ALGBRC(25) = ( 18.7700*(STATES(1)+64.4000))/(1.00000 - EXP( - 0.220000*(STATES(1)+64.4000)))
      RATES(6) =  ALGBRC(2)*(1.00000 - STATES(6)) -  ALGBRC(25)*STATES(6)
      ALGBRC(3) = ( 117.260*(STATES(2)+59.3000))/(1.00000 - EXP( - 0.550000*(STATES(2)+59.3000)))
      ALGBRC(26) =  3800.00*EXP( - 0.0720000*(STATES(2)+61.0000))
      RATES(9) =  ALGBRC(3)*(1.00000 - STATES(9)) -  ALGBRC(26)*STATES(9)
      ALGBRC(4) = 284.400/(1.00000+EXP( 0.0812000*(STATES(2)+115.900)))
      ALGBRC(27) = ( 18.7700*(STATES(2)+64.4000))/(1.00000 - EXP( - 0.220000*(STATES(2)+64.4000)))
      RATES(10) =  ALGBRC(4)*(1.00000 - STATES(10)) -  ALGBRC(27)*STATES(10)
      ALGBRC(29) =  0.105000*EXP(- (STATES(1)+45.0000)/12.0000 ** 2.00000)+0.0400000/(1.00000+EXP((- STATES(1)+25.0000)/25.0000))+0.0150000/(1.00000+EXP((STATES(1)+75.0000)/25.0000))
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+26.7000)/5.40000))
      RATES(12) = (ALGBRC(7) - STATES(12))/ALGBRC(29)
      ALGBRC(28) = 0.000250000+ 0.00305000*EXP( - 0.00450000*STATES(1)+7.00000 ** 2.00000)+ 0.00105000*EXP( - 0.00200000*STATES(1) - 18.0000 ** 2.00000)
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+15.3000)/5.00000))
      RATES(11) = (ALGBRC(5) - STATES(11))/ALGBRC(28)
      ALGBRC(32) =  0.105000*EXP(- (STATES(2)+45.0000)/12.0000 ** 2.00000)+0.0400000/(1.00000+EXP((- STATES(2)+25.0000)/25.0000))+0.0150000/(1.00000+EXP((STATES(2)+75.0000)/25.0000))
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(2)+26.7000)/5.40000))
      RATES(18) = (ALGBRC(10) - STATES(18))/ALGBRC(32)
      ALGBRC(31) = 0.000250000+ 0.00305000*EXP( - 0.00450000*STATES(2)+7.00000 ** 2.00000)+ 0.00105000*EXP( - 0.00200000*STATES(2) - 18.0000 ** 2.00000)
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(2)+15.3000)/5.00000))
      RATES(17) = (ALGBRC(8) - STATES(17))/ALGBRC(31)
      ALGBRC(34) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+10.6000)/- 11.4200))
      RATES(22) = (ALGBRC(11) - STATES(22))/ALGBRC(34)
      ALGBRC(35) =  0.350000*EXP(-  0.0666000*(STATES(1)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(12) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      RATES(23) = (ALGBRC(12) - STATES(23))/ALGBRC(35)
      ALGBRC(36) =  3.70000*EXP(-  0.0333000*(STATES(1)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      RATES(24) = (ALGBRC(13) - STATES(24))/ALGBRC(36)
      ALGBRC(37) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(2)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(2)+38.0000)))
      ALGBRC(14) = 1.00000/(1.00000+EXP((STATES(2)+10.6000)/- 11.4200))
      RATES(25) = (ALGBRC(14) - STATES(25))/ALGBRC(37)
      ALGBRC(38) =  0.350000*EXP(-  0.0666000*(STATES(2)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(15) = 1.00000/(1.00000+EXP((STATES(2)+45.3000)/6.88410))
      RATES(26) = (ALGBRC(15) - STATES(26))/ALGBRC(38)
      ALGBRC(39) =  3.70000*EXP(-  0.0333000*(STATES(2)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(16) = 1.00000/(1.00000+EXP((STATES(2)+45.3000)/6.88410))
      RATES(27) = (ALGBRC(16) - STATES(27))/ALGBRC(39)
      ALGBRC(40) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1)+11.5000)/11.8200))
      RATES(28) = (ALGBRC(17) - STATES(28))/ALGBRC(40)
      ALGBRC(41) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(2)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(2)+38.0000)))
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(2)+11.5000)/11.8200))
      RATES(30) = (ALGBRC(19) - STATES(30))/ALGBRC(41)
      ALGBRC(42) = 1.00000/( 0.118850*EXP((STATES(1)+80.0000)/28.3700)+ 0.562300*EXP(- (STATES(1)+80.0000)/14.1900))
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(1)+138.600)/10.4800))
      RATES(32) = (ALGBRC(21) - STATES(32))/ALGBRC(42)
      ALGBRC(43) = 1.00000/( 0.118850*EXP((STATES(2)+80.0000)/28.3700)+ 0.562300*EXP(- (STATES(2)+80.0000)/14.1900))
      ALGBRC(22) = 1.00000/(1.00000+EXP((STATES(2)+138.600)/10.4800))
      RATES(33) = (ALGBRC(22) - STATES(33))/ALGBRC(43)
      ALGBRC(45) =  0.0410000*EXP(- (STATES(1)+47.0000)/12.0000 ** 2.00000)+0.0800000/(1.00000+EXP(- (STATES(1)+55.0000)/5.00000))+0.0150000/(1.00000+EXP((STATES(1)+75.0000)/25.0000))
      ALGBRC(30) = ALGBRC(7)
      RATES(13) = (ALGBRC(30) - STATES(13))/ALGBRC(45)
      ALGBRC(46) =  0.0410000*EXP(- (STATES(2)+47.0000)/12.0000 ** 2.00000)+0.0800000/(1.00000+EXP(- (STATES(2)+55.0000)/5.00000))+0.0150000/(1.00000+EXP((STATES(2)+75.0000)/25.0000))
      ALGBRC(33) = ALGBRC(10)
      RATES(19) = (ALGBRC(33) - STATES(19))/ALGBRC(46)
      ALGBRC(49) =  CONSTS(61)*STATES(5) ** 3.00000*STATES(6)*(STATES(1) - ( log((CONSTS(4)+ 0.120000*CONSTS(6))/(STATES(3)+ 0.120000*STATES(4)))*CONSTS(1)*CONSTS(2))/CONSTS(3))
      ALGBRC(51) =  CONSTS(73)*STATES(9) ** 3.00000*STATES(10)*(STATES(2) - ( log((STATES(7)+ 0.120000*STATES(8))/(STATES(3)+ 0.120000*STATES(4)))*CONSTS(1)*CONSTS(2))/CONSTS(3))
      ALGBRC(48) = ( log(CONSTS(4)/STATES(3))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(66) =  CONSTS(68)*(STATES(1) - ALGBRC(48))
      ALGBRC(50) = ( log(STATES(7)/STATES(3))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(67) =  CONSTS(80)*(STATES(2) - ALGBRC(50))
      ALGBRC(72) = ( CONSTS(72)*( EXP( 0.0187000*STATES(1))*STATES(3) ** 3.00000*CONSTS(5) -  EXP( - 0.0187000*STATES(1))*CONSTS(4) ** 3.00000*STATES(16)))/(1.00000+ 0.000100000*( CONSTS(4) ** 3.00000*STATES(16)+ STATES(3) ** 3.00000*CONSTS(5)))
      ALGBRC(73) = ( CONSTS(84)*( EXP( 0.0187000*STATES(2))*STATES(3) ** 3.00000*STATES(21) -  EXP( - 0.0187000*STATES(2))*STATES(7) ** 3.00000*STATES(16)))/(1.00000+ 0.000100000*( STATES(7) ** 3.00000*STATES(16)+ STATES(3) ** 3.00000*STATES(21)))
      ALGBRC(74) = ( (( (CONSTS(71)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ (( 0.0365000*1.00000)/7.00000)*(EXP(CONSTS(4)/67.3000) - 1.00000)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*1.00000)/(1.00000+10.0000/STATES(3) ** 1.50000))*CONSTS(6))/(CONSTS(6)+1.50000)
      ALGBRC(75) = ( (( (CONSTS(83)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ (( 0.0365000*1.00000)/7.00000)*(EXP(STATES(7)/67.3000) - 1.00000)*EXP(( - STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*1.00000)/(1.00000+10.0000/STATES(3) ** 1.50000))*STATES(8))/(STATES(8)+1.50000)
      RATES(3) = - (ALGBRC(49)+ALGBRC(51)+ALGBRC(66)+ALGBRC(67)+ 3.00000*ALGBRC(72)+ 3.00000*ALGBRC(73)+ 3.00000*ALGBRC(74)+ 3.00000*ALGBRC(75))/( CONSTS(3)*CONSTS(57))
      ALGBRC(44) =  INT(VOI/CONSTS(12))*CONSTS(12)
      ALGBRC(47) = TERNRY(VOI - ALGBRC(44).GE.CONSTS(11).AND.VOI - ALGBRC(44).LE.CONSTS(11)+CONSTS(13), CONSTS(14), 0.00000)
      ALGBRC(56) = ( log(CONSTS(6)/STATES(4))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(57) =  CONSTS(67)*STATES(22)*( 0.886000*STATES(23)+ 0.114000*STATES(24))*(STATES(1) - ALGBRC(56))
      ALGBRC(58) = ( log(STATES(8)/STATES(4))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(59) =  CONSTS(79)*STATES(25)*( 0.886000*STATES(26)+ 0.114000*STATES(27))*(STATES(2) - ALGBRC(58))
      ALGBRC(60) =  CONSTS(64)*STATES(28)*STATES(29)*(STATES(1) - ALGBRC(56))
      ALGBRC(61) =  CONSTS(76)*STATES(30)*STATES(31)*(STATES(2) - ALGBRC(58))
      ALGBRC(62) =  CONSTS(63)*STATES(32)*( 0.200000*(STATES(1) - ALGBRC(48))+ 0.800000*(STATES(1) - ALGBRC(56)))
      ALGBRC(63) =  CONSTS(75)*STATES(33)*( 0.200000*(STATES(2) - ALGBRC(50))+ 0.800000*(STATES(2) - ALGBRC(58)))
      ALGBRC(64) = ( CONSTS(65)*((STATES(1) - ALGBRC(56)) - 1.73000))/(1.00000+ EXP( (( 1.61300*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*((STATES(1) - ALGBRC(56)) - 1.73000))*(1.00000+EXP((CONSTS(6) - 0.998800)/- 0.124000)))
      ALGBRC(65) = ( CONSTS(77)*((STATES(2) - ALGBRC(58)) - 1.73000))/(1.00000+ EXP( (( 1.61300*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*((STATES(2) - ALGBRC(58)) - 1.73000))*(1.00000+EXP((STATES(8) - 0.998800)/- 0.124000)))
      ALGBRC(70) =  CONSTS(66)*(STATES(1) - ALGBRC(56))
      ALGBRC(71) =  CONSTS(78)*(STATES(2) - ALGBRC(58))
      RATES(4) = - ((((- ALGBRC(47)+ALGBRC(62)+ALGBRC(63)+ALGBRC(60)+ALGBRC(61)+ALGBRC(64)+ALGBRC(65)+ALGBRC(70)+ALGBRC(71)) -  2.00000*ALGBRC(74)) -  2.00000*ALGBRC(75))+ALGBRC(57)+ALGBRC(59))/( CONSTS(3)*CONSTS(57))
      ALGBRC(76) =  (( 1.00000*CONSTS(88))/CONSTS(43))*(STATES(7) - CONSTS(4))
      RATES(7) = ((ALGBRC(51)+ALGBRC(67)+ 3.00000*ALGBRC(73)+ 3.00000*ALGBRC(75))/CONSTS(3) -  1.00000*ALGBRC(76))/CONSTS(88)
      ALGBRC(77) =  (( 1.00000*CONSTS(88))/CONSTS(45))*(STATES(8) - CONSTS(6))
      RATES(8) = ((((ALGBRC(63)+ALGBRC(61)+ALGBRC(65)+ALGBRC(71)) -  2.00000*ALGBRC(75))+ALGBRC(59))/CONSTS(3) -  1.00000*ALGBRC(77))/CONSTS(88)
      ALGBRC(23) =  1000.00*(STATES(2)/CONSTS(87) - STATES(1)/CONSTS(87))
      ALGBRC(53) =  (( (( CONSTS(62)*4.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( STATES(15)*EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  0.341000*CONSTS(5)))/(EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))*STATES(11)*( (0.900000+STATES(14)/10.0000)*STATES(12)+ (0.100000 - STATES(14)/10.0000)*STATES(13))
      ALGBRC(52) = ( log(CONSTS(5)/STATES(16))*CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3))
      ALGBRC(68) =  CONSTS(69)*(STATES(1) - ALGBRC(52))
      ALGBRC(78) = ( CONSTS(70)*STATES(16))/(0.000400000+STATES(16))
      RATES(1) = ( 1000.00*((ALGBRC(47)+ALGBRC(23)) - (ALGBRC(49)+ALGBRC(53)+ALGBRC(57)+ALGBRC(60)+ALGBRC(62)+ALGBRC(64)+ALGBRC(66)+ALGBRC(68)+ALGBRC(70)+ALGBRC(74)+ALGBRC(72)+ALGBRC(78))))/CONSTS(90)
      ALGBRC(55) =  (( (( CONSTS(74)*4.00000*STATES(2)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( STATES(15)*EXP(( 2.00000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  0.341000*STATES(21)))/(EXP(( 2.00000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))*STATES(17)*( (0.900000+STATES(20)/10.0000)*STATES(18)+ (0.100000 - STATES(20)/10.0000)*STATES(19))
      ALGBRC(54) = ( log(STATES(21)/STATES(16))*CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3))
      ALGBRC(69) =  CONSTS(81)*(STATES(2) - ALGBRC(54))
      ALGBRC(79) = ( CONSTS(82)*STATES(16))/(0.000400000+STATES(16))
      RATES(2) = ( 1000.00*- (ALGBRC(23)+ALGBRC(51)+ALGBRC(55)+ALGBRC(59)+ALGBRC(61)+ALGBRC(63)+ALGBRC(65)+ALGBRC(67)+ALGBRC(69)+ALGBRC(71)+ALGBRC(75)+ALGBRC(73)+ALGBRC(79)))/CONSTS(89)
      ALGBRC(80) =  (( 1.00000*CONSTS(88))/CONSTS(44))*(STATES(21) - CONSTS(5))
      RATES(21) = (( - 2.00000*ALGBRC(73)+ALGBRC(55)+ALGBRC(69)+ALGBRC(79))/( 2.00000*CONSTS(3)) -  1.00000*ALGBRC(80))/CONSTS(88)
      ALGBRC(81) = ( 1.00000*CONSTS(57)*( 0.0400000*10.0000*STATES(16)/0.000168000 ** 1.20000 - ( 0.900000*STATES(34))/3.29000))/(1.00000+STATES(16)/0.000168000 ** 1.20000+STATES(34)/3.29000)
      ALGBRC(82) =  (( 1.00000*CONSTS(56))/CONSTS(46))*(STATES(34) - STATES(35))
      RATES(34) = (ALGBRC(81) - ALGBRC(82))/( 1.00000*CONSTS(58))
      ALGBRC(83) =  1800.00*CONSTS(56)*(STATES(37)+STATES(38))*(STATES(35) - STATES(15))
      RATES(35) = ( (1.00000/(1.00000+( 15.0000*0.800000)/0.800000+STATES(35) ** 2.00000))*(ALGBRC(82) - ALGBRC(83)))/CONSTS(56)
      ALGBRC(84) = ( 1.00000*(STATES(15) - STATES(16))*CONSTS(57))/CONSTS(51)
      RATES(15) =  (1.00000/(1.00000+( 0.0500000*0.00238000)/0.00238000+STATES(15) ** 2.00000))*((- (ALGBRC(53)+ALGBRC(55))/( 2.00000*CONSTS(3)*CONSTS(55))+( 1.00000*ALGBRC(83))/CONSTS(55)) - ( 1.00000*ALGBRC(84))/CONSTS(55))
      ALGBRC(85) =  20000.0*STATES(16)*(1.00000 - STATES(40)) -  0.0700000*STATES(40)
      RATES(40) = ALGBRC(85)
      ALGBRC(86) =  40000.0*STATES(16)*(1.00000 - STATES(41)) -  STATES(41)*40.0000
      RATES(41) = ALGBRC(86)
      RATES(16) =  (1.00000/(1.00000+( 0.0500000*0.00238000)/0.00238000+STATES(16) ** 2.00000))*(((( - 2.00000*(ALGBRC(72)+ALGBRC(73))+ALGBRC(68)+ALGBRC(69)+ALGBRC(78)+ALGBRC(79))/( - 2.00000*CONSTS(3)*CONSTS(57))+( 1.00000*(ALGBRC(84) - ALGBRC(81)))/CONSTS(57)) -  ALGBRC(85)*0.140000) -  ALGBRC(86)*0.0700000)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(6) = 1.00000/(1.00000+STATES(15)/0.0100000)
      ALGBRC(9) = 1.00000/(1.00000+STATES(15)/0.0100000)
      ALGBRC(18) = 1.00000/(1.00000+EXP((STATES(1)+87.5000)/10.3000))
      ALGBRC(20) = 1.00000/(1.00000+EXP((STATES(2)+87.5000)/10.3000))
      ALGBRC(1) = ( 117.260*(STATES(1)+59.3000))/(1.00000 - EXP( - 0.550000*(STATES(1)+59.3000)))
      ALGBRC(24) =  3800.00*EXP( - 0.0720000*(STATES(1)+61.0000))
      ALGBRC(2) = 284.400/(1.00000+EXP( 0.0812000*(STATES(1)+115.900)))
      ALGBRC(25) = ( 18.7700*(STATES(1)+64.4000))/(1.00000 - EXP( - 0.220000*(STATES(1)+64.4000)))
      ALGBRC(3) = ( 117.260*(STATES(2)+59.3000))/(1.00000 - EXP( - 0.550000*(STATES(2)+59.3000)))
      ALGBRC(26) =  3800.00*EXP( - 0.0720000*(STATES(2)+61.0000))
      ALGBRC(4) = 284.400/(1.00000+EXP( 0.0812000*(STATES(2)+115.900)))
      ALGBRC(27) = ( 18.7700*(STATES(2)+64.4000))/(1.00000 - EXP( - 0.220000*(STATES(2)+64.4000)))
      ALGBRC(29) =  0.105000*EXP(- (STATES(1)+45.0000)/12.0000 ** 2.00000)+0.0400000/(1.00000+EXP((- STATES(1)+25.0000)/25.0000))+0.0150000/(1.00000+EXP((STATES(1)+75.0000)/25.0000))
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+26.7000)/5.40000))
      ALGBRC(28) = 0.000250000+ 0.00305000*EXP( - 0.00450000*STATES(1)+7.00000 ** 2.00000)+ 0.00105000*EXP( - 0.00200000*STATES(1) - 18.0000 ** 2.00000)
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1)+15.3000)/5.00000))
      ALGBRC(32) =  0.105000*EXP(- (STATES(2)+45.0000)/12.0000 ** 2.00000)+0.0400000/(1.00000+EXP((- STATES(2)+25.0000)/25.0000))+0.0150000/(1.00000+EXP((STATES(2)+75.0000)/25.0000))
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(2)+26.7000)/5.40000))
      ALGBRC(31) = 0.000250000+ 0.00305000*EXP( - 0.00450000*STATES(2)+7.00000 ** 2.00000)+ 0.00105000*EXP( - 0.00200000*STATES(2) - 18.0000 ** 2.00000)
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(2)+15.3000)/5.00000))
      ALGBRC(34) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+10.6000)/- 11.4200))
      ALGBRC(35) =  0.350000*EXP(-  0.0666000*(STATES(1)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(12) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      ALGBRC(36) =  3.70000*EXP(-  0.0333000*(STATES(1)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(1)+45.3000)/6.88410))
      ALGBRC(37) = 1.00000/( 45.1600*EXP( 0.0357700*(STATES(2)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(2)+38.0000)))
      ALGBRC(14) = 1.00000/(1.00000+EXP((STATES(2)+10.6000)/- 11.4200))
      ALGBRC(38) =  0.350000*EXP(-  0.0666000*(STATES(2)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(15) = 1.00000/(1.00000+EXP((STATES(2)+45.3000)/6.88410))
      ALGBRC(39) =  3.70000*EXP(-  0.0333000*(STATES(2)+70.0000) ** 2.00000)+0.0350000
      ALGBRC(16) = 1.00000/(1.00000+EXP((STATES(2)+45.3000)/6.88410))
      ALGBRC(40) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(1)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(1)+38.0000)))
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1)+11.5000)/11.8200))
      ALGBRC(41) = 10.0000/( 45.1600*EXP( 0.0357700*(STATES(2)+50.0000))+ 98.9000*EXP( - 0.100000*(STATES(2)+38.0000)))
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(2)+11.5000)/11.8200))
      ALGBRC(42) = 1.00000/( 0.118850*EXP((STATES(1)+80.0000)/28.3700)+ 0.562300*EXP(- (STATES(1)+80.0000)/14.1900))
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(1)+138.600)/10.4800))
      ALGBRC(43) = 1.00000/( 0.118850*EXP((STATES(2)+80.0000)/28.3700)+ 0.562300*EXP(- (STATES(2)+80.0000)/14.1900))
      ALGBRC(22) = 1.00000/(1.00000+EXP((STATES(2)+138.600)/10.4800))
      ALGBRC(45) =  0.0410000*EXP(- (STATES(1)+47.0000)/12.0000 ** 2.00000)+0.0800000/(1.00000+EXP(- (STATES(1)+55.0000)/5.00000))+0.0150000/(1.00000+EXP((STATES(1)+75.0000)/25.0000))
      ALGBRC(30) = ALGBRC(7)
      ALGBRC(46) =  0.0410000*EXP(- (STATES(2)+47.0000)/12.0000 ** 2.00000)+0.0800000/(1.00000+EXP(- (STATES(2)+55.0000)/5.00000))+0.0150000/(1.00000+EXP((STATES(2)+75.0000)/25.0000))
      ALGBRC(33) = ALGBRC(10)
      ALGBRC(49) =  CONSTS(61)*STATES(5) ** 3.00000*STATES(6)*(STATES(1) - ( log((CONSTS(4)+ 0.120000*CONSTS(6))/(STATES(3)+ 0.120000*STATES(4)))*CONSTS(1)*CONSTS(2))/CONSTS(3))
      ALGBRC(51) =  CONSTS(73)*STATES(9) ** 3.00000*STATES(10)*(STATES(2) - ( log((STATES(7)+ 0.120000*STATES(8))/(STATES(3)+ 0.120000*STATES(4)))*CONSTS(1)*CONSTS(2))/CONSTS(3))
      ALGBRC(48) = ( log(CONSTS(4)/STATES(3))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(66) =  CONSTS(68)*(STATES(1) - ALGBRC(48))
      ALGBRC(50) = ( log(STATES(7)/STATES(3))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(67) =  CONSTS(80)*(STATES(2) - ALGBRC(50))
      ALGBRC(72) = ( CONSTS(72)*( EXP( 0.0187000*STATES(1))*STATES(3) ** 3.00000*CONSTS(5) -  EXP( - 0.0187000*STATES(1))*CONSTS(4) ** 3.00000*STATES(16)))/(1.00000+ 0.000100000*( CONSTS(4) ** 3.00000*STATES(16)+ STATES(3) ** 3.00000*CONSTS(5)))
      ALGBRC(73) = ( CONSTS(84)*( EXP( 0.0187000*STATES(2))*STATES(3) ** 3.00000*STATES(21) -  EXP( - 0.0187000*STATES(2))*STATES(7) ** 3.00000*STATES(16)))/(1.00000+ 0.000100000*( STATES(7) ** 3.00000*STATES(16)+ STATES(3) ** 3.00000*STATES(21)))
      ALGBRC(74) = ( (( (CONSTS(71)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ (( 0.0365000*1.00000)/7.00000)*(EXP(CONSTS(4)/67.3000) - 1.00000)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*1.00000)/(1.00000+10.0000/STATES(3) ** 1.50000))*CONSTS(6))/(CONSTS(6)+1.50000)
      ALGBRC(75) = ( (( (CONSTS(83)/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ (( 0.0365000*1.00000)/7.00000)*(EXP(STATES(7)/67.3000) - 1.00000)*EXP(( - STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))*1.00000)/(1.00000+10.0000/STATES(3) ** 1.50000))*STATES(8))/(STATES(8)+1.50000)
      ALGBRC(44) =  INT(VOI/CONSTS(12))*CONSTS(12)
      ALGBRC(47) = TERNRY(VOI - ALGBRC(44).GE.CONSTS(11).AND.VOI - ALGBRC(44).LE.CONSTS(11)+CONSTS(13), CONSTS(14), 0.00000)
      ALGBRC(56) = ( log(CONSTS(6)/STATES(4))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(57) =  CONSTS(67)*STATES(22)*( 0.886000*STATES(23)+ 0.114000*STATES(24))*(STATES(1) - ALGBRC(56))
      ALGBRC(58) = ( log(STATES(8)/STATES(4))*CONSTS(1)*CONSTS(2))/CONSTS(3)
      ALGBRC(59) =  CONSTS(79)*STATES(25)*( 0.886000*STATES(26)+ 0.114000*STATES(27))*(STATES(2) - ALGBRC(58))
      ALGBRC(60) =  CONSTS(64)*STATES(28)*STATES(29)*(STATES(1) - ALGBRC(56))
      ALGBRC(61) =  CONSTS(76)*STATES(30)*STATES(31)*(STATES(2) - ALGBRC(58))
      ALGBRC(62) =  CONSTS(63)*STATES(32)*( 0.200000*(STATES(1) - ALGBRC(48))+ 0.800000*(STATES(1) - ALGBRC(56)))
      ALGBRC(63) =  CONSTS(75)*STATES(33)*( 0.200000*(STATES(2) - ALGBRC(50))+ 0.800000*(STATES(2) - ALGBRC(58)))
      ALGBRC(64) = ( CONSTS(65)*((STATES(1) - ALGBRC(56)) - 1.73000))/(1.00000+ EXP( (( 1.61300*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*((STATES(1) - ALGBRC(56)) - 1.73000))*(1.00000+EXP((CONSTS(6) - 0.998800)/- 0.124000)))
      ALGBRC(65) = ( CONSTS(77)*((STATES(2) - ALGBRC(58)) - 1.73000))/(1.00000+ EXP( (( 1.61300*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*((STATES(2) - ALGBRC(58)) - 1.73000))*(1.00000+EXP((STATES(8) - 0.998800)/- 0.124000)))
      ALGBRC(70) =  CONSTS(66)*(STATES(1) - ALGBRC(56))
      ALGBRC(71) =  CONSTS(78)*(STATES(2) - ALGBRC(58))
      ALGBRC(76) =  (( 1.00000*CONSTS(88))/CONSTS(43))*(STATES(7) - CONSTS(4))
      ALGBRC(77) =  (( 1.00000*CONSTS(88))/CONSTS(45))*(STATES(8) - CONSTS(6))
      ALGBRC(23) =  1000.00*(STATES(2)/CONSTS(87) - STATES(1)/CONSTS(87))
      ALGBRC(53) =  (( (( CONSTS(62)*4.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( STATES(15)*EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  0.341000*CONSTS(5)))/(EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))*STATES(11)*( (0.900000+STATES(14)/10.0000)*STATES(12)+ (0.100000 - STATES(14)/10.0000)*STATES(13))
      ALGBRC(52) = ( log(CONSTS(5)/STATES(16))*CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3))
      ALGBRC(68) =  CONSTS(69)*(STATES(1) - ALGBRC(52))
      ALGBRC(78) = ( CONSTS(70)*STATES(16))/(0.000400000+STATES(16))
      ALGBRC(55) =  (( (( CONSTS(74)*4.00000*STATES(2)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( STATES(15)*EXP(( 2.00000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  0.341000*STATES(21)))/(EXP(( 2.00000*STATES(2)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000))*STATES(17)*( (0.900000+STATES(20)/10.0000)*STATES(18)+ (0.100000 - STATES(20)/10.0000)*STATES(19))
      ALGBRC(54) = ( log(STATES(21)/STATES(16))*CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3))
      ALGBRC(69) =  CONSTS(81)*(STATES(2) - ALGBRC(54))
      ALGBRC(79) = ( CONSTS(82)*STATES(16))/(0.000400000+STATES(16))
      ALGBRC(80) =  (( 1.00000*CONSTS(88))/CONSTS(44))*(STATES(21) - CONSTS(5))
      ALGBRC(81) = ( 1.00000*CONSTS(57)*( 0.0400000*10.0000*STATES(16)/0.000168000 ** 1.20000 - ( 0.900000*STATES(34))/3.29000))/(1.00000+STATES(16)/0.000168000 ** 1.20000+STATES(34)/3.29000)
      ALGBRC(82) =  (( 1.00000*CONSTS(56))/CONSTS(46))*(STATES(34) - STATES(35))
      ALGBRC(83) =  1800.00*CONSTS(56)*(STATES(37)+STATES(38))*(STATES(35) - STATES(15))
      ALGBRC(84) = ( 1.00000*(STATES(15) - STATES(16))*CONSTS(57))/CONSTS(51)
      ALGBRC(85) =  20000.0*STATES(16)*(1.00000 - STATES(40)) -  0.0700000*STATES(40)
      ALGBRC(86) =  40000.0*STATES(16)*(1.00000 - STATES(41)) -  STATES(41)*40.0000
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END