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 107 entries in the algebraic variable array.
C There are a total of 35 entries in each of the rate and state variable arrays.
C There are a total of 89 entries in the constant variable array.
C
C
C CONSTS(1) is I_hold in component interface (pA_per_pF).
C CONSTS(2) is I_test in component interface (pA_per_pF).
C CONSTS(3) is test_start in component interface (msec).
C CONSTS(4) is test_end in component interface (msec).
C ALGBRC(1) is Ist in component interface (pA_per_pF).
C VOI is time in component environment (msec).
C ALGBRC(105) is I_tot in component membrane_potential (pA_per_pF).
C ALGBRC(87) is I_Ca_tot in component membrane_potential (pA_per_pF).
C STATES(1) is v in component membrane_potential (mV).
C CONSTS(74) is Cm in component parameters (uF_per_cm2).
C ALGBRC(64) is ina in component I_Na (pA_per_pF).
C ALGBRC(71) is ical in component I_CaL (pA_per_pF).
C ALGBRC(73) is icat in component I_CaT (pA_per_pF).
C ALGBRC(74) is ib in component I_b (pA_per_pF).
C ALGBRC(75) is iherg in component I_HERG (pA_per_pF).
C ALGBRC(76) is ikcnq1 in component I_KCNQ1 (pA_per_pF).
C ALGBRC(77) is ikcnq4 in component I_KCNQ4 (pA_per_pF).
C ALGBRC(78) is ikcnq5 in component I_KCNQ5 (pA_per_pF).
C ALGBRC(79) is ik1 in component I_K1 (pA_per_pF).
C ALGBRC(80) is ik2 in component I_K2 (pA_per_pF).
C ALGBRC(81) is ika in component I_Ka (pA_per_pF).
C ALGBRC(82) is iBKa in component I_BKa (pA_per_pF).
C ALGBRC(83) is iBKab in component I_BKab (pA_per_pF).
C ALGBRC(84) is ih in component I_h (pA_per_pF).
C ALGBRC(85) is icl in component I_Cl (pA_per_pF).
C ALGBRC(89) is insna in component I_ns (pA_per_pF).
C ALGBRC(86) is insca in component I_ns (pA_per_pF).
C ALGBRC(91) is insk in component I_ns (pA_per_pF).
C ALGBRC(93) is inak in component I_NaK (pA_per_pF).
C ALGBRC(102) is inaca in component I_NaCa (pA_per_pF).
C ALGBRC(106) is J_tot in component Ca_Concentrations (mM_per_msec).
C ALGBRC(88) is J_Ca_mem in component Ca_Concentrations (mM_per_msec).
C STATES(2) is cai in component Ca_Concentrations (mM).
C ALGBRC(101) is jnaca in component J_NaCa (mM_per_msec).
C ALGBRC(103) is jpmca in component J_PMCA (mM_per_msec).
C CONSTS(69) is buff in component parameters (dimensionless).
C CONSTS(70) is AV in component parameters (cm2_per_uL).
C CONSTS(71) is zca in component parameters (dimensionless).
C CONSTS(73) is frdy in component parameters (coulomb_per_mole).
C ALGBRC(90) is jcamem_plot in component Ca_Concentrations (M_per_msec).
C ALGBRC(107) is jpmca_plot in component Ca_Concentrations (M_per_msec).
C ALGBRC(104) is jnaca_plot in component Ca_Concentrations (M_per_msec).
C CONSTS(5) is conversion in component Ca_Concentrations (mM_to_M).
C CONSTS(12) is ki in component parameters (mM).
C CONSTS(60) is nai in component parameters (mM).
C CONSTS(63) is cli in component parameters (mM).
C CONSTS(64) is ko in component parameters (mM).
C CONSTS(13) is cao in component parameters (mM).
C CONSTS(65) is nao in component parameters (mM).
C CONSTS(67) is clo in component parameters (mM).
C CONSTS(14) is mgo in component parameters (mM).
C CONSTS(15) is zna in component parameters (dimensionless).
C CONSTS(16) is zk in component parameters (dimensionless).
C CONSTS(72) is R in component parameters (joule_per_kelvin_per_kilomole).
C CONSTS(75) is temp in component parameters (kelvin).
C CONSTS(17) is gna in component parameters (nS_per_pF).
C CONSTS(18) is gcal in component parameters (nS_per_pF).
C CONSTS(19) is ecal in component parameters (mV).
C CONSTS(20) is kmca in component parameters (mM).
C CONSTS(21) is gcat in component parameters (nS_per_pF).
C CONSTS(22) is ecat in component parameters (mV).
C CONSTS(23) is gkca in component parameters (nS_per_pF).
C CONSTS(24) is gb in component parameters (nS_per_pF).
C CONSTS(25) is gk1 in component parameters (nS_per_pF).
C CONSTS(26) is gk2 in component parameters (nS_per_pF).
C CONSTS(27) is gbka in component parameters (dimensionless).
C CONSTS(28) is gbkab in component parameters (dimensionless).
C CONSTS(29) is gka in component parameters (nS_per_pF).
C CONSTS(30) is gkq1 in component parameters (nS_per_pF).
C CONSTS(31) is gkq4 in component parameters (nS_per_pF).
C CONSTS(32) is gkq5 in component parameters (nS_per_pF).
C CONSTS(33) is gherg in component parameters (nS_per_pF).
C CONSTS(34) is gcl in component parameters (nS_per_pF).
C CONSTS(35) is gh in component parameters (nS_per_pF).
C CONSTS(36) is gns in component parameters (nS_per_pF).
C CONSTS(37) is PnsK in component parameters (dimensionless).
C CONSTS(38) is PnsNa in component parameters (dimensionless).
C CONSTS(39) is PnsCa in component parameters (dimensionless).
C CONSTS(40) is PnsCs in component parameters (dimensionless).
C CONSTS(41) is gnsCa in component parameters (dimensionless).
C CONSTS(42) is gnsNa in component parameters (dimensionless).
C CONSTS(43) is gnsK in component parameters (dimensionless).
C CONSTS(44) is gnsCs in component parameters (dimensionless).
C CONSTS(76) is ginak in component parameters (pA_per_pF).
C CONSTS(81) is nakKmko in component parameters (mM).
C CONSTS(83) is nakKmnai in component parameters (mM).
C CONSTS(77) is PK in component parameters (dimensionless).
C CONSTS(82) is PNa in component parameters (dimensionless).
C CONSTS(45) is Jpmca in component parameters (mM_per_msec).
C CONSTS(46) is Kmpmca in component parameters (mM).
C CONSTS(47) is npmca in component parameters (dimensionless).
C CONSTS(85) is Jnaca in component parameters (mM_per_msec).
C CONSTS(48) is Kmallo in component parameters (mM).
C CONSTS(49) is nallo in component parameters (dimensionless).
C CONSTS(86) is ksat in component parameters (dimensionless).
C CONSTS(87) is xgamma in component parameters (dimensionless).
C CONSTS(50) is Kmnai in component parameters (mM).
C CONSTS(51) is Kmcai in component parameters (mM).
C CONSTS(52) is Kmnao in component parameters (mM).
C CONSTS(53) is Kmcao in component parameters (mM).
C CONSTS(54) is Fmax in component parameters (uN).
C CONSTS(55) is FKm in component parameters (nM).
C CONSTS(56) is Fn in component parameters (dimensionless).
C ALGBRC(29) is vFRT in component parameters (dimensionless).
C CONSTS(78) is ena in component parameters (mV).
C CONSTS(79) is ek in component parameters (mV).
C CONSTS(84) is eh in component parameters (mV).
C CONSTS(80) is ecl in component parameters (mV).
C ALGBRC(59) is enscc in component parameters (mV).
C ALGBRC(2) is wss in component Ca_dependent_Force (dimensionless).
C ALGBRC(30) is wtc in component Ca_dependent_Force (msec).
C CONSTS(6) is conversion in component Ca_dependent_Force (nM_to_mM).
C ALGBRC(3) is Force in component Ca_dependent_Force (uN).
C STATES(3) is w in component Ca_dependent_Force (dimensionless).
C ALGBRC(4) is mss in component I_Na (dimensionless).
C ALGBRC(5) is hss in component I_Na (dimensionless).
C ALGBRC(31) is mtc in component I_Na (msec).
C ALGBRC(32) is htc in component I_Na (msec).
C STATES(4) is m in component I_Na (dimensionless).
C STATES(5) is h in component I_Na (dimensionless).
C ALGBRC(6) is dss in component I_CaL (dimensionless).
C ALGBRC(7) is fss in component I_CaL (dimensionless).
C ALGBRC(69) is fca in component I_CaL (dimensionless).
C ALGBRC(33) is dtc in component I_CaL (msec).
C CONSTS(57) is f1tc in component I_CaL (msec).
C ALGBRC(34) is f2tc in component I_CaL (msec).
C STATES(6) is d in component I_CaL (dimensionless).
C STATES(7) is f1 in component I_CaL (dimensionless).
C STATES(8) is f2 in component I_CaL (dimensionless).
C ALGBRC(8) is bss in component I_CaT (dimensionless).
C ALGBRC(9) is gss in component I_CaT (dimensionless).
C ALGBRC(35) is btc in component I_CaT (msec).
C ALGBRC(36) is gtc in component I_CaT (msec).
C STATES(9) is b in component I_CaT (dimensionless).
C STATES(10) is g in component I_CaT (dimensionless).
C ALGBRC(10) is hnss in component I_HERG (dimensionless).
C ALGBRC(11) is hsss in component I_HERG (dimensionless).
C ALGBRC(37) is hn1tc in component I_HERG (msec).
C ALGBRC(38) is hn2tc in component I_HERG (msec).
C ALGBRC(39) is hstc in component I_HERG (msec).
C STATES(11) is hn1 in component I_HERG (dimensionless).
C STATES(12) is hn2 in component I_HERG (dimensionless).
C STATES(13) is hs in component I_HERG (dimensionless).
C ALGBRC(12) is nq1ss in component I_KCNQ1 (dimensionless).
C ALGBRC(13) is wq1ss in component I_KCNQ1 (dimensionless).
C ALGBRC(14) is sq1ss in component I_KCNQ1 (dimensionless).
C ALGBRC(40) is nq1ftc in component I_KCNQ1 (msec).
C ALGBRC(41) is nq1stc in component I_KCNQ1 (msec).
C ALGBRC(42) is wq1tc in component I_KCNQ1 (msec).
C CONSTS(58) is sq1tc in component I_KCNQ1 (msec).
C STATES(14) is nq1f in component I_KCNQ1 (dimensionless).
C STATES(15) is nq1s in component I_KCNQ1 (dimensionless).
C STATES(16) is wq1 in component I_KCNQ1 (dimensionless).
C STATES(17) is sq1 in component I_KCNQ1 (dimensionless).
C ALGBRC(15) is nq4ss in component I_KCNQ4 (dimensionless).
C ALGBRC(16) is sq4ss in component I_KCNQ4 (dimensionless).
C ALGBRC(43) is nq4tc in component I_KCNQ4 (msec).
C ALGBRC(44) is sq4tc in component I_KCNQ4 (msec).
C STATES(18) is nq4 in component I_KCNQ4 (dimensionless).
C STATES(19) is sq4 in component I_KCNQ4 (dimensionless).
C ALGBRC(17) is nq5ss in component I_KCNQ5 (dimensionless).
C ALGBRC(18) is wq5ss in component I_KCNQ5 (dimensionless).
C ALGBRC(19) is sq5ss in component I_KCNQ5 (dimensionless).
C ALGBRC(45) is nq5ftc in component I_KCNQ5 (msec).
C CONSTS(59) is nq5stc in component I_KCNQ5 (msec).
C ALGBRC(46) is wq5tc in component I_KCNQ5 (msec).
C ALGBRC(47) is sq5tc in component I_KCNQ5 (msec).
C STATES(20) is nq5f in component I_KCNQ5 (dimensionless).
C STATES(21) is nq5s in component I_KCNQ5 (dimensionless).
C STATES(22) is wq5 in component I_KCNQ5 (dimensionless).
C STATES(23) is sq5 in component I_KCNQ5 (dimensionless).
C ALGBRC(20) is qss in component I_K1 (dimensionless).
C ALGBRC(21) is rss in component I_K1 (dimensionless).
C ALGBRC(48) is qtc in component I_K1 (msec).
C ALGBRC(49) is r1tc in component I_K1 (msec).
C ALGBRC(50) is r2tc in component I_K1 (msec).
C STATES(24) is q in component I_K1 (dimensionless).
C STATES(25) is r1 in component I_K1 (dimensionless).
C STATES(26) is r2 in component I_K1 (dimensionless).
C ALGBRC(22) is pss in component I_K2 (dimensionless).
C ALGBRC(23) is kss in component I_K2 (dimensionless).
C ALGBRC(51) is ptc in component I_K2 (msec).
C ALGBRC(52) is k1tc in component I_K2 (msec).
C ALGBRC(53) is k2tc in component I_K2 (msec).
C STATES(27) is p in component I_K2 (dimensionless).
C STATES(28) is k1 in component I_K2 (dimensionless).
C STATES(29) is k2 in component I_K2 (dimensionless).
C ALGBRC(24) is sss in component I_Ka (dimensionless).
C ALGBRC(25) is xss in component I_Ka (dimensionless).
C ALGBRC(54) is stc in component I_Ka (msec).
C ALGBRC(55) is xtc in component I_Ka (msec).
C STATES(30) is s in component I_Ka (dimensionless).
C STATES(31) is x in component I_Ka (dimensionless).
C ALGBRC(26) is xass_z in component I_BKa (dimensionless).
C ALGBRC(56) is xass_vh in component I_BKa (mV).
C CONSTS(7) is conversion in component I_BKa (mM_to_M).
C ALGBRC(60) is xass in component I_BKa (dimensionless).
C ALGBRC(65) is xatc in component I_BKa (msec).
C STATES(32) is xa in component I_BKa (dimensionless).
C ALGBRC(27) is xabss_z in component I_BKab (dimensionless).
C ALGBRC(57) is xabss_vh in component I_BKab (mV).
C CONSTS(8) is conversion in component I_BKab (mM_to_M).
C ALGBRC(61) is xabss in component I_BKab (dimensionless).
C ALGBRC(66) is xabtc in component I_BKab (msec).
C STATES(33) is xab in component I_BKab (dimensionless).
C ALGBRC(28) is yss in component I_h (dimensionless).
C ALGBRC(67) is ytc in component I_h (msec).
C ALGBRC(58) is ya in component I_h (per_msec).
C ALGBRC(62) is yb in component I_h (per_msec).
C STATES(34) is y in component I_h (dimensionless).
C ALGBRC(70) is css in component I_Cl (dimensionless).
C ALGBRC(72) is ctc in component I_Cl (msec).
C ALGBRC(63) is K1cl in component I_Cl (mM).
C ALGBRC(68) is K2cl in component I_Cl (dimensionless).
C STATES(35) is c in component I_Cl (dimensionless).
C CONSTS(61) is fmg in component I_ns (dimensionless).
C CONSTS(68) is gs_nao in component I_ns (dimensionless).
C CONSTS(62) is gs_cao in component I_ns (dimensionless).
C CONSTS(66) is gs_ko in component I_ns (dimensionless).
C CONSTS(9) is tinyamount in component I_ns (mM).
C ALGBRC(92) is fnak in component I_NaK (dimensionless).
C CONSTS(88) is knak in component I_NaK (dimensionless).
C CONSTS(89) is nnak in component I_NaK (dimensionless).
C CONSTS(10) is inaca_sign in component I_NaCa (dimensionless).
C ALGBRC(94) is f1naca in component J_NaCa (dimensionless).
C ALGBRC(95) is f2naca in component J_NaCa (dimensionless).
C ALGBRC(96) is fallo in component J_NaCa (dimensionless).
C ALGBRC(97) is naca_Eup in component J_NaCa (mM4).
C ALGBRC(98) is naca_Ed1 in component J_NaCa (dimensionless).
C ALGBRC(99) is naca_Ed2 in component J_NaCa (mM4).
C ALGBRC(100) is naca_Ed3 in component J_NaCa (mM4).
C CONSTS(11) is jnaca_sign in component J_NaCa (dimensionless).
C RATES(1) is d/dt v in component membrane_potential (mV).
C RATES(2) is d/dt cai in component Ca_Concentrations (mM).
C RATES(3) is d/dt w in component Ca_dependent_Force (dimensionless).
C RATES(4) is d/dt m in component I_Na (dimensionless).
C RATES(5) is d/dt h in component I_Na (dimensionless).
C RATES(6) is d/dt d in component I_CaL (dimensionless).
C RATES(7) is d/dt f1 in component I_CaL (dimensionless).
C RATES(8) is d/dt f2 in component I_CaL (dimensionless).
C RATES(9) is d/dt b in component I_CaT (dimensionless).
C RATES(10) is d/dt g in component I_CaT (dimensionless).
C RATES(11) is d/dt hn1 in component I_HERG (dimensionless).
C RATES(12) is d/dt hn2 in component I_HERG (dimensionless).
C RATES(13) is d/dt hs in component I_HERG (dimensionless).
C RATES(14) is d/dt nq1f in component I_KCNQ1 (dimensionless).
C RATES(15) is d/dt nq1s in component I_KCNQ1 (dimensionless).
C RATES(16) is d/dt wq1 in component I_KCNQ1 (dimensionless).
C RATES(17) is d/dt sq1 in component I_KCNQ1 (dimensionless).
C RATES(18) is d/dt nq4 in component I_KCNQ4 (dimensionless).
C RATES(19) is d/dt sq4 in component I_KCNQ4 (dimensionless).
C RATES(20) is d/dt nq5f in component I_KCNQ5 (dimensionless).
C RATES(21) is d/dt nq5s in component I_KCNQ5 (dimensionless).
C RATES(22) is d/dt wq5 in component I_KCNQ5 (dimensionless).
C RATES(23) is d/dt sq5 in component I_KCNQ5 (dimensionless).
C RATES(24) is d/dt q in component I_K1 (dimensionless).
C RATES(25) is d/dt r1 in component I_K1 (dimensionless).
C RATES(26) is d/dt r2 in component I_K1 (dimensionless).
C RATES(27) is d/dt p in component I_K2 (dimensionless).
C RATES(28) is d/dt k1 in component I_K2 (dimensionless).
C RATES(29) is d/dt k2 in component I_K2 (dimensionless).
C RATES(30) is d/dt s in component I_Ka (dimensionless).
C RATES(31) is d/dt x in component I_Ka (dimensionless).
C RATES(32) is d/dt xa in component I_BKa (dimensionless).
C RATES(33) is d/dt xab in component I_BKab (dimensionless).
C RATES(34) is d/dt y in component I_h (dimensionless).
C RATES(35) is d/dt c in component I_Cl (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0
      CONSTS(2) = -0.25
      CONSTS(3) = 1000
      CONSTS(4) = 50000
      STATES(1) = -50.80774403486136
      STATES(2) = 0.0001235555354004079
      CONSTS(5) = 1000
      CONSTS(6) = 1e-6
      STATES(3) = 0.2768302028689621
      STATES(4) = 0.166998688814229
      STATES(5) = 0.3156075507278521
      STATES(6) = 0.01605749091924106
      STATES(7) = 0.861723329545759
      STATES(8) = 0.8617233295451014
      STATES(9) = 0.5857399935992883
      STATES(10) = 0.02817518341064734
      STATES(11) = 0.02498997383730429
      STATES(12) = 0.02498997383730429
      STATES(13) = 0.5292140214748325
      STATES(14) = 0.09043683263784785
      STATES(15) = 0.09043683263784785
      STATES(16) = 0.9230513956601629
      STATES(17) = 0.7426740827665872
      STATES(18) = 0.1081102112425531
      STATES(19) = 0.6280622663818354
      STATES(20) = 0.2618890409031491
      STATES(21) = 0.2618890409031491
      STATES(22) = 0.9230513956601629
      STATES(23) = 0.6280622663818354
      STATES(24) = 0.22560249352574
      STATES(25) = 0.1261674553968813
      STATES(26) = 0.1261674420211442
      STATES(27) = 0.1358747732875166
      STATES(28) = 0.9944827384537837
      STATES(29) = 0.9944827384537837
      STATES(30) = 0.04562272513582834
      STATES(31) = 0.06162789823439722
      CONSTS(7) = 1000.0
      STATES(32) = 0.0003575122973592095
      CONSTS(8) = 1000.0
      STATES(33) = 0.002673927875795617
      STATES(34) = 0.001821587846781853
      STATES(35) = 0.0006695090454068198
      CONSTS(9) = 1e-8
      CONSTS(10) = -1
      CONSTS(11) = -1
      CONSTS(12) = 140.000
      CONSTS(13) = 2.50000
      CONSTS(14) = 0.500000
      CONSTS(15) = 1.00000
      CONSTS(16) = 1.00000
      CONSTS(17) = 0.00000
      CONSTS(18) = 0.600000
      CONSTS(19) = 45.0000
      CONSTS(20) = 0.00100000
      CONSTS(21) = 0.0580000
      CONSTS(22) = 42.0000
      CONSTS(23) = 0.800000
      CONSTS(24) = 0.00000
      CONSTS(25) = 0.240000
      CONSTS(26) = 0.0320000
      CONSTS(27) = 0.200000
      CONSTS(28) = 0.100000
      CONSTS(29) = 0.160000
      CONSTS(30) = 0.00320000
      CONSTS(31) = 0.0240000
      CONSTS(32) = 0.0160000
      CONSTS(33) = 0.0800000
      CONSTS(34) = 0.187500
      CONSTS(35) = 0.0542000
      CONSTS(36) = 0.0123000
      CONSTS(37) = 1.30000
      CONSTS(38) = 0.900000
      CONSTS(39) = 0.890000
      CONSTS(40) = 1.00000
      CONSTS(41) = 0.500000
      CONSTS(42) = 1.00000
      CONSTS(43) = 1.19000
      CONSTS(44) = 1.60000
      CONSTS(45) = 3.50000e-07
      CONSTS(46) = 0.000500000
      CONSTS(47) = 2.00000
      CONSTS(48) = 0.000300000
      CONSTS(49) = 4.00000
      CONSTS(50) = 30.0000
      CONSTS(51) = 0.00700000
      CONSTS(52) = 87.5000
      CONSTS(53) = 1.30000
      CONSTS(54) = 3.00000
      CONSTS(55) = 161.301
      CONSTS(56) = 3.60205
      CONSTS(57) = 12.0000
      CONSTS(58) = 50000.0
      CONSTS(59) = 1000.00
      CONSTS(60) = 4.00000
      CONSTS(61) = 0.108043+0.903902/(1.00000+CONSTS(14)/0.281007 ** 1.29834)
      CONSTS(62) = ( (1.00000/0.000525000)*0.0300000)/(1.00000+150.000/(CONSTS(13)+CONSTS(9)) ** 2.00000)
      CONSTS(63) = 46.0000
      CONSTS(64) = 6.00000
      CONSTS(65) = 130.000
      CONSTS(66) = ( (1.00000/0.0123000)*0.0300000)/(1.00000+150.000/(CONSTS(64)+CONSTS(9)) ** 2.00000)
      CONSTS(67) = 130.000
      CONSTS(68) = ( (1.00000/0.0123000)*0.0300000)/(1.00000+150.000/(CONSTS(65)+CONSTS(9)) ** 2.00000)
      CONSTS(69) = 0.0150000
      CONSTS(70) = 4.00000
      CONSTS(71) = 2.00000
      CONSTS(72) = 8314.00
      CONSTS(73) = 96485.0
      CONSTS(74) = 1.00000
      CONSTS(75) = 308.000
      CONSTS(76) = 1.70000
      CONSTS(77) = 1.00000
      CONSTS(78) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log(CONSTS(65)/CONSTS(60))
      CONSTS(79) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log(CONSTS(64)/CONSTS(12))
      CONSTS(80) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log(CONSTS(63)/CONSTS(67))
      CONSTS(81) = 2.00000
      CONSTS(82) = 0.350000
      CONSTS(83) = 22.0000
      CONSTS(84) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log((CONSTS(64)+ (CONSTS(82)/CONSTS(77))*CONSTS(65))/(CONSTS(12)+ (CONSTS(82)/CONSTS(77))*CONSTS(60)))
      CONSTS(85) = 3.50000e-06
      CONSTS(86) = 0.270000
      CONSTS(87) = 0.350000
      CONSTS(88) = 1.00000/(1.00000+CONSTS(81)/CONSTS(64) ** 1.50000)
      CONSTS(89) = 1.00000/(1.00000+CONSTS(83)/CONSTS(60) ** 2.00000)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+38.0000)/7.00000))
      RATES(7) = (ALGBRC(7) - STATES(7))/CONSTS(57)
      ALGBRC(14) = 0.340000+0.660000/(1.00000+EXP((STATES(1)+45.3000)/12.3000))
      RATES(17) = (ALGBRC(14) - STATES(17))/CONSTS(58)
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1)+36.5500)/13.7600))
      RATES(21) = (ALGBRC(17) - STATES(21))/CONSTS(59)
      ALGBRC(2) = 1.00000/(1.00000+( CONSTS(55)*CONSTS(6))/STATES(2) ** CONSTS(56))
      ALGBRC(30) =  4000.00*(0.234845+(1.00000 - 0.234845)/(1.00000+STATES(2)/( CONSTS(55)*CONSTS(6)) ** CONSTS(56)))
      RATES(3) = (ALGBRC(2) - STATES(3))/ALGBRC(30)
      ALGBRC(4) = 1.00000/(1.00000+EXP(- (STATES(1)+35.9584)/9.24013))
      ALGBRC(31) = 0.250000+7.00000/(1.00000+EXP((STATES(1)+38.0000)/10.0000))
      RATES(4) = (ALGBRC(4) - STATES(4))/ALGBRC(31)
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+57.0000)/8.00000))
      ALGBRC(32) = 0.900000+1002.85/(1.00000+(STATES(1)+47.5000)/1.50000 ** 2.00000)
      RATES(5) = (ALGBRC(5) - STATES(5))/ALGBRC(32)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1)+22.0000)/7.00000))
      ALGBRC(33) = 2.29000+5.70000/(1.00000+(STATES(1)+29.9700)/9.00000 ** 2.00000)
      RATES(6) = (ALGBRC(6) - STATES(6))/ALGBRC(33)
      ALGBRC(34) =  90.9699*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1)+13.9629)/45.3782))*(1.00000+EXP(- (STATES(1)+9.49866)/3.39450))))
      RATES(8) = (ALGBRC(7) - STATES(8))/ALGBRC(34)
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(1)+54.2300)/9.88000))
      ALGBRC(35) = 0.450000+3.90000/(1.00000+(STATES(1)+66.0000)/26.0000 ** 2.00000)
      RATES(9) = (ALGBRC(8) - STATES(9))/ALGBRC(35)
      ALGBRC(9) = 0.0200000+0.980000/(1.00000+EXP((STATES(1)+72.9780)/4.64000))
      ALGBRC(36) =  150.000*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 417.430)/203.180))*(1.00000+EXP(- (STATES(1)+61.1100)/8.07000))))
      RATES(10) = (ALGBRC(9) - STATES(10))/ALGBRC(36)
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1)+16.0000)/9.50000))
      ALGBRC(37) = 46.0999+1685.76/( (1.00000+EXP(- (STATES(1)+40.8489)/13.7802))*(1.00000+EXP((STATES(1)+20.6372)/15.1113)))
      RATES(11) = (ALGBRC(10) - STATES(11))/ALGBRC(37)
      ALGBRC(38) = 475.667+16321.6/( (1.00000+EXP(- (STATES(1)+41.8328)/6.96673))*(1.00000+EXP((STATES(1)+23.2432)/21.2949)))
      RATES(12) = (ALGBRC(10) - STATES(12))/ALGBRC(38)
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+48.0000)/24.0000))
      ALGBRC(39) = 19.7864/(1.00000+(STATES(1)+20.7136)/44.2868 ** 2.00000) - 0.378843
      RATES(13) = (ALGBRC(11) - STATES(13))/ALGBRC(39)
      ALGBRC(12) = 1.00000/(1.00000+EXP(- (STATES(1)+22.0000)/12.4800))
      ALGBRC(40) = 395.300/(1.00000+(STATES(1)+38.1000)/33.5900 ** 2.00000)
      RATES(14) = (ALGBRC(12) - STATES(14))/ALGBRC(40)
      ALGBRC(41) = (5503.00+5345.40/(1.00000+10.0000 **  (- 23.9000 - STATES(1))*- 0.0282700)) - 4590.60/(1.00000+10.0000 **  (STATES(1)+14.1500)*- 0.0357000)
      RATES(15) = (ALGBRC(12) - STATES(15))/ALGBRC(41)
      ALGBRC(13) = 0.490000+0.510000/(1.00000+EXP((STATES(1)+1.08400)/28.7800))
      ALGBRC(42) = 5.44000+29.2000/(1.00000+(STATES(1)+48.0900)/48.8300 ** 2.00000)
      RATES(16) = (ALGBRC(13) - STATES(16))/ALGBRC(42)
      ALGBRC(15) = 1.00000/(1.00000+EXP(- (STATES(1)+15.0400)/16.9500))
      ALGBRC(43) = 10.0000+895.900/(1.00000+EXP((- 18.0100 - STATES(1))/31.0400))
      RATES(18) = (ALGBRC(15) - STATES(18))/ALGBRC(43)
      ALGBRC(16) = 0.405800/(1.00000+EXP((STATES(1)+86.8400)/15.0500))+0.594200/(1.00000+EXP((STATES(1) - 70.1300)/13.3700))
      ALGBRC(44) = 1077.00+185845./(1.00000+(STATES(1) - 39.4400)/7.34400 ** 2.00000)
      RATES(19) = (ALGBRC(16) - STATES(19))/ALGBRC(44)
      ALGBRC(45) = 37.5100+539.000/(1.00000+(STATES(1)+40.2400)/17.7200 ** 2.00000)
      RATES(20) = (ALGBRC(17) - STATES(20))/ALGBRC(45)
      ALGBRC(18) = 0.490000+0.510000/(1.00000+EXP((STATES(1)+1.08400)/28.7800))
      ALGBRC(46) = 5.44000+29.2000/(1.00000+(STATES(1)+48.0900)/48.8300 ** 2.00000)
      RATES(22) = (ALGBRC(18) - STATES(22))/ALGBRC(46)
      ALGBRC(19) = 0.405800/(1.00000+EXP((STATES(1)+86.8400)/15.0500))+0.594200/(1.00000+EXP((STATES(1) - 70.1300)/13.3700))
      ALGBRC(47) = 1077.00+185845./(1.00000+(STATES(1) - 39.4400)/7.34400 ** 2.00000)
      RATES(23) = (ALGBRC(19) - STATES(23))/ALGBRC(47)
      ALGBRC(20) = 0.978613/(1.00000+EXP(- (STATES(1)+18.6736)/26.6606))
      ALGBRC(48) = 500.000/(1.00000+(STATES(1)+60.7100)/15.7900 ** 2.00000)
      RATES(24) = (ALGBRC(20) - STATES(24))/ALGBRC(48)
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(1)+63.0000)/6.30000))
      ALGBRC(49) = 5000.00/(1.00000+(STATES(1)+62.7133)/35.8611 ** 2.00000)
      RATES(25) = (ALGBRC(21) - STATES(25))/ALGBRC(49)
      ALGBRC(50) = 30000.0+220000./(1.00000+EXP((STATES(1)+22.0000)/4.00000))
      RATES(26) = (ALGBRC(21) - STATES(26))/ALGBRC(50)
      ALGBRC(22) = 0.948000/(1.00000+EXP(- (STATES(1)+17.9100)/18.4000))
      ALGBRC(51) = 100.000/(1.00000+(STATES(1)+64.1000)/28.6700 ** 2.00000)
      RATES(27) = (ALGBRC(22) - STATES(27))/ALGBRC(51)
      ALGBRC(23) = 1.00000/(1.00000+EXP((STATES(1)+21.2000)/5.70000))
      ALGBRC(52) =  1.00000e+06*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 315.000)/50.0000))*(1.00000+EXP(- (STATES(1)+74.9000)/8.00000))))
      RATES(28) = (ALGBRC(23) - STATES(28))/ALGBRC(52)
      ALGBRC(53) =  2.50000e+06*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 132.868)/25.3992))*(1.00000+EXP(- (STATES(1)+24.9203)/2.67915))))
      RATES(29) = (ALGBRC(23) - STATES(29))/ALGBRC(53)
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (STATES(1)+27.7900)/7.57000))
      ALGBRC(54) = 17.0000/(1.00000+(STATES(1)+20.5232)/35.0000 ** 2.00000)
      RATES(30) = (ALGBRC(24) - STATES(30))/ALGBRC(54)
      ALGBRC(25) = 0.0200000+0.980000/(1.00000+EXP((STATES(1)+69.5000)/6.00000))
      ALGBRC(55) = 7.50000+10.0000/(1.00000+(STATES(1)+34.1765)/120.000 ** 2.00000)
      RATES(31) = (ALGBRC(25) - STATES(31))/ALGBRC(55)
      ALGBRC(26) = - 0.749234/(1.00000+( STATES(2)*CONSTS(7) - 0.0630535)/0.161942 ** 2.00000)+8.38384/(1.00000+( STATES(2)*CONSTS(7)+1538.29)/739.057 ** 2.00000)
      ALGBRC(56) = 5011.47/(1.00000+( STATES(2)*CONSTS(7)+0.237503)/0.000239278 ** 0.422910) - 37.5137
      ALGBRC(60) = 1.00000/(1.00000+EXP(( - ALGBRC(26)*CONSTS(73)*(STATES(1) - ALGBRC(56)))/( CONSTS(72)*CONSTS(75))))
      ALGBRC(65) = 2.40914/(1.00000+(STATES(1) - 158.779)/- 52.1497 ** 2.00000)
      RATES(32) = (ALGBRC(60) - STATES(32))/ALGBRC(65)
      ALGBRC(27) = - 0.681249/(1.00000+( STATES(2)*CONSTS(8) - 0.218988)/0.428335 ** 2.00000)+1.40001/(1.00000+( STATES(2)*CONSTS(8)+228.710)/684.946 ** 2.00000)
      ALGBRC(57) = 8540.23/(1.00000+( STATES(2)*CONSTS(8)+0.401189)/0.00399115 ** 0.668054) - 109.275
      ALGBRC(61) = 1.00000/(1.00000+EXP(( - ALGBRC(27)*CONSTS(73)*(STATES(1) - ALGBRC(57)))/( CONSTS(72)*CONSTS(75))))
      ALGBRC(66) = 13.8049/(1.00000+(STATES(1) - 153.019)/66.4952 ** 2.00000)
      RATES(33) = (ALGBRC(61) - STATES(33))/ALGBRC(66)
      ALGBRC(28) = 1.00000/(1.00000+EXP((STATES(1)+105.390)/8.65530))
      ALGBRC(58) =  3.50000e-06*EXP( - 0.0497000*STATES(1))
      ALGBRC(62) =  0.0400300*EXP( 0.0521100*STATES(1))
      ALGBRC(67) = 1.00000/(ALGBRC(58)+ALGBRC(62))
      RATES(34) = (ALGBRC(28) - STATES(34))/ALGBRC(67)
      ALGBRC(29) = ( STATES(1)*CONSTS(73))/( CONSTS(72)*CONSTS(75))
      ALGBRC(63) =  0.000600000*EXP( 2.53000*ALGBRC(29))
      ALGBRC(68) =  0.100000*EXP( - 5.00000*ALGBRC(29))
      ALGBRC(70) = 1.00000/(1.00000+ ALGBRC(68)*(ALGBRC(63)/STATES(2) ** 2.00000+ALGBRC(63)/STATES(2)+1.00000))
      ALGBRC(72) = - 160.000+210.000/(1.00000+EXP((STATES(1)+4.56000)/11.6200))+170.000/(1.00000+EXP(- (STATES(1)+25.5000)/11.6200))
      RATES(35) = (ALGBRC(70) - STATES(35))/ALGBRC(72)
      ALGBRC(1) = TERNRY(VOI.GT.CONSTS(3).AND.VOI.LT.CONSTS(4), CONSTS(2), CONSTS(1))
      ALGBRC(64) =  CONSTS(17)*STATES(4)*STATES(4)*STATES(4)*STATES(5)*(STATES(1) - CONSTS(78))
      ALGBRC(69) = 1.00000/(1.00000+STATES(2)/CONSTS(20) ** 4.00000)
      ALGBRC(71) =  CONSTS(18)*ALGBRC(69)*STATES(6)*STATES(6)*( 0.800000*STATES(7)+ 0.200000*STATES(8))*(STATES(1) - CONSTS(19))
      ALGBRC(73) =  CONSTS(21)*STATES(9)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(22))
      ALGBRC(74) =  CONSTS(24)*(STATES(1) - CONSTS(79))
      ALGBRC(75) =  CONSTS(33)*( 0.800000*STATES(11)+ 0.200000*STATES(12))*STATES(13)*(STATES(1) - CONSTS(79))
      ALGBRC(76) =  CONSTS(30)*( 0.300000*STATES(14)+ 0.700000*STATES(15))*STATES(16)*STATES(17)*(STATES(1) - CONSTS(79))
      ALGBRC(77) =  CONSTS(31)*STATES(18)*STATES(19)*(STATES(1) - CONSTS(79))
      ALGBRC(78) =  CONSTS(32)*( 0.200000*STATES(20)+ 0.800000*STATES(21))*STATES(22)*STATES(23)*(STATES(1) - CONSTS(79))
      ALGBRC(79) =  CONSTS(25)*STATES(24)*STATES(24)*( 0.380000*STATES(25)+ 0.630000*STATES(26))*(STATES(1) - CONSTS(79))
      ALGBRC(80) =  CONSTS(26)*STATES(27)*STATES(27)*( 0.750000*STATES(28)+ 0.250000*STATES(29))*(STATES(1) - CONSTS(79))
      ALGBRC(81) =  CONSTS(29)*STATES(30)*STATES(31)*(STATES(1) - CONSTS(79))
      ALGBRC(82) =  CONSTS(23)*CONSTS(27)*STATES(32)*(STATES(1) - CONSTS(79))
      ALGBRC(83) =  CONSTS(23)*CONSTS(28)*STATES(33)*(STATES(1) - CONSTS(79))
      ALGBRC(84) =  CONSTS(35)*STATES(34)*(STATES(1) - CONSTS(84))
      ALGBRC(85) =  CONSTS(34)*STATES(35)*(STATES(1) - CONSTS(80))
      ALGBRC(59) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log(( CONSTS(37)*CONSTS(64)+ CONSTS(38)*CONSTS(65)+( 4.00000*CONSTS(39)*CONSTS(13))/(1.00000+EXP(ALGBRC(29))))/( CONSTS(37)*CONSTS(12)+ CONSTS(38)*CONSTS(60)+( 4.00000*CONSTS(39)*STATES(2))/(1.00000+EXP(ALGBRC(29)))))
      ALGBRC(89) =  CONSTS(61)*CONSTS(68)*CONSTS(42)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(86) =  CONSTS(61)*CONSTS(62)*CONSTS(41)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(91) =  CONSTS(61)*CONSTS(66)*CONSTS(43)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(92) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*ALGBRC(29))+ 0.00219000*EXP(CONSTS(65)/49.7100)*EXP( - 1.90000*ALGBRC(29)))
      ALGBRC(93) =  CONSTS(76)*CONSTS(88)*CONSTS(89)*ALGBRC(92)
      ALGBRC(96) = 1.00000/(1.00000+CONSTS(48)/STATES(2) ** CONSTS(49))
      ALGBRC(94) = EXP( (CONSTS(87) - 1.00000)*ALGBRC(29))
      ALGBRC(95) = EXP( CONSTS(87)*ALGBRC(29))
      ALGBRC(97) =  CONSTS(60) ** 3.00000*CONSTS(13)*ALGBRC(95) -  CONSTS(65) ** 3.00000*STATES(2)*ALGBRC(94)
      ALGBRC(98) = 1.00000+ CONSTS(86)*ALGBRC(94)
      ALGBRC(99) =  CONSTS(53)*CONSTS(60) ** 3.00000+ CONSTS(52) ** 3.00000*STATES(2)+ CONSTS(50) ** 3.00000*CONSTS(13)*(1.00000+STATES(2)/CONSTS(51))
      ALGBRC(100) =  CONSTS(13)*CONSTS(60) ** 3.00000+ CONSTS(65) ** 3.00000*STATES(2)+ CONSTS(65) ** 3.00000*CONSTS(51)*(1.00000+CONSTS(60)/CONSTS(50) ** 3.00000)
      ALGBRC(101) = ( CONSTS(11)*CONSTS(85)*ALGBRC(96)*ALGBRC(97))/( ALGBRC(98)*(ALGBRC(99)+ALGBRC(100)))
      ALGBRC(102) =  (( 0.500000*CONSTS(71)*CONSTS(73))/( CONSTS(70)*CONSTS(74)*CONSTS(69)))*CONSTS(10)*ALGBRC(101)
      ALGBRC(105) = ALGBRC(64)+ALGBRC(84)+ALGBRC(102)+ALGBRC(93)+ALGBRC(71)+ALGBRC(73)+ALGBRC(85)+ALGBRC(75)+ALGBRC(76)+ALGBRC(77)+ALGBRC(78)+ALGBRC(79)+ALGBRC(80)+ALGBRC(81)+ALGBRC(82)+ALGBRC(83)+ALGBRC(89)+ALGBRC(91)+ALGBRC(86)+ALGBRC(74)
      RATES(1) = - (ALGBRC(105)+ALGBRC(1))
      ALGBRC(87) = ALGBRC(71)+ALGBRC(73)+ALGBRC(86)
      ALGBRC(88) =  (( CONSTS(70)*CONSTS(74)*CONSTS(69))/( CONSTS(71)*CONSTS(73)))*ALGBRC(87)
      ALGBRC(103) = CONSTS(45)/(1.00000+CONSTS(46)/STATES(2) ** CONSTS(47))
      ALGBRC(106) = ALGBRC(88)+ALGBRC(101)+ALGBRC(103)
      RATES(2) = - ALGBRC(106)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+38.0000)/7.00000))
      ALGBRC(14) = 0.340000+0.660000/(1.00000+EXP((STATES(1)+45.3000)/12.3000))
      ALGBRC(17) = 1.00000/(1.00000+EXP(- (STATES(1)+36.5500)/13.7600))
      ALGBRC(2) = 1.00000/(1.00000+( CONSTS(55)*CONSTS(6))/STATES(2) ** CONSTS(56))
      ALGBRC(30) =  4000.00*(0.234845+(1.00000 - 0.234845)/(1.00000+STATES(2)/( CONSTS(55)*CONSTS(6)) ** CONSTS(56)))
      ALGBRC(4) = 1.00000/(1.00000+EXP(- (STATES(1)+35.9584)/9.24013))
      ALGBRC(31) = 0.250000+7.00000/(1.00000+EXP((STATES(1)+38.0000)/10.0000))
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+57.0000)/8.00000))
      ALGBRC(32) = 0.900000+1002.85/(1.00000+(STATES(1)+47.5000)/1.50000 ** 2.00000)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1)+22.0000)/7.00000))
      ALGBRC(33) = 2.29000+5.70000/(1.00000+(STATES(1)+29.9700)/9.00000 ** 2.00000)
      ALGBRC(34) =  90.9699*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1)+13.9629)/45.3782))*(1.00000+EXP(- (STATES(1)+9.49866)/3.39450))))
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(1)+54.2300)/9.88000))
      ALGBRC(35) = 0.450000+3.90000/(1.00000+(STATES(1)+66.0000)/26.0000 ** 2.00000)
      ALGBRC(9) = 0.0200000+0.980000/(1.00000+EXP((STATES(1)+72.9780)/4.64000))
      ALGBRC(36) =  150.000*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 417.430)/203.180))*(1.00000+EXP(- (STATES(1)+61.1100)/8.07000))))
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1)+16.0000)/9.50000))
      ALGBRC(37) = 46.0999+1685.76/( (1.00000+EXP(- (STATES(1)+40.8489)/13.7802))*(1.00000+EXP((STATES(1)+20.6372)/15.1113)))
      ALGBRC(38) = 475.667+16321.6/( (1.00000+EXP(- (STATES(1)+41.8328)/6.96673))*(1.00000+EXP((STATES(1)+23.2432)/21.2949)))
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+48.0000)/24.0000))
      ALGBRC(39) = 19.7864/(1.00000+(STATES(1)+20.7136)/44.2868 ** 2.00000) - 0.378843
      ALGBRC(12) = 1.00000/(1.00000+EXP(- (STATES(1)+22.0000)/12.4800))
      ALGBRC(40) = 395.300/(1.00000+(STATES(1)+38.1000)/33.5900 ** 2.00000)
      ALGBRC(41) = (5503.00+5345.40/(1.00000+10.0000 **  (- 23.9000 - STATES(1))*- 0.0282700)) - 4590.60/(1.00000+10.0000 **  (STATES(1)+14.1500)*- 0.0357000)
      ALGBRC(13) = 0.490000+0.510000/(1.00000+EXP((STATES(1)+1.08400)/28.7800))
      ALGBRC(42) = 5.44000+29.2000/(1.00000+(STATES(1)+48.0900)/48.8300 ** 2.00000)
      ALGBRC(15) = 1.00000/(1.00000+EXP(- (STATES(1)+15.0400)/16.9500))
      ALGBRC(43) = 10.0000+895.900/(1.00000+EXP((- 18.0100 - STATES(1))/31.0400))
      ALGBRC(16) = 0.405800/(1.00000+EXP((STATES(1)+86.8400)/15.0500))+0.594200/(1.00000+EXP((STATES(1) - 70.1300)/13.3700))
      ALGBRC(44) = 1077.00+185845./(1.00000+(STATES(1) - 39.4400)/7.34400 ** 2.00000)
      ALGBRC(45) = 37.5100+539.000/(1.00000+(STATES(1)+40.2400)/17.7200 ** 2.00000)
      ALGBRC(18) = 0.490000+0.510000/(1.00000+EXP((STATES(1)+1.08400)/28.7800))
      ALGBRC(46) = 5.44000+29.2000/(1.00000+(STATES(1)+48.0900)/48.8300 ** 2.00000)
      ALGBRC(19) = 0.405800/(1.00000+EXP((STATES(1)+86.8400)/15.0500))+0.594200/(1.00000+EXP((STATES(1) - 70.1300)/13.3700))
      ALGBRC(47) = 1077.00+185845./(1.00000+(STATES(1) - 39.4400)/7.34400 ** 2.00000)
      ALGBRC(20) = 0.978613/(1.00000+EXP(- (STATES(1)+18.6736)/26.6606))
      ALGBRC(48) = 500.000/(1.00000+(STATES(1)+60.7100)/15.7900 ** 2.00000)
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(1)+63.0000)/6.30000))
      ALGBRC(49) = 5000.00/(1.00000+(STATES(1)+62.7133)/35.8611 ** 2.00000)
      ALGBRC(50) = 30000.0+220000./(1.00000+EXP((STATES(1)+22.0000)/4.00000))
      ALGBRC(22) = 0.948000/(1.00000+EXP(- (STATES(1)+17.9100)/18.4000))
      ALGBRC(51) = 100.000/(1.00000+(STATES(1)+64.1000)/28.6700 ** 2.00000)
      ALGBRC(23) = 1.00000/(1.00000+EXP((STATES(1)+21.2000)/5.70000))
      ALGBRC(52) =  1.00000e+06*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 315.000)/50.0000))*(1.00000+EXP(- (STATES(1)+74.9000)/8.00000))))
      ALGBRC(53) =  2.50000e+06*(1.00000 - 1.00000/( (1.00000+EXP((STATES(1) - 132.868)/25.3992))*(1.00000+EXP(- (STATES(1)+24.9203)/2.67915))))
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (STATES(1)+27.7900)/7.57000))
      ALGBRC(54) = 17.0000/(1.00000+(STATES(1)+20.5232)/35.0000 ** 2.00000)
      ALGBRC(25) = 0.0200000+0.980000/(1.00000+EXP((STATES(1)+69.5000)/6.00000))
      ALGBRC(55) = 7.50000+10.0000/(1.00000+(STATES(1)+34.1765)/120.000 ** 2.00000)
      ALGBRC(26) = - 0.749234/(1.00000+( STATES(2)*CONSTS(7) - 0.0630535)/0.161942 ** 2.00000)+8.38384/(1.00000+( STATES(2)*CONSTS(7)+1538.29)/739.057 ** 2.00000)
      ALGBRC(56) = 5011.47/(1.00000+( STATES(2)*CONSTS(7)+0.237503)/0.000239278 ** 0.422910) - 37.5137
      ALGBRC(60) = 1.00000/(1.00000+EXP(( - ALGBRC(26)*CONSTS(73)*(STATES(1) - ALGBRC(56)))/( CONSTS(72)*CONSTS(75))))
      ALGBRC(65) = 2.40914/(1.00000+(STATES(1) - 158.779)/- 52.1497 ** 2.00000)
      ALGBRC(27) = - 0.681249/(1.00000+( STATES(2)*CONSTS(8) - 0.218988)/0.428335 ** 2.00000)+1.40001/(1.00000+( STATES(2)*CONSTS(8)+228.710)/684.946 ** 2.00000)
      ALGBRC(57) = 8540.23/(1.00000+( STATES(2)*CONSTS(8)+0.401189)/0.00399115 ** 0.668054) - 109.275
      ALGBRC(61) = 1.00000/(1.00000+EXP(( - ALGBRC(27)*CONSTS(73)*(STATES(1) - ALGBRC(57)))/( CONSTS(72)*CONSTS(75))))
      ALGBRC(66) = 13.8049/(1.00000+(STATES(1) - 153.019)/66.4952 ** 2.00000)
      ALGBRC(28) = 1.00000/(1.00000+EXP((STATES(1)+105.390)/8.65530))
      ALGBRC(58) =  3.50000e-06*EXP( - 0.0497000*STATES(1))
      ALGBRC(62) =  0.0400300*EXP( 0.0521100*STATES(1))
      ALGBRC(67) = 1.00000/(ALGBRC(58)+ALGBRC(62))
      ALGBRC(29) = ( STATES(1)*CONSTS(73))/( CONSTS(72)*CONSTS(75))
      ALGBRC(63) =  0.000600000*EXP( 2.53000*ALGBRC(29))
      ALGBRC(68) =  0.100000*EXP( - 5.00000*ALGBRC(29))
      ALGBRC(70) = 1.00000/(1.00000+ ALGBRC(68)*(ALGBRC(63)/STATES(2) ** 2.00000+ALGBRC(63)/STATES(2)+1.00000))
      ALGBRC(72) = - 160.000+210.000/(1.00000+EXP((STATES(1)+4.56000)/11.6200))+170.000/(1.00000+EXP(- (STATES(1)+25.5000)/11.6200))
      ALGBRC(1) = TERNRY(VOI.GT.CONSTS(3).AND.VOI.LT.CONSTS(4), CONSTS(2), CONSTS(1))
      ALGBRC(64) =  CONSTS(17)*STATES(4)*STATES(4)*STATES(4)*STATES(5)*(STATES(1) - CONSTS(78))
      ALGBRC(69) = 1.00000/(1.00000+STATES(2)/CONSTS(20) ** 4.00000)
      ALGBRC(71) =  CONSTS(18)*ALGBRC(69)*STATES(6)*STATES(6)*( 0.800000*STATES(7)+ 0.200000*STATES(8))*(STATES(1) - CONSTS(19))
      ALGBRC(73) =  CONSTS(21)*STATES(9)*STATES(9)*STATES(10)*(STATES(1) - CONSTS(22))
      ALGBRC(74) =  CONSTS(24)*(STATES(1) - CONSTS(79))
      ALGBRC(75) =  CONSTS(33)*( 0.800000*STATES(11)+ 0.200000*STATES(12))*STATES(13)*(STATES(1) - CONSTS(79))
      ALGBRC(76) =  CONSTS(30)*( 0.300000*STATES(14)+ 0.700000*STATES(15))*STATES(16)*STATES(17)*(STATES(1) - CONSTS(79))
      ALGBRC(77) =  CONSTS(31)*STATES(18)*STATES(19)*(STATES(1) - CONSTS(79))
      ALGBRC(78) =  CONSTS(32)*( 0.200000*STATES(20)+ 0.800000*STATES(21))*STATES(22)*STATES(23)*(STATES(1) - CONSTS(79))
      ALGBRC(79) =  CONSTS(25)*STATES(24)*STATES(24)*( 0.380000*STATES(25)+ 0.630000*STATES(26))*(STATES(1) - CONSTS(79))
      ALGBRC(80) =  CONSTS(26)*STATES(27)*STATES(27)*( 0.750000*STATES(28)+ 0.250000*STATES(29))*(STATES(1) - CONSTS(79))
      ALGBRC(81) =  CONSTS(29)*STATES(30)*STATES(31)*(STATES(1) - CONSTS(79))
      ALGBRC(82) =  CONSTS(23)*CONSTS(27)*STATES(32)*(STATES(1) - CONSTS(79))
      ALGBRC(83) =  CONSTS(23)*CONSTS(28)*STATES(33)*(STATES(1) - CONSTS(79))
      ALGBRC(84) =  CONSTS(35)*STATES(34)*(STATES(1) - CONSTS(84))
      ALGBRC(85) =  CONSTS(34)*STATES(35)*(STATES(1) - CONSTS(80))
      ALGBRC(59) =  (( CONSTS(72)*CONSTS(75))/CONSTS(73))*log(( CONSTS(37)*CONSTS(64)+ CONSTS(38)*CONSTS(65)+( 4.00000*CONSTS(39)*CONSTS(13))/(1.00000+EXP(ALGBRC(29))))/( CONSTS(37)*CONSTS(12)+ CONSTS(38)*CONSTS(60)+( 4.00000*CONSTS(39)*STATES(2))/(1.00000+EXP(ALGBRC(29)))))
      ALGBRC(89) =  CONSTS(61)*CONSTS(68)*CONSTS(42)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(86) =  CONSTS(61)*CONSTS(62)*CONSTS(41)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(91) =  CONSTS(61)*CONSTS(66)*CONSTS(43)*CONSTS(36)*(STATES(1) - ALGBRC(59))
      ALGBRC(92) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*ALGBRC(29))+ 0.00219000*EXP(CONSTS(65)/49.7100)*EXP( - 1.90000*ALGBRC(29)))
      ALGBRC(93) =  CONSTS(76)*CONSTS(88)*CONSTS(89)*ALGBRC(92)
      ALGBRC(96) = 1.00000/(1.00000+CONSTS(48)/STATES(2) ** CONSTS(49))
      ALGBRC(94) = EXP( (CONSTS(87) - 1.00000)*ALGBRC(29))
      ALGBRC(95) = EXP( CONSTS(87)*ALGBRC(29))
      ALGBRC(97) =  CONSTS(60) ** 3.00000*CONSTS(13)*ALGBRC(95) -  CONSTS(65) ** 3.00000*STATES(2)*ALGBRC(94)
      ALGBRC(98) = 1.00000+ CONSTS(86)*ALGBRC(94)
      ALGBRC(99) =  CONSTS(53)*CONSTS(60) ** 3.00000+ CONSTS(52) ** 3.00000*STATES(2)+ CONSTS(50) ** 3.00000*CONSTS(13)*(1.00000+STATES(2)/CONSTS(51))
      ALGBRC(100) =  CONSTS(13)*CONSTS(60) ** 3.00000+ CONSTS(65) ** 3.00000*STATES(2)+ CONSTS(65) ** 3.00000*CONSTS(51)*(1.00000+CONSTS(60)/CONSTS(50) ** 3.00000)
      ALGBRC(101) = ( CONSTS(11)*CONSTS(85)*ALGBRC(96)*ALGBRC(97))/( ALGBRC(98)*(ALGBRC(99)+ALGBRC(100)))
      ALGBRC(102) =  (( 0.500000*CONSTS(71)*CONSTS(73))/( CONSTS(70)*CONSTS(74)*CONSTS(69)))*CONSTS(10)*ALGBRC(101)
      ALGBRC(105) = ALGBRC(64)+ALGBRC(84)+ALGBRC(102)+ALGBRC(93)+ALGBRC(71)+ALGBRC(73)+ALGBRC(85)+ALGBRC(75)+ALGBRC(76)+ALGBRC(77)+ALGBRC(78)+ALGBRC(79)+ALGBRC(80)+ALGBRC(81)+ALGBRC(82)+ALGBRC(83)+ALGBRC(89)+ALGBRC(91)+ALGBRC(86)+ALGBRC(74)
      ALGBRC(87) = ALGBRC(71)+ALGBRC(73)+ALGBRC(86)
      ALGBRC(88) =  (( CONSTS(70)*CONSTS(74)*CONSTS(69))/( CONSTS(71)*CONSTS(73)))*ALGBRC(87)
      ALGBRC(103) = CONSTS(45)/(1.00000+CONSTS(46)/STATES(2) ** CONSTS(47))
      ALGBRC(106) = ALGBRC(88)+ALGBRC(101)+ALGBRC(103)
      ALGBRC(3) =  CONSTS(54)*(STATES(3) - 0.234500)
      ALGBRC(90) =  ALGBRC(88)*CONSTS(5)
      ALGBRC(104) =  ALGBRC(101)*CONSTS(5)
      ALGBRC(107) =  ALGBRC(103)*CONSTS(5)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END