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 75 entries in the algebraic variable array.
C There are a total of 9 entries in each of the rate and state variable arrays.
C There are a total of 54 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is Gi in component Gi (millimolar).
C ALGBRC(7) is Jglut in component Jglut (millimolar_per_millisecond).
C ALGBRC(8) is Jgk in component Jgk (millimolar_per_millisecond).
C ALGBRC(4) is Ge in component Ge (millimolar).
C CONSTS(1) is gluper in component Ge (dimensionless).
C CONSTS(2) is gluamp in component Ge (millimolar).
C CONSTS(3) is glubasa1 in component Ge (millimolar).
C CONSTS(4) is glustep in component Ge (dimensionless).
C CONSTS(5) is steptime in component Ge (millisecond).
C ALGBRC(1) is GeStep in component Ge (millimolar).
C STATES(2) is G6P in component G6P (millimolar).
C CONSTS(6) is kappa in component model_parameters (dimensionless).
C ALGBRC(75) is JPFK in component JPFK (micromolar_per_millisecond).
C STATES(3) is FBP in component FBP (micromolar).
C ALGBRC(9) is JGPDH in component JGPDH (micromolar_per_millisecond).
C ALGBRC(6) is F6P in component F6P (millimolar).
C CONSTS(7) is Kglut in component Jglut (millimolar).
C CONSTS(8) is Vglut in component Jglut (millimolar_per_millisecond).
C CONSTS(9) is Kgk in component Jgk (millimolar).
C CONSTS(10) is Vgk in component Jgk (millimolar_per_millisecond).
C CONSTS(11) is ngk in component Jgk (dimensionless).
C CONSTS(12) is pfkbas in component JPFK (dimensionless).
C CONSTS(13) is cat in component JPFK (micromolar_per_millisecond).
C ALGBRC(61) is topb in component w (dimensionless).
C ALGBRC(73) is topa16 in component w (dimensionless).
C ALGBRC(74) is bottom16 in component w (dimensionless).
C CONSTS(52) is weight1 in component w (dimensionless).
C ALGBRC(52) is weight9 in component w (dimensionless).
C ALGBRC(10) is weight5 in component w (dimensionless).
C ALGBRC(11) is weight3 in component w (dimensionless).
C ALGBRC(16) is weight2 in component w (dimensionless).
C ALGBRC(54) is weight13 in component w (dimensionless).
C ALGBRC(55) is weight11 in component w (dimensionless).
C ALGBRC(57) is weight10 in component w (dimensionless).
C ALGBRC(24) is weight6 in component w (dimensionless).
C ALGBRC(27) is weight4 in component w (dimensionless).
C ALGBRC(60) is weight15 in component w (dimensionless).
C ALGBRC(46) is weight8 in component w (dimensionless).
C ALGBRC(62) is weight12 in component w (dimensionless).
C ALGBRC(67) is weight14 in component w (dimensionless).
C ALGBRC(72) is weight16 in component w (dimensionless).
C ALGBRC(13) is weight7 in component w (dimensionless).
C CONSTS(51) is topa1 in component w (dimensionless).
C CONSTS(54) is topa2 in component w (dimensionless).
C ALGBRC(12) is topa3 in component w (dimensionless).
C ALGBRC(30) is topa4 in component w (dimensionless).
C ALGBRC(33) is topa5 in component w (dimensionless).
C ALGBRC(36) is topa6 in component w (dimensionless).
C ALGBRC(44) is topa7 in component w (dimensionless).
C ALGBRC(47) is topa8 in component w (dimensionless).
C ALGBRC(48) is topa9 in component w (dimensionless).
C ALGBRC(49) is topa10 in component w (dimensionless).
C ALGBRC(56) is topa11 in component w (dimensionless).
C ALGBRC(63) is topa12 in component w (dimensionless).
C ALGBRC(64) is topa13 in component w (dimensionless).
C ALGBRC(68) is topa14 in component w (dimensionless).
C ALGBRC(69) is topa15 in component w (dimensionless).
C CONSTS(53) is bottom1 in component w (dimensionless).
C ALGBRC(19) is bottom2 in component w (dimensionless).
C ALGBRC(22) is bottom3 in component w (dimensionless).
C ALGBRC(38) is bottom4 in component w (dimensionless).
C ALGBRC(40) is bottom5 in component w (dimensionless).
C ALGBRC(42) is bottom6 in component w (dimensionless).
C ALGBRC(45) is bottom7 in component w (dimensionless).
C ALGBRC(50) is bottom8 in component w (dimensionless).
C ALGBRC(53) is bottom9 in component w (dimensionless).
C ALGBRC(58) is bottom10 in component w (dimensionless).
C ALGBRC(59) is bottom11 in component w (dimensionless).
C ALGBRC(65) is bottom12 in component w (dimensionless).
C ALGBRC(66) is bottom13 in component w (dimensionless).
C ALGBRC(70) is bottom14 in component w (dimensionless).
C ALGBRC(71) is bottom15 in component w (dimensionless).
C CONSTS(14) is famp in component w (dimensionless).
C CONSTS(15) is ffbp in component w (dimensionless).
C CONSTS(16) is fmt in component w (dimensionless).
C CONSTS(17) is fbt in component w (dimensionless).
C CONSTS(18) is fatp in component w (dimensionless).
C CONSTS(19) is K1 in component w (micromolar).
C CONSTS(20) is K2 in component w (micromolar).
C CONSTS(21) is K3 in component w (micromolar).
C CONSTS(22) is K4 in component w (micromolar).
C ALGBRC(51) is AMP in component AMP (micromolar).
C ALGBRC(15) is ATP in component ATP (micromolar).
C CONSTS(23) is Atot in component ATP (micromolar).
C ALGBRC(14) is rad in component ATP (micromolar).
C STATES(4) is ADP in component ADP (micromolar).
C ALGBRC(17) is y in component ADP (dimensionless).
C CONSTS(24) is tau_a in component ADP (millisecond).
C CONSTS(25) is r in component ADP (dimensionless).
C CONSTS(26) is r1 in component ADP (micromolar).
C CONSTS(27) is autoadp in component ADP (dimensionless).
C CONSTS(28) is adpknot in component ADP (micromolar).
C ALGBRC(20) is fback in component ADP (dimensionless).
C CONSTS(29) is ky in component ADP (dimensionless).
C CONSTS(30) is kg in component ADP (micromolar_per_millisecond).
C STATES(5) is Ca in component Ca (micromolar).
C STATES(6) is v in component membrane (millivolt).
C CONSTS(31) is cm in component membrane (femtofarad).
C ALGBRC(23) is I_Ca in component I_Ca (femtoampere).
C ALGBRC(18) is I_K in component I_K (femtoampere).
C ALGBRC(25) is I_K_Ca in component I_K_Ca (femtoampere).
C ALGBRC(43) is I_K_ATP in component I_K_ATP (femtoampere).
C CONSTS(32) is gK in component I_K (picosiemens).
C CONSTS(33) is vK in component model_parameters (millivolt).
C STATES(7) is n in component n (dimensionless).
C ALGBRC(5) is n_infinity in component n (dimensionless).
C ALGBRC(2) is tau_n in component n (millisecond).
C CONSTS(34) is gCa in component I_Ca (picosiemens).
C CONSTS(35) is vCa in component model_parameters (millivolt).
C ALGBRC(21) is m_infinity in component m (dimensionless).
C CONSTS(36) is gkCa in component I_K_Ca (picosiemens).
C CONSTS(37) is KD in component I_K_Ca (micromolar).
C CONSTS(38) is nh in component I_K_Ca (dimensionless).
C CONSTS(39) is gkATP_bar in component I_K_ATP (picosiemens).
C ALGBRC(41) is katpo in component I_K_ATP (dimensionless).
C ALGBRC(31) is topo in component I_K_ATP (dimensionless).
C ALGBRC(39) is bottomo in component I_K_ATP (dimensionless).
C ALGBRC(28) is MgADP in component I_K_ATP (micromolar).
C ALGBRC(34) is ADP3 in component I_K_ATP (micromolar).
C ALGBRC(37) is ATP4 in component I_K_ATP (micromolar).
C CONSTS(40) is fcyt in component Ca (dimensionless).
C ALGBRC(26) is Jmem in component Jmem (micromolar_per_millisecond).
C ALGBRC(35) is Jer in component Jer (micromolar_per_millisecond).
C STATES(8) is Caer in component Caer (micromolar).
C CONSTS(41) is fer in component Caer (dimensionless).
C CONSTS(42) is sigmav in component Caer (dimensionless).
C CONSTS(43) is kPMCA in component Jmem (first_order_rate_constant).
C CONSTS(44) is alpha in component Jmem (micromolar_per_millisecond).
C ALGBRC(32) is Jleak in component Jleak (micromolar_per_millisecond).
C ALGBRC(29) is JSERCA in component JSERCA (micromolar_per_millisecond).
C CONSTS(45) is kSERCA in component JSERCA (first_order_rate_constant).
C CONSTS(46) is pleak in component Jleak (first_order_rate_constant).
C STATES(9) is I in component I (dimensionless).
C ALGBRC(3) is I_infinity in component I (dimensionless).
C CONSTS(47) is tau_I in component I (millisecond).
C CONSTS(48) is I_max in component I (dimensionless).
C CONSTS(49) is delta in component I (dimensionless).
C CONSTS(50) is ki in component I (micromolar).
C RATES(1) is d/dt Gi in component Gi (millimolar).
C RATES(2) is d/dt G6P in component G6P (millimolar).
C RATES(3) is d/dt FBP in component FBP (micromolar).
C RATES(4) is d/dt ADP in component ADP (micromolar).
C RATES(6) is d/dt v in component membrane (millivolt).
C RATES(7) is d/dt n in component n (dimensionless).
C RATES(5) is d/dt Ca in component Ca (micromolar).
C RATES(8) is d/dt Caer in component Caer (micromolar).
C RATES(9) is d/dt I in component I (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 6.0637
      CONSTS(1) = 7.0
      CONSTS(2) = 0.0
      CONSTS(3) = 7.0
      CONSTS(4) = 0.0
      CONSTS(5) = 480000
      STATES(2) = 525.97
      CONSTS(6) = 0.005
      STATES(3) = 0.2088
      CONSTS(7) = 7
      CONSTS(8) = 8
      CONSTS(9) = 7
      CONSTS(10) = 0.8
      CONSTS(11) = 4
      CONSTS(12) = 0.06
      CONSTS(13) = 2
      CONSTS(14) = 0.02
      CONSTS(15) = 0.2
      CONSTS(16) = 20
      CONSTS(17) = 20
      CONSTS(18) = 20
      CONSTS(19) = 30
      CONSTS(20) = 1
      CONSTS(21) = 50000
      CONSTS(22) = 1000
      CONSTS(23) = 3000
      STATES(4) = 537.6
      CONSTS(24) = 300000
      CONSTS(25) = 0.5
      CONSTS(26) = 0.35
      CONSTS(27) = 1.0
      CONSTS(28) = 800.0
      CONSTS(29) = 2.2
      CONSTS(30) = 0.1
      STATES(5) = 0.05626
      STATES(6) = -66.7
      CONSTS(31) = 5300
      CONSTS(32) = 2700
      CONSTS(33) = -75
      STATES(7) = 0.00012
      CONSTS(34) = 1000
      CONSTS(35) = 25
      CONSTS(36) = 400
      CONSTS(37) = 0.5
      CONSTS(38) = 2.0
      CONSTS(39) = 2000
      CONSTS(40) = 0.01
      STATES(8) = 121.8
      CONSTS(41) = 0.01
      CONSTS(42) = 31
      CONSTS(43) = 0.18
      CONSTS(44) = 4.5e-6
      CONSTS(45) = 0.4
      CONSTS(46) = 0.0002
      STATES(9) = 0.316
      CONSTS(47) = 10000
      CONSTS(48) = 20
      CONSTS(49) = 8.0
      CONSTS(50) = 0.1
      CONSTS(51) = 0.00000
      CONSTS(52) = 1.00000
      CONSTS(53) = 1.00000
      CONSTS(54) = CONSTS(51)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  CONSTS(48)*(STATES(5) ** CONSTS(49)/(CONSTS(50) ** CONSTS(49)+STATES(5) ** CONSTS(49)))
      RATES(9) = (ALGBRC(3) - STATES(9))/CONSTS(47)
      ALGBRC(5) =  0.500000*(1.00000+ tanh((STATES(6) - -16.0000)/11.2000))
      ALGBRC(2) = 1.00000/( 0.0350000*cosh((STATES(6) - -16.0000)/22.4000))
      RATES(7) = (ALGBRC(5) - STATES(7))/ALGBRC(2)
      ALGBRC(1) = TERNRY((VOI - CONSTS(5))/1000.00.GT.1.00000,  CONSTS(4)*CONSTS(2), TERNRY((VOI - CONSTS(5))/1000.00.GT.0.00000.AND.(VOI - CONSTS(5))/1000.00.LT.1.00000,  ((VOI - CONSTS(5))/1000.00)*CONSTS(4)*CONSTS(2), TERNRY((VOI - CONSTS(5))/1000.00.LT.0.00000, 0.00000, 0.0/0.0)
      ALGBRC(4) = CONSTS(3)+ CONSTS(2)*(1.00000 - CONSTS(4))*cos(( VOI*2.00000* 3.14159265358979)/( 60000.0*CONSTS(1)))+ALGBRC(1)
      ALGBRC(7) =  CONSTS(8)*(( (ALGBRC(4) - STATES(1))*CONSTS(7))/( (CONSTS(7)+ALGBRC(4))*(CONSTS(7)+STATES(1))))
      ALGBRC(8) = ( CONSTS(10)*STATES(1) ** CONSTS(11))/(CONSTS(9) ** CONSTS(11)+STATES(1) ** CONSTS(11))
      RATES(1) = ALGBRC(7) - ALGBRC(8)
      ALGBRC(14) =  (STATES(4) - CONSTS(23) ** 2.00000 -  4.00000*STATES(4) ** 2.00000) ** (1.0 / 2)
      ALGBRC(15) =  0.500000*((CONSTS(23)+ALGBRC(14)) - STATES(4))
      ALGBRC(9) =  0.200000* (STATES(3)/1.00000) ** (1.0 / 2)
      ALGBRC(17) = ( CONSTS(29)*ALGBRC(9))/(CONSTS(30)+ALGBRC(9))
      ALGBRC(20) = CONSTS(25)+ALGBRC(17)
      RATES(4) =  CONSTS(27)*((ALGBRC(15) -  STATES(4)*EXP( ALGBRC(20)*((1.00000 - STATES(5))/CONSTS(26))))/CONSTS(24))+ 1.00000*(1.00000 - CONSTS(27))*(CONSTS(28) - STATES(4))
      ALGBRC(21) =  0.500000*(1.00000+ tanh((STATES(6) - -20.0000)/24.0000))
      ALGBRC(23) =  CONSTS(34)*ALGBRC(21)*(STATES(6) - CONSTS(35))
      ALGBRC(26) = - ( CONSTS(44)*1.00000*ALGBRC(23)+ CONSTS(43)*STATES(5))
      ALGBRC(32) =  CONSTS(46)*(STATES(8) - STATES(5))
      ALGBRC(29) =  CONSTS(45)*STATES(5)
      ALGBRC(35) = ALGBRC(32) - ALGBRC(29)
      RATES(5) =  CONSTS(40)*(ALGBRC(26)+ALGBRC(35))
      RATES(8) =  - CONSTS(41)*CONSTS(42)*ALGBRC(35)
      ALGBRC(18) =  CONSTS(32)*STATES(7)*(STATES(6) - CONSTS(33))
      ALGBRC(25) =  (CONSTS(36)/(1.00000+CONSTS(37)/STATES(5) ** CONSTS(38)))*(STATES(6) - CONSTS(33))
      ALGBRC(28) =  0.165000*STATES(4)
      ALGBRC(31) =  0.0800000*(1.00000+( 2.00000*ALGBRC(28))/17.0000)+ 0.890000*ALGBRC(28)/17.0000 ** 2.00000
      ALGBRC(34) =  0.135000*STATES(4)
      ALGBRC(37) =  0.0500000*ALGBRC(15)
      ALGBRC(39) =  1.00000+ALGBRC(28)/17.0000 ** 2.00000*(1.00000+ALGBRC(34)/26.0000+ALGBRC(37)/1.00000)
      ALGBRC(41) =  20.0000*(ALGBRC(31)/ALGBRC(39))
      ALGBRC(43) =  CONSTS(39)*ALGBRC(41)*(STATES(6) - CONSTS(33))
      RATES(6) = - (ALGBRC(18)+ALGBRC(23)+ALGBRC(25)+ALGBRC(43))/CONSTS(31)
      ALGBRC(6) =  0.300000*STATES(2)
      ALGBRC(51) = STATES(4) ** 2.00000/ALGBRC(15)
      ALGBRC(60) = ( ALGBRC(51)*STATES(3)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(21)*CONSTS(15)*CONSTS(14))
      ALGBRC(61) = ALGBRC(60)
      ALGBRC(72) = ( ALGBRC(51)*STATES(3)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(21)*CONSTS(22)*CONSTS(15)*CONSTS(14)*CONSTS(17)*CONSTS(16)*CONSTS(18))
      ALGBRC(62) = ( ALGBRC(51)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(21)*CONSTS(22)*CONSTS(14)*CONSTS(16)*CONSTS(18))
      ALGBRC(55) = ( ALGBRC(51)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(21)*CONSTS(14))
      ALGBRC(46) = ( STATES(3)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(21)*CONSTS(22)*CONSTS(15)*CONSTS(17)*CONSTS(18))
      ALGBRC(13) = ( STATES(3)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(21)*CONSTS(15))
      ALGBRC(27) =  ALGBRC(6)*ALGBRC(15) ** 2.00000/( 1.00000*CONSTS(18)*CONSTS(21)*CONSTS(22))
      ALGBRC(11) = ALGBRC(6) ** 2.00000/( 1.00000*CONSTS(21))
      ALGBRC(12) = CONSTS(54)+ALGBRC(11)
      ALGBRC(30) = ALGBRC(12)+ALGBRC(27)
      ALGBRC(33) = ALGBRC(30)
      ALGBRC(36) = ALGBRC(33)
      ALGBRC(44) = ALGBRC(36)+ALGBRC(13)
      ALGBRC(47) = ALGBRC(44)+ALGBRC(46)
      ALGBRC(48) = ALGBRC(47)
      ALGBRC(49) = ALGBRC(48)
      ALGBRC(56) = ALGBRC(49)+ALGBRC(55)
      ALGBRC(63) = ALGBRC(56)+ALGBRC(62)
      ALGBRC(64) = ALGBRC(63)
      ALGBRC(68) = ALGBRC(64)
      ALGBRC(69) = ALGBRC(68)
      ALGBRC(73) = ALGBRC(69)+ALGBRC(72)
      ALGBRC(67) = ( ALGBRC(51)*STATES(3)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(22)*CONSTS(17)*CONSTS(16))
      ALGBRC(54) = ( ALGBRC(51)*STATES(3))/( CONSTS(19)*CONSTS(20))
      ALGBRC(57) = ( ALGBRC(51)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(22)*CONSTS(16))
      ALGBRC(52) = ALGBRC(51)/CONSTS(19)
      ALGBRC(24) = ( STATES(3)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(22)*CONSTS(17))
      ALGBRC(10) = STATES(3)/CONSTS(20)
      ALGBRC(16) = ALGBRC(15) ** 2.00000/( 1.00000*CONSTS(22))
      ALGBRC(19) = CONSTS(53)+ALGBRC(16)
      ALGBRC(22) = ALGBRC(19)+ALGBRC(11)
      ALGBRC(38) = ALGBRC(22)+ALGBRC(27)
      ALGBRC(40) = ALGBRC(38)+ALGBRC(10)
      ALGBRC(42) = ALGBRC(40)+ALGBRC(24)
      ALGBRC(45) = ALGBRC(42)+ALGBRC(13)
      ALGBRC(50) = ALGBRC(45)+ALGBRC(46)
      ALGBRC(53) = ALGBRC(50)+ALGBRC(52)
      ALGBRC(58) = ALGBRC(53)+ALGBRC(57)
      ALGBRC(59) = ALGBRC(58)+ALGBRC(55)
      ALGBRC(65) = ALGBRC(59)+ALGBRC(62)
      ALGBRC(66) = ALGBRC(65)+ALGBRC(54)
      ALGBRC(70) = ALGBRC(66)+ALGBRC(67)
      ALGBRC(71) = ALGBRC(70)+ALGBRC(60)
      ALGBRC(74) = ALGBRC(71)+ALGBRC(72)
      ALGBRC(75) = ( CONSTS(12)*CONSTS(13)*ALGBRC(73)+ CONSTS(13)*ALGBRC(61))/ALGBRC(74)
      RATES(2) =  CONSTS(6)*(ALGBRC(8) - ALGBRC(75))
      RATES(3) =  CONSTS(6)*(ALGBRC(75) -  0.500000*ALGBRC(9))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  CONSTS(48)*(STATES(5) ** CONSTS(49)/(CONSTS(50) ** CONSTS(49)+STATES(5) ** CONSTS(49)))
      ALGBRC(5) =  0.500000*(1.00000+ tanh((STATES(6) - -16.0000)/11.2000))
      ALGBRC(2) = 1.00000/( 0.0350000*cosh((STATES(6) - -16.0000)/22.4000))
      ALGBRC(1) = TERNRY((VOI - CONSTS(5))/1000.00.GT.1.00000,  CONSTS(4)*CONSTS(2), TERNRY((VOI - CONSTS(5))/1000.00.GT.0.00000.AND.(VOI - CONSTS(5))/1000.00.LT.1.00000,  ((VOI - CONSTS(5))/1000.00)*CONSTS(4)*CONSTS(2), TERNRY((VOI - CONSTS(5))/1000.00.LT.0.00000, 0.00000, 0.0/0.0)
      ALGBRC(4) = CONSTS(3)+ CONSTS(2)*(1.00000 - CONSTS(4))*cos(( VOI*2.00000* 3.14159265358979)/( 60000.0*CONSTS(1)))+ALGBRC(1)
      ALGBRC(7) =  CONSTS(8)*(( (ALGBRC(4) - STATES(1))*CONSTS(7))/( (CONSTS(7)+ALGBRC(4))*(CONSTS(7)+STATES(1))))
      ALGBRC(8) = ( CONSTS(10)*STATES(1) ** CONSTS(11))/(CONSTS(9) ** CONSTS(11)+STATES(1) ** CONSTS(11))
      ALGBRC(14) =  (STATES(4) - CONSTS(23) ** 2.00000 -  4.00000*STATES(4) ** 2.00000) ** (1.0 / 2)
      ALGBRC(15) =  0.500000*((CONSTS(23)+ALGBRC(14)) - STATES(4))
      ALGBRC(9) =  0.200000* (STATES(3)/1.00000) ** (1.0 / 2)
      ALGBRC(17) = ( CONSTS(29)*ALGBRC(9))/(CONSTS(30)+ALGBRC(9))
      ALGBRC(20) = CONSTS(25)+ALGBRC(17)
      ALGBRC(21) =  0.500000*(1.00000+ tanh((STATES(6) - -20.0000)/24.0000))
      ALGBRC(23) =  CONSTS(34)*ALGBRC(21)*(STATES(6) - CONSTS(35))
      ALGBRC(26) = - ( CONSTS(44)*1.00000*ALGBRC(23)+ CONSTS(43)*STATES(5))
      ALGBRC(32) =  CONSTS(46)*(STATES(8) - STATES(5))
      ALGBRC(29) =  CONSTS(45)*STATES(5)
      ALGBRC(35) = ALGBRC(32) - ALGBRC(29)
      ALGBRC(18) =  CONSTS(32)*STATES(7)*(STATES(6) - CONSTS(33))
      ALGBRC(25) =  (CONSTS(36)/(1.00000+CONSTS(37)/STATES(5) ** CONSTS(38)))*(STATES(6) - CONSTS(33))
      ALGBRC(28) =  0.165000*STATES(4)
      ALGBRC(31) =  0.0800000*(1.00000+( 2.00000*ALGBRC(28))/17.0000)+ 0.890000*ALGBRC(28)/17.0000 ** 2.00000
      ALGBRC(34) =  0.135000*STATES(4)
      ALGBRC(37) =  0.0500000*ALGBRC(15)
      ALGBRC(39) =  1.00000+ALGBRC(28)/17.0000 ** 2.00000*(1.00000+ALGBRC(34)/26.0000+ALGBRC(37)/1.00000)
      ALGBRC(41) =  20.0000*(ALGBRC(31)/ALGBRC(39))
      ALGBRC(43) =  CONSTS(39)*ALGBRC(41)*(STATES(6) - CONSTS(33))
      ALGBRC(6) =  0.300000*STATES(2)
      ALGBRC(51) = STATES(4) ** 2.00000/ALGBRC(15)
      ALGBRC(60) = ( ALGBRC(51)*STATES(3)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(21)*CONSTS(15)*CONSTS(14))
      ALGBRC(61) = ALGBRC(60)
      ALGBRC(72) = ( ALGBRC(51)*STATES(3)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(21)*CONSTS(22)*CONSTS(15)*CONSTS(14)*CONSTS(17)*CONSTS(16)*CONSTS(18))
      ALGBRC(62) = ( ALGBRC(51)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(21)*CONSTS(22)*CONSTS(14)*CONSTS(16)*CONSTS(18))
      ALGBRC(55) = ( ALGBRC(51)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(21)*CONSTS(14))
      ALGBRC(46) = ( STATES(3)*ALGBRC(6) ** 2.00000*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(21)*CONSTS(22)*CONSTS(15)*CONSTS(17)*CONSTS(18))
      ALGBRC(13) = ( STATES(3)*ALGBRC(6) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(21)*CONSTS(15))
      ALGBRC(27) =  ALGBRC(6)*ALGBRC(15) ** 2.00000/( 1.00000*CONSTS(18)*CONSTS(21)*CONSTS(22))
      ALGBRC(11) = ALGBRC(6) ** 2.00000/( 1.00000*CONSTS(21))
      ALGBRC(12) = CONSTS(54)+ALGBRC(11)
      ALGBRC(30) = ALGBRC(12)+ALGBRC(27)
      ALGBRC(33) = ALGBRC(30)
      ALGBRC(36) = ALGBRC(33)
      ALGBRC(44) = ALGBRC(36)+ALGBRC(13)
      ALGBRC(47) = ALGBRC(44)+ALGBRC(46)
      ALGBRC(48) = ALGBRC(47)
      ALGBRC(49) = ALGBRC(48)
      ALGBRC(56) = ALGBRC(49)+ALGBRC(55)
      ALGBRC(63) = ALGBRC(56)+ALGBRC(62)
      ALGBRC(64) = ALGBRC(63)
      ALGBRC(68) = ALGBRC(64)
      ALGBRC(69) = ALGBRC(68)
      ALGBRC(73) = ALGBRC(69)+ALGBRC(72)
      ALGBRC(67) = ( ALGBRC(51)*STATES(3)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(20)*CONSTS(22)*CONSTS(17)*CONSTS(16))
      ALGBRC(54) = ( ALGBRC(51)*STATES(3))/( CONSTS(19)*CONSTS(20))
      ALGBRC(57) = ( ALGBRC(51)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(19)*CONSTS(22)*CONSTS(16))
      ALGBRC(52) = ALGBRC(51)/CONSTS(19)
      ALGBRC(24) = ( STATES(3)*ALGBRC(15) ** 2.00000)/( 1.00000*CONSTS(20)*CONSTS(22)*CONSTS(17))
      ALGBRC(10) = STATES(3)/CONSTS(20)
      ALGBRC(16) = ALGBRC(15) ** 2.00000/( 1.00000*CONSTS(22))
      ALGBRC(19) = CONSTS(53)+ALGBRC(16)
      ALGBRC(22) = ALGBRC(19)+ALGBRC(11)
      ALGBRC(38) = ALGBRC(22)+ALGBRC(27)
      ALGBRC(40) = ALGBRC(38)+ALGBRC(10)
      ALGBRC(42) = ALGBRC(40)+ALGBRC(24)
      ALGBRC(45) = ALGBRC(42)+ALGBRC(13)
      ALGBRC(50) = ALGBRC(45)+ALGBRC(46)
      ALGBRC(53) = ALGBRC(50)+ALGBRC(52)
      ALGBRC(58) = ALGBRC(53)+ALGBRC(57)
      ALGBRC(59) = ALGBRC(58)+ALGBRC(55)
      ALGBRC(65) = ALGBRC(59)+ALGBRC(62)
      ALGBRC(66) = ALGBRC(65)+ALGBRC(54)
      ALGBRC(70) = ALGBRC(66)+ALGBRC(67)
      ALGBRC(71) = ALGBRC(70)+ALGBRC(60)
      ALGBRC(74) = ALGBRC(71)+ALGBRC(72)
      ALGBRC(75) = ( CONSTS(12)*CONSTS(13)*ALGBRC(73)+ CONSTS(13)*ALGBRC(61))/ALGBRC(74)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END