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 92 entries in the algebraic variable array.
C There are a total of 29 entries in each of the rate and state variable arrays.
C There are a total of 70 entries in the constant variable array.
C
C
C VOI is time in component Environment (ms).
C CONSTS(1) is F in component Environment (C_per_mole).
C CONSTS(2) is K_o in component Environment (mM).
C CONSTS(3) is Ca_o in component Environment (mM).
C CONSTS(4) is Na_o in component Environment (mM).
C CONSTS(5) is Cl_o in component Environment (mM).
C CONSTS(6) is FonRT in component Environment (per_mV).
C CONSTS(7) is tissue in component Environment (dimensionless).
C STATES(1) is V in component cell (mV).
C ALGBRC(63) is INa in component INa (uA_per_uF).
C ALGBRC(32) is ICaL in component ICaL (uA_per_uF).
C ALGBRC(78) is IK1 in component IK1 (uA_per_uF).
C ALGBRC(84) is IKp in component IKp (uA_per_uF).
C ALGBRC(86) is IKs in component IKs (uA_per_uF).
C ALGBRC(82) is IKr in component IKr (uA_per_uF).
C ALGBRC(50) is IpCa in component IpCa (uA_per_uF).
C ALGBRC(51) is ICab in component ICab (uA_per_uF).
C ALGBRC(49) is INaCa in component INaCa (uA_per_uF).
C ALGBRC(42) is INaK in component INaK (uA_per_uF).
C ALGBRC(83) is Ito in component Ito (uA_per_uF).
C ALGBRC(56) is Ito2 in component Ito2 (uA_per_uF).
C ALGBRC(89) is IClb in component IClb (uA_per_uF).
C ALGBRC(66) is INal in component INal (uA_per_uF).
C ALGBRC(52) is caiont in component cell (uA_per_uF).
C ALGBRC(69) is naiont in component cell (uA_per_uF).
C ALGBRC(87) is kiont in component cell (uA_per_uF).
C ALGBRC(90) is clont in component cell (uA_per_uF).
C CONSTS(8) is l in component cell (cm).
C CONSTS(9) is a in component cell (cm).
C CONSTS(58) is vcell in component cell (uL).
C CONSTS(62) is ageo in component cell (cm2).
C CONSTS(65) is Acap in component cell (uF).
C CONSTS(66) is vmyo in component cell (uL).
C CONSTS(63) is vmito in component cell (uL).
C CONSTS(64) is vsr in component cell (uL).
C CONSTS(67) is vnsr in component cell (uL).
C CONSTS(68) is vjsr in component cell (uL).
C CONSTS(69) is vss in component cell (uL).
C CONSTS(70) is AF in component cell (uF_mole_per_C).
C CONSTS(10) is stim_offset in component cell (ms).
C CONSTS(11) is stim_period in component cell (ms).
C CONSTS(12) is stim_duration in component cell (ms).
C CONSTS(13) is stim_amplitude in component cell (uA_per_uF).
C ALGBRC(17) is i_Stim in component cell (uA_per_uF).
C ALGBRC(1) is past in component cell (ms).
C ALGBRC(60) is ENa in component reversal_potentials (mV).
C CONSTS(59) is GNa in component INa (mS_per_uF).
C ALGBRC(30) is gNa in component INa (mS_per_uF).
C STATES(2) is H in component INa (dimensionless).
C STATES(3) is m in component INa (dimensionless).
C STATES(4) is J in component INa (dimensionless).
C ALGBRC(2) is am in component INa (per_ms).
C ALGBRC(18) is bm in component INa (per_ms).
C ALGBRC(3) is ah in component INa (per_ms).
C ALGBRC(19) is bh in component INa (per_ms).
C ALGBRC(4) is aj in component INa (per_ms).
C ALGBRC(20) is bj in component INa (per_ms).
C STATES(5) is Ca_ss in component Ca (mM).
C STATES(6) is d in component ICaL (dimensionless).
C STATES(7) is dp in component ICaL (dimensionless).
C STATES(8) is f in component ICaL (dimensionless).
C STATES(9) is fca in component ICaL (dimensionless).
C STATES(10) is fca2 in component ICaL (dimensionless).
C STATES(11) is f2 in component ICaL (dimensionless).
C CONSTS(14) is pca in component ICaL (L_per_F_ms).
C CONSTS(15) is gacai in component ICaL (dimensionless).
C CONSTS(16) is gacao in component ICaL (dimensionless).
C ALGBRC(55) is CaMKactive in component Irel (dimensionless).
C ALGBRC(31) is ibarca in component ICaL (uA_per_uF).
C ALGBRC(5) is dss in component ICaL (dimensionless).
C ALGBRC(21) is taud in component ICaL (ms).
C ALGBRC(6) is fss in component ICaL (dimensionless).
C ALGBRC(7) is f2ss in component ICaL (dimensionless).
C ALGBRC(22) is tauf in component ICaL (ms).
C ALGBRC(23) is tauf2 in component ICaL (ms).
C ALGBRC(8) is dpss in component ICaL (dimensionless).
C ALGBRC(33) is fcass in component ICaL (dimensionless).
C ALGBRC(34) is fca2ss in component ICaL (dimensionless).
C ALGBRC(57) is taufca in component ICaL (ms).
C ALGBRC(36) is taufca2 in component ICaL (ms).
C ALGBRC(71) is EK in component reversal_potentials (mV).
C ALGBRC(73) is ak1 in component IK1 (per_ms).
C ALGBRC(75) is bk1 in component IK1 (per_ms).
C CONSTS(60) is gkr in component IKr (mS_per_uF).
C CONSTS(17) is gkr_const in component IKr (mS_per_uF).
C ALGBRC(38) is r in component IKr (dimensionless).
C STATES(12) is xr in component IKr (dimensionless).
C ALGBRC(9) is xrss in component IKr (dimensionless).
C ALGBRC(24) is tauxr in component IKr (ms).
C STATES(13) is Ca_i in component Ca (mM).
C ALGBRC(39) is gks in component IKs (mS_per_uF).
C ALGBRC(85) is EKs in component reversal_potentials (mV).
C ALGBRC(10) is xss in component IKs (dimensionless).
C ALGBRC(25) is tauxs in component IKs (ms).
C STATES(14) is xs1 in component IKs (dimensionless).
C STATES(15) is xs2 in component IKs (dimensionless).
C CONSTS(18) is gitodv in component Ito (mS_per_uF).
C ALGBRC(40) is rv in component Ito (dimensionless).
C ALGBRC(11) is ay in component Ito (per_ms).
C ALGBRC(26) is by in component Ito (per_ms).
C ALGBRC(12) is ay2 in component Ito (per_ms).
C ALGBRC(27) is by2 in component Ito (per_ms).
C ALGBRC(13) is ay3 in component Ito (per_ms).
C ALGBRC(28) is by3 in component Ito (per_ms).
C STATES(16) is ydv in component Ito (dimensionless).
C STATES(17) is ydv2 in component Ito (dimensionless).
C STATES(18) is zdv in component Ito (dimensionless).
C STATES(19) is Na_i in component Na (mM).
C CONSTS(19) is kmnai in component INaK (mM).
C CONSTS(20) is kmko in component INaK (mM).
C CONSTS(21) is ibarnak in component INaK (uA_per_uF).
C CONSTS(61) is sigma in component INaK (dimensionless).
C ALGBRC(41) is fnak in component INaK (dimensionless).
C ALGBRC(43) is ca_i_NaCa in component INaCa (mM).
C CONSTS(22) is KmCa in component INaCa (mM).
C ALGBRC(44) is allo in component INaCa (dimensionless).
C CONSTS(23) is NCXmax in component INaCa (uA_per_uF).
C CONSTS(24) is ksat in component INaCa (dimensionless).
C CONSTS(25) is eta in component INaCa (dimensionless).
C CONSTS(26) is KmNai in component INaCa (mM).
C CONSTS(27) is KmNao in component INaCa (mM).
C CONSTS(28) is KmCai in component INaCa (mM).
C CONSTS(29) is KmCao in component INaCa (mM).
C ALGBRC(45) is num in component INaCa (mM4).
C ALGBRC(46) is denom1 in component INaCa (dimensionless).
C ALGBRC(47) is denom2 in component INaCa (mM4).
C ALGBRC(48) is denom3 in component INaCa (mM4).
C CONSTS(30) is ibarpca in component IpCa (uA_per_uF).
C CONSTS(31) is kmpca in component IpCa (mM).
C STATES(20) is Cl_i in component Cl (mM).
C CONSTS(32) is PCl in component Ito2 (L_per_F_ms).
C STATES(21) is AA in component Ito2 (dimensionless).
C ALGBRC(54) is Ito2_max in component Ito2 (uA_per_uF).
C ALGBRC(14) is AAss in component Ito2 (dimensionless).
C CONSTS(33) is Kmto2 in component Ito2 (mM).
C ALGBRC(88) is ECl in component reversal_potentials (mV).
C CONSTS(34) is GClb in component IClb (mS_per_uF).
C CONSTS(35) is GNaL in component INal (mS_per_uF).
C STATES(22) is mL in component INal (dimensionless).
C STATES(23) is hL in component INal (dimensionless).
C ALGBRC(15) is amL in component INal (per_ms).
C ALGBRC(29) is bmL in component INal (per_ms).
C ALGBRC(16) is hLss in component INal (dimensionless).
C STATES(24) is K_i in component K (mM).
C CONSTS(36) is prnak in component reversal_potentials (dimensionless).
C STATES(25) is Ca_jsr in component Ca (mM).
C ALGBRC(62) is Grel in component Irel (per_ms).
C ALGBRC(35) is dro_inf in component Irel (dimensionless).
C CONSTS(37) is dtau_rel_max in component Irel (ms).
C ALGBRC(61) is dtau_rel in component Irel (ms).
C ALGBRC(37) is ross in component Irel (dimensionless).
C ALGBRC(64) is riss in component Irel (dimensionless).
C ALGBRC(67) is tauri in component Irel (ms).
C ALGBRC(65) is irelcicr in component Irel (mM_per_ms).
C CONSTS(38) is CaMK0 in component Irel (dimensionless).
C CONSTS(39) is Km in component Irel (mM).
C CONSTS(40) is KmCaMK in component Irel (dimensionless).
C ALGBRC(53) is CaMKbound in component Irel (dimensionless).
C STATES(26) is CaMKtrap in component Irel (dimensionless).
C STATES(27) is ro in component Irel (dimensionless).
C STATES(28) is ri in component Irel (dimensionless).
C ALGBRC(59) is vg in component Irel (dimensionless).
C ALGBRC(58) is cafac in component Irel (dimensionless).
C CONSTS(41) is dKmPLBmax in component Iup_Ileak (mM).
C CONSTS(42) is dJupmax in component Iup_Ileak (dimensionless).
C ALGBRC(68) is dKmPLB in component Iup_Ileak (mM).
C ALGBRC(70) is dJup in component Iup_Ileak (dimensionless).
C CONSTS(43) is iupmax in component Iup_Ileak (mM_per_ms).
C CONSTS(44) is Kmup in component Iup_Ileak (mM).
C CONSTS(45) is nsrmax in component Iup_Ileak (mM).
C ALGBRC(72) is iup in component Iup_Ileak (mM_per_ms).
C ALGBRC(74) is ileak in component Iup_Ileak (mM_per_ms).
C STATES(29) is Ca_nsr in component Ca (mM).
C ALGBRC(77) is idiff in component Idiff_Itr (mM_per_ms).
C ALGBRC(76) is itr in component Idiff_Itr (mM_per_ms).
C ALGBRC(91) is CTNaCl in component Na (mM_per_ms).
C CONSTS(46) is CTNaClmax in component Na (mM_per_ms).
C ALGBRC(92) is CTKCl in component K (mM_per_ms).
C CONSTS(47) is CTKClmax in component K (mM_per_ms).
C CONSTS(48) is kmt in component Ca (mM).
C CONSTS(49) is kmc in component Ca (mM).
C CONSTS(50) is tbar in component Ca (mM).
C CONSTS(51) is cbar in component Ca (mM).
C CONSTS(52) is kmcsqn in component Ca (mM).
C CONSTS(53) is csqnbar in component Ca (mM).
C ALGBRC(79) is bcsqn in component Ca (dimensionless).
C ALGBRC(80) is bmyo in component Ca (dimensionless).
C CONSTS(54) is BSRmax in component Ca (mM).
C CONSTS(55) is KmBSR in component Ca (mM).
C CONSTS(56) is BSLmax in component Ca (mM).
C CONSTS(57) is KmBSL in component Ca (mM).
C ALGBRC(81) is bss in component Ca (dimensionless).
C RATES(1) is d/dt V in component cell (mV).
C RATES(2) is d/dt H in component INa (dimensionless).
C RATES(3) is d/dt m in component INa (dimensionless).
C RATES(4) is d/dt J in component INa (dimensionless).
C RATES(6) is d/dt d in component ICaL (dimensionless).
C RATES(7) is d/dt dp in component ICaL (dimensionless).
C RATES(8) is d/dt f in component ICaL (dimensionless).
C RATES(11) is d/dt f2 in component ICaL (dimensionless).
C RATES(9) is d/dt fca in component ICaL (dimensionless).
C RATES(10) is d/dt fca2 in component ICaL (dimensionless).
C RATES(12) is d/dt xr in component IKr (dimensionless).
C RATES(14) is d/dt xs1 in component IKs (dimensionless).
C RATES(15) is d/dt xs2 in component IKs (dimensionless).
C RATES(16) is d/dt ydv in component Ito (dimensionless).
C RATES(17) is d/dt ydv2 in component Ito (dimensionless).
C RATES(18) is d/dt zdv in component Ito (dimensionless).
C RATES(21) is d/dt AA in component Ito2 (dimensionless).
C RATES(22) is d/dt mL in component INal (dimensionless).
C RATES(23) is d/dt hL in component INal (dimensionless).
C RATES(27) is d/dt ro in component Irel (dimensionless).
C RATES(28) is d/dt ri in component Irel (dimensionless).
C RATES(26) is d/dt CaMKtrap in component Irel (dimensionless).
C RATES(19) is d/dt Na_i in component Na (mM).
C RATES(24) is d/dt K_i in component K (mM).
C RATES(20) is d/dt Cl_i in component Cl (mM).
C RATES(13) is d/dt Ca_i in component Ca (mM).
C RATES(5) is d/dt Ca_ss in component Ca (mM).
C RATES(29) is d/dt Ca_nsr in component Ca (mM).
C RATES(25) is d/dt Ca_jsr in component Ca (mM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 96485
      CONSTS(2) = 5.4
      CONSTS(3) = 1.8
      CONSTS(4) = 140
      CONSTS(5) = 100
      CONSTS(6) = 0.0374358835078
      CONSTS(7) = 1
      STATES(1) = -85.781844107117
      CONSTS(8) = 0.01
      CONSTS(9) = 0.0011
      CONSTS(10) = 0
      CONSTS(11) = 1e3
      CONSTS(12) = 3
      CONSTS(13) = -15
      STATES(2) = 0.987317750543
      STATES(3) = 0.001356538159
      STATES(4) = 0.991924983076
      STATES(5) = 0.00012271265
      STATES(6) = 0.00000164013
      STATES(7) = 8.98230672628
      STATES(8) = 0.999961508634
      STATES(9) = 0.97836624923
      STATES(10) = 0.893052931249
      STATES(11) = 0.992234519148
      CONSTS(14) = 2.43e-4
      CONSTS(15) = 1
      CONSTS(16) = 0.341
      CONSTS(17) = 0.0138542
      STATES(12) = 0.00000724074
      STATES(13) = 0.00012131666
      STATES(14) = 0.019883138161
      STATES(15) = 0.019890650554
      CONSTS(18) = 0.19
      STATES(16) = 0.013970786703
      STATES(17) = 0.99996472752
      STATES(18) = 0.829206149767
      STATES(19) = 12.972433387269
      CONSTS(19) = 10
      CONSTS(20) = 1.5
      CONSTS(21) = 0.61875
      CONSTS(22) = 1.25e-4
      CONSTS(23) = 4.5
      CONSTS(24) = 0.27
      CONSTS(25) = 0.35
      CONSTS(26) = 12.3
      CONSTS(27) = 87.5
      CONSTS(28) = 0.0036
      CONSTS(29) = 1.3
      CONSTS(30) = 0.0575
      CONSTS(31) = 0.5e-3
      STATES(20) = 15.59207157178
      CONSTS(32) = 4e-7
      STATES(21) = 0.000816605172
      CONSTS(33) = 0.1502
      CONSTS(34) = 2.25e-4
      CONSTS(35) = 65e-4
      STATES(22) = 0.001356538159
      STATES(23) = 0.26130711759
      STATES(24) = 135.469546216758
      CONSTS(36) = 0.01833
      STATES(25) = 1.737580994071
      CONSTS(37) = 10
      CONSTS(38) = 0.05
      CONSTS(39) = 0.0015
      CONSTS(40) = 0.15
      STATES(26) = 0.021123704774
      STATES(27) = 0
      STATES(28) = 0.862666650318
      CONSTS(41) = 0.00017
      CONSTS(42) = 0.75
      CONSTS(43) = 0.004375
      CONSTS(44) = 0.00092
      CONSTS(45) = 15
      STATES(29) = 1.832822335168
      CONSTS(46) = 9.8443e-6
      CONSTS(47) = 7.0756e-6
      CONSTS(48) = 0.5e-3
      CONSTS(49) = 2.38e-3
      CONSTS(50) = 70e-3
      CONSTS(51) = 50e-3
      CONSTS(52) = 0.8
      CONSTS(53) = 10
      CONSTS(54) = 0.047
      CONSTS(55) = 0.00087
      CONSTS(56) = 1.124
      CONSTS(57) = 0.0087
      CONSTS(58) =  1000.00* 3.14159265358979*CONSTS(9)*CONSTS(9)*CONSTS(8)
      CONSTS(59) = TERNRY(CONSTS(7).EQ.0.00000, 8.25000,  4.00000*8.25000)
      CONSTS(60) =  CONSTS(17)* (CONSTS(2)/5.40000) ** (1.0 / 2)
      CONSTS(61) = (EXP(CONSTS(4)/67.3000) - 1.00000)/7.00000
      CONSTS(62) =  2.00000* 3.14159265358979*CONSTS(9)*CONSTS(9)+ 2.00000* 3.14159265358979*CONSTS(9)*CONSTS(8)
      CONSTS(63) =  CONSTS(58)*0.260000
      CONSTS(64) =  CONSTS(58)*0.0600000
      CONSTS(65) =  CONSTS(62)*2.00000
      CONSTS(66) =  CONSTS(58)*0.680000
      CONSTS(67) =  CONSTS(58)*0.0552000
      CONSTS(68) =  CONSTS(58)*0.00480000
      CONSTS(69) =  CONSTS(58)*0.0200000
      CONSTS(70) = CONSTS(65)/CONSTS(1)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(8) = 9.00000 - 8.00000/(1.00000+EXP(- (STATES(1)+65.0000)/3.40000))
      RATES(7) = (ALGBRC(8) - STATES(7))/10.0000
      ALGBRC(14) = 1.00000/(1.00000+CONSTS(33)/STATES(5))
      RATES(21) = (ALGBRC(14) - STATES(21))/1.00000
      ALGBRC(16) = 1.00000/(1.00000+EXP((STATES(1)+91.0000)/6.10000))
      RATES(23) = (ALGBRC(16) - STATES(23))/600.000
      ALGBRC(3) = TERNRY(STATES(1).GE.- 40.0000, 0.00000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000))
      ALGBRC(19) = TERNRY(STATES(1).GE.- 40.0000, 1.00000/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000))),  3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)))
      RATES(2) =  ALGBRC(3)*(1.00000 - STATES(2)) -  ALGBRC(19)*STATES(2)
      ALGBRC(2) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(18) =  0.0800000*EXP(- STATES(1)/11.0000)
      RATES(3) =  ALGBRC(2)*(1.00000 - STATES(3)) -  ALGBRC(18)*STATES(3)
      ALGBRC(4) = TERNRY(STATES(1).GE.- 40.0000, 0.00000, ( ( - 127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( - 0.0439100*STATES(1)))*1.00000*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))
      ALGBRC(20) = TERNRY(STATES(1).GE.- 40.0000, ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))), ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))))
      RATES(4) =  ALGBRC(4)*(1.00000 - STATES(4)) -  ALGBRC(20)*STATES(4)
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1) - 4.00000)/6.74000))
      ALGBRC(21) = 0.590000+( 0.800000*EXP( 0.0520000*(STATES(1)+13.0000)))/(1.00000+EXP( 0.132000*(STATES(1)+13.0000)))
      RATES(6) = (ALGBRC(5) - STATES(6))/ALGBRC(21)
      ALGBRC(6) = 0.700000/(1.00000+EXP((STATES(1)+17.1200)/7.00000))+0.300000
      ALGBRC(22) = 1.00000/( 0.241100*EXP(-  0.0450000*(STATES(1) - 9.69140) ** 2.00000)+0.0529000)
      RATES(8) = (ALGBRC(6) - STATES(8))/ALGBRC(22)
      ALGBRC(7) = 0.770000/(1.00000+EXP((STATES(1)+17.1200)/7.00000))+0.230000
      ALGBRC(23) = 1.00000/( 0.0423000*EXP(-  0.0590000*(STATES(1) - 18.5726) ** 2.00000)+0.00540000)
      RATES(11) = (ALGBRC(7) - STATES(11))/ALGBRC(23)
      ALGBRC(9) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0850)/4.25000))
      ALGBRC(24) = 1.00000/(( 0.000600000*(STATES(1) - 1.73840))/(1.00000 - EXP( - 0.136000*(STATES(1) - 1.73840)))+( 0.000300000*(STATES(1)+38.3608))/(EXP( 0.152200*(STATES(1)+38.3608)) - 1.00000))
      RATES(12) = (ALGBRC(9) - STATES(12))/ALGBRC(24)
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 10.5000)/24.7000))
      ALGBRC(25) = 1.00000/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      RATES(14) = (ALGBRC(10) - STATES(14))/ALGBRC(25)
      RATES(15) = ((ALGBRC(10) - STATES(15))/ALGBRC(25))/2.00000
      ALGBRC(11) = ( 25.0000*EXP((STATES(1) - 40.0000)/25.0000))/(1.00000+EXP((STATES(1) - 40.0000)/25.0000))
      ALGBRC(26) = ( 25.0000*EXP(- (STATES(1)+90.0000)/25.0000))/(1.00000+EXP(- (STATES(1)+90.0000)/25.0000))
      RATES(16) =  ALGBRC(11)*(1.00000 - STATES(16)) -  ALGBRC(26)*STATES(16)
      ALGBRC(12) = 0.0300000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(27) = ( 0.200000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      RATES(17) =  ALGBRC(12)*(1.00000 - STATES(17)) -  ALGBRC(27)*STATES(17)
      ALGBRC(13) = 0.00225000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(28) = ( 0.100000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      RATES(18) =  ALGBRC(13)*(1.00000 - STATES(18)) -  ALGBRC(28)*STATES(18)
      ALGBRC(15) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(29) =  0.0800000*EXP(- STATES(1)/11.0000)
      RATES(22) =  ALGBRC(15)*(1.00000 - STATES(22)) -  ALGBRC(29)*STATES(22)
      ALGBRC(31) = ( CONSTS(14)*4.00000*(STATES(1) - 15.0000)*CONSTS(1)*CONSTS(6)*( CONSTS(15)*STATES(5)*EXP( 2.00000*(STATES(1) - 15.0000)*CONSTS(6)) -  CONSTS(16)*CONSTS(3)))/(EXP( 2.00000*(STATES(1) - 15.0000)*CONSTS(6)) - 1.00000)
      ALGBRC(32) = TERNRY(CONSTS(7).EQ.0.00000,  STATES(6) ** STATES(7)*STATES(8)*STATES(11)*STATES(9)*STATES(10)*ALGBRC(31),  STATES(6)*STATES(8)*STATES(11)*STATES(9)*STATES(10)*ALGBRC(31))
      ALGBRC(34) = 1.00000/(1.00000 - ALGBRC(32)/0.0100000)
      ALGBRC(36) = 300.000/(1.00000+EXP((- ALGBRC(32) - 0.175000)/0.0400000))+125.000
      RATES(10) = (ALGBRC(34) - STATES(10))/ALGBRC(36)
      ALGBRC(35) = STATES(25) ** 1.90000/(STATES(25) ** 1.90000+( 49.2800*STATES(5))/(STATES(5)+0.00280000) ** 1.90000)
      ALGBRC(37) = ALGBRC(35)/(1.00000/ALGBRC(32) ** 2.00000+1.00000)
      RATES(27) = (ALGBRC(37) - STATES(27))/3.00000
      ALGBRC(53) = ( CONSTS(38)*(1.00000 - STATES(26)))/(1.00000+CONSTS(39)/STATES(5))
      ALGBRC(55) = ALGBRC(53)+STATES(26)
      RATES(26) =  0.0500000*ALGBRC(55)*(ALGBRC(55) - STATES(26)) -  0.000680000*STATES(26)
      ALGBRC(33) = 0.300000/(1.00000 - ALGBRC(32)/0.0500000)+0.550000/(1.00000+STATES(5)/0.00300000)+0.150000
      ALGBRC(57) = ( 10.0000*ALGBRC(55))/(0.150000+ALGBRC(55))+1.00000/(1.00000+STATES(5)/0.00300000)+0.500000
      RATES(9) = (ALGBRC(33) - STATES(9))/ALGBRC(57)
      ALGBRC(58) = 1.00000/(1.00000+EXP((ALGBRC(32)+0.0500000)/0.0150000))
      ALGBRC(64) = 1.00000/(1.00000+EXP(((STATES(5) - 0.000400000)+ 0.00200000*ALGBRC(58))/2.50000e-05))
      ALGBRC(61) = ( CONSTS(37)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(67) = 3.00000+ALGBRC(61)+(350.000 - ALGBRC(61))/(1.00000+EXP(((STATES(5) - 0.00300000)+ 0.00300000*ALGBRC(58))/0.000200000))
      RATES(28) = (ALGBRC(64) - STATES(28))/ALGBRC(67)
      ALGBRC(68) = ( CONSTS(41)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(70) = ( CONSTS(42)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(72) = ( (ALGBRC(70)+1.00000)*CONSTS(43)*STATES(13))/((STATES(13)+CONSTS(44)) - ALGBRC(68))
      ALGBRC(74) = ( CONSTS(43)*STATES(29))/CONSTS(45)
      ALGBRC(76) = (STATES(29) - STATES(25))/120.000
      RATES(29) = (ALGBRC(72) - ( ALGBRC(76)*CONSTS(68))/CONSTS(67)) - ALGBRC(74)
      ALGBRC(50) = ( CONSTS(30)*STATES(13))/(CONSTS(31)+STATES(13))
      ALGBRC(51) = ( 1.99508e-07*4.00000*STATES(1)*CONSTS(1)*CONSTS(6)*( STATES(13)*EXP( 2.00000*STATES(1)*CONSTS(6)) -  0.341000*CONSTS(3)))/(EXP( 2.00000*STATES(1)*CONSTS(6)) - 1.00000)
      ALGBRC(43) =  1.50000*STATES(13)
      ALGBRC(44) = 1.00000/(1.00000+CONSTS(22)/ALGBRC(43) ** 2.00000)
      ALGBRC(45) =  STATES(19) ** 3.00000*CONSTS(3)*EXP( CONSTS(25)*STATES(1)*CONSTS(6)) -  CONSTS(4) ** 3.00000*ALGBRC(43)*EXP( (CONSTS(25) - 1.00000)*STATES(1)*CONSTS(6))
      ALGBRC(46) = 1.00000+ CONSTS(24)*EXP( (CONSTS(25) - 1.00000)*STATES(1)*CONSTS(6))
      ALGBRC(47) =  CONSTS(29)*STATES(19) ** 3.00000+ CONSTS(27) ** 3.00000*ALGBRC(43)+ CONSTS(26) ** 3.00000*CONSTS(3)*(1.00000+ALGBRC(43)/CONSTS(28))
      ALGBRC(48) =  CONSTS(28)*CONSTS(4) ** 3.00000*(1.00000+STATES(19)/CONSTS(26) ** 3.00000)+ STATES(19) ** 3.00000*CONSTS(3)+ CONSTS(4) ** 3.00000*ALGBRC(43)
      ALGBRC(49) = ( CONSTS(23)*ALGBRC(44)*ALGBRC(45))/( ALGBRC(46)*(ALGBRC(47)+ALGBRC(48)))
      ALGBRC(77) = (STATES(5) - STATES(13))/0.200000
      ALGBRC(80) = 1.00000/(1.00000+( CONSTS(51)*CONSTS(49))/STATES(13)+CONSTS(49) ** 2.00000+( CONSTS(48)*CONSTS(50))/STATES(13)+CONSTS(48) ** 2.00000)
      RATES(13) =  ALGBRC(80)*(( - ((ALGBRC(51)+ALGBRC(50)) -  2.00000*ALGBRC(49))*CONSTS(70))/( CONSTS(66)*2.00000)+( (ALGBRC(74) - ALGBRC(72))*CONSTS(67))/CONSTS(66)+( ALGBRC(77)*CONSTS(69))/CONSTS(66))
      ALGBRC(59) = TERNRY(CONSTS(7).EQ.0.00000, 1.00000/(1.00000+EXP((ALGBRC(31)+13.0000)/5.00000)), 1.00000)
      ALGBRC(62) =  3000.00*ALGBRC(59)
      ALGBRC(65) =  ALGBRC(62)*STATES(27)*STATES(28)*(STATES(25) - STATES(5))
      ALGBRC(81) = 1.00000/(1.00000+( CONSTS(54)*CONSTS(55))/CONSTS(55)+STATES(5) ** 2.00000+( CONSTS(56)*CONSTS(57))/CONSTS(57)+STATES(5) ** 2.00000)
      RATES(5) =  ALGBRC(81)*((( - ALGBRC(32)*CONSTS(70))/( CONSTS(69)*2.00000)+( ALGBRC(65)*CONSTS(68))/CONSTS(69)) - ALGBRC(77))
      ALGBRC(79) = 1.00000/(1.00000+( CONSTS(52)*CONSTS(53))/STATES(25)+CONSTS(52) ** 2.00000)
      RATES(25) =  ALGBRC(79)*(ALGBRC(76) - ALGBRC(65))
      ALGBRC(52) = (ALGBRC(32)+ALGBRC(51)+ALGBRC(50)) -  2.00000*ALGBRC(49)
      ALGBRC(60) = log(CONSTS(4)/STATES(19))/CONSTS(6)
      ALGBRC(30) =  CONSTS(59)*STATES(3)*STATES(3)*STATES(3)*STATES(2)*STATES(4)
      ALGBRC(63) =  ALGBRC(30)*(STATES(1) - ALGBRC(60))
      ALGBRC(41) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(6))+ 0.0365000*CONSTS(61)*EXP( - STATES(1)*CONSTS(6)))
      ALGBRC(42) = ( (( CONSTS(21)*ALGBRC(41)*1.00000)/(1.00000+CONSTS(19)/STATES(19) ** 2.00000))*CONSTS(2))/(CONSTS(2)+CONSTS(20))
      ALGBRC(66) =  CONSTS(35)*STATES(22) ** 3.00000*STATES(23)*(STATES(1) - ALGBRC(60))
      ALGBRC(69) = ALGBRC(63)+ 3.00000*ALGBRC(49)+ 3.00000*ALGBRC(42)+ALGBRC(66)
      ALGBRC(71) = log(CONSTS(2)/STATES(24))/CONSTS(6)
      ALGBRC(73) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(71)) - 59.2150)))
      ALGBRC(75) = ( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(71))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - ALGBRC(71)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(71))+4.75300)))
      ALGBRC(78) =  (( 0.500000* (CONSTS(2)/5.40000) ** (1.0 / 2)*ALGBRC(73))/(ALGBRC(73)+ALGBRC(75)))*(STATES(1) - ALGBRC(71))
      ALGBRC(84) = ( 0.00276000*(STATES(1) - ALGBRC(71)))/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(39) =  0.0248975*(1.00000+0.600000/(1.00000+3.80000e-05/STATES(13) ** 1.40000))
      ALGBRC(85) = log((CONSTS(2)+ CONSTS(36)*CONSTS(4))/(STATES(24)+ CONSTS(36)*STATES(19)))/CONSTS(6)
      ALGBRC(86) =  ALGBRC(39)*STATES(14)*STATES(15)*(STATES(1) - ALGBRC(85))
      ALGBRC(38) = 1.00000/(1.00000+EXP((STATES(1)+10.0000)/15.4000))
      ALGBRC(82) =  CONSTS(60)*STATES(12)*ALGBRC(38)*(STATES(1) - ALGBRC(71))
      ALGBRC(40) = EXP(STATES(1)/300.000)
      ALGBRC(83) =  CONSTS(18)*STATES(16) ** 3.00000*STATES(17)*STATES(18)*ALGBRC(40)*(STATES(1) - ALGBRC(71))
      ALGBRC(1) =  INT(VOI/CONSTS(11))*CONSTS(11)
      ALGBRC(17) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(10).AND.VOI - ALGBRC(1).LE.CONSTS(10)+CONSTS(12), CONSTS(13), 0.00000)
      ALGBRC(87) = ((ALGBRC(82)+ALGBRC(86)+ALGBRC(78)+ALGBRC(84)) -  2.00000*ALGBRC(42))+ALGBRC(83)+ 0.500000*ALGBRC(17)
      ALGBRC(54) = ( CONSTS(32)*STATES(1)*CONSTS(1)*CONSTS(6)*(STATES(20) -  CONSTS(5)*EXP( STATES(1)*CONSTS(6))))/(1.00000 - EXP( STATES(1)*CONSTS(6)))
      ALGBRC(56) =  ALGBRC(54)*STATES(21)
      ALGBRC(88) = - log(CONSTS(5)/STATES(20))/CONSTS(6)
      ALGBRC(89) =  CONSTS(34)*(STATES(1) - ALGBRC(88))
      ALGBRC(90) = ALGBRC(89)+ALGBRC(56)+ 0.500000*ALGBRC(17)
      RATES(1) = - (ALGBRC(69)+ALGBRC(87)+ALGBRC(52)+ALGBRC(90))
      ALGBRC(91) = ( CONSTS(46)*ALGBRC(60) - ALGBRC(88) ** 4.00000)/(ALGBRC(60) - ALGBRC(88) ** 4.00000+87.8251 ** 4.00000)
      RATES(19) = ( - ALGBRC(69)*CONSTS(70))/CONSTS(66)+ALGBRC(91)
      ALGBRC(92) = ( CONSTS(47)*(ALGBRC(71) - ALGBRC(88)))/((ALGBRC(71) - ALGBRC(88))+87.8251)
      RATES(24) = ( - ALGBRC(87)*CONSTS(70))/CONSTS(66)+ALGBRC(92)
      RATES(20) = ( ALGBRC(90)*CONSTS(70))/CONSTS(66)+ALGBRC(91)+ALGBRC(92)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(8) = 9.00000 - 8.00000/(1.00000+EXP(- (STATES(1)+65.0000)/3.40000))
      ALGBRC(14) = 1.00000/(1.00000+CONSTS(33)/STATES(5))
      ALGBRC(16) = 1.00000/(1.00000+EXP((STATES(1)+91.0000)/6.10000))
      ALGBRC(3) = TERNRY(STATES(1).GE.- 40.0000, 0.00000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000))
      ALGBRC(19) = TERNRY(STATES(1).GE.- 40.0000, 1.00000/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000))),  3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)))
      ALGBRC(2) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(18) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(4) = TERNRY(STATES(1).GE.- 40.0000, 0.00000, ( ( - 127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( - 0.0439100*STATES(1)))*1.00000*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))
      ALGBRC(20) = TERNRY(STATES(1).GE.- 40.0000, ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))), ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))))
      ALGBRC(5) = 1.00000/(1.00000+EXP(- (STATES(1) - 4.00000)/6.74000))
      ALGBRC(21) = 0.590000+( 0.800000*EXP( 0.0520000*(STATES(1)+13.0000)))/(1.00000+EXP( 0.132000*(STATES(1)+13.0000)))
      ALGBRC(6) = 0.700000/(1.00000+EXP((STATES(1)+17.1200)/7.00000))+0.300000
      ALGBRC(22) = 1.00000/( 0.241100*EXP(-  0.0450000*(STATES(1) - 9.69140) ** 2.00000)+0.0529000)
      ALGBRC(7) = 0.770000/(1.00000+EXP((STATES(1)+17.1200)/7.00000))+0.230000
      ALGBRC(23) = 1.00000/( 0.0423000*EXP(-  0.0590000*(STATES(1) - 18.5726) ** 2.00000)+0.00540000)
      ALGBRC(9) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0850)/4.25000))
      ALGBRC(24) = 1.00000/(( 0.000600000*(STATES(1) - 1.73840))/(1.00000 - EXP( - 0.136000*(STATES(1) - 1.73840)))+( 0.000300000*(STATES(1)+38.3608))/(EXP( 0.152200*(STATES(1)+38.3608)) - 1.00000))
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 10.5000)/24.7000))
      ALGBRC(25) = 1.00000/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      ALGBRC(11) = ( 25.0000*EXP((STATES(1) - 40.0000)/25.0000))/(1.00000+EXP((STATES(1) - 40.0000)/25.0000))
      ALGBRC(26) = ( 25.0000*EXP(- (STATES(1)+90.0000)/25.0000))/(1.00000+EXP(- (STATES(1)+90.0000)/25.0000))
      ALGBRC(12) = 0.0300000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(27) = ( 0.200000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      ALGBRC(13) = 0.00225000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(28) = ( 0.100000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      ALGBRC(15) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(29) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(31) = ( CONSTS(14)*4.00000*(STATES(1) - 15.0000)*CONSTS(1)*CONSTS(6)*( CONSTS(15)*STATES(5)*EXP( 2.00000*(STATES(1) - 15.0000)*CONSTS(6)) -  CONSTS(16)*CONSTS(3)))/(EXP( 2.00000*(STATES(1) - 15.0000)*CONSTS(6)) - 1.00000)
      ALGBRC(32) = TERNRY(CONSTS(7).EQ.0.00000,  STATES(6) ** STATES(7)*STATES(8)*STATES(11)*STATES(9)*STATES(10)*ALGBRC(31),  STATES(6)*STATES(8)*STATES(11)*STATES(9)*STATES(10)*ALGBRC(31))
      ALGBRC(34) = 1.00000/(1.00000 - ALGBRC(32)/0.0100000)
      ALGBRC(36) = 300.000/(1.00000+EXP((- ALGBRC(32) - 0.175000)/0.0400000))+125.000
      ALGBRC(35) = STATES(25) ** 1.90000/(STATES(25) ** 1.90000+( 49.2800*STATES(5))/(STATES(5)+0.00280000) ** 1.90000)
      ALGBRC(37) = ALGBRC(35)/(1.00000/ALGBRC(32) ** 2.00000+1.00000)
      ALGBRC(53) = ( CONSTS(38)*(1.00000 - STATES(26)))/(1.00000+CONSTS(39)/STATES(5))
      ALGBRC(55) = ALGBRC(53)+STATES(26)
      ALGBRC(33) = 0.300000/(1.00000 - ALGBRC(32)/0.0500000)+0.550000/(1.00000+STATES(5)/0.00300000)+0.150000
      ALGBRC(57) = ( 10.0000*ALGBRC(55))/(0.150000+ALGBRC(55))+1.00000/(1.00000+STATES(5)/0.00300000)+0.500000
      ALGBRC(58) = 1.00000/(1.00000+EXP((ALGBRC(32)+0.0500000)/0.0150000))
      ALGBRC(64) = 1.00000/(1.00000+EXP(((STATES(5) - 0.000400000)+ 0.00200000*ALGBRC(58))/2.50000e-05))
      ALGBRC(61) = ( CONSTS(37)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(67) = 3.00000+ALGBRC(61)+(350.000 - ALGBRC(61))/(1.00000+EXP(((STATES(5) - 0.00300000)+ 0.00300000*ALGBRC(58))/0.000200000))
      ALGBRC(68) = ( CONSTS(41)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(70) = ( CONSTS(42)*ALGBRC(55))/(CONSTS(40)+ALGBRC(55))
      ALGBRC(72) = ( (ALGBRC(70)+1.00000)*CONSTS(43)*STATES(13))/((STATES(13)+CONSTS(44)) - ALGBRC(68))
      ALGBRC(74) = ( CONSTS(43)*STATES(29))/CONSTS(45)
      ALGBRC(76) = (STATES(29) - STATES(25))/120.000
      ALGBRC(50) = ( CONSTS(30)*STATES(13))/(CONSTS(31)+STATES(13))
      ALGBRC(51) = ( 1.99508e-07*4.00000*STATES(1)*CONSTS(1)*CONSTS(6)*( STATES(13)*EXP( 2.00000*STATES(1)*CONSTS(6)) -  0.341000*CONSTS(3)))/(EXP( 2.00000*STATES(1)*CONSTS(6)) - 1.00000)
      ALGBRC(43) =  1.50000*STATES(13)
      ALGBRC(44) = 1.00000/(1.00000+CONSTS(22)/ALGBRC(43) ** 2.00000)
      ALGBRC(45) =  STATES(19) ** 3.00000*CONSTS(3)*EXP( CONSTS(25)*STATES(1)*CONSTS(6)) -  CONSTS(4) ** 3.00000*ALGBRC(43)*EXP( (CONSTS(25) - 1.00000)*STATES(1)*CONSTS(6))
      ALGBRC(46) = 1.00000+ CONSTS(24)*EXP( (CONSTS(25) - 1.00000)*STATES(1)*CONSTS(6))
      ALGBRC(47) =  CONSTS(29)*STATES(19) ** 3.00000+ CONSTS(27) ** 3.00000*ALGBRC(43)+ CONSTS(26) ** 3.00000*CONSTS(3)*(1.00000+ALGBRC(43)/CONSTS(28))
      ALGBRC(48) =  CONSTS(28)*CONSTS(4) ** 3.00000*(1.00000+STATES(19)/CONSTS(26) ** 3.00000)+ STATES(19) ** 3.00000*CONSTS(3)+ CONSTS(4) ** 3.00000*ALGBRC(43)
      ALGBRC(49) = ( CONSTS(23)*ALGBRC(44)*ALGBRC(45))/( ALGBRC(46)*(ALGBRC(47)+ALGBRC(48)))
      ALGBRC(77) = (STATES(5) - STATES(13))/0.200000
      ALGBRC(80) = 1.00000/(1.00000+( CONSTS(51)*CONSTS(49))/STATES(13)+CONSTS(49) ** 2.00000+( CONSTS(48)*CONSTS(50))/STATES(13)+CONSTS(48) ** 2.00000)
      ALGBRC(59) = TERNRY(CONSTS(7).EQ.0.00000, 1.00000/(1.00000+EXP((ALGBRC(31)+13.0000)/5.00000)), 1.00000)
      ALGBRC(62) =  3000.00*ALGBRC(59)
      ALGBRC(65) =  ALGBRC(62)*STATES(27)*STATES(28)*(STATES(25) - STATES(5))
      ALGBRC(81) = 1.00000/(1.00000+( CONSTS(54)*CONSTS(55))/CONSTS(55)+STATES(5) ** 2.00000+( CONSTS(56)*CONSTS(57))/CONSTS(57)+STATES(5) ** 2.00000)
      ALGBRC(79) = 1.00000/(1.00000+( CONSTS(52)*CONSTS(53))/STATES(25)+CONSTS(52) ** 2.00000)
      ALGBRC(52) = (ALGBRC(32)+ALGBRC(51)+ALGBRC(50)) -  2.00000*ALGBRC(49)
      ALGBRC(60) = log(CONSTS(4)/STATES(19))/CONSTS(6)
      ALGBRC(30) =  CONSTS(59)*STATES(3)*STATES(3)*STATES(3)*STATES(2)*STATES(4)
      ALGBRC(63) =  ALGBRC(30)*(STATES(1) - ALGBRC(60))
      ALGBRC(41) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(6))+ 0.0365000*CONSTS(61)*EXP( - STATES(1)*CONSTS(6)))
      ALGBRC(42) = ( (( CONSTS(21)*ALGBRC(41)*1.00000)/(1.00000+CONSTS(19)/STATES(19) ** 2.00000))*CONSTS(2))/(CONSTS(2)+CONSTS(20))
      ALGBRC(66) =  CONSTS(35)*STATES(22) ** 3.00000*STATES(23)*(STATES(1) - ALGBRC(60))
      ALGBRC(69) = ALGBRC(63)+ 3.00000*ALGBRC(49)+ 3.00000*ALGBRC(42)+ALGBRC(66)
      ALGBRC(71) = log(CONSTS(2)/STATES(24))/CONSTS(6)
      ALGBRC(73) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(71)) - 59.2150)))
      ALGBRC(75) = ( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(71))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - ALGBRC(71)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(71))+4.75300)))
      ALGBRC(78) =  (( 0.500000* (CONSTS(2)/5.40000) ** (1.0 / 2)*ALGBRC(73))/(ALGBRC(73)+ALGBRC(75)))*(STATES(1) - ALGBRC(71))
      ALGBRC(84) = ( 0.00276000*(STATES(1) - ALGBRC(71)))/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(39) =  0.0248975*(1.00000+0.600000/(1.00000+3.80000e-05/STATES(13) ** 1.40000))
      ALGBRC(85) = log((CONSTS(2)+ CONSTS(36)*CONSTS(4))/(STATES(24)+ CONSTS(36)*STATES(19)))/CONSTS(6)
      ALGBRC(86) =  ALGBRC(39)*STATES(14)*STATES(15)*(STATES(1) - ALGBRC(85))
      ALGBRC(38) = 1.00000/(1.00000+EXP((STATES(1)+10.0000)/15.4000))
      ALGBRC(82) =  CONSTS(60)*STATES(12)*ALGBRC(38)*(STATES(1) - ALGBRC(71))
      ALGBRC(40) = EXP(STATES(1)/300.000)
      ALGBRC(83) =  CONSTS(18)*STATES(16) ** 3.00000*STATES(17)*STATES(18)*ALGBRC(40)*(STATES(1) - ALGBRC(71))
      ALGBRC(1) =  INT(VOI/CONSTS(11))*CONSTS(11)
      ALGBRC(17) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(10).AND.VOI - ALGBRC(1).LE.CONSTS(10)+CONSTS(12), CONSTS(13), 0.00000)
      ALGBRC(87) = ((ALGBRC(82)+ALGBRC(86)+ALGBRC(78)+ALGBRC(84)) -  2.00000*ALGBRC(42))+ALGBRC(83)+ 0.500000*ALGBRC(17)
      ALGBRC(54) = ( CONSTS(32)*STATES(1)*CONSTS(1)*CONSTS(6)*(STATES(20) -  CONSTS(5)*EXP( STATES(1)*CONSTS(6))))/(1.00000 - EXP( STATES(1)*CONSTS(6)))
      ALGBRC(56) =  ALGBRC(54)*STATES(21)
      ALGBRC(88) = - log(CONSTS(5)/STATES(20))/CONSTS(6)
      ALGBRC(89) =  CONSTS(34)*(STATES(1) - ALGBRC(88))
      ALGBRC(90) = ALGBRC(89)+ALGBRC(56)+ 0.500000*ALGBRC(17)
      ALGBRC(91) = ( CONSTS(46)*ALGBRC(60) - ALGBRC(88) ** 4.00000)/(ALGBRC(60) - ALGBRC(88) ** 4.00000+87.8251 ** 4.00000)
      ALGBRC(92) = ( CONSTS(47)*(ALGBRC(71) - ALGBRC(88)))/((ALGBRC(71) - ALGBRC(88))+87.8251)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END