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 98 entries in the algebraic variable array.
C There are a total of 35 entries in each of the rate and state variable arrays.
C There are a total of 103 entries in the constant variable array.
C
C
C STATES(1) is Ca_jsr in component Ca_dynamics (mM).
C STATES(2) is Ca_sub in component Ca_dynamics (mM).
C CONSTS(1) is EC50_SR in component Ca_SR_release (mM).
C CONSTS(2) is HSR in component Ca_SR_release (dimensionless).
C STATES(3) is I in component Ca_SR_release (dimensionless).
C CONSTS(3) is MaxSR in component Ca_SR_release (dimensionless).
C CONSTS(4) is MinSR in component Ca_SR_release (dimensionless).
C STATES(4) is O in component Ca_SR_release (dimensionless).
C STATES(5) is R in component Ca_SR_release (dimensionless).
C STATES(6) is RI in component Ca_SR_release (dimensionless).
C ALGBRC(2) is j_SRCarel in component Ca_SR_release (mol_per_m3_per_s).
C ALGBRC(1) is kCaSR in component Ca_SR_release (dimensionless).
C CONSTS(5) is kiCa in component Ca_SR_release (m3_per_s_per_mol).
C ALGBRC(6) is kiSRCa in component Ca_SR_release (m3_per_s_per_mol).
C CONSTS(6) is kim in component Ca_SR_release (hertz).
C CONSTS(7) is koCa in component Ca_SR_release (m6_per_s_per_mol2).
C ALGBRC(10) is koSRCa in component Ca_SR_release (m6_per_s_per_mol2).
C CONSTS(8) is kom in component Ca_SR_release (hertz).
C CONSTS(9) is ks in component Ca_SR_release (hertz).
C VOI is time in component environment (second).
C CONSTS(10) is CM_tot in component Ca_buffering (mM).
C CONSTS(11) is CQ_tot in component Ca_buffering (mM).
C STATES(7) is Cai in component Ca_dynamics (mM).
C CONSTS(12) is Mgi in component Ca_buffering (mM).
C CONSTS(13) is TC_tot in component Ca_buffering (mM).
C CONSTS(14) is TMC_tot in component Ca_buffering (mM).
C ALGBRC(7) is delta_fCMi in component Ca_buffering (hertz).
C ALGBRC(11) is delta_fCMs in component Ca_buffering (hertz).
C ALGBRC(12) is delta_fCQ in component Ca_buffering (hertz).
C ALGBRC(13) is delta_fTC in component Ca_buffering (hertz).
C ALGBRC(14) is delta_fTMC in component Ca_buffering (hertz).
C ALGBRC(3) is delta_fTMM in component Ca_buffering (hertz).
C STATES(8) is fCMi in component Ca_buffering (dimensionless).
C STATES(9) is fCMs in component Ca_buffering (dimensionless).
C STATES(10) is fCQ in component Ca_buffering (dimensionless).
C STATES(11) is fTC in component Ca_buffering (dimensionless).
C STATES(12) is fTMC in component Ca_buffering (dimensionless).
C STATES(13) is fTMM in component Ca_buffering (dimensionless).
C CONSTS(15) is kb_CM in component Ca_buffering (hertz).
C CONSTS(16) is kb_CQ in component Ca_buffering (hertz).
C CONSTS(17) is kb_TC in component Ca_buffering (hertz).
C CONSTS(18) is kb_TMC in component Ca_buffering (hertz).
C CONSTS(19) is kb_TMM in component Ca_buffering (hertz).
C CONSTS(20) is kf_CM in component Ca_buffering (m3_per_s_per_mol).
C CONSTS(21) is kf_CQ in component Ca_buffering (m3_per_s_per_mol).
C CONSTS(22) is kf_TC in component Ca_buffering (m3_per_s_per_mol).
C CONSTS(23) is kf_TMC in component Ca_buffering (m3_per_s_per_mol).
C CONSTS(24) is kf_TMM in component Ca_buffering (m3_per_s_per_mol).
C STATES(14) is Ca_nsr in component Ca_dynamics (mM).
C CONSTS(25) is F in component Membrane (C_per_mol).
C CONSTS(92) is V_i in component Cell_parameters (uL).
C CONSTS(89) is V_jsr in component Cell_parameters (uL).
C CONSTS(90) is V_nsr in component Cell_parameters (uL).
C CONSTS(91) is V_sub in component Cell_parameters (uL).
C ALGBRC(65) is i_CaT in component i_CaT (nA).
C ALGBRC(91) is i_NaCa in component i_NaCa (nA).
C ALGBRC(21) is i_siCa in component i_CaL (nA).
C ALGBRC(15) is j_Ca_dif in component Ca_intracellular_fluxes (mol_per_m3_per_s).
C ALGBRC(16) is j_tr in component Ca_intracellular_fluxes (mol_per_m3_per_s).
C ALGBRC(18) is j_up in component Ca_intracellular_fluxes (mol_per_m3_per_s).
C CONSTS(26) is ACh in component Rate_modulation_experiments (mM).
C CONSTS(27) is Iso_1_uM in component Rate_modulation_experiments (dimensionless).
C CONSTS(28) is K_up in component Ca_intracellular_fluxes (mM).
C CONSTS(88) is P_up in component Ca_intracellular_fluxes (mol_per_m3_per_s).
C CONSTS(29) is P_up_basal in component Ca_intracellular_fluxes (mol_per_m3_per_s).
C CONSTS(83) is b_up in component Ca_intracellular_fluxes (dimensionless).
C CONSTS(30) is slope_up in component Ca_intracellular_fluxes (mM).
C CONSTS(31) is tau_dif_Ca in component Ca_intracellular_fluxes (second).
C CONSTS(32) is tau_tr in component Ca_intracellular_fluxes (second).
C CONSTS(33) is L_cell in component Cell_parameters (um).
C CONSTS(34) is L_sub in component Cell_parameters (um).
C CONSTS(35) is R_cell in component Cell_parameters (um).
C CONSTS(84) is V_cell in component Cell_parameters (uL).
C CONSTS(36) is V_i_part in component Cell_parameters (dimensionless).
C CONSTS(37) is V_jsr_part in component Cell_parameters (dimensionless).
C CONSTS(38) is V_nsr_part in component Cell_parameters (dimensionless).
C CONSTS(39) is Cao in component Ionic_values (mM).
C ALGBRC(17) is E_K in component Ionic_values (mV).
C ALGBRC(19) is E_Na in component Ionic_values (mV).
C STATES(15) is Ki in component Ki_concentration (mM).
C CONSTS(40) is Ko in component Ionic_values (mM).
C STATES(16) is Nai in component Nai_concentration (mM).
C CONSTS(41) is Nao in component Ionic_values (mM).
C CONSTS(93) is RTONF in component Membrane (mV).
C ALGBRC(70) is i_Kr in component i_Kr (nA).
C ALGBRC(72) is i_Ks in component i_Ks (nA).
C ALGBRC(73) is i_Kur in component i_Kur (nA).
C ALGBRC(92) is i_NaK in component i_NaK (nA).
C ALGBRC(93) is i_SK in component i_SK (nA).
C ALGBRC(94) is i_fK in component i_f (nA).
C ALGBRC(37) is i_siK in component i_CaL (nA).
C ALGBRC(97) is i_to in component i_to (nA).
C CONSTS(42) is C in component Membrane (uF).
C CONSTS(43) is R in component Membrane (mJ_per_mol_per_K).
C CONSTS(44) is T in component Membrane (kelvin).
C ALGBRC(20) is V in component Membrane (mV).
C STATES(17) is V_ode in component Membrane (mV).
C ALGBRC(60) is i_CaL in component i_CaL (nA).
C ALGBRC(68) is i_KACh in component i_KACh (nA).
C ALGBRC(77) is i_Na in component i_Na (nA).
C ALGBRC(96) is i_f in component i_f (nA).
C ALGBRC(98) is i_tot in component Membrane (nA).
C ALGBRC(95) is i_fNa in component i_f (nA).
C ALGBRC(54) is i_siNa in component i_CaL (nA).
C CONSTS(94) is ACh_block in component i_CaL (dimensionless).
C CONSTS(95) is Iso_increase in component i_CaL (dimensionless).
C CONSTS(45) is P_CaL in component i_CaL (m3_A_per_mol_times_1e_minus_9).
C STATES(18) is dL in component i_CaL_dL_gate (dimensionless).
C STATES(19) is fCa in component i_CaL_fCa_gate (dimensionless).
C STATES(20) is fL in component i_CaL_fL_gate (dimensionless).
C CONSTS(96) is Iso_shift_dL in component i_CaL_dL_gate (mV).
C CONSTS(97) is Iso_slope_dL in component i_CaL_dL_gate (dimensionless).
C CONSTS(98) is V_dL in component i_CaL_dL_gate (mV).
C ALGBRC(22) is adVm in component i_CaL_dL_gate (mV).
C ALGBRC(38) is alpha_dL in component i_CaL_dL_gate (hertz).
C ALGBRC(55) is bdVm in component i_CaL_dL_gate (mV).
C ALGBRC(61) is beta_dL in component i_CaL_dL_gate (hertz).
C ALGBRC(66) is dL_infinity in component i_CaL_dL_gate (dimensionless).
C CONSTS(46) is k_dL in component i_CaL_dL_gate (mV).
C ALGBRC(69) is tau_dL in component i_CaL_dL_gate (second).
C CONSTS(47) is Km_fCa in component i_CaL_fCa_gate (mM).
C CONSTS(48) is alpha_fCa in component i_CaL_fCa_gate (hertz).
C ALGBRC(4) is fCa_infinity in component i_CaL_fCa_gate (dimensionless).
C ALGBRC(8) is tau_fCa in component i_CaL_fCa_gate (second).
C ALGBRC(23) is fL_infinity in component i_CaL_fL_gate (dimensionless).
C CONSTS(49) is k_fL in component i_CaL_fL_gate (mV).
C CONSTS(50) is shift_fL in component i_CaL_fL_gate (mV).
C ALGBRC(39) is tau_fL in component i_CaL_fL_gate (second).
C CONSTS(51) is P_CaT in component i_CaT (m3_A_per_mol_times_1e_minus_9).
C STATES(21) is dT in component i_CaT_dT_gate (dimensionless).
C STATES(22) is fT in component i_CaT_fT_gate (dimensionless).
C ALGBRC(24) is dT_infinity in component i_CaT_dT_gate (dimensionless).
C ALGBRC(40) is tau_dT in component i_CaT_dT_gate (second).
C ALGBRC(25) is fT_infinity in component i_CaT_fT_gate (dimensionless).
C CONSTS(52) is offset_fT in component i_CaT_fT_gate (second).
C ALGBRC(41) is tau_fT in component i_CaT_fT_gate (second).
C CONSTS(53) is ACh_on in component i_KACh (dimensionless).
C STATES(23) is a in component i_KACh_a_gate (dimensionless).
C CONSTS(54) is g_KACh in component i_KACh (uS).
C ALGBRC(42) is a_infinity in component i_KACh_a_gate (dimensionless).
C CONSTS(99) is alpha_a in component i_KACh_a_gate (hertz).
C ALGBRC(26) is beta_a in component i_KACh_a_gate (hertz).
C ALGBRC(56) is tau_a in component i_KACh_a_gate (second).
C CONSTS(85) is g_Kr in component i_Kr (uS).
C STATES(24) is paF in component i_Kr_pa_gate (dimensionless).
C STATES(25) is paS in component i_Kr_pa_gate (dimensionless).
C STATES(26) is piy in component i_Kr_pi_gate (dimensionless).
C ALGBRC(27) is pa_infinity in component i_Kr_pa_gate (dimensionless).
C ALGBRC(43) is tau_paF in component i_Kr_pa_gate (second).
C ALGBRC(44) is tau_paS in component i_Kr_pa_gate (second).
C ALGBRC(28) is pi_infinity in component i_Kr_pi_gate (dimensionless).
C ALGBRC(45) is tau_pi in component i_Kr_pi_gate (second).
C ALGBRC(71) is E_Ks in component i_Ks (mV).
C CONSTS(86) is g_Ks in component i_Ks (uS).
C CONSTS(55) is g_Ks_ in component i_Ks (uS).
C STATES(27) is n in component i_Ks_n_gate (dimensionless).
C CONSTS(100) is Iso_shift in component i_Ks_n_gate (mV).
C ALGBRC(29) is alpha_n in component i_Ks_n_gate (hertz).
C ALGBRC(46) is beta_n in component i_Ks_n_gate (hertz).
C ALGBRC(57) is n_infinity in component i_Ks_n_gate (dimensionless).
C ALGBRC(62) is tau_n in component i_Ks_n_gate (second).
C CONSTS(56) is g_Kur in component i_Kur (uS).
C STATES(28) is r_Kur in component i_Kur_rKur_gate (dimensionless).
C STATES(29) is s_Kur in component i_Kur_sKur_gate (dimensionless).
C ALGBRC(30) is r_Kur_infinity in component i_Kur_rKur_gate (dimensionless).
C ALGBRC(47) is tau_r_Kur in component i_Kur_rKur_gate (second).
C ALGBRC(31) is s_Kur_infinity in component i_Kur_sKur_gate (dimensionless).
C ALGBRC(48) is tau_s_Kur in component i_Kur_sKur_gate (second).
C ALGBRC(74) is E_mh in component i_Na (mV).
C CONSTS(57) is g_Na in component i_Na (uS).
C CONSTS(58) is g_Na_L in component i_Na (uS).
C STATES(30) is h in component i_Na_h_gate (dimensionless).
C ALGBRC(75) is i_Na_ in component i_Na (nA).
C ALGBRC(76) is i_Na_L in component i_Na (nA).
C STATES(31) is m in component i_Na_m_gate (dimensionless).
C CONSTS(59) is K1ni in component i_NaCa (mM).
C CONSTS(60) is K1no in component i_NaCa (mM).
C CONSTS(61) is K2ni in component i_NaCa (mM).
C CONSTS(62) is K2no in component i_NaCa (mM).
C CONSTS(63) is K3ni in component i_NaCa (mM).
C CONSTS(64) is K3no in component i_NaCa (mM).
C CONSTS(65) is K_NaCa in component i_NaCa (nA).
C CONSTS(66) is Kci in component i_NaCa (mM).
C CONSTS(67) is Kcni in component i_NaCa (mM).
C CONSTS(68) is Kco in component i_NaCa (mM).
C CONSTS(69) is Qci in component i_NaCa (dimensionless).
C CONSTS(70) is Qco in component i_NaCa (dimensionless).
C CONSTS(71) is Qn in component i_NaCa (dimensionless).
C ALGBRC(78) is di in component i_NaCa (dimensionless).
C ALGBRC(79) is do in component i_NaCa (dimensionless).
C ALGBRC(80) is k12 in component i_NaCa (dimensionless).
C ALGBRC(81) is k14 in component i_NaCa (dimensionless).
C ALGBRC(82) is k21 in component i_NaCa (dimensionless).
C ALGBRC(83) is k23 in component i_NaCa (dimensionless).
C ALGBRC(84) is k32 in component i_NaCa (dimensionless).
C CONSTS(101) is k34 in component i_NaCa (dimensionless).
C ALGBRC(85) is k41 in component i_NaCa (dimensionless).
C ALGBRC(86) is k43 in component i_NaCa (dimensionless).
C ALGBRC(87) is x1 in component i_NaCa (dimensionless).
C ALGBRC(88) is x2 in component i_NaCa (dimensionless).
C ALGBRC(89) is x3 in component i_NaCa (dimensionless).
C ALGBRC(90) is x4 in component i_NaCa (dimensionless).
C CONSTS(87) is Iso_increase in component i_NaK (dimensionless).
C CONSTS(72) is Km_Kp in component i_NaK (mM).
C CONSTS(73) is Km_Nap in component i_NaK (mM).
C CONSTS(74) is i_NaK_max in component i_NaK (nA).
C ALGBRC(32) is alpha_h in component i_Na_h_gate (hertz).
C ALGBRC(49) is beta_h in component i_Na_h_gate (hertz).
C ALGBRC(58) is h_infinity in component i_Na_h_gate (dimensionless).
C ALGBRC(63) is tau_h in component i_Na_h_gate (second).
C ALGBRC(33) is E0_m in component i_Na_m_gate (mV).
C ALGBRC(50) is alpha_m in component i_Na_m_gate (hertz).
C ALGBRC(59) is beta_m in component i_Na_m_gate (hertz).
C CONSTS(75) is delta_m in component i_Na_m_gate (mV).
C ALGBRC(64) is m_infinity in component i_Na_m_gate (dimensionless).
C ALGBRC(67) is tau_m in component i_Na_m_gate (second).
C CONSTS(76) is g_SK in component i_SK (uS).
C STATES(32) is x in component i_SK_x_gate (dimensionless).
C CONSTS(77) is EC50_SK in component i_SK_x_gate (mM).
C CONSTS(78) is n_SK in component i_SK_x_gate (dimensionless).
C ALGBRC(5) is tau_x in component i_SK_x_gate (second).
C ALGBRC(9) is x_infinity in component i_SK_x_gate (dimensionless).
C CONSTS(79) is g_f_K in component i_f (uS).
C CONSTS(80) is g_f_Na in component i_f (uS).
C STATES(33) is y in component i_f_y_gate (dimensionless).
C CONSTS(102) is ACh_shift in component i_f_y_gate (mV).
C CONSTS(103) is Iso_shift in component i_f_y_gate (mV).
C ALGBRC(34) is tau_y in component i_f_y_gate (second).
C ALGBRC(51) is y_infinity in component i_f_y_gate (dimensionless).
C CONSTS(81) is y_shift in component i_f_y_gate (mV).
C CONSTS(82) is g_to in component i_to (uS).
C STATES(34) is q in component i_to_q_gate (dimensionless).
C STATES(35) is r in component i_to_r_gate (dimensionless).
C ALGBRC(35) is q_infinity in component i_to_q_gate (dimensionless).
C ALGBRC(52) is tau_q in component i_to_q_gate (second).
C ALGBRC(36) is r_infinity in component i_to_r_gate (dimensionless).
C ALGBRC(53) is tau_r in component i_to_r_gate (second).
C RATES(3) is d/dt I in component Ca_SR_release (dimensionless).
C RATES(4) is d/dt O in component Ca_SR_release (dimensionless).
C RATES(5) is d/dt R in component Ca_SR_release (dimensionless).
C RATES(6) is d/dt RI in component Ca_SR_release (dimensionless).
C RATES(8) is d/dt fCMi in component Ca_buffering (dimensionless).
C RATES(9) is d/dt fCMs in component Ca_buffering (dimensionless).
C RATES(10) is d/dt fCQ in component Ca_buffering (dimensionless).
C RATES(11) is d/dt fTC in component Ca_buffering (dimensionless).
C RATES(12) is d/dt fTMC in component Ca_buffering (dimensionless).
C RATES(13) is d/dt fTMM in component Ca_buffering (dimensionless).
C RATES(1) is d/dt Ca_jsr in component Ca_dynamics (mM).
C RATES(14) is d/dt Ca_nsr in component Ca_dynamics (mM).
C RATES(2) is d/dt Ca_sub in component Ca_dynamics (mM).
C RATES(7) is d/dt Cai in component Ca_dynamics (mM).
C RATES(15) is d/dt Ki in component Ki_concentration (mM).
C RATES(17) is d/dt V_ode in component Membrane (mV).
C RATES(16) is d/dt Nai in component Nai_concentration (mM).
C RATES(18) is d/dt dL in component i_CaL_dL_gate (dimensionless).
C RATES(19) is d/dt fCa in component i_CaL_fCa_gate (dimensionless).
C RATES(20) is d/dt fL in component i_CaL_fL_gate (dimensionless).
C RATES(21) is d/dt dT in component i_CaT_dT_gate (dimensionless).
C RATES(22) is d/dt fT in component i_CaT_fT_gate (dimensionless).
C RATES(23) is d/dt a in component i_KACh_a_gate (dimensionless).
C RATES(24) is d/dt paF in component i_Kr_pa_gate (dimensionless).
C RATES(25) is d/dt paS in component i_Kr_pa_gate (dimensionless).
C RATES(26) is d/dt piy in component i_Kr_pi_gate (dimensionless).
C RATES(27) is d/dt n in component i_Ks_n_gate (dimensionless).
C RATES(28) is d/dt r_Kur in component i_Kur_rKur_gate (dimensionless).
C RATES(29) is d/dt s_Kur in component i_Kur_sKur_gate (dimensionless).
C RATES(30) is d/dt h in component i_Na_h_gate (dimensionless).
C RATES(31) is d/dt m in component i_Na_m_gate (dimensionless).
C RATES(32) is d/dt x in component i_SK_x_gate (dimensionless).
C RATES(33) is d/dt y in component i_f_y_gate (dimensionless).
C RATES(34) is d/dt q in component i_to_q_gate (dimensionless).
C RATES(35) is d/dt r in component i_to_r_gate (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.5869378
      STATES(2) = 8.59587700000000057e-05
      CONSTS(1) = 0.45
      CONSTS(2) = 2.5
      STATES(3) = 1.88065699999999987e-09
      CONSTS(3) = 15.0
      CONSTS(4) = 1.0
      STATES(4) = 1.75000900000000001e-08
      STATES(5) = 0.9004965
      STATES(6) = 9.67726599999999965e-02
      CONSTS(5) = 500.0
      CONSTS(6) = 5.0
      CONSTS(7) = 10000.0
      CONSTS(8) = 660.0
      CONSTS(9) = 1.48041085099999994e+08
      CONSTS(10) = 0.045
      CONSTS(11) = 10.0
      STATES(7) = 1.26704600000000013e-04
      CONSTS(12) = 2.5
      CONSTS(13) = 0.031
      CONSTS(14) = 0.062
      STATES(8) = 0.2776014
      STATES(9) = 0.206602
      STATES(10) = 0.1878388
      STATES(11) = 0.0246504
      STATES(12) = 0.329845
      STATES(13) = 0.5920168
      CONSTS(15) = 542.0
      CONSTS(16) = 445.0
      CONSTS(17) = 446.0
      CONSTS(18) = 7.51
      CONSTS(19) = 751.0
      CONSTS(20) = 1641986.0
      CONSTS(21) = 175.4
      CONSTS(22) = 88800.0
      CONSTS(23) = 227700.0
      CONSTS(24) = 2277.0
      STATES(14) = 0.669119
      CONSTS(25) = 9.64853414999999950e+04
      CONSTS(26) = 0.0
      CONSTS(27) = 0.0
      CONSTS(28) = 2.86113000000000003e-04
      CONSTS(29) = 5.0
      CONSTS(30) = 5e-05
      CONSTS(31) = 5.469e-05
      CONSTS(32) = 0.04
      CONSTS(33) = 67.0
      CONSTS(34) = 0.02
      CONSTS(35) = 3.9
      CONSTS(36) = 0.46
      CONSTS(37) = 0.0012
      CONSTS(38) = 0.0116
      CONSTS(39) = 1.8
      STATES(15) = 139.1382
      CONSTS(40) = 5.4
      STATES(16) = 6.084085
      CONSTS(41) = 140.0
      CONSTS(42) = 5.7e-05
      CONSTS(43) = 8314.472
      CONSTS(44) = 310.0
      STATES(17) = -4.61898999999999990e-02
      CONSTS(45) = 0.5046812
      STATES(18) = 1.40229900000000008e-03
      STATES(19) = 0.7820265
      STATES(20) = 0.9951828
      CONSTS(46) = 5.854
      CONSTS(47) = 0.000338
      CONSTS(48) = 0.0075
      CONSTS(49) = 5.1737
      CONSTS(50) = 0.0
      CONSTS(51) = 0.04132
      STATES(21) = 0.192108
      STATES(22) = 3.74674099999999996e-02
      CONSTS(52) = 0.0
      CONSTS(53) = 0.0
      STATES(23) = 2.81845900000000016e-03
      CONSTS(54) = 0.00345
      STATES(24) = 8.34449800000000054e-03
      STATES(25) = 0.3450797
      STATES(26) = 0.7369347
      CONSTS(55) = 8.63714000000000018e-04
      STATES(27) = 0.1057902
      CONSTS(56) = 7.062e-05
      STATES(28) = 9.05902400000000059e-03
      STATES(29) = 0.8655135
      CONSTS(57) = 0.0223
      CONSTS(58) = 0.0
      STATES(30) = 5.20200199999999984e-03
      STATES(31) = 0.3777047
      CONSTS(59) = 395.3
      CONSTS(60) = 1628.0
      CONSTS(61) = 2.289
      CONSTS(62) = 561.4
      CONSTS(63) = 26.44
      CONSTS(64) = 4.663
      CONSTS(65) = 3.343
      CONSTS(66) = 0.0207
      CONSTS(67) = 26.44
      CONSTS(68) = 3.663
      CONSTS(69) = 0.1369
      CONSTS(70) = 0.0
      CONSTS(71) = 0.4315
      CONSTS(72) = 1.4
      CONSTS(73) = 14.0
      CONSTS(74) = 0.137171
      CONSTS(75) = 1e-05
      CONSTS(76) = 0.000165
      STATES(32) = 6.77693899999999988e-02
      CONSTS(77) = 0.7
      CONSTS(78) = 2.2
      CONSTS(79) = 0.0117
      CONSTS(80) = 0.00696
      STATES(33) = 0.0103301
      CONSTS(81) = 0.0
      CONSTS(82) = 1.67347999999999998e-03
      STATES(34) = 0.4735559
      STATES(35) = 1.24570600000000007e-02
      CONSTS(83) = TERNRY(CONSTS(27).GT.0.00000, - 0.250000, TERNRY(CONSTS(26).GT.0.00000, ( 0.700000*CONSTS(26))/(9.00000e-05+CONSTS(26)), 0.00000)
      CONSTS(84) =  ( ( 1.00000e-09*3.14159)*CONSTS(35) ** 2.00000)*CONSTS(33)
      CONSTS(85) =  0.00498910* (CONSTS(40)/5.40000) ** (1.0 / 2)
      CONSTS(86) = TERNRY(CONSTS(27).GT.0.00000,  1.20000*CONSTS(55), CONSTS(55))
      CONSTS(87) = TERNRY(CONSTS(27).GT.0.00000, 1.20000, 1.00000)
      CONSTS(88) =  CONSTS(29)*(1.00000 - CONSTS(83))
      CONSTS(89) =  CONSTS(37)*CONSTS(84)
      CONSTS(90) =  CONSTS(38)*CONSTS(84)
      CONSTS(91) =  ( ( ( ( 1.00000e-09*2.00000)*3.14159)*CONSTS(34))*(CONSTS(35) - CONSTS(34)/2.00000))*CONSTS(33)
      CONSTS(92) =  CONSTS(36)*CONSTS(84) - CONSTS(91)
      CONSTS(93) = ( CONSTS(43)*CONSTS(44))/CONSTS(25)
      CONSTS(94) = ( 0.310000*CONSTS(26))/(CONSTS(26)+9.00000e-05)
      CONSTS(95) = TERNRY(CONSTS(27).GT.0.00000, 1.23000, 1.00000)
      CONSTS(96) = TERNRY(CONSTS(27).GT.0.00000, - 8.00000, 0.00000)
      CONSTS(97) = TERNRY(CONSTS(27).GT.0.00000, - 27.0000, 0.00000)
      CONSTS(98) = - 7.77130
      CONSTS(99) = (3.59880 - 0.0256410)/(1.00000+1.21550e-06/ 1.00000*CONSTS(26) ** 1.69510)+0.0256410
      CONSTS(100) = TERNRY(CONSTS(27).GT.0.00000, - 14.0000, 0.00000)
      CONSTS(101) = CONSTS(41)/(CONSTS(64)+CONSTS(41))
      CONSTS(102) = TERNRY(CONSTS(26).GT.0.00000, - 1.00000 - ( 9.89800* 1.00000*CONSTS(26) ** 0.618000)/( 1.00000*CONSTS(26) ** 0.618000+0.00122423), 0.00000)
      CONSTS(103) = TERNRY(CONSTS(27).GT.0.00000, 7.50000, 0.00000)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  ( CONSTS(24)*CONSTS(12))*(1.00000 - (STATES(12)+STATES(13))) -  CONSTS(19)*STATES(13)
      RATES(13) = ALGBRC(3)
      ALGBRC(7) =  ( CONSTS(20)*STATES(7))*(1.00000 - STATES(8)) -  CONSTS(15)*STATES(8)
      RATES(8) = ALGBRC(7)
      ALGBRC(4) = CONSTS(47)/(CONSTS(47)+STATES(2))
      ALGBRC(8) = ( 0.00100000*ALGBRC(4))/CONSTS(48)
      RATES(19) = (ALGBRC(4) - STATES(19))/ALGBRC(8)
      ALGBRC(5) = 0.00100000/( 0.0470000*(( 1000.00*STATES(2))/1.00000)+1.00000/76.0000)
      ALGBRC(9) = ( 0.810000*STATES(2)/1.00000 ** CONSTS(78))/(STATES(2)/1.00000 ** CONSTS(78)+CONSTS(77)/1.00000 ** CONSTS(78))
      RATES(32) = (ALGBRC(9) - STATES(32))/ALGBRC(5)
      ALGBRC(1) = CONSTS(3) - (CONSTS(3) - CONSTS(4))/(1.00000+CONSTS(1)/STATES(1) ** CONSTS(2))
      ALGBRC(6) =  CONSTS(5)*ALGBRC(1)
      ALGBRC(10) = CONSTS(7)/ALGBRC(1)
      RATES(3) = ( ( ALGBRC(6)*STATES(2))*STATES(4) -  CONSTS(6)*STATES(3)) - ( CONSTS(8)*STATES(3) -  ( ALGBRC(10)*STATES(2) ** 2.00000)*STATES(6))
      RATES(4) = ( ( ALGBRC(10)*STATES(2) ** 2.00000)*STATES(5) -  CONSTS(8)*STATES(4)) - ( ( ALGBRC(6)*STATES(2))*STATES(4) -  CONSTS(6)*STATES(3))
      RATES(5) = ( CONSTS(6)*STATES(6) -  ( ALGBRC(6)*STATES(2))*STATES(5)) - ( ( ALGBRC(10)*STATES(2) ** 2.00000)*STATES(5) -  CONSTS(8)*STATES(4))
      RATES(6) = ( CONSTS(8)*STATES(3) -  ( ALGBRC(10)*STATES(2) ** 2.00000)*STATES(6)) - ( CONSTS(6)*STATES(6) -  ( ALGBRC(6)*STATES(2))*STATES(5))
      ALGBRC(11) =  ( CONSTS(20)*STATES(2))*(1.00000 - STATES(9)) -  CONSTS(15)*STATES(9)
      RATES(9) = ALGBRC(11)
      ALGBRC(12) =  ( CONSTS(21)*STATES(1))*(1.00000 - STATES(10)) -  CONSTS(16)*STATES(10)
      RATES(10) = ALGBRC(12)
      ALGBRC(13) =  ( CONSTS(22)*STATES(7))*(1.00000 - STATES(11)) -  CONSTS(17)*STATES(11)
      RATES(11) = ALGBRC(13)
      ALGBRC(14) =  ( CONSTS(23)*STATES(7))*(1.00000 - (STATES(12)+STATES(13))) -  CONSTS(18)*STATES(12)
      RATES(12) = ALGBRC(14)
      ALGBRC(2) =  ( CONSTS(9)*STATES(4))*(STATES(1) - STATES(2))
      ALGBRC(16) = (STATES(14) - STATES(1))/CONSTS(32)
      RATES(1) = ALGBRC(16) - (ALGBRC(2)+ CONSTS(11)*ALGBRC(12))
      ALGBRC(18) = CONSTS(88)/(1.00000+EXP((- STATES(7)+CONSTS(28))/CONSTS(30)))
      RATES(14) = ALGBRC(18) - ( ALGBRC(16)*CONSTS(89))/CONSTS(90)
      ALGBRC(15) = (STATES(2) - STATES(7))/CONSTS(31)
      RATES(7) = ( 1.00000*( ALGBRC(15)*CONSTS(91) -  ALGBRC(18)*CONSTS(90)))/CONSTS(92) - (( CONSTS(10)*ALGBRC(7)+ CONSTS(13)*ALGBRC(13))+ CONSTS(14)*ALGBRC(14))
      ALGBRC(20) = STATES(17)
      ALGBRC(23) = 1.00000/(1.00000+EXP(((ALGBRC(20)+12.1847)+CONSTS(50))/(5.30000+CONSTS(49))))
      ALGBRC(39) =  0.00100000*(44.3000+ 230.000*EXP(- (ALGBRC(20)+36.0000)/10.0000 ** 2.00000))
      RATES(20) = (ALGBRC(23) - STATES(20))/ALGBRC(39)
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+38.3000)/5.50000))
      ALGBRC(40) = 0.00100000/( 1.06800*EXP((ALGBRC(20)+38.3000)/30.0000)+ 1.06800*EXP(- (ALGBRC(20)+38.3000)/30.0000))
      RATES(21) = (ALGBRC(24) - STATES(21))/ALGBRC(40)
      ALGBRC(25) = 1.00000/(1.00000+EXP((ALGBRC(20)+58.7000)/3.80000))
      ALGBRC(41) = 1.00000/( 16.6700*EXP(- (ALGBRC(20)+75.0000)/83.3000)+ 16.6700*EXP((ALGBRC(20)+75.0000)/15.3800))+CONSTS(52)
      RATES(22) = (ALGBRC(25) - STATES(22))/ALGBRC(41)
      ALGBRC(27) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+10.0144)/7.66070))
      ALGBRC(43) = 1.00000/( 30.0000*EXP(ALGBRC(20)/10.0000)+EXP(- ALGBRC(20)/12.0000))
      RATES(24) = (ALGBRC(27) - STATES(24))/ALGBRC(43)
      ALGBRC(44) = 0.846554/( 4.20000*EXP(ALGBRC(20)/17.0000)+ 0.150000*EXP(- ALGBRC(20)/21.6000))
      RATES(25) = (ALGBRC(27) - STATES(25))/ALGBRC(44)
      ALGBRC(28) = 1.00000/(1.00000+EXP((ALGBRC(20)+28.6000)/17.1000))
      ALGBRC(45) = 1.00000/( 100.000*EXP(- ALGBRC(20)/54.6450)+ 656.000*EXP(ALGBRC(20)/106.157))
      RATES(26) = (ALGBRC(28) - STATES(26))/ALGBRC(45)
      ALGBRC(30) = 1.00000/(1.00000+EXP((ALGBRC(20)+6.00000)/- 8.60000))
      ALGBRC(47) = 0.00900000/(1.00000+EXP((ALGBRC(20)+5.00000)/12.0000))+0.000500000
      RATES(28) = (ALGBRC(30) - STATES(28))/ALGBRC(47)
      ALGBRC(31) = 1.00000/(1.00000+EXP((ALGBRC(20)+7.50000)/10.0000))
      ALGBRC(48) = 0.590000/(1.00000+EXP((ALGBRC(20)+60.0000)/10.0000))+3.05000
      RATES(29) = (ALGBRC(31) - STATES(29))/ALGBRC(48)
      ALGBRC(34) = 1.00000/(( 0.360000*(((ALGBRC(20)+148.800) - CONSTS(102)) - CONSTS(103)))/(EXP( 0.0660000*(((ALGBRC(20)+148.800) - CONSTS(102)) - CONSTS(103))) - 1.00000)+( 0.100000*(((ALGBRC(20)+87.3000) - CONSTS(102)) - CONSTS(103)))/(1.00000 - EXP( - 0.200000*(((ALGBRC(20)+87.3000) - CONSTS(102)) - CONSTS(103))))) - 0.0540000
      ALGBRC(51) = TERNRY(ALGBRC(20).LT.- (((80.0000 - CONSTS(102)) - CONSTS(103)) - CONSTS(81)), 0.0132900+0.999210/(1.00000+EXP(((((ALGBRC(20)+97.1340) - CONSTS(102)) - CONSTS(103)) - CONSTS(81))/8.17520)),  0.000250100*EXP(- (((ALGBRC(20) - CONSTS(102)) - CONSTS(103)) - CONSTS(81))/12.8610))
      RATES(33) = (ALGBRC(51) - STATES(33))/ALGBRC(34)
      ALGBRC(35) = 1.00000/(1.00000+EXP((ALGBRC(20)+49.0000)/13.0000))
      ALGBRC(52) =  ( 0.00100000*0.600000)*(65.1700/( 0.570000*EXP( - 0.0800000*(ALGBRC(20)+44.0000))+ 0.0650000*EXP( 0.100000*(ALGBRC(20)+45.9300)))+10.1000)
      RATES(34) = (ALGBRC(35) - STATES(34))/ALGBRC(52)
      ALGBRC(36) = 1.00000/(1.00000+EXP(- (ALGBRC(20) - 19.3000)/15.0000))
      ALGBRC(53) =  ( ( 0.00100000*0.660000)*1.40000)*(15.5900/( 1.03700*EXP( 0.0900000*(ALGBRC(20)+30.6100))+ 0.369000*EXP( - 0.120000*(ALGBRC(20)+23.8400)))+2.98000)
      RATES(35) = (ALGBRC(36) - STATES(35))/ALGBRC(53)
      ALGBRC(26) =  10.0000*EXP( 0.0133000*(ALGBRC(20)+40.0000))
      ALGBRC(42) = CONSTS(99)/(CONSTS(99)+ALGBRC(26))
      ALGBRC(56) = 1.00000/(CONSTS(99)+ALGBRC(26))
      RATES(23) = (ALGBRC(42) - STATES(23))/ALGBRC(56)
      ALGBRC(57) =  (1.00000/(1.00000+EXP(- ((ALGBRC(20)+0.638300) - CONSTS(100))/10.7071))) ** (1.0 / 2)
      ALGBRC(29) = 28.0000/(1.00000+EXP(- ((ALGBRC(20) - 40.0000) - CONSTS(100))/3.00000))
      ALGBRC(46) =  1.00000*EXP(- ((ALGBRC(20) - CONSTS(100)) - 5.00000)/25.0000)
      ALGBRC(62) = 1.00000/(ALGBRC(29)+ALGBRC(46))
      RATES(27) = (ALGBRC(57) - STATES(27))/ALGBRC(62)
      ALGBRC(58) = 1.00000/(1.00000+EXP((ALGBRC(20)+69.8040)/4.45650))
      ALGBRC(32) =  20.0000*EXP( - 0.125000*(ALGBRC(20)+75.0000))
      ALGBRC(49) = 2000.00/( 320.000*EXP( - 0.100000*(ALGBRC(20)+75.0000))+1.00000)
      ALGBRC(63) = 1.00000/(ALGBRC(32)+ALGBRC(49))
      RATES(30) = (ALGBRC(58) - STATES(30))/ALGBRC(63)
      ALGBRC(64) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+42.0504)/8.31060))
      ALGBRC(33) = ALGBRC(20)+41.0000
      ALGBRC(50) = TERNRY(ABS(ALGBRC(33)).LT.CONSTS(75), 2000.00, ( 200.000*ALGBRC(33))/(1.00000 - EXP( - 0.100000*ALGBRC(33))))
      ALGBRC(59) =  8000.00*EXP( - 0.0560000*(ALGBRC(20)+66.0000))
      ALGBRC(67) = 1.00000/(ALGBRC(50)+ALGBRC(59))
      RATES(31) = (ALGBRC(64) - STATES(31))/ALGBRC(67)
      ALGBRC(66) = 1.00000/(1.00000+EXP(- ((ALGBRC(20) - CONSTS(98)) - CONSTS(96))/( CONSTS(46)*(1.00000+CONSTS(97)/100.000))))
      ALGBRC(22) = TERNRY(ALGBRC(20).EQ.- 41.8000, - 41.8000, TERNRY(ALGBRC(20).EQ.0.00000, 0.00000, TERNRY(ALGBRC(20).EQ.- 6.80000, - 6.80001, ALGBRC(20))
      ALGBRC(38) = ( - 0.0283900*(ALGBRC(22)+41.8000))/(EXP(- (ALGBRC(22)+41.8000)/2.50000) - 1.00000) - ( 0.0849000*(ALGBRC(22)+6.80000))/(EXP(- (ALGBRC(22)+6.80000)/4.80000) - 1.00000)
      ALGBRC(55) = TERNRY(ALGBRC(20).EQ.- 1.80000, - 1.80001, ALGBRC(20))
      ALGBRC(61) = ( 0.0114300*(ALGBRC(55)+1.80000))/(EXP((ALGBRC(55)+1.80000)/2.50000) - 1.00000)
      ALGBRC(69) = 0.00100000/(ALGBRC(38)+ALGBRC(61))
      RATES(18) = (ALGBRC(66) - STATES(18))/ALGBRC(69)
      ALGBRC(65) =  ( ( (( ( 2.00000*CONSTS(51))*ALGBRC(20))/( CONSTS(93)*(1.00000 - EXP(( ( - 1.00000*ALGBRC(20))*2.00000)/CONSTS(93)))))*(STATES(2) -  CONSTS(39)*EXP(( - 2.00000*ALGBRC(20))/CONSTS(93))))*STATES(21))*STATES(22)
      ALGBRC(78) = (1.00000+ (STATES(2)/CONSTS(66))*((1.00000+EXP(( - CONSTS(69)*ALGBRC(20))/CONSTS(93)))+STATES(16)/CONSTS(67)))+ (STATES(16)/CONSTS(59))*(1.00000+ (STATES(16)/CONSTS(61))*(1.00000+STATES(16)/CONSTS(63)))
      ALGBRC(80) = ( (STATES(2)/CONSTS(66))*EXP(( - CONSTS(69)*ALGBRC(20))/CONSTS(93)))/ALGBRC(78)
      ALGBRC(79) = (1.00000+ (CONSTS(39)/CONSTS(68))*(1.00000+EXP(( CONSTS(70)*ALGBRC(20))/CONSTS(93))))+ (CONSTS(41)/CONSTS(60))*(1.00000+ (CONSTS(41)/CONSTS(62))*(1.00000+CONSTS(41)/CONSTS(64)))
      ALGBRC(82) = ( (CONSTS(39)/CONSTS(68))*EXP(( CONSTS(70)*ALGBRC(20))/CONSTS(93)))/ALGBRC(79)
      ALGBRC(83) = ( ( (( (CONSTS(41)/CONSTS(60))*CONSTS(41))/CONSTS(62))*(1.00000+CONSTS(41)/CONSTS(64)))*EXP(( - CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93))))/ALGBRC(79)
      ALGBRC(84) = EXP(( CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93)))
      ALGBRC(85) = EXP(( - CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93)))
      ALGBRC(86) = STATES(16)/(CONSTS(63)+STATES(16))
      ALGBRC(87) =  ( ALGBRC(85)*CONSTS(101))*(ALGBRC(83)+ALGBRC(82))+ ( ALGBRC(82)*ALGBRC(84))*(ALGBRC(86)+ALGBRC(85))
      ALGBRC(81) = ( ( (( (STATES(16)/CONSTS(59))*STATES(16))/CONSTS(61))*(1.00000+STATES(16)/CONSTS(63)))*EXP(( CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93))))/ALGBRC(78)
      ALGBRC(88) =  ( ALGBRC(84)*ALGBRC(86))*(ALGBRC(81)+ALGBRC(80))+ ( ALGBRC(85)*ALGBRC(80))*(CONSTS(101)+ALGBRC(84))
      ALGBRC(89) =  ( ALGBRC(81)*ALGBRC(86))*(ALGBRC(83)+ALGBRC(82))+ ( ALGBRC(80)*ALGBRC(83))*(ALGBRC(86)+ALGBRC(85))
      ALGBRC(90) =  ( ALGBRC(83)*CONSTS(101))*(ALGBRC(81)+ALGBRC(80))+ ( ALGBRC(81)*ALGBRC(82))*(CONSTS(101)+ALGBRC(84))
      ALGBRC(91) = ( CONSTS(65)*( ALGBRC(88)*ALGBRC(82) -  ALGBRC(87)*ALGBRC(80)))/(((ALGBRC(87)+ALGBRC(88))+ALGBRC(89))+ALGBRC(90))
      ALGBRC(21) =  ( ( ( (( ( 2.00000*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( ( - 1.00000*(ALGBRC(20) - 0.00000))*2.00000)/CONSTS(93)))))*(STATES(2) -  CONSTS(39)*EXP(( - 2.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      RATES(2) = ( ALGBRC(2)*CONSTS(89))/CONSTS(91) - ((((ALGBRC(21)+ALGBRC(65)) -  2.00000*ALGBRC(91))/( ( 2.00000*CONSTS(25))*CONSTS(91))+ALGBRC(15))+ CONSTS(10)*ALGBRC(11))
      ALGBRC(19) =  CONSTS(93)*log(CONSTS(41)/STATES(16))
      ALGBRC(92) =  ( ( ( CONSTS(87)*CONSTS(74))*1.00000+CONSTS(72)/CONSTS(40) ** 1.20000 ** - 1.00000)*1.00000+CONSTS(73)/STATES(16) ** 1.30000 ** - 1.00000)*1.00000+EXP(- ((ALGBRC(20) - ALGBRC(19))+110.000)/20.0000) ** - 1.00000
      ALGBRC(74) =  CONSTS(93)*log((CONSTS(41)+ 0.120000*CONSTS(40))/(STATES(16)+ 0.120000*STATES(15)))
      ALGBRC(75) =  ( ( CONSTS(57)*STATES(31) ** 3.00000)*STATES(30))*(ALGBRC(20) - ALGBRC(74))
      ALGBRC(76) =  ( CONSTS(58)*STATES(31) ** 3.00000)*(ALGBRC(20) - ALGBRC(74))
      ALGBRC(77) = ALGBRC(75)+ALGBRC(76)
      ALGBRC(95) =  ( STATES(33)*CONSTS(80))*(ALGBRC(20) - ALGBRC(19))
      ALGBRC(54) =  ( ( ( (( ( 1.85000e-05*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93)))))*(STATES(16) -  CONSTS(41)*EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      RATES(16) = ( - 1.00000*((((ALGBRC(77)+ALGBRC(95))+ALGBRC(54))+ 3.00000*ALGBRC(92))+ 3.00000*ALGBRC(91)))/( ( 1.00000*(CONSTS(92)+CONSTS(91)))*CONSTS(25))
      ALGBRC(17) =  CONSTS(93)*log(CONSTS(40)/STATES(15))
      ALGBRC(70) =  ( ( CONSTS(85)*(ALGBRC(20) - ALGBRC(17)))*( 0.900000*STATES(24)+ 0.100000*STATES(25)))*STATES(26)
      ALGBRC(71) =  CONSTS(93)*log((CONSTS(40)+ 0.120000*CONSTS(41))/(STATES(15)+ 0.120000*STATES(16)))
      ALGBRC(72) =  ( CONSTS(86)*(ALGBRC(20) - ALGBRC(71)))*STATES(27) ** 2.00000
      ALGBRC(73) =  ( ( CONSTS(56)*STATES(28))*STATES(29))*(ALGBRC(20) - ALGBRC(17))
      ALGBRC(93) =  ( CONSTS(76)*(ALGBRC(20) - ALGBRC(17)))*STATES(32)
      ALGBRC(94) =  ( STATES(33)*CONSTS(79))*(ALGBRC(20) - ALGBRC(17))
      ALGBRC(37) =  ( ( ( (( ( 0.000365000*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93)))))*(STATES(15) -  CONSTS(40)*EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      ALGBRC(97) =  ( ( CONSTS(82)*(ALGBRC(20) - ALGBRC(17)))*STATES(34))*STATES(35)
      RATES(15) = ( - 1.00000*(((((((ALGBRC(73)+ALGBRC(97))+ALGBRC(70))+ALGBRC(72))+ALGBRC(94))+ALGBRC(37))+ALGBRC(93)) -  2.00000*ALGBRC(92)))/( ( 1.00000*(CONSTS(92)+CONSTS(91)))*CONSTS(25))
      ALGBRC(60) =  ( ( ((ALGBRC(21)+ALGBRC(37))+ALGBRC(54))*(1.00000 - CONSTS(94)))*1.00000)*CONSTS(95)
      ALGBRC(68) = TERNRY(CONSTS(26).GT.0.00000,  ( ( ( CONSTS(53)*CONSTS(54))*(ALGBRC(20) - ALGBRC(17)))*(1.00000+EXP((ALGBRC(20)+20.0000)/20.0000)))*STATES(23), 0.00000)
      ALGBRC(96) = ALGBRC(95)+ALGBRC(94)
      ALGBRC(98) = ((((((((((ALGBRC(96)+ALGBRC(70))+ALGBRC(72))+ALGBRC(97))+ALGBRC(92))+ALGBRC(91))+ALGBRC(77))+ALGBRC(60))+ALGBRC(65))+ALGBRC(68))+ALGBRC(73))+ALGBRC(93)
      RATES(17) = - ALGBRC(98)/CONSTS(42)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(3) =  ( CONSTS(24)*CONSTS(12))*(1.00000 - (STATES(12)+STATES(13))) -  CONSTS(19)*STATES(13)
      ALGBRC(7) =  ( CONSTS(20)*STATES(7))*(1.00000 - STATES(8)) -  CONSTS(15)*STATES(8)
      ALGBRC(4) = CONSTS(47)/(CONSTS(47)+STATES(2))
      ALGBRC(8) = ( 0.00100000*ALGBRC(4))/CONSTS(48)
      ALGBRC(5) = 0.00100000/( 0.0470000*(( 1000.00*STATES(2))/1.00000)+1.00000/76.0000)
      ALGBRC(9) = ( 0.810000*STATES(2)/1.00000 ** CONSTS(78))/(STATES(2)/1.00000 ** CONSTS(78)+CONSTS(77)/1.00000 ** CONSTS(78))
      ALGBRC(1) = CONSTS(3) - (CONSTS(3) - CONSTS(4))/(1.00000+CONSTS(1)/STATES(1) ** CONSTS(2))
      ALGBRC(6) =  CONSTS(5)*ALGBRC(1)
      ALGBRC(10) = CONSTS(7)/ALGBRC(1)
      ALGBRC(11) =  ( CONSTS(20)*STATES(2))*(1.00000 - STATES(9)) -  CONSTS(15)*STATES(9)
      ALGBRC(12) =  ( CONSTS(21)*STATES(1))*(1.00000 - STATES(10)) -  CONSTS(16)*STATES(10)
      ALGBRC(13) =  ( CONSTS(22)*STATES(7))*(1.00000 - STATES(11)) -  CONSTS(17)*STATES(11)
      ALGBRC(14) =  ( CONSTS(23)*STATES(7))*(1.00000 - (STATES(12)+STATES(13))) -  CONSTS(18)*STATES(12)
      ALGBRC(2) =  ( CONSTS(9)*STATES(4))*(STATES(1) - STATES(2))
      ALGBRC(16) = (STATES(14) - STATES(1))/CONSTS(32)
      ALGBRC(18) = CONSTS(88)/(1.00000+EXP((- STATES(7)+CONSTS(28))/CONSTS(30)))
      ALGBRC(15) = (STATES(2) - STATES(7))/CONSTS(31)
      ALGBRC(20) = STATES(17)
      ALGBRC(23) = 1.00000/(1.00000+EXP(((ALGBRC(20)+12.1847)+CONSTS(50))/(5.30000+CONSTS(49))))
      ALGBRC(39) =  0.00100000*(44.3000+ 230.000*EXP(- (ALGBRC(20)+36.0000)/10.0000 ** 2.00000))
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+38.3000)/5.50000))
      ALGBRC(40) = 0.00100000/( 1.06800*EXP((ALGBRC(20)+38.3000)/30.0000)+ 1.06800*EXP(- (ALGBRC(20)+38.3000)/30.0000))
      ALGBRC(25) = 1.00000/(1.00000+EXP((ALGBRC(20)+58.7000)/3.80000))
      ALGBRC(41) = 1.00000/( 16.6700*EXP(- (ALGBRC(20)+75.0000)/83.3000)+ 16.6700*EXP((ALGBRC(20)+75.0000)/15.3800))+CONSTS(52)
      ALGBRC(27) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+10.0144)/7.66070))
      ALGBRC(43) = 1.00000/( 30.0000*EXP(ALGBRC(20)/10.0000)+EXP(- ALGBRC(20)/12.0000))
      ALGBRC(44) = 0.846554/( 4.20000*EXP(ALGBRC(20)/17.0000)+ 0.150000*EXP(- ALGBRC(20)/21.6000))
      ALGBRC(28) = 1.00000/(1.00000+EXP((ALGBRC(20)+28.6000)/17.1000))
      ALGBRC(45) = 1.00000/( 100.000*EXP(- ALGBRC(20)/54.6450)+ 656.000*EXP(ALGBRC(20)/106.157))
      ALGBRC(30) = 1.00000/(1.00000+EXP((ALGBRC(20)+6.00000)/- 8.60000))
      ALGBRC(47) = 0.00900000/(1.00000+EXP((ALGBRC(20)+5.00000)/12.0000))+0.000500000
      ALGBRC(31) = 1.00000/(1.00000+EXP((ALGBRC(20)+7.50000)/10.0000))
      ALGBRC(48) = 0.590000/(1.00000+EXP((ALGBRC(20)+60.0000)/10.0000))+3.05000
      ALGBRC(34) = 1.00000/(( 0.360000*(((ALGBRC(20)+148.800) - CONSTS(102)) - CONSTS(103)))/(EXP( 0.0660000*(((ALGBRC(20)+148.800) - CONSTS(102)) - CONSTS(103))) - 1.00000)+( 0.100000*(((ALGBRC(20)+87.3000) - CONSTS(102)) - CONSTS(103)))/(1.00000 - EXP( - 0.200000*(((ALGBRC(20)+87.3000) - CONSTS(102)) - CONSTS(103))))) - 0.0540000
      ALGBRC(51) = TERNRY(ALGBRC(20).LT.- (((80.0000 - CONSTS(102)) - CONSTS(103)) - CONSTS(81)), 0.0132900+0.999210/(1.00000+EXP(((((ALGBRC(20)+97.1340) - CONSTS(102)) - CONSTS(103)) - CONSTS(81))/8.17520)),  0.000250100*EXP(- (((ALGBRC(20) - CONSTS(102)) - CONSTS(103)) - CONSTS(81))/12.8610))
      ALGBRC(35) = 1.00000/(1.00000+EXP((ALGBRC(20)+49.0000)/13.0000))
      ALGBRC(52) =  ( 0.00100000*0.600000)*(65.1700/( 0.570000*EXP( - 0.0800000*(ALGBRC(20)+44.0000))+ 0.0650000*EXP( 0.100000*(ALGBRC(20)+45.9300)))+10.1000)
      ALGBRC(36) = 1.00000/(1.00000+EXP(- (ALGBRC(20) - 19.3000)/15.0000))
      ALGBRC(53) =  ( ( 0.00100000*0.660000)*1.40000)*(15.5900/( 1.03700*EXP( 0.0900000*(ALGBRC(20)+30.6100))+ 0.369000*EXP( - 0.120000*(ALGBRC(20)+23.8400)))+2.98000)
      ALGBRC(26) =  10.0000*EXP( 0.0133000*(ALGBRC(20)+40.0000))
      ALGBRC(42) = CONSTS(99)/(CONSTS(99)+ALGBRC(26))
      ALGBRC(56) = 1.00000/(CONSTS(99)+ALGBRC(26))
      ALGBRC(57) =  (1.00000/(1.00000+EXP(- ((ALGBRC(20)+0.638300) - CONSTS(100))/10.7071))) ** (1.0 / 2)
      ALGBRC(29) = 28.0000/(1.00000+EXP(- ((ALGBRC(20) - 40.0000) - CONSTS(100))/3.00000))
      ALGBRC(46) =  1.00000*EXP(- ((ALGBRC(20) - CONSTS(100)) - 5.00000)/25.0000)
      ALGBRC(62) = 1.00000/(ALGBRC(29)+ALGBRC(46))
      ALGBRC(58) = 1.00000/(1.00000+EXP((ALGBRC(20)+69.8040)/4.45650))
      ALGBRC(32) =  20.0000*EXP( - 0.125000*(ALGBRC(20)+75.0000))
      ALGBRC(49) = 2000.00/( 320.000*EXP( - 0.100000*(ALGBRC(20)+75.0000))+1.00000)
      ALGBRC(63) = 1.00000/(ALGBRC(32)+ALGBRC(49))
      ALGBRC(64) = 1.00000/(1.00000+EXP(- (ALGBRC(20)+42.0504)/8.31060))
      ALGBRC(33) = ALGBRC(20)+41.0000
      ALGBRC(50) = TERNRY(ABS(ALGBRC(33)).LT.CONSTS(75), 2000.00, ( 200.000*ALGBRC(33))/(1.00000 - EXP( - 0.100000*ALGBRC(33))))
      ALGBRC(59) =  8000.00*EXP( - 0.0560000*(ALGBRC(20)+66.0000))
      ALGBRC(67) = 1.00000/(ALGBRC(50)+ALGBRC(59))
      ALGBRC(66) = 1.00000/(1.00000+EXP(- ((ALGBRC(20) - CONSTS(98)) - CONSTS(96))/( CONSTS(46)*(1.00000+CONSTS(97)/100.000))))
      ALGBRC(22) = TERNRY(ALGBRC(20).EQ.- 41.8000, - 41.8000, TERNRY(ALGBRC(20).EQ.0.00000, 0.00000, TERNRY(ALGBRC(20).EQ.- 6.80000, - 6.80001, ALGBRC(20))
      ALGBRC(38) = ( - 0.0283900*(ALGBRC(22)+41.8000))/(EXP(- (ALGBRC(22)+41.8000)/2.50000) - 1.00000) - ( 0.0849000*(ALGBRC(22)+6.80000))/(EXP(- (ALGBRC(22)+6.80000)/4.80000) - 1.00000)
      ALGBRC(55) = TERNRY(ALGBRC(20).EQ.- 1.80000, - 1.80001, ALGBRC(20))
      ALGBRC(61) = ( 0.0114300*(ALGBRC(55)+1.80000))/(EXP((ALGBRC(55)+1.80000)/2.50000) - 1.00000)
      ALGBRC(69) = 0.00100000/(ALGBRC(38)+ALGBRC(61))
      ALGBRC(65) =  ( ( (( ( 2.00000*CONSTS(51))*ALGBRC(20))/( CONSTS(93)*(1.00000 - EXP(( ( - 1.00000*ALGBRC(20))*2.00000)/CONSTS(93)))))*(STATES(2) -  CONSTS(39)*EXP(( - 2.00000*ALGBRC(20))/CONSTS(93))))*STATES(21))*STATES(22)
      ALGBRC(78) = (1.00000+ (STATES(2)/CONSTS(66))*((1.00000+EXP(( - CONSTS(69)*ALGBRC(20))/CONSTS(93)))+STATES(16)/CONSTS(67)))+ (STATES(16)/CONSTS(59))*(1.00000+ (STATES(16)/CONSTS(61))*(1.00000+STATES(16)/CONSTS(63)))
      ALGBRC(80) = ( (STATES(2)/CONSTS(66))*EXP(( - CONSTS(69)*ALGBRC(20))/CONSTS(93)))/ALGBRC(78)
      ALGBRC(79) = (1.00000+ (CONSTS(39)/CONSTS(68))*(1.00000+EXP(( CONSTS(70)*ALGBRC(20))/CONSTS(93))))+ (CONSTS(41)/CONSTS(60))*(1.00000+ (CONSTS(41)/CONSTS(62))*(1.00000+CONSTS(41)/CONSTS(64)))
      ALGBRC(82) = ( (CONSTS(39)/CONSTS(68))*EXP(( CONSTS(70)*ALGBRC(20))/CONSTS(93)))/ALGBRC(79)
      ALGBRC(83) = ( ( (( (CONSTS(41)/CONSTS(60))*CONSTS(41))/CONSTS(62))*(1.00000+CONSTS(41)/CONSTS(64)))*EXP(( - CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93))))/ALGBRC(79)
      ALGBRC(84) = EXP(( CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93)))
      ALGBRC(85) = EXP(( - CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93)))
      ALGBRC(86) = STATES(16)/(CONSTS(63)+STATES(16))
      ALGBRC(87) =  ( ALGBRC(85)*CONSTS(101))*(ALGBRC(83)+ALGBRC(82))+ ( ALGBRC(82)*ALGBRC(84))*(ALGBRC(86)+ALGBRC(85))
      ALGBRC(81) = ( ( (( (STATES(16)/CONSTS(59))*STATES(16))/CONSTS(61))*(1.00000+STATES(16)/CONSTS(63)))*EXP(( CONSTS(71)*ALGBRC(20))/( 2.00000*CONSTS(93))))/ALGBRC(78)
      ALGBRC(88) =  ( ALGBRC(84)*ALGBRC(86))*(ALGBRC(81)+ALGBRC(80))+ ( ALGBRC(85)*ALGBRC(80))*(CONSTS(101)+ALGBRC(84))
      ALGBRC(89) =  ( ALGBRC(81)*ALGBRC(86))*(ALGBRC(83)+ALGBRC(82))+ ( ALGBRC(80)*ALGBRC(83))*(ALGBRC(86)+ALGBRC(85))
      ALGBRC(90) =  ( ALGBRC(83)*CONSTS(101))*(ALGBRC(81)+ALGBRC(80))+ ( ALGBRC(81)*ALGBRC(82))*(CONSTS(101)+ALGBRC(84))
      ALGBRC(91) = ( CONSTS(65)*( ALGBRC(88)*ALGBRC(82) -  ALGBRC(87)*ALGBRC(80)))/(((ALGBRC(87)+ALGBRC(88))+ALGBRC(89))+ALGBRC(90))
      ALGBRC(21) =  ( ( ( (( ( 2.00000*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( ( - 1.00000*(ALGBRC(20) - 0.00000))*2.00000)/CONSTS(93)))))*(STATES(2) -  CONSTS(39)*EXP(( - 2.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      ALGBRC(19) =  CONSTS(93)*log(CONSTS(41)/STATES(16))
      ALGBRC(92) =  ( ( ( CONSTS(87)*CONSTS(74))*1.00000+CONSTS(72)/CONSTS(40) ** 1.20000 ** - 1.00000)*1.00000+CONSTS(73)/STATES(16) ** 1.30000 ** - 1.00000)*1.00000+EXP(- ((ALGBRC(20) - ALGBRC(19))+110.000)/20.0000) ** - 1.00000
      ALGBRC(74) =  CONSTS(93)*log((CONSTS(41)+ 0.120000*CONSTS(40))/(STATES(16)+ 0.120000*STATES(15)))
      ALGBRC(75) =  ( ( CONSTS(57)*STATES(31) ** 3.00000)*STATES(30))*(ALGBRC(20) - ALGBRC(74))
      ALGBRC(76) =  ( CONSTS(58)*STATES(31) ** 3.00000)*(ALGBRC(20) - ALGBRC(74))
      ALGBRC(77) = ALGBRC(75)+ALGBRC(76)
      ALGBRC(95) =  ( STATES(33)*CONSTS(80))*(ALGBRC(20) - ALGBRC(19))
      ALGBRC(54) =  ( ( ( (( ( 1.85000e-05*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93)))))*(STATES(16) -  CONSTS(41)*EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      ALGBRC(17) =  CONSTS(93)*log(CONSTS(40)/STATES(15))
      ALGBRC(70) =  ( ( CONSTS(85)*(ALGBRC(20) - ALGBRC(17)))*( 0.900000*STATES(24)+ 0.100000*STATES(25)))*STATES(26)
      ALGBRC(71) =  CONSTS(93)*log((CONSTS(40)+ 0.120000*CONSTS(41))/(STATES(15)+ 0.120000*STATES(16)))
      ALGBRC(72) =  ( CONSTS(86)*(ALGBRC(20) - ALGBRC(71)))*STATES(27) ** 2.00000
      ALGBRC(73) =  ( ( CONSTS(56)*STATES(28))*STATES(29))*(ALGBRC(20) - ALGBRC(17))
      ALGBRC(93) =  ( CONSTS(76)*(ALGBRC(20) - ALGBRC(17)))*STATES(32)
      ALGBRC(94) =  ( STATES(33)*CONSTS(79))*(ALGBRC(20) - ALGBRC(17))
      ALGBRC(37) =  ( ( ( (( ( 0.000365000*CONSTS(45))*(ALGBRC(20) - 0.00000))/( CONSTS(93)*(1.00000 - EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93)))))*(STATES(15) -  CONSTS(40)*EXP(( - 1.00000*(ALGBRC(20) - 0.00000))/CONSTS(93))))*STATES(18))*STATES(20))*STATES(19)
      ALGBRC(97) =  ( ( CONSTS(82)*(ALGBRC(20) - ALGBRC(17)))*STATES(34))*STATES(35)
      ALGBRC(60) =  ( ( ((ALGBRC(21)+ALGBRC(37))+ALGBRC(54))*(1.00000 - CONSTS(94)))*1.00000)*CONSTS(95)
      ALGBRC(68) = TERNRY(CONSTS(26).GT.0.00000,  ( ( ( CONSTS(53)*CONSTS(54))*(ALGBRC(20) - ALGBRC(17)))*(1.00000+EXP((ALGBRC(20)+20.0000)/20.0000)))*STATES(23), 0.00000)
      ALGBRC(96) = ALGBRC(95)+ALGBRC(94)
      ALGBRC(98) = ((((((((((ALGBRC(96)+ALGBRC(70))+ALGBRC(72))+ALGBRC(97))+ALGBRC(92))+ALGBRC(91))+ALGBRC(77))+ALGBRC(60))+ALGBRC(65))+ALGBRC(68))+ALGBRC(73))+ALGBRC(93)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END