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 115 entries in the algebraic variable array.
C There are a total of 30 entries in each of the rate and state variable arrays.
C There are a total of 83 entries in the constant variable array.
C
C
C VOI is time in component environment (millisecond).
C STATES(1) is V in component membrane (millivolt).
C ALGBRC(1) is i_stim in component membrane (microA_per_microF).
C ALGBRC(93) is i_tot in component membrane (microA_per_microF).
C ALGBRC(58) is i_Na in component i_Na (microA_per_microF).
C ALGBRC(59) is i_Na_L in component i_Na_L (microA_per_microF).
C ALGBRC(61) is i_Ca_L in component i_Ca_L (microA_per_microF).
C ALGBRC(65) is i_Ca_T in component i_Ca_T (microA_per_microF).
C ALGBRC(68) is i_to_1 in component i_to_1 (microA_per_microF).
C ALGBRC(80) is i_to_2 in component i_to_2 (microA_per_microF).
C ALGBRC(70) is i_Kr in component i_Kr (microA_per_microF).
C ALGBRC(72) is i_Ks in component i_Ks (microA_per_microF).
C ALGBRC(76) is i_K1 in component i_K1 (microA_per_microF).
C ALGBRC(83) is i_NaCa in component i_NaCa (microA_per_microF).
C ALGBRC(85) is i_NaK in component i_NaK (microA_per_microF).
C ALGBRC(89) is i_Na_b in component background_currents (microA_per_microF).
C ALGBRC(92) is i_Ca_b in component background_currents (microA_per_microF).
C ALGBRC(90) is i_K_b in component background_currents (microA_per_microF).
C ALGBRC(91) is i_Cl_b in component background_currents (microA_per_microF).
C ALGBRC(86) is i_Ca_p in component i_Ca_p (microA_per_microF).
C ALGBRC(78) is i_K_p in component i_K_p (microA_per_microF).
C CONSTS(1) is stim_start in component membrane (millisecond).
C CONSTS(2) is stim_end in component membrane (millisecond).
C CONSTS(3) is stim_amplitude in component membrane (microA_per_microF).
C ALGBRC(20) is E_Na in component equilibrium_potentials (millivolt).
C ALGBRC(37) is E_K in component equilibrium_potentials (millivolt).
C ALGBRC(2) is E_Ca in component equilibrium_potentials (millivolt).
C ALGBRC(47) is E_Cl in component equilibrium_potentials (millivolt).
C ALGBRC(57) is E_Ks in component equilibrium_potentials (millivolt).
C CONSTS(4) is r_NaK in component equilibrium_potentials (dimensionless).
C STATES(2) is Na_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(5) is Na_o in component model_parameters (millimolar).
C STATES(3) is Ca_i in component Ca_i (millimolar).
C CONSTS(6) is Ca_o in component model_parameters (millimolar).
C STATES(4) is K_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(7) is K_o in component model_parameters (millimolar).
C STATES(5) is Cl_i in component intracellular_ion_concentrations (millimolar).
C CONSTS(8) is Cl_o in component model_parameters (millimolar).
C CONSTS(9) is R in component model_parameters (joule_per_kilomole_kelvin).
C CONSTS(10) is F in component model_parameters (coulomb_per_mole).
C CONSTS(11) is T in component model_parameters (kelvin).
C CONSTS(12) is g_Na in component i_Na (milliS_per_microF).
C STATES(6) is m in component i_Na_m_gate (dimensionless).
C STATES(7) is h in component i_Na_h_gate (dimensionless).
C STATES(8) is j in component i_Na_j_gate (dimensionless).
C ALGBRC(48) is tau_m in component i_Na_m_gate (millisecond).
C ALGBRC(38) is m_infinity in component i_Na_m_gate (dimensionless).
C ALGBRC(3) is alpha_m in component i_Na_m_gate (per_millisecond).
C ALGBRC(21) is beta_m in component i_Na_m_gate (per_millisecond).
C ALGBRC(49) is tau_h in component i_Na_h_gate (millisecond).
C ALGBRC(39) is h_infinity in component i_Na_h_gate (dimensionless).
C ALGBRC(4) is alpha_h in component i_Na_h_gate (per_millisecond).
C ALGBRC(22) is beta_h in component i_Na_h_gate (per_millisecond).
C ALGBRC(50) is tau_j in component i_Na_j_gate (millisecond).
C ALGBRC(40) is j_infinity in component i_Na_j_gate (dimensionless).
C ALGBRC(5) is alpha_j in component i_Na_j_gate (per_millisecond).
C ALGBRC(23) is beta_j in component i_Na_j_gate (per_millisecond).
C CONSTS(13) is g_Na_L in component i_Na_L (milliS_per_microF).
C STATES(9) is m_L in component i_Na_L_m_L_gate (dimensionless).
C STATES(10) is h_L in component i_Na_L_h_L_gate (dimensionless).
C ALGBRC(51) is tau_m_L in component i_Na_L_m_L_gate (millisecond).
C ALGBRC(41) is m_L_infinity in component i_Na_L_m_L_gate (dimensionless).
C ALGBRC(6) is alpha_m_L in component i_Na_L_m_L_gate (per_millisecond).
C ALGBRC(24) is beta_m_L in component i_Na_L_m_L_gate (per_millisecond).
C ALGBRC(25) is tau_h_L in component i_Na_L_h_L_gate (millisecond).
C ALGBRC(7) is h_L_infinity in component i_Na_L_h_L_gate (dimensionless).
C CONSTS(14) is g_Ca_L in component i_Ca_L (dimensionless).
C ALGBRC(60) is i_Ca_L_max in component i_Ca_L (microA_per_microF).
C CONSTS(15) is p_Ca in component i_Ca_L (cm_per_second).
C CONSTS(16) is z_Ca in component model_parameters (dimensionless).
C CONSTS(17) is gamma_Cai in component model_parameters (dimensionless).
C CONSTS(18) is gamma_Cao in component model_parameters (dimensionless).
C STATES(11) is Ca_r in component Ca_r (millimolar).
C ALGBRC(98) is Ca_MK_act in component Ca_MK_act (dimensionless).
C CONSTS(19) is km_Ca_MK in component Ca_MK_act (millimolar).
C STATES(12) is d in component i_Ca_L_d_gate (dimensionless).
C STATES(13) is f in component i_Ca_L_f_gate (dimensionless).
C STATES(14) is f2 in component i_Ca_L_f2_gate (dimensionless).
C STATES(15) is f_Ca in component i_Ca_L_f_Ca_gate (dimensionless).
C STATES(16) is f_Ca2 in component i_Ca_L_f_Ca2_gate (dimensionless).
C CONSTS(20) is Cm in component model_parameters (microF_per_cm2).
C ALGBRC(8) is d_infinity in component i_Ca_L_d_gate (dimensionless).
C ALGBRC(26) is tau_d in component i_Ca_L_d_gate (millisecond).
C ALGBRC(9) is f_infinity in component i_Ca_L_f_gate (dimensionless).
C ALGBRC(27) is tau_f in component i_Ca_L_f_gate (millisecond).
C ALGBRC(10) is f2_infinity in component i_Ca_L_f2_gate (dimensionless).
C ALGBRC(28) is tau_f2 in component i_Ca_L_f2_gate (millisecond).
C ALGBRC(62) is f_Ca_infinity in component i_Ca_L_f_Ca_gate (dimensionless).
C ALGBRC(99) is tau_f_Ca in component i_Ca_L_f_Ca_gate (millisecond).
C ALGBRC(63) is f_Ca2_infinity in component i_Ca_L_f_Ca2_gate (dimensionless).
C ALGBRC(66) is tau_f_Ca2 in component i_Ca_L_f_Ca2_gate (millisecond).
C CONSTS(21) is g_Ca_T in component i_Ca_T (milliS_per_microF).
C STATES(17) is b in component i_Ca_T_b_gate (dimensionless).
C STATES(18) is g in component i_Ca_T_g_gate (dimensionless).
C ALGBRC(52) is tau_b in component i_Ca_T_b_gate (millisecond).
C ALGBRC(42) is b_infinity in component i_Ca_T_b_gate (dimensionless).
C ALGBRC(11) is alpha_b in component i_Ca_T_b_gate (per_millisecond).
C ALGBRC(29) is beta_b in component i_Ca_T_b_gate (per_millisecond).
C ALGBRC(53) is tau_g in component i_Ca_T_g_gate (millisecond).
C ALGBRC(43) is g_infinity in component i_Ca_T_g_gate (dimensionless).
C ALGBRC(12) is alpha_g in component i_Ca_T_g_gate (per_millisecond).
C ALGBRC(30) is beta_g in component i_Ca_T_g_gate (per_millisecond).
C CONSTS(22) is g_to_1 in component i_to_1 (milliS_per_microF).
C STATES(19) is a in component i_to_1_a_gate (dimensionless).
C STATES(20) is i in component i_to_1_i_gate (dimensionless).
C STATES(21) is i2 in component i_to_1_i2_gate (dimensionless).
C ALGBRC(13) is alpha_a in component i_to_1_a_gate (per_millisecond).
C ALGBRC(31) is beta_a in component i_to_1_a_gate (per_millisecond).
C ALGBRC(44) is tau_a in component i_to_1_a_gate (millisecond).
C ALGBRC(54) is a_infinity in component i_to_1_a_gate (dimensionless).
C ALGBRC(14) is alpha_i in component i_to_1_i_gate (per_millisecond).
C ALGBRC(32) is beta_i in component i_to_1_i_gate (per_millisecond).
C ALGBRC(45) is tau_i in component i_to_1_i_gate (millisecond).
C ALGBRC(55) is i_infinity in component i_to_1_i_gate (dimensionless).
C ALGBRC(15) is alpha_i2 in component i_to_1_i2_gate (per_millisecond).
C ALGBRC(33) is beta_i2 in component i_to_1_i2_gate (per_millisecond).
C ALGBRC(46) is tau_i2 in component i_to_1_i2_gate (millisecond).
C ALGBRC(56) is i2_infinity in component i_to_1_i2_gate (dimensionless).
C CONSTS(75) is g_Kr in component i_Kr (milliS_per_microF).
C ALGBRC(69) is rr_infinity in component i_Kr (dimensionless).
C STATES(22) is xr in component i_Kr_xr_gate (dimensionless).
C ALGBRC(16) is tau_xr in component i_Kr_xr_gate (millisecond).
C ALGBRC(34) is xr_infinity in component i_Kr_xr_gate (dimensionless).
C ALGBRC(71) is g_Ks in component i_Ks (milliS_per_microF).
C STATES(23) is xs1 in component i_Ks_xs1_gate (dimensionless).
C STATES(24) is xs2 in component i_Ks_xs2_gate (dimensionless).
C ALGBRC(17) is tau_xs1 in component i_Ks_xs1_gate (millisecond).
C ALGBRC(35) is xs1_infinity in component i_Ks_xs1_gate (dimensionless).
C ALGBRC(18) is tau_xs2 in component i_Ks_xs2_gate (millisecond).
C ALGBRC(36) is xs2_infinity in component i_Ks_xs2_gate (dimensionless).
C CONSTS(76) is g_K1 in component i_K1 (milliS_per_microF).
C ALGBRC(75) is xK1 in component i_K1_xK1_gate (dimensionless).
C ALGBRC(74) is alpha_xK1 in component i_K1_xK1_gate (dimensionless).
C ALGBRC(73) is beta_xK1 in component i_K1_xK1_gate (dimensionless).
C CONSTS(23) is g_K_p in component i_K_p (milliS_per_microF).
C ALGBRC(77) is kp in component i_K_p (dimensionless).
C CONSTS(24) is p_Cl in component i_to_2 (cm_per_second).
C CONSTS(25) is z_Cl in component i_to_2 (dimensionless).
C ALGBRC(79) is i_to_2_max in component i_to_2 (microA_per_microF).
C STATES(25) is a in component i_to_2_a_gate (dimensionless).
C ALGBRC(19) is a_infinity in component i_to_2_a_gate (dimensionless).
C CONSTS(77) is tau_a in component i_to_2_a_gate (millisecond).
C CONSTS(26) is km_to_2 in component i_to_2_a_gate (millimolar).
C CONSTS(27) is X_NaCa in component i_NaCa (dimensionless).
C CONSTS(28) is i_NaCa_max in component i_NaCa (microA_per_microF).
C CONSTS(29) is km_Na_i_1 in component i_NaCa (millimolar).
C CONSTS(30) is km_Na_o in component i_NaCa (millimolar).
C CONSTS(31) is km_Ca_i in component i_NaCa (millimolar).
C CONSTS(32) is km_Ca_o in component i_NaCa (millimolar).
C CONSTS(33) is km_Ca_act in component i_NaCa (millimolar).
C CONSTS(34) is k_sat in component i_NaCa (dimensionless).
C ALGBRC(81) is dNaCa_1 in component i_NaCa (millimolar4).
C ALGBRC(82) is dNaCa_2 in component i_NaCa (millimolar4).
C CONSTS(35) is g_NaK in component i_NaK (microA_per_microF).
C CONSTS(36) is km_Na_i_2 in component i_NaK (millimolar).
C CONSTS(37) is km_K_o in component i_NaK (millimolar).
C ALGBRC(84) is f_NaK in component i_NaK (dimensionless).
C CONSTS(78) is sigma in component i_NaK (dimensionless).
C CONSTS(38) is i_Ca_p_max in component i_Ca_p (microA_per_microF).
C CONSTS(39) is km_Ca_p in component i_Ca_p (millimolar).
C ALGBRC(87) is CT_K_Cl in component CT_K_Cl (millimolar_per_millisecond).
C CONSTS(40) is CT_K_Cl_max in component CT_K_Cl (millimolar_per_millisecond).
C ALGBRC(88) is CT_Na_Cl in component CT_Na_Cl (millimolar_per_millisecond).
C CONSTS(41) is CT_Na_Cl_max in component CT_Na_Cl (millimolar_per_millisecond).
C CONSTS(42) is g_Na_b in component background_currents (milliS_per_microF).
C CONSTS(43) is g_K_b in component background_currents (milliS_per_microF).
C CONSTS(44) is p_Ca_b in component background_currents (cm_per_second).
C CONSTS(45) is g_Cl_b in component background_currents (milliS_per_microF).
C CONSTS(80) is Vol_myo in component model_parameters (microlitre).
C CONSTS(79) is a_cap in component model_parameters (cm2).
C CONSTS(46) is km_TRPN in component Ca_i (millimolar).
C CONSTS(47) is km_CMDN in component Ca_i (millimolar).
C CONSTS(48) is TRPN_max in component Ca_i (millimolar).
C CONSTS(49) is CMDN_max in component Ca_i (millimolar).
C ALGBRC(95) is TRPN in component Ca_i (dimensionless).
C ALGBRC(94) is CMDN in component Ca_i (dimensionless).
C ALGBRC(96) is b_myo in component Ca_i (dimensionless).
C CONSTS(81) is Vol_nsr in component model_parameters (microlitre).
C CONSTS(83) is Vol_ss in component model_parameters (microlitre).
C ALGBRC(114) is q_up in component q_up (millimolar_per_millisecond).
C ALGBRC(111) is q_leak in component q_leak (millimolar_per_millisecond).
C ALGBRC(100) is q_diff in component Ca_r (millimolar_per_millisecond).
C STATES(26) is Ca_MK_trap in component Ca_MK_act (dimensionless).
C ALGBRC(97) is Ca_MK_bound in component Ca_MK_act (dimensionless).
C CONSTS(50) is alpha_Ca_MK in component Ca_MK_act (per_millisecond).
C CONSTS(51) is beta_Ca_MK in component Ca_MK_act (per_millisecond).
C CONSTS(52) is Ca_MK_0 in component Ca_MK_act (dimensionless).
C STATES(27) is Ca_NSR in component Ca_NSR (millimolar).
C CONSTS(82) is Vol_jsr in component model_parameters (microlitre).
C ALGBRC(115) is q_tr in component q_tr (millimolar_per_millisecond).
C STATES(28) is Ca_JSR in component Ca_JSR (millimolar).
C CONSTS(53) is CSQN_max in component Ca_JSR (millimolar).
C CONSTS(54) is km_CSQN in component Ca_JSR (millimolar).
C ALGBRC(110) is q_rel in component q_rel (millimolar_per_millisecond).
C CONSTS(55) is km_b_SR in component Ca_r (millimolar).
C CONSTS(56) is km_b_SL in component Ca_r (millimolar).
C CONSTS(57) is b_SR_max in component Ca_r (millimolar).
C CONSTS(58) is b_SL_max in component Ca_r (millimolar).
C CONSTS(59) is tau_ss in component Ca_r (millisecond).
C ALGBRC(104) is b_SR in component Ca_r (dimensionless).
C ALGBRC(102) is b_SL in component Ca_r (dimensionless).
C ALGBRC(106) is Ca_r_tot in component Ca_r (dimensionless).
C ALGBRC(109) is g_rel in component q_rel (per_millisecond).
C ALGBRC(108) is vg in component q_rel (dimensionless).
C STATES(29) is ri in component q_rel_ri_gate (dimensionless).
C STATES(30) is ro in component q_rel_ro_gate (dimensionless).
C ALGBRC(107) is tau_ri in component q_rel_ri_gate (millisecond).
C ALGBRC(105) is tau_Ca_MK in component q_rel_ri_gate (millisecond).
C CONSTS(60) is tau_Ca_MK_max in component q_rel_ri_gate (millisecond).
C ALGBRC(101) is Ca_fac in component q_rel_ri_gate (millimolar).
C ALGBRC(103) is ri_infinity in component q_rel_ri_gate (dimensionless).
C CONSTS(61) is tau_ro in component q_rel_ro_gate (millisecond).
C ALGBRC(67) is ro_infinity in component q_rel_ro_gate (dimensionless).
C ALGBRC(64) is ro_infinity_JSR in component q_rel_ro_gate (dimensionless).
C CONSTS(62) is q_leak_max in component q_leak (millimolar_per_millisecond).
C CONSTS(63) is NSR_max in component q_leak (millimolar).
C CONSTS(64) is X_q_up in component q_up (dimensionless).
C CONSTS(65) is q_up_max in component q_up (millimolar_per_millisecond).
C ALGBRC(112) is dq_up_Ca_MK in component q_up (dimensionless).
C CONSTS(66) is dq_up_Ca_MK_max in component q_up (dimensionless).
C ALGBRC(113) is dkm_plb in component q_up (millimolar).
C CONSTS(67) is dkm_plb_max in component q_up (millimolar).
C CONSTS(68) is km_up in component q_up (millimolar).
C CONSTS(69) is tau_tr in component q_tr (millisecond).
C CONSTS(70) is Vol_cell in component model_parameters (microlitre).
C CONSTS(74) is a_geo in component model_parameters (cm2).
C CONSTS(71) is radius in component model_parameters (cm).
C CONSTS(72) is length in component model_parameters (cm).
C CONSTS(73) is rcg in component model_parameters (dimensionless).
C RATES(1) is d/dt V in component membrane (millivolt).
C RATES(6) is d/dt m in component i_Na_m_gate (dimensionless).
C RATES(7) is d/dt h in component i_Na_h_gate (dimensionless).
C RATES(8) is d/dt j in component i_Na_j_gate (dimensionless).
C RATES(9) is d/dt m_L in component i_Na_L_m_L_gate (dimensionless).
C RATES(10) is d/dt h_L in component i_Na_L_h_L_gate (dimensionless).
C RATES(12) is d/dt d in component i_Ca_L_d_gate (dimensionless).
C RATES(13) is d/dt f in component i_Ca_L_f_gate (dimensionless).
C RATES(14) is d/dt f2 in component i_Ca_L_f2_gate (dimensionless).
C RATES(15) is d/dt f_Ca in component i_Ca_L_f_Ca_gate (dimensionless).
C RATES(16) is d/dt f_Ca2 in component i_Ca_L_f_Ca2_gate (dimensionless).
C RATES(17) is d/dt b in component i_Ca_T_b_gate (dimensionless).
C RATES(18) is d/dt g in component i_Ca_T_g_gate (dimensionless).
C RATES(19) is d/dt a in component i_to_1_a_gate (dimensionless).
C RATES(20) is d/dt i in component i_to_1_i_gate (dimensionless).
C RATES(21) is d/dt i2 in component i_to_1_i2_gate (dimensionless).
C RATES(22) is d/dt xr in component i_Kr_xr_gate (dimensionless).
C RATES(23) is d/dt xs1 in component i_Ks_xs1_gate (dimensionless).
C RATES(24) is d/dt xs2 in component i_Ks_xs2_gate (dimensionless).
C RATES(25) is d/dt a in component i_to_2_a_gate (dimensionless).
C RATES(2) is d/dt Na_i in component intracellular_ion_concentrations (millimolar).
C RATES(4) is d/dt K_i in component intracellular_ion_concentrations (millimolar).
C RATES(5) is d/dt Cl_i in component intracellular_ion_concentrations (millimolar).
C RATES(3) is d/dt Ca_i in component Ca_i (millimolar).
C RATES(26) is d/dt Ca_MK_trap in component Ca_MK_act (dimensionless).
C RATES(27) is d/dt Ca_NSR in component Ca_NSR (millimolar).
C RATES(28) is d/dt Ca_JSR in component Ca_JSR (millimolar).
C RATES(11) is d/dt Ca_r in component Ca_r (millimolar).
C RATES(29) is d/dt ri in component q_rel_ri_gate (dimensionless).
C RATES(30) is d/dt ro in component q_rel_ro_gate (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = -83.43812846286808
      CONSTS(1) = 0
      CONSTS(2) = 1
      CONSTS(3) = -80
      CONSTS(4) = 0.01833
      STATES(2) = 9.927155552932733
      CONSTS(5) = 140
      STATES(3) = 0.00022355433459434943
      CONSTS(6) = 1.8
      STATES(4) = 141.9670801746057
      CONSTS(7) = 5.4
      STATES(5) = 18.904682470140408
      CONSTS(8) = 100
      CONSTS(9) = 8314
      CONSTS(10) = 96485
      CONSTS(11) = 310
      CONSTS(12) = 8
      STATES(6) = 0.002003390432234504
      STATES(7) = 0.9786390933308567
      STATES(8) = 0.09866447258167589
      CONSTS(13) = 0.037375
      STATES(9) = 0.002003390432234504
      STATES(10) = 0.8946968372659203
      CONSTS(14) = 0.3392328
      CONSTS(15) = 0.000243
      CONSTS(16) = 2
      CONSTS(17) = 1
      CONSTS(18) = 0.341
      STATES(11) = 0.00022418117117903934
      CONSTS(19) = 0.15
      STATES(12) = 0.000002322223865147363
      STATES(13) = 0.9985607329462358
      STATES(14) = 0.8173435436674658
      STATES(15) = 0.9610551285529658
      STATES(16) = 0.868690796671854
      CONSTS(20) = 1
      CONSTS(21) = 0.13
      STATES(17) = 0.0002563937630984438
      STATES(18) = 0.9720432601848331
      CONSTS(22) = 0.14135944
      STATES(19) = 0.0004238729429342389
      STATES(20) = 0.9990935802459496
      STATES(21) = 0.9777368439681764
      STATES(22) = 0.07084939408222911
      STATES(23) = 0.0011737654433043125
      STATES(24) = 0.001179442867470093
      CONSTS(23) = 0.00276
      CONSTS(24) = 0.0000004
      CONSTS(25) = -1
      STATES(25) = 0.0014909437525000811
      CONSTS(26) = 0.1502
      CONSTS(27) = 0.4
      CONSTS(28) = 4.5
      CONSTS(29) = 12.3
      CONSTS(30) = 87.5
      CONSTS(31) = 0.0036
      CONSTS(32) = 1.3
      CONSTS(33) = 0.000125
      CONSTS(34) = 0.27
      CONSTS(35) = 0.61875
      CONSTS(36) = 10
      CONSTS(37) = 1.5
      CONSTS(38) = 0.0575
      CONSTS(39) = 0.0005
      CONSTS(40) = 7.0756e-6
      CONSTS(41) = 9.8443e-6
      CONSTS(42) = 0.0025
      CONSTS(43) = 0.005
      CONSTS(44) = 1.995084e-7
      CONSTS(45) = 0.000225
      CONSTS(46) = 0.0005
      CONSTS(47) = 0.00238
      CONSTS(48) = 0.07
      CONSTS(49) = 0.05
      STATES(26) = 0.000008789168284782809
      CONSTS(50) = 0.05
      CONSTS(51) = 0.00068
      CONSTS(52) = 0.05
      STATES(27) = 1.2132524695849454
      STATES(28) = 1.1433050636518596
      CONSTS(53) = 10
      CONSTS(54) = 0.8
      CONSTS(55) = 0.00087
      CONSTS(56) = 0.0087
      CONSTS(57) = 0.047
      CONSTS(58) = 1.124
      CONSTS(59) = 0.2
      STATES(29) = 0.7802870066567904
      STATES(30) = 1.2785734760674763e-9
      CONSTS(60) = 10
      CONSTS(61) = 3
      CONSTS(62) = 0.004375
      CONSTS(63) = 15
      CONSTS(64) = 0.5
      CONSTS(65) = 0.004375
      CONSTS(66) = 0.75
      CONSTS(67) = 0.00017
      CONSTS(68) = 0.00092
      CONSTS(69) = 120
      CONSTS(70) = 0.3454
      CONSTS(71) = 0.0011
      CONSTS(72) = 0.01
      CONSTS(73) = 2
      CONSTS(74) =  2.00000*3.14000*CONSTS(71) ** 2.00000+ 2.00000*3.14000*CONSTS(71)*CONSTS(72)
      CONSTS(75) =  0.0400085* (CONSTS(7)/5.40000) ** (1.0 / 2)
      CONSTS(76) =  0.250000* (CONSTS(7)/5.40000) ** (1.0 / 2)
      CONSTS(77) = 1.00000
      CONSTS(78) =  (1.00000/7.00000)*(EXP(CONSTS(5)/67.3000) - 1.00000)
      CONSTS(79) =  CONSTS(73)*CONSTS(74)
      CONSTS(80) =  CONSTS(70)*0.680000
      CONSTS(81) =  CONSTS(70)*0.0552000
      CONSTS(82) =  CONSTS(70)*0.00480000
      CONSTS(83) =  CONSTS(70)*0.0200000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(19) = 1.00000/(1.00000+CONSTS(26)/STATES(11))
      RATES(25) = (ALGBRC(19) - STATES(25))/CONSTS(77)
      ALGBRC(25) = 175.000+125.000/(1.00000+EXP(- (STATES(1)+25.0000)/6.00000))
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+69.0000)/6.10000))
      RATES(10) = (ALGBRC(7) - STATES(10))/ALGBRC(25)
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(1) - 4.00000)/6.74000))
      ALGBRC(26) = 0.590000+( 0.800000*EXP( 0.0520000*(STATES(1)+13.0000)))/(1.00000+EXP( 0.132000*(STATES(1)+13.0000)))
      RATES(12) = (ALGBRC(8) - STATES(12))/ALGBRC(26)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+18.0000)/10.0000))
      ALGBRC(27) = 4.00000+ 0.00500000*STATES(1) - 2.50000 ** 2.00000
      RATES(13) = (ALGBRC(9) - STATES(13))/ALGBRC(27)
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+18.0000)/10.0000))
      ALGBRC(28) = 38.0000+ 0.0700000*STATES(1) - 18.6000 ** 2.00000
      RATES(14) = (ALGBRC(10) - STATES(14))/ALGBRC(28)
      ALGBRC(16) = 900.000/(1.00000+EXP(STATES(1)/5.00000))+100.000
      ALGBRC(34) = 1.00000/(1.00000+EXP(- (STATES(1)+0.0850000)/12.2500))
      RATES(22) = (ALGBRC(34) - STATES(22))/ALGBRC(16)
      ALGBRC(17) = 1.00000/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      ALGBRC(35) = 1.00000/(1.00000+EXP(- (STATES(1) - 9.00000)/13.7000))
      RATES(23) = (ALGBRC(35) - STATES(23))/ALGBRC(17)
      ALGBRC(18) = ( 2.00000*1.00000)/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      ALGBRC(36) = 1.00000/(1.00000+EXP(- (STATES(1) - 9.00000)/13.7000))
      RATES(24) = (ALGBRC(36) - STATES(24))/ALGBRC(18)
      ALGBRC(3) = ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(21) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(48) = 1.00000/(ALGBRC(3)+ALGBRC(21))
      ALGBRC(38) = ALGBRC(3)/(ALGBRC(3)+ALGBRC(21))
      RATES(6) = (ALGBRC(38) - STATES(6))/ALGBRC(48)
      ALGBRC(4) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((STATES(1)+80.0000)/- 6.80000), 0.00000)
      ALGBRC(22) = 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(49) = 1.00000/(ALGBRC(4)+ALGBRC(22))
      ALGBRC(39) = ALGBRC(4)/(ALGBRC(4)+ALGBRC(22))
      RATES(7) = (ALGBRC(39) - STATES(7))/ALGBRC(49)
      ALGBRC(5) = 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(23) = 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(50) = 0.100000/(ALGBRC(5)+ALGBRC(23))
      ALGBRC(40) = ( 0.100000*ALGBRC(5))/(ALGBRC(5)+ALGBRC(23))
      RATES(8) = (ALGBRC(40) - STATES(8))/ALGBRC(50)
      ALGBRC(6) = ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(24) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(51) = 1.00000/(ALGBRC(6)+ALGBRC(24))
      ALGBRC(41) = ALGBRC(6)/(ALGBRC(6)+ALGBRC(24))
      RATES(9) = (ALGBRC(41) - STATES(9))/ALGBRC(51)
      ALGBRC(11) =  1.06800*EXP((STATES(1)+16.3000)/30.0000)
      ALGBRC(29) =  1.06800*EXP(- (STATES(1)+16.3000)/30.0000)
      ALGBRC(52) = 1.00000/(ALGBRC(11)+ALGBRC(29))
      ALGBRC(42) = 1.00000/(1.00000+EXP(- (STATES(1)+33.0000)/6.10000))
      RATES(17) = (ALGBRC(42) - STATES(17))/ALGBRC(52)
      ALGBRC(12) =  0.0150000*EXP(- (STATES(1)+71.7000)/83.3000)
      ALGBRC(30) =  0.0150000*EXP((STATES(1)+71.7000)/15.4000)
      ALGBRC(53) = 1.00000/(ALGBRC(12)+ALGBRC(30))
      ALGBRC(43) = 1.00000/(1.00000+EXP((STATES(1)+60.0000)/6.60000))
      RATES(18) = (ALGBRC(43) - STATES(18))/ALGBRC(53)
      ALGBRC(13) = ( 25.0000*EXP((STATES(1) - 76.0000)/20.0000))/(1.00000+EXP((STATES(1) - 76.0000)/20.0000))
      ALGBRC(31) = ( 25.0000*EXP(- (STATES(1)+54.0000)/20.0000))/(1.00000+EXP(- (STATES(1)+54.0000)/20.0000))
      ALGBRC(44) = 1.00000/(ALGBRC(13)+ALGBRC(31))
      ALGBRC(54) = ALGBRC(13)/(ALGBRC(13)+ALGBRC(31))
      RATES(19) = (ALGBRC(54) - STATES(19))/ALGBRC(44)
      ALGBRC(45) = 6.00000+5.00000/(1.00000+EXP((STATES(1) - 16.5000)/10.0000))
      ALGBRC(14) = 0.0300000/(1.00000+EXP((STATES(1)+25.0000)/15.0000))
      ALGBRC(32) = ( 0.100000*EXP((STATES(1) - 40.0000)/15.0000))/(1.00000+EXP((STATES(1) - 40.0000)/15.0000))
      ALGBRC(55) = ALGBRC(14)/(ALGBRC(14)+ALGBRC(32))
      RATES(20) = (ALGBRC(55) - STATES(20))/ALGBRC(45)
      ALGBRC(46) = 21.5000+30.0000/(1.00000+EXP((STATES(1) - 25.0000)/10.0000))
      ALGBRC(15) = 0.00442000/(1.00000+EXP((STATES(1)+26.0000)/15.0000))
      ALGBRC(33) = ( 0.0500000*EXP((STATES(1) - 10.0000)/15.0000))/(1.00000+EXP((STATES(1) - 10.0000)/15.0000))
      ALGBRC(56) = ALGBRC(15)/(ALGBRC(15)+ALGBRC(33))
      RATES(21) = (ALGBRC(56) - STATES(21))/ALGBRC(46)
      ALGBRC(60) = ( (( (( 1.00000*CONSTS(15))/CONSTS(20))*CONSTS(16) ** 2.00000*(STATES(1) - 15.0000)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*( CONSTS(17)*STATES(11)*EXP(( CONSTS(16)*CONSTS(10)*(STATES(1) - 15.0000))/( CONSTS(9)*CONSTS(11))) -  CONSTS(18)*CONSTS(6)))/(EXP(( CONSTS(16)*CONSTS(10)*(STATES(1) - 15.0000))/( CONSTS(9)*CONSTS(11))) - 1.00000)
      ALGBRC(61) =  CONSTS(14)*STATES(12)*STATES(13)*STATES(14)*STATES(15)*STATES(16)*ALGBRC(60)
      ALGBRC(63) = 1.00000/(1.00000 - ALGBRC(61)/0.0100000)
      ALGBRC(66) = 125.000+300.000/(1.00000+EXP((- ALGBRC(61) - 0.175000)/0.0400000))
      RATES(16) = (ALGBRC(63) - STATES(16))/ALGBRC(66)
      ALGBRC(64) = STATES(28) ** 1.90000/(STATES(28) ** 1.90000+( 49.2800*STATES(11))/(STATES(11)+0.00280000) ** 1.90000)
      ALGBRC(67) = ( ALGBRC(64)*ALGBRC(61) ** 2.00000)/(ALGBRC(61) ** 2.00000+1.00000)
      RATES(30) = (ALGBRC(67) - STATES(30))/CONSTS(61)
      ALGBRC(20) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(5)/STATES(2))
      ALGBRC(58) =  CONSTS(12)*STATES(6) ** 3.00000*( 0.800000*STATES(7)+ 0.200000*STATES(8))*(STATES(1) - ALGBRC(20))
      ALGBRC(59) =  CONSTS(13)*STATES(9) ** 3.00000*STATES(10)*(STATES(1) - ALGBRC(20))
      ALGBRC(81) =  CONSTS(32)*STATES(2) ** 3.00000+ 1.50000*CONSTS(30) ** 3.00000*STATES(3)+ CONSTS(29) ** 3.00000*CONSTS(6)*(1.00000+( 1.50000*STATES(3))/CONSTS(31))
      ALGBRC(82) =  CONSTS(31)*CONSTS(5) ** 3.00000*(1.00000+STATES(2)/CONSTS(29))+ STATES(2) ** 3.00000*CONSTS(6)+ 1.50000*CONSTS(5) ** 3.00000*STATES(3)
      ALGBRC(83) = ( CONSTS(27)*CONSTS(28)*STATES(2) ** 3.00000*CONSTS(6)*EXP(( 0.350000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))) -  1.50000*CONSTS(5) ** 3.00000*STATES(3)*EXP(( - 0.650000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))))/( (1.00000+CONSTS(33)/( 1.50000*STATES(3)) ** 2.00000)*(1.00000+ CONSTS(34)*EXP(( - 0.650000*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))))*(ALGBRC(81)+ALGBRC(82)))
      ALGBRC(84) = 1.00000/(1.00000+ 0.124500*EXP(( - 0.100000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11)))+ 0.0365000*CONSTS(78)*EXP(( - CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))))
      ALGBRC(85) = ( (( CONSTS(35)*ALGBRC(84)*1.00000)/(1.00000+CONSTS(36)/STATES(2) ** 2.00000))*CONSTS(7))/(CONSTS(7)+CONSTS(37))
      ALGBRC(89) =  CONSTS(42)*(STATES(1) - ALGBRC(20))
      ALGBRC(47) =  (( - CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(8)/STATES(5))
      ALGBRC(88) = ( CONSTS(41)*ALGBRC(20) - ALGBRC(47) ** 4.00000)/(ALGBRC(20) - ALGBRC(47) ** 4.00000+87.8251 ** 4.00000)
      RATES(2) = ( - CONSTS(20)*(ALGBRC(58)+ALGBRC(59)+ALGBRC(89)+ 3.00000*ALGBRC(85)+ 3.00000*ALGBRC(83))*CONSTS(79))/( CONSTS(80)*CONSTS(10))+ALGBRC(88)
      ALGBRC(37) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(7)/STATES(4))
      ALGBRC(68) =  CONSTS(22)*STATES(19)*( 0.800000*STATES(20)+ 0.200000*STATES(21))*(STATES(1) - ALGBRC(37))
      ALGBRC(69) = 1.00000/(1.00000+EXP((STATES(1) - 5.40000)/20.4000))
      ALGBRC(70) =  CONSTS(75)*STATES(22)*ALGBRC(69)*(STATES(1) - ALGBRC(37))
      ALGBRC(57) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log((CONSTS(7)+ CONSTS(4)*CONSTS(5))/(STATES(4)+ CONSTS(4)*STATES(2)))
      ALGBRC(71) =  0.0525813*(1.00000+0.600000/(1.00000+3.80000e-05/STATES(3) ** 1.40000))
      ALGBRC(72) =  ALGBRC(71)*STATES(23)*STATES(24)*(STATES(1) - ALGBRC(57))
      ALGBRC(74) = 1.02000/(1.00000+EXP( 0.238500*(STATES(1) - (ALGBRC(37)+59.2150))))
      ALGBRC(73) = ( 0.491240*EXP( 0.0803200*((STATES(1)+5.47600) - ALGBRC(37)))+EXP( 0.0617500*(STATES(1) - (594.310+ALGBRC(37)))))/(1.00000+EXP( - 0.514300*((STATES(1)+4.75300) - ALGBRC(37))))
      ALGBRC(75) = ALGBRC(74)/(ALGBRC(74)+ALGBRC(73))
      ALGBRC(76) =  ( CONSTS(76)*ALGBRC(75)+0.00400000)*(STATES(1) - ALGBRC(37))
      ALGBRC(90) =  CONSTS(43)*(STATES(1) - ALGBRC(37))
      ALGBRC(77) = 1.00000/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(78) =  CONSTS(23)*ALGBRC(77)*(STATES(1) - ALGBRC(37))
      ALGBRC(87) = ( CONSTS(40)*(ALGBRC(37) - ALGBRC(47)))/((ALGBRC(37)+87.8251) - ALGBRC(47))
      RATES(4) = ( - CONSTS(20)*((ALGBRC(68)+ALGBRC(76)+ALGBRC(70)+ALGBRC(72)+ALGBRC(78)+ALGBRC(90)) -  2.00000*ALGBRC(85))*CONSTS(79))/( CONSTS(80)*CONSTS(10))+ALGBRC(87)
      ALGBRC(79) = ( (( (( 1.00000*CONSTS(24))/CONSTS(20))*CONSTS(25) ** 2.00000*STATES(1)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*(STATES(5) -  CONSTS(8)*EXP(( - CONSTS(25)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11)))))/(1.00000 - EXP(( - CONSTS(25)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))))
      ALGBRC(80) =  20.0000*ALGBRC(79)*STATES(25)
      ALGBRC(91) =  CONSTS(45)*(STATES(1) - ALGBRC(47))
      RATES(5) = ( - CONSTS(20)*(ALGBRC(80)+ALGBRC(91))*CONSTS(79))/( CONSTS(80)*CONSTS(10))+ALGBRC(88)+ALGBRC(87)
      ALGBRC(1) = TERNRY(VOI.GE.CONSTS(1).AND.VOI.LE.CONSTS(2), CONSTS(3), 0.00000)
      ALGBRC(65) =  CONSTS(21)*STATES(17)*STATES(18)*(STATES(1) - 50.0000)
      ALGBRC(92) = ( (( (( 1.00000*CONSTS(44))/CONSTS(20))*CONSTS(16) ** 2.00000*STATES(1)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*( CONSTS(17)*STATES(3)*EXP(( CONSTS(16)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))) -  CONSTS(18)*CONSTS(6)))/(EXP(( CONSTS(16)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))) - 1.00000)
      ALGBRC(86) = ( CONSTS(38)*STATES(3))/(CONSTS(39)+STATES(3))
      ALGBRC(93) = ALGBRC(58)+ALGBRC(59)+ALGBRC(61)+ALGBRC(65)+ALGBRC(68)+ALGBRC(80)+ALGBRC(70)+ALGBRC(72)+ALGBRC(76)+ALGBRC(83)+ALGBRC(85)+ALGBRC(89)+ALGBRC(90)+ALGBRC(92)+ALGBRC(91)+ALGBRC(86)+ALGBRC(78)
      RATES(1) = - (ALGBRC(93)+ALGBRC(1))
      ALGBRC(97) = ( CONSTS(52)*(1.00000 - STATES(26)))/(1.00000+CONSTS(19)/STATES(11))
      RATES(26) =  CONSTS(50)*ALGBRC(97)*(ALGBRC(97)+STATES(26)) -  CONSTS(51)*STATES(26)
      ALGBRC(62) = 0.300000/(1.00000 - ALGBRC(61)/0.0500000)+0.550000/(1.00000+STATES(11)/0.00300000)+0.150000
      ALGBRC(98) = ALGBRC(97)+STATES(26)
      ALGBRC(99) = 0.500000+( 10.0000*1.00000*ALGBRC(98))/( 1.00000*ALGBRC(98)+CONSTS(19))+1.00000/(1.00000+STATES(11)/0.00300000)
      RATES(15) = (ALGBRC(62) - STATES(15))/ALGBRC(99)
      ALGBRC(105) = ( CONSTS(60)*1.00000*ALGBRC(98))/(CONSTS(19)+ 1.00000*ALGBRC(98))
      ALGBRC(101) = 1.00000/(1.00000+EXP((ALGBRC(61)+0.0500000)/0.0150000))
      ALGBRC(107) = (350.000 - ALGBRC(105))/(1.00000+EXP(((STATES(11) - 0.00300000)+ 0.00300000*ALGBRC(101))/0.000200000))+3.00000+ALGBRC(105)
      ALGBRC(103) = 1.00000/(1.00000+EXP(((STATES(11) - 0.000400000)+ 0.00200000*ALGBRC(101))/2.50000e-05))
      RATES(29) = (ALGBRC(103) - STATES(29))/ALGBRC(107)
      ALGBRC(100) = (STATES(11) - STATES(3))/CONSTS(59)
      ALGBRC(108) = 1.00000/(1.00000+EXP(( CONSTS(14)*ALGBRC(60)+13.0000)/5.00000))
      ALGBRC(109) =  3000.00*ALGBRC(108)
      ALGBRC(110) =  ALGBRC(109)*STATES(30)*STATES(29)*(STATES(28) - STATES(11))
      ALGBRC(104) = ( 2.00000*CONSTS(57)*STATES(11))/STATES(11)+CONSTS(55) ** 2.00000
      ALGBRC(102) = ( 2.00000*CONSTS(58)*STATES(11))/STATES(11)+CONSTS(56) ** 2.00000
      ALGBRC(106) = 1.00000/(1.00000+ALGBRC(104)+ALGBRC(102))
      RATES(11) =  ALGBRC(106)*((( - CONSTS(20)*ALGBRC(61)*CONSTS(79))/( CONSTS(83)*CONSTS(16)*CONSTS(10))+( ALGBRC(110)*CONSTS(82))/CONSTS(83)) - ALGBRC(100))
      ALGBRC(95) = ( 2.00000*CONSTS(48)*STATES(3))/STATES(3)+CONSTS(46) ** 2.00000
      ALGBRC(94) = ( 2.00000*CONSTS(49)*STATES(3))/STATES(3)+CONSTS(47) ** 2.00000
      ALGBRC(96) = 1.00000/(1.00000+ALGBRC(95)+ALGBRC(94))
      ALGBRC(112) = ( CONSTS(66)*ALGBRC(98)*1.00000)/(CONSTS(19)+ ALGBRC(98)*1.00000)
      ALGBRC(113) = ( CONSTS(67)*ALGBRC(98)*1.00000)/(CONSTS(19)+ ALGBRC(98)*1.00000)
      ALGBRC(114) = ( CONSTS(64)*(ALGBRC(112)+1.00000)*CONSTS(65)*STATES(3))/((STATES(3)+CONSTS(68)) - ALGBRC(113))
      ALGBRC(111) = ( CONSTS(62)*STATES(27))/CONSTS(63)
      RATES(3) =  - ALGBRC(96)*((( CONSTS(20)*((ALGBRC(92)+ALGBRC(86)) -  2.00000*ALGBRC(83))*CONSTS(79))/( 2.00000*CONSTS(80)*CONSTS(10))+( (ALGBRC(114) - ALGBRC(111))*CONSTS(81))/CONSTS(80)) - ( ALGBRC(100)*CONSTS(83))/CONSTS(80))
      ALGBRC(115) = (STATES(27) - STATES(28))/CONSTS(69)
      RATES(27) = ALGBRC(114) - (ALGBRC(111)+( ALGBRC(115)*CONSTS(82))/CONSTS(81))
      RATES(28) = (ALGBRC(115) - ALGBRC(110))/(1.00000+( CONSTS(53)*CONSTS(54))/CONSTS(54)+STATES(28) ** 2.00000)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(19) = 1.00000/(1.00000+CONSTS(26)/STATES(11))
      ALGBRC(25) = 175.000+125.000/(1.00000+EXP(- (STATES(1)+25.0000)/6.00000))
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+69.0000)/6.10000))
      ALGBRC(8) = 1.00000/(1.00000+EXP(- (STATES(1) - 4.00000)/6.74000))
      ALGBRC(26) = 0.590000+( 0.800000*EXP( 0.0520000*(STATES(1)+13.0000)))/(1.00000+EXP( 0.132000*(STATES(1)+13.0000)))
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+18.0000)/10.0000))
      ALGBRC(27) = 4.00000+ 0.00500000*STATES(1) - 2.50000 ** 2.00000
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+18.0000)/10.0000))
      ALGBRC(28) = 38.0000+ 0.0700000*STATES(1) - 18.6000 ** 2.00000
      ALGBRC(16) = 900.000/(1.00000+EXP(STATES(1)/5.00000))+100.000
      ALGBRC(34) = 1.00000/(1.00000+EXP(- (STATES(1)+0.0850000)/12.2500))
      ALGBRC(17) = 1.00000/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      ALGBRC(35) = 1.00000/(1.00000+EXP(- (STATES(1) - 9.00000)/13.7000))
      ALGBRC(18) = ( 2.00000*1.00000)/(( 7.61000e-05*(STATES(1)+44.6000))/(1.00000 - EXP( - 9.97000*(STATES(1)+44.6000)))+( 0.000360000*(STATES(1) - 0.550000))/(EXP( 0.128000*(STATES(1) - 0.550000)) - 1.00000))
      ALGBRC(36) = 1.00000/(1.00000+EXP(- (STATES(1) - 9.00000)/13.7000))
      ALGBRC(3) = ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(21) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(48) = 1.00000/(ALGBRC(3)+ALGBRC(21))
      ALGBRC(38) = ALGBRC(3)/(ALGBRC(3)+ALGBRC(21))
      ALGBRC(4) = TERNRY(STATES(1).LT.- 40.0000,  0.135000*EXP((STATES(1)+80.0000)/- 6.80000), 0.00000)
      ALGBRC(22) = 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(49) = 1.00000/(ALGBRC(4)+ALGBRC(22))
      ALGBRC(39) = ALGBRC(4)/(ALGBRC(4)+ALGBRC(22))
      ALGBRC(5) = 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(23) = 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(50) = 0.100000/(ALGBRC(5)+ALGBRC(23))
      ALGBRC(40) = ( 0.100000*ALGBRC(5))/(ALGBRC(5)+ALGBRC(23))
      ALGBRC(6) = ( 0.320000*(STATES(1)+47.1300))/(1.00000 - EXP( - 0.100000*(STATES(1)+47.1300)))
      ALGBRC(24) =  0.0800000*EXP(- STATES(1)/11.0000)
      ALGBRC(51) = 1.00000/(ALGBRC(6)+ALGBRC(24))
      ALGBRC(41) = ALGBRC(6)/(ALGBRC(6)+ALGBRC(24))
      ALGBRC(11) =  1.06800*EXP((STATES(1)+16.3000)/30.0000)
      ALGBRC(29) =  1.06800*EXP(- (STATES(1)+16.3000)/30.0000)
      ALGBRC(52) = 1.00000/(ALGBRC(11)+ALGBRC(29))
      ALGBRC(42) = 1.00000/(1.00000+EXP(- (STATES(1)+33.0000)/6.10000))
      ALGBRC(12) =  0.0150000*EXP(- (STATES(1)+71.7000)/83.3000)
      ALGBRC(30) =  0.0150000*EXP((STATES(1)+71.7000)/15.4000)
      ALGBRC(53) = 1.00000/(ALGBRC(12)+ALGBRC(30))
      ALGBRC(43) = 1.00000/(1.00000+EXP((STATES(1)+60.0000)/6.60000))
      ALGBRC(13) = ( 25.0000*EXP((STATES(1) - 76.0000)/20.0000))/(1.00000+EXP((STATES(1) - 76.0000)/20.0000))
      ALGBRC(31) = ( 25.0000*EXP(- (STATES(1)+54.0000)/20.0000))/(1.00000+EXP(- (STATES(1)+54.0000)/20.0000))
      ALGBRC(44) = 1.00000/(ALGBRC(13)+ALGBRC(31))
      ALGBRC(54) = ALGBRC(13)/(ALGBRC(13)+ALGBRC(31))
      ALGBRC(45) = 6.00000+5.00000/(1.00000+EXP((STATES(1) - 16.5000)/10.0000))
      ALGBRC(14) = 0.0300000/(1.00000+EXP((STATES(1)+25.0000)/15.0000))
      ALGBRC(32) = ( 0.100000*EXP((STATES(1) - 40.0000)/15.0000))/(1.00000+EXP((STATES(1) - 40.0000)/15.0000))
      ALGBRC(55) = ALGBRC(14)/(ALGBRC(14)+ALGBRC(32))
      ALGBRC(46) = 21.5000+30.0000/(1.00000+EXP((STATES(1) - 25.0000)/10.0000))
      ALGBRC(15) = 0.00442000/(1.00000+EXP((STATES(1)+26.0000)/15.0000))
      ALGBRC(33) = ( 0.0500000*EXP((STATES(1) - 10.0000)/15.0000))/(1.00000+EXP((STATES(1) - 10.0000)/15.0000))
      ALGBRC(56) = ALGBRC(15)/(ALGBRC(15)+ALGBRC(33))
      ALGBRC(60) = ( (( (( 1.00000*CONSTS(15))/CONSTS(20))*CONSTS(16) ** 2.00000*(STATES(1) - 15.0000)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*( CONSTS(17)*STATES(11)*EXP(( CONSTS(16)*CONSTS(10)*(STATES(1) - 15.0000))/( CONSTS(9)*CONSTS(11))) -  CONSTS(18)*CONSTS(6)))/(EXP(( CONSTS(16)*CONSTS(10)*(STATES(1) - 15.0000))/( CONSTS(9)*CONSTS(11))) - 1.00000)
      ALGBRC(61) =  CONSTS(14)*STATES(12)*STATES(13)*STATES(14)*STATES(15)*STATES(16)*ALGBRC(60)
      ALGBRC(63) = 1.00000/(1.00000 - ALGBRC(61)/0.0100000)
      ALGBRC(66) = 125.000+300.000/(1.00000+EXP((- ALGBRC(61) - 0.175000)/0.0400000))
      ALGBRC(64) = STATES(28) ** 1.90000/(STATES(28) ** 1.90000+( 49.2800*STATES(11))/(STATES(11)+0.00280000) ** 1.90000)
      ALGBRC(67) = ( ALGBRC(64)*ALGBRC(61) ** 2.00000)/(ALGBRC(61) ** 2.00000+1.00000)
      ALGBRC(20) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(5)/STATES(2))
      ALGBRC(58) =  CONSTS(12)*STATES(6) ** 3.00000*( 0.800000*STATES(7)+ 0.200000*STATES(8))*(STATES(1) - ALGBRC(20))
      ALGBRC(59) =  CONSTS(13)*STATES(9) ** 3.00000*STATES(10)*(STATES(1) - ALGBRC(20))
      ALGBRC(81) =  CONSTS(32)*STATES(2) ** 3.00000+ 1.50000*CONSTS(30) ** 3.00000*STATES(3)+ CONSTS(29) ** 3.00000*CONSTS(6)*(1.00000+( 1.50000*STATES(3))/CONSTS(31))
      ALGBRC(82) =  CONSTS(31)*CONSTS(5) ** 3.00000*(1.00000+STATES(2)/CONSTS(29))+ STATES(2) ** 3.00000*CONSTS(6)+ 1.50000*CONSTS(5) ** 3.00000*STATES(3)
      ALGBRC(83) = ( CONSTS(27)*CONSTS(28)*STATES(2) ** 3.00000*CONSTS(6)*EXP(( 0.350000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))) -  1.50000*CONSTS(5) ** 3.00000*STATES(3)*EXP(( - 0.650000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))))/( (1.00000+CONSTS(33)/( 1.50000*STATES(3)) ** 2.00000)*(1.00000+ CONSTS(34)*EXP(( - 0.650000*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))))*(ALGBRC(81)+ALGBRC(82)))
      ALGBRC(84) = 1.00000/(1.00000+ 0.124500*EXP(( - 0.100000*CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11)))+ 0.0365000*CONSTS(78)*EXP(( - CONSTS(10)*STATES(1))/( CONSTS(9)*CONSTS(11))))
      ALGBRC(85) = ( (( CONSTS(35)*ALGBRC(84)*1.00000)/(1.00000+CONSTS(36)/STATES(2) ** 2.00000))*CONSTS(7))/(CONSTS(7)+CONSTS(37))
      ALGBRC(89) =  CONSTS(42)*(STATES(1) - ALGBRC(20))
      ALGBRC(47) =  (( - CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(8)/STATES(5))
      ALGBRC(88) = ( CONSTS(41)*ALGBRC(20) - ALGBRC(47) ** 4.00000)/(ALGBRC(20) - ALGBRC(47) ** 4.00000+87.8251 ** 4.00000)
      ALGBRC(37) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log(CONSTS(7)/STATES(4))
      ALGBRC(68) =  CONSTS(22)*STATES(19)*( 0.800000*STATES(20)+ 0.200000*STATES(21))*(STATES(1) - ALGBRC(37))
      ALGBRC(69) = 1.00000/(1.00000+EXP((STATES(1) - 5.40000)/20.4000))
      ALGBRC(70) =  CONSTS(75)*STATES(22)*ALGBRC(69)*(STATES(1) - ALGBRC(37))
      ALGBRC(57) =  (( CONSTS(9)*CONSTS(11))/CONSTS(10))*log((CONSTS(7)+ CONSTS(4)*CONSTS(5))/(STATES(4)+ CONSTS(4)*STATES(2)))
      ALGBRC(71) =  0.0525813*(1.00000+0.600000/(1.00000+3.80000e-05/STATES(3) ** 1.40000))
      ALGBRC(72) =  ALGBRC(71)*STATES(23)*STATES(24)*(STATES(1) - ALGBRC(57))
      ALGBRC(74) = 1.02000/(1.00000+EXP( 0.238500*(STATES(1) - (ALGBRC(37)+59.2150))))
      ALGBRC(73) = ( 0.491240*EXP( 0.0803200*((STATES(1)+5.47600) - ALGBRC(37)))+EXP( 0.0617500*(STATES(1) - (594.310+ALGBRC(37)))))/(1.00000+EXP( - 0.514300*((STATES(1)+4.75300) - ALGBRC(37))))
      ALGBRC(75) = ALGBRC(74)/(ALGBRC(74)+ALGBRC(73))
      ALGBRC(76) =  ( CONSTS(76)*ALGBRC(75)+0.00400000)*(STATES(1) - ALGBRC(37))
      ALGBRC(90) =  CONSTS(43)*(STATES(1) - ALGBRC(37))
      ALGBRC(77) = 1.00000/(1.00000+EXP((7.48800 - STATES(1))/5.98000))
      ALGBRC(78) =  CONSTS(23)*ALGBRC(77)*(STATES(1) - ALGBRC(37))
      ALGBRC(87) = ( CONSTS(40)*(ALGBRC(37) - ALGBRC(47)))/((ALGBRC(37)+87.8251) - ALGBRC(47))
      ALGBRC(79) = ( (( (( 1.00000*CONSTS(24))/CONSTS(20))*CONSTS(25) ** 2.00000*STATES(1)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*(STATES(5) -  CONSTS(8)*EXP(( - CONSTS(25)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11)))))/(1.00000 - EXP(( - CONSTS(25)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))))
      ALGBRC(80) =  20.0000*ALGBRC(79)*STATES(25)
      ALGBRC(91) =  CONSTS(45)*(STATES(1) - ALGBRC(47))
      ALGBRC(1) = TERNRY(VOI.GE.CONSTS(1).AND.VOI.LE.CONSTS(2), CONSTS(3), 0.00000)
      ALGBRC(65) =  CONSTS(21)*STATES(17)*STATES(18)*(STATES(1) - 50.0000)
      ALGBRC(92) = ( (( (( 1.00000*CONSTS(44))/CONSTS(20))*CONSTS(16) ** 2.00000*STATES(1)*CONSTS(10) ** 2.00000)/( CONSTS(9)*CONSTS(11)))*( CONSTS(17)*STATES(3)*EXP(( CONSTS(16)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))) -  CONSTS(18)*CONSTS(6)))/(EXP(( CONSTS(16)*STATES(1)*CONSTS(10))/( CONSTS(9)*CONSTS(11))) - 1.00000)
      ALGBRC(86) = ( CONSTS(38)*STATES(3))/(CONSTS(39)+STATES(3))
      ALGBRC(93) = ALGBRC(58)+ALGBRC(59)+ALGBRC(61)+ALGBRC(65)+ALGBRC(68)+ALGBRC(80)+ALGBRC(70)+ALGBRC(72)+ALGBRC(76)+ALGBRC(83)+ALGBRC(85)+ALGBRC(89)+ALGBRC(90)+ALGBRC(92)+ALGBRC(91)+ALGBRC(86)+ALGBRC(78)
      ALGBRC(97) = ( CONSTS(52)*(1.00000 - STATES(26)))/(1.00000+CONSTS(19)/STATES(11))
      ALGBRC(62) = 0.300000/(1.00000 - ALGBRC(61)/0.0500000)+0.550000/(1.00000+STATES(11)/0.00300000)+0.150000
      ALGBRC(98) = ALGBRC(97)+STATES(26)
      ALGBRC(99) = 0.500000+( 10.0000*1.00000*ALGBRC(98))/( 1.00000*ALGBRC(98)+CONSTS(19))+1.00000/(1.00000+STATES(11)/0.00300000)
      ALGBRC(105) = ( CONSTS(60)*1.00000*ALGBRC(98))/(CONSTS(19)+ 1.00000*ALGBRC(98))
      ALGBRC(101) = 1.00000/(1.00000+EXP((ALGBRC(61)+0.0500000)/0.0150000))
      ALGBRC(107) = (350.000 - ALGBRC(105))/(1.00000+EXP(((STATES(11) - 0.00300000)+ 0.00300000*ALGBRC(101))/0.000200000))+3.00000+ALGBRC(105)
      ALGBRC(103) = 1.00000/(1.00000+EXP(((STATES(11) - 0.000400000)+ 0.00200000*ALGBRC(101))/2.50000e-05))
      ALGBRC(100) = (STATES(11) - STATES(3))/CONSTS(59)
      ALGBRC(108) = 1.00000/(1.00000+EXP(( CONSTS(14)*ALGBRC(60)+13.0000)/5.00000))
      ALGBRC(109) =  3000.00*ALGBRC(108)
      ALGBRC(110) =  ALGBRC(109)*STATES(30)*STATES(29)*(STATES(28) - STATES(11))
      ALGBRC(104) = ( 2.00000*CONSTS(57)*STATES(11))/STATES(11)+CONSTS(55) ** 2.00000
      ALGBRC(102) = ( 2.00000*CONSTS(58)*STATES(11))/STATES(11)+CONSTS(56) ** 2.00000
      ALGBRC(106) = 1.00000/(1.00000+ALGBRC(104)+ALGBRC(102))
      ALGBRC(95) = ( 2.00000*CONSTS(48)*STATES(3))/STATES(3)+CONSTS(46) ** 2.00000
      ALGBRC(94) = ( 2.00000*CONSTS(49)*STATES(3))/STATES(3)+CONSTS(47) ** 2.00000
      ALGBRC(96) = 1.00000/(1.00000+ALGBRC(95)+ALGBRC(94))
      ALGBRC(112) = ( CONSTS(66)*ALGBRC(98)*1.00000)/(CONSTS(19)+ ALGBRC(98)*1.00000)
      ALGBRC(113) = ( CONSTS(67)*ALGBRC(98)*1.00000)/(CONSTS(19)+ ALGBRC(98)*1.00000)
      ALGBRC(114) = ( CONSTS(64)*(ALGBRC(112)+1.00000)*CONSTS(65)*STATES(3))/((STATES(3)+CONSTS(68)) - ALGBRC(113))
      ALGBRC(111) = ( CONSTS(62)*STATES(27))/CONSTS(63)
      ALGBRC(115) = (STATES(27) - STATES(28))/CONSTS(69)
      ALGBRC(2) =  (( CONSTS(9)*CONSTS(11))/( 2.00000*CONSTS(10)))*log(CONSTS(6)/STATES(3))
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END