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 64 entries in the algebraic variable array.
C There are a total of 19 entries in each of the rate and state variable arrays.
C There are a total of 73 entries in the constant variable array.
C
C
C VOI is t in component environment (ms).
C CONSTS(1) is R in component environment (mJ_per_mole_kelvin).
C CONSTS(2) is T in component environment (kelvin).
C CONSTS(3) is F in component environment (coulomb_per_mole).
C CONSTS(65) is V_tau in component environment (mV).
C CONSTS(4) is Ca_o in component environment (mM).
C CONSTS(5) is Na_o in component environment (mM).
C CONSTS(6) is K_o in component environment (mM).
C CONSTS(7) is dia in component environment (cm).
C CONSTS(62) is vol_cyt in component environment (pl).
C CONSTS(58) is vol_pmu in component environment (pl).
C CONSTS(8) is fr_cyt in component environment (dimensionless).
C ALGBRC(1) is V in component Membrane (mV).
C ALGBRC(2) is VD in component Membrane (dimensionless).
C CONSTS(9) is C_sp in component Membrane (pF_per_sqcm).
C STATES(1) is Ca_i in component Cytosol (mM).
C STATES(2) is Na_i in component Cytosol (mM).
C STATES(3) is K_i in component Cytosol (mM).
C CONSTS(69) is anoff in component Membrane (mM).
C ALGBRC(4) is V_Ca in component Membrane (dimensionless).
C ALGBRC(6) is V_Na in component Membrane (dimensionless).
C ALGBRC(8) is V_K in component Membrane (dimensionless).
C CONSTS(67) is A_pmu in component Membrane (sqcm).
C CONSTS(64) is SVR_pmu in component Membrane (per_cm).
C CONSTS(10) is svr in component Membrane (dimensionless).
C CONSTS(70) is C_m in component Membrane (pF).
C CONSTS(11) is atp in component Cytosol (mM).
C ALGBRC(64) is J_Ca in component calcium_dynamics (mM_per_ms).
C ALGBRC(63) is J_Na in component sodium_dynamics (mM_per_ms).
C ALGBRC(46) is J_K in component potassium_dynamics (mM_per_ms).
C ALGBRC(62) is J_ca in component calcium_dynamics (mM_per_ms).
C ALGBRC(21) is I_CaL in component L_type_Ca_channel (pA).
C ALGBRC(22) is I_CaT in component T_type_Ca_channel (pA).
C ALGBRC(23) is I_CaHVA in component HVA_Ca_channel (pA).
C ALGBRC(50) is I_pmca in component PMCA (pA).
C ALGBRC(60) is I_xm in component Membrane_NaCa (pA).
C ALGBRC(17) is J_calb in component calcium_buffer_dynamics (mM_per_ms).
C ALGBRC(19) is J_cam in component calcium_buffer_dynamics (mM_per_ms).
C ALGBRC(25) is I_Na in component transient_Na_channel (pA).
C ALGBRC(26) is I_Nalk in component Leak_Na_channel (pA).
C ALGBRC(27) is I_NaHCN in component HCN_channel (pA).
C ALGBRC(43) is I_nk in component sodium_pump (pA).
C ALGBRC(37) is I_K in component potassium_dynamics (pA).
C ALGBRC(30) is I_Ksk in component SK_K_channel (pA).
C ALGBRC(32) is I_Kdr in component DR_K_channel (pA).
C ALGBRC(34) is I_Ka in component Atype_K_channel (pA).
C ALGBRC(36) is I_Kir in component IR_K_channel (pA).
C ALGBRC(28) is I_KHCN in component HCN_channel (pA).
C STATES(4) is Calb in component calcium_buffer_dynamics (mM).
C STATES(5) is Cam in component calcium_buffer_dynamics (mM).
C CONSTS(12) is Calbtot in component calcium_buffer_dynamics (mM).
C CONSTS(13) is Camtot in component calcium_buffer_dynamics (mM).
C ALGBRC(16) is CaCalb in component calcium_buffer_dynamics (mM).
C ALGBRC(18) is CaCam in component calcium_buffer_dynamics (mM).
C CONSTS(14) is kcal_1 in component calcium_buffer_dynamics (per_mM_ms).
C CONSTS(15) is kcal_2 in component calcium_buffer_dynamics (per_ms).
C ALGBRC(10) is kcam_cb in component calcium_buffer_dynamics (per_ms).
C CONSTS(16) is kcam_cd in component calcium_buffer_dynamics (per_ms).
C ALGBRC(12) is kcam_nb in component calcium_buffer_dynamics (per_ms).
C CONSTS(17) is kcam_nd in component calcium_buffer_dynamics (per_ms).
C ALGBRC(14) is alpha_cam in component calcium_buffer_dynamics (per_ms).
C ALGBRC(15) is beta_cam in component calcium_buffer_dynamics (per_ms).
C STATES(6) is m_cal in component L_type_Ca_channel (dimensionless).
C ALGBRC(20) is h_cal in component L_type_Ca_channel (dimensionless).
C CONSTS(18) is g_cal in component L_type_Ca_channel (pA_per_mM).
C STATES(7) is m_cat in component T_type_Ca_channel (dimensionless).
C STATES(8) is h_cat in component T_type_Ca_channel (dimensionless).
C CONSTS(19) is g_cat in component T_type_Ca_channel (pA_per_mM).
C STATES(9) is m_cah in component HVA_Ca_channel (dimensionless).
C STATES(10) is h_cah in component HVA_Ca_channel (dimensionless).
C CONSTS(20) is g_cah in component HVA_Ca_channel (pA_per_mM).
C CONSTS(21) is g_na in component transient_Na_channel (pA_per_mM).
C ALGBRC(24) is O_na in component transient_Na_channel (dimensionless).
C STATES(11) is m_na in component transient_Na_channel (dimensionless).
C STATES(12) is h_na in component transient_Na_channel (dimensionless).
C CONSTS(22) is A_mna in component transient_Na_channel (per_ms).
C CONSTS(23) is B_mna in component transient_Na_channel (per_ms).
C CONSTS(24) is A_hna in component transient_Na_channel (per_ms).
C CONSTS(25) is B_hna in component transient_Na_channel (per_ms).
C CONSTS(26) is za_mna in component transient_Na_channel (dimensionless).
C CONSTS(27) is zb_mna in component transient_Na_channel (dimensionless).
C CONSTS(28) is za_hna in component transient_Na_channel (dimensionless).
C CONSTS(29) is zb_hna in component transient_Na_channel (dimensionless).
C CONSTS(30) is g_nalk in component Leak_Na_channel (pA_per_mM).
C CONSTS(31) is g_nahcn in component HCN_channel (pA_per_mM).
C STATES(13) is O_hcn in component HCN_channel (dimensionless).
C CONSTS(32) is g_khcn in component HCN_channel (pA_per_mM).
C ALGBRC(9) is kf_hcn in component HCN_channel (per_ms).
C ALGBRC(13) is kr_hcn in component HCN_channel (per_ms).
C ALGBRC(3) is kf_free in component HCN_channel (per_ms).
C ALGBRC(5) is kr_free in component HCN_channel (per_ms).
C ALGBRC(7) is kf_bnd in component HCN_channel (per_ms).
C ALGBRC(11) is kr_bnd in component HCN_channel (per_ms).
C CONSTS(68) is P_c in component HCN_channel (dimensionless).
C CONSTS(71) is P_o in component HCN_channel (dimensionless).
C CONSTS(33) is cAMP in component HCN_channel (mM).
C ALGBRC(29) is O_sk in component SK_K_channel (dimensionless).
C CONSTS(34) is g_ksk in component SK_K_channel (pA_per_mM).
C ALGBRC(31) is O_kdr in component DR_K_channel (dimensionless).
C STATES(14) is m_kdr in component DR_K_channel (dimensionless).
C CONSTS(35) is g_kdr in component DR_K_channel (pA_per_mV).
C ALGBRC(33) is O_ka in component Atype_K_channel (dimensionless).
C STATES(15) is p_ka in component Atype_K_channel (dimensionless).
C STATES(16) is q_ka in component Atype_K_channel (dimensionless).
C CONSTS(36) is g_ka in component Atype_K_channel (pA_per_mV).
C ALGBRC(35) is O_kir in component IR_K_channel (dimensionless).
C CONSTS(37) is g_kir in component IR_K_channel (pA_per_mV).
C ALGBRC(38) is Na_eff in component sodium_pump (mM).
C STATES(17) is y_nk in component sodium_pump (dimensionless).
C ALGBRC(41) is alpha_nk in component sodium_pump (per_ms).
C ALGBRC(47) is beta_nk in component sodium_pump (per_ms).
C ALGBRC(39) is P_E1Snk in component sodium_pump (dimensionless).
C ALGBRC(42) is P_E2Snk in component sodium_pump (dimensionless).
C ALGBRC(40) is P_E1Dnk in component sodium_pump (dimensionless).
C ALGBRC(44) is P_E2Dnk in component sodium_pump (dimensionless).
C CONSTS(59) is k_1nk in component sodium_pump (per_ms).
C CONSTS(38) is k_2nk in component sodium_pump (per_ms).
C CONSTS(39) is k_3nk in component sodium_pump (per_ms).
C CONSTS(40) is k_4nk in component sodium_pump (per_ms).
C CONSTS(41) is K_nknai in component sodium_pump (mM).
C CONSTS(42) is K_nknao in component sodium_pump (mM).
C CONSTS(43) is K_nkki in component sodium_pump (mM).
C CONSTS(44) is K_nkko in component sodium_pump (mM).
C CONSTS(45) is k_nk in component sodium_pump (pA).
C STATES(18) is y_pc in component PMCA (dimensionless).
C ALGBRC(45) is K_pmca in component PMCA (pA).
C CONSTS(60) is k_1pc in component PMCA (per_ms).
C CONSTS(46) is k_2pc in component PMCA (per_ms).
C CONSTS(47) is k_3pc in component PMCA (per_ms).
C CONSTS(48) is k_4pc in component PMCA (per_ms).
C ALGBRC(49) is P_E1Spc in component PMCA (dimensionless).
C CONSTS(61) is P_E2Spc in component PMCA (dimensionless).
C ALGBRC(51) is P_E1pc in component PMCA (dimensionless).
C CONSTS(63) is P_E2pc in component PMCA (dimensionless).
C ALGBRC(53) is alpha_pc in component PMCA (per_ms).
C CONSTS(66) is beta_pc in component PMCA (per_ms).
C ALGBRC(48) is K_pci in component PMCA (mM).
C CONSTS(49) is K_pco in component PMCA (mM).
C CONSTS(50) is k_pmca in component PMCA (dimensionless).
C CONSTS(73) is P_E2Dxm in component Membrane_NaCa (dimensionless).
C ALGBRC(54) is P_E1Dxm in component Membrane_NaCa (dimensionless).
C ALGBRC(52) is P_E1Sxm in component Membrane_NaCa (dimensionless).
C CONSTS(72) is P_E2Sxm in component Membrane_NaCa (dimensionless).
C ALGBRC(55) is k_1xm in component Membrane_NaCa (per_ms).
C ALGBRC(56) is k_2xm in component Membrane_NaCa (per_ms).
C ALGBRC(57) is k_3xm in component Membrane_NaCa (per_ms).
C ALGBRC(59) is k_4xm in component Membrane_NaCa (per_ms).
C ALGBRC(61) is beta_xm in component Membrane_NaCa (per_ms).
C ALGBRC(58) is alpha_xm in component Membrane_NaCa (per_ms).
C CONSTS(51) is K_xmnai in component Membrane_NaCa (mM).
C CONSTS(52) is K_xmnao in component Membrane_NaCa (mM).
C CONSTS(53) is K_xmcai in component Membrane_NaCa (mM).
C CONSTS(54) is K_xmcao in component Membrane_NaCa (mM).
C CONSTS(55) is delta_xmca in component Membrane_NaCa (dimensionless).
C CONSTS(56) is delta_xmna in component Membrane_NaCa (dimensionless).
C STATES(19) is y_xm in component Membrane_NaCa (dimensionless).
C CONSTS(57) is k_xm in component Membrane_NaCa (pA_ms).
C RATES(1) is d/dt Ca_i in component Cytosol (mM).
C RATES(2) is d/dt Na_i in component Cytosol (mM).
C RATES(3) is d/dt K_i in component Cytosol (mM).
C RATES(4) is d/dt Calb in component calcium_buffer_dynamics (mM).
C RATES(5) is d/dt Cam in component calcium_buffer_dynamics (mM).
C RATES(6) is d/dt m_cal in component L_type_Ca_channel (dimensionless).
C RATES(7) is d/dt m_cat in component T_type_Ca_channel (dimensionless).
C RATES(8) is d/dt h_cat in component T_type_Ca_channel (dimensionless).
C RATES(9) is d/dt m_cah in component HVA_Ca_channel (dimensionless).
C RATES(10) is d/dt h_cah in component HVA_Ca_channel (dimensionless).
C RATES(11) is d/dt m_na in component transient_Na_channel (dimensionless).
C RATES(12) is d/dt h_na in component transient_Na_channel (dimensionless).
C RATES(13) is d/dt O_hcn in component HCN_channel (dimensionless).
C RATES(14) is d/dt m_kdr in component DR_K_channel (dimensionless).
C RATES(15) is d/dt p_ka in component Atype_K_channel (dimensionless).
C RATES(16) is d/dt q_ka in component Atype_K_channel (dimensionless).
C RATES(17) is d/dt y_nk in component sodium_pump (dimensionless).
C RATES(18) is d/dt y_pc in component PMCA (dimensionless).
C RATES(19) is d/dt y_xm in component Membrane_NaCa (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 8314.472
      CONSTS(2) = 310.15
      CONSTS(3) = 96485.30929
      CONSTS(4) = 1.8
      CONSTS(5) = 137
      CONSTS(6) = 5.4
      CONSTS(7) = 30e-4
      CONSTS(8) = 1
      CONSTS(9) = 0.9e6
      STATES(1) = 0.00015
      STATES(2) = 6
      STATES(3) = 140
      CONSTS(10) = 6
      CONSTS(11) = 2
      STATES(4) = 0.0011
      STATES(5) = 0.0487
      CONSTS(12) = 0.002
      CONSTS(13) = 0.0489
      CONSTS(14) = 10
      CONSTS(15) = 2e-3
      CONSTS(16) = 0.003
      CONSTS(17) = 3
      STATES(6) = 0.0004
      CONSTS(18) = 1158.2
      STATES(7) = 0.1099
      STATES(8) = 0.5716
      CONSTS(19) = 10
      STATES(9) = 0.3021
      STATES(10) = 0.454
      CONSTS(20) = 78.5
      CONSTS(21) = 395.14
      STATES(11) = 0.0758
      STATES(12) = 0.2272
      CONSTS(22) = 1.9651
      CONSTS(23) = 0.0424
      CONSTS(24) = 9.566e-5
      CONSTS(25) = 0.5296
      CONSTS(26) = 1.7127
      CONSTS(27) = 1.5581
      CONSTS(28) = -2.4317
      CONSTS(29) = -1.1868
      CONSTS(30) = 0.0039
      CONSTS(31) = 3
      STATES(13) = 0
      CONSTS(32) = 10
      CONSTS(33) = 1e-5
      CONSTS(34) = 15
      STATES(14) = 0.0043
      CONSTS(35) = 10
      STATES(15) = 0.2577
      STATES(16) = 0.827
      CONSTS(36) = 0.2234
      CONSTS(37) = 5
      STATES(17) = 0.555
      CONSTS(38) = 0.04
      CONSTS(39) = 0.01
      CONSTS(40) = 0.165
      CONSTS(41) = 4.05
      CONSTS(42) = 69.8
      CONSTS(43) = 32.88
      CONSTS(44) = 0.258
      CONSTS(45) = 200
      STATES(18) = 0.001
      CONSTS(46) = 0.001
      CONSTS(47) = 0.001
      CONSTS(48) = 1
      CONSTS(49) = 2
      CONSTS(50) = 10
      CONSTS(51) = 8.75
      CONSTS(52) = 87.5
      CONSTS(53) = 0.00138
      CONSTS(54) = 1.38
      CONSTS(55) = 0.68
      CONSTS(56) = 0.32
      STATES(19) = 0.343
      CONSTS(57) = 25
      CONSTS(58) = ( ((  3.14159265358979*CONSTS(7) ** 3.00000)/6.00000)*1.00000e+09)/( 1.00000*1.00000*1.00000)
      CONSTS(59) = 0.370000/(1.00000+0.0940000/CONSTS(11))
      CONSTS(60) = 1.00000/(1.00000+0.100000/CONSTS(11))
      CONSTS(61) = 1.00000/(1.00000+CONSTS(49)/CONSTS(4))
      CONSTS(62) =  CONSTS(8)*CONSTS(58)
      CONSTS(63) = 1.00000 - CONSTS(61)
      CONSTS(64) = CONSTS(10)/CONSTS(7)
      CONSTS(65) = ( CONSTS(1)*CONSTS(2))/CONSTS(3)
      CONSTS(66) =  CONSTS(46)*CONSTS(61)+ CONSTS(48)*CONSTS(63)
      CONSTS(67) = ( CONSTS(64)*CONSTS(58)*0.00100000*0.00100000*0.00100000)/1.00000
      CONSTS(68) = 1.00000/(1.00000+CONSTS(33)/0.00116300)
      CONSTS(69) = ((( - 52.3100*CONSTS(9)*CONSTS(67))/( CONSTS(3)*CONSTS(62)) -  2.00000*(0.000150000 - CONSTS(4))) - (6.00000 - CONSTS(5))) - (140.000 - CONSTS(6))
      CONSTS(70) =  CONSTS(9)*CONSTS(67)
      CONSTS(71) = 1.00000/(1.00000+CONSTS(33)/1.45000e-05)
      CONSTS(72) = 1.00000/(1.00000+ (CONSTS(54)/CONSTS(4))*(1.00000+CONSTS(5)/CONSTS(52) ** 3.00000))
      CONSTS(73) = 1.00000/(1.00000+ CONSTS(52)/CONSTS(5) ** 3.00000*(1.00000+CONSTS(4)/CONSTS(54)))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) =  (( CONSTS(3)*CONSTS(62))/( CONSTS(9)*CONSTS(67)))*((((STATES(3) - CONSTS(6))+ 2.00000*(STATES(1) - CONSTS(4))+STATES(2)) - CONSTS(5))+CONSTS(69))
      RATES(6) = (1.00000/(1.00000+EXP(- (ALGBRC(1)+15.0000)/7.00000)) - STATES(6))/( 10.0000*EXP(- (ALGBRC(1)+86.4000)/23.2000 ** 2.00000)+0.943000)
      RATES(7) = (1.00000/(1.00000+EXP(- (ALGBRC(1)+63.0000)/1.50000)) - STATES(7))/( 65.0000*EXP(- (ALGBRC(1)+68.0000)/6.00000 ** 2.00000)+12.0000)
      RATES(8) = (1.00000/(1.00000+EXP((ALGBRC(1)+76.2000)/3.00000)) - STATES(8))/( 50.0000*EXP(- (ALGBRC(1)+72.0000)/10.0000 ** 2.00000)+10.0000)
      RATES(9) = (1.00000/(1.00000+EXP(- (ALGBRC(1)+10.0000)/10.0000)) - STATES(9))/( 0.100000*EXP(- (ALGBRC(1)+62.0000)/13.0000 ** 2.00000)+0.0500000)
      RATES(10) = (1.00000/(1.00000+EXP((ALGBRC(1)+48.0000)/5.00000)) - STATES(10))/( 0.500000*EXP(- (ALGBRC(1)+55.6000)/18.0000 ** 2.00000)+0.500000)
      RATES(14) = (1.00000/(1.00000+EXP(- (ALGBRC(1)+25.0000)/12.0000)) - STATES(14))/(18.0000/(1.00000+EXP((ALGBRC(1)+39.0000)/8.00000))+1.00000)
      RATES(15) = (1.00000/(1.00000+EXP(- (ALGBRC(1)+43.0000)/24.0000)) - STATES(15))/( 2.00000*EXP(- (ALGBRC(1)+50.0000)/23.4500 ** 2.00000)+1.10000)
      RATES(16) = (1.00000/(1.00000+EXP((ALGBRC(1)+56.0000)/8.00000)) - STATES(16))/20.0000
      ALGBRC(2) = ALGBRC(1)/CONSTS(65)
      RATES(11) =  CONSTS(22)*EXP( CONSTS(26)*ALGBRC(2))*(1.00000 - STATES(11)) -  CONSTS(23)*EXP( - CONSTS(27)*ALGBRC(2))*STATES(11)
      RATES(12) =  CONSTS(24)*EXP( CONSTS(28)*ALGBRC(2))*(1.00000 - STATES(12)) -  CONSTS(25)*EXP( - CONSTS(29)*ALGBRC(2))*STATES(12)
      ALGBRC(3) = 0.00600000/(1.00000+EXP((ALGBRC(1)+87.7000)/6.45000))
      ALGBRC(7) = 0.0268000/(1.00000+EXP((ALGBRC(1)+94.2000)/13.3000))
      ALGBRC(9) =  ALGBRC(3)*CONSTS(68)+ ALGBRC(7)*(1.00000 - CONSTS(68))
      ALGBRC(5) = 0.0800000/(1.00000+EXP(- (ALGBRC(1)+51.7000)/7.00000))
      ALGBRC(11) = 0.0800000/(1.00000+EXP(- (ALGBRC(1)+35.5000)/7.00000))
      ALGBRC(13) =  ALGBRC(5)*CONSTS(71)+ ALGBRC(11)*(1.00000 - CONSTS(71))
      RATES(13) =  ALGBRC(9)*(1.00000 - STATES(13)) -  ALGBRC(13)*STATES(13)
      ALGBRC(16) = CONSTS(12) - STATES(4)
      ALGBRC(17) =  CONSTS(14)*STATES(4)*STATES(1) -  CONSTS(15)*ALGBRC(16)
      RATES(4) = - ALGBRC(17)
      ALGBRC(18) = CONSTS(13) - STATES(5)
      ALGBRC(10) =  12000.0*STATES(1) ** 2.00000
      ALGBRC(12) =  3.70000e+06*STATES(1) ** 2.00000
      ALGBRC(14) =  ALGBRC(10)*ALGBRC(12)*(1.00000/(ALGBRC(10)+CONSTS(17))+1.00000/(CONSTS(16)+CONSTS(17)))
      ALGBRC(15) =  CONSTS(16)*CONSTS(17)*(1.00000/(ALGBRC(10)+CONSTS(17))+1.00000/(CONSTS(16)+CONSTS(17)))
      ALGBRC(19) =  ALGBRC(14)*STATES(5) -  ALGBRC(15)*ALGBRC(18)
      RATES(5) = - ALGBRC(19)
      ALGBRC(39) = 1.00000/(1.00000+ (CONSTS(41)/STATES(2))*(1.00000+STATES(3)/CONSTS(43)))
      ALGBRC(38) =  CONSTS(5)*EXP( - 0.820000*ALGBRC(2))
      ALGBRC(42) = 1.00000/(1.00000+ (CONSTS(42)/ALGBRC(38))*(1.00000+CONSTS(6)/CONSTS(44)))
      ALGBRC(43) =  CONSTS(45)*( CONSTS(59)*ALGBRC(39)*STATES(17) -  CONSTS(38)*ALGBRC(42)*(1.00000 - STATES(17)))*1.00000
      ALGBRC(8) = log(CONSTS(6)/STATES(3))
      ALGBRC(29) = STATES(1) ** 4.20000/(0.000350000 ** 4.20000+STATES(1) ** 4.20000)
      ALGBRC(30) = ( CONSTS(34)*ALGBRC(29)* ( STATES(3)*CONSTS(6)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(8))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(31) = STATES(14) ** 3.00000
      ALGBRC(32) =  CONSTS(35)*ALGBRC(31)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(33) =  STATES(15) ** 3.00000*STATES(16)
      ALGBRC(34) =  CONSTS(36)*ALGBRC(33)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(35) = 1.00000/(1.00000+EXP((ALGBRC(1)+90.0000)/12.1000))
      ALGBRC(36) =  CONSTS(37)*ALGBRC(35)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(28) = ( CONSTS(32)*STATES(13)* ( STATES(3)*CONSTS(6)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(8))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(37) = ALGBRC(30)+ALGBRC(28)+ALGBRC(34)+ALGBRC(32)+ALGBRC(36)
      ALGBRC(46) =  (- 1.00000/( CONSTS(3)*CONSTS(62)))*(ALGBRC(37) -  2.00000*ALGBRC(43))
      RATES(3) = ALGBRC(46)
      ALGBRC(40) = 1.00000/(1.00000+ (CONSTS(43)/STATES(3))*(1.00000+STATES(2)/CONSTS(41)))
      ALGBRC(41) =  CONSTS(59)*ALGBRC(39)+ CONSTS(39)*ALGBRC(40)
      ALGBRC(44) = 1.00000/(1.00000+ (CONSTS(44)/CONSTS(6))*(1.00000+ALGBRC(38)/CONSTS(42)))
      ALGBRC(47) =  CONSTS(38)*ALGBRC(42)+ CONSTS(40)*ALGBRC(44)
      RATES(17) =  ALGBRC(47)*(1.00000 - STATES(17)) -  ALGBRC(41)*STATES(17)
      ALGBRC(48) =  (173.600/(1.00000+ALGBRC(18)/5.00000e-05)+6.40000)*1.00000e-05
      ALGBRC(49) = 1.00000/(1.00000+ALGBRC(48)/STATES(1))
      ALGBRC(51) = 1.00000 - ALGBRC(49)
      ALGBRC(53) =  CONSTS(60)*ALGBRC(49)+ CONSTS(47)*ALGBRC(51)
      RATES(18) =  CONSTS(66)*(1.00000 - STATES(18)) -  ALGBRC(53)*STATES(18)
      ALGBRC(56) =  1.00000*EXP( (1.00000 - CONSTS(55))*ALGBRC(2))
      ALGBRC(59) =  1.00000*EXP( - CONSTS(56)*ALGBRC(2))
      ALGBRC(61) =  ALGBRC(56)*CONSTS(72)+ ALGBRC(59)*CONSTS(73)
      ALGBRC(54) = 1.00000/(1.00000+ CONSTS(51)/STATES(2) ** 3.00000*(1.00000+STATES(1)/CONSTS(53)))
      ALGBRC(52) = 1.00000/(1.00000+ (CONSTS(53)/STATES(1))*(1.00000+STATES(2)/CONSTS(51) ** 3.00000))
      ALGBRC(55) =  1.00000*EXP( - CONSTS(55)*ALGBRC(2))
      ALGBRC(57) =  1.00000*EXP( (1.00000 - CONSTS(56))*ALGBRC(2))
      ALGBRC(58) =  ALGBRC(55)*ALGBRC(52)+ ALGBRC(57)*ALGBRC(54)
      RATES(19) =  ALGBRC(61)*(1.00000 - STATES(19)) -  ALGBRC(58)*STATES(19)
      ALGBRC(60) =  CONSTS(57)*( ALGBRC(57)*ALGBRC(54)*STATES(19) -  ALGBRC(59)*CONSTS(73)*(1.00000 - STATES(19)))
      ALGBRC(6) = log(CONSTS(5)/STATES(2))
      ALGBRC(24) =  STATES(11) ** 3.00000*STATES(12)
      ALGBRC(25) = ( CONSTS(21)*ALGBRC(24)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(26) = ( CONSTS(30)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(27) = ( CONSTS(31)*STATES(13)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(63) =  (- 1.00000/( CONSTS(3)*CONSTS(62)))*( 3.00000*ALGBRC(43)+ 3.00000*ALGBRC(60)+ALGBRC(25)+ALGBRC(26)+ALGBRC(27))
      RATES(2) = ALGBRC(63)
      ALGBRC(4) =  0.500000*log(CONSTS(4)/STATES(1))
      ALGBRC(20) = 0.000450000/(0.000450000+STATES(1))
      ALGBRC(21) = ( CONSTS(18)*STATES(6)*ALGBRC(20)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(22) = ( CONSTS(19)*STATES(7)*STATES(8)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(23) = ( CONSTS(20)*STATES(9)*STATES(10)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(45) =  CONSTS(50)*(( 10.5600*ALGBRC(18))/(ALGBRC(18)+5.00000e-05)+1.20000)
      ALGBRC(50) =  ALGBRC(45)*( CONSTS(60)*ALGBRC(49)*STATES(18) -  CONSTS(46)*CONSTS(61)*(1.00000 - STATES(18)))*1.00000
      ALGBRC(62) =  (- 1.00000/( 2.00000*CONSTS(3)*CONSTS(62)))*((ALGBRC(21)+ALGBRC(22)+ALGBRC(23)+ 2.00000*ALGBRC(50)) -  2.00000*ALGBRC(60))
      ALGBRC(64) = ALGBRC(62) - (ALGBRC(17)+ 4.00000*ALGBRC(19))
      RATES(1) = ALGBRC(64)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) =  (( CONSTS(3)*CONSTS(62))/( CONSTS(9)*CONSTS(67)))*((((STATES(3) - CONSTS(6))+ 2.00000*(STATES(1) - CONSTS(4))+STATES(2)) - CONSTS(5))+CONSTS(69))
      ALGBRC(2) = ALGBRC(1)/CONSTS(65)
      ALGBRC(3) = 0.00600000/(1.00000+EXP((ALGBRC(1)+87.7000)/6.45000))
      ALGBRC(7) = 0.0268000/(1.00000+EXP((ALGBRC(1)+94.2000)/13.3000))
      ALGBRC(9) =  ALGBRC(3)*CONSTS(68)+ ALGBRC(7)*(1.00000 - CONSTS(68))
      ALGBRC(5) = 0.0800000/(1.00000+EXP(- (ALGBRC(1)+51.7000)/7.00000))
      ALGBRC(11) = 0.0800000/(1.00000+EXP(- (ALGBRC(1)+35.5000)/7.00000))
      ALGBRC(13) =  ALGBRC(5)*CONSTS(71)+ ALGBRC(11)*(1.00000 - CONSTS(71))
      ALGBRC(16) = CONSTS(12) - STATES(4)
      ALGBRC(17) =  CONSTS(14)*STATES(4)*STATES(1) -  CONSTS(15)*ALGBRC(16)
      ALGBRC(18) = CONSTS(13) - STATES(5)
      ALGBRC(10) =  12000.0*STATES(1) ** 2.00000
      ALGBRC(12) =  3.70000e+06*STATES(1) ** 2.00000
      ALGBRC(14) =  ALGBRC(10)*ALGBRC(12)*(1.00000/(ALGBRC(10)+CONSTS(17))+1.00000/(CONSTS(16)+CONSTS(17)))
      ALGBRC(15) =  CONSTS(16)*CONSTS(17)*(1.00000/(ALGBRC(10)+CONSTS(17))+1.00000/(CONSTS(16)+CONSTS(17)))
      ALGBRC(19) =  ALGBRC(14)*STATES(5) -  ALGBRC(15)*ALGBRC(18)
      ALGBRC(39) = 1.00000/(1.00000+ (CONSTS(41)/STATES(2))*(1.00000+STATES(3)/CONSTS(43)))
      ALGBRC(38) =  CONSTS(5)*EXP( - 0.820000*ALGBRC(2))
      ALGBRC(42) = 1.00000/(1.00000+ (CONSTS(42)/ALGBRC(38))*(1.00000+CONSTS(6)/CONSTS(44)))
      ALGBRC(43) =  CONSTS(45)*( CONSTS(59)*ALGBRC(39)*STATES(17) -  CONSTS(38)*ALGBRC(42)*(1.00000 - STATES(17)))*1.00000
      ALGBRC(8) = log(CONSTS(6)/STATES(3))
      ALGBRC(29) = STATES(1) ** 4.20000/(0.000350000 ** 4.20000+STATES(1) ** 4.20000)
      ALGBRC(30) = ( CONSTS(34)*ALGBRC(29)* ( STATES(3)*CONSTS(6)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(8))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(31) = STATES(14) ** 3.00000
      ALGBRC(32) =  CONSTS(35)*ALGBRC(31)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(33) =  STATES(15) ** 3.00000*STATES(16)
      ALGBRC(34) =  CONSTS(36)*ALGBRC(33)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(35) = 1.00000/(1.00000+EXP((ALGBRC(1)+90.0000)/12.1000))
      ALGBRC(36) =  CONSTS(37)*ALGBRC(35)*(ALGBRC(1) -  ALGBRC(8)*CONSTS(65))
      ALGBRC(28) = ( CONSTS(32)*STATES(13)* ( STATES(3)*CONSTS(6)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(8))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(37) = ALGBRC(30)+ALGBRC(28)+ALGBRC(34)+ALGBRC(32)+ALGBRC(36)
      ALGBRC(46) =  (- 1.00000/( CONSTS(3)*CONSTS(62)))*(ALGBRC(37) -  2.00000*ALGBRC(43))
      ALGBRC(40) = 1.00000/(1.00000+ (CONSTS(43)/STATES(3))*(1.00000+STATES(2)/CONSTS(41)))
      ALGBRC(41) =  CONSTS(59)*ALGBRC(39)+ CONSTS(39)*ALGBRC(40)
      ALGBRC(44) = 1.00000/(1.00000+ (CONSTS(44)/CONSTS(6))*(1.00000+ALGBRC(38)/CONSTS(42)))
      ALGBRC(47) =  CONSTS(38)*ALGBRC(42)+ CONSTS(40)*ALGBRC(44)
      ALGBRC(48) =  (173.600/(1.00000+ALGBRC(18)/5.00000e-05)+6.40000)*1.00000e-05
      ALGBRC(49) = 1.00000/(1.00000+ALGBRC(48)/STATES(1))
      ALGBRC(51) = 1.00000 - ALGBRC(49)
      ALGBRC(53) =  CONSTS(60)*ALGBRC(49)+ CONSTS(47)*ALGBRC(51)
      ALGBRC(56) =  1.00000*EXP( (1.00000 - CONSTS(55))*ALGBRC(2))
      ALGBRC(59) =  1.00000*EXP( - CONSTS(56)*ALGBRC(2))
      ALGBRC(61) =  ALGBRC(56)*CONSTS(72)+ ALGBRC(59)*CONSTS(73)
      ALGBRC(54) = 1.00000/(1.00000+ CONSTS(51)/STATES(2) ** 3.00000*(1.00000+STATES(1)/CONSTS(53)))
      ALGBRC(52) = 1.00000/(1.00000+ (CONSTS(53)/STATES(1))*(1.00000+STATES(2)/CONSTS(51) ** 3.00000))
      ALGBRC(55) =  1.00000*EXP( - CONSTS(55)*ALGBRC(2))
      ALGBRC(57) =  1.00000*EXP( (1.00000 - CONSTS(56))*ALGBRC(2))
      ALGBRC(58) =  ALGBRC(55)*ALGBRC(52)+ ALGBRC(57)*ALGBRC(54)
      ALGBRC(60) =  CONSTS(57)*( ALGBRC(57)*ALGBRC(54)*STATES(19) -  ALGBRC(59)*CONSTS(73)*(1.00000 - STATES(19)))
      ALGBRC(6) = log(CONSTS(5)/STATES(2))
      ALGBRC(24) =  STATES(11) ** 3.00000*STATES(12)
      ALGBRC(25) = ( CONSTS(21)*ALGBRC(24)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(26) = ( CONSTS(30)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(27) = ( CONSTS(31)*STATES(13)* ( STATES(2)*CONSTS(5)) ** (1.0 / 2)* sinh( 0.500000*(ALGBRC(2) - ALGBRC(6))))/( sinh( 0.500000*ALGBRC(2))/( 0.500000*ALGBRC(2)))
      ALGBRC(63) =  (- 1.00000/( CONSTS(3)*CONSTS(62)))*( 3.00000*ALGBRC(43)+ 3.00000*ALGBRC(60)+ALGBRC(25)+ALGBRC(26)+ALGBRC(27))
      ALGBRC(4) =  0.500000*log(CONSTS(4)/STATES(1))
      ALGBRC(20) = 0.000450000/(0.000450000+STATES(1))
      ALGBRC(21) = ( CONSTS(18)*STATES(6)*ALGBRC(20)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(22) = ( CONSTS(19)*STATES(7)*STATES(8)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(23) = ( CONSTS(20)*STATES(9)*STATES(10)* ( STATES(1)*CONSTS(4)) ** (1.0 / 2)* sinh(ALGBRC(2) - ALGBRC(4)))/( sinh(ALGBRC(2))/ALGBRC(2))
      ALGBRC(45) =  CONSTS(50)*(( 10.5600*ALGBRC(18))/(ALGBRC(18)+5.00000e-05)+1.20000)
      ALGBRC(50) =  ALGBRC(45)*( CONSTS(60)*ALGBRC(49)*STATES(18) -  CONSTS(46)*CONSTS(61)*(1.00000 - STATES(18)))*1.00000
      ALGBRC(62) =  (- 1.00000/( 2.00000*CONSTS(3)*CONSTS(62)))*((ALGBRC(21)+ALGBRC(22)+ALGBRC(23)+ 2.00000*ALGBRC(50)) -  2.00000*ALGBRC(60))
      ALGBRC(64) = ALGBRC(62) - (ALGBRC(17)+ 4.00000*ALGBRC(19))
      RETURN
      END