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 89 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 79 entries in the constant variable array.
C
C
C VOI is time in component environment (ms).
C STATES(1) is V in component cell (millivolt).
C CONSTS(1) is R in component cell (joule_per_kilomole_kelvin).
C CONSTS(2) is T in component cell (kelvin).
C CONSTS(3) is F in component cell (coulomb_per_mole).
C ALGBRC(4) is I_st in component cell (microA_per_microF).
C ALGBRC(28) is i_Na in component fast_sodium_current (microA_per_microF).
C ALGBRC(75) is i_Ca_L in component L_type_Ca_channel (microA_per_microF).
C ALGBRC(80) is i_Ca_T in component T_type_Ca_channel (microA_per_microF).
C ALGBRC(44) is i_Kr in component rapid_delayed_rectifier_potassium_current (microA_per_microF).
C ALGBRC(77) is i_Ks in component slow_delayed_rectifier_potassium_current (microA_per_microF).
C ALGBRC(55) is i_K_Na in component sodium_activated_potassium_current (microA_per_microF).
C ALGBRC(85) is i_NaCa in component Na_Ca_exchanger (microA_per_microF).
C ALGBRC(50) is i_K1 in component time_independent_potassium_current (microA_per_microF).
C ALGBRC(45) is i_K_ATP in component ATP_sensitive_potassium_current (microA_per_microF).
C ALGBRC(46) is i_to in component transient_outward_current (microA_per_microF).
C ALGBRC(52) is i_Kp in component plateau_potassium_current (microA_per_microF).
C ALGBRC(78) is i_p_Ca in component sarcolemmal_calcium_pump (microA_per_microF).
C ALGBRC(56) is i_Na_b in component sodium_background_current (microA_per_microF).
C ALGBRC(81) is i_Ca_b in component calcium_background_current (microA_per_microF).
C ALGBRC(58) is i_NaK in component sodium_potassium_pump (microA_per_microF).
C ALGBRC(84) is i_ns_Ca in component non_specific_calcium_activated_current (microA_per_microF).
C ALGBRC(86) is dVdt in component cell (microA_per_microF).
C CONSTS(4) is stim_start in component cell (ms).
C CONSTS(5) is stim_end in component cell (ms).
C CONSTS(6) is stim_period in component cell (ms).
C CONSTS(7) is stim_duration in component cell (ms).
C CONSTS(8) is stim_amplitude in component cell (microA_per_microF).
C ALGBRC(17) is E_Na in component fast_sodium_current (millivolt).
C CONSTS(9) is g_Na in component fast_sodium_current (milliS_per_microF).
C STATES(2) is Nai in component ionic_concentrations (millimolar).
C CONSTS(10) is Nao in component 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(14) is alpha_m in component fast_sodium_current_m_gate (per_ms).
C ALGBRC(27) is beta_m in component fast_sodium_current_m_gate (per_ms).
C ALGBRC(1) is E0_m in component fast_sodium_current_m_gate (millivolt).
C ALGBRC(2) is alpha_h in component fast_sodium_current_h_gate (per_ms).
C ALGBRC(15) is beta_h in component fast_sodium_current_h_gate (per_ms).
C ALGBRC(3) is alpha_j in component fast_sodium_current_j_gate (per_ms).
C ALGBRC(16) is beta_j in component fast_sodium_current_j_gate (per_ms).
C ALGBRC(70) is i_CaCa in component L_type_Ca_channel (microA_per_microF).
C ALGBRC(73) is i_CaK in component L_type_Ca_channel (microA_per_microF).
C ALGBRC(71) is i_CaNa in component L_type_Ca_channel (microA_per_microF).
C CONSTS(11) is gamma_Nai in component L_type_Ca_channel (dimensionless).
C CONSTS(12) is gamma_Nao in component L_type_Ca_channel (dimensionless).
C CONSTS(13) is gamma_Ki in component L_type_Ca_channel (dimensionless).
C CONSTS(14) is gamma_Ko in component L_type_Ca_channel (dimensionless).
C CONSTS(15) is gamma_Cai in component L_type_Ca_channel (dimensionless).
C CONSTS(16) is gamma_Cao in component L_type_Ca_channel (dimensionless).
C ALGBRC(68) is I_CaCa in component L_type_Ca_channel (microA_per_microF).
C ALGBRC(38) is I_CaK in component L_type_Ca_channel (microA_per_microF).
C ALGBRC(33) is I_CaNa in component L_type_Ca_channel (microA_per_microF).
C CONSTS(17) is P_Ca in component L_type_Ca_channel (litre_per_farad_millisecond).
C CONSTS(18) is P_Na in component L_type_Ca_channel (litre_per_farad_millisecond).
C CONSTS(19) is P_K in component L_type_Ca_channel (litre_per_farad_millisecond).
C ALGBRC(67) is Cai in component calcium_dynamics (millimolar).
C CONSTS(20) is Cao in component calcium_dynamics (millimolar).
C CONSTS(21) is Ko in component ionic_concentrations (millimolar).
C STATES(6) is Ki in component ionic_concentrations (millimolar).
C STATES(7) is d in component L_type_Ca_channel_d_gate (dimensionless).
C STATES(8) is f in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(69) is f_Ca in component L_type_Ca_channel_f_Ca_gate (dimensionless).
C ALGBRC(34) is alpha_d in component L_type_Ca_channel_d_gate (per_ms).
C ALGBRC(39) is beta_d in component L_type_Ca_channel_d_gate (per_ms).
C ALGBRC(18) is d_infinity in component L_type_Ca_channel_d_gate (dimensionless).
C ALGBRC(29) is tau_d in component L_type_Ca_channel_d_gate (ms).
C ALGBRC(5) is E0_d in component L_type_Ca_channel_d_gate (millivolt).
C ALGBRC(30) is alpha_f in component L_type_Ca_channel_f_gate (per_ms).
C ALGBRC(35) is beta_f in component L_type_Ca_channel_f_gate (per_ms).
C ALGBRC(6) is f_infinity in component L_type_Ca_channel_f_gate (dimensionless).
C ALGBRC(19) is tau_f in component L_type_Ca_channel_f_gate (ms).
C CONSTS(22) is Km_Ca in component L_type_Ca_channel_f_Ca_gate (millimolar).
C CONSTS(23) is g_CaT in component T_type_Ca_channel (milliS_per_microF).
C ALGBRC(79) is E_Ca in component calcium_background_current (millivolt).
C STATES(9) is b in component T_type_Ca_channel_b_gate (dimensionless).
C STATES(10) is g in component T_type_Ca_channel_g_gate (dimensionless).
C ALGBRC(7) is b_inf in component T_type_Ca_channel_b_gate (dimensionless).
C ALGBRC(20) is tau_b in component T_type_Ca_channel_b_gate (ms).
C ALGBRC(8) is g_inf in component T_type_Ca_channel_g_gate (dimensionless).
C ALGBRC(21) is tau_g in component T_type_Ca_channel_g_gate (ms).
C CONSTS(67) is g_Kr in component rapid_delayed_rectifier_potassium_current (milliS_per_microF).
C CONSTS(24) is G_Kr in component rapid_delayed_rectifier_potassium_current (milliS_per_microF).
C ALGBRC(40) is Rect in component rapid_delayed_rectifier_potassium_current (dimensionless).
C ALGBRC(43) is E_K in component time_independent_potassium_current (millivolt).
C STATES(11) is xr in component rapid_delayed_rectifier_potassium_current_xr_gate (dimensionless).
C ALGBRC(9) is xr_infinity in component rapid_delayed_rectifier_potassium_current_xr_gate (dimensionless).
C ALGBRC(22) is tau_xr in component rapid_delayed_rectifier_potassium_current_xr_gate (ms).
C ALGBRC(76) is g_Ks in component slow_delayed_rectifier_potassium_current (milliS_per_microF).
C CONSTS(25) is G_Ks in component slow_delayed_rectifier_potassium_current (milliS_per_microF).
C ALGBRC(41) is E_Ks in component slow_delayed_rectifier_potassium_current (millivolt).
C CONSTS(26) is PNaK in component slow_delayed_rectifier_potassium_current (dimensionless).
C STATES(12) is xs1 in component slow_delayed_rectifier_potassium_current_xs1_gate (dimensionless).
C STATES(13) is xs2 in component slow_delayed_rectifier_potassium_current_xs2_gate (dimensionless).
C ALGBRC(10) is xs1_infinity in component slow_delayed_rectifier_potassium_current_xs1_gate (dimensionless).
C ALGBRC(23) is tau_xs1 in component slow_delayed_rectifier_potassium_current_xs1_gate (ms).
C ALGBRC(11) is xs2_infinity in component slow_delayed_rectifier_potassium_current_xs2_gate (dimensionless).
C ALGBRC(24) is tau_xs2 in component slow_delayed_rectifier_potassium_current_xs2_gate (ms).
C CONSTS(68) is g_K_ATP in component ATP_sensitive_potassium_current (milliS_per_microF).
C CONSTS(27) is i_K_ATP_on in component ATP_sensitive_potassium_current (dimensionless).
C CONSTS(28) is nATP in component ATP_sensitive_potassium_current (dimensionless).
C CONSTS(29) is nicholsarea in component ATP_sensitive_potassium_current (dimensionless).
C CONSTS(30) is ATPi in component ATP_sensitive_potassium_current (millimolar).
C CONSTS(31) is hATP in component ATP_sensitive_potassium_current (dimensionless).
C CONSTS(32) is kATP in component ATP_sensitive_potassium_current (millimolar).
C CONSTS(75) is pATP in component ATP_sensitive_potassium_current (dimensionless).
C CONSTS(77) is GKbaraATP in component ATP_sensitive_potassium_current (milliS_per_microF).
C CONSTS(69) is g_to in component transient_outward_current (milliS_per_microF).
C ALGBRC(42) is rvdv in component transient_outward_current (dimensionless).
C STATES(14) is zdv in component transient_outward_current_zdv_gate (dimensionless).
C STATES(15) is ydv in component transient_outward_current_ydv_gate (dimensionless).
C ALGBRC(12) is alpha_zdv in component transient_outward_current_zdv_gate (per_ms).
C ALGBRC(25) is beta_zdv in component transient_outward_current_zdv_gate (per_ms).
C ALGBRC(31) is tau_zdv in component transient_outward_current_zdv_gate (ms).
C ALGBRC(36) is zdv_ss in component transient_outward_current_zdv_gate (dimensionless).
C ALGBRC(13) is alpha_ydv in component transient_outward_current_ydv_gate (per_ms).
C ALGBRC(26) is beta_ydv in component transient_outward_current_ydv_gate (per_ms).
C ALGBRC(32) is tau_ydv in component transient_outward_current_ydv_gate (ms).
C ALGBRC(37) is ydv_ss in component transient_outward_current_ydv_gate (dimensionless).
C CONSTS(70) is g_K1 in component time_independent_potassium_current (milliS_per_microF).
C CONSTS(33) is G_K1 in component time_independent_potassium_current (milliS_per_microF).
C ALGBRC(49) is K1_infinity in component time_independent_potassium_current_K1_gate (dimensionless).
C ALGBRC(47) is alpha_K1 in component time_independent_potassium_current_K1_gate (per_ms).
C ALGBRC(48) is beta_K1 in component time_independent_potassium_current_K1_gate (per_ms).
C CONSTS(34) is g_Kp in component plateau_potassium_current (milliS_per_microF).
C ALGBRC(51) is Kp in component plateau_potassium_current (dimensionless).
C CONSTS(35) is g_K_Na in component sodium_activated_potassium_current (milliS_per_microF).
C CONSTS(36) is nKNa in component sodium_activated_potassium_current (dimensionless).
C ALGBRC(53) is pona in component sodium_activated_potassium_current (dimensionless).
C ALGBRC(54) is pov in component sodium_activated_potassium_current (dimensionless).
C CONSTS(37) is kdKNa in component sodium_activated_potassium_current (millimolar).
C CONSTS(38) is K_mpCa in component sarcolemmal_calcium_pump (millimolar).
C CONSTS(39) is I_pCa in component sarcolemmal_calcium_pump (microA_per_microF).
C CONSTS(40) is g_Nab in component sodium_background_current (milliS_per_microF).
C CONSTS(41) is g_Cab in component calcium_background_current (milliS_per_microF).
C CONSTS(42) is I_NaK in component sodium_potassium_pump (microA_per_microF).
C ALGBRC(57) is f_NaK in component sodium_potassium_pump (dimensionless).
C CONSTS(43) is K_mNai in component sodium_potassium_pump (millimolar).
C CONSTS(44) is K_mKo in component sodium_potassium_pump (millimolar).
C CONSTS(71) is sigma in component sodium_potassium_pump (dimensionless).
C ALGBRC(82) is i_ns_Na in component non_specific_calcium_activated_current (microA_per_microF).
C ALGBRC(83) is i_ns_K in component non_specific_calcium_activated_current (microA_per_microF).
C CONSTS(72) is P_ns_Ca in component non_specific_calcium_activated_current (litre_per_farad_millisecond).
C ALGBRC(59) is I_ns_Na in component non_specific_calcium_activated_current (microA_per_microF).
C ALGBRC(60) is I_ns_K in component non_specific_calcium_activated_current (microA_per_microF).
C CONSTS(45) is K_m_ns_Ca in component non_specific_calcium_activated_current (millimolar).
C CONSTS(46) is c1 in component Na_Ca_exchanger (microA_per_microF).
C CONSTS(47) is c2 in component Na_Ca_exchanger (dimensionless).
C CONSTS(48) is gamma in component Na_Ca_exchanger (dimensionless).
C STATES(16) is i_rel in component CICR_current (millimolar_per_ms).
C ALGBRC(87) is i_up in component calcium_dynamics (millimolar_per_ms).
C ALGBRC(88) is i_leak in component calcium_dynamics (millimolar_per_ms).
C ALGBRC(89) is i_tr in component calcium_dynamics (millimolar_per_ms).
C CONSTS(49) is tau_tr in component calcium_dynamics (ms).
C CONSTS(50) is CSQN_max in component calcium_dynamics (millimolar).
C CONSTS(51) is K_mCSQN in component calcium_dynamics (millimolar).
C CONSTS(52) is K_mup in component calcium_dynamics (millimolar).
C CONSTS(73) is K_leak in component calcium_dynamics (per_ms).
C CONSTS(53) is I_up in component calcium_dynamics (millimolar_per_ms).
C CONSTS(54) is Ca_NSR_max in component calcium_dynamics (millimolar).
C STATES(17) is CaT in component calcium_dynamics (millimolar).
C ALGBRC(63) is Ca_JSR in component calcium_dynamics (millimolar).
C STATES(18) is JSR in component calcium_dynamics (millimolar).
C STATES(19) is NSR in component calcium_dynamics (millimolar).
C ALGBRC(61) is bjsr in component calcium_dynamics (millimolar).
C ALGBRC(62) is cjsr in component calcium_dynamics (millimolar2).
C ALGBRC(64) is bmyo in component calcium_dynamics (millimolar).
C ALGBRC(65) is cmyo in component calcium_dynamics (millimolar2).
C ALGBRC(66) is dmyo in component calcium_dynamics (millimolar3).
C CONSTS(76) is V_myo in component geometry (micro_litre).
C CONSTS(55) is A_cap in component geometry (cm2).
C CONSTS(78) is V_JSR in component geometry (micro_litre).
C CONSTS(79) is V_NSR in component geometry (micro_litre).
C CONSTS(56) is K_mTRPN in component calcium_dynamics (millimolar).
C CONSTS(57) is K_mCMDN in component calcium_dynamics (millimolar).
C CONSTS(58) is TRPN_max in component calcium_dynamics (millimolar).
C CONSTS(59) is CMDN_max in component calcium_dynamics (millimolar).
C CONSTS(60) is kappa in component CICR_current (mM_per_millivolt_ms).
C CONSTS(61) is tau in component CICR_current (ms).
C CONSTS(62) is K_relss in component CICR_current (millimolar).
C CONSTS(63) is qn in component CICR_current (dimensionless).
C CONSTS(66) is alpha_rel in component CICR_current (millimolar_per_mV).
C ALGBRC(74) is tau_rel in component CICR_current (ms).
C ALGBRC(72) is I_relss in component CICR_current (millimolar_per_ms).
C CONSTS(64) is preplength in component geometry (mm).
C CONSTS(65) is radius in component geometry (mm).
C CONSTS(74) is volume in component geometry (micro_litre).
C RATES(1) is d/dt V in component cell (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 d in component L_type_Ca_channel_d_gate (dimensionless).
C RATES(8) is d/dt f in component L_type_Ca_channel_f_gate (dimensionless).
C RATES(9) is d/dt b in component T_type_Ca_channel_b_gate (dimensionless).
C RATES(10) is d/dt g in component T_type_Ca_channel_g_gate (dimensionless).
C RATES(11) is d/dt xr in component rapid_delayed_rectifier_potassium_current_xr_gate (dimensionless).
C RATES(12) is d/dt xs1 in component slow_delayed_rectifier_potassium_current_xs1_gate (dimensionless).
C RATES(13) is d/dt xs2 in component slow_delayed_rectifier_potassium_current_xs2_gate (dimensionless).
C RATES(14) is d/dt zdv in component transient_outward_current_zdv_gate (dimensionless).
C RATES(15) is d/dt ydv in component transient_outward_current_ydv_gate (dimensionless).
C RATES(18) is d/dt JSR in component calcium_dynamics (millimolar).
C RATES(19) is d/dt NSR in component calcium_dynamics (millimolar).
C RATES(17) is d/dt CaT in component calcium_dynamics (millimolar).
C RATES(16) is d/dt i_rel in component CICR_current (millimolar_per_ms).
C RATES(2) is d/dt Nai in component ionic_concentrations (millimolar).
C RATES(6) is d/dt Ki in component ionic_concentrations (millimolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -84.1873796338053
      CONSTS(1) = 8314
      CONSTS(2) = 310
      CONSTS(3) = 96485
      CONSTS(4) = 10
      CONSTS(5) = 9e6
      CONSTS(6) = 300
      CONSTS(7) = 0.5
      CONSTS(8) = -80
      CONSTS(9) = 16
      STATES(2) = 17.6117490445233
      CONSTS(10) = 140
      STATES(3) = 0.00176916305136317
      STATES(4) = 0.981794631652901
      STATES(5) = 0.988104917040651
      CONSTS(11) = 0.75
      CONSTS(12) = 0.75
      CONSTS(13) = 0.75
      CONSTS(14) = 0.75
      CONSTS(15) = 1
      CONSTS(16) = 0.341
      CONSTS(17) = 0.00054
      CONSTS(18) = 6.75e-7
      CONSTS(19) = 1.93e-7
      CONSTS(20) = 1.8
      CONSTS(21) = 5.4
      STATES(6) = 136.516534944494
      STATES(7) = 6.86847510834054e-06
      STATES(8) = 0.983904806551856
      CONSTS(22) = 0.0006
      CONSTS(23) = 0.056
      STATES(9) = 0.00107239754072387
      STATES(10) = 0.592188823541168
      CONSTS(24) = 0.02614
      STATES(11) = 0.0068050628191769
      CONSTS(25) = 0.433
      CONSTS(26) = 0.01833
      STATES(12) = 0.053484483308799
      STATES(13) = 0.0915338818524544
      CONSTS(27) = 1
      CONSTS(28) = 0.24
      CONSTS(29) = 5e-5
      CONSTS(30) = 3
      CONSTS(31) = 2
      CONSTS(32) = 0.00025
      STATES(14) = 0.0153950987302045
      STATES(15) = 0.931914460539262
      CONSTS(33) = 0.75
      CONSTS(34) = 0.00552
      CONSTS(35) = 0.12848
      CONSTS(36) = 2.8
      CONSTS(37) = 66
      CONSTS(38) = 0.0005
      CONSTS(39) = 1.15
      CONSTS(40) = 0.004
      CONSTS(41) = 0.003016
      CONSTS(42) = 2.25
      CONSTS(43) = 10
      CONSTS(44) = 1.5
      CONSTS(45) = 0.0012
      CONSTS(46) = 0.00025
      CONSTS(47) = 0.0001
      CONSTS(48) = 0.15
      STATES(16) = 0.000948968144034608
      CONSTS(49) = 120
      CONSTS(50) = 10
      CONSTS(51) = 0.8
      CONSTS(52) = 0.00092
      CONSTS(53) = 0.00875
      CONSTS(54) = 15
      STATES(17) = 0.0354676562409019
      STATES(18) = 7.64464040842916
      STATES(19) = 3.35408001677624
      CONSTS(55) = 1.534e-4
      CONSTS(56) = 0.0005
      CONSTS(57) = 0.00238
      CONSTS(58) = 0.07
      CONSTS(59) = 0.05
      CONSTS(60) = 0.125
      CONSTS(61) = 4.75
      CONSTS(62) = 1
      CONSTS(63) = 9
      CONSTS(64) = 0.1
      CONSTS(65) = 0.011
      CONSTS(66) =  CONSTS(60)*CONSTS(61)
      CONSTS(67) =  CONSTS(24)* (CONSTS(21)/5.40000) ** (1.0 / 2)
      CONSTS(68) = ( CONSTS(27)*0.000193000)/CONSTS(29)
      CONSTS(69) =  0.00000*0.500000
      CONSTS(70) =  CONSTS(33)* (CONSTS(21)/5.40000) ** (1.0 / 2)
      CONSTS(71) =  (1.00000/7.00000)*(EXP(CONSTS(10)/67.3000) - 1.00000)
      CONSTS(72) = 1.75000e-07
      CONSTS(73) = CONSTS(53)/CONSTS(54)
      CONSTS(74) =   3.14159265358979*CONSTS(64)*CONSTS(65) ** 2.00000
      CONSTS(75) = 1.00000/(1.00000+CONSTS(30)/CONSTS(32) ** CONSTS(31))
      CONSTS(76) =  0.680000*CONSTS(74)
      CONSTS(77) =  CONSTS(68)*CONSTS(75)*CONSTS(21)/4.00000 ** CONSTS(28)
      CONSTS(78) =  0.00480000*CONSTS(74)
      CONSTS(79) =  0.0552000*CONSTS(74)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000)
      ALGBRC(15) = 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(2)*(1.00000 - STATES(4)) -  ALGBRC(15)*STATES(4)
      ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, ( - ( 127140.*EXP( 0.244400*STATES(1))+ 3.47400e-05*EXP( - 0.0439100*STATES(1)))*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))), 0.00000)
      ALGBRC(16) = 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(3)*(1.00000 - STATES(5)) -  ALGBRC(16)*STATES(5)
      ALGBRC(7) = 1.00000/(1.00000+EXP(- (STATES(1)+50.0000)/5.00000))
      ALGBRC(20) = 5.00000/( 1.06800*EXP((STATES(1)+16.3000)/30.0000)+ 1.06800*EXP(- (STATES(1)+16.3000)/30.0000))
      RATES(9) = (ALGBRC(7) - STATES(9))/ALGBRC(20)
      ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(1)+61.0000)/5.00000))
      ALGBRC(21) = 5.00000/( 0.0150000*EXP(- (STATES(1)+71.7000)/83.3000)+ 0.0150000*EXP((STATES(1)+71.7000)/15.4000))
      RATES(10) = (ALGBRC(8) - STATES(10))/ALGBRC(21)
      ALGBRC(9) = 1.00000/(1.00000+EXP(- (STATES(1)+21.5000)/7.50000))
      ALGBRC(22) = 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(11) = (ALGBRC(9) - STATES(11))/ALGBRC(22)
      ALGBRC(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(23) = 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(12) = (ALGBRC(10) - STATES(12))/ALGBRC(23)
      ALGBRC(11) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(24) = 4.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(13) = (ALGBRC(11) - STATES(13))/ALGBRC(24)
      ALGBRC(1) = STATES(1)+47.1300
      ALGBRC(14) = ( 0.320000*ALGBRC(1))/(1.00000 - EXP( - 0.100000*ALGBRC(1)))
      ALGBRC(27) =  0.0800000*EXP(- STATES(1)/11.0000)
      RATES(3) =  ALGBRC(14)*(1.00000 - STATES(3)) -  ALGBRC(27)*STATES(3)
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+32.0000)/8.00000))+0.600000/(1.00000+EXP((50.0000 - STATES(1))/20.0000))
      ALGBRC(19) = 1.00000/( 0.0197000*EXP(-  0.0337000*(STATES(1)+10.0000) ** 2.00000)+0.0200000)
      ALGBRC(30) = ALGBRC(6)/ALGBRC(19)
      ALGBRC(35) = (1.00000 - ALGBRC(6))/ALGBRC(19)
      RATES(8) =  ALGBRC(30)*(1.00000 - STATES(8)) -  ALGBRC(35)*STATES(8)
      ALGBRC(12) = ( 10.0000*EXP((STATES(1) - 40.0000)/25.0000))/(1.00000+EXP((STATES(1) - 40.0000)/25.0000))
      ALGBRC(25) = ( 10.0000*EXP(- (STATES(1)+90.0000)/25.0000))/(1.00000+EXP(- (STATES(1)+90.0000)/25.0000))
      ALGBRC(31) = 1.00000/(ALGBRC(12)+ALGBRC(25))
      ALGBRC(36) = ALGBRC(12)/(ALGBRC(12)+ALGBRC(25))
      RATES(14) = (ALGBRC(36) - STATES(14))/ALGBRC(31)
      ALGBRC(13) = 0.0150000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(26) = ( 0.100000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      ALGBRC(32) = 1.00000/(ALGBRC(13)+ALGBRC(26))
      ALGBRC(37) = ALGBRC(13)/(ALGBRC(13)+ALGBRC(26))
      RATES(15) = (ALGBRC(37) - STATES(15))/ALGBRC(32)
      ALGBRC(5) = STATES(1)+10.0000
      ALGBRC(18) = 1.00000/(1.00000+EXP(- ALGBRC(5)/6.24000))
      ALGBRC(29) = ( 1.00000*ALGBRC(18)*(1.00000 - EXP(- ALGBRC(5)/6.24000)))/( 0.0350000*ALGBRC(5))
      ALGBRC(34) = ALGBRC(18)/ALGBRC(29)
      ALGBRC(39) = (1.00000 - ALGBRC(18))/ALGBRC(29)
      RATES(7) =  ALGBRC(34)*(1.00000 - STATES(7)) -  ALGBRC(39)*STATES(7)
      ALGBRC(61) = CONSTS(50)+CONSTS(51)+- STATES(18)
      ALGBRC(62) =  CONSTS(51)*STATES(18)
      ALGBRC(63) = ( (ALGBRC(61) ** 2.00000+ 4.00000*ALGBRC(62)) ** (1.0 / 2) - ALGBRC(61))/2.00000
      ALGBRC(74) = CONSTS(61)/(1.00000+0.0123000/ALGBRC(63))
      ALGBRC(64) = CONSTS(59)+CONSTS(58)+CONSTS(57)+CONSTS(56)+- STATES(17)
      ALGBRC(65) =  CONSTS(57)*CONSTS(56)+ CONSTS(58)*CONSTS(57)+ CONSTS(59)*CONSTS(56)+ - STATES(17)*(CONSTS(56)+CONSTS(57))
      ALGBRC(66) =  - CONSTS(56)*CONSTS(57)*STATES(17)
      ALGBRC(67) =  (2.00000/3.00000)* (ALGBRC(64) ** 2.00000 -  3.00000*ALGBRC(65)) ** (1.0 / 2)*cos(acos(( 9.00000*ALGBRC(64)*ALGBRC(65) - ( 2.00000*ALGBRC(64) ** 3.00000+ 27.0000*ALGBRC(66)))/( 2.00000* ALGBRC(64) ** 2.00000 -  3.00000*ALGBRC(65) ** 3.00000 ** (1.0 / 2)))/3.00000) - ALGBRC(64)/3.00000
      ALGBRC(68) = ( (( CONSTS(17)*2.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(15)*ALGBRC(67)*EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(16)*CONSTS(20)))/(EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(69) = 1.00000/(1.00000+ALGBRC(67)/CONSTS(22))
      ALGBRC(70) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(68)
      ALGBRC(72) = ( ALGBRC(70)*CONSTS(66))/(1.00000+CONSTS(62)/ALGBRC(63) ** CONSTS(63))
      RATES(16) = - (ALGBRC(72)+STATES(16))/ALGBRC(74)
      ALGBRC(4) = TERNRY(VOI.GE.CONSTS(4).AND.VOI.LE.CONSTS(5).AND.(VOI - CONSTS(4)) -  INT((VOI - CONSTS(4))/CONSTS(6))*CONSTS(6).LE.CONSTS(7), CONSTS(8), 0.00000)
      ALGBRC(40) = 1.00000/(1.00000+EXP((STATES(1)+9.00000)/22.4000))
      ALGBRC(43) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(6))
      ALGBRC(44) =  CONSTS(67)*STATES(11)*ALGBRC(40)*(STATES(1) - ALGBRC(43))
      ALGBRC(76) =  CONSTS(25)*(1.00000+0.600000/(1.00000+3.80000e-05/ALGBRC(67) ** 1.40000))
      ALGBRC(41) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log((CONSTS(21)+ CONSTS(26)*CONSTS(10))/(STATES(6)+ CONSTS(26)*STATES(2)))
      ALGBRC(77) =  ALGBRC(76)*STATES(12)*STATES(13)*(STATES(1) - ALGBRC(41))
      ALGBRC(53) = 0.850000/(1.00000+CONSTS(37)/STATES(2) ** CONSTS(36))
      ALGBRC(54) = 0.800000 - 0.650000/(1.00000+EXP((STATES(1)+125.000)/15.0000))
      ALGBRC(55) =  CONSTS(35)*ALGBRC(53)*ALGBRC(54)*(STATES(1) - ALGBRC(43))
      ALGBRC(47) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(43)) - 59.2150)))
      ALGBRC(48) = ( 1.00000*( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(43))+5.47600))+EXP( 0.0617500*((STATES(1) - ALGBRC(43)) - 594.310))))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(43))+4.75300)))
      ALGBRC(49) = ALGBRC(47)/(ALGBRC(47)+ALGBRC(48))
      ALGBRC(50) =  CONSTS(70)*ALGBRC(49)*(STATES(1) - ALGBRC(43))
      ALGBRC(45) =  CONSTS(77)*(STATES(1) - ALGBRC(43))
      ALGBRC(42) = EXP(STATES(1)/100.000)
      ALGBRC(46) =  CONSTS(69)*STATES(14) ** 3.00000*STATES(15)*ALGBRC(42)*(STATES(1) - ALGBRC(43))
      ALGBRC(51) = 1.00000/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(52) =  CONSTS(34)*ALGBRC(51)*(STATES(1) - ALGBRC(43))
      ALGBRC(57) = 1.00000/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0365000*CONSTS(71)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))))
      ALGBRC(58) = (( CONSTS(42)*ALGBRC(57))/(1.00000+CONSTS(43)/STATES(2) ** 2.00000))/(1.00000+CONSTS(44)/CONSTS(21))
      ALGBRC(38) = ( (( CONSTS(19)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(13)*STATES(6)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(14)*CONSTS(21)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(73) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(38)
      ALGBRC(60) = ( (( CONSTS(72)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(13)*STATES(6)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(14)*CONSTS(21)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(83) = ( ALGBRC(60)*1.00000)/(1.00000+CONSTS(45)/ALGBRC(67) ** 3.00000)
      RATES(6) = ( - 1.00000*(ALGBRC(4)+ALGBRC(73)+ALGBRC(44)+ALGBRC(77)+ALGBRC(50)+ALGBRC(45)+ALGBRC(46)+ALGBRC(52)+ALGBRC(55)+ALGBRC(83)+ - ALGBRC(58)*2.00000)*CONSTS(55))/( CONSTS(76)*CONSTS(3))
      ALGBRC(17) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(10)/STATES(2))
      ALGBRC(28) =  CONSTS(9)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(17))
      ALGBRC(85) = ( CONSTS(46)*EXP(( (CONSTS(48) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*( EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(20) -  CONSTS(10) ** 3.00000*ALGBRC(67)))/(1.00000+ CONSTS(47)*EXP(( (CONSTS(48) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*( EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(20)+ CONSTS(10) ** 3.00000*ALGBRC(67)))
      ALGBRC(56) =  CONSTS(40)*(STATES(1) - ALGBRC(17))
      ALGBRC(33) = ( (( CONSTS(18)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(11)*STATES(2)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(12)*CONSTS(10)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(71) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(33)
      ALGBRC(59) = ( (( CONSTS(72)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(11)*STATES(2)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(12)*CONSTS(10)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(82) = ( ALGBRC(59)*1.00000)/(1.00000+CONSTS(45)/ALGBRC(67) ** 3.00000)
      RATES(2) = ( - 1.00000*(ALGBRC(28)+ALGBRC(71)+ALGBRC(56)+ALGBRC(82)+ ALGBRC(85)*3.00000+ ALGBRC(58)*3.00000)*CONSTS(55))/( CONSTS(76)*CONSTS(3))
      ALGBRC(75) = ALGBRC(70)+ALGBRC(73)+ALGBRC(71)
      ALGBRC(79) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(20)/ALGBRC(67))
      ALGBRC(80) =  CONSTS(23)*STATES(9)*STATES(9)*STATES(10)*(STATES(1) - ALGBRC(79))
      ALGBRC(78) = ( CONSTS(39)*ALGBRC(67))/(CONSTS(38)+ALGBRC(67))
      ALGBRC(81) =  CONSTS(41)*(STATES(1) - ALGBRC(79))
      ALGBRC(84) = ALGBRC(82)+ALGBRC(83)
      ALGBRC(86) = - (ALGBRC(28)+ALGBRC(75)+ALGBRC(80)+ALGBRC(44)+ALGBRC(77)+ALGBRC(55)+ALGBRC(50)+ALGBRC(45)+ALGBRC(46)+ALGBRC(52)+ALGBRC(85)+ALGBRC(78)+ALGBRC(56)+ALGBRC(81)+ALGBRC(58)+ALGBRC(84)+ALGBRC(4))
      RATES(1) = ALGBRC(86)
      ALGBRC(87) = ( CONSTS(53)*ALGBRC(67))/(ALGBRC(67)+CONSTS(52))
      ALGBRC(88) =  CONSTS(73)*STATES(19)
      RATES(17) = ( - 1.00000*CONSTS(55)*(ALGBRC(70)+ALGBRC(80)+ALGBRC(78)+ALGBRC(81)+ - 2.00000*ALGBRC(85)))/( 2.00000*CONSTS(76)*CONSTS(3))+( STATES(16)*CONSTS(78))/CONSTS(76)+( (ALGBRC(88) - ALGBRC(87))*CONSTS(79))/CONSTS(76)
      ALGBRC(89) = (STATES(19) - ALGBRC(63))/CONSTS(49)
      RATES(18) = ALGBRC(89) - STATES(16)
      RATES(19) = (( - ALGBRC(89)*CONSTS(78))/CONSTS(79) - ALGBRC(88))+ALGBRC(87)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((80.0000+STATES(1))/- 6.80000), 0.00000)
      ALGBRC(15) = TERNRY(STATES(1).LT.- 40.0000,  3.56000*EXP( 0.0790000*STATES(1))+ 310000.*EXP( 0.350000*STATES(1)), 1.00000/( 0.130000*(1.00000+EXP((STATES(1)+10.6600)/- 11.1000))))
      ALGBRC(3) = TERNRY(STATES(1).LT.- 40.0000, ( - ( 127140.*EXP( 0.244400*STATES(1))+ 3.47400e-05*EXP( - 0.0439100*STATES(1)))*(STATES(1)+37.7800))/(1.00000+EXP( 0.311000*(STATES(1)+79.2300))), 0.00000)
      ALGBRC(16) = 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(7) = 1.00000/(1.00000+EXP(- (STATES(1)+50.0000)/5.00000))
      ALGBRC(20) = 5.00000/( 1.06800*EXP((STATES(1)+16.3000)/30.0000)+ 1.06800*EXP(- (STATES(1)+16.3000)/30.0000))
      ALGBRC(8) = 1.00000/(1.00000+EXP((STATES(1)+61.0000)/5.00000))
      ALGBRC(21) = 5.00000/( 0.0150000*EXP(- (STATES(1)+71.7000)/83.3000)+ 0.0150000*EXP((STATES(1)+71.7000)/15.4000))
      ALGBRC(9) = 1.00000/(1.00000+EXP(- (STATES(1)+21.5000)/7.50000))
      ALGBRC(22) = 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(10) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(23) = 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(11) = 1.00000/(1.00000+EXP(- (STATES(1) - 1.50000)/16.7000))
      ALGBRC(24) = 4.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(1) = STATES(1)+47.1300
      ALGBRC(14) = ( 0.320000*ALGBRC(1))/(1.00000 - EXP( - 0.100000*ALGBRC(1)))
      ALGBRC(27) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+32.0000)/8.00000))+0.600000/(1.00000+EXP((50.0000 - STATES(1))/20.0000))
      ALGBRC(19) = 1.00000/( 0.0197000*EXP(-  0.0337000*(STATES(1)+10.0000) ** 2.00000)+0.0200000)
      ALGBRC(30) = ALGBRC(6)/ALGBRC(19)
      ALGBRC(35) = (1.00000 - ALGBRC(6))/ALGBRC(19)
      ALGBRC(12) = ( 10.0000*EXP((STATES(1) - 40.0000)/25.0000))/(1.00000+EXP((STATES(1) - 40.0000)/25.0000))
      ALGBRC(25) = ( 10.0000*EXP(- (STATES(1)+90.0000)/25.0000))/(1.00000+EXP(- (STATES(1)+90.0000)/25.0000))
      ALGBRC(31) = 1.00000/(ALGBRC(12)+ALGBRC(25))
      ALGBRC(36) = ALGBRC(12)/(ALGBRC(12)+ALGBRC(25))
      ALGBRC(13) = 0.0150000/(1.00000+EXP((STATES(1)+60.0000)/5.00000))
      ALGBRC(26) = ( 0.100000*EXP((STATES(1)+25.0000)/5.00000))/(1.00000+EXP((STATES(1)+25.0000)/5.00000))
      ALGBRC(32) = 1.00000/(ALGBRC(13)+ALGBRC(26))
      ALGBRC(37) = ALGBRC(13)/(ALGBRC(13)+ALGBRC(26))
      ALGBRC(5) = STATES(1)+10.0000
      ALGBRC(18) = 1.00000/(1.00000+EXP(- ALGBRC(5)/6.24000))
      ALGBRC(29) = ( 1.00000*ALGBRC(18)*(1.00000 - EXP(- ALGBRC(5)/6.24000)))/( 0.0350000*ALGBRC(5))
      ALGBRC(34) = ALGBRC(18)/ALGBRC(29)
      ALGBRC(39) = (1.00000 - ALGBRC(18))/ALGBRC(29)
      ALGBRC(61) = CONSTS(50)+CONSTS(51)+- STATES(18)
      ALGBRC(62) =  CONSTS(51)*STATES(18)
      ALGBRC(63) = ( (ALGBRC(61) ** 2.00000+ 4.00000*ALGBRC(62)) ** (1.0 / 2) - ALGBRC(61))/2.00000
      ALGBRC(74) = CONSTS(61)/(1.00000+0.0123000/ALGBRC(63))
      ALGBRC(64) = CONSTS(59)+CONSTS(58)+CONSTS(57)+CONSTS(56)+- STATES(17)
      ALGBRC(65) =  CONSTS(57)*CONSTS(56)+ CONSTS(58)*CONSTS(57)+ CONSTS(59)*CONSTS(56)+ - STATES(17)*(CONSTS(56)+CONSTS(57))
      ALGBRC(66) =  - CONSTS(56)*CONSTS(57)*STATES(17)
      ALGBRC(67) =  (2.00000/3.00000)* (ALGBRC(64) ** 2.00000 -  3.00000*ALGBRC(65)) ** (1.0 / 2)*cos(acos(( 9.00000*ALGBRC(64)*ALGBRC(65) - ( 2.00000*ALGBRC(64) ** 3.00000+ 27.0000*ALGBRC(66)))/( 2.00000* ALGBRC(64) ** 2.00000 -  3.00000*ALGBRC(65) ** 3.00000 ** (1.0 / 2)))/3.00000) - ALGBRC(64)/3.00000
      ALGBRC(68) = ( (( CONSTS(17)*2.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(15)*ALGBRC(67)*EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(16)*CONSTS(20)))/(EXP(( 2.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(69) = 1.00000/(1.00000+ALGBRC(67)/CONSTS(22))
      ALGBRC(70) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(68)
      ALGBRC(72) = ( ALGBRC(70)*CONSTS(66))/(1.00000+CONSTS(62)/ALGBRC(63) ** CONSTS(63))
      ALGBRC(4) = TERNRY(VOI.GE.CONSTS(4).AND.VOI.LE.CONSTS(5).AND.(VOI - CONSTS(4)) -  INT((VOI - CONSTS(4))/CONSTS(6))*CONSTS(6).LE.CONSTS(7), CONSTS(8), 0.00000)
      ALGBRC(40) = 1.00000/(1.00000+EXP((STATES(1)+9.00000)/22.4000))
      ALGBRC(43) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(21)/STATES(6))
      ALGBRC(44) =  CONSTS(67)*STATES(11)*ALGBRC(40)*(STATES(1) - ALGBRC(43))
      ALGBRC(76) =  CONSTS(25)*(1.00000+0.600000/(1.00000+3.80000e-05/ALGBRC(67) ** 1.40000))
      ALGBRC(41) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log((CONSTS(21)+ CONSTS(26)*CONSTS(10))/(STATES(6)+ CONSTS(26)*STATES(2)))
      ALGBRC(77) =  ALGBRC(76)*STATES(12)*STATES(13)*(STATES(1) - ALGBRC(41))
      ALGBRC(53) = 0.850000/(1.00000+CONSTS(37)/STATES(2) ** CONSTS(36))
      ALGBRC(54) = 0.800000 - 0.650000/(1.00000+EXP((STATES(1)+125.000)/15.0000))
      ALGBRC(55) =  CONSTS(35)*ALGBRC(53)*ALGBRC(54)*(STATES(1) - ALGBRC(43))
      ALGBRC(47) = 1.02000/(1.00000+EXP( 0.238500*((STATES(1) - ALGBRC(43)) - 59.2150)))
      ALGBRC(48) = ( 1.00000*( 0.491240*EXP( 0.0803200*((STATES(1) - ALGBRC(43))+5.47600))+EXP( 0.0617500*((STATES(1) - ALGBRC(43)) - 594.310))))/(1.00000+EXP( - 0.514300*((STATES(1) - ALGBRC(43))+4.75300)))
      ALGBRC(49) = ALGBRC(47)/(ALGBRC(47)+ALGBRC(48))
      ALGBRC(50) =  CONSTS(70)*ALGBRC(49)*(STATES(1) - ALGBRC(43))
      ALGBRC(45) =  CONSTS(77)*(STATES(1) - ALGBRC(43))
      ALGBRC(42) = EXP(STATES(1)/100.000)
      ALGBRC(46) =  CONSTS(69)*STATES(14) ** 3.00000*STATES(15)*ALGBRC(42)*(STATES(1) - ALGBRC(43))
      ALGBRC(51) = 1.00000/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(52) =  CONSTS(34)*ALGBRC(51)*(STATES(1) - ALGBRC(43))
      ALGBRC(57) = 1.00000/(1.00000+ 0.124500*EXP(( - 0.100000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))+ 0.0365000*CONSTS(71)*EXP(( - STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))))
      ALGBRC(58) = (( CONSTS(42)*ALGBRC(57))/(1.00000+CONSTS(43)/STATES(2) ** 2.00000))/(1.00000+CONSTS(44)/CONSTS(21))
      ALGBRC(38) = ( (( CONSTS(19)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(13)*STATES(6)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(14)*CONSTS(21)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(73) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(38)
      ALGBRC(60) = ( (( CONSTS(72)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(13)*STATES(6)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(14)*CONSTS(21)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(83) = ( ALGBRC(60)*1.00000)/(1.00000+CONSTS(45)/ALGBRC(67) ** 3.00000)
      ALGBRC(17) =  (( CONSTS(1)*CONSTS(2))/CONSTS(3))*log(CONSTS(10)/STATES(2))
      ALGBRC(28) =  CONSTS(9)*STATES(3) ** 3.00000*STATES(4)*STATES(5)*(STATES(1) - ALGBRC(17))
      ALGBRC(85) = ( CONSTS(46)*EXP(( (CONSTS(48) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*( EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(20) -  CONSTS(10) ** 3.00000*ALGBRC(67)))/(1.00000+ CONSTS(47)*EXP(( (CONSTS(48) - 1.00000)*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*( EXP(( STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2)))*STATES(2) ** 3.00000*CONSTS(20)+ CONSTS(10) ** 3.00000*ALGBRC(67)))
      ALGBRC(56) =  CONSTS(40)*(STATES(1) - ALGBRC(17))
      ALGBRC(33) = ( (( CONSTS(18)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(11)*STATES(2)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(12)*CONSTS(10)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(71) =  STATES(7)*STATES(8)*ALGBRC(69)*ALGBRC(33)
      ALGBRC(59) = ( (( CONSTS(72)*1.00000 ** 2.00000*STATES(1)*CONSTS(3) ** 2.00000)/( CONSTS(1)*CONSTS(2)))*( CONSTS(11)*STATES(2)*EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) -  CONSTS(12)*CONSTS(10)))/(EXP(( 1.00000*STATES(1)*CONSTS(3))/( CONSTS(1)*CONSTS(2))) - 1.00000)
      ALGBRC(82) = ( ALGBRC(59)*1.00000)/(1.00000+CONSTS(45)/ALGBRC(67) ** 3.00000)
      ALGBRC(75) = ALGBRC(70)+ALGBRC(73)+ALGBRC(71)
      ALGBRC(79) =  (( CONSTS(1)*CONSTS(2))/( 2.00000*CONSTS(3)))*log(CONSTS(20)/ALGBRC(67))
      ALGBRC(80) =  CONSTS(23)*STATES(9)*STATES(9)*STATES(10)*(STATES(1) - ALGBRC(79))
      ALGBRC(78) = ( CONSTS(39)*ALGBRC(67))/(CONSTS(38)+ALGBRC(67))
      ALGBRC(81) =  CONSTS(41)*(STATES(1) - ALGBRC(79))
      ALGBRC(84) = ALGBRC(82)+ALGBRC(83)
      ALGBRC(86) = - (ALGBRC(28)+ALGBRC(75)+ALGBRC(80)+ALGBRC(44)+ALGBRC(77)+ALGBRC(55)+ALGBRC(50)+ALGBRC(45)+ALGBRC(46)+ALGBRC(52)+ALGBRC(85)+ALGBRC(78)+ALGBRC(56)+ALGBRC(81)+ALGBRC(58)+ALGBRC(84)+ALGBRC(4))
      ALGBRC(87) = ( CONSTS(53)*ALGBRC(67))/(ALGBRC(67)+CONSTS(52))
      ALGBRC(88) =  CONSTS(73)*STATES(19)
      ALGBRC(89) = (STATES(19) - ALGBRC(63))/CONSTS(49)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END