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 28 entries in the algebraic variable array.
C There are a total of 12 entries in each of the rate and state variable arrays.
C There are a total of 108 entries in the constant variable array.
C
C
C VOI is time in component environment (second).
C STATES(1) is ADP_m in component ADP_m (millimolar).
C ALGBRC(26) is V_ANT in component calcium_dynamics (flux).
C ALGBRC(24) is V_ATPase in component oxidative_phosphorylation (flux).
C ALGBRC(11) is V_SL in component V_SL (flux).
C STATES(2) is NADH in component NADH (millimolar).
C ALGBRC(20) is V_O2 in component oxidative_phosphorylation (flux).
C ALGBRC(9) is V_IDH in component V_IDH (flux).
C ALGBRC(10) is V_KGDH in component V_KGDH (flux).
C ALGBRC(13) is V_MDH in component V_MDH (flux).
C STATES(3) is ISOC in component ISOC (millimolar).
C ALGBRC(8) is V_ACO in component V_ACO (flux).
C STATES(4) is alpha_KG in component alpha_KG (millimolar).
C ALGBRC(15) is V_AAT in component V_AAT (flux).
C STATES(5) is SCoA in component SCoA (millimolar).
C STATES(6) is Suc in component Suc (millimolar).
C ALGBRC(12) is V_SDH in component V_SDH (flux).
C STATES(7) is FUM in component FUM (millimolar).
C ALGBRC(16) is V_FH in component V_FH (flux).
C STATES(8) is MAL in component MAL (millimolar).
C STATES(9) is OAA in component OAA (millimolar).
C ALGBRC(7) is V_CS in component V_CS (flux).
C STATES(10) is ASP in component ASP (millimolar).
C ALGBRC(18) is V_C_ASP in component V_C_ASP (flux).
C STATES(11) is Ca_m in component Ca_m (micromolar).
C CONSTS(1) is f in component Ca_m (dimensionless).
C ALGBRC(27) is V_uni in component calcium_dynamics (flux).
C ALGBRC(28) is V_NaCa in component calcium_dynamics (flux).
C ALGBRC(2) is Ca_i in component Ca_i (micromolar).
C CONSTS(2) is stim_start in component Ca_i (second).
C CONSTS(3) is stim_end in component Ca_i (second).
C ALGBRC(1) is stim_period in component Ca_i (second).
C CONSTS(4) is stim_duration in component Ca_i (second).
C CONSTS(5) is pulse_value in component Ca_i (micromolar).
C CONSTS(6) is Na_i in component Na_i (millimolar).
C CONSTS(7) is ATP_i in component ATP_i (millimolar).
C ALGBRC(3) is ATP_m in component ATP_m (millimolar).
C CONSTS(8) is Cm in component ATP_m (millimolar).
C ALGBRC(4) is ADP_i in component ADP_i (millimolar).
C CONSTS(9) is pulse_value in component ADP_i (millimolar).
C CONSTS(10) is GLU in component GLU (millimolar).
C CONSTS(11) is Mg in component Mg (millimolar).
C CONSTS(12) is H in component H (millimolar).
C CONSTS(13) is Pi in component Pi (millimolar).
C CONSTS(14) is CoA in component CoA (millimolar).
C CONSTS(15) is AcCoA in component AcCoA (millimolar).
C CONSTS(16) is FAD in component FAD (millimolar).
C CONSTS(17) is FADH2 in component FADH2 (millimolar).
C ALGBRC(5) is NAD in component NAD (millimolar).
C CONSTS(18) is C_PN in component NAD (millimolar).
C ALGBRC(6) is CIT in component CIT (millimolar).
C CONSTS(19) is C_Kint in component CIT (millimolar).
C STATES(12) is delta_psi_m in component mitochondrial_membrane (volt).
C CONSTS(20) is R in component mitochondrial_membrane (volt_coulomb_per_mole_kelvin).
C CONSTS(21) is T in component mitochondrial_membrane (kelvin).
C CONSTS(22) is F in component mitochondrial_membrane (coulomb_per_mole).
C CONSTS(23) is C_mito in component mitochondrial_membrane (millimolar_per_volt).
C ALGBRC(19) is V_He in component oxidative_phosphorylation (flux).
C ALGBRC(21) is V_He_F in component oxidative_phosphorylation (flux).
C ALGBRC(25) is V_Hu in component oxidative_phosphorylation (flux).
C ALGBRC(22) is V_Hleak in component oxidative_phosphorylation (flux).
C CONSTS(24) is Km_AcCoA in component V_CS (millimolar).
C CONSTS(25) is Km_OAA in component V_CS (millimolar).
C CONSTS(26) is Kcat_CS in component V_CS (first_order_rate_constant).
C CONSTS(27) is ET_CS in component V_CS (millimolar).
C CONSTS(28) is Kf_ACO in component V_ACO (first_order_rate_constant).
C CONSTS(29) is KE_ACO in component V_ACO (dimensionless).
C CONSTS(30) is Kh_1 in component V_IDH (millimolar).
C CONSTS(31) is Kh_2 in component V_IDH (millimolar).
C CONSTS(32) is Km_ISOC in component V_IDH (millimolar).
C CONSTS(33) is Ka_ADP in component V_IDH (millimolar).
C CONSTS(34) is Ka_Ca in component V_IDH (micromolar).
C CONSTS(35) is Km_NAD in component V_IDH (millimolar).
C CONSTS(36) is Ki_NADH in component V_IDH (millimolar).
C CONSTS(37) is Kcat_IDH in component V_IDH (first_order_rate_constant).
C CONSTS(38) is ET_IDH in component V_IDH (millimolar).
C CONSTS(39) is ni in component V_IDH (dimensionless).
C CONSTS(40) is Km_alpha_KG in component V_KGDH (millimolar).
C CONSTS(41) is Kcat_KGDH in component V_KGDH (first_order_rate_constant).
C CONSTS(42) is ET_KGDH in component V_KGDH (millimolar).
C CONSTS(43) is Kd_Mg in component V_KGDH (millimolar).
C CONSTS(44) is Kd_Ca in component V_KGDH (micromolar).
C CONSTS(45) is n_alpha_KG in component V_KGDH (dimensionless).
C CONSTS(46) is Km_NAD in component V_KGDH (millimolar).
C CONSTS(47) is kf_SL in component V_SL (second_order_rate_constant).
C CONSTS(48) is Ke_SL in component V_SL (millimolar).
C CONSTS(49) is Kisdh_OAA in component V_SDH (millimolar).
C CONSTS(50) is Kcat_SDH in component V_SDH (first_order_rate_constant).
C CONSTS(51) is ET_SDH in component V_SDH (millimolar).
C CONSTS(52) is Km_Suc in component V_SDH (millimolar).
C CONSTS(53) is Ki_FUM in component V_SDH (millimolar).
C CONSTS(54) is Km_MAL in component V_MDH (millimolar).
C CONSTS(55) is Kcat_MDH in component V_MDH (first_order_rate_constant).
C CONSTS(56) is ET_MDH in component V_MDH (millimolar).
C CONSTS(57) is Ki_OAA in component V_MDH (millimolar).
C CONSTS(107) is fh_a in component V_MDH (dimensionless).
C CONSTS(108) is fh_i in component V_MDH (dimensionless).
C CONSTS(58) is Km_NAD in component V_MDH (millimolar).
C CONSTS(59) is kh1 in component V_MDH (millimolar).
C CONSTS(60) is kh2 in component V_MDH (millimolar).
C CONSTS(61) is kh3 in component V_MDH (millimolar).
C CONSTS(62) is kh4 in component V_MDH (millimolar).
C CONSTS(63) is k_offset in component V_MDH (dimensionless).
C CONSTS(64) is Ke_FH in component V_FH (dimensionless).
C CONSTS(65) is kf_FH in component V_FH (first_order_rate_constant).
C CONSTS(66) is Ke_AAT in component V_AAT (dimensionless).
C CONSTS(67) is kf_AAT in component V_AAT (second_order_rate_constant).
C CONSTS(68) is k_C_ASP in component V_C_ASP (first_order_rate_constant).
C CONSTS(69) is rho_res in component oxidative_phosphorylation (millimolar).
C CONSTS(70) is rho_res_F in component oxidative_phosphorylation (millimolar).
C CONSTS(71) is ra in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(72) is rc1 in component oxidative_phosphorylation (first_order_rate_constant).
C ALGBRC(14) is Ares in component oxidative_phosphorylation (volt).
C CONSTS(106) is Ares_F in component oxidative_phosphorylation (volt).
C CONSTS(73) is r1 in component oxidative_phosphorylation (dimensionless).
C CONSTS(74) is r2 in component oxidative_phosphorylation (dimensionless).
C CONSTS(75) is r3 in component oxidative_phosphorylation (dimensionless).
C CONSTS(76) is rb in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(77) is rc2 in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(78) is Kres in component oxidative_phosphorylation (dimensionless).
C CONSTS(79) is Kres_F in component oxidative_phosphorylation (dimensionless).
C CONSTS(80) is gH in component oxidative_phosphorylation (millimolar_per_second_volt).
C CONSTS(81) is delta_psi_B in component oxidative_phosphorylation (volt).
C CONSTS(82) is g in component oxidative_phosphorylation (dimensionless).
C ALGBRC(17) is delta_mu_H in component oxidative_phosphorylation (volt).
C CONSTS(83) is delta_pH in component oxidative_phosphorylation (dimensionless).
C CONSTS(84) is rho_F1 in component oxidative_phosphorylation (millimolar).
C CONSTS(85) is pa in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(86) is pc1 in component oxidative_phosphorylation (first_order_rate_constant).
C ALGBRC(23) is AF1 in component oxidative_phosphorylation (volt).
C CONSTS(87) is p1 in component oxidative_phosphorylation (dimensionless).
C CONSTS(88) is p2 in component oxidative_phosphorylation (dimensionless).
C CONSTS(89) is p3 in component oxidative_phosphorylation (dimensionless).
C CONSTS(90) is pb in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(91) is pc2 in component oxidative_phosphorylation (first_order_rate_constant).
C CONSTS(92) is KF1 in component oxidative_phosphorylation (millimolar).
C CONSTS(93) is h in component calcium_dynamics (dimensionless).
C CONSTS(94) is delta_psi_0 in component calcium_dynamics (volt).
C CONSTS(95) is Vmax_ANT in component calcium_dynamics (flux).
C CONSTS(96) is L in component calcium_dynamics (dimensionless).
C CONSTS(97) is na in component calcium_dynamics (dimensionless).
C CONSTS(98) is Vmax_uni in component calcium_dynamics (flux).
C CONSTS(99) is K_act in component calcium_dynamics (micromolar).
C CONSTS(100) is K_trans in component calcium_dynamics (micromolar).
C CONSTS(101) is n in component calcium_dynamics (dimensionless).
C CONSTS(102) is Vmax_NaCa in component calcium_dynamics (flux).
C CONSTS(103) is KNa in component calcium_dynamics (millimolar).
C CONSTS(104) is KCa in component calcium_dynamics (micromolar).
C CONSTS(105) is b in component calcium_dynamics (dimensionless).
C RATES(1) is d/dt ADP_m in component ADP_m (millimolar).
C RATES(2) is d/dt NADH in component NADH (millimolar).
C RATES(3) is d/dt ISOC in component ISOC (millimolar).
C RATES(4) is d/dt alpha_KG in component alpha_KG (millimolar).
C RATES(5) is d/dt SCoA in component SCoA (millimolar).
C RATES(6) is d/dt Suc in component Suc (millimolar).
C RATES(7) is d/dt FUM in component FUM (millimolar).
C RATES(8) is d/dt MAL in component MAL (millimolar).
C RATES(9) is d/dt OAA in component OAA (millimolar).
C RATES(10) is d/dt ASP in component ASP (millimolar).
C RATES(11) is d/dt Ca_m in component Ca_m (micromolar).
C RATES(12) is d/dt delta_psi_m in component mitochondrial_membrane (volt).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      STATES(1) = 0.1
      STATES(2) = 0.01
      STATES(3) = 0.01
      STATES(4) = 0.01
      STATES(5) = 0.01
      STATES(6) = 0.01
      STATES(7) = 0.01
      STATES(8) = 0.01
      STATES(9) = 0.01
      STATES(10) = 0.01
      STATES(11) = 0.01
      CONSTS(1) = 0.0003
      CONSTS(2) = 0
      CONSTS(3) = 10000
      CONSTS(4) = 0.4
      CONSTS(5) = 1
      CONSTS(6) = 10.0
      CONSTS(7) = 6.5
      CONSTS(8) = 15.0
      CONSTS(9) = 0.15
      CONSTS(10) = 20
      CONSTS(11) = 0.4
      CONSTS(12) = 2.5E-5
      CONSTS(13) = 20.0
      CONSTS(14) = 0.02
      CONSTS(15) = 0.0002
      CONSTS(16) = 0.01
      CONSTS(17) = 1.24
      CONSTS(18) = 10.0
      CONSTS(19) = 1.0
      STATES(12) = 0.01
      CONSTS(20) = 8.315
      CONSTS(21) = 310.16
      CONSTS(22) = 96480
      CONSTS(23) = 1.812
      CONSTS(24) = 1.26E-2
      CONSTS(25) = 6.4E-4
      CONSTS(26) = 3.2
      CONSTS(27) = 0.4
      CONSTS(28) = 12.5
      CONSTS(29) = 2.22
      CONSTS(30) = 8.1E-5
      CONSTS(31) = 5.98E-5
      CONSTS(32) = 1.52
      CONSTS(33) = 6.2E-2
      CONSTS(34) = 1.41
      CONSTS(35) = 0.923
      CONSTS(36) = 0.19
      CONSTS(37) = 1.94
      CONSTS(38) = 0.109
      CONSTS(39) = 1
      CONSTS(40) = 1.94
      CONSTS(41) = 0.15
      CONSTS(42) = 0.5
      CONSTS(43) = 0.0308
      CONSTS(44) = 1.27
      CONSTS(45) = 1.2
      CONSTS(46) = 38.7
      CONSTS(47) = 0.127
      CONSTS(48) = 3.115
      CONSTS(49) = 0.15
      CONSTS(50) = 1.0
      CONSTS(51) = 0.5
      CONSTS(52) = 3.0E-2
      CONSTS(53) = 1.3
      CONSTS(54) = 1.493
      CONSTS(55) = 2.775E1
      CONSTS(56) = 0.154
      CONSTS(57) = 3.1E-3
      CONSTS(58) = 0.2244
      CONSTS(59) = 1.13E-5
      CONSTS(60) = 26.7
      CONSTS(61) = 6.68E-9
      CONSTS(62) = 5.62E-6
      CONSTS(63) = 3.99E-2
      CONSTS(64) = 1.0
      CONSTS(65) = 0.83
      CONSTS(66) = 6.6
      CONSTS(67) = 0.644
      CONSTS(68) = 0.01
      CONSTS(69) = 0.0006
      CONSTS(70) = 0.0045
      CONSTS(71) = 6.394E-10
      CONSTS(72) = 2.656E-19
      CONSTS(73) = 2.077E-18
      CONSTS(74) = 1.728E-9
      CONSTS(75) = 1.059E-26
      CONSTS(76) = 1.762E-13
      CONSTS(77) = 8.632E-27
      CONSTS(78) = 1.35E18
      CONSTS(79) = 5.765E13
      CONSTS(80) = 0.01
      CONSTS(81) = 0.05
      CONSTS(82) = 0.85
      CONSTS(83) = -0.6
      CONSTS(84) = 0.06
      CONSTS(85) = 1.656E-5
      CONSTS(86) = 9.651E-14
      CONSTS(87) = 1.346E-8
      CONSTS(88) = 7.739E-7
      CONSTS(89) = 6.65E-15
      CONSTS(90) = 3.373E-7
      CONSTS(91) = 4.585E-14
      CONSTS(92) = 1.71E6
      CONSTS(93) = 0.5
      CONSTS(94) = 0.091
      CONSTS(95) = 0.05
      CONSTS(96) = 110.0
      CONSTS(97) = 2.8
      CONSTS(98) = 0.000625
      CONSTS(99) = 0.38
      CONSTS(100) = 19.0
      CONSTS(101) = 3.0
      CONSTS(102) = 0.005
      CONSTS(103) = 9.4
      CONSTS(104) = 3.75E-1
      CONSTS(105) = 0.5
      CONSTS(106) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*log( CONSTS(79)*CONSTS(17)/CONSTS(16) ** 0.500000)
      CONSTS(107) = 1.00000/(1.00000+CONSTS(12)/CONSTS(59)+CONSTS(12) ** 2.00000/( CONSTS(59)*CONSTS(60)))+CONSTS(63)
      CONSTS(108) = 1.00000/(1.00000+CONSTS(61)/CONSTS(12)+( CONSTS(61)*CONSTS(62))/CONSTS(12) ** 2.00000) ** 2.00000
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = CONSTS(18) - STATES(2)
      ALGBRC(9) = ( CONSTS(37)*CONSTS(38))/(1.00000+CONSTS(12)/CONSTS(30)+CONSTS(31)/CONSTS(12)+CONSTS(32)/STATES(3) ** CONSTS(39)/( (1.00000+STATES(1)/CONSTS(33))*(1.00000+STATES(11)/CONSTS(34)))+ (CONSTS(35)/ALGBRC(5))*(1.00000+STATES(2)/CONSTS(36))+( CONSTS(32)/STATES(3) ** CONSTS(39)*(CONSTS(35)/ALGBRC(5))*(1.00000+STATES(2)/CONSTS(36)))/( (1.00000+STATES(1)/CONSTS(33))*(1.00000+STATES(11)/CONSTS(34))))
      ALGBRC(6) = CONSTS(19) - (STATES(3)+STATES(4)+STATES(5)+STATES(6)+STATES(7)+STATES(8)+STATES(9))
      ALGBRC(8) =  CONSTS(28)*(ALGBRC(6) - STATES(3)/CONSTS(29))
      RATES(3) = ALGBRC(8) - ALGBRC(9)
      ALGBRC(3) = CONSTS(8) - STATES(1)
      ALGBRC(11) =  CONSTS(47)*( STATES(5)*STATES(1) - ( STATES(6)*ALGBRC(3)*CONSTS(14))/CONSTS(48))
      ALGBRC(10) = ( CONSTS(41)*CONSTS(42))/(1.00000+CONSTS(40)/STATES(4) ** CONSTS(45)/( (1.00000+CONSTS(11)/CONSTS(43))*(1.00000+STATES(11)/CONSTS(44)))+(CONSTS(46)/ALGBRC(5))/( (1.00000+CONSTS(11)/CONSTS(43))*(1.00000+STATES(11)/CONSTS(44))))
      RATES(5) = ALGBRC(10) - ALGBRC(11)
      ALGBRC(12) = ( CONSTS(50)*CONSTS(51))/(1.00000+ (CONSTS(52)/STATES(6))*(1.00000+STATES(9)/CONSTS(49))*(1.00000+STATES(7)/CONSTS(53)))
      RATES(6) = ALGBRC(11) - ALGBRC(12)
      ALGBRC(15) =  CONSTS(67)*( STATES(9)*CONSTS(10) - ( STATES(4)*STATES(10))/CONSTS(66))
      RATES(4) = ALGBRC(15)+ALGBRC(9)+- ALGBRC(10)
      ALGBRC(16) =  CONSTS(65)*(STATES(7) - STATES(8)/CONSTS(64))
      RATES(7) = ALGBRC(12) - ALGBRC(16)
      ALGBRC(13) = ( CONSTS(55)*CONSTS(56)*CONSTS(107)*CONSTS(108))/(1.00000+ (CONSTS(54)/STATES(8))*(1.00000+STATES(9)/CONSTS(57))+CONSTS(58)/ALGBRC(5)+ (CONSTS(54)/STATES(8))*(1.00000+STATES(9)/CONSTS(57))*(CONSTS(58)/ALGBRC(5)))
      RATES(8) = ALGBRC(16) - ALGBRC(13)
      ALGBRC(7) = ( CONSTS(26)*CONSTS(27))/(1.00000+CONSTS(24)/CONSTS(15)+CONSTS(25)/STATES(9)+ (CONSTS(24)/CONSTS(15))*(CONSTS(25)/STATES(9)))
      RATES(9) = ALGBRC(13) - (ALGBRC(7)+ALGBRC(15))
      ALGBRC(18) =  CONSTS(68)*STATES(10)
      RATES(10) = ALGBRC(15) - ALGBRC(18)
      ALGBRC(14) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*log( CONSTS(78)*STATES(2)/ALGBRC(5) ** 0.500000)
      ALGBRC(17) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*CONSTS(83)+STATES(12)
      ALGBRC(20) =  0.500000*CONSTS(69)*((( (CONSTS(71)+ CONSTS(72)*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21))))*EXP(( ALGBRC(14)*CONSTS(22))/( CONSTS(20)*CONSTS(21))) -  CONSTS(71)*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))+ CONSTS(77)*EXP(( ALGBRC(14)*CONSTS(22))/( CONSTS(20)*CONSTS(21)))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      RATES(2) = - ALGBRC(20)+ALGBRC(9)+ALGBRC(10)+ALGBRC(13)
      ALGBRC(4) = TERNRY(VOI.GE.100.000.AND.VOI.LT.300.000, CONSTS(9), 0.0500000)
      ALGBRC(26) =  CONSTS(95)*((1.00000 - ( 0.0500000*CONSTS(7)*0.450000*0.800000*STATES(1))/( 0.450000*ALGBRC(4)*0.0500000*ALGBRC(3)))/( (1.00000+ (( 0.0500000*CONSTS(7))/( 0.450000*ALGBRC(4)))*EXP(( - CONSTS(93)*CONSTS(22)*CONSTS(94))/( CONSTS(20)*CONSTS(21))))*(1.00000+( 0.450000*0.800000*STATES(1))/( 0.0500000*ALGBRC(3)))))
      ALGBRC(23) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*log( CONSTS(92)*(ALGBRC(3)/( STATES(1)*CONSTS(13))))
      ALGBRC(24) =  - CONSTS(84)*(( ( 100.000*CONSTS(85)+ CONSTS(86)*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21))))*EXP(( ALGBRC(23)*CONSTS(22))/( CONSTS(20)*CONSTS(21))) - ( CONSTS(85)*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))+ CONSTS(91)*EXP(( ALGBRC(23)*CONSTS(22))/( CONSTS(20)*CONSTS(21)))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))/( (1.00000+ CONSTS(87)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(88)+ CONSTS(89)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      RATES(1) = ALGBRC(26) - (ALGBRC(24)+ALGBRC(11))
      ALGBRC(1) = TERNRY(VOI.GE.100.000.AND.VOI.LT.300.000, 0.500000, 4.00000)
      ALGBRC(2) = TERNRY(VOI.GE.CONSTS(2).AND.VOI.LE.CONSTS(3).AND.(VOI - CONSTS(2)) -  INT((VOI - CONSTS(2))/ALGBRC(1))*ALGBRC(1).LE.CONSTS(4), CONSTS(5), 0.100000)
      ALGBRC(27) =  CONSTS(98)*(( (ALGBRC(2)/CONSTS(100))*1.00000+ALGBRC(2)/CONSTS(100) ** 3.00000*(( 2.00000*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21))))/(1.00000+ALGBRC(2)/CONSTS(100) ** 4.00000+ (CONSTS(96)/1.00000+ALGBRC(2)/CONSTS(99) ** CONSTS(97))*(1.00000 - EXP(( -2.00000*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21))))))
      ALGBRC(28) =  CONSTS(102)*(( EXP(( CONSTS(105)*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21)))*EXP(log(ALGBRC(2)/STATES(11))))/( 1.00000+CONSTS(103)/CONSTS(6) ** CONSTS(101)*(1.00000+CONSTS(104)/STATES(11))))
      RATES(11) =  CONSTS(1)*1.00000*(ALGBRC(27) - ALGBRC(28))
      ALGBRC(19) =  6.00000*CONSTS(69)*(( CONSTS(71)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))) -  (CONSTS(71)+CONSTS(76))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(21) =  6.00000*CONSTS(70)*(( CONSTS(71)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))) -  (CONSTS(71)+CONSTS(76))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(25) =  -3.00000*CONSTS(84)*(( 100.000*CONSTS(85)*(1.00000+EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21)))) -  (CONSTS(85)+CONSTS(90))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(87)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(88)+ CONSTS(89)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(22) =  CONSTS(80)*ALGBRC(17)
      RATES(12) = (ALGBRC(19)+ALGBRC(21)+- (ALGBRC(25)+ALGBRC(26)+ALGBRC(22)+ALGBRC(28)+ 2.00000*ALGBRC(27)))/CONSTS(23)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = CONSTS(18) - STATES(2)
      ALGBRC(9) = ( CONSTS(37)*CONSTS(38))/(1.00000+CONSTS(12)/CONSTS(30)+CONSTS(31)/CONSTS(12)+CONSTS(32)/STATES(3) ** CONSTS(39)/( (1.00000+STATES(1)/CONSTS(33))*(1.00000+STATES(11)/CONSTS(34)))+ (CONSTS(35)/ALGBRC(5))*(1.00000+STATES(2)/CONSTS(36))+( CONSTS(32)/STATES(3) ** CONSTS(39)*(CONSTS(35)/ALGBRC(5))*(1.00000+STATES(2)/CONSTS(36)))/( (1.00000+STATES(1)/CONSTS(33))*(1.00000+STATES(11)/CONSTS(34))))
      ALGBRC(6) = CONSTS(19) - (STATES(3)+STATES(4)+STATES(5)+STATES(6)+STATES(7)+STATES(8)+STATES(9))
      ALGBRC(8) =  CONSTS(28)*(ALGBRC(6) - STATES(3)/CONSTS(29))
      ALGBRC(3) = CONSTS(8) - STATES(1)
      ALGBRC(11) =  CONSTS(47)*( STATES(5)*STATES(1) - ( STATES(6)*ALGBRC(3)*CONSTS(14))/CONSTS(48))
      ALGBRC(10) = ( CONSTS(41)*CONSTS(42))/(1.00000+CONSTS(40)/STATES(4) ** CONSTS(45)/( (1.00000+CONSTS(11)/CONSTS(43))*(1.00000+STATES(11)/CONSTS(44)))+(CONSTS(46)/ALGBRC(5))/( (1.00000+CONSTS(11)/CONSTS(43))*(1.00000+STATES(11)/CONSTS(44))))
      ALGBRC(12) = ( CONSTS(50)*CONSTS(51))/(1.00000+ (CONSTS(52)/STATES(6))*(1.00000+STATES(9)/CONSTS(49))*(1.00000+STATES(7)/CONSTS(53)))
      ALGBRC(15) =  CONSTS(67)*( STATES(9)*CONSTS(10) - ( STATES(4)*STATES(10))/CONSTS(66))
      ALGBRC(16) =  CONSTS(65)*(STATES(7) - STATES(8)/CONSTS(64))
      ALGBRC(13) = ( CONSTS(55)*CONSTS(56)*CONSTS(107)*CONSTS(108))/(1.00000+ (CONSTS(54)/STATES(8))*(1.00000+STATES(9)/CONSTS(57))+CONSTS(58)/ALGBRC(5)+ (CONSTS(54)/STATES(8))*(1.00000+STATES(9)/CONSTS(57))*(CONSTS(58)/ALGBRC(5)))
      ALGBRC(7) = ( CONSTS(26)*CONSTS(27))/(1.00000+CONSTS(24)/CONSTS(15)+CONSTS(25)/STATES(9)+ (CONSTS(24)/CONSTS(15))*(CONSTS(25)/STATES(9)))
      ALGBRC(18) =  CONSTS(68)*STATES(10)
      ALGBRC(14) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*log( CONSTS(78)*STATES(2)/ALGBRC(5) ** 0.500000)
      ALGBRC(17) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*CONSTS(83)+STATES(12)
      ALGBRC(20) =  0.500000*CONSTS(69)*((( (CONSTS(71)+ CONSTS(72)*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21))))*EXP(( ALGBRC(14)*CONSTS(22))/( CONSTS(20)*CONSTS(21))) -  CONSTS(71)*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))+ CONSTS(77)*EXP(( ALGBRC(14)*CONSTS(22))/( CONSTS(20)*CONSTS(21)))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(4) = TERNRY(VOI.GE.100.000.AND.VOI.LT.300.000, CONSTS(9), 0.0500000)
      ALGBRC(26) =  CONSTS(95)*((1.00000 - ( 0.0500000*CONSTS(7)*0.450000*0.800000*STATES(1))/( 0.450000*ALGBRC(4)*0.0500000*ALGBRC(3)))/( (1.00000+ (( 0.0500000*CONSTS(7))/( 0.450000*ALGBRC(4)))*EXP(( - CONSTS(93)*CONSTS(22)*CONSTS(94))/( CONSTS(20)*CONSTS(21))))*(1.00000+( 0.450000*0.800000*STATES(1))/( 0.0500000*ALGBRC(3)))))
      ALGBRC(23) =  (( CONSTS(20)*CONSTS(21))/CONSTS(22))*log( CONSTS(92)*(ALGBRC(3)/( STATES(1)*CONSTS(13))))
      ALGBRC(24) =  - CONSTS(84)*(( ( 100.000*CONSTS(85)+ CONSTS(86)*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21))))*EXP(( ALGBRC(23)*CONSTS(22))/( CONSTS(20)*CONSTS(21))) - ( CONSTS(85)*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))+ CONSTS(91)*EXP(( ALGBRC(23)*CONSTS(22))/( CONSTS(20)*CONSTS(21)))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))/( (1.00000+ CONSTS(87)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(88)+ CONSTS(89)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(1) = TERNRY(VOI.GE.100.000.AND.VOI.LT.300.000, 0.500000, 4.00000)
      ALGBRC(2) = TERNRY(VOI.GE.CONSTS(2).AND.VOI.LE.CONSTS(3).AND.(VOI - CONSTS(2)) -  INT((VOI - CONSTS(2))/ALGBRC(1))*ALGBRC(1).LE.CONSTS(4), CONSTS(5), 0.100000)
      ALGBRC(27) =  CONSTS(98)*(( (ALGBRC(2)/CONSTS(100))*1.00000+ALGBRC(2)/CONSTS(100) ** 3.00000*(( 2.00000*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21))))/(1.00000+ALGBRC(2)/CONSTS(100) ** 4.00000+ (CONSTS(96)/1.00000+ALGBRC(2)/CONSTS(99) ** CONSTS(97))*(1.00000 - EXP(( -2.00000*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21))))))
      ALGBRC(28) =  CONSTS(102)*(( EXP(( CONSTS(105)*CONSTS(22)*(STATES(12) - CONSTS(94)))/( CONSTS(20)*CONSTS(21)))*EXP(log(ALGBRC(2)/STATES(11))))/( 1.00000+CONSTS(103)/CONSTS(6) ** CONSTS(101)*(1.00000+CONSTS(104)/STATES(11))))
      ALGBRC(19) =  6.00000*CONSTS(69)*(( CONSTS(71)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))) -  (CONSTS(71)+CONSTS(76))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*ALGBRC(14))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(21) =  6.00000*CONSTS(70)*(( CONSTS(71)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))) -  (CONSTS(71)+CONSTS(76))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(73)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))))*EXP(( 6.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(74)+ CONSTS(75)*EXP(( CONSTS(22)*CONSTS(106))/( CONSTS(20)*CONSTS(21))))*EXP(( CONSTS(82)*6.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(25) =  -3.00000*CONSTS(84)*(( 100.000*CONSTS(85)*(1.00000+EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21)))) -  (CONSTS(85)+CONSTS(90))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21))))/( (1.00000+ CONSTS(87)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*CONSTS(81))/( CONSTS(20)*CONSTS(21)))+ (CONSTS(88)+ CONSTS(89)*EXP(( CONSTS(22)*ALGBRC(23))/( CONSTS(20)*CONSTS(21))))*EXP(( 3.00000*CONSTS(22)*ALGBRC(17))/( CONSTS(20)*CONSTS(21)))))
      ALGBRC(22) =  CONSTS(80)*ALGBRC(17)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END