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 67 entries in the algebraic variable array.
C There are a total of 18 entries in each of the rate and state variable arrays.
C There are a total of 68 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 R in component Environment (mJ_per_mole_K).
C CONSTS(3) is Temp in component Environment (kelvin).
C CONSTS(54) is FonRT in component Environment (per_mV).
C CONSTS(4) is K_o in component Environment (mM).
C CONSTS(5) is Na_o in component Environment (mM).
C CONSTS(6) is Ca_o in component Environment (mM).
C STATES(1) is V in component cell (mV).
C ALGBRC(53) is ilca in component ICaL (uA_per_uF).
C ALGBRC(63) is icab in component ICab (uA_per_uF).
C ALGBRC(62) is ipca in component IpCa (uA_per_uF).
C ALGBRC(60) is inaca in component INaCa (uA_per_uF).
C ALGBRC(65) is icat in component ICaT (uA_per_uF).
C ALGBRC(31) is ina in component INa (uA_per_uF).
C ALGBRC(32) is inab in component INab (uA_per_uF).
C ALGBRC(54) is ilcana in component ICaL (uA_per_uF).
C ALGBRC(29) is inak in component INaK (uA_per_uF).
C ALGBRC(38) is ikr in component IKr (uA_per_uF).
C ALGBRC(58) is iks in component IKs (uA_per_uF).
C ALGBRC(37) is IK1 in component IK1 (uA_per_uF).
C ALGBRC(39) is ikp in component IKp (uA_per_uF).
C ALGBRC(56) is ilcak in component ICaL (uA_per_uF).
C ALGBRC(66) is caiont in component cell (uA_per_uF).
C ALGBRC(61) is naiont in component cell (uA_per_uF).
C ALGBRC(59) is kiont in component cell (uA_per_uF).
C CONSTS(7) is l in component cell (cm).
C CONSTS(8) is ra in component cell (cm).
C CONSTS(57) is vcell in component cell (uL).
C CONSTS(58) is ageo in component cell (cm2).
C CONSTS(62) is Acap in component cell (uF).
C CONSTS(66) is AF in component cell (uF_mole_per_C).
C CONSTS(63) is vmyo in component cell (uL).
C CONSTS(59) is vmito in component cell (uL).
C CONSTS(60) is vsr in component cell (uL).
C CONSTS(64) is vnsr in component cell (uL).
C CONSTS(65) is vjsr in component cell (uL).
C CONSTS(61) is vss in component cell (uL).
C ALGBRC(10) is i_Stim in component cell (uA_per_uF).
C CONSTS(9) is stim_offset in component cell (ms).
C CONSTS(10) is stim_period in component cell (ms).
C CONSTS(11) is stim_duration in component cell (ms).
C CONSTS(12) is stim_amplitude in component cell (uA_per_uF).
C ALGBRC(1) is past in component cell (ms).
C ALGBRC(30) is ENa in component reversal_potentials (mV).
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 CONSTS(13) is GNa in component INa (mS_per_uF).
C ALGBRC(2) is a in component INa (per_ms).
C ALGBRC(11) is aH in component INa (per_ms).
C ALGBRC(21) is bH in component INa (per_ms).
C ALGBRC(12) is aj in component INa (per_ms).
C ALGBRC(22) is bj in component INa (per_ms).
C ALGBRC(3) is am in component INa (per_ms).
C ALGBRC(13) is bm in component INa (per_ms).
C ALGBRC(50) is Ca_i in component Ca (mM).
C STATES(5) is Na_i in component Na (mM).
C STATES(6) is K_i in component K (mM).
C STATES(7) is d in component ICaL (dimensionless).
C STATES(8) is f in component ICaL (dimensionless).
C ALGBRC(4) is dss0 in component ICaL (dimensionless).
C ALGBRC(14) is taud in component ICaL (ms).
C ALGBRC(23) is dss1 in component ICaL (dimensionless).
C ALGBRC(26) is dss in component ICaL (dimensionless).
C ALGBRC(5) is fss in component ICaL (dimensionless).
C ALGBRC(15) is tauf in component ICaL (ms).
C CONSTS(14) is gacai in component ICaL (dimensionless).
C CONSTS(15) is gacao in component ICaL (dimensionless).
C CONSTS(16) is kmca in component ICaL (mM).
C CONSTS(17) is pca in component ICaL (L_per_F_ms).
C CONSTS(18) is pna in component ICaL (L_per_F_ms).
C CONSTS(19) is ganai in component ICaL (dimensionless).
C CONSTS(20) is ganao in component ICaL (dimensionless).
C CONSTS(21) is pk in component ICaL (L_per_F_ms).
C CONSTS(22) is gaki in component ICaL (dimensionless).
C CONSTS(23) is gako in component ICaL (dimensionless).
C ALGBRC(51) is ibarca in component ICaL (uA_per_uF).
C ALGBRC(20) is ibarna in component ICaL (uA_per_uF).
C ALGBRC(25) is ibark in component ICaL (uA_per_uF).
C ALGBRC(52) is fca in component ICaL (dimensionless).
C ALGBRC(33) is EK in component reversal_potentials (mV).
C CONSTS(24) is GK1max in component IK1 (mS_per_uF).
C CONSTS(55) is GK1_ in component IK1 (mS_per_uF).
C ALGBRC(34) is ak1 in component IK1 (per_ms).
C ALGBRC(35) is bk1 in component IK1 (per_ms).
C ALGBRC(36) is gK1 in component IK1 (mS_per_uF).
C CONSTS(25) is gkrmax in component IKr (mS_per_uF).
C STATES(9) is xr in component IKr (dimensionless).
C ALGBRC(27) is r in component IKr (dimensionless).
C ALGBRC(6) is xrss in component IKr (dimensionless).
C ALGBRC(16) is tauxr in component IKr (ms).
C ALGBRC(40) is EKs in component reversal_potentials (mV).
C CONSTS(26) is GKsmax in component IKs (mS_per_uF).
C STATES(10) is xs1 in component IKs (dimensionless).
C STATES(11) is xs2 in component IKs (dimensionless).
C ALGBRC(57) is gks in component IKs (mS_per_uF).
C ALGBRC(7) is xss in component IKs (dimensionless).
C ALGBRC(17) is tauxs in component IKs (ms).
C CONSTS(27) is kmnai in component INaK (mM).
C CONSTS(28) is kmko in component INaK (mM).
C CONSTS(29) is ibarnak in component INaK (uA_per_uF).
C ALGBRC(28) is fnak in component INaK (dimensionless).
C CONSTS(56) is sigma in component INaK (dimensionless).
C CONSTS(30) is c1 in component INaCa (uA_per_uF).
C CONSTS(31) is c2 in component INaCa (dimensionless).
C CONSTS(32) is gammas in component INaCa (dimensionless).
C CONSTS(33) is GKpmax in component IKp (mS_per_uF).
C CONSTS(34) is ibarpca in component IpCa (uA_per_uF).
C CONSTS(35) is kmpca in component IpCa (mM).
C CONSTS(36) is gcab in component ICab (mS_per_uF).
C CONSTS(37) is GNab in component INab (mS_per_uF).
C ALGBRC(64) is ECa in component reversal_potentials (mV).
C STATES(12) is b in component ICaT (dimensionless).
C STATES(13) is g in component ICaT (dimensionless).
C CONSTS(38) is gcat in component ICaT (mS_per_uF).
C ALGBRC(8) is bss in component ICaT (dimensionless).
C ALGBRC(18) is taub in component ICaT (ms).
C ALGBRC(9) is gss in component ICaT (dimensionless).
C ALGBRC(19) is aa in component ICaT (dimensionless).
C ALGBRC(24) is taug in component ICaT (ms).
C CONSTS(39) is prnak in component reversal_potentials (dimensionless).
C STATES(14) is Ca_JSR_T in component Ca (mM).
C STATES(15) is Rel in component Irel (mM_per_ms).
C ALGBRC(55) is Rel_ss in component Irel (mM_per_ms).
C ALGBRC(44) is tau_Rel in component Irel (ms).
C CONSTS(40) is K_Relss in component Irel (mM).
C CONSTS(67) is alpha_Rel in component Irel (mM_per_mV).
C CONSTS(41) is tau in component Irel (ms).
C CONSTS(42) is kappa in component Irel (mM_per_mV_ms).
C CONSTS(43) is qn in component Irel (dimensionless).
C ALGBRC(43) is Ca_JSR_free in component Irel (mM).
C ALGBRC(41) is bbb in component Irel (mM).
C ALGBRC(42) is c in component Irel (mM2).
C CONSTS(44) is kmcsqn in component Irel (mM).
C CONSTS(45) is csqnbar in component Irel (mM).
C STATES(16) is Ca_NSR in component Ca (mM).
C CONSTS(46) is kmup in component Iup_Ileak (mM).
C CONSTS(47) is iupbar in component Iup_Ileak (mM_per_ms).
C CONSTS(48) is nsrbar in component Iup_Ileak (mM).
C ALGBRC(67) is iup in component Iup_Ileak (mM_per_ms).
C ALGBRC(45) is ileak in component Iup_Ileak (mM_per_ms).
C CONSTS(49) is tautr in component Itr (ms).
C ALGBRC(46) is itr in component Itr (mM_per_ms).
C STATES(17) is Ca_T in component Ca (mM).
C STATES(18) is Over in component Ca (dimensionless).
C CONSTS(50) is cmdnbar in component Ca (mM).
C CONSTS(51) is trpnbar in component Ca (mM).
C CONSTS(52) is kmcmdn in component Ca (mM).
C CONSTS(53) is kmtrpn in component Ca (mM).
C ALGBRC(47) is bmyo in component Ca (mM).
C ALGBRC(48) is cmyo in component Ca (mM2).
C ALGBRC(49) is dmyo in component Ca (mM3).
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(7) is d/dt d in component ICaL (dimensionless).
C RATES(8) is d/dt f in component ICaL (dimensionless).
C RATES(9) is d/dt xr in component IKr (dimensionless).
C RATES(10) is d/dt xs1 in component IKs (dimensionless).
C RATES(11) is d/dt xs2 in component IKs (dimensionless).
C RATES(12) is d/dt b in component ICaT (dimensionless).
C RATES(13) is d/dt g in component ICaT (dimensionless).
C RATES(15) is d/dt Rel in component Irel (mM_per_ms).
C RATES(5) is d/dt Na_i in component Na (mM).
C RATES(6) is d/dt K_i in component K (mM).
C RATES(18) is d/dt Over in component Ca (dimensionless).
C RATES(17) is d/dt Ca_T in component Ca (mM).
C RATES(16) is d/dt Ca_NSR in component Ca (mM).
C RATES(14) is d/dt Ca_JSR_T in component Ca (mM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 96485
      CONSTS(2) = 8314
      CONSTS(3) = 310
      CONSTS(4) = 4.5
      CONSTS(5) = 140
      CONSTS(6) = 1.8
      STATES(1) = -89.4356034692784
      CONSTS(7) = 0.01
      CONSTS(8) = 0.0011
      CONSTS(9) = 0
      CONSTS(10) = 400
      CONSTS(11) = 3
      CONSTS(12) = -15
      STATES(2) = 0.994401369032678
      STATES(3) = 0.000734780346592185
      STATES(4) = 0.996100688673679
      CONSTS(13) = 16
      STATES(5) = 16.612739313555
      STATES(6) = 139.730914103161
      STATES(7) = 3.2514786721066e-27
      STATES(8) = 0.997404948824816
      CONSTS(14) = 1
      CONSTS(15) = 0.341
      CONSTS(16) = 0.0006
      CONSTS(17) = 0.00054
      CONSTS(18) = 6.75e-7
      CONSTS(19) = 0.75
      CONSTS(20) = 0.75
      CONSTS(21) = 1.93e-7
      CONSTS(22) = 0.75
      CONSTS(23) = 0.75
      CONSTS(24) = 0.75
      CONSTS(25) = 0.02614
      STATES(9) = 0.000162194715543637
      CONSTS(26) = 0.433
      STATES(10) = 0.0285147332973946
      STATES(11) = 0.0764114040188678
      CONSTS(27) = 10
      CONSTS(28) = 1.5
      CONSTS(29) = 2.25
      CONSTS(30) = 0.00025
      CONSTS(31) = 0.0001
      CONSTS(32) = 0.15
      CONSTS(33) = 0.00552
      CONSTS(34) = 1.15
      CONSTS(35) = 0.0005
      CONSTS(36) = 0.003016
      CONSTS(37) = 0.004
      STATES(12) = 0.000927461915392873
      STATES(13) = 0.952834331760863
      CONSTS(38) = 0.05
      CONSTS(39) = 0.01833
      STATES(14) = 7.87371650296567
      STATES(15) = 1.06874246141923e-23
      CONSTS(40) = 1
      CONSTS(41) = 4.75
      CONSTS(42) = 0.125
      CONSTS(43) = 9
      CONSTS(44) = 0.8
      CONSTS(45) = 10
      STATES(16) = 2.71518235696672
      CONSTS(46) = 0.00092
      CONSTS(47) = 0.00875
      CONSTS(48) = 15
      CONSTS(49) = 120
      STATES(17) = 0.0257059808595638
      STATES(18) = 1e-12
      CONSTS(50) = 0.05
      CONSTS(51) = 0.07
      CONSTS(52) = 0.00238
      CONSTS(53) = 0.0005
      CONSTS(54) = (CONSTS(1)/CONSTS(3))/CONSTS(2)
      CONSTS(55) =  CONSTS(24)* (CONSTS(4)/5.40000) ** (1.0 / 2)
      CONSTS(56) = (EXP(CONSTS(5)/67.3000) - 1.00000)/7.00000
      CONSTS(67) = 0.00000
      CONSTS(57) =  1000.00* 3.14159265358979*CONSTS(8)*CONSTS(8)*CONSTS(7)
      CONSTS(58) =  2.00000* 3.14159265358979*CONSTS(8)*CONSTS(8)+ 2.00000* 3.14159265358979*CONSTS(8)*CONSTS(7)
      CONSTS(59) =  CONSTS(57)*0.240000
      CONSTS(60) =  CONSTS(57)*0.0600000
      CONSTS(61) =  CONSTS(57)*0.0200000
      CONSTS(62) =  CONSTS(58)*2.00000
      CONSTS(63) =  CONSTS(57)*0.680000
      CONSTS(64) =  CONSTS(57)*0.0552000
      CONSTS(65) =  CONSTS(57)*0.00480000
      CONSTS(66) = CONSTS(62)/CONSTS(1)
      CONSTS(67) =  CONSTS(41)*CONSTS(42)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(18) = CONSTS(67)
      ALGBRC(3) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(13) =  0.0800000*EXP(- STATES(1)/11.0000)
      RATES(3) =  ALGBRC(3)*(1.00000 - STATES(3)) -  ALGBRC(13)*STATES(3)
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+32.0000)/8.00000))+0.600000/(1.00000+EXP((50.0000 - STATES(1))/20.0000))
      ALGBRC(15) = 1.00000/( 0.0197000*EXP(-  0.0337000*(STATES(1)+10.0000) ** 2.00000)+0.0200000)
      RATES(8) = (ALGBRC(5) - STATES(8))/ALGBRC(15)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0850)/4.25000))
      ALGBRC(16) = 1.00000/(( 0.00138000*(STATES(1)+14.2000))/(1.00000 - EXP( - 0.123000*(STATES(1)+14.2000)))+( 0.000610000*(STATES(1)+38.9000))/(EXP( 0.145000*(STATES(1)+38.9000)) - 1.00000))
      RATES(9) = (ALGBRC(6) - STATES(9))/ALGBRC(16)
      ALGBRC(7) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(17) = 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(10) = (ALGBRC(7) - STATES(10))/ALGBRC(17)
      RATES(11) = ((ALGBRC(7) - STATES(11))/ALGBRC(17))/4.00000
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(1)+14.0000)/10.8000))
      ALGBRC(18) = 3.70000+6.10000/(1.00000+EXP((STATES(1)+25.0000)/4.50000))
      RATES(12) = (ALGBRC(8) - STATES(12))/ALGBRC(18)
      ALGBRC(2) = 1.00000 - 1.00000/(1.00000+EXP(- (STATES(1)+40.0000)/0.0240000))
      ALGBRC(11) =  ALGBRC(2)*0.135000*EXP((80.0000+STATES(1))/- 6.80000)
      ALGBRC(21) = (1.00000 - ALGBRC(2))/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000)))+ ALGBRC(2)*( 3.56000*EXP( 0.0790000*STATES(1))+ 3.10000*100000.*EXP( 0.350000*STATES(1)))
      RATES(2) =  ALGBRC(11)*(1.00000 - STATES(2)) -  ALGBRC(21)*STATES(2)
      ALGBRC(12) = ( ALGBRC(2)*( - 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(22) = ( (1.00000 - ALGBRC(2))*0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000)))+( ALGBRC(2)*0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400)))
      RATES(4) =  ALGBRC(12)*(1.00000 - STATES(4)) -  ALGBRC(22)*STATES(4)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+60.0000)/5.60000))
      ALGBRC(19) = 1.00000 - 1.00000/(1.00000+EXP(- STATES(1)/0.00240000))
      ALGBRC(24) =  ALGBRC(19)*1.00000*( - 0.875000*STATES(1)+12.0000)+ 12.0000*(1.00000 - ALGBRC(19))
      RATES(13) = (ALGBRC(9) - STATES(13))/ALGBRC(24)
      ALGBRC(4) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0000)/6.24000))
      ALGBRC(14) = ( ALGBRC(4)*1.00000*(1.00000 - EXP(- (STATES(1)+10.0000)/6.24000)))/( 0.0350000*(STATES(1)+10.0000))
      ALGBRC(23) = 1.00000/(1.00000+EXP(- (STATES(1)+60.0000)/0.0240000))
      ALGBRC(26) =  ALGBRC(4)*ALGBRC(23)
      RATES(7) = (ALGBRC(26) - STATES(7))/ALGBRC(14)
      ALGBRC(41) = (CONSTS(45)+CONSTS(44)) - STATES(14)
      ALGBRC(42) =  STATES(14)*CONSTS(44)
      ALGBRC(43) = - ALGBRC(41)/2.00000+ (ALGBRC(41) ** 2.00000+ 4.00000*ALGBRC(42)) ** (1.0 / 2)/2.00000
      ALGBRC(46) = (STATES(16) - ALGBRC(43))/CONSTS(49)
      RATES(14) = ALGBRC(46) - STATES(15)
      ALGBRC(47) = ((CONSTS(50)+CONSTS(51)) - STATES(17))+CONSTS(53)+CONSTS(52)
      ALGBRC(48) = ( CONSTS(52)*CONSTS(53) -  STATES(17)*(CONSTS(53)+CONSTS(52)))+ CONSTS(51)*CONSTS(52)+ CONSTS(50)*CONSTS(53)
      ALGBRC(49) =  - CONSTS(53)*CONSTS(52)*STATES(17)
      ALGBRC(50) =  (( 2.00000* ( ALGBRC(47)*ALGBRC(47) -  3.00000*ALGBRC(48)) ** (1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGBRC(47)*ALGBRC(48) -  2.00000*ALGBRC(47)*ALGBRC(47)*ALGBRC(47)) -  27.0000*ALGBRC(49))/( 2.00000* ALGBRC(47)*ALGBRC(47) -  3.00000*ALGBRC(48) ** 1.50000))/3.00000) - ALGBRC(47)/3.00000
      ALGBRC(51) = ( CONSTS(17)*4.00000*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(14)*ALGBRC(50)*EXP( 2.00000*STATES(1)*CONSTS(54)) -  CONSTS(15)*CONSTS(6)))/(EXP( 2.00000*STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(52) = 1.00000/(1.00000+ALGBRC(50)/CONSTS(16))
      ALGBRC(53) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(51)
      ALGBRC(55) = ( ALGBRC(53)*CONSTS(67))/(1.00000+CONSTS(40)/ALGBRC(43) ** CONSTS(43))
      ALGBRC(44) = CONSTS(41)/(1.00000+0.0123000/ALGBRC(43))
      RATES(15) = - (ALGBRC(55)+STATES(15))/ALGBRC(44)
      ALGBRC(28) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(54))+ 0.0365000*CONSTS(56)*EXP( - STATES(1)*CONSTS(54)))
      ALGBRC(29) = (( CONSTS(29)*ALGBRC(28))/(1.00000+CONSTS(27)/STATES(5) ** 2.00000))/(1.00000+CONSTS(28)/CONSTS(4))
      ALGBRC(33) = log(CONSTS(4)/STATES(6))/CONSTS(54)
      ALGBRC(27) = 1.00000/(1.00000+EXP((STATES(1)+9.00000)/22.4000))
      ALGBRC(38) =  CONSTS(25)* (CONSTS(4)/5.40000) ** (1.0 / 2)*STATES(9)*ALGBRC(27)*(STATES(1) - ALGBRC(33))
      ALGBRC(40) = log((CONSTS(4)+ CONSTS(39)*CONSTS(5))/(STATES(6)+ CONSTS(39)*STATES(5)))/CONSTS(54)
      ALGBRC(57) =  CONSTS(26)*(1.00000+0.600000/(1.00000+3.80000e-05/ALGBRC(50) ** 1.40000))
      ALGBRC(58) =  ALGBRC(57)*STATES(10)*STATES(11)*(STATES(1) - ALGBRC(40))
      ALGBRC(34) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(33)) - 59.2150)))
      ALGBRC(35) = ( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(33))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - ALGBRC(33)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(33))+4.75300)))
      ALGBRC(36) = ( CONSTS(55)*ALGBRC(34))/(ALGBRC(34)+ALGBRC(35))
      ALGBRC(37) =  ALGBRC(36)*(STATES(1) - ALGBRC(33))
      ALGBRC(39) = ( CONSTS(33)*(STATES(1) - ALGBRC(33)))/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(25) = ( CONSTS(21)*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(22)*STATES(6)*EXP( STATES(1)*CONSTS(54)) -  CONSTS(23)*CONSTS(4)))/(EXP( STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(56) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(25)
      ALGBRC(1) =  INT(VOI/CONSTS(10))*CONSTS(10)
      ALGBRC(10) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(9).AND.VOI - ALGBRC(1).LE.CONSTS(9)+CONSTS(11), CONSTS(12), 0.00000)
      ALGBRC(59) = ((ALGBRC(38)+ALGBRC(58)+ALGBRC(37)+ALGBRC(39)+ALGBRC(56)) -  2.00000*ALGBRC(29))+ALGBRC(10)
      RATES(6) = ( - ALGBRC(59)*CONSTS(66))/CONSTS(63)
      ALGBRC(60) = ( CONSTS(30)*EXP( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(54))*( EXP( STATES(1)*CONSTS(54))*STATES(5) ** 3.00000*CONSTS(6) -  CONSTS(5) ** 3.00000*ALGBRC(50)))/(1.00000+ CONSTS(31)*EXP( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(54))*( EXP( STATES(1)*CONSTS(54))*STATES(5) ** 3.00000*CONSTS(6)+ CONSTS(5) ** 3.00000*ALGBRC(50)))
      ALGBRC(30) = log(CONSTS(5)/STATES(5))/CONSTS(54)
      ALGBRC(31) =  CONSTS(13)*STATES(3)*STATES(3)*STATES(3)*STATES(2)*STATES(4)*(STATES(1) - ALGBRC(30))
      ALGBRC(32) =  CONSTS(37)*(STATES(1) - ALGBRC(30))
      ALGBRC(20) = ( CONSTS(18)*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(19)*STATES(5)*EXP( STATES(1)*CONSTS(54)) -  CONSTS(20)*CONSTS(5)))/(EXP( STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(54) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(20)
      ALGBRC(61) = ALGBRC(31)+ALGBRC(32)+ 3.00000*ALGBRC(60)+ALGBRC(54)+ 3.00000*ALGBRC(29)
      RATES(5) = ( - ALGBRC(61)*CONSTS(66))/CONSTS(63)
      ALGBRC(63) =  CONSTS(36)*(STATES(1) - log(CONSTS(6)/ALGBRC(50))/( 2.00000*CONSTS(54)))
      ALGBRC(62) = ( CONSTS(34)*ALGBRC(50))/(CONSTS(35)+ALGBRC(50))
      ALGBRC(64) = (log(CONSTS(6)/ALGBRC(50))/2.00000)/CONSTS(54)
      ALGBRC(65) =  CONSTS(38)*STATES(12)*STATES(12)*STATES(13)*(STATES(1) - ALGBRC(64))
      ALGBRC(66) = ((ALGBRC(53)+ALGBRC(63)+ALGBRC(62)) -  2.00000*ALGBRC(60))+ALGBRC(65)
      RATES(1) = - (ALGBRC(61)+ALGBRC(59)+ALGBRC(66))
      ALGBRC(67) = ( CONSTS(47)*ALGBRC(50))/(ALGBRC(50)+CONSTS(46))
      ALGBRC(45) = ( CONSTS(47)*STATES(16))/CONSTS(48)
      RATES(17) = ( - ALGBRC(66)*CONSTS(66))/( CONSTS(63)*2.00000)+( (ALGBRC(45) - ALGBRC(67))*CONSTS(64))/CONSTS(63)+( STATES(15)*CONSTS(65))/CONSTS(63)
      RATES(16) = (ALGBRC(67) - ( ALGBRC(46)*CONSTS(65))/CONSTS(64)) - ALGBRC(45)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) = ( 0.320000*1.00000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(13) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+32.0000)/8.00000))+0.600000/(1.00000+EXP((50.0000 - STATES(1))/20.0000))
      ALGBRC(15) = 1.00000/( 0.0197000*EXP(-  0.0337000*(STATES(1)+10.0000) ** 2.00000)+0.0200000)
      ALGBRC(6) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0850)/4.25000))
      ALGBRC(16) = 1.00000/(( 0.00138000*(STATES(1)+14.2000))/(1.00000 - EXP( - 0.123000*(STATES(1)+14.2000)))+( 0.000610000*(STATES(1)+38.9000))/(EXP( 0.145000*(STATES(1)+38.9000)) - 1.00000))
      ALGBRC(7) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(17) = 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(8) = 1.00000/(1.00000+EXP(- (STATES(1)+14.0000)/10.8000))
      ALGBRC(18) = 3.70000+6.10000/(1.00000+EXP((STATES(1)+25.0000)/4.50000))
      ALGBRC(2) = 1.00000 - 1.00000/(1.00000+EXP(- (STATES(1)+40.0000)/0.0240000))
      ALGBRC(11) =  ALGBRC(2)*0.135000*EXP((80.0000+STATES(1))/- 6.80000)
      ALGBRC(21) = (1.00000 - ALGBRC(2))/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000)))+ ALGBRC(2)*( 3.56000*EXP( 0.0790000*STATES(1))+ 3.10000*100000.*EXP( 0.350000*STATES(1)))
      ALGBRC(12) = ( ALGBRC(2)*( - 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(22) = ( (1.00000 - ALGBRC(2))*0.300000*EXP( - 2.53500e-07*STATES(1)))/(1.00000+EXP( - 0.100000*(STATES(1)+32.0000)))+( ALGBRC(2)*0.121200*EXP( - 0.0105200*STATES(1)))/(1.00000+EXP( - 0.137800*(STATES(1)+40.1400)))
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+60.0000)/5.60000))
      ALGBRC(19) = 1.00000 - 1.00000/(1.00000+EXP(- STATES(1)/0.00240000))
      ALGBRC(24) =  ALGBRC(19)*1.00000*( - 0.875000*STATES(1)+12.0000)+ 12.0000*(1.00000 - ALGBRC(19))
      ALGBRC(4) = 1.00000/(1.00000+EXP(- (STATES(1)+10.0000)/6.24000))
      ALGBRC(14) = ( ALGBRC(4)*1.00000*(1.00000 - EXP(- (STATES(1)+10.0000)/6.24000)))/( 0.0350000*(STATES(1)+10.0000))
      ALGBRC(23) = 1.00000/(1.00000+EXP(- (STATES(1)+60.0000)/0.0240000))
      ALGBRC(26) =  ALGBRC(4)*ALGBRC(23)
      ALGBRC(41) = (CONSTS(45)+CONSTS(44)) - STATES(14)
      ALGBRC(42) =  STATES(14)*CONSTS(44)
      ALGBRC(43) = - ALGBRC(41)/2.00000+ (ALGBRC(41) ** 2.00000+ 4.00000*ALGBRC(42)) ** (1.0 / 2)/2.00000
      ALGBRC(46) = (STATES(16) - ALGBRC(43))/CONSTS(49)
      ALGBRC(47) = ((CONSTS(50)+CONSTS(51)) - STATES(17))+CONSTS(53)+CONSTS(52)
      ALGBRC(48) = ( CONSTS(52)*CONSTS(53) -  STATES(17)*(CONSTS(53)+CONSTS(52)))+ CONSTS(51)*CONSTS(52)+ CONSTS(50)*CONSTS(53)
      ALGBRC(49) =  - CONSTS(53)*CONSTS(52)*STATES(17)
      ALGBRC(50) =  (( 2.00000* ( ALGBRC(47)*ALGBRC(47) -  3.00000*ALGBRC(48)) ** (1.0 / 2))/3.00000)*cos(acos((( 9.00000*ALGBRC(47)*ALGBRC(48) -  2.00000*ALGBRC(47)*ALGBRC(47)*ALGBRC(47)) -  27.0000*ALGBRC(49))/( 2.00000* ALGBRC(47)*ALGBRC(47) -  3.00000*ALGBRC(48) ** 1.50000))/3.00000) - ALGBRC(47)/3.00000
      ALGBRC(51) = ( CONSTS(17)*4.00000*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(14)*ALGBRC(50)*EXP( 2.00000*STATES(1)*CONSTS(54)) -  CONSTS(15)*CONSTS(6)))/(EXP( 2.00000*STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(52) = 1.00000/(1.00000+ALGBRC(50)/CONSTS(16))
      ALGBRC(53) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(51)
      ALGBRC(55) = ( ALGBRC(53)*CONSTS(67))/(1.00000+CONSTS(40)/ALGBRC(43) ** CONSTS(43))
      ALGBRC(44) = CONSTS(41)/(1.00000+0.0123000/ALGBRC(43))
      ALGBRC(28) = 1.00000/(1.00000+ 0.124500*EXP( - 0.100000*STATES(1)*CONSTS(54))+ 0.0365000*CONSTS(56)*EXP( - STATES(1)*CONSTS(54)))
      ALGBRC(29) = (( CONSTS(29)*ALGBRC(28))/(1.00000+CONSTS(27)/STATES(5) ** 2.00000))/(1.00000+CONSTS(28)/CONSTS(4))
      ALGBRC(33) = log(CONSTS(4)/STATES(6))/CONSTS(54)
      ALGBRC(27) = 1.00000/(1.00000+EXP((STATES(1)+9.00000)/22.4000))
      ALGBRC(38) =  CONSTS(25)* (CONSTS(4)/5.40000) ** (1.0 / 2)*STATES(9)*ALGBRC(27)*(STATES(1) - ALGBRC(33))
      ALGBRC(40) = log((CONSTS(4)+ CONSTS(39)*CONSTS(5))/(STATES(6)+ CONSTS(39)*STATES(5)))/CONSTS(54)
      ALGBRC(57) =  CONSTS(26)*(1.00000+0.600000/(1.00000+3.80000e-05/ALGBRC(50) ** 1.40000))
      ALGBRC(58) =  ALGBRC(57)*STATES(10)*STATES(11)*(STATES(1) - ALGBRC(40))
      ALGBRC(34) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(33)) - 59.2150)))
      ALGBRC(35) = ( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(33))+5.47600))+ 1.00000*EXP( 0.0617500*((STATES(1) - ALGBRC(33)) - 594.310)))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(33))+4.75300)))
      ALGBRC(36) = ( CONSTS(55)*ALGBRC(34))/(ALGBRC(34)+ALGBRC(35))
      ALGBRC(37) =  ALGBRC(36)*(STATES(1) - ALGBRC(33))
      ALGBRC(39) = ( CONSTS(33)*(STATES(1) - ALGBRC(33)))/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(25) = ( CONSTS(21)*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(22)*STATES(6)*EXP( STATES(1)*CONSTS(54)) -  CONSTS(23)*CONSTS(4)))/(EXP( STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(56) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(25)
      ALGBRC(1) =  INT(VOI/CONSTS(10))*CONSTS(10)
      ALGBRC(10) = TERNRY(VOI - ALGBRC(1).GE.CONSTS(9).AND.VOI - ALGBRC(1).LE.CONSTS(9)+CONSTS(11), CONSTS(12), 0.00000)
      ALGBRC(59) = ((ALGBRC(38)+ALGBRC(58)+ALGBRC(37)+ALGBRC(39)+ALGBRC(56)) -  2.00000*ALGBRC(29))+ALGBRC(10)
      ALGBRC(60) = ( CONSTS(30)*EXP( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(54))*( EXP( STATES(1)*CONSTS(54))*STATES(5) ** 3.00000*CONSTS(6) -  CONSTS(5) ** 3.00000*ALGBRC(50)))/(1.00000+ CONSTS(31)*EXP( (CONSTS(32) - 1.00000)*STATES(1)*CONSTS(54))*( EXP( STATES(1)*CONSTS(54))*STATES(5) ** 3.00000*CONSTS(6)+ CONSTS(5) ** 3.00000*ALGBRC(50)))
      ALGBRC(30) = log(CONSTS(5)/STATES(5))/CONSTS(54)
      ALGBRC(31) =  CONSTS(13)*STATES(3)*STATES(3)*STATES(3)*STATES(2)*STATES(4)*(STATES(1) - ALGBRC(30))
      ALGBRC(32) =  CONSTS(37)*(STATES(1) - ALGBRC(30))
      ALGBRC(20) = ( CONSTS(18)*STATES(1)*CONSTS(1)*CONSTS(54)*( CONSTS(19)*STATES(5)*EXP( STATES(1)*CONSTS(54)) -  CONSTS(20)*CONSTS(5)))/(EXP( STATES(1)*CONSTS(54)) - 1.00000)
      ALGBRC(54) =  STATES(7)*STATES(8)*ALGBRC(52)*ALGBRC(20)
      ALGBRC(61) = ALGBRC(31)+ALGBRC(32)+ 3.00000*ALGBRC(60)+ALGBRC(54)+ 3.00000*ALGBRC(29)
      ALGBRC(63) =  CONSTS(36)*(STATES(1) - log(CONSTS(6)/ALGBRC(50))/( 2.00000*CONSTS(54)))
      ALGBRC(62) = ( CONSTS(34)*ALGBRC(50))/(CONSTS(35)+ALGBRC(50))
      ALGBRC(64) = (log(CONSTS(6)/ALGBRC(50))/2.00000)/CONSTS(54)
      ALGBRC(65) =  CONSTS(38)*STATES(12)*STATES(12)*STATES(13)*(STATES(1) - ALGBRC(64))
      ALGBRC(66) = ((ALGBRC(53)+ALGBRC(63)+ALGBRC(62)) -  2.00000*ALGBRC(60))+ALGBRC(65)
      ALGBRC(67) = ( CONSTS(47)*ALGBRC(50))/(ALGBRC(50)+CONSTS(46))
      ALGBRC(45) = ( CONSTS(47)*STATES(16))/CONSTS(48)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END