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 68 entries in the algebraic variable array.
C There are a total of 25 entries in each of the rate and state variable arrays.
C There are a total of 42 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is V in component membrane (millivolt).
C CONSTS(1) is R in component membrane (joule_per_mole_kelvin).
C CONSTS(2) is T in component membrane (kelvin).
C CONSTS(3) is F in component membrane (coulomb_per_millimole).
C CONSTS(4) is Cm in component membrane (picoF).
C CONSTS(5) is i_stim in component membrane (picoA_per_picoF).
C ALGBRC(15) is i_Na in component fast_sodium_current (picoA_per_picoF).
C ALGBRC(35) is i_K1 in component time_independent_potassium_current (picoA_per_picoF).
C ALGBRC(42) is i_to in component transient_outward_K_current (picoA_per_picoF).
C ALGBRC(44) is i_Kur_d in component ultrarapid_delayed_rectifier_K_current (picoA_per_picoF).
C ALGBRC(45) is i_Kr in component rapid_delayed_rectifier_K_current (picoA_per_picoF).
C ALGBRC(46) is i_Ks in component slow_delayed_rectifier_K_current (picoA_per_picoF).
C ALGBRC(47) is i_Ca in component sarcolemmal_Ca_current (picoA_per_picoF).
C ALGBRC(49) is i_Cl_Ca in component Ca_activated_Cl_current (picoA_per_picoF).
C ALGBRC(56) is i_p_Ca in component Ca_pump_current (picoA_per_picoF).
C ALGBRC(51) is i_NaK in component sodium_potassium_pump (picoA_per_picoF).
C ALGBRC(52) is i_NaCa in component Na_Ca_exchanger_current (picoA_per_picoF).
C ALGBRC(53) is i_B_Na in component background_currents (picoA_per_picoF).
C ALGBRC(55) is i_B_Ca in component background_currents (picoA_per_picoF).
C ALGBRC(1) is E_Na in component fast_sodium_current (millivolt).
C CONSTS(6) is g_Na in component fast_sodium_current (nanoS_per_picoF).
C STATES(2) is Na_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(7) is Na_o in component standard_ionic_concentrations (millimolar).
C STATES(3) is m in component fast_sodium_current_m_gate (dimensionless).
C STATES(4) is h in component fast_sodium_current_h_gate (dimensionless).
C STATES(5) is j in component fast_sodium_current_j_gate (dimensionless).
C ALGBRC(2) is alpha_m in component fast_sodium_current_m_gate (per_millisecond).
C ALGBRC(16) is beta_m in component fast_sodium_current_m_gate (per_millisecond).
C ALGBRC(3) is alpha_h in component fast_sodium_current_h_gate (per_millisecond).
C ALGBRC(17) is beta_h in component fast_sodium_current_h_gate (per_millisecond).
C ALGBRC(4) is alpha_j in component fast_sodium_current_j_gate (per_millisecond).
C ALGBRC(18) is beta_j in component fast_sodium_current_j_gate (per_millisecond).
C ALGBRC(28) is E_K in component time_independent_potassium_current (millivolt).
C CONSTS(8) is g_K1 in component time_independent_potassium_current (nanoS_per_picoF).
C CONSTS(9) is K_o in component standard_ionic_concentrations (millimolar).
C STATES(6) is K_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(10) is g_to in component transient_outward_K_current (nanoS_per_picoF).
C STATES(7) is oa in component transient_outward_K_current_oa_gate (dimensionless).
C STATES(8) is oi in component transient_outward_K_current_oi_gate (dimensionless).
C ALGBRC(5) is alpha_oa in component transient_outward_K_current_oa_gate (per_millisecond).
C ALGBRC(19) is beta_oa in component transient_outward_K_current_oa_gate (per_millisecond).
C ALGBRC(29) is tau_oa in component transient_outward_K_current_oa_gate (millisecond).
C ALGBRC(36) is oa_infinity in component transient_outward_K_current_oa_gate (dimensionless).
C ALGBRC(6) is alpha_oi in component transient_outward_K_current_oi_gate (per_millisecond).
C ALGBRC(20) is beta_oi in component transient_outward_K_current_oi_gate (per_millisecond).
C ALGBRC(30) is tau_oi in component transient_outward_K_current_oi_gate (millisecond).
C ALGBRC(37) is oi_infinity in component transient_outward_K_current_oi_gate (dimensionless).
C ALGBRC(43) is g_Kur_d in component ultrarapid_delayed_rectifier_K_current (nanoS_per_picoF).
C STATES(9) is ua in component ultrarapid_delayed_rectifier_K_current_ua_gate (dimensionless).
C STATES(10) is ui in component ultrarapid_delayed_rectifier_K_current_ui_gate (dimensionless).
C ALGBRC(7) is alpha_ua in component ultrarapid_delayed_rectifier_K_current_ua_gate (per_millisecond).
C ALGBRC(21) is beta_ua in component ultrarapid_delayed_rectifier_K_current_ua_gate (per_millisecond).
C ALGBRC(31) is tau_ua in component ultrarapid_delayed_rectifier_K_current_ua_gate (millisecond).
C ALGBRC(38) is ua_infinity in component ultrarapid_delayed_rectifier_K_current_ua_gate (dimensionless).
C ALGBRC(8) is alpha_ui in component ultrarapid_delayed_rectifier_K_current_ui_gate (per_millisecond).
C ALGBRC(22) is beta_ui in component ultrarapid_delayed_rectifier_K_current_ui_gate (per_millisecond).
C ALGBRC(32) is tau_ui in component ultrarapid_delayed_rectifier_K_current_ui_gate (millisecond).
C ALGBRC(39) is ui_infinity in component ultrarapid_delayed_rectifier_K_current_ui_gate (dimensionless).
C CONSTS(11) is g_Kr in component rapid_delayed_rectifier_K_current (nanoS_per_picoF).
C STATES(11) is xr in component rapid_delayed_rectifier_K_current_xr_gate (dimensionless).
C ALGBRC(9) is alpha_xr in component rapid_delayed_rectifier_K_current_xr_gate (per_millisecond).
C ALGBRC(23) is beta_xr in component rapid_delayed_rectifier_K_current_xr_gate (per_millisecond).
C ALGBRC(33) is tau_xr in component rapid_delayed_rectifier_K_current_xr_gate (millisecond).
C ALGBRC(40) is xr_infinity in component rapid_delayed_rectifier_K_current_xr_gate (dimensionless).
C CONSTS(12) is g_Ks in component slow_delayed_rectifier_K_current (nanoS_per_picoF).
C STATES(12) is xs in component slow_delayed_rectifier_K_current_xs_gate (dimensionless).
C ALGBRC(10) is alpha_xs in component slow_delayed_rectifier_K_current_xs_gate (per_millisecond).
C ALGBRC(24) is beta_xs in component slow_delayed_rectifier_K_current_xs_gate (per_millisecond).
C ALGBRC(34) is tau_xs in component slow_delayed_rectifier_K_current_xs_gate (millisecond).
C ALGBRC(41) is xs_infinity in component slow_delayed_rectifier_K_current_xs_gate (dimensionless).
C CONSTS(13) is g_Ca in component sarcolemmal_Ca_current (nanoS_per_picoF).
C STATES(13) is Ca_i in component intracellular_ion_concentrations (millimolar).
C STATES(14) is d in component sarcolemmal_Ca_current_d_gate (dimensionless).
C STATES(15) is f in component sarcolemmal_Ca_current_f_gate (dimensionless).
C STATES(16) is f_Ca in component sarcolemmal_Ca_current_f_Ca_gate (dimensionless).
C ALGBRC(11) is d_infinity in component sarcolemmal_Ca_current_d_gate (dimensionless).
C ALGBRC(25) is tau_d in component sarcolemmal_Ca_current_d_gate (millisecond).
C ALGBRC(12) is f_infinity in component sarcolemmal_Ca_current_f_gate (dimensionless).
C ALGBRC(26) is tau_f in component sarcolemmal_Ca_current_f_gate (millisecond).
C ALGBRC(13) is f_Ca_infinity in component sarcolemmal_Ca_current_f_Ca_gate (dimensionless).
C CONSTS(14) is tau_f_Ca in component sarcolemmal_Ca_current_f_Ca_gate (millisecond).
C CONSTS(15) is g_Cl_Ca in component Ca_activated_Cl_current (nanoS_per_picoF).
C ALGBRC(48) is E_Cl in component Ca_activated_Cl_current (millivolt).
C ALGBRC(58) is Fn in component Ca_release_current_from_JSR (dimensionless).
C STATES(17) is Cl_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(16) is Cl_o in component standard_ionic_concentrations (millimolar).
C CONSTS(17) is q_Ca in component Ca_activated_Cl_current_q_Ca_gate (dimensionless).
C ALGBRC(60) is q_Ca_infinity in component Ca_activated_Cl_current_q_Ca_gate (dimensionless).
C CONSTS(18) is Km_Na_i in component sodium_potassium_pump (millimolar).
C CONSTS(19) is Km_K_o in component sodium_potassium_pump (millimolar).
C CONSTS(20) is i_NaK_max in component sodium_potassium_pump (picoA_per_picoF).
C ALGBRC(50) is f_NaK in component sodium_potassium_pump (dimensionless).
C CONSTS(41) is sigma in component sodium_potassium_pump (dimensionless).
C CONSTS(21) is I_NaCa_max in component Na_Ca_exchanger_current (picoA_per_picoF).
C CONSTS(22) is K_mNa in component Na_Ca_exchanger_current (millimolar).
C CONSTS(23) is K_mCa in component Na_Ca_exchanger_current (millimolar).
C CONSTS(24) is K_sat in component Na_Ca_exchanger_current (dimensionless).
C CONSTS(25) is Ca_o in component standard_ionic_concentrations (millimolar).
C CONSTS(26) is g_B_Na in component background_currents (nanoS_per_picoF).
C CONSTS(27) is g_B_Ca in component background_currents (nanoS_per_picoF).
C ALGBRC(54) is E_Ca in component background_currents (millivolt).
C CONSTS(28) is i_p_Ca_max in component Ca_pump_current (picoA_per_picoF).
C ALGBRC(57) is i_rel in component Ca_release_current_from_JSR (picoA_per_picoF).
C CONSTS(29) is K_rel in component Ca_release_current_from_JSR (per_millisecond).
C CONSTS(30) is V_rel in component Ca_release_current_from_JSR (micrometre_3).
C STATES(18) is Ca_rel in component intracellular_ion_concentrations (millimolar).
C STATES(19) is u in component Ca_release_current_from_JSR_u_gate (dimensionless).
C STATES(20) is v in component Ca_release_current_from_JSR_v_gate (dimensionless).
C STATES(21) is w in component Ca_release_current_from_JSR_w_gate (dimensionless).
C CONSTS(42) is tau_u in component Ca_release_current_from_JSR_u_gate (millisecond).
C ALGBRC(61) is u_infinity in component Ca_release_current_from_JSR_u_gate (dimensionless).
C ALGBRC(62) is tau_v in component Ca_release_current_from_JSR_v_gate (millisecond).
C ALGBRC(64) is v_infinity in component Ca_release_current_from_JSR_v_gate (dimensionless).
C ALGBRC(14) is tau_w in component Ca_release_current_from_JSR_w_gate (millisecond).
C ALGBRC(27) is w_infinity in component Ca_release_current_from_JSR_w_gate (dimensionless).
C ALGBRC(59) is i_tr in component transfer_current_from_NSR_to_JSR (picoA_per_picoF).
C CONSTS(31) is tau_tr in component transfer_current_from_NSR_to_JSR (millisecond).
C STATES(22) is Ca_up in component intracellular_ion_concentrations (millimolar).
C CONSTS(32) is I_up_max in component Ca_uptake_current_by_the_NSR (picoA_per_picoF).
C ALGBRC(63) is i_up in component Ca_uptake_current_by_the_NSR (picoA_per_picoF).
C CONSTS(33) is K_up in component Ca_uptake_current_by_the_NSR (millimolar).
C ALGBRC(66) is i_up_leak in component Ca_leak_current_by_the_NSR (picoA_per_picoF).
C CONSTS(34) is Ca_up_max in component Ca_leak_current_by_the_NSR (millimolar).
C CONSTS(35) is CMDN_max in component Ca_buffers (millimolar).
C CONSTS(36) is TRPN_max in component Ca_buffers (millimolar).
C CONSTS(37) is CSQN_max in component Ca_buffers (millimolar).
C ALGBRC(67) is J_Ca_CMDN in component Ca_buffers (millimolar_per_millisecond).
C ALGBRC(68) is J_Ca_TRPN in component Ca_buffers (millimolar_per_millisecond).
C ALGBRC(65) is J_Ca_CSQN in component Ca_buffers (millimolar_per_millisecond).
C STATES(23) is Ca_CMDN in component Ca_buffers (millimolar).
C STATES(24) is Ca_TRPN in component Ca_buffers (millimolar).
C STATES(25) is Ca_CSQN in component Ca_buffers (millimolar).
C CONSTS(38) is V_i in component intracellular_ion_concentrations (micrometre_3).
C CONSTS(39) is V_rel in component intracellular_ion_concentrations (micrometre_3).
C CONSTS(40) is V_up in component intracellular_ion_concentrations (micrometre_3).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(3) is d/dt m in component fast_sodium_current_m_gate (dimensionless).
C RATES(4) is d/dt h in component fast_sodium_current_h_gate (dimensionless).
C RATES(5) is d/dt j in component fast_sodium_current_j_gate (dimensionless).
C RATES(7) is d/dt oa in component transient_outward_K_current_oa_gate (dimensionless).
C RATES(8) is d/dt oi in component transient_outward_K_current_oi_gate (dimensionless).
C RATES(9) is d/dt ua in component ultrarapid_delayed_rectifier_K_current_ua_gate (dimensionless).
C RATES(10) is d/dt ui in component ultrarapid_delayed_rectifier_K_current_ui_gate (dimensionless).
C RATES(11) is d/dt xr in component rapid_delayed_rectifier_K_current_xr_gate (dimensionless).
C RATES(12) is d/dt xs in component slow_delayed_rectifier_K_current_xs_gate (dimensionless).
C RATES(14) is d/dt d in component sarcolemmal_Ca_current_d_gate (dimensionless).
C RATES(15) is d/dt f in component sarcolemmal_Ca_current_f_gate (dimensionless).
C RATES(16) is d/dt f_Ca in component sarcolemmal_Ca_current_f_Ca_gate (dimensionless).
C RATES(19) is d/dt u in component Ca_release_current_from_JSR_u_gate (dimensionless).
C RATES(20) is d/dt v in component Ca_release_current_from_JSR_v_gate (dimensionless).
C RATES(21) is d/dt w in component Ca_release_current_from_JSR_w_gate (dimensionless).
C RATES(23) is d/dt Ca_CMDN in component Ca_buffers (millimolar).
C RATES(24) is d/dt Ca_TRPN in component Ca_buffers (millimolar).
C RATES(25) is d/dt Ca_CSQN in component Ca_buffers (millimolar).
C RATES(2) is d/dt Na_i in component intracellular_ion_concentrations (millimolar).
C RATES(6) is d/dt K_i in component intracellular_ion_concentrations (millimolar).
C RATES(17) is d/dt Cl_i in component intracellular_ion_concentrations (millimolar).
C RATES(13) is d/dt Ca_i in component intracellular_ion_concentrations (millimolar).
C RATES(22) is d/dt Ca_up in component intracellular_ion_concentrations (millimolar).
C RATES(18) is d/dt Ca_rel in component intracellular_ion_concentrations (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -83.53
      CONSTS(1) = 8.3143
      CONSTS(2) = 310.0
      CONSTS(3) = 96.4867
      CONSTS(4) = 100.0
      CONSTS(5) = -2900.0
      CONSTS(6) = 7.8
      STATES(2) = 11.75
      CONSTS(7) = 140.0
      STATES(3) = 0.001972
      STATES(4) = 0.9791
      STATES(5) = 0.9869
      CONSTS(8) = 0.15
      CONSTS(9) = 5.4
      STATES(6) = 138.4
      CONSTS(10) = 0.19824
      STATES(7) = 0.07164
      STATES(8) = 0.9980
      STATES(9) = 0.05869
      STATES(10) = 0.9987
      CONSTS(11) = 0.06984
      STATES(11) = 0.0000007433
      CONSTS(12) = 0.0561
      STATES(12) = 0.01791
      CONSTS(13) = 0.24
      STATES(13) = 0.0001024
      STATES(14) = 0.000004757
      STATES(15) = 0.9999
      STATES(16) = 0.7484
      CONSTS(14) = 2.0
      CONSTS(15) = 0.3
      STATES(17) = 29.26
      CONSTS(16) = 132.0
      CONSTS(17) = 0.0
      CONSTS(18) = 10.0
      CONSTS(19) = 1.5
      CONSTS(20) = 0.6
      CONSTS(21) = 1600.0
      CONSTS(22) = 87.5
      CONSTS(23) = 1.38
      CONSTS(24) = 0.1
      CONSTS(25) = 1.8
      CONSTS(26) = 0.000674
      CONSTS(27) = 0.00113
      CONSTS(28) = 0.275
      CONSTS(29) = 30.0
      CONSTS(30) = 96.48
      STATES(18) = 1.502
      STATES(19) = 0.0
      STATES(20) = 1.0
      STATES(21) = 0.9993
      CONSTS(31) = 180.0
      STATES(22) = 1.502
      CONSTS(32) = 0.005
      CONSTS(33) = 0.00092
      CONSTS(34) = 15.0
      CONSTS(35) = 0.045
      CONSTS(36) = 0.35
      CONSTS(37) = 10.0
      STATES(23) = 0.001856
      STATES(24) = 0.007022
      STATES(25) = 6.432
      CONSTS(38) = 13668.0
      CONSTS(39) = 96.48
      CONSTS(40) = 1109.52
      CONSTS(41) =  (1.00000/7.00000)*(EXP(CONSTS(7)/67.3000) - 1.00000)
      CONSTS(42) = 8.00000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(13) = 0.290000+ 0.800000*1.00000+EXP((STATES(13) - 0.000120000)/6.00000e-05) ** -1.00000
      RATES(16) = (ALGBRC(13) - STATES(16))/CONSTS(14)
      ALGBRC(2) =  0.320000*((STATES(1)+47.1300)/(1.00000 - EXP( -0.100000*(STATES(1)+47.1300))))
      ALGBRC(16) =  0.0800000*EXP(STATES(1)/-11.0000)
      RATES(3) =  ALGBRC(2)*(1.00000 - STATES(3)) -  ALGBRC(16)*STATES(3)
      ALGBRC(3) = TERNRY(STATES(1).LT.-40.0000,  0.135000*EXP((STATES(1)+80.0000)/-6.80000), 0.00000)
      ALGBRC(17) = 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(4) =  ALGBRC(3)*(1.00000 - STATES(4)) -  ALGBRC(17)*STATES(4)
      ALGBRC(4) = TERNRY(STATES(1).LT.-40.0000,  (( -127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( -0.0439100*STATES(1)))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))*(STATES(1)+37.7800), 0.00000)
      ALGBRC(18) = 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(5) =  ALGBRC(4)*(1.00000 - STATES(5)) -  ALGBRC(18)*STATES(5)
      ALGBRC(11) = 1.00000+EXP((STATES(1)+10.0000)/-6.00000) ** -1.00000
      ALGBRC(25) = (1.00000 - EXP((STATES(1)+10.0000)/-6.24000))/( 0.0350000*(STATES(1)+10.0000)*(1.00000+EXP((STATES(1)+10.0000)/-6.24000)))
      RATES(14) = (ALGBRC(11) - STATES(14))/ALGBRC(25)
      ALGBRC(12) = 1.00000+EXP((STATES(1)+24.6000)/6.20000) ** -1.00000
      ALGBRC(26) =  400.000*1.00000+ 4.50000*EXP( -0.000700000*STATES(1) - 9.00000 ** 2.00000) ** -1.00000
      RATES(15) = (ALGBRC(12) - STATES(15))/ALGBRC(26)
      ALGBRC(14) = (6.00000 -  6.00000*EXP((STATES(1) - 7.90000)/-5.00000))/( (1.00000+ 0.300000*EXP((STATES(1) - 7.90000)/-5.00000))*(STATES(1) - 7.90000))
      ALGBRC(27) = 1.00000 - 1.00000+EXP((STATES(1) - 40.0000)/-17.0000) ** -1.00000
      RATES(21) = (ALGBRC(27) - STATES(21))/ALGBRC(14)
      ALGBRC(5) =  0.650000*EXP((STATES(1)+18.0000)/-8.50000)+EXP((STATES(1) - 16.0000)/-59.0000) ** -1.00000
      ALGBRC(19) =  1.20000*2.20000+EXP((STATES(1)+75.0000)/18.0000) ** -1.00000
      ALGBRC(29) = ALGBRC(5)+ALGBRC(19) ** -1.00000
      ALGBRC(36) = 1.00000+EXP((STATES(1)+0.500000)/-10.5000) ** - (1.00000/3.00000)
      RATES(7) = (ALGBRC(36) - STATES(7))/ALGBRC(29)
      ALGBRC(6) = 6.20000+EXP((STATES(1)+105.200)/9.85000) ** -1.00000
      ALGBRC(20) = 7.54000+EXP((STATES(1) - 8.89000)/-12.8700) ** -1.00000
      ALGBRC(30) = ALGBRC(6)+ALGBRC(20) ** -1.00000
      ALGBRC(37) = 1.00000+EXP((STATES(1)+43.3770)/6.45000) ** -1.00000
      RATES(8) = (ALGBRC(37) - STATES(8))/ALGBRC(30)
      ALGBRC(7) =  1.47000*EXP((STATES(1)+33.2000)/-30.6300)+EXP((STATES(1) - 27.6000)/-30.6500) ** -1.00000
      ALGBRC(21) =  0.420000*EXP((STATES(1)+26.6400)/2.49000)+EXP((STATES(1)+44.4100)/20.3600) ** -1.00000
      ALGBRC(31) = ALGBRC(7)+ALGBRC(21) ** -1.00000
      ALGBRC(38) = 1.00000+EXP((STATES(1)+2.81000)/-9.49000) ** - (1.00000/3.00000)
      RATES(9) = (ALGBRC(38) - STATES(9))/ALGBRC(31)
      ALGBRC(8) = 21.0000+EXP((STATES(1) - 185.000)/-28.0000) ** -1.00000
      ALGBRC(22) = EXP((STATES(1) - 158.000)/16.0000)
      ALGBRC(32) = ALGBRC(8)+ALGBRC(22) ** -1.00000
      ALGBRC(39) = 1.00000+EXP((STATES(1) - 99.4500)/27.4800) ** -1.00000
      RATES(10) = (ALGBRC(39) - STATES(10))/ALGBRC(32)
      ALGBRC(9) =  0.0400000*((STATES(1) - 248.000)/(1.00000 - EXP((STATES(1) - 248.000)/-28.0000)))
      ALGBRC(23) =  0.0280000*((STATES(1)+163.000)/(EXP((STATES(1)+163.000)/21.0000) - 1.00000))
      ALGBRC(33) = ALGBRC(9)+ALGBRC(23) ** -1.00000
      ALGBRC(40) = 1.00000+EXP((STATES(1)+7.65400)/-5.37700) ** -1.00000
      RATES(11) = (ALGBRC(40) - STATES(11))/ALGBRC(33)
      ALGBRC(10) =  1.00000e-05*((STATES(1)+28.5000)/(1.00000 - EXP((STATES(1)+28.5000)/-115.000)))
      ALGBRC(24) =  0.000230000*((STATES(1)+28.5000)/(EXP((STATES(1)+28.5000)/3.30000) - 1.00000))
      ALGBRC(34) = ALGBRC(10)+ALGBRC(24) ** -1.00000
      ALGBRC(41) = 1.00000+EXP((STATES(1) - 13.0000)/-12.0000) ** -0.500000
      RATES(12) = (ALGBRC(41) - STATES(12))/ALGBRC(34)
      ALGBRC(48) =  (( CONSTS(1)*CONSTS(2))/( -1.00000*CONSTS(3)))*log(CONSTS(16)/STATES(17))
      ALGBRC(49) =  CONSTS(15)*CONSTS(17)*(STATES(1) - ALGBRC(48))
      RATES(17) = ALGBRC(49)/( CONSTS(38)*CONSTS(3))
      ALGBRC(28) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(9)/STATES(6))
      ALGBRC(35) = ( CONSTS(8)*(STATES(1) - ALGBRC(28)))/(1.00000+EXP( 0.0700000*(STATES(1)+80.0000)))
      ALGBRC(42) =  CONSTS(10)*STATES(7) ** 3.00000*STATES(8)*(STATES(1) - ALGBRC(28))
      ALGBRC(43) = 0.00855000+0.0779000/(1.00000+EXP((STATES(1)+11.0000)/-16.0000))
      ALGBRC(44) =  ALGBRC(43)*STATES(9) ** 3.00000*STATES(10)*(STATES(1) - ALGBRC(28))
      ALGBRC(45) =  CONSTS(11)*STATES(11)*(0.0700000+0.580000/(1.00000+EXP((STATES(1)+15.0000)/22.4000)))*(STATES(1) - ALGBRC(28))
      ALGBRC(46) =  CONSTS(12)*STATES(12) ** 2.00000*(STATES(1) - ALGBRC(28))
      ALGBRC(50) = 1.00000+ 0.124500*EXP( -0.100000*(( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))))+ 0.0365000*CONSTS(41)*EXP(- (( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))) ** -1.00000
      ALGBRC(51) =  CONSTS(20)*ALGBRC(50)*(1.00000/(1.00000+CONSTS(18)/STATES(2) ** 1.50000))*(CONSTS(9)/(CONSTS(9)+CONSTS(19)))
      RATES(6) = ( 2.00000*ALGBRC(51) - (ALGBRC(35)+ALGBRC(42)+ALGBRC(44)+ALGBRC(45)+ALGBRC(46)))/( CONSTS(38)*CONSTS(3))
      ALGBRC(1) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(7)/STATES(2))
      ALGBRC(15) =  CONSTS(6)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(1))
      ALGBRC(52) = ( CONSTS(21)*( EXP(( 0.350000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(25) -  EXP(( -0.650000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*CONSTS(7) ** 3.00000*STATES(13)))/( (CONSTS(22) ** 3.00000+CONSTS(7) ** 3.00000)*(CONSTS(23)+CONSTS(25))*(1.00000+ CONSTS(24)*EXP(( -0.650000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(53) =  CONSTS(26)*(STATES(1) - ALGBRC(1))
      RATES(2) = ( -3.00000*ALGBRC(51) - ( 3.00000*ALGBRC(52)+ALGBRC(53)+ALGBRC(15)))/( CONSTS(38)*CONSTS(3))
      ALGBRC(47) =  CONSTS(13)*STATES(14)*STATES(15)*STATES(16)*(STATES(1) - 65.0000)
      ALGBRC(56) =  CONSTS(28)*(STATES(13)/(0.000500000+STATES(13)))
      ALGBRC(54) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(25)/STATES(13))
      ALGBRC(55) =  CONSTS(27)*(STATES(1) - ALGBRC(54))
      RATES(1) = - (ALGBRC(15)+ALGBRC(35)+ALGBRC(42)+ALGBRC(44)+ALGBRC(45)+ALGBRC(46)+ALGBRC(47)+ALGBRC(49)+ALGBRC(56)+ALGBRC(52)+ALGBRC(51)+ALGBRC(53)+ALGBRC(55)+CONSTS(5))/CONSTS(4)
      RATES(25) =  0.480000*STATES(18)*(1.00000 - STATES(25)/CONSTS(37)) -  0.400000*(STATES(25)/CONSTS(37))
      ALGBRC(57) =  CONSTS(29)*STATES(19) ** 2.00000*STATES(20)*STATES(21)*(STATES(18) - STATES(13))
      ALGBRC(58) =  1.00000e-12*CONSTS(30)*ALGBRC(57) -  5.00000e-13*( (1.00000/( 2.00000*CONSTS(3)))*ALGBRC(47) -  (1.00000/( 5.00000*CONSTS(3)))*ALGBRC(52))
      ALGBRC(61) = 1.00000+EXP((ALGBRC(58) - 3.41750e-13)/-1.36700e-15) ** -1.00000
      RATES(19) = (ALGBRC(61) - STATES(19))/CONSTS(42)
      ALGBRC(62) = 1.91000+ 2.09000*1.00000+EXP((ALGBRC(58) - 3.41750e-13)/-1.36700e-15) ** -1.00000
      ALGBRC(64) = 1.00000 - 1.00000+EXP((ALGBRC(58) - 6.83500e-14)/-1.36700e-15) ** -1.00000
      RATES(20) = (ALGBRC(64) - STATES(20))/ALGBRC(62)
      RATES(23) =  200.000*STATES(13)*(1.00000 - STATES(23)/CONSTS(35)) -  0.476000*(STATES(23)/CONSTS(35))
      ALGBRC(59) = (STATES(22) - STATES(18))/CONSTS(31)
      ALGBRC(63) = CONSTS(32)/(1.00000+CONSTS(33)/STATES(13))
      ALGBRC(66) =  CONSTS(32)*(STATES(22)/CONSTS(34))
      RATES(22) = ALGBRC(63) - (ALGBRC(66)+ ALGBRC(59)*(CONSTS(39)/CONSTS(40)))
      ALGBRC(65) = RATES(25)
      RATES(18) = ALGBRC(59) - (ALGBRC(57)+ 31.0000*ALGBRC(65))
      RATES(24) =  78.4000*STATES(13)*(1.00000 - STATES(24)/CONSTS(36)) -  0.392000*(STATES(24)/CONSTS(36))
      ALGBRC(67) = RATES(23)
      ALGBRC(68) = RATES(24)
      RATES(13) = (( 2.00000*ALGBRC(52) - (ALGBRC(56)+ALGBRC(47)+ALGBRC(55)))/( 2.00000*CONSTS(38)*CONSTS(3))+( CONSTS(40)*(ALGBRC(66) - ALGBRC(63))+ ALGBRC(57)*CONSTS(39))/CONSTS(38)) - ( CONSTS(36)*ALGBRC(68)+ CONSTS(35)*ALGBRC(67))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(13) = 0.290000+ 0.800000*1.00000+EXP((STATES(13) - 0.000120000)/6.00000e-05) ** -1.00000
      ALGBRC(2) =  0.320000*((STATES(1)+47.1300)/(1.00000 - EXP( -0.100000*(STATES(1)+47.1300))))
      ALGBRC(16) =  0.0800000*EXP(STATES(1)/-11.0000)
      ALGBRC(3) = TERNRY(STATES(1).LT.-40.0000,  0.135000*EXP((STATES(1)+80.0000)/-6.80000), 0.00000)
      ALGBRC(17) = 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(4) = TERNRY(STATES(1).LT.-40.0000,  (( -127140.*EXP( 0.244400*STATES(1)) -  3.47400e-05*EXP( -0.0439100*STATES(1)))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))))*(STATES(1)+37.7800), 0.00000)
      ALGBRC(18) = 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(11) = 1.00000+EXP((STATES(1)+10.0000)/-6.00000) ** -1.00000
      ALGBRC(25) = (1.00000 - EXP((STATES(1)+10.0000)/-6.24000))/( 0.0350000*(STATES(1)+10.0000)*(1.00000+EXP((STATES(1)+10.0000)/-6.24000)))
      ALGBRC(12) = 1.00000+EXP((STATES(1)+24.6000)/6.20000) ** -1.00000
      ALGBRC(26) =  400.000*1.00000+ 4.50000*EXP( -0.000700000*STATES(1) - 9.00000 ** 2.00000) ** -1.00000
      ALGBRC(14) = (6.00000 -  6.00000*EXP((STATES(1) - 7.90000)/-5.00000))/( (1.00000+ 0.300000*EXP((STATES(1) - 7.90000)/-5.00000))*(STATES(1) - 7.90000))
      ALGBRC(27) = 1.00000 - 1.00000+EXP((STATES(1) - 40.0000)/-17.0000) ** -1.00000
      ALGBRC(5) =  0.650000*EXP((STATES(1)+18.0000)/-8.50000)+EXP((STATES(1) - 16.0000)/-59.0000) ** -1.00000
      ALGBRC(19) =  1.20000*2.20000+EXP((STATES(1)+75.0000)/18.0000) ** -1.00000
      ALGBRC(29) = ALGBRC(5)+ALGBRC(19) ** -1.00000
      ALGBRC(36) = 1.00000+EXP((STATES(1)+0.500000)/-10.5000) ** - (1.00000/3.00000)
      ALGBRC(6) = 6.20000+EXP((STATES(1)+105.200)/9.85000) ** -1.00000
      ALGBRC(20) = 7.54000+EXP((STATES(1) - 8.89000)/-12.8700) ** -1.00000
      ALGBRC(30) = ALGBRC(6)+ALGBRC(20) ** -1.00000
      ALGBRC(37) = 1.00000+EXP((STATES(1)+43.3770)/6.45000) ** -1.00000
      ALGBRC(7) =  1.47000*EXP((STATES(1)+33.2000)/-30.6300)+EXP((STATES(1) - 27.6000)/-30.6500) ** -1.00000
      ALGBRC(21) =  0.420000*EXP((STATES(1)+26.6400)/2.49000)+EXP((STATES(1)+44.4100)/20.3600) ** -1.00000
      ALGBRC(31) = ALGBRC(7)+ALGBRC(21) ** -1.00000
      ALGBRC(38) = 1.00000+EXP((STATES(1)+2.81000)/-9.49000) ** - (1.00000/3.00000)
      ALGBRC(8) = 21.0000+EXP((STATES(1) - 185.000)/-28.0000) ** -1.00000
      ALGBRC(22) = EXP((STATES(1) - 158.000)/16.0000)
      ALGBRC(32) = ALGBRC(8)+ALGBRC(22) ** -1.00000
      ALGBRC(39) = 1.00000+EXP((STATES(1) - 99.4500)/27.4800) ** -1.00000
      ALGBRC(9) =  0.0400000*((STATES(1) - 248.000)/(1.00000 - EXP((STATES(1) - 248.000)/-28.0000)))
      ALGBRC(23) =  0.0280000*((STATES(1)+163.000)/(EXP((STATES(1)+163.000)/21.0000) - 1.00000))
      ALGBRC(33) = ALGBRC(9)+ALGBRC(23) ** -1.00000
      ALGBRC(40) = 1.00000+EXP((STATES(1)+7.65400)/-5.37700) ** -1.00000
      ALGBRC(10) =  1.00000e-05*((STATES(1)+28.5000)/(1.00000 - EXP((STATES(1)+28.5000)/-115.000)))
      ALGBRC(24) =  0.000230000*((STATES(1)+28.5000)/(EXP((STATES(1)+28.5000)/3.30000) - 1.00000))
      ALGBRC(34) = ALGBRC(10)+ALGBRC(24) ** -1.00000
      ALGBRC(41) = 1.00000+EXP((STATES(1) - 13.0000)/-12.0000) ** -0.500000
      ALGBRC(48) =  (( CONSTS(1)*CONSTS(2))/( -1.00000*CONSTS(3)))*log(CONSTS(16)/STATES(17))
      ALGBRC(49) =  CONSTS(15)*CONSTS(17)*(STATES(1) - ALGBRC(48))
      ALGBRC(28) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(9)/STATES(6))
      ALGBRC(35) = ( CONSTS(8)*(STATES(1) - ALGBRC(28)))/(1.00000+EXP( 0.0700000*(STATES(1)+80.0000)))
      ALGBRC(42) =  CONSTS(10)*STATES(7) ** 3.00000*STATES(8)*(STATES(1) - ALGBRC(28))
      ALGBRC(43) = 0.00855000+0.0779000/(1.00000+EXP((STATES(1)+11.0000)/-16.0000))
      ALGBRC(44) =  ALGBRC(43)*STATES(9) ** 3.00000*STATES(10)*(STATES(1) - ALGBRC(28))
      ALGBRC(45) =  CONSTS(11)*STATES(11)*(0.0700000+0.580000/(1.00000+EXP((STATES(1)+15.0000)/22.4000)))*(STATES(1) - ALGBRC(28))
      ALGBRC(46) =  CONSTS(12)*STATES(12) ** 2.00000*(STATES(1) - ALGBRC(28))
      ALGBRC(50) = 1.00000+ 0.124500*EXP( -0.100000*(( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2))))+ 0.0365000*CONSTS(41)*EXP(- (( CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))) ** -1.00000
      ALGBRC(51) =  CONSTS(20)*ALGBRC(50)*(1.00000/(1.00000+CONSTS(18)/STATES(2) ** 1.50000))*(CONSTS(9)/(CONSTS(9)+CONSTS(19)))
      ALGBRC(1) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(7)/STATES(2))
      ALGBRC(15) =  CONSTS(6)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(1))
      ALGBRC(52) = ( CONSTS(21)*( EXP(( 0.350000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(25) -  EXP(( -0.650000*CONSTS(3)*STATES(1))/( CONSTS(1)*CONSTS(2)))*CONSTS(7) ** 3.00000*STATES(13)))/( (CONSTS(22) ** 3.00000+CONSTS(7) ** 3.00000)*(CONSTS(23)+CONSTS(25))*(1.00000+ CONSTS(24)*EXP(( -0.650000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))))
      ALGBRC(53) =  CONSTS(26)*(STATES(1) - ALGBRC(1))
      ALGBRC(47) =  CONSTS(13)*STATES(14)*STATES(15)*STATES(16)*(STATES(1) - 65.0000)
      ALGBRC(56) =  CONSTS(28)*(STATES(13)/(0.000500000+STATES(13)))
      ALGBRC(54) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(25)/STATES(13))
      ALGBRC(55) =  CONSTS(27)*(STATES(1) - ALGBRC(54))
      ALGBRC(57) =  CONSTS(29)*STATES(19) ** 2.00000*STATES(20)*STATES(21)*(STATES(18) - STATES(13))
      ALGBRC(58) =  1.00000e-12*CONSTS(30)*ALGBRC(57) -  5.00000e-13*( (1.00000/( 2.00000*CONSTS(3)))*ALGBRC(47) -  (1.00000/( 5.00000*CONSTS(3)))*ALGBRC(52))
      ALGBRC(61) = 1.00000+EXP((ALGBRC(58) - 3.41750e-13)/-1.36700e-15) ** -1.00000
      ALGBRC(62) = 1.91000+ 2.09000*1.00000+EXP((ALGBRC(58) - 3.41750e-13)/-1.36700e-15) ** -1.00000
      ALGBRC(64) = 1.00000 - 1.00000+EXP((ALGBRC(58) - 6.83500e-14)/-1.36700e-15) ** -1.00000
      ALGBRC(59) = (STATES(22) - STATES(18))/CONSTS(31)
      ALGBRC(63) = CONSTS(32)/(1.00000+CONSTS(33)/STATES(13))
      ALGBRC(66) =  CONSTS(32)*(STATES(22)/CONSTS(34))
      ALGBRC(65) = RATES(25)
      ALGBRC(67) = RATES(23)
      ALGBRC(68) = RATES(24)
      ALGBRC(60) = 1.00000 - 1.00000+ALGBRC(58)/1.10000e-10 ** 3.00000 ** -1.00000
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END