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 108 entries in the algebraic variable array.
C There are a total of 26 entries in each of the rate and state variable arrays.
C There are a total of 80 entries in the constant variable array.
C
C
C VOI is time in component Environment (ms).
C CONSTS(1) is R in component Environment (J_per_moleK).
C CONSTS(2) is T in component Environment (kelvin).
C CONSTS(3) is F in component Environment (coulomb_per_mmole).
C CONSTS(4) is K_o in component Environment (mM).
C CONSTS(5) is Ca_o in component Environment (mM).
C CONSTS(6) is Na_o in component Environment (mM).
C CONSTS(76) is FonRT in component Environment (per_mV).
C STATES(1) is V in component cell (mV).
C ALGBRC(50) is xik1 in component IK1 (nA_per_nF).
C ALGBRC(61) is xito in component Ito (nA_per_nF).
C ALGBRC(66) is xiNaK in component INaK (nA_per_nF).
C CONSTS(7) is wca in component cell (mV_per_uM).
C ALGBRC(103) is xiNaCa in component INaCa (nA_per_nF).
C ALGBRC(94) is xica in component ICaL (nA_per_nF).
C ALGBRC(108) is Itotal in component cell (nA_per_nF).
C ALGBRC(107) is xina in component INa (nA_per_nF).
C ALGBRC(52) is xikr in component IKr (nA_per_nF).
C ALGBRC(105) is xiks in component IKs (nA_per_nF).
C ALGBRC(11) is i_Stim in component cell (nA_per_nF).
C CONSTS(8) is stim_offset in component cell (ms).
C CONSTS(9) is stim_period in component cell (ms).
C CONSTS(10) is stim_duration in component cell (ms).
C CONSTS(11) is stim_amplitude in component cell (nA_per_nF).
C ALGBRC(4) is past in component cell (ms).
C ALGBRC(106) is ena in component reversal_potentials (mV).
C STATES(2) is xm in component INa (dimensionless).
C STATES(3) is xh in component INa (dimensionless).
C STATES(4) is xj in component INa (dimensionless).
C CONSTS(12) is gna in component INa (uS_per_nF).
C ALGBRC(1) is am in component INa (per_ms).
C ALGBRC(8) is bm in component INa (per_ms).
C ALGBRC(2) is ah in component INa (per_ms).
C ALGBRC(9) is bh in component INa (per_ms).
C ALGBRC(3) is aj in component INa (per_ms).
C ALGBRC(10) is bj in component INa (per_ms).
C STATES(5) is Ca_dyad in component Ca (uM).
C ALGBRC(89) is csm in component Ca (mM).
C STATES(6) is c1 in component ICaL (dimensionless).
C STATES(7) is c2 in component ICaL (dimensionless).
C STATES(8) is xi1ca in component ICaL (dimensionless).
C STATES(9) is xi1ba in component ICaL (dimensionless).
C STATES(10) is xi2ca in component ICaL (dimensionless).
C STATES(11) is xi2ba in component ICaL (dimensionless).
C CONSTS(13) is gca in component ICaL (mmole_per_coulomb_cm).
C CONSTS(14) is pca in component ICaL (cm_per_s).
C ALGBRC(15) is za in component ICaL (dimensionless).
C ALGBRC(19) is poinf in component ICaL (dimensionless).
C ALGBRC(27) is fca in component ICaL (dimensionless).
C CONSTS(15) is vth in component ICaL (mV).
C CONSTS(16) is s6 in component ICaL (mV).
C CONSTS(17) is vx in component ICaL (mV).
C CONSTS(18) is sx in component ICaL (mV).
C CONSTS(19) is vy in component ICaL (mV).
C CONSTS(20) is sy in component ICaL (mV).
C CONSTS(21) is vyr in component ICaL (mV).
C CONSTS(22) is syr in component ICaL (mV).
C CONSTS(23) is cat in component ICaL (uM).
C CONSTS(24) is cpt in component ICaL (uM).
C ALGBRC(24) is alpha in component ICaL (per_ms).
C ALGBRC(26) is beta in component ICaL (per_ms).
C ALGBRC(29) is k1 in component ICaL (per_ms).
C CONSTS(25) is k2 in component ICaL (per_ms).
C CONSTS(26) is k1t in component ICaL (per_ms).
C CONSTS(27) is k2t in component ICaL (per_ms).
C ALGBRC(32) is k3 in component ICaL (per_ms).
C ALGBRC(33) is k3t in component ICaL (per_ms).
C ALGBRC(40) is k6 in component ICaL (per_ms).
C ALGBRC(41) is k5 in component ICaL (per_ms).
C ALGBRC(42) is k6t in component ICaL (per_ms).
C ALGBRC(43) is k5t in component ICaL (per_ms).
C ALGBRC(44) is k4 in component ICaL (per_ms).
C ALGBRC(45) is k4t in component ICaL (per_ms).
C CONSTS(28) is r1 in component ICaL (per_ms).
C CONSTS(29) is r2 in component ICaL (per_ms).
C ALGBRC(28) is s1 in component ICaL (per_ms).
C CONSTS(30) is s1t in component ICaL (per_ms).
C ALGBRC(30) is s2 in component ICaL (per_ms).
C CONSTS(77) is s2t in component ICaL (per_ms).
C ALGBRC(35) is recov in component ICaL (ms).
C CONSTS(31) is tca in component ICaL (ms).
C ALGBRC(36) is tau_ca in component ICaL (ms).
C ALGBRC(37) is tauca in component ICaL (ms).
C ALGBRC(38) is tauba in component ICaL (ms).
C CONSTS(32) is taupo in component ICaL (ms).
C CONSTS(33) is tau3 in component ICaL (ms).
C ALGBRC(34) is Pr in component ICaL (dimensionless).
C ALGBRC(39) is Ps in component ICaL (dimensionless).
C ALGBRC(31) is poi in component ICaL (dimensionless).
C ALGBRC(46) is po in component ICaL (dimensionless).
C ALGBRC(90) is rxa in component ICaL (mA_per_cm2).
C ALGBRC(91) is jca in component ICaL (uM_per_ms).
C CONSTS(80) is ek in component reversal_potentials (mV).
C CONSTS(34) is gkix in component IK1 (uS_per_nF).
C ALGBRC(47) is aki in component IK1 (per_ms).
C ALGBRC(48) is bki in component IK1 (per_ms).
C ALGBRC(49) is xkin in component IK1 (dimensionless).
C STATES(12) is xr in component IKr (dimensionless).
C CONSTS(35) is gkr in component IKr (uS_per_nF).
C ALGBRC(5) is xkrv1 in component IKr (per_ms).
C ALGBRC(12) is xkrv2 in component IKr (per_ms).
C ALGBRC(16) is taukr in component IKr (ms).
C ALGBRC(20) is xkrinf in component IKr (dimensionless).
C ALGBRC(51) is rg in component IKr (dimensionless).
C STATES(13) is Ca_i in component Ca (uM).
C CONSTS(36) is gks in component IKs (uS_per_nF).
C STATES(14) is xs1 in component IKs (dimensionless).
C STATES(15) is xs2 in component IKs (dimensionless).
C ALGBRC(104) is eks in component reversal_potentials (mV).
C ALGBRC(6) is xs1ss in component IKs (dimensionless).
C ALGBRC(13) is xs2ss in component IKs (dimensionless).
C ALGBRC(17) is tauxs1 in component IKs (ms).
C ALGBRC(21) is tauxs2 in component IKs (ms).
C ALGBRC(53) is gksx in component IKs (dimensionless).
C ALGBRC(57) is xitos in component Ito (nA_per_nF).
C ALGBRC(59) is xitof in component Ito (nA_per_nF).
C STATES(16) is xtos in component Ito (dimensionless).
C STATES(17) is ytos in component Ito (dimensionless).
C STATES(18) is xtof in component Ito (dimensionless).
C STATES(19) is ytof in component Ito (dimensionless).
C CONSTS(37) is gtos in component Ito (uS_per_nF).
C CONSTS(38) is gtof in component Ito (uS_per_nF).
C ALGBRC(7) is rt1 in component Ito (dimensionless).
C ALGBRC(54) is rt2 in component Ito (dimensionless).
C ALGBRC(56) is rt3 in component Ito (dimensionless).
C ALGBRC(14) is rt4 in component Ito (dimensionless).
C ALGBRC(58) is rt5 in component Ito (dimensionless).
C ALGBRC(18) is xtos_inf in component Ito (dimensionless).
C ALGBRC(60) is ytos_inf in component Ito (dimensionless).
C ALGBRC(22) is xtof_inf in component Ito (dimensionless).
C ALGBRC(62) is ytof_inf in component Ito (dimensionless).
C ALGBRC(55) is rs_inf in component Ito (dimensionless).
C ALGBRC(23) is txs in component Ito (ms).
C ALGBRC(63) is tys in component Ito (ms).
C ALGBRC(25) is txf in component Ito (ms).
C ALGBRC(65) is tyf in component Ito (ms).
C STATES(20) is Na_i in component Na (mM).
C CONSTS(39) is gNaK in component INaK (nA_per_nF).
C CONSTS(40) is xkmko in component INaK (mM).
C CONSTS(41) is xkmnai in component INaK (mM).
C CONSTS(78) is sigma in component INaK (dimensionless).
C ALGBRC(64) is fNaK in component INaK (dimensionless).
C STATES(21) is Ca_submem in component Ca (uM).
C CONSTS(42) is gNaCa in component INaCa (uM_per_ms).
C ALGBRC(68) is aloss in component INaCa (dimensionless).
C ALGBRC(98) is yz1 in component INaCa (mM4).
C ALGBRC(99) is yz2 in component INaCa (mM4).
C ALGBRC(69) is yz3 in component INaCa (mM4).
C ALGBRC(100) is yz4 in component INaCa (mM4).
C ALGBRC(96) is zw3 in component INaCa (mM4).
C ALGBRC(67) is zw4 in component INaCa (dimensionless).
C ALGBRC(101) is zw8 in component INaCa (mM4).
C ALGBRC(102) is jNaCa in component INaCa (uM_per_ms).
C CONSTS(43) is xkdna in component INaCa (uM).
C CONSTS(44) is xmcao in component INaCa (mM).
C CONSTS(45) is xmnao in component INaCa (mM).
C CONSTS(46) is xmnai in component INaCa (mM).
C CONSTS(47) is xmcai in component INaCa (mM).
C STATES(22) is Ca_NSR in component Ca (uM).
C ALGBRC(88) is dCa_JSR in component Ca (uM_per_ms).
C CONSTS(48) is cstar in component Irel (uM).
C STATES(23) is Ca_JSR in component Irel (uM).
C CONSTS(49) is gryr in component Irel (per_ms).
C CONSTS(50) is gbarsr in component Irel (dimensionless).
C CONSTS(51) is gdyad in component Irel (mmole_per_coulomb_cm).
C CONSTS(52) is ax in component Irel (per_mV).
C CONSTS(53) is ay in component Irel (per_mV).
C CONSTS(54) is av in component Irel (per_ms).
C CONSTS(79) is bv in component Irel (uM_per_ms).
C ALGBRC(70) is Qr0 in component Irel (uM_per_ms).
C ALGBRC(71) is Qr in component Irel (uM_per_ms).
C ALGBRC(72) is sparkV in component Irel (dimensionless).
C ALGBRC(92) is spark_rate in component Irel (per_ms).
C CONSTS(55) is taua in component Irel (ms).
C CONSTS(56) is taur in component Irel (ms).
C ALGBRC(93) is xirp in component Irel (uM_per_ms).
C ALGBRC(95) is xicap in component Irel (uM_per_ms).
C ALGBRC(97) is xiryr in component Irel (uM_per_ms).
C STATES(24) is xir in component Irel (uM_per_ms).
C ALGBRC(73) is jup in component Ileak_Iup_Ixfer (uM_per_ms).
C ALGBRC(74) is jleak in component Ileak_Iup_Ixfer (uM_per_ms).
C CONSTS(57) is cup in component Ileak_Iup_Ixfer (uM).
C CONSTS(58) is kj in component Ileak_Iup_Ixfer (uM).
C CONSTS(59) is vup in component Ileak_Iup_Ixfer (uM_per_ms).
C CONSTS(60) is gleak in component Ileak_Iup_Ixfer (per_ms).
C CONSTS(61) is bcal in component Ca (uM).
C CONSTS(62) is xkcal in component Ca (uM).
C CONSTS(63) is srmax in component Ca (uM).
C CONSTS(64) is srkd in component Ca (uM).
C CONSTS(65) is bmem in component Ca (uM).
C CONSTS(66) is kmem in component Ca (uM).
C CONSTS(67) is bsar in component Ca (uM).
C CONSTS(68) is ksar in component Ca (uM).
C ALGBRC(75) is bpxs in component Ca (dimensionless).
C ALGBRC(76) is spxs in component Ca (dimensionless).
C ALGBRC(77) is mempxs in component Ca (dimensionless).
C ALGBRC(78) is sarpxs in component Ca (dimensionless).
C ALGBRC(79) is dcsib in component Ca (dimensionless).
C ALGBRC(80) is bpxi in component Ca (dimensionless).
C ALGBRC(81) is spxi in component Ca (dimensionless).
C ALGBRC(82) is mempxi in component Ca (dimensionless).
C ALGBRC(83) is sarpxi in component Ca (dimensionless).
C ALGBRC(84) is dciib in component Ca (dimensionless).
C CONSTS(69) is xkon in component Ca (per_uM_per_ms).
C CONSTS(70) is xkoff in component Ca (per_ms).
C CONSTS(71) is btrop in component Ca (uM).
C ALGBRC(87) is xbi in component Ca (uM_per_ms).
C ALGBRC(86) is xbs in component Ca (uM_per_ms).
C STATES(25) is tropi in component Ca (uM).
C STATES(26) is trops in component Ca (uM).
C CONSTS(72) is taud in component Ca (ms).
C CONSTS(73) is taups in component Ca (ms).
C ALGBRC(85) is jd in component Ca (uM_per_ms).
C CONSTS(74) is K_i in component reversal_potentials (mM).
C CONSTS(75) is prNaK in component reversal_potentials (dimensionless).
C RATES(1) is d/dt V in component cell (mV).
C RATES(3) is d/dt xh in component INa (dimensionless).
C RATES(4) is d/dt xj in component INa (dimensionless).
C RATES(2) is d/dt xm in component INa (dimensionless).
C RATES(6) is d/dt c1 in component ICaL (dimensionless).
C RATES(7) is d/dt c2 in component ICaL (dimensionless).
C RATES(8) is d/dt xi1ca in component ICaL (dimensionless).
C RATES(9) is d/dt xi1ba in component ICaL (dimensionless).
C RATES(10) is d/dt xi2ca in component ICaL (dimensionless).
C RATES(11) is d/dt xi2ba 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 xtos in component Ito (dimensionless).
C RATES(17) is d/dt ytos in component Ito (dimensionless).
C RATES(18) is d/dt xtof in component Ito (dimensionless).
C RATES(19) is d/dt ytof in component Ito (dimensionless).
C RATES(23) is d/dt Ca_JSR in component Irel (uM).
C RATES(24) is d/dt xir in component Irel (uM_per_ms).
C RATES(20) is d/dt Na_i in component Na (mM).
C RATES(5) is d/dt Ca_dyad in component Ca (uM).
C RATES(21) is d/dt Ca_submem in component Ca (uM).
C RATES(13) is d/dt Ca_i in component Ca (uM).
C RATES(22) is d/dt Ca_NSR in component Ca (uM).
C RATES(25) is d/dt tropi in component Ca (uM).
C RATES(26) is d/dt trops in component Ca (uM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 8.314472
      CONSTS(2) = 308
      CONSTS(3) = 96.4853415
      CONSTS(4) = 5.4
      CONSTS(5) = 1.8
      CONSTS(6) = 136
      STATES(1) = -87.169816169406
      CONSTS(7) = 8
      CONSTS(8) = 0
      CONSTS(9) = 400
      CONSTS(10) = 3
      CONSTS(11) = -15
      STATES(2) = 0.001075453357
      STATES(3) = 0.990691306716
      STATES(4) = 0.993888937283
      CONSTS(12) = 12
      STATES(5) = 1.716573130685
      STATES(6) = 0.000018211252
      STATES(7) = 0.979322592773
      STATES(8) = 0.001208153482
      STATES(9) = 0.000033616596
      STATES(10) = 0.004173008466
      STATES(11) = 0.015242594688
      CONSTS(13) = 182
      CONSTS(14) = 0.00054
      CONSTS(15) = 0
      CONSTS(16) = 8
      CONSTS(17) = -40
      CONSTS(18) = 3
      CONSTS(19) = -40
      CONSTS(20) = 4
      CONSTS(21) = -40
      CONSTS(22) = 11.32
      CONSTS(23) = 3
      CONSTS(24) = 6.09365
      CONSTS(25) = 1.03615e-4
      CONSTS(26) = 0.00413
      CONSTS(27) = 0.00224
      CONSTS(28) = 0.3
      CONSTS(29) = 3
      CONSTS(30) = 0.00195
      CONSTS(31) = 78.0329
      CONSTS(32) = 1
      CONSTS(33) = 3
      CONSTS(34) = 0.3
      STATES(12) = 0.007074239331
      CONSTS(35) = 0.0125
      STATES(13) = 0.256752008084
      CONSTS(36) = 0.1386
      STATES(14) = 0.048267587131
      STATES(15) = 0.105468807033
      STATES(16) = 0.00364776906
      STATES(17) = 0.174403618112
      STATES(18) = 0.003643592594
      STATES(19) = 0.993331326442
      CONSTS(37) = 0.04
      CONSTS(38) = 0.11
      STATES(20) = 11.441712311614
      CONSTS(39) = 1.5
      CONSTS(40) = 1.5
      CONSTS(41) = 12
      STATES(21) = 0.226941113355
      CONSTS(42) = 0.84
      CONSTS(43) = 0.3
      CONSTS(44) = 1.3
      CONSTS(45) = 87.5
      CONSTS(46) = 12.3
      CONSTS(47) = 0.0036
      STATES(22) = 104.450004990523
      CONSTS(48) = 90
      STATES(23) = 97.505463697266
      CONSTS(49) = 2.58079
      CONSTS(50) = 26841.8
      CONSTS(51) = 9000
      CONSTS(52) = 0.3576
      CONSTS(53) = 0.05
      CONSTS(54) = 11.3
      CONSTS(55) = 100
      CONSTS(56) = 30
      STATES(24) = 0.006679257264
      CONSTS(57) = 0.5
      CONSTS(58) = 50
      CONSTS(59) = 0.4
      CONSTS(60) = 0.00002069
      CONSTS(61) = 24
      CONSTS(62) = 7
      CONSTS(63) = 47
      CONSTS(64) = 0.6
      CONSTS(65) = 15
      CONSTS(66) = 0.3
      CONSTS(67) = 42
      CONSTS(68) = 13
      CONSTS(69) = 0.0327
      CONSTS(70) = 0.0196
      CONSTS(71) = 70
      STATES(25) = 22.171689894953
      STATES(26) = 19.864701949854
      CONSTS(72) = 4
      CONSTS(73) = 0.5
      CONSTS(74) = 140
      CONSTS(75) = 0.01833
      CONSTS(76) = CONSTS(3)/( CONSTS(1)*CONSTS(2))
      CONSTS(77) = ( (( CONSTS(30)*CONSTS(28))/CONSTS(29))*CONSTS(27))/CONSTS(26)
      CONSTS(78) = (EXP(CONSTS(6)/67.3000) - 1.00000)/7.00000
      CONSTS(79) =  (1.00000 - CONSTS(54))*CONSTS(48) - 50.0000
      CONSTS(80) =  (1.00000/CONSTS(76))*log(CONSTS(4)/CONSTS(74))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(23) = (STATES(22) - STATES(23))/CONSTS(55)
      ALGBRC(2) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000)
      ALGBRC(9) = TERNRY(STATES(1).LT.- 40.0000,  3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)), 1.00000/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000))))
      RATES(3) =  ALGBRC(2)*(1.00000 - STATES(3)) -  ALGBRC(9)*STATES(3)
      ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, ( ( - 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))), 0.00000)
      ALGBRC(10) = TERNRY(STATES(1).LT.- 40.0000, ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))), ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))))
      RATES(4) =  ALGBRC(3)*(1.00000 - STATES(4)) -  ALGBRC(10)*STATES(4)
      ALGBRC(1) = TERNRY(ABS(STATES(1)+47.1300).GT.0.00100000, ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300))), 3.20000)
      ALGBRC(8) =  0.0800000*EXP(- STATES(1)/11.0000)
      RATES(2) =  ALGBRC(1)*(1.00000 - STATES(2)) -  ALGBRC(8)*STATES(2)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(17) = TERNRY(ABS(STATES(1)+30.0000).LT.0.00100000/0.0687000, 1.00000/(7.19000e-05/0.148000+0.000131000/0.0687000), 1.00000/(( 7.19000e-05*(STATES(1)+30.0000))/(1.00000 - EXP( - 0.148000*(STATES(1)+30.0000)))+( 0.000131000*(STATES(1)+30.0000))/(EXP( 0.0687000*(STATES(1)+30.0000)) - 1.00000)))
      RATES(14) = (ALGBRC(6) - STATES(14))/ALGBRC(17)
      ALGBRC(5) = TERNRY(ABS(STATES(1)+7.00000).GT.0.00100000, ( 0.00138000*1.00000*(STATES(1)+7.00000))/(1.00000 - EXP( - 0.123000*(STATES(1)+7.00000))), 0.00138000/0.123000)
      ALGBRC(12) = TERNRY(ABS(STATES(1)+10.0000).GT.0.00100000, ( 0.000610000*1.00000*(STATES(1)+10.0000))/(EXP( 0.145000*(STATES(1)+10.0000)) - 1.00000), 0.000610000/0.145000)
      ALGBRC(16) = 1.00000/(ALGBRC(5)+ALGBRC(12))
      ALGBRC(20) = 1.00000/(1.00000+EXP(- (STATES(1)+50.0000)/7.50000))
      RATES(12) = (ALGBRC(20) - STATES(12))/ALGBRC(16)
      ALGBRC(13) = ALGBRC(6)
      ALGBRC(21) =  4.00000*ALGBRC(17)
      RATES(15) = (ALGBRC(13) - STATES(15))/ALGBRC(21)
      ALGBRC(7) = - (STATES(1)+3.00000)/15.0000
      ALGBRC(18) = 1.00000/(1.00000+EXP(ALGBRC(7)))
      ALGBRC(23) = 9.00000/(1.00000+EXP(- ALGBRC(7)))+0.500000
      RATES(16) = (ALGBRC(18) - STATES(16))/ALGBRC(23)
      ALGBRC(22) = ALGBRC(18)
      ALGBRC(14) = ( (- STATES(1)/30.0000)*STATES(1))/30.0000
      ALGBRC(25) =  3.50000*EXP(ALGBRC(14))+1.50000
      RATES(18) = (ALGBRC(22) - STATES(18))/ALGBRC(25)
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(15))/CONSTS(16)))
      ALGBRC(24) = ALGBRC(19)/CONSTS(32)
      ALGBRC(26) = (1.00000 - ALGBRC(19))/CONSTS(32)
      ALGBRC(27) = 1.00000/(1.00000+CONSTS(23)/STATES(5) ** 3.00000)
      ALGBRC(35) = 10.0000+ 4954.00*EXP(STATES(1)/15.6000)
      ALGBRC(36) = CONSTS(31)/(1.00000+STATES(5)/CONSTS(24) ** 4.00000)+0.100000
      ALGBRC(34) = 1.00000 - 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(19))/CONSTS(20)))
      ALGBRC(37) =  (ALGBRC(35) - ALGBRC(36))*ALGBRC(34)+ALGBRC(36)
      ALGBRC(39) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(21))/CONSTS(22)))
      ALGBRC(40) = ( ALGBRC(27)*ALGBRC(39))/ALGBRC(37)
      ALGBRC(41) = (1.00000 - ALGBRC(39))/ALGBRC(37)
      ALGBRC(38) =  (ALGBRC(35) - 450.000)*ALGBRC(34)+450.000
      ALGBRC(42) = ALGBRC(39)/ALGBRC(38)
      ALGBRC(43) = (1.00000 - ALGBRC(39))/ALGBRC(38)
      RATES(7) = ( ALGBRC(26)*STATES(6)+ ALGBRC(41)*STATES(10)+ ALGBRC(43)*STATES(11)) -  (ALGBRC(40)+ALGBRC(42)+ALGBRC(24))*STATES(7)
      ALGBRC(31) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(17))/CONSTS(18)))
      ALGBRC(32) = (1.00000 - ALGBRC(31))/CONSTS(33)
      ALGBRC(29) =  0.0241680*ALGBRC(27)
      ALGBRC(44) = ( (( (( ALGBRC(32)*ALGBRC(24))/ALGBRC(26))*ALGBRC(29))/CONSTS(25))*ALGBRC(41))/ALGBRC(40)
      RATES(10) = ( ALGBRC(32)*STATES(8)+ ALGBRC(40)*STATES(7)) -  (ALGBRC(41)+ALGBRC(44))*STATES(10)
      ALGBRC(33) = ALGBRC(32)
      ALGBRC(45) = ( (( (( ALGBRC(33)*ALGBRC(24))/ALGBRC(26))*CONSTS(26))/CONSTS(27))*ALGBRC(43))/ALGBRC(42)
      RATES(11) = ( ALGBRC(33)*STATES(9)+ ALGBRC(42)*STATES(7)) -  (ALGBRC(43)+ALGBRC(45))*STATES(11)
      ALGBRC(46) = (((((1.00000 - STATES(8)) - STATES(10)) - STATES(9)) - STATES(11)) - STATES(6)) - STATES(7)
      RATES(6) = ( ALGBRC(24)*STATES(7)+ CONSTS(25)*STATES(8)+ CONSTS(27)*STATES(9)+ CONSTS(29)*ALGBRC(46)) -  (ALGBRC(26)+CONSTS(28)+CONSTS(26)+ALGBRC(29))*STATES(6)
      ALGBRC(28) =  0.0182688*ALGBRC(27)
      ALGBRC(30) = ( (( ALGBRC(28)*CONSTS(28))/CONSTS(29))*CONSTS(25))/ALGBRC(29)
      RATES(8) = ( ALGBRC(29)*STATES(6)+ ALGBRC(44)*STATES(10)+ ALGBRC(28)*ALGBRC(46)) -  (ALGBRC(32)+CONSTS(25)+ALGBRC(30))*STATES(8)
      RATES(9) = ( CONSTS(26)*STATES(6)+ ALGBRC(45)*STATES(11)+ CONSTS(30)*ALGBRC(46)) -  (ALGBRC(33)+CONSTS(27)+CONSTS(77))*STATES(9)
      ALGBRC(54) = (STATES(1)+33.5000)/10.0000
      ALGBRC(60) = 1.00000/(1.00000+EXP(ALGBRC(54)))
      ALGBRC(56) = (STATES(1)+60.0000)/10.0000
      ALGBRC(63) = 3000.00/(1.00000+EXP(ALGBRC(56)))+30.0000
      RATES(17) = (ALGBRC(60) - STATES(17))/ALGBRC(63)
      ALGBRC(62) = ALGBRC(60)
      ALGBRC(58) = (STATES(1)+33.5000)/10.0000
      ALGBRC(65) = 20.0000/(1.00000+EXP(ALGBRC(58)))+20.0000
      RATES(19) = (ALGBRC(62) - STATES(19))/ALGBRC(65)
      ALGBRC(73) = ( CONSTS(59)*STATES(13)*STATES(13))/( STATES(13)*STATES(13)+ CONSTS(57)*CONSTS(57))
      ALGBRC(74) =  (( CONSTS(60)*STATES(22)*STATES(22))/( STATES(22)*STATES(22)+ CONSTS(58)*CONSTS(58)))*( STATES(22)*16.6670 - STATES(13))
      ALGBRC(80) = ( CONSTS(61)*CONSTS(62))/( (CONSTS(62)+STATES(13))*(CONSTS(62)+STATES(13)))
      ALGBRC(81) = ( CONSTS(63)*CONSTS(64))/( (CONSTS(64)+STATES(13))*(CONSTS(64)+STATES(13)))
      ALGBRC(82) = ( CONSTS(65)*CONSTS(66))/( (CONSTS(66)+STATES(13))*(CONSTS(66)+STATES(13)))
      ALGBRC(83) = ( CONSTS(67)*CONSTS(68))/( (CONSTS(68)+STATES(13))*(CONSTS(68)+STATES(13)))
      ALGBRC(84) = 1.00000/(1.00000+ALGBRC(80)+ALGBRC(81)+ALGBRC(82)+ALGBRC(83))
      ALGBRC(87) =  CONSTS(69)*STATES(13)*(CONSTS(71) - STATES(25)) -  CONSTS(70)*STATES(25)
      ALGBRC(85) = (STATES(21) - STATES(13))/CONSTS(72)
      RATES(13) =  ALGBRC(84)*(((ALGBRC(85) - ALGBRC(73))+ALGBRC(74)) - ALGBRC(87))
      RATES(25) = ALGBRC(87)
      ALGBRC(86) =  CONSTS(69)*STATES(21)*(CONSTS(71) - STATES(26)) -  CONSTS(70)*STATES(26)
      RATES(26) = ALGBRC(86)
      ALGBRC(88) = (- STATES(24)+ALGBRC(73)) - ALGBRC(74)
      RATES(22) = ALGBRC(88)
      ALGBRC(70) = TERNRY(STATES(23).GT.50.0000.AND.STATES(23).LT.CONSTS(48), (STATES(23) - 50.0000)/1.00000, TERNRY(STATES(23).GE.CONSTS(48),  CONSTS(54)*STATES(23)+CONSTS(79), 0.00000)
      ALGBRC(71) = ( STATES(22)*ALGBRC(70))/CONSTS(48)
      ALGBRC(89) = STATES(21)/1000.00
      ALGBRC(15) =  STATES(1)*2.00000*CONSTS(76)
      ALGBRC(90) = TERNRY(ABS(ALGBRC(15)).LT.0.00100000, ( 4.00000*CONSTS(14)*CONSTS(3)*CONSTS(76)*( ALGBRC(89)*EXP(ALGBRC(15)) -  0.341000*CONSTS(5)))/( 2.00000*CONSTS(76)), ( 4.00000*CONSTS(14)*STATES(1)*CONSTS(3)*CONSTS(76)*( ALGBRC(89)*EXP(ALGBRC(15)) -  0.341000*CONSTS(5)))/(EXP(ALGBRC(15)) - 1.00000))
      ALGBRC(72) = EXP( - CONSTS(53)*(STATES(1)+30.0000))/(1.00000+EXP( - CONSTS(53)*(STATES(1)+30.0000)))
      ALGBRC(92) =  (CONSTS(49)/1.00000)*ALGBRC(46)*ABS(ALGBRC(90))*ALGBRC(72)
      RATES(24) =  ALGBRC(92)*ALGBRC(71) - ( STATES(24)*(1.00000 - ( CONSTS(56)*ALGBRC(88))/STATES(22)))/CONSTS(56)
      ALGBRC(93) = ( (( ALGBRC(46)*ALGBRC(71)*ABS(ALGBRC(90))*CONSTS(50))/1.00000)*EXP( - CONSTS(52)*(STATES(1)+30.0000)))/(1.00000+EXP( - CONSTS(52)*(STATES(1)+30.0000)))
      ALGBRC(95) =  ALGBRC(46)*CONSTS(51)*ABS(ALGBRC(90))
      ALGBRC(97) = ALGBRC(93)+ALGBRC(95)
      RATES(5) = ALGBRC(97) - (STATES(5) - STATES(21))/CONSTS(73)
      ALGBRC(91) =  CONSTS(13)*ALGBRC(46)*ALGBRC(90)
      ALGBRC(68) = 1.00000/(1.00000+CONSTS(43)/STATES(21) ** 3.00000)
      ALGBRC(96) =  STATES(20) ** 3.00000*CONSTS(5)*EXP( STATES(1)*0.350000*CONSTS(76)) -  CONSTS(6) ** 3.00000*ALGBRC(89)*EXP( STATES(1)*(0.350000 - 1.00000)*CONSTS(76))
      ALGBRC(67) = 1.00000+ 0.200000*EXP( STATES(1)*(0.350000 - 1.00000)*CONSTS(76))
      ALGBRC(98) =  CONSTS(44)*STATES(20) ** 3.00000+ CONSTS(45) ** 3.00000*ALGBRC(89)
      ALGBRC(99) =  CONSTS(46) ** 3.00000*CONSTS(5)*(1.00000+ALGBRC(89)/CONSTS(47))
      ALGBRC(69) =  CONSTS(47)*CONSTS(6) ** 3.00000*(1.00000+STATES(20)/CONSTS(46) ** 3.00000)
      ALGBRC(100) =  STATES(20) ** 3.00000*CONSTS(5)+ CONSTS(6) ** 3.00000*ALGBRC(89)
      ALGBRC(101) = ALGBRC(98)+ALGBRC(99)+ALGBRC(69)+ALGBRC(100)
      ALGBRC(102) = ( CONSTS(42)*ALGBRC(68)*ALGBRC(96))/( ALGBRC(67)*ALGBRC(101))
      ALGBRC(75) = ( CONSTS(61)*CONSTS(62))/( (CONSTS(62)+STATES(21))*(CONSTS(62)+STATES(21)))
      ALGBRC(76) = ( CONSTS(63)*CONSTS(64))/( (CONSTS(64)+STATES(21))*(CONSTS(64)+STATES(21)))
      ALGBRC(77) = ( CONSTS(65)*CONSTS(66))/( (CONSTS(66)+STATES(21))*(CONSTS(66)+STATES(21)))
      ALGBRC(78) = ( CONSTS(67)*CONSTS(68))/( (CONSTS(68)+STATES(21))*(CONSTS(68)+STATES(21)))
      ALGBRC(79) = 1.00000/(1.00000+ALGBRC(75)+ALGBRC(76)+ALGBRC(77)+ALGBRC(78))
      RATES(21) =  ALGBRC(79)*( 50.0000*(((STATES(24) - ALGBRC(85)) - ALGBRC(91))+ALGBRC(102)) - ALGBRC(86))
      ALGBRC(64) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(76))+ 0.0365000*CONSTS(78)*EXP( - STATES(1)*CONSTS(76)))
      ALGBRC(66) = ( (( CONSTS(39)*ALGBRC(64)*STATES(20))/(STATES(20)+CONSTS(41)))*CONSTS(4))/(CONSTS(4)+CONSTS(40))
      ALGBRC(103) =  CONSTS(7)*ALGBRC(102)
      ALGBRC(106) =  (1.00000/CONSTS(76))*log(CONSTS(6)/STATES(20))
      ALGBRC(107) =  CONSTS(12)*STATES(3)*STATES(4)*STATES(2)*STATES(2)*STATES(2)*(STATES(1) - ALGBRC(106))
      RATES(20) = - (ALGBRC(107)+ 3.00000*ALGBRC(66)+ 3.00000*ALGBRC(103))/( CONSTS(7)*1000.00)
      ALGBRC(47) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - CONSTS(80)) - 59.2150)))
      ALGBRC(48) = ( 0.491240*EXP( 0.0803200*((STATES(1) - CONSTS(80))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - CONSTS(80)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - CONSTS(80))+4.75300)))
      ALGBRC(49) = ALGBRC(47)/(ALGBRC(47)+ALGBRC(48))
      ALGBRC(50) =  CONSTS(34)* (CONSTS(4)/5.40000) ** (1.0 / 2)*ALGBRC(49)*(STATES(1) - CONSTS(80))
      ALGBRC(55) = 1.00000/(1.00000+EXP(ALGBRC(54)))
      ALGBRC(57) =  CONSTS(37)*STATES(16)*(STATES(17)+ 0.500000*ALGBRC(55))*(STATES(1) - CONSTS(80))
      ALGBRC(59) =  CONSTS(38)*STATES(18)*STATES(19)*(STATES(1) - CONSTS(80))
      ALGBRC(61) = ALGBRC(57)+ALGBRC(59)
      ALGBRC(94) =  2.00000*CONSTS(7)*ALGBRC(91)
      ALGBRC(51) = 1.00000/(1.00000+EXP((STATES(1)+33.0000)/22.4000))
      ALGBRC(52) =  CONSTS(35)* (CONSTS(4)/5.40000) ** (1.0 / 2)*STATES(12)*ALGBRC(51)*(STATES(1) - CONSTS(80))
      ALGBRC(104) =  (1.00000/CONSTS(76))*log((CONSTS(4)+ CONSTS(75)*CONSTS(6))/(CONSTS(74)+ CONSTS(75)*STATES(20)))
      ALGBRC(53) = 1.00000+0.800000/(1.00000+0.500000/STATES(13) ** 3.00000)
      ALGBRC(105) =  CONSTS(36)*ALGBRC(53)*STATES(14)*STATES(15)*(STATES(1) - ALGBRC(104))
      ALGBRC(4) =  INT(VOI/CONSTS(9))*CONSTS(9)
      ALGBRC(11) = TERNRY(VOI - ALGBRC(4).GE.CONSTS(8).AND.VOI - ALGBRC(4).LE.CONSTS(8)+CONSTS(10), CONSTS(11), 0.00000)
      ALGBRC(108) = - (ALGBRC(107)+ALGBRC(50)+ALGBRC(52)+ALGBRC(105)+ALGBRC(61)+ALGBRC(103)+ALGBRC(94)+ALGBRC(66)+ALGBRC(11))
      RATES(1) = ALGBRC(108)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000)
      ALGBRC(9) = TERNRY(STATES(1).LT.- 40.0000,  3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)), 1.00000/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000))))
      ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, ( ( - 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))), 0.00000)
      ALGBRC(10) = TERNRY(STATES(1).LT.- 40.0000, ( 0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400))), ( 0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000))))
      ALGBRC(1) = TERNRY(ABS(STATES(1)+47.1300).GT.0.00100000, ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300))), 3.20000)
      ALGBRC(8) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(17) = TERNRY(ABS(STATES(1)+30.0000).LT.0.00100000/0.0687000, 1.00000/(7.19000e-05/0.148000+0.000131000/0.0687000), 1.00000/(( 7.19000e-05*(STATES(1)+30.0000))/(1.00000 - EXP( - 0.148000*(STATES(1)+30.0000)))+( 0.000131000*(STATES(1)+30.0000))/(EXP( 0.0687000*(STATES(1)+30.0000)) - 1.00000)))
      ALGBRC(5) = TERNRY(ABS(STATES(1)+7.00000).GT.0.00100000, ( 0.00138000*1.00000*(STATES(1)+7.00000))/(1.00000 - EXP( - 0.123000*(STATES(1)+7.00000))), 0.00138000/0.123000)
      ALGBRC(12) = TERNRY(ABS(STATES(1)+10.0000).GT.0.00100000, ( 0.000610000*1.00000*(STATES(1)+10.0000))/(EXP( 0.145000*(STATES(1)+10.0000)) - 1.00000), 0.000610000/0.145000)
      ALGBRC(16) = 1.00000/(ALGBRC(5)+ALGBRC(12))
      ALGBRC(20) = 1.00000/(1.00000+EXP(- (STATES(1)+50.0000)/7.50000))
      ALGBRC(13) = ALGBRC(6)
      ALGBRC(21) =  4.00000*ALGBRC(17)
      ALGBRC(7) = - (STATES(1)+3.00000)/15.0000
      ALGBRC(18) = 1.00000/(1.00000+EXP(ALGBRC(7)))
      ALGBRC(23) = 9.00000/(1.00000+EXP(- ALGBRC(7)))+0.500000
      ALGBRC(22) = ALGBRC(18)
      ALGBRC(14) = ( (- STATES(1)/30.0000)*STATES(1))/30.0000
      ALGBRC(25) =  3.50000*EXP(ALGBRC(14))+1.50000
      ALGBRC(19) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(15))/CONSTS(16)))
      ALGBRC(24) = ALGBRC(19)/CONSTS(32)
      ALGBRC(26) = (1.00000 - ALGBRC(19))/CONSTS(32)
      ALGBRC(27) = 1.00000/(1.00000+CONSTS(23)/STATES(5) ** 3.00000)
      ALGBRC(35) = 10.0000+ 4954.00*EXP(STATES(1)/15.6000)
      ALGBRC(36) = CONSTS(31)/(1.00000+STATES(5)/CONSTS(24) ** 4.00000)+0.100000
      ALGBRC(34) = 1.00000 - 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(19))/CONSTS(20)))
      ALGBRC(37) =  (ALGBRC(35) - ALGBRC(36))*ALGBRC(34)+ALGBRC(36)
      ALGBRC(39) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(21))/CONSTS(22)))
      ALGBRC(40) = ( ALGBRC(27)*ALGBRC(39))/ALGBRC(37)
      ALGBRC(41) = (1.00000 - ALGBRC(39))/ALGBRC(37)
      ALGBRC(38) =  (ALGBRC(35) - 450.000)*ALGBRC(34)+450.000
      ALGBRC(42) = ALGBRC(39)/ALGBRC(38)
      ALGBRC(43) = (1.00000 - ALGBRC(39))/ALGBRC(38)
      ALGBRC(31) = 1.00000/(1.00000+EXP(- (STATES(1) - CONSTS(17))/CONSTS(18)))
      ALGBRC(32) = (1.00000 - ALGBRC(31))/CONSTS(33)
      ALGBRC(29) =  0.0241680*ALGBRC(27)
      ALGBRC(44) = ( (( (( ALGBRC(32)*ALGBRC(24))/ALGBRC(26))*ALGBRC(29))/CONSTS(25))*ALGBRC(41))/ALGBRC(40)
      ALGBRC(33) = ALGBRC(32)
      ALGBRC(45) = ( (( (( ALGBRC(33)*ALGBRC(24))/ALGBRC(26))*CONSTS(26))/CONSTS(27))*ALGBRC(43))/ALGBRC(42)
      ALGBRC(46) = (((((1.00000 - STATES(8)) - STATES(10)) - STATES(9)) - STATES(11)) - STATES(6)) - STATES(7)
      ALGBRC(28) =  0.0182688*ALGBRC(27)
      ALGBRC(30) = ( (( ALGBRC(28)*CONSTS(28))/CONSTS(29))*CONSTS(25))/ALGBRC(29)
      ALGBRC(54) = (STATES(1)+33.5000)/10.0000
      ALGBRC(60) = 1.00000/(1.00000+EXP(ALGBRC(54)))
      ALGBRC(56) = (STATES(1)+60.0000)/10.0000
      ALGBRC(63) = 3000.00/(1.00000+EXP(ALGBRC(56)))+30.0000
      ALGBRC(62) = ALGBRC(60)
      ALGBRC(58) = (STATES(1)+33.5000)/10.0000
      ALGBRC(65) = 20.0000/(1.00000+EXP(ALGBRC(58)))+20.0000
      ALGBRC(73) = ( CONSTS(59)*STATES(13)*STATES(13))/( STATES(13)*STATES(13)+ CONSTS(57)*CONSTS(57))
      ALGBRC(74) =  (( CONSTS(60)*STATES(22)*STATES(22))/( STATES(22)*STATES(22)+ CONSTS(58)*CONSTS(58)))*( STATES(22)*16.6670 - STATES(13))
      ALGBRC(80) = ( CONSTS(61)*CONSTS(62))/( (CONSTS(62)+STATES(13))*(CONSTS(62)+STATES(13)))
      ALGBRC(81) = ( CONSTS(63)*CONSTS(64))/( (CONSTS(64)+STATES(13))*(CONSTS(64)+STATES(13)))
      ALGBRC(82) = ( CONSTS(65)*CONSTS(66))/( (CONSTS(66)+STATES(13))*(CONSTS(66)+STATES(13)))
      ALGBRC(83) = ( CONSTS(67)*CONSTS(68))/( (CONSTS(68)+STATES(13))*(CONSTS(68)+STATES(13)))
      ALGBRC(84) = 1.00000/(1.00000+ALGBRC(80)+ALGBRC(81)+ALGBRC(82)+ALGBRC(83))
      ALGBRC(87) =  CONSTS(69)*STATES(13)*(CONSTS(71) - STATES(25)) -  CONSTS(70)*STATES(25)
      ALGBRC(85) = (STATES(21) - STATES(13))/CONSTS(72)
      ALGBRC(86) =  CONSTS(69)*STATES(21)*(CONSTS(71) - STATES(26)) -  CONSTS(70)*STATES(26)
      ALGBRC(88) = (- STATES(24)+ALGBRC(73)) - ALGBRC(74)
      ALGBRC(70) = TERNRY(STATES(23).GT.50.0000.AND.STATES(23).LT.CONSTS(48), (STATES(23) - 50.0000)/1.00000, TERNRY(STATES(23).GE.CONSTS(48),  CONSTS(54)*STATES(23)+CONSTS(79), 0.00000)
      ALGBRC(71) = ( STATES(22)*ALGBRC(70))/CONSTS(48)
      ALGBRC(89) = STATES(21)/1000.00
      ALGBRC(15) =  STATES(1)*2.00000*CONSTS(76)
      ALGBRC(90) = TERNRY(ABS(ALGBRC(15)).LT.0.00100000, ( 4.00000*CONSTS(14)*CONSTS(3)*CONSTS(76)*( ALGBRC(89)*EXP(ALGBRC(15)) -  0.341000*CONSTS(5)))/( 2.00000*CONSTS(76)), ( 4.00000*CONSTS(14)*STATES(1)*CONSTS(3)*CONSTS(76)*( ALGBRC(89)*EXP(ALGBRC(15)) -  0.341000*CONSTS(5)))/(EXP(ALGBRC(15)) - 1.00000))
      ALGBRC(72) = EXP( - CONSTS(53)*(STATES(1)+30.0000))/(1.00000+EXP( - CONSTS(53)*(STATES(1)+30.0000)))
      ALGBRC(92) =  (CONSTS(49)/1.00000)*ALGBRC(46)*ABS(ALGBRC(90))*ALGBRC(72)
      ALGBRC(93) = ( (( ALGBRC(46)*ALGBRC(71)*ABS(ALGBRC(90))*CONSTS(50))/1.00000)*EXP( - CONSTS(52)*(STATES(1)+30.0000)))/(1.00000+EXP( - CONSTS(52)*(STATES(1)+30.0000)))
      ALGBRC(95) =  ALGBRC(46)*CONSTS(51)*ABS(ALGBRC(90))
      ALGBRC(97) = ALGBRC(93)+ALGBRC(95)
      ALGBRC(91) =  CONSTS(13)*ALGBRC(46)*ALGBRC(90)
      ALGBRC(68) = 1.00000/(1.00000+CONSTS(43)/STATES(21) ** 3.00000)
      ALGBRC(96) =  STATES(20) ** 3.00000*CONSTS(5)*EXP( STATES(1)*0.350000*CONSTS(76)) -  CONSTS(6) ** 3.00000*ALGBRC(89)*EXP( STATES(1)*(0.350000 - 1.00000)*CONSTS(76))
      ALGBRC(67) = 1.00000+ 0.200000*EXP( STATES(1)*(0.350000 - 1.00000)*CONSTS(76))
      ALGBRC(98) =  CONSTS(44)*STATES(20) ** 3.00000+ CONSTS(45) ** 3.00000*ALGBRC(89)
      ALGBRC(99) =  CONSTS(46) ** 3.00000*CONSTS(5)*(1.00000+ALGBRC(89)/CONSTS(47))
      ALGBRC(69) =  CONSTS(47)*CONSTS(6) ** 3.00000*(1.00000+STATES(20)/CONSTS(46) ** 3.00000)
      ALGBRC(100) =  STATES(20) ** 3.00000*CONSTS(5)+ CONSTS(6) ** 3.00000*ALGBRC(89)
      ALGBRC(101) = ALGBRC(98)+ALGBRC(99)+ALGBRC(69)+ALGBRC(100)
      ALGBRC(102) = ( CONSTS(42)*ALGBRC(68)*ALGBRC(96))/( ALGBRC(67)*ALGBRC(101))
      ALGBRC(75) = ( CONSTS(61)*CONSTS(62))/( (CONSTS(62)+STATES(21))*(CONSTS(62)+STATES(21)))
      ALGBRC(76) = ( CONSTS(63)*CONSTS(64))/( (CONSTS(64)+STATES(21))*(CONSTS(64)+STATES(21)))
      ALGBRC(77) = ( CONSTS(65)*CONSTS(66))/( (CONSTS(66)+STATES(21))*(CONSTS(66)+STATES(21)))
      ALGBRC(78) = ( CONSTS(67)*CONSTS(68))/( (CONSTS(68)+STATES(21))*(CONSTS(68)+STATES(21)))
      ALGBRC(79) = 1.00000/(1.00000+ALGBRC(75)+ALGBRC(76)+ALGBRC(77)+ALGBRC(78))
      ALGBRC(64) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(76))+ 0.0365000*CONSTS(78)*EXP( - STATES(1)*CONSTS(76)))
      ALGBRC(66) = ( (( CONSTS(39)*ALGBRC(64)*STATES(20))/(STATES(20)+CONSTS(41)))*CONSTS(4))/(CONSTS(4)+CONSTS(40))
      ALGBRC(103) =  CONSTS(7)*ALGBRC(102)
      ALGBRC(106) =  (1.00000/CONSTS(76))*log(CONSTS(6)/STATES(20))
      ALGBRC(107) =  CONSTS(12)*STATES(3)*STATES(4)*STATES(2)*STATES(2)*STATES(2)*(STATES(1) - ALGBRC(106))
      ALGBRC(47) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - CONSTS(80)) - 59.2150)))
      ALGBRC(48) = ( 0.491240*EXP( 0.0803200*((STATES(1) - CONSTS(80))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - CONSTS(80)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - CONSTS(80))+4.75300)))
      ALGBRC(49) = ALGBRC(47)/(ALGBRC(47)+ALGBRC(48))
      ALGBRC(50) =  CONSTS(34)* (CONSTS(4)/5.40000) ** (1.0 / 2)*ALGBRC(49)*(STATES(1) - CONSTS(80))
      ALGBRC(55) = 1.00000/(1.00000+EXP(ALGBRC(54)))
      ALGBRC(57) =  CONSTS(37)*STATES(16)*(STATES(17)+ 0.500000*ALGBRC(55))*(STATES(1) - CONSTS(80))
      ALGBRC(59) =  CONSTS(38)*STATES(18)*STATES(19)*(STATES(1) - CONSTS(80))
      ALGBRC(61) = ALGBRC(57)+ALGBRC(59)
      ALGBRC(94) =  2.00000*CONSTS(7)*ALGBRC(91)
      ALGBRC(51) = 1.00000/(1.00000+EXP((STATES(1)+33.0000)/22.4000))
      ALGBRC(52) =  CONSTS(35)* (CONSTS(4)/5.40000) ** (1.0 / 2)*STATES(12)*ALGBRC(51)*(STATES(1) - CONSTS(80))
      ALGBRC(104) =  (1.00000/CONSTS(76))*log((CONSTS(4)+ CONSTS(75)*CONSTS(6))/(CONSTS(74)+ CONSTS(75)*STATES(20)))
      ALGBRC(53) = 1.00000+0.800000/(1.00000+0.500000/STATES(13) ** 3.00000)
      ALGBRC(105) =  CONSTS(36)*ALGBRC(53)*STATES(14)*STATES(15)*(STATES(1) - ALGBRC(104))
      ALGBRC(4) =  INT(VOI/CONSTS(9))*CONSTS(9)
      ALGBRC(11) = TERNRY(VOI - ALGBRC(4).GE.CONSTS(8).AND.VOI - ALGBRC(4).LE.CONSTS(8)+CONSTS(10), CONSTS(11), 0.00000)
      ALGBRC(108) = - (ALGBRC(107)+ALGBRC(50)+ALGBRC(52)+ALGBRC(105)+ALGBRC(61)+ALGBRC(103)+ALGBRC(94)+ALGBRC(66)+ALGBRC(11))
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END