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 101 entries in the algebraic variable array.
C There are a total of 33 entries in each of the rate and state variable arrays.
C There are a total of 116 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C CONSTS(1) is R in component Membrane (joule_per_kilomole_kelvin).
C CONSTS(2) is T in component Membrane (kelvin).
C CONSTS(3) is F in component Membrane (coulomb_per_mole).
C CONSTS(4) is C in component Membrane (microF).
C CONSTS(92) is RTONF in component Membrane (millivolt).
C ALGBRC(60) is i_f in component i_f (nanoA).
C ALGBRC(62) is i_NaK in component i_NaK (nanoA).
C ALGBRC(76) is i_NaCa in component i_NaCa (nanoA).
C ALGBRC(80) is i_Na in component i_Na (nanoA).
C ALGBRC(90) is i_Kr in component i_Kr (nanoA).
C ALGBRC(96) is i_Ks in component i_Ks (nanoA).
C ALGBRC(88) is i_to in component i_to (nanoA).
C ALGBRC(84) is i_CaL in component i_CaL (nanoA).
C ALGBRC(85) is i_CaT in component i_CaT (nanoA).
C ALGBRC(99) is i_KACh in component i_KACh (nanoA).
C ALGBRC(86) is i_Kur in component i_Kur (nanoA).
C ALGBRC(10) is V in component Membrane (millivolt).
C CONSTS(5) is clamp_mode in component Membrane (dimensionless).
C ALGBRC(6) is V_clamp in component Voltage_clamp (millivolt).
C STATES(1) is V_ode in component Membrane (millivolt).
C ALGBRC(101) is i_tot in component Membrane (nanoA).
C CONSTS(6) is t_holding in component Voltage_clamp (second).
C CONSTS(7) is t_test in component Voltage_clamp (second).
C CONSTS(8) is V_test in component Voltage_clamp (millivolt).
C CONSTS(9) is V_holding in component Voltage_clamp (millivolt).
C CONSTS(10) is ACh in component Rate_modulation_experiments (millimolar).
C CONSTS(11) is Iso_1_uM in component Rate_modulation_experiments (dimensionless).
C ALGBRC(19) is Nai in component Nai_concentration (millimolar).
C CONSTS(12) is Nao in component Ionic_values (millimolar).
C CONSTS(13) is Ki in component Ionic_values (millimolar).
C CONSTS(14) is Ko in component Ionic_values (millimolar).
C STATES(2) is Ca_sub in component Ca_dynamics (millimolar).
C CONSTS(15) is Cao in component Ionic_values (millimolar).
C ALGBRC(37) is E_Na in component Ionic_values (millivolt).
C CONSTS(97) is E_K in component Ionic_values (millivolt).
C ALGBRC(1) is E_Ca in component Ionic_values (millivolt).
C CONSTS(111) is V_sub in component Cell_parameters (millimetre3).
C CONSTS(113) is V_i in component Cell_parameters (millimetre3).
C ALGBRC(50) is i_fNa in component i_f (nanoA).
C ALGBRC(83) is i_siNa in component i_CaL (nanoA).
C STATES(3) is Nai_ in component Nai_concentration (millimolar).
C CONSTS(16) is Nai_clamp in component Nai_concentration (dimensionless).
C ALGBRC(56) is i_fK in component i_f (nanoA).
C CONSTS(17) is g_f in component i_f (microS).
C CONSTS(93) is G_f in component i_f (microS).
C CONSTS(104) is g_f_Na in component i_f (microS).
C CONSTS(101) is G_f_Na in component i_f (microS).
C CONSTS(102) is g_f_K in component i_f (microS).
C CONSTS(98) is G_f_K in component i_f (microS).
C CONSTS(18) is Km_f in component i_f (millimolar).
C CONSTS(19) is alpha in component i_f (dimensionless).
C STATES(4) is y in component i_f_y_gate (dimensionless).
C CONSTS(20) is blockade in component i_f (dimensionless).
C ALGBRC(11) is tau_y in component i_f_y_gate (second).
C ALGBRC(30) is y_infinity in component i_f_y_gate (dimensionless).
C CONSTS(96) is ACh_shift in component i_f_y_gate (millivolt).
C CONSTS(100) is Iso_shift in component i_f_y_gate (millivolt).
C CONSTS(21) is y_shift in component i_f_y_gate (millivolt).
C CONSTS(22) is Km_Kp in component i_NaK (millimolar).
C CONSTS(23) is Km_Nap in component i_NaK (millimolar).
C CONSTS(24) is i_NaK_max in component i_NaK (nanoA).
C CONSTS(103) is Iso_increase in component i_NaK (dimensionless).
C CONSTS(25) is K_NaCa in component i_NaCa (nanoA).
C ALGBRC(73) is x1 in component i_NaCa (dimensionless).
C ALGBRC(69) is x2 in component i_NaCa (dimensionless).
C ALGBRC(74) is x3 in component i_NaCa (dimensionless).
C ALGBRC(75) is x4 in component i_NaCa (dimensionless).
C ALGBRC(64) is k41 in component i_NaCa (dimensionless).
C CONSTS(105) is k34 in component i_NaCa (dimensionless).
C ALGBRC(72) is k23 in component i_NaCa (dimensionless).
C ALGBRC(71) is k21 in component i_NaCa (dimensionless).
C ALGBRC(68) is k32 in component i_NaCa (dimensionless).
C ALGBRC(63) is k43 in component i_NaCa (dimensionless).
C ALGBRC(66) is k12 in component i_NaCa (dimensionless).
C ALGBRC(67) is k14 in component i_NaCa (dimensionless).
C CONSTS(26) is Qci in component i_NaCa (dimensionless).
C CONSTS(27) is Qn in component i_NaCa (dimensionless).
C CONSTS(28) is Qco in component i_NaCa (dimensionless).
C CONSTS(29) is K3ni in component i_NaCa (millimolar).
C CONSTS(30) is Kci in component i_NaCa (millimolar).
C CONSTS(31) is K1ni in component i_NaCa (millimolar).
C CONSTS(32) is K2ni in component i_NaCa (millimolar).
C CONSTS(33) is Kcni in component i_NaCa (millimolar).
C CONSTS(34) is K3no in component i_NaCa (millimolar).
C CONSTS(35) is K1no in component i_NaCa (millimolar).
C CONSTS(36) is K2no in component i_NaCa (millimolar).
C CONSTS(37) is Kco in component i_NaCa (millimolar).
C ALGBRC(70) is do in component i_NaCa (dimensionless).
C ALGBRC(65) is di in component i_NaCa (dimensionless).
C CONSTS(38) is blockade_NaCa in component i_NaCa (dimensionless).
C ALGBRC(78) is i_Na_ in component i_Na (nanoA).
C ALGBRC(79) is i_Na_L in component i_Na (nanoA).
C CONSTS(39) is g_Na in component i_Na (microS).
C CONSTS(40) is g_Na_L in component i_Na (microS).
C ALGBRC(77) is E_mh in component i_Na (millivolt).
C STATES(5) is m in component i_Na_m_gate (dimensionless).
C STATES(6) is h in component i_Na_h_gate (dimensionless).
C ALGBRC(47) is alpha_m in component i_Na_m_gate (per_second).
C ALGBRC(53) is beta_m in component i_Na_m_gate (per_second).
C ALGBRC(12) is m_infinity in component i_Na_m_gate (dimensionless).
C ALGBRC(58) is tau_m in component i_Na_m_gate (second).
C CONSTS(41) is delta_m in component i_Na_m_gate (millivolt).
C ALGBRC(31) is E0_m in component i_Na_m_gate (millivolt).
C ALGBRC(32) is alpha_h in component i_Na_h_gate (per_second).
C ALGBRC(48) is beta_h in component i_Na_h_gate (per_second).
C ALGBRC(13) is h_infinity in component i_Na_h_gate (dimensionless).
C ALGBRC(54) is tau_h in component i_Na_h_gate (second).
C ALGBRC(81) is i_siCa in component i_CaL (nanoA).
C ALGBRC(82) is i_siK in component i_CaL (nanoA).
C CONSTS(107) is ACh_block in component i_CaL (dimensionless).
C CONSTS(42) is P_CaL in component i_CaL (nanoA_per_millimolar).
C STATES(7) is dL in component i_CaL_dL_gate (dimensionless).
C STATES(8) is fL in component i_CaL_fL_gate (dimensionless).
C STATES(9) is fCa in component i_CaL_fCa_gate (dimensionless).
C CONSTS(106) is Iso_increase in component i_CaL (dimensionless).
C ALGBRC(14) is dL_infinity in component i_CaL_dL_gate (dimensionless).
C ALGBRC(61) is tau_dL in component i_CaL_dL_gate (second).
C ALGBRC(49) is alpha_dL in component i_CaL_dL_gate (per_second).
C ALGBRC(59) is beta_dL in component i_CaL_dL_gate (per_second).
C ALGBRC(33) is adVm in component i_CaL_dL_gate (millivolt).
C ALGBRC(55) is bdVm in component i_CaL_dL_gate (millivolt).
C CONSTS(43) is k_dL in component i_CaL_dL_gate (millivolt).
C CONSTS(44) is V_dL in component i_CaL_dL_gate (millivolt).
C CONSTS(108) is Iso_shift_dL in component i_CaL_dL_gate (millivolt).
C CONSTS(109) is Iso_slope_dL in component i_CaL_dL_gate (dimensionless).
C ALGBRC(15) is fL_infinity in component i_CaL_fL_gate (dimensionless).
C ALGBRC(34) is tau_fL in component i_CaL_fL_gate (second).
C CONSTS(45) is shift_fL in component i_CaL_fL_gate (millivolt).
C CONSTS(46) is k_fL in component i_CaL_fL_gate (millivolt).
C CONSTS(47) is alpha_fCa in component i_CaL_fCa_gate (per_second).
C ALGBRC(2) is fCa_infinity in component i_CaL_fCa_gate (dimensionless).
C ALGBRC(8) is tau_fCa in component i_CaL_fCa_gate (second).
C CONSTS(48) is Km_fCa in component i_CaL_fCa_gate (millimolar).
C CONSTS(49) is P_CaT in component i_CaT (nanoA_per_millimolar).
C STATES(10) is dT in component i_CaT_dT_gate (dimensionless).
C STATES(11) is fT in component i_CaT_fT_gate (dimensionless).
C ALGBRC(16) is dT_infinity in component i_CaT_dT_gate (dimensionless).
C ALGBRC(35) is tau_dT in component i_CaT_dT_gate (second).
C ALGBRC(17) is fT_infinity in component i_CaT_fT_gate (dimensionless).
C ALGBRC(36) is tau_fT in component i_CaT_fT_gate (second).
C CONSTS(50) is offset_fT in component i_CaT_fT_gate (second).
C ALGBRC(87) is j_SRCarel in component Ca_SR_release (millimolar_per_second).
C STATES(12) is R in component Ca_SR_release (dimensionless).
C STATES(13) is O in component Ca_SR_release (dimensionless).
C STATES(14) is I in component Ca_SR_release (dimensionless).
C STATES(15) is RI in component Ca_SR_release (dimensionless).
C CONSTS(51) is ks in component Ca_SR_release (per_second).
C CONSTS(52) is MaxSR in component Ca_SR_release (dimensionless).
C CONSTS(53) is MinSR in component Ca_SR_release (dimensionless).
C CONSTS(54) is EC50_SR in component Ca_SR_release (millimolar).
C CONSTS(55) is HSR in component Ca_SR_release (dimensionless).
C ALGBRC(9) is koSRCa in component Ca_SR_release (per_millimolar2_second).
C ALGBRC(18) is kiSRCa in component Ca_SR_release (per_millimolar_second).
C CONSTS(56) is koCa in component Ca_SR_release (per_millimolar2_second).
C CONSTS(57) is kiCa in component Ca_SR_release (per_millimolar_second).
C ALGBRC(3) is kCaSR in component Ca_SR_release (dimensionless).
C CONSTS(58) is kim in component Ca_SR_release (per_second).
C CONSTS(59) is kom in component Ca_SR_release (per_second).
C STATES(16) is Ca_jsr in component Ca_dynamics (millimolar).
C ALGBRC(4) is diff in component Ca_SR_release (millimolar).
C ALGBRC(5) is P_tot in component Ca_SR_release (dimensionless).
C ALGBRC(89) is j_Ca_dif in component Ca_intracellular_fluxes (millimolar_per_second).
C ALGBRC(92) is j_up in component Ca_intracellular_fluxes (millimolar_per_second).
C ALGBRC(95) is j_tr in component Ca_intracellular_fluxes (millimolar_per_second).
C CONSTS(60) is tau_dif_Ca in component Ca_intracellular_fluxes (second).
C CONSTS(61) is tau_tr in component Ca_intracellular_fluxes (second).
C CONSTS(99) is P_up in component Ca_intracellular_fluxes (millimolar_per_second).
C CONSTS(62) is P_up_basal in component Ca_intracellular_fluxes (millimolar_per_second).
C CONSTS(94) is b_up in component Ca_intracellular_fluxes (dimensionless).
C CONSTS(63) is K_up in component Ca_intracellular_fluxes (millimolar).
C STATES(17) is Ca_nsr in component Ca_dynamics (millimolar).
C STATES(18) is Cai in component Ca_dynamics (millimolar).
C CONSTS(64) is slope_up in component Ca_intracellular_fluxes (millimolar).
C CONSTS(65) is TC_tot in component Ca_buffering (millimolar).
C CONSTS(66) is TMC_tot in component Ca_buffering (millimolar).
C CONSTS(67) is CM_tot in component Ca_buffering (millimolar).
C CONSTS(68) is CQ_tot in component Ca_buffering (millimolar).
C ALGBRC(94) is delta_fTC in component Ca_buffering (per_second).
C ALGBRC(97) is delta_fTMC in component Ca_buffering (per_second).
C ALGBRC(91) is delta_fCMs in component Ca_buffering (per_second).
C ALGBRC(100) is delta_fCMi in component Ca_buffering (per_second).
C ALGBRC(98) is delta_fCQ in component Ca_buffering (per_second).
C ALGBRC(7) is delta_fTMM in component Ca_buffering (per_second).
C STATES(19) is fTMM in component Ca_buffering (dimensionless).
C STATES(20) is fCMi in component Ca_buffering (dimensionless).
C STATES(21) is fCMs in component Ca_buffering (dimensionless).
C STATES(22) is fTC in component Ca_buffering (dimensionless).
C STATES(23) is fTMC in component Ca_buffering (dimensionless).
C STATES(24) is fCQ in component Ca_buffering (dimensionless).
C CONSTS(69) is kf_TC in component Ca_buffering (per_millimolar_second).
C CONSTS(70) is kf_TMM in component Ca_buffering (per_millimolar_second).
C CONSTS(71) is kf_TMC in component Ca_buffering (per_millimolar_second).
C CONSTS(72) is kf_CM in component Ca_buffering (per_millimolar_second).
C CONSTS(73) is kf_CQ in component Ca_buffering (per_millimolar_second).
C CONSTS(74) is kb_TC in component Ca_buffering (per_second).
C CONSTS(75) is kb_TMC in component Ca_buffering (per_second).
C CONSTS(76) is kb_TMM in component Ca_buffering (per_second).
C CONSTS(77) is kb_CM in component Ca_buffering (per_second).
C CONSTS(78) is kb_CQ in component Ca_buffering (per_second).
C CONSTS(79) is Mgi in component Ca_buffering (millimolar).
C CONSTS(112) is V_jsr in component Cell_parameters (millimetre3).
C CONSTS(114) is V_nsr in component Cell_parameters (millimetre3).
C CONSTS(110) is V_cell in component Cell_parameters (millimetre3).
C CONSTS(80) is V_jsr_part in component Cell_parameters (dimensionless).
C CONSTS(81) is V_i_part in component Cell_parameters (dimensionless).
C CONSTS(82) is V_nsr_part in component Cell_parameters (dimensionless).
C CONSTS(83) is R_cell in component Cell_parameters (micrometre).
C CONSTS(84) is L_cell in component Cell_parameters (micrometre).
C CONSTS(85) is L_sub in component Cell_parameters (micrometre).
C CONSTS(86) is g_Kur in component i_Kur (microS).
C STATES(25) is r_Kur in component i_Kur_rKur_gate (dimensionless).
C STATES(26) is s_Kur in component i_Kur_sKur_gate (dimensionless).
C ALGBRC(38) is tau_r_Kur in component i_Kur_rKur_gate (second).
C ALGBRC(20) is r_Kur_infinity in component i_Kur_rKur_gate (dimensionless).
C ALGBRC(39) is tau_s_Kur in component i_Kur_sKur_gate (second).
C ALGBRC(21) is s_Kur_infinity in component i_Kur_sKur_gate (dimensionless).
C CONSTS(87) is g_to in component i_to (microS).
C STATES(27) is q in component i_to_q_gate (dimensionless).
C STATES(28) is r in component i_to_r_gate (dimensionless).
C ALGBRC(22) is q_infinity in component i_to_q_gate (dimensionless).
C ALGBRC(40) is tau_q in component i_to_q_gate (second).
C ALGBRC(23) is r_infinity in component i_to_r_gate (dimensionless).
C ALGBRC(41) is tau_r in component i_to_r_gate (second).
C CONSTS(88) is g_Kr in component i_Kr (microS).
C STATES(29) is paS in component i_Kr_pa_gate (dimensionless).
C STATES(30) is paF in component i_Kr_pa_gate (dimensionless).
C STATES(31) is piy in component i_Kr_pi_gate (dimensionless).
C ALGBRC(24) is pa_infinity in component i_Kr_pa_gate (dimensionless).
C ALGBRC(25) is alfapaF in component i_Kr_pa_gate (per_second).
C ALGBRC(26) is betapaF in component i_Kr_pa_gate (per_second).
C ALGBRC(42) is tau_paS in component i_Kr_pa_gate (second).
C ALGBRC(43) is tau_paF in component i_Kr_pa_gate (second).
C ALGBRC(44) is pi_infinity in component i_Kr_pi_gate (dimensionless).
C ALGBRC(27) is tau_pi in component i_Kr_pi_gate (second).
C CONSTS(95) is g_Ks in component i_Ks (microS).
C CONSTS(89) is g_Ks_ in component i_Ks (microS).
C ALGBRC(93) is E_Ks in component i_Ks (millivolt).
C STATES(32) is n in component i_Ks_n_gate (dimensionless).
C ALGBRC(28) is n_infinity in component i_Ks_n_gate (dimensionless).
C ALGBRC(57) is tau_n in component i_Ks_n_gate (second).
C CONSTS(115) is Iso_shift in component i_Ks_n_gate (millivolt).
C ALGBRC(45) is alpha_n in component i_Ks_n_gate (per_second).
C ALGBRC(51) is beta_n in component i_Ks_n_gate (per_second).
C CONSTS(90) is g_KACh in component i_KACh (microS).
C STATES(33) is a in component i_KACh_a_gate (dimensionless).
C CONSTS(91) is ACh_on in component i_KACh (dimensionless).
C CONSTS(116) is alpha_a in component i_KACh_a_gate (per_second).
C ALGBRC(29) is beta_a in component i_KACh_a_gate (per_second).
C ALGBRC(46) is a_infinity in component i_KACh_a_gate (dimensionless).
C ALGBRC(52) is tau_a in component i_KACh_a_gate (second).
C RATES(1) is d/dt V_ode in component Membrane (millivolt).
C RATES(3) is d/dt Nai_ in component Nai_concentration (millimolar).
C RATES(4) is d/dt y in component i_f_y_gate (dimensionless).
C RATES(5) is d/dt m in component i_Na_m_gate (dimensionless).
C RATES(6) is d/dt h in component i_Na_h_gate (dimensionless).
C RATES(7) is d/dt dL in component i_CaL_dL_gate (dimensionless).
C RATES(8) is d/dt fL in component i_CaL_fL_gate (dimensionless).
C RATES(9) is d/dt fCa in component i_CaL_fCa_gate (dimensionless).
C RATES(10) is d/dt dT in component i_CaT_dT_gate (dimensionless).
C RATES(11) is d/dt fT in component i_CaT_fT_gate (dimensionless).
C RATES(12) is d/dt R in component Ca_SR_release (dimensionless).
C RATES(13) is d/dt O in component Ca_SR_release (dimensionless).
C RATES(14) is d/dt I in component Ca_SR_release (dimensionless).
C RATES(15) is d/dt RI in component Ca_SR_release (dimensionless).
C RATES(22) is d/dt fTC in component Ca_buffering (dimensionless).
C RATES(23) is d/dt fTMC in component Ca_buffering (dimensionless).
C RATES(19) is d/dt fTMM in component Ca_buffering (dimensionless).
C RATES(20) is d/dt fCMi in component Ca_buffering (dimensionless).
C RATES(21) is d/dt fCMs in component Ca_buffering (dimensionless).
C RATES(24) is d/dt fCQ in component Ca_buffering (dimensionless).
C RATES(18) is d/dt Cai in component Ca_dynamics (millimolar).
C RATES(2) is d/dt Ca_sub in component Ca_dynamics (millimolar).
C RATES(17) is d/dt Ca_nsr in component Ca_dynamics (millimolar).
C RATES(16) is d/dt Ca_jsr in component Ca_dynamics (millimolar).
C RATES(25) is d/dt r_Kur in component i_Kur_rKur_gate (dimensionless).
C RATES(26) is d/dt s_Kur in component i_Kur_sKur_gate (dimensionless).
C RATES(27) is d/dt q in component i_to_q_gate (dimensionless).
C RATES(28) is d/dt r in component i_to_r_gate (dimensionless).
C RATES(29) is d/dt paS in component i_Kr_pa_gate (dimensionless).
C RATES(30) is d/dt paF in component i_Kr_pa_gate (dimensionless).
C RATES(31) is d/dt piy in component i_Kr_pi_gate (dimensionless).
C RATES(32) is d/dt n in component i_Ks_n_gate (dimensionless).
C RATES(33) is d/dt a in component i_KACh_a_gate (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 8314.472
      CONSTS(2) = 310
      CONSTS(3) = 96485.3415
      CONSTS(4) = 5.7e-5
      CONSTS(5) = 0
      STATES(1) = -47.787168
      CONSTS(6) = 0.5
      CONSTS(7) = 0.5
      CONSTS(8) = -35
      CONSTS(9) = -45
      CONSTS(10) = 0
      CONSTS(11) = 0
      CONSTS(12) = 140
      CONSTS(13) = 140
      CONSTS(14) = 5.4
      STATES(2) = 6.226104e-5
      CONSTS(15) = 1.8
      STATES(3) = 5
      CONSTS(16) = 1
      CONSTS(17) = 0.00427
      CONSTS(18) = 45
      CONSTS(19) = 0.5927
      STATES(4) = 0.009508
      CONSTS(20) = 0
      CONSTS(21) = 0
      CONSTS(22) = 1.4
      CONSTS(23) = 14
      CONSTS(24) = 0.08105
      CONSTS(25) = 3.343
      CONSTS(26) = 0.1369
      CONSTS(27) = 0.4315
      CONSTS(28) = 0
      CONSTS(29) = 26.44
      CONSTS(30) = 0.0207
      CONSTS(31) = 395.3
      CONSTS(32) = 2.289
      CONSTS(33) = 26.44
      CONSTS(34) = 4.663
      CONSTS(35) = 1628
      CONSTS(36) = 561.4
      CONSTS(37) = 3.663
      CONSTS(38) = 0
      CONSTS(39) = 0.0223
      CONSTS(40) = 0
      STATES(5) = 0.447724
      STATES(6) = 0.003058
      CONSTS(41) = 1e-5
      CONSTS(42) = 0.4578
      STATES(7) = 0.001921
      STATES(8) = 0.846702
      STATES(9) = 0.844449
      CONSTS(43) = 4.3371
      CONSTS(44) = -16.4508
      CONSTS(45) = 0
      CONSTS(46) = 0
      CONSTS(47) = 0.0075
      CONSTS(48) = 0.000338
      CONSTS(49) = 0.04132
      STATES(10) = 0.268909
      STATES(11) = 0.020484
      CONSTS(50) = 0
      STATES(12) = 0.9308
      STATES(13) = 6.181512e-9
      STATES(14) = 4.595622e-10
      STATES(15) = 0.069199
      CONSTS(51) = 148041085.1
      CONSTS(52) = 15
      CONSTS(53) = 1
      CONSTS(54) = 0.45
      CONSTS(55) = 2.5
      CONSTS(56) = 10000
      CONSTS(57) = 500
      CONSTS(58) = 5
      CONSTS(59) = 660
      STATES(16) = 0.409551
      CONSTS(60) = 5.469e-5
      CONSTS(61) = 0.04
      CONSTS(62) = 5
      CONSTS(63) = 0.000286113
      STATES(17) = 0.435148
      STATES(18) = 9.15641e-6
      CONSTS(64) = 5e-5
      CONSTS(65) = 0.031
      CONSTS(66) = 0.062
      CONSTS(67) = 0.045
      CONSTS(68) = 10
      STATES(19) = 0.653777
      STATES(20) = 0.217311
      STATES(21) = 0.158521
      STATES(22) = 0.017929
      STATES(23) = 0.259947
      STATES(24) = 0.138975
      CONSTS(69) = 88800
      CONSTS(70) = 2277
      CONSTS(71) = 227700
      CONSTS(72) = 1.642e6
      CONSTS(73) = 175.4
      CONSTS(74) = 446
      CONSTS(75) = 7.51
      CONSTS(76) = 751
      CONSTS(77) = 542
      CONSTS(78) = 445
      CONSTS(79) = 2.5
      CONSTS(80) = 0.0012
      CONSTS(81) = 0.46
      CONSTS(82) = 0.0116
      CONSTS(83) = 3.9
      CONSTS(84) = 67
      CONSTS(85) = 0.02
      CONSTS(86) = 0.1539e-3
      STATES(25) = 0.011845
      STATES(26) = 0.845304
      CONSTS(87) = 3.5e-3
      STATES(27) = 0.430836
      STATES(28) = 0.014523
      CONSTS(88) = 0.00424
      STATES(29) = 0.283185
      STATES(30) = 0.011068
      STATES(31) = 0.709051
      CONSTS(89) = 0.00065
      STATES(32) = 0.1162
      CONSTS(90) = 0.00345
      STATES(33) = 0.00277
      CONSTS(91) = 1
      CONSTS(92) = ( CONSTS(1)*CONSTS(2))/CONSTS(3)
      CONSTS(93) = CONSTS(17)/(CONSTS(14)/(CONSTS(14)+CONSTS(18)))
      CONSTS(94) = TERNRY(CONSTS(11).GT.0.00000, - 0.250000, TERNRY(CONSTS(10).GT.0.00000, ( 0.700000*CONSTS(10))/(9.00000e-05+CONSTS(10)), 0.00000)
      CONSTS(95) = TERNRY(CONSTS(11).GT.0.00000,  1.20000*CONSTS(89), CONSTS(89))
      CONSTS(96) = TERNRY(CONSTS(10).GT.0.00000, - 1.00000 - ( 9.89800* 1.00000*CONSTS(10) ** 0.618000)/( 1.00000*CONSTS(10) ** 0.618000+0.00122423), 0.00000)
      CONSTS(97) =  CONSTS(92)*log(CONSTS(14)/CONSTS(13))
      CONSTS(98) = CONSTS(93)/(CONSTS(19)+1.00000)
      CONSTS(99) =  CONSTS(62)*(1.00000 - CONSTS(94))
      CONSTS(100) = TERNRY(CONSTS(11).GT.0.00000, 7.50000, 0.00000)
      CONSTS(101) =  CONSTS(19)*CONSTS(98)
      CONSTS(102) = ( CONSTS(98)*CONSTS(14))/(CONSTS(14)+CONSTS(18))
      CONSTS(103) = TERNRY(CONSTS(11).GT.0.00000, 1.20000, 1.00000)
      CONSTS(104) = ( CONSTS(101)*CONSTS(14))/(CONSTS(14)+CONSTS(18))
      CONSTS(105) = CONSTS(12)/(CONSTS(34)+CONSTS(12))
      CONSTS(106) = TERNRY(CONSTS(11).GT.0.00000, 1.23000, 1.00000)
      CONSTS(107) = ( 0.310000*CONSTS(10))/(CONSTS(10)+9.00000e-05)
      CONSTS(108) = TERNRY(CONSTS(11).GT.0.00000, - 8.00000, 0.00000)
      CONSTS(109) = TERNRY(CONSTS(11).GT.0.00000, - 27.0000, 0.00000)
      CONSTS(110) =  1.00000e-09* 3.14159265358979*CONSTS(83) ** 2.00000*CONSTS(84)
      CONSTS(111) =  1.00000e-09*2.00000* 3.14159265358979*CONSTS(85)*(CONSTS(83) - CONSTS(85)/2.00000)*CONSTS(84)
      CONSTS(112) =  CONSTS(80)*CONSTS(110)
      CONSTS(113) =  CONSTS(81)*CONSTS(110) - CONSTS(111)
      CONSTS(114) =  CONSTS(82)*CONSTS(110)
      CONSTS(115) = TERNRY(CONSTS(11).GT.0.00000, - 14.0000, 0.00000)
      CONSTS(116) = (3.59880 - 0.0256410)/(1.00000+1.21550e-06/ 1.00000*CONSTS(10) ** 1.69510)+0.0256410
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) =  CONSTS(70)*CONSTS(79)*(1.00000 - (STATES(23)+STATES(19))) -  CONSTS(76)*STATES(19)
      RATES(19) = ALGBRC(7)
      ALGBRC(2) = CONSTS(48)/(CONSTS(48)+STATES(2))
      ALGBRC(8) = ( 0.00100000*ALGBRC(2))/CONSTS(47)
      RATES(9) = (ALGBRC(2) - STATES(9))/ALGBRC(8)
      ALGBRC(3) = CONSTS(52) - (CONSTS(52) - CONSTS(53))/(1.00000+CONSTS(54)/STATES(16) ** CONSTS(55))
      ALGBRC(9) = CONSTS(56)/ALGBRC(3)
      ALGBRC(18) =  CONSTS(57)*ALGBRC(3)
      RATES(12) = ( CONSTS(58)*STATES(15) -  ALGBRC(18)*STATES(2)*STATES(12)) - ( ALGBRC(9)*STATES(2) ** 2.00000*STATES(12) -  CONSTS(59)*STATES(13))
      RATES(13) = ( ALGBRC(9)*STATES(2) ** 2.00000*STATES(12) -  CONSTS(59)*STATES(13)) - ( ALGBRC(18)*STATES(2)*STATES(13) -  CONSTS(58)*STATES(14))
      RATES(14) = ( ALGBRC(18)*STATES(2)*STATES(13) -  CONSTS(58)*STATES(14)) - ( CONSTS(59)*STATES(14) -  ALGBRC(9)*STATES(2) ** 2.00000*STATES(15))
      RATES(15) = ( CONSTS(59)*STATES(14) -  ALGBRC(9)*STATES(2) ** 2.00000*STATES(15)) - ( CONSTS(58)*STATES(15) -  ALGBRC(18)*STATES(2)*STATES(12))
      ALGBRC(6) = TERNRY(VOI.GT.CONSTS(6).AND.VOI.LT.CONSTS(6)+CONSTS(7), CONSTS(8), CONSTS(9))
      ALGBRC(10) = TERNRY(CONSTS(5).GE.1.00000, ALGBRC(6), STATES(1))
      ALGBRC(11) = 1.00000/(( 0.360000*(((ALGBRC(10)+148.800) - CONSTS(96)) - CONSTS(100)))/(EXP( 0.0660000*(((ALGBRC(10)+148.800) - CONSTS(96)) - CONSTS(100))) - 1.00000)+( 0.100000*(((ALGBRC(10)+87.3000) - CONSTS(96)) - CONSTS(100)))/(1.00000 - EXP( - 0.200000*(((ALGBRC(10)+87.3000) - CONSTS(96)) - CONSTS(100))))) - 0.0540000
      ALGBRC(30) = TERNRY(ALGBRC(10).LT.- (((80.0000 - CONSTS(96)) - CONSTS(100)) - CONSTS(21)), 0.0132900+0.999210/(1.00000+EXP(((((ALGBRC(10)+97.1340) - CONSTS(96)) - CONSTS(100)) - CONSTS(21))/8.17520)),  0.000250100*EXP(- (((ALGBRC(10) - CONSTS(96)) - CONSTS(100)) - CONSTS(21))/12.8610))
      RATES(4) = (ALGBRC(30) - STATES(4))/ALGBRC(11)
      ALGBRC(15) = 1.00000/(1.00000+EXP((ALGBRC(10)+37.4000+CONSTS(45))/(5.30000+CONSTS(46))))
      ALGBRC(34) =  0.00100000*(44.3000+ 230.000*EXP(- (ALGBRC(10)+36.0000)/10.0000 ** 2.00000))
      RATES(8) = (ALGBRC(15) - STATES(8))/ALGBRC(34)
      ALGBRC(16) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+38.3000)/5.50000))
      ALGBRC(35) = 0.00100000/( 1.06800*EXP((ALGBRC(10)+38.3000)/30.0000)+ 1.06800*EXP(- (ALGBRC(10)+38.3000)/30.0000))
      RATES(10) = (ALGBRC(16) - STATES(10))/ALGBRC(35)
      ALGBRC(17) = 1.00000/(1.00000+EXP((ALGBRC(10)+58.7000)/3.80000))
      ALGBRC(36) = 1.00000/( 16.6700*EXP(- (ALGBRC(10)+75.0000)/83.3000)+ 16.6700*EXP((ALGBRC(10)+75.0000)/15.3800))+CONSTS(50)
      RATES(11) = (ALGBRC(17) - STATES(11))/ALGBRC(36)
      ALGBRC(38) = 0.00900000/(1.00000+EXP((ALGBRC(10)+5.00000)/12.0000))+0.000500000
      ALGBRC(20) = 1.00000/(1.00000+EXP((ALGBRC(10)+6.00000)/- 8.60000))
      RATES(25) = (ALGBRC(20) - STATES(25))/ALGBRC(38)
      ALGBRC(39) = 0.590000/(1.00000+EXP((ALGBRC(10)+60.0000)/10.0000))+3.05000
      ALGBRC(21) = 1.00000/(1.00000+EXP((ALGBRC(10)+7.50000)/10.0000))
      RATES(26) = (ALGBRC(21) - STATES(26))/ALGBRC(39)
      ALGBRC(22) = 1.00000/(1.00000+EXP((ALGBRC(10)+49.0000)/13.0000))
      ALGBRC(40) =  0.00100000*0.600000*(65.1700/( 0.570000*EXP( - 0.0800000*(ALGBRC(10)+44.0000))+ 0.0650000*EXP( 0.100000*(ALGBRC(10)+45.9300)))+10.1000)
      RATES(27) = (ALGBRC(22) - STATES(27))/ALGBRC(40)
      ALGBRC(23) = 1.00000/(1.00000+EXP(- (ALGBRC(10) - 19.3000)/15.0000))
      ALGBRC(41) =  0.00100000*0.660000*1.40000*(15.5900/( 1.03700*EXP( 0.0900000*(ALGBRC(10)+30.6100))+ 0.369000*EXP( - 0.120000*(ALGBRC(10)+23.8400)))+2.98000)
      RATES(28) = (ALGBRC(23) - STATES(28))/ALGBRC(41)
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+10.0144)/7.66070))
      ALGBRC(42) = 0.846554/( 4.20000*EXP(ALGBRC(10)/17.0000)+ 0.150000*EXP(- ALGBRC(10)/21.6000))
      RATES(29) = (ALGBRC(24) - STATES(29))/ALGBRC(42)
      ALGBRC(43) = 1.00000/( 30.0000*EXP(ALGBRC(10)/10.0000)+EXP(- ALGBRC(10)/12.0000))
      RATES(30) = (ALGBRC(24) - STATES(30))/ALGBRC(43)
      ALGBRC(44) = 1.00000/(1.00000+EXP((ALGBRC(10)+28.6000)/17.1000))
      ALGBRC(27) = 1.00000/( 100.000*EXP(- ALGBRC(10)/54.6450)+ 656.000*EXP(ALGBRC(10)/106.157))
      RATES(31) = (ALGBRC(44) - STATES(31))/ALGBRC(27)
      ALGBRC(29) =  10.0000*EXP( 0.0133000*(ALGBRC(10)+40.0000))
      ALGBRC(46) = CONSTS(116)/(CONSTS(116)+ALGBRC(29))
      ALGBRC(52) = 1.00000/(CONSTS(116)+ALGBRC(29))
      RATES(33) = (ALGBRC(46) - STATES(33))/ALGBRC(52)
      ALGBRC(13) = 1.00000/(1.00000+EXP((ALGBRC(10)+69.8040)/4.45650))
      ALGBRC(32) =  20.0000*EXP( - 0.125000*(ALGBRC(10)+75.0000))
      ALGBRC(48) = 2000.00/( 320.000*EXP( - 0.100000*(ALGBRC(10)+75.0000))+1.00000)
      ALGBRC(54) = 1.00000/(ALGBRC(32)+ALGBRC(48))
      RATES(6) = (ALGBRC(13) - STATES(6))/ALGBRC(54)
      ALGBRC(28) =  (1.00000/(1.00000+EXP(- ((ALGBRC(10)+0.638300) - CONSTS(115))/10.7071))) ** (1.0 / 2)
      ALGBRC(45) = 28.0000/(1.00000+EXP(- ((ALGBRC(10) - 40.0000) - CONSTS(115))/3.00000))
      ALGBRC(51) =  1.00000*EXP(- ((ALGBRC(10) - CONSTS(115)) - 5.00000)/25.0000)
      ALGBRC(57) = 1.00000/(ALGBRC(45)+ALGBRC(51))
      RATES(32) = (ALGBRC(28) - STATES(32))/ALGBRC(57)
      ALGBRC(12) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+42.0504)/8.31060))
      ALGBRC(31) = ALGBRC(10)+41.0000
      ALGBRC(47) = TERNRY(ABS(ALGBRC(31)).LT.CONSTS(41), 2000.00, ( 200.000*ALGBRC(31))/(1.00000 - EXP( - 0.100000*ALGBRC(31))))
      ALGBRC(53) =  8000.00*EXP( - 0.0560000*(ALGBRC(10)+66.0000))
      ALGBRC(58) = 1.00000/(ALGBRC(47)+ALGBRC(53))
      RATES(5) = (ALGBRC(12) - STATES(5))/ALGBRC(58)
      ALGBRC(14) = 1.00000/(1.00000+EXP(- ((ALGBRC(10) - CONSTS(44)) - CONSTS(108))/( CONSTS(43)*(1.00000+CONSTS(109)/100.000))))
      ALGBRC(33) = TERNRY(ALGBRC(10).EQ.- 41.8000, - 41.8000, TERNRY(ALGBRC(10).EQ.0.00000, 0.00000, TERNRY(ALGBRC(10).EQ.- 6.80000, - 6.80001, ALGBRC(10))
      ALGBRC(49) = ( - 0.0283900*(ALGBRC(33)+41.8000))/(EXP(- (ALGBRC(33)+41.8000)/2.50000) - 1.00000) - ( 0.0849000*(ALGBRC(33)+6.80000))/(EXP(- (ALGBRC(33)+6.80000)/4.80000) - 1.00000)
      ALGBRC(55) = TERNRY(ALGBRC(10).EQ.- 1.80000, - 1.80001, ALGBRC(10))
      ALGBRC(59) = ( 0.0114300*(ALGBRC(55)+1.80000))/(EXP((ALGBRC(55)+1.80000)/2.50000) - 1.00000)
      ALGBRC(61) = 0.00100000/(ALGBRC(49)+ALGBRC(59))
      RATES(7) = (ALGBRC(14) - STATES(7))/ALGBRC(61)
      ALGBRC(19) = STATES(3)
      ALGBRC(37) =  CONSTS(92)*log(CONSTS(12)/ALGBRC(19))
      ALGBRC(62) =  CONSTS(103)*CONSTS(24)*1.00000+CONSTS(22)/CONSTS(14) ** 1.20000 ** - 1.00000*1.00000+CONSTS(23)/ALGBRC(19) ** 1.30000 ** - 1.00000*1.00000+EXP(- ((ALGBRC(10) - ALGBRC(37))+110.000)/20.0000) ** - 1.00000
      ALGBRC(64) = EXP(( - CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92)))
      ALGBRC(70) = 1.00000+ (CONSTS(15)/CONSTS(37))*(1.00000+EXP(( CONSTS(28)*ALGBRC(10))/CONSTS(92)))+ (CONSTS(12)/CONSTS(35))*(1.00000+ (CONSTS(12)/CONSTS(36))*(1.00000+CONSTS(12)/CONSTS(34)))
      ALGBRC(72) = ( (( (CONSTS(12)/CONSTS(35))*CONSTS(12))/CONSTS(36))*(1.00000+CONSTS(12)/CONSTS(34))*EXP(( - CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92))))/ALGBRC(70)
      ALGBRC(71) = ( (CONSTS(15)/CONSTS(37))*EXP(( CONSTS(28)*ALGBRC(10))/CONSTS(92)))/ALGBRC(70)
      ALGBRC(68) = EXP(( CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92)))
      ALGBRC(63) = ALGBRC(19)/(CONSTS(29)+ALGBRC(19))
      ALGBRC(73) =  ALGBRC(64)*CONSTS(105)*(ALGBRC(72)+ALGBRC(71))+ ALGBRC(71)*ALGBRC(68)*(ALGBRC(63)+ALGBRC(64))
      ALGBRC(65) = 1.00000+ (STATES(2)/CONSTS(30))*(1.00000+EXP(( - CONSTS(26)*ALGBRC(10))/CONSTS(92))+ALGBRC(19)/CONSTS(33))+ (ALGBRC(19)/CONSTS(31))*(1.00000+ (ALGBRC(19)/CONSTS(32))*(1.00000+ALGBRC(19)/CONSTS(29)))
      ALGBRC(66) = ( (STATES(2)/CONSTS(30))*EXP(( - CONSTS(26)*ALGBRC(10))/CONSTS(92)))/ALGBRC(65)
      ALGBRC(67) = ( (( (ALGBRC(19)/CONSTS(31))*ALGBRC(19))/CONSTS(32))*(1.00000+ALGBRC(19)/CONSTS(29))*EXP(( CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92))))/ALGBRC(65)
      ALGBRC(69) =  ALGBRC(68)*ALGBRC(63)*(ALGBRC(67)+ALGBRC(66))+ ALGBRC(64)*ALGBRC(66)*(CONSTS(105)+ALGBRC(68))
      ALGBRC(74) =  ALGBRC(67)*ALGBRC(63)*(ALGBRC(72)+ALGBRC(71))+ ALGBRC(66)*ALGBRC(72)*(ALGBRC(63)+ALGBRC(64))
      ALGBRC(75) =  ALGBRC(72)*CONSTS(105)*(ALGBRC(67)+ALGBRC(66))+ ALGBRC(67)*ALGBRC(71)*(CONSTS(105)+ALGBRC(68))
      ALGBRC(76) = ( (1.00000 - CONSTS(38))*CONSTS(25)*( ALGBRC(69)*ALGBRC(71) -  ALGBRC(73)*ALGBRC(66)))/(ALGBRC(73)+ALGBRC(69)+ALGBRC(74)+ALGBRC(75))
      ALGBRC(77) =  CONSTS(92)*log((CONSTS(12)+ 0.120000*CONSTS(14))/(ALGBRC(19)+ 0.120000*CONSTS(13)))
      ALGBRC(78) =  CONSTS(39)*STATES(5) ** 3.00000*STATES(6)*(ALGBRC(10) - ALGBRC(77))
      ALGBRC(79) =  CONSTS(40)*STATES(5) ** 3.00000*(ALGBRC(10) - ALGBRC(77))
      ALGBRC(80) = ALGBRC(78)+ALGBRC(79)
      ALGBRC(50) =  STATES(4)*CONSTS(104)*(ALGBRC(10) - ALGBRC(37))*(1.00000 - CONSTS(20))
      ALGBRC(83) =  (( 1.85000e-05*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))))*(ALGBRC(19) -  CONSTS(12)*EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      RATES(3) = ( (1.00000 - CONSTS(16))*- 1.00000*(ALGBRC(80)+ALGBRC(50)+ALGBRC(83)+ 3.00000*ALGBRC(62)+ 3.00000*ALGBRC(76)))/( 1.00000*(CONSTS(113)+CONSTS(111))*CONSTS(3))
      ALGBRC(91) =  CONSTS(72)*STATES(2)*(1.00000 - STATES(21)) -  CONSTS(77)*STATES(21)
      RATES(21) = ALGBRC(91)
      ALGBRC(85) =  (( 2.00000*CONSTS(49)*ALGBRC(10))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*ALGBRC(10)*2.00000)/CONSTS(92)))))*(STATES(2) -  CONSTS(15)*EXP(( - 2.00000*ALGBRC(10))/CONSTS(92)))*STATES(10)*STATES(11)
      ALGBRC(81) =  (( 2.00000*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000)*2.00000)/CONSTS(92)))))*(STATES(2) -  CONSTS(15)*EXP(( - 2.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      ALGBRC(87) =  CONSTS(51)*STATES(13)*(STATES(16) - STATES(2))
      ALGBRC(89) = (STATES(2) - STATES(18))/CONSTS(60)
      RATES(2) = ( ALGBRC(87)*CONSTS(112))/CONSTS(111) - (((ALGBRC(81)+ALGBRC(85)) -  2.00000*ALGBRC(76))/( 2.00000*CONSTS(3)*CONSTS(111))+ALGBRC(89)+ CONSTS(67)*ALGBRC(91))
      ALGBRC(94) =  CONSTS(69)*STATES(18)*(1.00000 - STATES(22)) -  CONSTS(74)*STATES(22)
      RATES(22) = ALGBRC(94)
      ALGBRC(92) = CONSTS(99)/(1.00000+EXP((- STATES(18)+CONSTS(63))/CONSTS(64)))
      ALGBRC(95) = (STATES(17) - STATES(16))/CONSTS(61)
      RATES(17) = ALGBRC(92) - ( ALGBRC(95)*CONSTS(112))/CONSTS(114)
      ALGBRC(97) =  CONSTS(71)*STATES(18)*(1.00000 - (STATES(23)+STATES(19))) -  CONSTS(75)*STATES(23)
      RATES(23) = ALGBRC(97)
      ALGBRC(98) =  CONSTS(73)*STATES(16)*(1.00000 - STATES(24)) -  CONSTS(78)*STATES(24)
      RATES(24) = ALGBRC(98)
      RATES(16) = ALGBRC(95) - (ALGBRC(87)+ CONSTS(68)*ALGBRC(98))
      ALGBRC(100) =  CONSTS(72)*STATES(18)*(1.00000 - STATES(20)) -  CONSTS(77)*STATES(20)
      RATES(20) = ALGBRC(100)
      RATES(18) = ( 1.00000*( ALGBRC(89)*CONSTS(111) -  ALGBRC(92)*CONSTS(114)))/CONSTS(113) - ( CONSTS(67)*ALGBRC(100)+ CONSTS(65)*ALGBRC(94)+ CONSTS(66)*ALGBRC(97))
      ALGBRC(56) =  STATES(4)*CONSTS(102)*(ALGBRC(10) - CONSTS(97))*(1.00000 - CONSTS(20))
      ALGBRC(60) = ALGBRC(50)+ALGBRC(56)
      ALGBRC(90) =  CONSTS(88)*(ALGBRC(10) - CONSTS(97))*( 0.900000*STATES(30)+ 0.100000*STATES(29))*STATES(31)
      ALGBRC(93) =  CONSTS(92)*log((CONSTS(14)+ 0.120000*CONSTS(12))/(CONSTS(13)+ 0.120000*ALGBRC(19)))
      ALGBRC(96) =  CONSTS(95)*(ALGBRC(10) - ALGBRC(93))*STATES(32) ** 2.00000
      ALGBRC(88) =  CONSTS(87)*(ALGBRC(10) - CONSTS(97))*STATES(27)*STATES(28)
      ALGBRC(82) =  (( 0.000365000*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))))*(CONSTS(13) -  CONSTS(14)*EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      ALGBRC(84) =  (ALGBRC(81)+ALGBRC(82)+ALGBRC(83))*(1.00000 - CONSTS(107))*1.00000*CONSTS(106)
      ALGBRC(99) = TERNRY(CONSTS(10).GT.0.00000,  CONSTS(91)*CONSTS(90)*(ALGBRC(10) - CONSTS(97))*(1.00000+EXP((ALGBRC(10)+20.0000)/20.0000))*STATES(33), 0.00000)
      ALGBRC(86) =  CONSTS(86)*STATES(25)*STATES(26)*(ALGBRC(10) - CONSTS(97))
      ALGBRC(101) = ALGBRC(60)+ALGBRC(90)+ALGBRC(96)+ALGBRC(88)+ALGBRC(62)+ALGBRC(76)+ALGBRC(80)+ALGBRC(84)+ALGBRC(85)+ALGBRC(99)+ALGBRC(86)
      RATES(1) = - ALGBRC(101)/CONSTS(4)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(7) =  CONSTS(70)*CONSTS(79)*(1.00000 - (STATES(23)+STATES(19))) -  CONSTS(76)*STATES(19)
      ALGBRC(2) = CONSTS(48)/(CONSTS(48)+STATES(2))
      ALGBRC(8) = ( 0.00100000*ALGBRC(2))/CONSTS(47)
      ALGBRC(3) = CONSTS(52) - (CONSTS(52) - CONSTS(53))/(1.00000+CONSTS(54)/STATES(16) ** CONSTS(55))
      ALGBRC(9) = CONSTS(56)/ALGBRC(3)
      ALGBRC(18) =  CONSTS(57)*ALGBRC(3)
      ALGBRC(6) = TERNRY(VOI.GT.CONSTS(6).AND.VOI.LT.CONSTS(6)+CONSTS(7), CONSTS(8), CONSTS(9))
      ALGBRC(10) = TERNRY(CONSTS(5).GE.1.00000, ALGBRC(6), STATES(1))
      ALGBRC(11) = 1.00000/(( 0.360000*(((ALGBRC(10)+148.800) - CONSTS(96)) - CONSTS(100)))/(EXP( 0.0660000*(((ALGBRC(10)+148.800) - CONSTS(96)) - CONSTS(100))) - 1.00000)+( 0.100000*(((ALGBRC(10)+87.3000) - CONSTS(96)) - CONSTS(100)))/(1.00000 - EXP( - 0.200000*(((ALGBRC(10)+87.3000) - CONSTS(96)) - CONSTS(100))))) - 0.0540000
      ALGBRC(30) = TERNRY(ALGBRC(10).LT.- (((80.0000 - CONSTS(96)) - CONSTS(100)) - CONSTS(21)), 0.0132900+0.999210/(1.00000+EXP(((((ALGBRC(10)+97.1340) - CONSTS(96)) - CONSTS(100)) - CONSTS(21))/8.17520)),  0.000250100*EXP(- (((ALGBRC(10) - CONSTS(96)) - CONSTS(100)) - CONSTS(21))/12.8610))
      ALGBRC(15) = 1.00000/(1.00000+EXP((ALGBRC(10)+37.4000+CONSTS(45))/(5.30000+CONSTS(46))))
      ALGBRC(34) =  0.00100000*(44.3000+ 230.000*EXP(- (ALGBRC(10)+36.0000)/10.0000 ** 2.00000))
      ALGBRC(16) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+38.3000)/5.50000))
      ALGBRC(35) = 0.00100000/( 1.06800*EXP((ALGBRC(10)+38.3000)/30.0000)+ 1.06800*EXP(- (ALGBRC(10)+38.3000)/30.0000))
      ALGBRC(17) = 1.00000/(1.00000+EXP((ALGBRC(10)+58.7000)/3.80000))
      ALGBRC(36) = 1.00000/( 16.6700*EXP(- (ALGBRC(10)+75.0000)/83.3000)+ 16.6700*EXP((ALGBRC(10)+75.0000)/15.3800))+CONSTS(50)
      ALGBRC(38) = 0.00900000/(1.00000+EXP((ALGBRC(10)+5.00000)/12.0000))+0.000500000
      ALGBRC(20) = 1.00000/(1.00000+EXP((ALGBRC(10)+6.00000)/- 8.60000))
      ALGBRC(39) = 0.590000/(1.00000+EXP((ALGBRC(10)+60.0000)/10.0000))+3.05000
      ALGBRC(21) = 1.00000/(1.00000+EXP((ALGBRC(10)+7.50000)/10.0000))
      ALGBRC(22) = 1.00000/(1.00000+EXP((ALGBRC(10)+49.0000)/13.0000))
      ALGBRC(40) =  0.00100000*0.600000*(65.1700/( 0.570000*EXP( - 0.0800000*(ALGBRC(10)+44.0000))+ 0.0650000*EXP( 0.100000*(ALGBRC(10)+45.9300)))+10.1000)
      ALGBRC(23) = 1.00000/(1.00000+EXP(- (ALGBRC(10) - 19.3000)/15.0000))
      ALGBRC(41) =  0.00100000*0.660000*1.40000*(15.5900/( 1.03700*EXP( 0.0900000*(ALGBRC(10)+30.6100))+ 0.369000*EXP( - 0.120000*(ALGBRC(10)+23.8400)))+2.98000)
      ALGBRC(24) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+10.0144)/7.66070))
      ALGBRC(42) = 0.846554/( 4.20000*EXP(ALGBRC(10)/17.0000)+ 0.150000*EXP(- ALGBRC(10)/21.6000))
      ALGBRC(43) = 1.00000/( 30.0000*EXP(ALGBRC(10)/10.0000)+EXP(- ALGBRC(10)/12.0000))
      ALGBRC(44) = 1.00000/(1.00000+EXP((ALGBRC(10)+28.6000)/17.1000))
      ALGBRC(27) = 1.00000/( 100.000*EXP(- ALGBRC(10)/54.6450)+ 656.000*EXP(ALGBRC(10)/106.157))
      ALGBRC(29) =  10.0000*EXP( 0.0133000*(ALGBRC(10)+40.0000))
      ALGBRC(46) = CONSTS(116)/(CONSTS(116)+ALGBRC(29))
      ALGBRC(52) = 1.00000/(CONSTS(116)+ALGBRC(29))
      ALGBRC(13) = 1.00000/(1.00000+EXP((ALGBRC(10)+69.8040)/4.45650))
      ALGBRC(32) =  20.0000*EXP( - 0.125000*(ALGBRC(10)+75.0000))
      ALGBRC(48) = 2000.00/( 320.000*EXP( - 0.100000*(ALGBRC(10)+75.0000))+1.00000)
      ALGBRC(54) = 1.00000/(ALGBRC(32)+ALGBRC(48))
      ALGBRC(28) =  (1.00000/(1.00000+EXP(- ((ALGBRC(10)+0.638300) - CONSTS(115))/10.7071))) ** (1.0 / 2)
      ALGBRC(45) = 28.0000/(1.00000+EXP(- ((ALGBRC(10) - 40.0000) - CONSTS(115))/3.00000))
      ALGBRC(51) =  1.00000*EXP(- ((ALGBRC(10) - CONSTS(115)) - 5.00000)/25.0000)
      ALGBRC(57) = 1.00000/(ALGBRC(45)+ALGBRC(51))
      ALGBRC(12) = 1.00000/(1.00000+EXP(- (ALGBRC(10)+42.0504)/8.31060))
      ALGBRC(31) = ALGBRC(10)+41.0000
      ALGBRC(47) = TERNRY(ABS(ALGBRC(31)).LT.CONSTS(41), 2000.00, ( 200.000*ALGBRC(31))/(1.00000 - EXP( - 0.100000*ALGBRC(31))))
      ALGBRC(53) =  8000.00*EXP( - 0.0560000*(ALGBRC(10)+66.0000))
      ALGBRC(58) = 1.00000/(ALGBRC(47)+ALGBRC(53))
      ALGBRC(14) = 1.00000/(1.00000+EXP(- ((ALGBRC(10) - CONSTS(44)) - CONSTS(108))/( CONSTS(43)*(1.00000+CONSTS(109)/100.000))))
      ALGBRC(33) = TERNRY(ALGBRC(10).EQ.- 41.8000, - 41.8000, TERNRY(ALGBRC(10).EQ.0.00000, 0.00000, TERNRY(ALGBRC(10).EQ.- 6.80000, - 6.80001, ALGBRC(10))
      ALGBRC(49) = ( - 0.0283900*(ALGBRC(33)+41.8000))/(EXP(- (ALGBRC(33)+41.8000)/2.50000) - 1.00000) - ( 0.0849000*(ALGBRC(33)+6.80000))/(EXP(- (ALGBRC(33)+6.80000)/4.80000) - 1.00000)
      ALGBRC(55) = TERNRY(ALGBRC(10).EQ.- 1.80000, - 1.80001, ALGBRC(10))
      ALGBRC(59) = ( 0.0114300*(ALGBRC(55)+1.80000))/(EXP((ALGBRC(55)+1.80000)/2.50000) - 1.00000)
      ALGBRC(61) = 0.00100000/(ALGBRC(49)+ALGBRC(59))
      ALGBRC(19) = STATES(3)
      ALGBRC(37) =  CONSTS(92)*log(CONSTS(12)/ALGBRC(19))
      ALGBRC(62) =  CONSTS(103)*CONSTS(24)*1.00000+CONSTS(22)/CONSTS(14) ** 1.20000 ** - 1.00000*1.00000+CONSTS(23)/ALGBRC(19) ** 1.30000 ** - 1.00000*1.00000+EXP(- ((ALGBRC(10) - ALGBRC(37))+110.000)/20.0000) ** - 1.00000
      ALGBRC(64) = EXP(( - CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92)))
      ALGBRC(70) = 1.00000+ (CONSTS(15)/CONSTS(37))*(1.00000+EXP(( CONSTS(28)*ALGBRC(10))/CONSTS(92)))+ (CONSTS(12)/CONSTS(35))*(1.00000+ (CONSTS(12)/CONSTS(36))*(1.00000+CONSTS(12)/CONSTS(34)))
      ALGBRC(72) = ( (( (CONSTS(12)/CONSTS(35))*CONSTS(12))/CONSTS(36))*(1.00000+CONSTS(12)/CONSTS(34))*EXP(( - CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92))))/ALGBRC(70)
      ALGBRC(71) = ( (CONSTS(15)/CONSTS(37))*EXP(( CONSTS(28)*ALGBRC(10))/CONSTS(92)))/ALGBRC(70)
      ALGBRC(68) = EXP(( CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92)))
      ALGBRC(63) = ALGBRC(19)/(CONSTS(29)+ALGBRC(19))
      ALGBRC(73) =  ALGBRC(64)*CONSTS(105)*(ALGBRC(72)+ALGBRC(71))+ ALGBRC(71)*ALGBRC(68)*(ALGBRC(63)+ALGBRC(64))
      ALGBRC(65) = 1.00000+ (STATES(2)/CONSTS(30))*(1.00000+EXP(( - CONSTS(26)*ALGBRC(10))/CONSTS(92))+ALGBRC(19)/CONSTS(33))+ (ALGBRC(19)/CONSTS(31))*(1.00000+ (ALGBRC(19)/CONSTS(32))*(1.00000+ALGBRC(19)/CONSTS(29)))
      ALGBRC(66) = ( (STATES(2)/CONSTS(30))*EXP(( - CONSTS(26)*ALGBRC(10))/CONSTS(92)))/ALGBRC(65)
      ALGBRC(67) = ( (( (ALGBRC(19)/CONSTS(31))*ALGBRC(19))/CONSTS(32))*(1.00000+ALGBRC(19)/CONSTS(29))*EXP(( CONSTS(27)*ALGBRC(10))/( 2.00000*CONSTS(92))))/ALGBRC(65)
      ALGBRC(69) =  ALGBRC(68)*ALGBRC(63)*(ALGBRC(67)+ALGBRC(66))+ ALGBRC(64)*ALGBRC(66)*(CONSTS(105)+ALGBRC(68))
      ALGBRC(74) =  ALGBRC(67)*ALGBRC(63)*(ALGBRC(72)+ALGBRC(71))+ ALGBRC(66)*ALGBRC(72)*(ALGBRC(63)+ALGBRC(64))
      ALGBRC(75) =  ALGBRC(72)*CONSTS(105)*(ALGBRC(67)+ALGBRC(66))+ ALGBRC(67)*ALGBRC(71)*(CONSTS(105)+ALGBRC(68))
      ALGBRC(76) = ( (1.00000 - CONSTS(38))*CONSTS(25)*( ALGBRC(69)*ALGBRC(71) -  ALGBRC(73)*ALGBRC(66)))/(ALGBRC(73)+ALGBRC(69)+ALGBRC(74)+ALGBRC(75))
      ALGBRC(77) =  CONSTS(92)*log((CONSTS(12)+ 0.120000*CONSTS(14))/(ALGBRC(19)+ 0.120000*CONSTS(13)))
      ALGBRC(78) =  CONSTS(39)*STATES(5) ** 3.00000*STATES(6)*(ALGBRC(10) - ALGBRC(77))
      ALGBRC(79) =  CONSTS(40)*STATES(5) ** 3.00000*(ALGBRC(10) - ALGBRC(77))
      ALGBRC(80) = ALGBRC(78)+ALGBRC(79)
      ALGBRC(50) =  STATES(4)*CONSTS(104)*(ALGBRC(10) - ALGBRC(37))*(1.00000 - CONSTS(20))
      ALGBRC(83) =  (( 1.85000e-05*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))))*(ALGBRC(19) -  CONSTS(12)*EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      ALGBRC(91) =  CONSTS(72)*STATES(2)*(1.00000 - STATES(21)) -  CONSTS(77)*STATES(21)
      ALGBRC(85) =  (( 2.00000*CONSTS(49)*ALGBRC(10))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*ALGBRC(10)*2.00000)/CONSTS(92)))))*(STATES(2) -  CONSTS(15)*EXP(( - 2.00000*ALGBRC(10))/CONSTS(92)))*STATES(10)*STATES(11)
      ALGBRC(81) =  (( 2.00000*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000)*2.00000)/CONSTS(92)))))*(STATES(2) -  CONSTS(15)*EXP(( - 2.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      ALGBRC(87) =  CONSTS(51)*STATES(13)*(STATES(16) - STATES(2))
      ALGBRC(89) = (STATES(2) - STATES(18))/CONSTS(60)
      ALGBRC(94) =  CONSTS(69)*STATES(18)*(1.00000 - STATES(22)) -  CONSTS(74)*STATES(22)
      ALGBRC(92) = CONSTS(99)/(1.00000+EXP((- STATES(18)+CONSTS(63))/CONSTS(64)))
      ALGBRC(95) = (STATES(17) - STATES(16))/CONSTS(61)
      ALGBRC(97) =  CONSTS(71)*STATES(18)*(1.00000 - (STATES(23)+STATES(19))) -  CONSTS(75)*STATES(23)
      ALGBRC(98) =  CONSTS(73)*STATES(16)*(1.00000 - STATES(24)) -  CONSTS(78)*STATES(24)
      ALGBRC(100) =  CONSTS(72)*STATES(18)*(1.00000 - STATES(20)) -  CONSTS(77)*STATES(20)
      ALGBRC(56) =  STATES(4)*CONSTS(102)*(ALGBRC(10) - CONSTS(97))*(1.00000 - CONSTS(20))
      ALGBRC(60) = ALGBRC(50)+ALGBRC(56)
      ALGBRC(90) =  CONSTS(88)*(ALGBRC(10) - CONSTS(97))*( 0.900000*STATES(30)+ 0.100000*STATES(29))*STATES(31)
      ALGBRC(93) =  CONSTS(92)*log((CONSTS(14)+ 0.120000*CONSTS(12))/(CONSTS(13)+ 0.120000*ALGBRC(19)))
      ALGBRC(96) =  CONSTS(95)*(ALGBRC(10) - ALGBRC(93))*STATES(32) ** 2.00000
      ALGBRC(88) =  CONSTS(87)*(ALGBRC(10) - CONSTS(97))*STATES(27)*STATES(28)
      ALGBRC(82) =  (( 0.000365000*CONSTS(42)*(ALGBRC(10) - 0.00000))/( CONSTS(92)*(1.00000 - EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))))*(CONSTS(13) -  CONSTS(14)*EXP(( - 1.00000*(ALGBRC(10) - 0.00000))/CONSTS(92)))*STATES(7)*STATES(8)*STATES(9)
      ALGBRC(84) =  (ALGBRC(81)+ALGBRC(82)+ALGBRC(83))*(1.00000 - CONSTS(107))*1.00000*CONSTS(106)
      ALGBRC(99) = TERNRY(CONSTS(10).GT.0.00000,  CONSTS(91)*CONSTS(90)*(ALGBRC(10) - CONSTS(97))*(1.00000+EXP((ALGBRC(10)+20.0000)/20.0000))*STATES(33), 0.00000)
      ALGBRC(86) =  CONSTS(86)*STATES(25)*STATES(26)*(ALGBRC(10) - CONSTS(97))
      ALGBRC(101) = ALGBRC(60)+ALGBRC(90)+ALGBRC(96)+ALGBRC(88)+ALGBRC(62)+ALGBRC(76)+ALGBRC(80)+ALGBRC(84)+ALGBRC(85)+ALGBRC(99)+ALGBRC(86)
      ALGBRC(1) =  0.500000*CONSTS(92)*log(CONSTS(15)/STATES(2))
      ALGBRC(4) = STATES(16) - STATES(2)
      ALGBRC(5) = STATES(12)+STATES(13)+STATES(14)+STATES(15)
      ALGBRC(25) = (1.00000/(1.00000+EXP(- (ALGBRC(10)+23.2000)/6.60000)))/(0.846554/( 37.2000*EXP(ALGBRC(10)/11.9000)+ 0.960000*EXP(- ALGBRC(10)/18.5000)))
      ALGBRC(26) =  4.00000*(( 37.2000*EXP(ALGBRC(10)/15.9000)+ 0.960000*EXP(- ALGBRC(10)/22.5000))/0.846554 - (1.00000/(1.00000+EXP(- (ALGBRC(10)+23.2000)/10.6000)))/(0.846554/( 37.2000*EXP(ALGBRC(10)/15.9000)+ 0.960000*EXP(- ALGBRC(10)/22.5000))))
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END