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 73 entries in the algebraic variable array.
C There are a total of 31 entries in each of the rate and state variable arrays.
C There are a total of 102 entries in the constant variable array.
C
C
C CONSTS(1) is Aca_IC50_IKr in component acacetin (uM).
C CONSTS(2) is Aca_IC50_IKs in component acacetin (uM).
C CONSTS(3) is Aca_IC50_Ito in component acacetin (uM).
C CONSTS(4) is Aca_hill_IKr in component acacetin (dimensionless).
C CONSTS(5) is Aca_hill_IKs in component acacetin (dimensionless).
C CONSTS(6) is Aca_hill_Ito in component acacetin (dimensionless).
C CONSTS(7) is conc in component acacetin (uM).
C CONSTS(63) is fKr in component acacetin (dimensionless).
C CONSTS(64) is fKs in component acacetin (dimensionless).
C CONSTS(65) is fto in component acacetin (dimensionless).
C CONSTS(8) is af in component af (dimensionless).
C CONSTS(9) is Aj_nj in component cell (um2).
C CONSTS(10) is BCa in component calcium (mM).
C CONSTS(11) is CSQN in component calcium (mM).
C STATES(1) is Ca_SRi in component calcium (mM).
C STATES(2) is Ca_SRss in component calcium (mM).
C STATES(3) is Ca_i in component calcium (mM).
C STATES(4) is Ca_ss in component calcium (mM).
C CONSTS(12) is DCa in component calcium (m2_per_s_times_1e_minus_9).
C CONSTS(13) is DCaSR in component calcium (m2_per_s_times_1e_minus_9).
C CONSTS(14) is F in component phys (C_per_mmol).
C ALGBRC(45) is ICaL in component ical (pA).
C ALGBRC(47) is ICap in component icap (pA).
C ALGBRC(49) is INaCa in component inaca (pA).
C ALGBRC(56) is I_tot in component calcium (pA).
C ALGBRC(55) is IbCa in component ibca (pA).
C ALGBRC(51) is JCa in component calcium (kat_times_1e_minus_15).
C ALGBRC(67) is JCass in component calcium (kat_times_1e_minus_15).
C ALGBRC(65) is JSRCaSS in component calcium (kat_times_1e_minus_15).
C ALGBRC(50) is JSRCai in component calcium (kat_times_1e_minus_15).
C ALGBRC(1) is JSRCaleaki in component calcium (kat_times_1e_minus_15).
C ALGBRC(20) is JSRCaleakss in component calcium (kat_times_1e_minus_15).
C ALGBRC(46) is J_SERCASR in component serca (kat_times_1e_minus_15).
C ALGBRC(62) is J_SERCASRss in component serca (kat_times_1e_minus_15).
C ALGBRC(48) is J_bulkSERCA in component serca (kat_times_1e_minus_15).
C ALGBRC(64) is J_bulkSERCAss in component serca (kat_times_1e_minus_15).
C ALGBRC(32) is Jj_nj in component calcium (kat_times_1e_minus_15).
C ALGBRC(44) is Jreli in component ryr (kat_times_1e_minus_15).
C ALGBRC(60) is Jrelss in component ryr (kat_times_1e_minus_15).
C CONSTS(15) is KdBCa in component calcium (mM).
C CONSTS(16) is KdCSQN in component calcium (mM).
C CONSTS(17) is KdSLhigh in component calcium (mM).
C CONSTS(18) is KdSLlow in component calcium (mM).
C CONSTS(19) is SLhigh in component calcium (mM).
C CONSTS(20) is SLlow in component calcium (mM).
C CONSTS(67) is VSRi in component cell (um3).
C CONSTS(68) is VSRss in component cell (um3).
C CONSTS(66) is Vnj in component cell (um3).
C CONSTS(94) is Vss in component cell (um3).
C ALGBRC(36) is calcium_Ca_SRi_beta in component calcium (dimensionless).
C ALGBRC(37) is calcium_Ca_SRss_beta in component calcium (dimensionless).
C ALGBRC(40) is calcium_Ca_i_beta in component calcium (dimensionless).
C ALGBRC(41) is calcium_Ca_ss_beta in component calcium (dimensionless).
C CONSTS(69) is dx2 in component cell (um2).
C CONSTS(21) is kSRleak in component calcium (mS_per_uF).
C CONSTS(70) is scaling in component calcium (dimensionless).
C VOI is time in component engine (ms).
C CONSTS(22) is xj_nj in component cell (um).
C CONSTS(23) is Cm in component cell (pF).
C CONSTS(24) is Vi in component cell (um3).
C CONSTS(25) is dx in component cell (um).
C CONSTS(26) is duration in component engine (ms).
C CONSTS(27) is offset in component engine (ms).
C ALGBRC(43) is pace in component engine (dimensionless).
C CONSTS(28) is period in component engine (ms).
C ALGBRC(54) is ECa in component nernst (mV).
C STATES(5) is V in component membrane (mV).
C CONSTS(71) is gbCa in component ibca (mS_per_uF).
C ALGBRC(69) is ENa in component nernst (mV).
C ALGBRC(70) is IbNa in component ibna (pA).
C CONSTS(72) is gbNa in component ibna (mS_per_uF).
C CONSTS(29) is ErL in component ical (mV).
C STATES(6) is d in component ical (dimensionless).
C STATES(7) is f in component ical (dimensionless).
C STATES(8) is fca in component ical (dimensionless).
C CONSTS(73) is gCaL in component ical (mS_per_uF).
C ALGBRC(2) is ical_d_a in component ical (ms).
C ALGBRC(21) is ical_d_inf in component ical (dimensionless).
C ALGBRC(33) is ical_d_tau in component ical (ms).
C ALGBRC(3) is ical_f_inf in component ical (dimensionless).
C ALGBRC(22) is ical_f_tau in component ical (ms).
C ALGBRC(4) is ical_fca_inf in component ical (dimensionless).
C CONSTS(30) is ical_fca_tau in component ical (ms).
C CONSTS(31) is icapbar in component icap (A_per_F).
C CONSTS(32) is kmcap in component icap (mM).
C ALGBRC(57) is EK in component nernst (mV).
C ALGBRC(59) is IK1 in component ik1 (pA).
C CONSTS(74) is gK1 in component ik1 (mS_per_uF).
C ALGBRC(61) is IKr in component ikr (pA).
C CONSTS(75) is gKr in component ikr (mS_per_uF).
C ALGBRC(5) is ikr_xr_a in component ikr (mS_per_uF).
C ALGBRC(23) is ikr_xr_b in component ikr (mS_per_uF).
C ALGBRC(34) is ikr_xr_inf in component ikr (dimensionless).
C ALGBRC(38) is ikr_xr_tau in component ikr (ms).
C STATES(9) is xr in component ikr (dimensionless).
C ALGBRC(63) is IKs in component iks (pA).
C CONSTS(76) is gKs in component iks (mS_per_uF).
C ALGBRC(6) is iks_xs_a in component iks (mS_per_uF).
C ALGBRC(24) is iks_xs_b in component iks (mS_per_uF).
C ALGBRC(35) is iks_xs_inf in component iks (dimensionless).
C ALGBRC(39) is iks_xs_tau in component iks (ms).
C STATES(10) is xs in component iks (dimensionless).
C STATES(11) is BC in component ikur (dimensionless).
C STATES(12) is BO in component ikur (dimensionless).
C CONSTS(77) is FRT in component phys (per_mV).
C ALGBRC(66) is IKur in component ikur (pA).
C CONSTS(33) is KC in component ikur (m3_per_s_per_mol_times_1e6).
C CONSTS(34) is KO in component ikur (m3_per_s_per_mol_times_1e6).
C CONSTS(35) is K_Q10 in component ikur (dimensionless).
C CONSTS(36) is LC in component ikur (mS_per_uF).
C CONSTS(37) is LO in component ikur (mS_per_uF).
C CONSTS(78) is ZKC in component ikur (dimensionless).
C CONSTS(79) is ZKO in component ikur (dimensionless).
C CONSTS(38) is ZLC in component ikur (dimensionless).
C CONSTS(80) is ZLO in component ikur (dimensionless).
C STATES(13) is a in component ikur (dimensionless).
C CONSTS(81) is gKur in component ikur (mS_per_uF).
C STATES(14) is i in component ikur (dimensionless).
C ALGBRC(7) is ikur_a_inf in component ikur (dimensionless).
C ALGBRC(25) is ikur_a_tau in component ikur (ms).
C ALGBRC(8) is ikur_i_inf in component ikur (dimensionless).
C ALGBRC(26) is ikur_i_tau in component ikur (ms).
C STATES(15) is BA in component ina (dimensionless).
C STATES(16) is BI in component ina (dimensionless).
C ALGBRC(71) is INa in component ina (pA).
C CONSTS(82) is drug_Ka in component ina (m3_per_s_per_mol_times_1e6).
C CONSTS(83) is drug_Ki in component ina (m3_per_s_per_mol_times_1e6).
C CONSTS(39) is drug_La in component ina (mS_per_uF).
C CONSTS(40) is drug_Li in component ina (mS_per_uF).
C CONSTS(41) is drug_concen in component ina (uM).
C CONSTS(42) is gNa in component ina (mS_per_uF).
C STATES(17) is h in component ina (dimensionless).
C ALGBRC(9) is ina_h_alpha in component ina (mS_per_uF).
C ALGBRC(27) is ina_h_beta in component ina (mS_per_uF).
C ALGBRC(10) is ina_j_alpha in component ina (mS_per_uF).
C ALGBRC(28) is ina_j_beta in component ina (mS_per_uF).
C ALGBRC(11) is ina_m_alpha in component ina (mS_per_uF).
C ALGBRC(29) is ina_m_beta in component ina (mS_per_uF).
C CONSTS(84) is ina_m_shift in component ina (mV).
C STATES(18) is j in component ina (dimensionless).
C STATES(19) is m in component ina (dimensionless).
C CONSTS(43) is Ca_o in component ion (mM).
C STATES(20) is Na_i in component sodium (mM).
C CONSTS(44) is Na_o in component ion (mM).
C CONSTS(45) is gammalr in component inaca (dimensionless).
C CONSTS(46) is kmcalr in component inaca (mM).
C CONSTS(47) is kmnalr in component inaca (mM).
C CONSTS(48) is knacalr in component inaca (A_per_F).
C CONSTS(49) is ksatlr in component inaca (dimensionless).
C CONSTS(85) is scaling in component inaca (dimensionless).
C ALGBRC(53) is INaK in component inak (pA).
C CONSTS(86) is I_bar in component inak (A_per_F).
C CONSTS(50) is K_o in component ion (mM).
C ALGBRC(52) is fnak in component inak (dimensionless).
C CONSTS(51) is kmko in component inak (mM).
C CONSTS(52) is kmnai in component inak (mM).
C CONSTS(87) is sigma in component inak (dimensionless).
C ALGBRC(68) is Ito in component ito (pA).
C CONSTS(88) is gto in component ito (mS_per_uF).
C ALGBRC(12) is ito_r_inf in component ito (dimensionless).
C CONSTS(89) is ito_r_shift in component ito (mV).
C ALGBRC(30) is ito_r_tau in component ito (ms).
C ALGBRC(13) is ito_s_inf in component ito (dimensionless).
C ALGBRC(31) is ito_s_tau in component ito (ms).
C STATES(21) is r in component ito (dimensionless).
C STATES(22) is s in component ito (dimensionless).
C CONSTS(53) is i_diff in component membrane (pA).
C ALGBRC(72) is i_ion in component membrane (pA).
C ALGBRC(73) is i_stim in component stimulus (pA).
C STATES(23) is K_i in component potassium (mM).
C CONSTS(54) is R in component phys (J_per_mol_per_K).
C CONSTS(55) is T in component phys (kelvin).
C ALGBRC(42) is RyRSRCai in component ryr (dimensionless).
C ALGBRC(58) is RyRSRCass in component ryr (dimensionless).
C STATES(24) is a_i in component ryr (dimensionless).
C STATES(25) is a_ss in component ryr (dimensionless).
C STATES(26) is c_i in component ryr (dimensionless).
C STATES(27) is c_ss in component ryr (dimensionless).
C CONSTS(90) is fRyr in component ryr (dimensionless).
C CONSTS(95) is nui in component ryr (m3_per_s_times_1e_minus_15).
C CONSTS(101) is nuss in component ryr (m3_per_s_times_1e_minus_15).
C STATES(28) is o_i in component ryr (dimensionless).
C STATES(29) is o_ss in component ryr (dimensionless).
C ALGBRC(14) is ryr_a_i_inf in component ryr (dimensionless).
C CONSTS(96) is ryr_a_i_tau in component ryr (ms).
C ALGBRC(15) is ryr_a_ss_inf in component ryr (dimensionless).
C CONSTS(97) is ryr_a_ss_tau in component ryr (ms).
C ALGBRC(16) is ryr_c_i_inf in component ryr (dimensionless).
C CONSTS(98) is ryr_c_i_tau in component ryr (ms).
C ALGBRC(17) is ryr_c_ss_inf in component ryr (dimensionless).
C CONSTS(99) is ryr_c_ss_tau in component ryr (ms).
C ALGBRC(18) is ryr_o_i_inf in component ryr (dimensionless).
C CONSTS(56) is ryr_o_i_tau in component ryr (ms).
C ALGBRC(19) is ryr_o_ss_inf in component ryr (dimensionless).
C CONSTS(57) is ryr_o_ss_tau in component ryr (ms).
C CONSTS(91) is scaling in component ryr (dimensionless).
C CONSTS(92) is tau_scaling in component ryr (dimensionless).
C STATES(30) is SERCACa in component serca (mM).
C STATES(31) is SERCACass in component serca (mM).
C CONSTS(58) is cpumps in component serca (mM).
C CONSTS(59) is k1 in component serca (per_mM2_per_ms).
C CONSTS(60) is k2 in component serca (mS_per_uF).
C CONSTS(61) is k3 in component serca (per_mM2_per_ms).
C CONSTS(62) is k4 in component serca (mS_per_uF).
C CONSTS(93) is scaling in component serca (dimensionless).
C CONSTS(100) is amplitude in component stimulus (A_per_F).
C RATES(1) is d/dt Ca_SRi in component calcium (mM).
C RATES(2) is d/dt Ca_SRss in component calcium (mM).
C RATES(3) is d/dt Ca_i in component calcium (mM).
C RATES(4) is d/dt Ca_ss in component calcium (mM).
C RATES(6) is d/dt d in component ical (dimensionless).
C RATES(7) is d/dt f in component ical (dimensionless).
C RATES(8) is d/dt fca in component ical (dimensionless).
C RATES(9) is d/dt xr in component ikr (dimensionless).
C RATES(10) is d/dt xs in component iks (dimensionless).
C RATES(11) is d/dt BC in component ikur (dimensionless).
C RATES(12) is d/dt BO in component ikur (dimensionless).
C RATES(13) is d/dt a in component ikur (dimensionless).
C RATES(14) is d/dt i in component ikur (dimensionless).
C RATES(15) is d/dt BA in component ina (dimensionless).
C RATES(16) is d/dt BI in component ina (dimensionless).
C RATES(17) is d/dt h in component ina (dimensionless).
C RATES(18) is d/dt j in component ina (dimensionless).
C RATES(19) is d/dt m in component ina (dimensionless).
C RATES(21) is d/dt r in component ito (dimensionless).
C RATES(22) is d/dt s in component ito (dimensionless).
C RATES(5) is d/dt V in component membrane (mV).
C RATES(23) is d/dt K_i in component potassium (mM).
C RATES(24) is d/dt a_i in component ryr (dimensionless).
C RATES(25) is d/dt a_ss in component ryr (dimensionless).
C RATES(26) is d/dt c_i in component ryr (dimensionless).
C RATES(27) is d/dt c_ss in component ryr (dimensionless).
C RATES(28) is d/dt o_i in component ryr (dimensionless).
C RATES(29) is d/dt o_ss in component ryr (dimensionless).
C RATES(30) is d/dt SERCACa in component serca (mM).
C RATES(31) is d/dt SERCACass in component serca (mM).
C RATES(20) is d/dt Na_i in component sodium (mM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 32.4
      CONSTS(2) = 81.4
      CONSTS(3) = 9.3
      CONSTS(4) = 0.9
      CONSTS(5) = 0.8
      CONSTS(6) = 0.9
      CONSTS(7) = 1e-14
      CONSTS(8) = 0.0
      CONSTS(9) = 2.49232441199999994e+03
      CONSTS(10) = 0.024
      CONSTS(11) = 6.7
      STATES(1) = 9.89241162100000015e-01
      STATES(2) = 9.77916803700000004e-01
      STATES(3) = 1.40313306500000005e-04
      STATES(4) = 1.31359510499999994e-04
      CONSTS(12) = 0.78
      CONSTS(13) = 0.044
      CONSTS(14) = 96.4867
      CONSTS(15) = 0.00238
      CONSTS(16) = 0.8
      CONSTS(17) = 0.013
      CONSTS(18) = 1.1
      CONSTS(19) = 13.0
      CONSTS(20) = 165.0
      CONSTS(21) = 6e-06
      CONSTS(22) = 0.8225
      CONSTS(23) = 100.0
      CONSTS(24) = 13668.0
      CONSTS(25) = 1.625
      CONSTS(26) = 0.5
      CONSTS(27) = 100.0
      CONSTS(28) = 1000.0
      STATES(5) = -7.71325583600000044e+01
      CONSTS(29) = 65.0
      STATES(6) = 2.26716127700000005e-04
      STATES(7) = 9.35421288100000026e-01
      STATES(8) = 7.27082366600000030e-01
      CONSTS(30) = 2.0
      CONSTS(31) = 0.275
      CONSTS(32) = 0.0005
      STATES(9) = 1.57418133000000000e-03
      STATES(10) = 2.22597964100000011e-02
      STATES(11) = 3.06272282199999992e-15
      STATES(12) = 2.35547751699999996e-16
      CONSTS(33) = 2.47871658999999998e-03
      CONSTS(34) = 1.94459589999999990e-04
      CONSTS(35) = 3.0
      CONSTS(36) = 2.86367149999999988e-04
      CONSTS(37) = 2.90998690000000002e-04
      CONSTS(38) = 8.37073022689999946e-01
      STATES(13) = 2.41788180099999987e-04
      STATES(14) = 9.51727886399999945e-01
      STATES(15) = 0.0
      STATES(16) = 0.0
      CONSTS(39) = 0.1
      CONSTS(40) = 0.01
      CONSTS(41) = 0.0
      CONSTS(42) = 7.8
      STATES(17) = 9.16842028100000039e-01
      STATES(18) = 9.38018356399999975e-01
      STATES(19) = 5.63181991600000039e-03
      CONSTS(43) = 1.8
      STATES(20) = 1.03039701200000007e+01
      CONSTS(44) = 140.0
      CONSTS(45) = 0.35
      CONSTS(46) = 1.38
      CONSTS(47) = 87.5
      CONSTS(48) = 1600.0
      CONSTS(49) = 0.1
      CONSTS(50) = 5.4
      CONSTS(51) = 1.5
      CONSTS(52) = 10.0
      STATES(21) = 1.22370601099999997e-02
      STATES(22) = 8.84913984200000003e-01
      CONSTS(53) = 0.0
      STATES(23) = 1.31867138000000011e+02
      CONSTS(54) = 8.3143
      CONSTS(55) = 310.0
      STATES(24) = 2.97721944299999985e-01
      STATES(25) = 1.41927157299999995e-01
      STATES(26) = 9.79023869800000002e-01
      STATES(27) = 9.57197650200000028e-01
      STATES(28) = 3.66799927299999980e-04
      STATES(29) = 4.56694440999999974e-04
      CONSTS(56) = 5.0
      CONSTS(57) = 5.0
      STATES(30) = 9.58584701999999969e-03
      STATES(31) = 9.38694111799999974e-03
      CONSTS(58) = 0.04
      CONSTS(59) = 7500.0
      CONSTS(60) = 4.68749999999999983e-04
      CONSTS(61) = 2.31481500000000001e-03
      CONSTS(62) = 0.0075
      CONSTS(63) = 1.00000 - 1.00000/(1.00000+CONSTS(1)/CONSTS(7) ** CONSTS(4))
      CONSTS(64) = 1.00000 - 1.00000/(1.00000+CONSTS(2)/CONSTS(7) ** CONSTS(5))
      CONSTS(65) = 1.00000 - 1.00000/(1.00000+CONSTS(3)/CONSTS(7) ** CONSTS(6))
      CONSTS(66) =  6.00000*2531.00
      CONSTS(67) =  2.00000*57.0000
      CONSTS(68) =  2.00000*80.0000
      CONSTS(69) =  CONSTS(25)*CONSTS(25)
      CONSTS(70) = TERNRY(CONSTS(8).EQ.1.00000, 1.50000, 1.00000)
      CONSTS(71) =  1.40000*0.00113100
      CONSTS(72) =  0.800000*0.000674438
      CONSTS(73) =  ( 0.129400*0.750000)*(TERNRY(CONSTS(8).EQ.1.00000, 0.350000, 1.00000))
      CONSTS(74) =  0.0900000*(TERNRY(CONSTS(8).EQ.1.00000, 2.10000, 1.00000))
      CONSTS(75) =  0.800000*0.0294118
      CONSTS(76) =  ( 0.800000*0.129412)*(TERNRY(CONSTS(8).EQ.1.00000, 2.00000, 1.00000))
      CONSTS(77) = (CONSTS(14)/CONSTS(54))/CONSTS(55)
      CONSTS(78) = - 0.327024
      CONSTS(79) = - 0.257320
      CONSTS(80) = - 0.0128016
      CONSTS(81) =  ( 0.00639800*0.900000)*(TERNRY(CONSTS(8).EQ.1.00000, 0.500000, 1.00000))
      CONSTS(82) = 0.100000/1000.00
      CONSTS(83) = 0.100000/1000.00
      CONSTS(84) = TERNRY(CONSTS(8).EQ.1.00000, 1.60000, 0.00000)
      CONSTS(85) = TERNRY(CONSTS(8).EQ.1.00000, 1.40000, 1.00000)
      CONSTS(86) =  1.40000*0.599339
      CONSTS(87) = (EXP(CONSTS(44)/67.3000) - 1.00000)/7.00000
      CONSTS(88) =  ( 0.754710*0.196200)*(TERNRY(CONSTS(8).EQ.1.00000, 0.350000, 1.00000))
      CONSTS(89) = TERNRY(CONSTS(8).EQ.1.00000, 16.0000, 0.00000)
      CONSTS(90) = TERNRY(CONSTS(8).EQ.1.00000, 2.50000, 0.00000)
      CONSTS(91) = TERNRY(CONSTS(8).EQ.1.00000, 3.00000, 1.00000)
      CONSTS(92) = TERNRY(CONSTS(8).EQ.1.00000, 2.70000, 1.00000)
      CONSTS(93) = TERNRY(CONSTS(8).EQ.1.00000, 0.600000, 1.00000)
      CONSTS(101) = 0.00000
      CONSTS(94) =  2.00000*49.9232
      CONSTS(95) =  0.00100000*CONSTS(66)
      CONSTS(96) =  250.000*CONSTS(92)
      CONSTS(97) =  250.000*CONSTS(92)
      CONSTS(98) =  ( 2.00000*15.0000)*CONSTS(92)
      CONSTS(99) =  15.0000*CONSTS(92)
      CONSTS(100) = - 80.0000
      CONSTS(101) =  0.625000*CONSTS(94)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(23) = CONSTS(101)
      RATES(11) =  ( ( ( ( CONSTS(33)*EXP( ( - CONSTS(78)*STATES(5))*CONSTS(77)))*CONSTS(7))*STATES(14))*(1.00000 - STATES(13)))*((1.00000 - STATES(12)) - STATES(11)) -  ( CONSTS(36)*STATES(11))*EXP( ( - CONSTS(38)*STATES(5))*CONSTS(77))
      RATES(12) =  ( ( ( ( CONSTS(34)*EXP( ( - CONSTS(79)*STATES(5))*CONSTS(77)))*CONSTS(7))*STATES(14))*STATES(13))*((1.00000 - STATES(12)) - STATES(11)) -  ( CONSTS(37)*STATES(12))*EXP( ( - CONSTS(80)*STATES(5))*CONSTS(77))
      RATES(15) =  ( ( ( ( CONSTS(82)*CONSTS(41))*STATES(19) ** 3.00000)*STATES(17))*STATES(18))*((1.00000 - STATES(15)) - STATES(16)) -  CONSTS(39)*STATES(15)
      RATES(16) =  ( ( CONSTS(83)*CONSTS(41))*(1.00000 - STATES(17)))*((1.00000 - STATES(15)) - STATES(16)) -  CONSTS(40)*STATES(16)
      ALGBRC(4) = 1.00000/(1.00000+STATES(4)/0.000350000)
      RATES(8) = (ALGBRC(4) - STATES(8))/CONSTS(30)
      ALGBRC(14) = 0.505000 - 0.427000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - 0.290000)/0.0820000))
      RATES(24) = (ALGBRC(14) - STATES(24))/CONSTS(96)
      ALGBRC(15) = 0.505000 - 0.427000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - 0.290000)/0.0820000))
      RATES(25) = (ALGBRC(15) - STATES(25))/CONSTS(97)
      ALGBRC(16) = 1.00000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - (STATES(24)+0.0200000))/0.0100000))
      RATES(26) = (ALGBRC(16) - STATES(26))/CONSTS(98)
      ALGBRC(17) = 1.00000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - (STATES(25)+0.0200000))/0.0100000))
      RATES(27) = (ALGBRC(17) - STATES(27))/CONSTS(99)
      ALGBRC(18) = 1.00000 - 1.00000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - (STATES(24)+0.220000))/0.0300000))
      RATES(28) = (ALGBRC(18) - STATES(28))/CONSTS(56)
      ALGBRC(19) = 1.00000 - 1.00000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - (STATES(25)+0.220000))/0.0300000))
      RATES(29) = (ALGBRC(19) - STATES(29))/CONSTS(57)
      ALGBRC(3) = EXP(- (STATES(5)+28.0000)/6.90000)/(1.00000+EXP(- (STATES(5)+28.0000)/6.90000))
      ALGBRC(22) = ( ( 1.50000*2.00000)*3.00000)/( 0.0197000*EXP( - 0.0337000 ** 2.00000*STATES(5)+10.0000 ** 2.00000)+0.0200000)
      RATES(7) = (ALGBRC(3) - STATES(7))/ALGBRC(22)
      ALGBRC(7) = 1.00000/(1.00000+EXP(- (STATES(5)+5.52000)/8.60000))
      ALGBRC(25) = ( ( (45.6667/(1.00000+EXP((STATES(5)+11.2306)/11.5255))+4.26754)*(0.262186/(1.00000+EXP((STATES(5)+35.8658)/- 3.87511))+0.291755))*1.00000)/CONSTS(35)
      RATES(13) = (ALGBRC(7) - STATES(13))/ALGBRC(25)
      ALGBRC(8) = 0.524240/(1.00000+EXP((STATES(5)+15.1142)/7.56702))+0.458078
      ALGBRC(26) = (2328.00/(1.00000+EXP((STATES(5) - 9.43500)/3.58270))+1739.14)/CONSTS(35)
      RATES(14) = (ALGBRC(8) - STATES(14))/ALGBRC(26)
      ALGBRC(9) = TERNRY(STATES(5).GE.- 40.0000, 0.00000,  0.135000*EXP((STATES(5)+80.0000)/- 6.80000))
      ALGBRC(27) = TERNRY(STATES(5).GE.- 40.0000, 1.00000/( 0.130000*(1.00000+EXP((STATES(5)+10.6600)/- 11.1000))),  3.56000*EXP( 0.0790000*STATES(5))+ 310000.*EXP( 0.350000*STATES(5)))
      RATES(17) =  ALGBRC(9)*(1.00000 - STATES(17)) -  ALGBRC(27)*STATES(17)
      ALGBRC(10) = TERNRY(STATES(5).GE.- 40.0000, 0.00000, ( ( - 127140.*EXP( 0.244400*STATES(5)) -  3.47400e-05*EXP( - 0.0439100*STATES(5)))*(STATES(5)+37.7800))/(1.00000+EXP( 0.311000*(STATES(5)+79.2300))))
      ALGBRC(28) = TERNRY(STATES(5).GE.- 40.0000, ( 0.300000*EXP( - 2.53500e-07*STATES(5)))/(1.00000+EXP( - 0.100000*(STATES(5)+32.0000))), ( 0.121200*EXP( - 0.0105200*STATES(5)))/(1.00000+EXP( - 0.137800*(STATES(5)+40.1400))))
      RATES(18) =  ALGBRC(10)*(1.00000 - STATES(18)) -  ALGBRC(28)*STATES(18)
      ALGBRC(11) = TERNRY(ABS((STATES(5) - CONSTS(84))+47.1300).LT.1.00000e-10, 3.20000, ( 0.320000*((STATES(5) - CONSTS(84))+47.1300))/(1.00000 - EXP( - 0.100000*((STATES(5) - CONSTS(84))+47.1300))))
      ALGBRC(29) =  0.0800000*EXP(- (STATES(5) - CONSTS(84))/11.0000)
      RATES(19) =  ALGBRC(11)*(1.00000 - STATES(19)) -  ALGBRC(29)*STATES(19)
      ALGBRC(12) = 1.00000/(1.00000+EXP(((STATES(5) - CONSTS(89)) - 1.00000)/- 11.0000))
      ALGBRC(30) =  3.50000*EXP( - ((STATES(5) - CONSTS(89))/30.0000)*2.00000)+1.50000
      RATES(21) = (ALGBRC(12) - STATES(21))/ALGBRC(30)
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(5)+40.5000)/11.5000))
      ALGBRC(31) =  25.6350*EXP( - ((STATES(5)+52.4500)/15.8827)*2.00000)+14.1400
      RATES(22) = (ALGBRC(13) - STATES(22))/ALGBRC(31)
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(5)+10.0000)/- 8.00000))
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(5)+10.0000)/- 6.24000))
      ALGBRC(33) = TERNRY(ABS(STATES(5)+10.0000).LT.1.00000e-10,  ALGBRC(2)*4.57900, ( ALGBRC(2)*(1.00000 - EXP((STATES(5)+10.0000)/- 6.24000)))/( 0.0350000*(STATES(5)+10.0000)))
      RATES(6) = (ALGBRC(21) - STATES(6))/ALGBRC(33)
      ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(5)+14.1000)/- 6.50000))
      ALGBRC(5) = TERNRY(ABS(STATES(5)+14.1000).LT.1.00000e-10, 0.00150000, ( 0.000300000*(STATES(5)+14.1000))/(1.00000 - EXP((STATES(5)+14.1000)/- 5.00000)))
      ALGBRC(23) = TERNRY(ABS(STATES(5) - 3.33280).LT.1.00000e-10, 0.000378361, ( 7.38980e-05*(STATES(5) - 3.33280))/(EXP((STATES(5) - 3.33280)/5.12370) - 1.00000))
      ALGBRC(38) = 1.00000/(ALGBRC(5)+ALGBRC(23))
      RATES(9) = (ALGBRC(34) - STATES(9))/ALGBRC(38)
      ALGBRC(35) =  (1.00000/(1.00000+EXP((STATES(5) - 19.9000)/- 12.7000))) ** (1.0 / 2)
      ALGBRC(6) = TERNRY(ABS(STATES(5) - 19.9000).LT.1.00000e-10, 0.000680000, ( 4.00000e-05*(STATES(5) - 19.9000))/(1.00000 - EXP((STATES(5) - 19.9000)/- 17.0000)))
      ALGBRC(24) = TERNRY(ABS(STATES(5) - 19.9000).LT.1.00000e-10, 0.000315000, ( 3.50000e-05*(STATES(5) - 19.9000))/(EXP((STATES(5) - 19.9000)/9.00000) - 1.00000))
      ALGBRC(39) = 0.500000/(ALGBRC(6)+ALGBRC(24))
      RATES(10) = (ALGBRC(35) - STATES(10))/ALGBRC(39)
      ALGBRC(1) =  ( ( ( 0.500000*CONSTS(70))*CONSTS(21))*(STATES(1) - STATES(3)))*CONSTS(66)
      ALGBRC(46) =  ( ( ( CONSTS(93)*0.750000)*( ( - CONSTS(61)*STATES(1) ** 2.00000)*(CONSTS(58) - STATES(30))+ CONSTS(62)*STATES(30)))*CONSTS(66))*2.00000
      ALGBRC(42) = 1.00000 - 1.00000/(1.00000+EXP((STATES(1) - 0.300000)/0.100000))
      ALGBRC(44) =  ( ( ( ( CONSTS(91)*CONSTS(95))*STATES(28))*STATES(26))*ALGBRC(42))*(STATES(1) - STATES(3))
      ALGBRC(50) = (ALGBRC(46) - ALGBRC(1)) - ALGBRC(44)
      ALGBRC(36) = 1.00000/(1.00000+( CONSTS(11)*CONSTS(16))/STATES(1)+CONSTS(16) ** 2.00000)
      RATES(1) =  ( 1000.00*ALGBRC(36))*( CONSTS(13)*(((STATES(2) -  2.00000*STATES(1))+STATES(1))/CONSTS(69)+(STATES(1) - STATES(2))/( ( 2.00000*3.00000)*CONSTS(69)))+ALGBRC(50)/CONSTS(67))
      ALGBRC(48) =  ( ( ( CONSTS(93)*0.750000)*( ( CONSTS(59)*STATES(3) ** 2.00000)*(CONSTS(58) - STATES(30)) -  CONSTS(60)*STATES(30)))*CONSTS(66))*2.00000
      RATES(30) = (- ALGBRC(46)+ALGBRC(48))/CONSTS(66)
      ALGBRC(32) =  (( ( 2.50000*CONSTS(12))*CONSTS(9))/CONSTS(22))*(STATES(4) - STATES(3))
      ALGBRC(51) = ((- ALGBRC(48)+ALGBRC(1))+ALGBRC(44))+ALGBRC(32)
      ALGBRC(40) = 1.00000/(1.00000+( CONSTS(10)*CONSTS(15))/STATES(3)+CONSTS(15) ** 2.00000)
      RATES(3) =  (ALGBRC(51)/CONSTS(66))*ALGBRC(40)
      ALGBRC(20) =  ( ( ( 0.500000*CONSTS(70))*CONSTS(21))*(STATES(2) - STATES(4)))*CONSTS(94)
      ALGBRC(62) =  ( ( ( CONSTS(93)*0.750000)*( ( - CONSTS(61)*STATES(2) ** 2.00000)*(CONSTS(58) - STATES(31))+ CONSTS(62)*STATES(31)))*CONSTS(94))*2.00000
      ALGBRC(58) = 1.00000 - 1.00000/(1.00000+EXP((STATES(2) - 0.300000)/0.100000))
      ALGBRC(60) =  ( ( ( ( CONSTS(91)*CONSTS(101))*STATES(29))*STATES(27))*ALGBRC(58))*(STATES(2) - STATES(4))
      ALGBRC(65) = (ALGBRC(62) - ALGBRC(20)) - ALGBRC(60)
      ALGBRC(37) = 1.00000/(1.00000+( CONSTS(11)*CONSTS(16))/STATES(2)+CONSTS(16) ** 2.00000)
      RATES(2) =  ( 1000.00*ALGBRC(37))*( CONSTS(13)*(((STATES(2) -  2.00000*STATES(2))+STATES(1))/CONSTS(69)+(STATES(2) - STATES(1))/( ( 2.00000*4.00000)*CONSTS(69)))+ALGBRC(65)/CONSTS(68))
      ALGBRC(64) =  ( ( ( CONSTS(93)*0.750000)*( ( CONSTS(59)*STATES(4) ** 2.00000)*(CONSTS(58) - STATES(31)) -  CONSTS(60)*STATES(31)))*CONSTS(94))*2.00000
      RATES(31) = (- ALGBRC(62)+ALGBRC(64))/CONSTS(94)
      ALGBRC(45) =  ( ( ( ( ( 1.33333*CONSTS(23))*CONSTS(73))*STATES(6))*STATES(7))*STATES(8))*(STATES(5) - CONSTS(29))
      ALGBRC(47) = ( ( ( 1.26000*CONSTS(23))*CONSTS(31))*STATES(4))/(STATES(4)+CONSTS(32))
      ALGBRC(49) =  (((( ( ( 1.40000*CONSTS(85))*CONSTS(23))*CONSTS(48))/(CONSTS(47) ** 3.00000+CONSTS(44) ** 3.00000))/(CONSTS(46)+CONSTS(43)))/(1.00000+ CONSTS(49)*EXP( ( (CONSTS(45) - 1.00000)*STATES(5))*CONSTS(77))))*( ( STATES(20) ** 3.00000*CONSTS(43))*EXP( ( STATES(5)*CONSTS(45))*CONSTS(77)) -  ( CONSTS(44) ** 3.00000*STATES(4))*EXP( ( STATES(5)*(CONSTS(45) - 1.00000))*CONSTS(77)))
      ALGBRC(54) =  13.3500*log(CONSTS(43)/STATES(3))
      ALGBRC(55) =  ( ( 1.00000*CONSTS(23))*CONSTS(71))*(STATES(5) - ALGBRC(54))
      ALGBRC(56) = ((- ALGBRC(45) - ALGBRC(55)) - ALGBRC(47))+ 2.00000*ALGBRC(49)
      ALGBRC(67) = ((- ALGBRC(32)+ALGBRC(20)) - ALGBRC(64))+ALGBRC(60)
      ALGBRC(41) = 1.00000/(((1.00000+( CONSTS(20)*CONSTS(18))/STATES(4)+CONSTS(18) ** 2.00000)+( CONSTS(19)*CONSTS(17))/STATES(4)+CONSTS(17) ** 2.00000)+( CONSTS(10)*CONSTS(15))/STATES(4)+CONSTS(15) ** 2.00000)
      RATES(4) =  ALGBRC(41)*(ALGBRC(67)/CONSTS(94)+ALGBRC(56)/( ( 2.00000*CONSTS(94))*CONSTS(14)))
      ALGBRC(69) =  26.7100*log(CONSTS(44)/STATES(20))
      ALGBRC(70) =  ( ( 1.70000*CONSTS(23))*CONSTS(72))*(STATES(5) - ALGBRC(69))
      ALGBRC(71) =  ( ( ( ( ( CONSTS(42)*STATES(19) ** 3.00000)*STATES(17))*STATES(18))*(STATES(5) - ALGBRC(69)))*CONSTS(23))*((1.00000 - STATES(15)) - STATES(16))
      ALGBRC(52) = 1.00000/((1.00000+ 0.124500*EXP( ( - 0.100000*STATES(5))*CONSTS(77)))+ ( 0.0365000*CONSTS(87))*EXP( - STATES(5)*CONSTS(77)))
      ALGBRC(53) = (( ( ( ( 1.28000*CONSTS(23))*CONSTS(86))*ALGBRC(52))*CONSTS(50))/(CONSTS(50)+CONSTS(51)))/(1.00000+CONSTS(52)/STATES(20) ** 4.00000)
      RATES(20) = ((( - 3.00000*ALGBRC(53) -  3.00000*ALGBRC(49)) - ALGBRC(70)) - ALGBRC(71))/( CONSTS(14)*CONSTS(24))
      ALGBRC(57) =  26.7100*log(CONSTS(50)/STATES(23))
      ALGBRC(59) = ( ( CONSTS(23)*CONSTS(74))*(STATES(5) - ALGBRC(57)))/(1.00000+EXP( 0.0700000*(STATES(5)+80.0000)))
      ALGBRC(61) = ( ( ( ( CONSTS(23)*CONSTS(63))*CONSTS(75))*STATES(9))*(STATES(5) - ALGBRC(57)))/(1.00000+EXP((STATES(5)+15.0000)/22.4000))
      ALGBRC(63) =  ( ( ( ( CONSTS(23)*CONSTS(64))*CONSTS(76))*STATES(10))*STATES(10))*(STATES(5) - ALGBRC(57))
      ALGBRC(66) =  ( ( ( ( ( CONSTS(23)*CONSTS(81))*(4.51280+1.89977/(1.00000+EXP((STATES(5) - 20.5232)/- 8.26597))))*((1.00000 - STATES(12)) - STATES(11)))*STATES(13))*STATES(14))*(STATES(5) - ALGBRC(57))
      ALGBRC(68) =  ( ( ( ( ( 1.05000*CONSTS(65))*CONSTS(23))*CONSTS(88))*STATES(21))*STATES(22))*(STATES(5) - ALGBRC(57))
      ALGBRC(72) = (((((((((((ALGBRC(71))+ALGBRC(68))+ALGBRC(66))+ALGBRC(61))+ALGBRC(63))+ALGBRC(45))+ALGBRC(59))+ALGBRC(70))+ALGBRC(55))+ALGBRC(49))+ALGBRC(53))+ALGBRC(47)
      ALGBRC(43) = TERNRY((VOI - CONSTS(27)) -  CONSTS(28)*INT((VOI - CONSTS(27))/CONSTS(28)).LT.CONSTS(26), 1.00000, 0.00000)
      ALGBRC(73) =  ( CONSTS(23)*ALGBRC(43))*CONSTS(100)
      RATES(5) = - ((ALGBRC(72)+ALGBRC(73))+CONSTS(53))/CONSTS(23)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(4) = 1.00000/(1.00000+STATES(4)/0.000350000)
      ALGBRC(14) = 0.505000 - 0.427000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - 0.290000)/0.0820000))
      ALGBRC(15) = 0.505000 - 0.427000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - 0.290000)/0.0820000))
      ALGBRC(16) = 1.00000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - (STATES(24)+0.0200000))/0.0100000))
      ALGBRC(17) = 1.00000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - (STATES(25)+0.0200000))/0.0100000))
      ALGBRC(18) = 1.00000 - 1.00000/(1.00000+EXP(( ( 2000.00*STATES(3))*(1.00000+CONSTS(90)) - (STATES(24)+0.220000))/0.0300000))
      ALGBRC(19) = 1.00000 - 1.00000/(1.00000+EXP(( ( 1000.00*STATES(4))*(1.00000+CONSTS(90)) - (STATES(25)+0.220000))/0.0300000))
      ALGBRC(3) = EXP(- (STATES(5)+28.0000)/6.90000)/(1.00000+EXP(- (STATES(5)+28.0000)/6.90000))
      ALGBRC(22) = ( ( 1.50000*2.00000)*3.00000)/( 0.0197000*EXP( - 0.0337000 ** 2.00000*STATES(5)+10.0000 ** 2.00000)+0.0200000)
      ALGBRC(7) = 1.00000/(1.00000+EXP(- (STATES(5)+5.52000)/8.60000))
      ALGBRC(25) = ( ( (45.6667/(1.00000+EXP((STATES(5)+11.2306)/11.5255))+4.26754)*(0.262186/(1.00000+EXP((STATES(5)+35.8658)/- 3.87511))+0.291755))*1.00000)/CONSTS(35)
      ALGBRC(8) = 0.524240/(1.00000+EXP((STATES(5)+15.1142)/7.56702))+0.458078
      ALGBRC(26) = (2328.00/(1.00000+EXP((STATES(5) - 9.43500)/3.58270))+1739.14)/CONSTS(35)
      ALGBRC(9) = TERNRY(STATES(5).GE.- 40.0000, 0.00000,  0.135000*EXP((STATES(5)+80.0000)/- 6.80000))
      ALGBRC(27) = TERNRY(STATES(5).GE.- 40.0000, 1.00000/( 0.130000*(1.00000+EXP((STATES(5)+10.6600)/- 11.1000))),  3.56000*EXP( 0.0790000*STATES(5))+ 310000.*EXP( 0.350000*STATES(5)))
      ALGBRC(10) = TERNRY(STATES(5).GE.- 40.0000, 0.00000, ( ( - 127140.*EXP( 0.244400*STATES(5)) -  3.47400e-05*EXP( - 0.0439100*STATES(5)))*(STATES(5)+37.7800))/(1.00000+EXP( 0.311000*(STATES(5)+79.2300))))
      ALGBRC(28) = TERNRY(STATES(5).GE.- 40.0000, ( 0.300000*EXP( - 2.53500e-07*STATES(5)))/(1.00000+EXP( - 0.100000*(STATES(5)+32.0000))), ( 0.121200*EXP( - 0.0105200*STATES(5)))/(1.00000+EXP( - 0.137800*(STATES(5)+40.1400))))
      ALGBRC(11) = TERNRY(ABS((STATES(5) - CONSTS(84))+47.1300).LT.1.00000e-10, 3.20000, ( 0.320000*((STATES(5) - CONSTS(84))+47.1300))/(1.00000 - EXP( - 0.100000*((STATES(5) - CONSTS(84))+47.1300))))
      ALGBRC(29) =  0.0800000*EXP(- (STATES(5) - CONSTS(84))/11.0000)
      ALGBRC(12) = 1.00000/(1.00000+EXP(((STATES(5) - CONSTS(89)) - 1.00000)/- 11.0000))
      ALGBRC(30) =  3.50000*EXP( - ((STATES(5) - CONSTS(89))/30.0000)*2.00000)+1.50000
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(5)+40.5000)/11.5000))
      ALGBRC(31) =  25.6350*EXP( - ((STATES(5)+52.4500)/15.8827)*2.00000)+14.1400
      ALGBRC(21) = 1.00000/(1.00000+EXP((STATES(5)+10.0000)/- 8.00000))
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(5)+10.0000)/- 6.24000))
      ALGBRC(33) = TERNRY(ABS(STATES(5)+10.0000).LT.1.00000e-10,  ALGBRC(2)*4.57900, ( ALGBRC(2)*(1.00000 - EXP((STATES(5)+10.0000)/- 6.24000)))/( 0.0350000*(STATES(5)+10.0000)))
      ALGBRC(34) = 1.00000/(1.00000+EXP((STATES(5)+14.1000)/- 6.50000))
      ALGBRC(5) = TERNRY(ABS(STATES(5)+14.1000).LT.1.00000e-10, 0.00150000, ( 0.000300000*(STATES(5)+14.1000))/(1.00000 - EXP((STATES(5)+14.1000)/- 5.00000)))
      ALGBRC(23) = TERNRY(ABS(STATES(5) - 3.33280).LT.1.00000e-10, 0.000378361, ( 7.38980e-05*(STATES(5) - 3.33280))/(EXP((STATES(5) - 3.33280)/5.12370) - 1.00000))
      ALGBRC(38) = 1.00000/(ALGBRC(5)+ALGBRC(23))
      ALGBRC(35) =  (1.00000/(1.00000+EXP((STATES(5) - 19.9000)/- 12.7000))) ** (1.0 / 2)
      ALGBRC(6) = TERNRY(ABS(STATES(5) - 19.9000).LT.1.00000e-10, 0.000680000, ( 4.00000e-05*(STATES(5) - 19.9000))/(1.00000 - EXP((STATES(5) - 19.9000)/- 17.0000)))
      ALGBRC(24) = TERNRY(ABS(STATES(5) - 19.9000).LT.1.00000e-10, 0.000315000, ( 3.50000e-05*(STATES(5) - 19.9000))/(EXP((STATES(5) - 19.9000)/9.00000) - 1.00000))
      ALGBRC(39) = 0.500000/(ALGBRC(6)+ALGBRC(24))
      ALGBRC(1) =  ( ( ( 0.500000*CONSTS(70))*CONSTS(21))*(STATES(1) - STATES(3)))*CONSTS(66)
      ALGBRC(46) =  ( ( ( CONSTS(93)*0.750000)*( ( - CONSTS(61)*STATES(1) ** 2.00000)*(CONSTS(58) - STATES(30))+ CONSTS(62)*STATES(30)))*CONSTS(66))*2.00000
      ALGBRC(42) = 1.00000 - 1.00000/(1.00000+EXP((STATES(1) - 0.300000)/0.100000))
      ALGBRC(44) =  ( ( ( ( CONSTS(91)*CONSTS(95))*STATES(28))*STATES(26))*ALGBRC(42))*(STATES(1) - STATES(3))
      ALGBRC(50) = (ALGBRC(46) - ALGBRC(1)) - ALGBRC(44)
      ALGBRC(36) = 1.00000/(1.00000+( CONSTS(11)*CONSTS(16))/STATES(1)+CONSTS(16) ** 2.00000)
      ALGBRC(48) =  ( ( ( CONSTS(93)*0.750000)*( ( CONSTS(59)*STATES(3) ** 2.00000)*(CONSTS(58) - STATES(30)) -  CONSTS(60)*STATES(30)))*CONSTS(66))*2.00000
      ALGBRC(32) =  (( ( 2.50000*CONSTS(12))*CONSTS(9))/CONSTS(22))*(STATES(4) - STATES(3))
      ALGBRC(51) = ((- ALGBRC(48)+ALGBRC(1))+ALGBRC(44))+ALGBRC(32)
      ALGBRC(40) = 1.00000/(1.00000+( CONSTS(10)*CONSTS(15))/STATES(3)+CONSTS(15) ** 2.00000)
      ALGBRC(20) =  ( ( ( 0.500000*CONSTS(70))*CONSTS(21))*(STATES(2) - STATES(4)))*CONSTS(94)
      ALGBRC(62) =  ( ( ( CONSTS(93)*0.750000)*( ( - CONSTS(61)*STATES(2) ** 2.00000)*(CONSTS(58) - STATES(31))+ CONSTS(62)*STATES(31)))*CONSTS(94))*2.00000
      ALGBRC(58) = 1.00000 - 1.00000/(1.00000+EXP((STATES(2) - 0.300000)/0.100000))
      ALGBRC(60) =  ( ( ( ( CONSTS(91)*CONSTS(101))*STATES(29))*STATES(27))*ALGBRC(58))*(STATES(2) - STATES(4))
      ALGBRC(65) = (ALGBRC(62) - ALGBRC(20)) - ALGBRC(60)
      ALGBRC(37) = 1.00000/(1.00000+( CONSTS(11)*CONSTS(16))/STATES(2)+CONSTS(16) ** 2.00000)
      ALGBRC(64) =  ( ( ( CONSTS(93)*0.750000)*( ( CONSTS(59)*STATES(4) ** 2.00000)*(CONSTS(58) - STATES(31)) -  CONSTS(60)*STATES(31)))*CONSTS(94))*2.00000
      ALGBRC(45) =  ( ( ( ( ( 1.33333*CONSTS(23))*CONSTS(73))*STATES(6))*STATES(7))*STATES(8))*(STATES(5) - CONSTS(29))
      ALGBRC(47) = ( ( ( 1.26000*CONSTS(23))*CONSTS(31))*STATES(4))/(STATES(4)+CONSTS(32))
      ALGBRC(49) =  (((( ( ( 1.40000*CONSTS(85))*CONSTS(23))*CONSTS(48))/(CONSTS(47) ** 3.00000+CONSTS(44) ** 3.00000))/(CONSTS(46)+CONSTS(43)))/(1.00000+ CONSTS(49)*EXP( ( (CONSTS(45) - 1.00000)*STATES(5))*CONSTS(77))))*( ( STATES(20) ** 3.00000*CONSTS(43))*EXP( ( STATES(5)*CONSTS(45))*CONSTS(77)) -  ( CONSTS(44) ** 3.00000*STATES(4))*EXP( ( STATES(5)*(CONSTS(45) - 1.00000))*CONSTS(77)))
      ALGBRC(54) =  13.3500*log(CONSTS(43)/STATES(3))
      ALGBRC(55) =  ( ( 1.00000*CONSTS(23))*CONSTS(71))*(STATES(5) - ALGBRC(54))
      ALGBRC(56) = ((- ALGBRC(45) - ALGBRC(55)) - ALGBRC(47))+ 2.00000*ALGBRC(49)
      ALGBRC(67) = ((- ALGBRC(32)+ALGBRC(20)) - ALGBRC(64))+ALGBRC(60)
      ALGBRC(41) = 1.00000/(((1.00000+( CONSTS(20)*CONSTS(18))/STATES(4)+CONSTS(18) ** 2.00000)+( CONSTS(19)*CONSTS(17))/STATES(4)+CONSTS(17) ** 2.00000)+( CONSTS(10)*CONSTS(15))/STATES(4)+CONSTS(15) ** 2.00000)
      ALGBRC(69) =  26.7100*log(CONSTS(44)/STATES(20))
      ALGBRC(70) =  ( ( 1.70000*CONSTS(23))*CONSTS(72))*(STATES(5) - ALGBRC(69))
      ALGBRC(71) =  ( ( ( ( ( CONSTS(42)*STATES(19) ** 3.00000)*STATES(17))*STATES(18))*(STATES(5) - ALGBRC(69)))*CONSTS(23))*((1.00000 - STATES(15)) - STATES(16))
      ALGBRC(52) = 1.00000/((1.00000+ 0.124500*EXP( ( - 0.100000*STATES(5))*CONSTS(77)))+ ( 0.0365000*CONSTS(87))*EXP( - STATES(5)*CONSTS(77)))
      ALGBRC(53) = (( ( ( ( 1.28000*CONSTS(23))*CONSTS(86))*ALGBRC(52))*CONSTS(50))/(CONSTS(50)+CONSTS(51)))/(1.00000+CONSTS(52)/STATES(20) ** 4.00000)
      ALGBRC(57) =  26.7100*log(CONSTS(50)/STATES(23))
      ALGBRC(59) = ( ( CONSTS(23)*CONSTS(74))*(STATES(5) - ALGBRC(57)))/(1.00000+EXP( 0.0700000*(STATES(5)+80.0000)))
      ALGBRC(61) = ( ( ( ( CONSTS(23)*CONSTS(63))*CONSTS(75))*STATES(9))*(STATES(5) - ALGBRC(57)))/(1.00000+EXP((STATES(5)+15.0000)/22.4000))
      ALGBRC(63) =  ( ( ( ( CONSTS(23)*CONSTS(64))*CONSTS(76))*STATES(10))*STATES(10))*(STATES(5) - ALGBRC(57))
      ALGBRC(66) =  ( ( ( ( ( CONSTS(23)*CONSTS(81))*(4.51280+1.89977/(1.00000+EXP((STATES(5) - 20.5232)/- 8.26597))))*((1.00000 - STATES(12)) - STATES(11)))*STATES(13))*STATES(14))*(STATES(5) - ALGBRC(57))
      ALGBRC(68) =  ( ( ( ( ( 1.05000*CONSTS(65))*CONSTS(23))*CONSTS(88))*STATES(21))*STATES(22))*(STATES(5) - ALGBRC(57))
      ALGBRC(72) = (((((((((((ALGBRC(71))+ALGBRC(68))+ALGBRC(66))+ALGBRC(61))+ALGBRC(63))+ALGBRC(45))+ALGBRC(59))+ALGBRC(70))+ALGBRC(55))+ALGBRC(49))+ALGBRC(53))+ALGBRC(47)
      ALGBRC(43) = TERNRY((VOI - CONSTS(27)) -  CONSTS(28)*INT((VOI - CONSTS(27))/CONSTS(28)).LT.CONSTS(26), 1.00000, 0.00000)
      ALGBRC(73) =  ( CONSTS(23)*ALGBRC(43))*CONSTS(100)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END