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 86 entries in the algebraic variable array.
C There are a total of 44 entries in each of the rate and state variable arrays.
C There are a total of 96 entries in the constant variable array.
C
C
C VOI is time in component Circ_Environment (ms).
C CONSTS(1) is HR in component Circ_Environment (ratepm).
C CONSTS(92) is hrf in component Circ_Environment (Hz).
C ALGBRC(1) is beattime in component LATiming (ms).
C CONSTS(2) is Esys in component LAElastanceFunction (elastance).
C CONSTS(3) is Edia in component LAElastanceFunction (elastance).
C CONSTS(4) is TsK in component LAElastanceFunction (ms).
C CONSTS(93) is Ts in component LAElastanceFunction (ms).
C ALGBRC(2) is E_LA in component LAElastanceFunction (elastance).
C ALGBRC(83) is P_PV in component PulmonaryVein (mmHg).
C ALGBRC(10) is F_LV in component LeftVentricle (flow).
C CONSTS(5) is P_LA_ext in component LeftAtrium (mmHg).
C STATES(1) is V_LA in component LeftAtrium (mL).
C CONSTS(6) is V_LA_0 in component LeftAtrium (mL).
C ALGBRC(4) is P_LA in component LeftAtrium (mmHg).
C ALGBRC(84) is F_LA in component LeftAtrium (flow).
C CONSTS(7) is R_LA in component LeftAtrium (resistance).
C ALGBRC(3) is conc_X_LA in component LeftAtrium (concentration).
C ALGBRC(82) is conc_X_PV in component PulmonaryVein (concentration).
C STATES(2) is sub_X_LA in component LeftAtrium (mL).
C CONSTS(8) is PRint in component LVTiming (ms).
C ALGBRC(5) is beattime in component LVTiming (ms).
C CONSTS(9) is Esys in component LVElastanceFunction (elastance).
C CONSTS(10) is Edia in component LVElastanceFunction (elastance).
C CONSTS(11) is TsK in component LVElastanceFunction (second).
C CONSTS(94) is Ts in component LVElastanceFunction (second).
C ALGBRC(6) is E_LV in component LVElastanceFunction (elastance).
C ALGBRC(13) is F_AO in component Aorta (flow).
C ALGBRC(16) is F_CO in component CoronaryCirc (flow).
C CONSTS(12) is pLVPext in component LeftVentricle (mmHg).
C STATES(3) is V_LV in component LeftVentricle (mL).
C CONSTS(13) is V_LV_0 in component LeftVentricle (mL).
C ALGBRC(8) is P_LV in component LeftVentricle (mmHg).
C CONSTS(14) is R_LV in component LeftVentricle (resistance).
C ALGBRC(7) is conc_X_LV in component LeftVentricle (concentration).
C STATES(4) is sub_X_LV in component LeftVentricle (mL).
C ALGBRC(9) is fiber_stress in component LeftVentricle (mmHg).
C ALGBRC(20) is F_CR in component CarotidCirc (flow).
C ALGBRC(23) is F_AR in component Arteries (flow).
C CONSTS(15) is C_AO in component Aorta (capacitance).
C CONSTS(16) is L_AO in component Aorta (inductance).
C CONSTS(17) is R_AO in component Aorta (resistance).
C CONSTS(18) is V_AO_0 in component Aorta (mL).
C STATES(5) is V_AO in component Aorta (mL).
C STATES(6) is F_AOalways in component Aorta (flow).
C ALGBRC(12) is P_AO in component Aorta (mmHg).
C ALGBRC(11) is conc_X_AO in component Aorta (concentration).
C STATES(7) is sub_X_AO in component Aorta (mL).
C ALGBRC(63) is P_RA in component RightAtrium (mmHg).
C CONSTS(19) is R_CO in component CoronaryCirc (resistance).
C CONSTS(20) is R_COV in component CoronaryCirc (resistance).
C CONSTS(21) is V_CO_0 in component CoronaryCirc (mL).
C CONSTS(22) is C_CO in component CoronaryCirc (capacitance).
C ALGBRC(64) is F_COV in component CoronaryCirc (flow).
C STATES(8) is V_CO in component CoronaryCirc (mL).
C ALGBRC(15) is P_CO in component CoronaryCirc (mmHg).
C ALGBRC(14) is conc_X_CO in component CoronaryCirc (concentration).
C STATES(9) is sub_X_CO in component CoronaryCirc (mL).
C ALGBRC(56) is P_VC in component VenaCava (mmHg).
C CONSTS(23) is R_CR in component CarotidCirc (resistance).
C CONSTS(24) is R_CRV in component CarotidCirc (resistance).
C CONSTS(25) is V_CR_0 in component CarotidCirc (mL).
C CONSTS(26) is C_CR in component CarotidCirc (capacitance).
C ALGBRC(57) is F_CRV in component CarotidCirc (flow).
C STATES(10) is V_CR in component CarotidCirc (mL).
C ALGBRC(19) is P_CR in component CarotidCirc (mmHg).
C ALGBRC(18) is conc_X_CR in component CarotidCirc (concentration).
C STATES(11) is sub_X_CR in component CarotidCirc (mL).
C ALGBRC(17) is conc_X_CRtissue in component CarotidCirc (concentration).
C CONSTS(27) is D_CRtissue in component CarotidCirc (flow).
C CONSTS(28) is V_CRtissue in component CarotidCirc (mL).
C STATES(12) is sub_X_CRtissue in component CarotidCirc (mL).
C ALGBRC(26) is F_AD in component Adipose (flow).
C ALGBRC(29) is F_MU in component Muscle (flow).
C ALGBRC(32) is F_GI in component GutIntestine (flow).
C ALGBRC(36) is F_LI in component Liver (flow).
C ALGBRC(39) is F_KI in component Kidney (flow).
C ALGBRC(45) is F_OT in component OtherTissue (flow).
C ALGBRC(42) is F_SK in component Skin (flow).
C CONSTS(29) is R_AR in component Arteries (resistance).
C CONSTS(30) is C_AR in component Arteries (capacitance).
C CONSTS(31) is V_AR_0 in component Arteries (mL).
C STATES(13) is V_AR in component Arteries (mL).
C ALGBRC(22) is P_AR in component Arteries (mmHg).
C ALGBRC(21) is conc_X_AR in component Arteries (concentration).
C STATES(14) is sub_X_AR in component Arteries (mL).
C ALGBRC(47) is P_VE in component Veins (mmHg).
C CONSTS(32) is C_AD in component Adipose (capacitance).
C CONSTS(33) is R_AD in component Adipose (resistance).
C CONSTS(34) is R_ADV in component Adipose (resistance).
C CONSTS(35) is V_AD_0 in component Adipose (mL).
C STATES(15) is V_AD in component Adipose (mL).
C ALGBRC(48) is F_ADV in component Adipose (flow).
C ALGBRC(25) is P_AD in component Adipose (mmHg).
C ALGBRC(24) is conc_X_AD in component Adipose (concentration).
C STATES(16) is sub_X_AD in component Adipose (mL).
C CONSTS(36) is C_MU in component Muscle (capacitance).
C CONSTS(37) is R_MU in component Muscle (resistance).
C CONSTS(38) is R_MUV in component Muscle (resistance).
C CONSTS(39) is V_MU_0 in component Muscle (mL).
C STATES(17) is V_MU in component Muscle (mL).
C ALGBRC(49) is F_MUV in component Muscle (flow).
C ALGBRC(28) is P_MU in component Muscle (mmHg).
C ALGBRC(27) is conc_X_MU in component Muscle (concentration).
C STATES(18) is sub_X_MU in component Muscle (mL).
C ALGBRC(34) is P_LI in component Liver (mmHg).
C CONSTS(40) is C_GI in component GutIntestine (capacitance).
C CONSTS(41) is R_GI in component GutIntestine (resistance).
C CONSTS(42) is R_GIV in component GutIntestine (resistance).
C CONSTS(43) is V_GI_0 in component GutIntestine (mL).
C STATES(19) is V_GI in component GutIntestine (mL).
C ALGBRC(35) is F_GIV in component GutIntestine (flow).
C ALGBRC(31) is P_GI in component GutIntestine (mmHg).
C ALGBRC(30) is conc_X_GI in component GutIntestine (concentration).
C STATES(20) is sub_X_GI in component GutIntestine (mL).
C CONSTS(44) is C_LI in component Liver (capacitance).
C CONSTS(45) is R_LI in component Liver (resistance).
C CONSTS(46) is R_LIV in component Liver (resistance).
C CONSTS(47) is V_LI_0 in component Liver (mL).
C STATES(21) is V_LI in component Liver (mL).
C ALGBRC(50) is F_LIV in component Liver (flow).
C ALGBRC(33) is conc_X_LI in component Liver (concentration).
C STATES(22) is sub_X_LI in component Liver (mL).
C CONSTS(48) is metabolism in component Liver (flow).
C CONSTS(49) is C_KI in component Kidney (capacitance).
C CONSTS(50) is R_KI in component Kidney (resistance).
C CONSTS(51) is V_KI_0 in component Kidney (mL).
C CONSTS(52) is R_KIV in component Kidney (resistance).
C STATES(23) is V_KI in component Kidney (mL).
C ALGBRC(51) is F_KIV in component Kidney (flow).
C ALGBRC(38) is P_KI in component Kidney (mmHg).
C ALGBRC(37) is conc_X_KI in component Kidney (concentration).
C STATES(24) is sub_X_KI in component Kidney (mL).
C CONSTS(53) is C_SK in component Skin (capacitance).
C CONSTS(54) is R_SK in component Skin (resistance).
C CONSTS(55) is R_SKV in component Skin (resistance).
C CONSTS(56) is V_SK_0 in component Skin (mL).
C STATES(25) is V_SK in component Skin (mL).
C ALGBRC(52) is F_SKV in component Skin (flow).
C ALGBRC(41) is P_SK in component Skin (mmHg).
C ALGBRC(40) is conc_X_SK in component Skin (concentration).
C STATES(26) is sub_X_SK in component Skin (mL).
C CONSTS(57) is C_OT in component OtherTissue (capacitance).
C CONSTS(58) is R_OT in component OtherTissue (resistance).
C CONSTS(59) is R_OTV in component OtherTissue (resistance).
C CONSTS(60) is V_OT_0 in component OtherTissue (mL).
C STATES(27) is V_OT in component OtherTissue (mL).
C ALGBRC(53) is F_OTV in component OtherTissue (flow).
C ALGBRC(44) is P_OT in component OtherTissue (mmHg).
C ALGBRC(43) is conc_X_OT in component OtherTissue (concentration).
C STATES(28) is sub_X_OT in component OtherTissue (mL).
C CONSTS(61) is R_VEV in component Veins (resistance).
C STATES(29) is V_VE in component Veins (mL).
C CONSTS(62) is C_VE in component Veins (capacitance).
C CONSTS(63) is V_VE_0 in component Veins (mL).
C ALGBRC(54) is F_VE in component Veins (flow).
C ALGBRC(58) is F_VEV in component Veins (flow).
C ALGBRC(46) is conc_X_VE in component Veins (concentration).
C STATES(30) is sub_X_VE in component Veins (mL).
C CONSTS(64) is R_VCV in component VenaCava (resistance).
C STATES(31) is V_VC in component VenaCava (mL).
C CONSTS(65) is V_VC_0 in component VenaCava (mL).
C CONSTS(66) is C_VC in component VenaCava (capacitance).
C ALGBRC(59) is F_VC in component VenaCava (flow).
C ALGBRC(65) is F_VCV in component VenaCava (flow).
C ALGBRC(55) is conc_X_VC in component VenaCava (concentration).
C STATES(32) is sub_X_VC in component VenaCava (mL).
C ALGBRC(60) is beattime in component RATiming (ms).
C CONSTS(67) is Esys in component RAElastanceFunction (elastance).
C CONSTS(68) is Edia in component RAElastanceFunction (elastance).
C CONSTS(69) is TsK in component RAElastanceFunction (second).
C CONSTS(95) is Ts in component RAElastanceFunction (second).
C ALGBRC(61) is E_RA in component RAElastanceFunction (elastance).
C ALGBRC(71) is F_RV in component RightVentricle (flow).
C CONSTS(70) is P_RA_ext in component RightAtrium (mmHg).
C STATES(33) is V_RA in component RightAtrium (mL).
C CONSTS(71) is V_RA_0 in component RightAtrium (mL).
C ALGBRC(66) is F_RA in component RightAtrium (flow).
C ALGBRC(62) is conc_X_RA in component RightAtrium (concentration).
C STATES(34) is sub_X_RA in component RightAtrium (mL).
C CONSTS(72) is PRinterval in component RVTiming (second).
C ALGBRC(67) is beattime in component RVTiming (ms).
C CONSTS(73) is Esys in component RVElastanceFunction (elastance).
C CONSTS(74) is Edia in component RVElastanceFunction (elastance).
C CONSTS(75) is TsK in component RVElastanceFunction (second).
C CONSTS(96) is Ts in component RVElastanceFunction (second).
C ALGBRC(68) is E_RV in component RVElastanceFunction (elastance).
C ALGBRC(74) is F_PA in component PulmonaryArtery (flow).
C CONSTS(76) is P_RV_ext in component RightVentricle (mmHg).
C STATES(35) is V_RV in component RightVentricle (mL).
C CONSTS(77) is V_RV_0 in component RightVentricle (mL).
C ALGBRC(70) is P_RV in component RightVentricle (mmHg).
C CONSTS(78) is R_RV in component RightVentricle (resistance).
C ALGBRC(69) is conc_X_RV in component RightVentricle (concentration).
C STATES(36) is sub_X_RV in component RightVentricle (mL).
C ALGBRC(77) is F_Pa in component PulmonaryArteries (flow).
C CONSTS(79) is R_PA in component PulmonaryArtery (resistance).
C CONSTS(80) is C_PA in component PulmonaryArtery (capacitance).
C CONSTS(81) is V_PA_0 in component PulmonaryArtery (mL).
C STATES(37) is V_PA in component PulmonaryArtery (mL).
C ALGBRC(73) is P_PA in component PulmonaryArtery (mmHg).
C ALGBRC(72) is conc_X_PA in component PulmonaryArtery (concentration).
C STATES(38) is sub_X_PA in component PulmonaryArtery (mL).
C ALGBRC(81) is F_PC in component PulmonaryCapillaries (flow).
C ALGBRC(80) is F_SH in component Shunt (flow).
C STATES(39) is V_Pa in component PulmonaryArteries (mL).
C CONSTS(82) is C_Pa in component PulmonaryArteries (capacitance).
C CONSTS(83) is R_Pa in component PulmonaryArteries (resistance).
C CONSTS(84) is V_Pa_0 in component PulmonaryArteries (mL).
C ALGBRC(76) is P_Pa in component PulmonaryArteries (mmHg).
C ALGBRC(75) is conc_X_Pa in component PulmonaryArteries (concentration).
C STATES(40) is sub_X_Pa in component PulmonaryArteries (mL).
C CONSTS(85) is R_SH in component Shunt (resistance).
C ALGBRC(79) is P_PC in component PulmonaryCapillaries (mmHg).
C CONSTS(86) is C_PC in component PulmonaryCapillaries (capacitance).
C CONSTS(87) is R_PC in component PulmonaryCapillaries (resistance).
C CONSTS(88) is R_PCV in component PulmonaryCapillaries (resistance).
C CONSTS(89) is V_PC_0 in component PulmonaryCapillaries (mL).
C STATES(41) is V_PC in component PulmonaryCapillaries (mL).
C ALGBRC(85) is F_PCV in component PulmonaryCapillaries (flow).
C ALGBRC(78) is conc_X_PC in component PulmonaryCapillaries (concentration).
C STATES(42) is sub_X_PC in component PulmonaryCapillaries (mL).
C CONSTS(90) is C_PV in component PulmonaryVein (capacitance).
C CONSTS(91) is V_PV_0 in component PulmonaryVein (mL).
C STATES(43) is V_PV in component PulmonaryVein (mL).
C ALGBRC(86) is F_PV in component PulmonaryVein (flow).
C STATES(44) is sub_X_PV in component PulmonaryVein (mL).
C RATES(2) is d/dt sub_X_LA in component LeftAtrium (mL).
C RATES(1) is d/dt V_LA in component LeftAtrium (mL).
C RATES(4) is d/dt sub_X_LV in component LeftVentricle (mL).
C RATES(3) is d/dt V_LV in component LeftVentricle (mL).
C RATES(7) is d/dt sub_X_AO in component Aorta (mL).
C RATES(6) is d/dt F_AOalways in component Aorta (flow).
C RATES(5) is d/dt V_AO in component Aorta (mL).
C RATES(9) is d/dt sub_X_CO in component CoronaryCirc (mL).
C RATES(8) is d/dt V_CO in component CoronaryCirc (mL).
C RATES(12) is d/dt sub_X_CRtissue in component CarotidCirc (mL).
C RATES(11) is d/dt sub_X_CR in component CarotidCirc (mL).
C RATES(10) is d/dt V_CR in component CarotidCirc (mL).
C RATES(14) is d/dt sub_X_AR in component Arteries (mL).
C RATES(13) is d/dt V_AR in component Arteries (mL).
C RATES(16) is d/dt sub_X_AD in component Adipose (mL).
C RATES(15) is d/dt V_AD in component Adipose (mL).
C RATES(18) is d/dt sub_X_MU in component Muscle (mL).
C RATES(17) is d/dt V_MU in component Muscle (mL).
C RATES(20) is d/dt sub_X_GI in component GutIntestine (mL).
C RATES(19) is d/dt V_GI in component GutIntestine (mL).
C RATES(22) is d/dt sub_X_LI in component Liver (mL).
C RATES(21) is d/dt V_LI in component Liver (mL).
C RATES(24) is d/dt sub_X_KI in component Kidney (mL).
C RATES(23) is d/dt V_KI in component Kidney (mL).
C RATES(26) is d/dt sub_X_SK in component Skin (mL).
C RATES(25) is d/dt V_SK in component Skin (mL).
C RATES(28) is d/dt sub_X_OT in component OtherTissue (mL).
C RATES(27) is d/dt V_OT in component OtherTissue (mL).
C RATES(30) is d/dt sub_X_VE in component Veins (mL).
C RATES(29) is d/dt V_VE in component Veins (mL).
C RATES(32) is d/dt sub_X_VC in component VenaCava (mL).
C RATES(31) is d/dt V_VC in component VenaCava (mL).
C RATES(34) is d/dt sub_X_RA in component RightAtrium (mL).
C RATES(33) is d/dt V_RA in component RightAtrium (mL).
C RATES(36) is d/dt sub_X_RV in component RightVentricle (mL).
C RATES(35) is d/dt V_RV in component RightVentricle (mL).
C RATES(38) is d/dt sub_X_PA in component PulmonaryArtery (mL).
C RATES(37) is d/dt V_PA in component PulmonaryArtery (mL).
C RATES(40) is d/dt sub_X_Pa in component PulmonaryArteries (mL).
C RATES(39) is d/dt V_Pa in component PulmonaryArteries (mL).
C RATES(42) is d/dt sub_X_PC in component PulmonaryCapillaries (mL).
C RATES(41) is d/dt V_PC in component PulmonaryCapillaries (mL).
C RATES(44) is d/dt sub_X_PV in component PulmonaryVein (mL).
C RATES(43) is d/dt V_PV in component PulmonaryVein (mL).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 77
      CONSTS(2) = 0.145
      CONSTS(3) = 0.131
      CONSTS(4) = 0.2
      CONSTS(5) = 0
      STATES(1) = 144.038898121062
      CONSTS(6) = 15
      CONSTS(7) = 0.01
      STATES(2) = 0
      CONSTS(8) = 0.12
      CONSTS(9) = 5.6
      CONSTS(10) = 0.19
      CONSTS(11) = 0.35
      CONSTS(12) = 0
      STATES(3) = 118.75315693072
      CONSTS(13) = 30
      CONSTS(14) = 0.001
      STATES(4) = 0
      CONSTS(15) = 1.2
      CONSTS(16) = 5e-5
      CONSTS(17) = 0.01
      CONSTS(18) = 200
      STATES(5) = 302.714548324312
      STATES(6) = -6898.97886842467
      STATES(7) = 0
      CONSTS(19) = 1
      CONSTS(20) = 0.2
      CONSTS(21) = 10
      CONSTS(22) = 0.1
      STATES(8) = 11.4012164759732
      STATES(9) = 0
      CONSTS(23) = 5
      CONSTS(24) = 0.02
      CONSTS(25) = 10
      CONSTS(26) = 1
      STATES(10) = 27.2147903053333
      STATES(11) = 0
      CONSTS(27) = 1
      CONSTS(28) = 1
      STATES(12) = 0
      CONSTS(29) = 1.5
      CONSTS(30) = 0.5
      CONSTS(31) = 370
      STATES(13) = 383.557125288364
      STATES(14) = 0
      CONSTS(32) = 1.81
      CONSTS(33) = 1
      CONSTS(34) = 0.33
      CONSTS(35) = 75
      STATES(15) = 111.639088723426
      STATES(16) = 0
      CONSTS(36) = 1.81
      CONSTS(37) = 1
      CONSTS(38) = 0.33
      CONSTS(39) = 75
      STATES(17) = 111.639088723426
      STATES(18) = 0
      CONSTS(40) = 1.81
      CONSTS(41) = 1
      CONSTS(42) = 0.33
      CONSTS(43) = 75
      STATES(19) = 111.639088723426
      STATES(20) = 0
      CONSTS(44) = 1.81
      CONSTS(45) = 1
      CONSTS(46) = 0.33
      CONSTS(47) = 75
      STATES(21) = 111.639088723426
      STATES(22) = 0
      CONSTS(48) = 0
      CONSTS(49) = 1.81
      CONSTS(50) = 1
      CONSTS(51) = 75
      CONSTS(52) = 0.33
      STATES(23) = 111.639088723426
      STATES(24) = 0
      CONSTS(53) = 1.81
      CONSTS(54) = 1
      CONSTS(55) = 0.33
      CONSTS(56) = 75
      STATES(25) = 111.639088723426
      STATES(26) = 0
      CONSTS(57) = 1.81
      CONSTS(58) = 1
      CONSTS(59) = 0.33
      CONSTS(60) = 75
      STATES(27) = 111.639088723426
      STATES(28) = 0
      CONSTS(61) = 0.0223
      STATES(29) = 833.291684587657
      CONSTS(62) = 13.24
      CONSTS(63) = 596
      STATES(30) = 5
      CONSTS(64) = 0.0267
      STATES(31) = 1849.93788284599
      CONSTS(65) = 600
      CONSTS(66) = 73.88
      STATES(32) = 0
      CONSTS(67) = 0.11
      CONSTS(68) = 0.099
      CONSTS(69) = 0.2
      CONSTS(70) = 0
      STATES(33) = 152.150765432928
      CONSTS(71) = 15
      STATES(34) = 0
      CONSTS(72) = 0.12
      CONSTS(73) = 0.67
      CONSTS(74) = 0.104
      CONSTS(75) = 0.35
      CONSTS(76) = 0
      STATES(35) = 154.337916417774
      CONSTS(77) = 25
      CONSTS(78) = 0.002
      STATES(36) = 0
      CONSTS(79) = 0.0227
      CONSTS(80) = 2.222
      CONSTS(81) = 50
      STATES(37) = 112.059036699839
      STATES(38) = 0
      STATES(39) = 66.9910537203609
      CONSTS(82) = 1.481
      CONSTS(83) = 0.053
      CONSTS(84) = 30
      STATES(40) = 0
      CONSTS(85) = 2
      CONSTS(86) = 1.778
      CONSTS(87) = 0.0379
      CONSTS(88) = 0.0379
      CONSTS(89) = 53
      STATES(41) = 91.7784213531534
      STATES(42) = 0
      CONSTS(90) = 5
      CONSTS(91) = 150
      STATES(43) = 239.25897115602
      STATES(44) = 0
      CONSTS(92) = CONSTS(1)/0.0600000
      CONSTS(93) =  CONSTS(4)* (CONSTS(92)/1000.00) ** (1.0 / 2)
      CONSTS(94) =  CONSTS(11)* (CONSTS(92)/1000.00) ** (1.0 / 2)
      CONSTS(95) =  CONSTS(69)* (CONSTS(92)/1000.00) ** (1.0 / 2)
      CONSTS(96) =  CONSTS(75)* (CONSTS(92)/1000.00) ** (1.0 / 2)
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00 - CONSTS(8)
      ALGBRC(6) = TERNRY(ALGBRC(5)*0.00100000.GE.0.00000.AND.ALGBRC(5)*0.00100000.LE.CONSTS(94), CONSTS(10)+( (CONSTS(9) - CONSTS(10))*(1.00000 - cos((  3.14159265358979*(ALGBRC(5)*0.00100000))/CONSTS(94))))/2.00000, TERNRY(ALGBRC(5)*0.00100000.LT. 1.50000*CONSTS(94).AND.ALGBRC(5)*0.00100000.GE.CONSTS(94), CONSTS(10)+( (CONSTS(9) - CONSTS(10))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(5)*0.00100000 - CONSTS(94)))/CONSTS(94))))/2.00000, CONSTS(10))
      ALGBRC(8) =  ALGBRC(6)*(STATES(3) - CONSTS(13))+CONSTS(12)
      ALGBRC(12) =  (1.00000/CONSTS(15))*(STATES(5) - CONSTS(18))
      RATES(6) = ( (1.00000/CONSTS(16))*(ALGBRC(8) - ALGBRC(12)) -  (CONSTS(17)/CONSTS(16))*STATES(6))/1000.00
      ALGBRC(1) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00
      ALGBRC(2) = TERNRY(ALGBRC(1).GE.0.00000.AND.ALGBRC(1).LE.CONSTS(93), CONSTS(3)+( (CONSTS(2) - CONSTS(3))*(1.00000 - cos((  3.14159265358979*ALGBRC(1))/CONSTS(93))))/2.00000, TERNRY(ALGBRC(1).LT. 1.50000*CONSTS(93).AND.ALGBRC(1).GE.CONSTS(93), CONSTS(3)+( (CONSTS(2) - CONSTS(3))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(1) - CONSTS(93)))/CONSTS(93))))/2.00000, CONSTS(3))
      ALGBRC(4) =  ALGBRC(2)*(STATES(1) - CONSTS(6))+CONSTS(5)
      ALGBRC(10) = TERNRY(ALGBRC(4).GT.ALGBRC(8), (ALGBRC(4) - ALGBRC(8))/CONSTS(14), 0.00000)
      ALGBRC(3) = STATES(2)/STATES(1)
      ALGBRC(13) = TERNRY(ALGBRC(8).GT.ALGBRC(12), STATES(6), 0.00000)
      ALGBRC(15) =  (1.00000/CONSTS(22))*(STATES(8) - CONSTS(21))
      ALGBRC(16) = TERNRY(ALGBRC(8).GT.ALGBRC(15), (ALGBRC(8) - ALGBRC(15))/CONSTS(19), 0.00000)
      ALGBRC(7) = STATES(4)/STATES(3)
      RATES(4) = ( ALGBRC(3)*ALGBRC(10) -  ALGBRC(7)*(ALGBRC(13)+ALGBRC(16)))/1000.00
      RATES(3) = ((ALGBRC(10) - ALGBRC(13)) - ALGBRC(16))/1000.00
      ALGBRC(18) = STATES(11)/STATES(10)
      ALGBRC(17) = STATES(12)/CONSTS(28)
      RATES(12) = ( (ALGBRC(18) - ALGBRC(17))*CONSTS(27))/1000.00
      ALGBRC(19) =  (1.00000/CONSTS(26))*(STATES(10) - CONSTS(25))
      ALGBRC(20) = (ALGBRC(12) - ALGBRC(19))/CONSTS(23)
      ALGBRC(22) =  (1.00000/CONSTS(30))*(STATES(13) - CONSTS(31))
      ALGBRC(23) = (ALGBRC(12) - ALGBRC(22))/CONSTS(29)
      ALGBRC(11) = STATES(7)/STATES(5)
      RATES(7) = ( ALGBRC(7)*ALGBRC(13) -  ALGBRC(11)*(ALGBRC(20)+ALGBRC(23)))/1000.00
      RATES(5) = ((ALGBRC(13) - ALGBRC(23)) - ALGBRC(20))/1000.00
      ALGBRC(31) =  (1.00000/CONSTS(40))*(STATES(19) - CONSTS(43))
      ALGBRC(32) = (ALGBRC(22) - ALGBRC(31))/CONSTS(41)
      ALGBRC(21) = STATES(14)/STATES(13)
      ALGBRC(34) =  (1.00000/CONSTS(44))*(STATES(21) - CONSTS(47))
      ALGBRC(35) = (ALGBRC(31) - ALGBRC(34))/CONSTS(42)
      ALGBRC(30) = STATES(20)/STATES(19)
      RATES(20) = (( ALGBRC(21)*ALGBRC(32) -  ALGBRC(30)*ALGBRC(35))/1000.00)*0.00100000
      RATES(19) = ((ALGBRC(32) - ALGBRC(35))/1000.00)*0.00100000
      ALGBRC(25) =  (1.00000/CONSTS(32))*(STATES(15) - CONSTS(35))
      ALGBRC(26) = (ALGBRC(22) - ALGBRC(25))/CONSTS(33)
      ALGBRC(28) =  (1.00000/CONSTS(36))*(STATES(17) - CONSTS(39))
      ALGBRC(29) = (ALGBRC(22) - ALGBRC(28))/CONSTS(37)
      ALGBRC(36) = (ALGBRC(22) - ALGBRC(34))/CONSTS(45)
      ALGBRC(38) =  (1.00000/CONSTS(49))*(STATES(23) - CONSTS(51))
      ALGBRC(39) = (ALGBRC(22) - ALGBRC(38))/CONSTS(50)
      ALGBRC(44) =  (1.00000/CONSTS(57))*(STATES(27) - CONSTS(60))
      ALGBRC(45) = (ALGBRC(22) - ALGBRC(44))/CONSTS(58)
      ALGBRC(41) =  (1.00000/CONSTS(53))*(STATES(25) - CONSTS(56))
      ALGBRC(42) = (ALGBRC(22) - ALGBRC(41))/CONSTS(54)
      RATES(14) = ( ALGBRC(11)*ALGBRC(23) -  ALGBRC(21)*(ALGBRC(42)+ALGBRC(26)+ALGBRC(29)+ALGBRC(32)+ALGBRC(36)+ALGBRC(39)+ALGBRC(45)))/1000.00
      RATES(13) = (((((((ALGBRC(23) - ALGBRC(26)) - ALGBRC(29)) - ALGBRC(32)) - ALGBRC(36)) - ALGBRC(39)) - ALGBRC(45)) - ALGBRC(42))/1000.00
      ALGBRC(47) =  (1.00000/CONSTS(62))*(STATES(29) - CONSTS(63))
      ALGBRC(48) = (ALGBRC(25) - ALGBRC(47))/CONSTS(34)
      ALGBRC(24) = STATES(16)/STATES(15)
      RATES(16) = (( ALGBRC(21)*ALGBRC(26) -  ALGBRC(24)*ALGBRC(48))/1000.00)*0.00100000
      RATES(15) = ((ALGBRC(26) - ALGBRC(48))/1000.00)*0.00100000
      ALGBRC(49) = (ALGBRC(28) - ALGBRC(47))/CONSTS(38)
      ALGBRC(27) = STATES(18)/STATES(17)
      RATES(18) = (( ALGBRC(21)*ALGBRC(29) -  ALGBRC(27)*ALGBRC(49))/1000.00)*0.00100000
      RATES(17) = ((ALGBRC(29) - ALGBRC(49))/1000.00)*0.00100000
      ALGBRC(50) = (ALGBRC(34) - ALGBRC(47))/CONSTS(46)
      ALGBRC(33) = STATES(22)/STATES(21)
      RATES(22) = (((( ALGBRC(30)*ALGBRC(35)+ ALGBRC(21)*ALGBRC(36)) -  ALGBRC(33)*ALGBRC(50))+ ALGBRC(33)*CONSTS(48))/1000.00)*0.00100000
      RATES(21) = (((ALGBRC(35)+ALGBRC(36)) - ALGBRC(50))/1000.00)*0.00100000
      ALGBRC(51) = (ALGBRC(38) - ALGBRC(47))/CONSTS(52)
      ALGBRC(37) = STATES(24)/STATES(23)
      RATES(24) = (( ALGBRC(21)*ALGBRC(39) -  ALGBRC(37)*ALGBRC(51))/1000.00)*0.00100000
      RATES(23) = ((ALGBRC(39) - ALGBRC(51))/1000.00)*0.00100000
      ALGBRC(52) = (ALGBRC(41) - ALGBRC(47))/CONSTS(55)
      ALGBRC(40) = STATES(26)/STATES(25)
      RATES(26) = (( ALGBRC(21)*ALGBRC(42) -  ALGBRC(40)*ALGBRC(52))/1000.00)*0.00100000
      RATES(25) = ((ALGBRC(42) - ALGBRC(52))/1000.00)*0.00100000
      ALGBRC(53) = (ALGBRC(44) - ALGBRC(47))/CONSTS(59)
      ALGBRC(43) = STATES(28)/STATES(27)
      RATES(28) = (( ALGBRC(21)*ALGBRC(45) -  ALGBRC(43)*ALGBRC(53))/1000.00)*0.00100000
      RATES(27) = ((ALGBRC(45) - ALGBRC(53))/1000.00)*0.00100000
      ALGBRC(56) =  (1.00000/CONSTS(66))*(STATES(31) - CONSTS(65))
      ALGBRC(57) = (ALGBRC(19) - ALGBRC(56))/CONSTS(24)
      RATES(11) = (( ALGBRC(11)*ALGBRC(20) -  ALGBRC(18)*ALGBRC(57)) -  (ALGBRC(18) - ALGBRC(17))*CONSTS(27))/1000.00
      RATES(10) = (ALGBRC(20) - ALGBRC(57))/1000.00
      ALGBRC(58) = (ALGBRC(47) - ALGBRC(56))/CONSTS(61)
      ALGBRC(46) = STATES(30)/STATES(29)
      RATES(30) = (( ALGBRC(40)*ALGBRC(52)+ ALGBRC(24)*ALGBRC(48)+ ALGBRC(27)*ALGBRC(49)+ ALGBRC(33)*ALGBRC(50)+ ALGBRC(37)*ALGBRC(51)+ ALGBRC(43)*ALGBRC(53)) -  ALGBRC(46)*ALGBRC(58))/1000.00
      ALGBRC(54) = ALGBRC(52)+ALGBRC(48)+ALGBRC(49)+ALGBRC(50)+ALGBRC(51)+ALGBRC(53)
      RATES(29) = (ALGBRC(54) - ALGBRC(58))/1000.00
      ALGBRC(60) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00
      ALGBRC(61) = TERNRY(ALGBRC(60)*0.00100000.GE.0.00000.AND.ALGBRC(60)*0.00100000.LE.CONSTS(95), CONSTS(68)+( (CONSTS(67) - CONSTS(68))*(1.00000 - cos((  3.14159265358979*(ALGBRC(60)*0.00100000))/CONSTS(95))))/2.00000, TERNRY(ALGBRC(60)*0.00100000.LT. 1.50000*CONSTS(95).AND.ALGBRC(60)*0.00100000.GE.CONSTS(95), CONSTS(68)+( (CONSTS(67) - CONSTS(68))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(60)*0.00100000 - CONSTS(95)))/CONSTS(95))))/2.00000, CONSTS(68))
      ALGBRC(63) =  ALGBRC(61)*(STATES(33) - CONSTS(71))+CONSTS(70)
      ALGBRC(64) = (ALGBRC(15) - ALGBRC(63))/CONSTS(20)
      ALGBRC(14) = STATES(9)/STATES(8)
      RATES(9) = ( ALGBRC(7)*ALGBRC(16) -  ALGBRC(14)*ALGBRC(64))/1000.00
      RATES(8) = (ALGBRC(16) - ALGBRC(64))/1000.00
      ALGBRC(65) = (ALGBRC(56) - ALGBRC(63))/CONSTS(64)
      ALGBRC(55) = STATES(32)/STATES(31)
      RATES(32) = (( ALGBRC(46)*ALGBRC(58)+ ALGBRC(18)*ALGBRC(57)) -  ALGBRC(55)*ALGBRC(65))/1000.00
      ALGBRC(59) = ALGBRC(57)+ALGBRC(58)
      RATES(31) = (ALGBRC(59) - ALGBRC(65))/1000.00
      ALGBRC(67) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00 - CONSTS(72)
      ALGBRC(68) = TERNRY(ALGBRC(67)*0.00100000.GE.0.00000.AND.ALGBRC(67)*0.00100000.LE.CONSTS(96), CONSTS(74)+( (CONSTS(73) - CONSTS(74))*(1.00000 - cos((  3.14159265358979*(ALGBRC(67)*0.00100000))/CONSTS(96))))/2.00000, TERNRY(ALGBRC(67)*0.00100000.LT. 1.50000*CONSTS(96).AND.ALGBRC(67)*0.00100000.GE.CONSTS(96), CONSTS(74)+( (CONSTS(73) - CONSTS(74))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(67)*0.00100000 - CONSTS(96)))/CONSTS(96))))/2.00000, CONSTS(74))
      ALGBRC(70) =  ALGBRC(68)*(STATES(35) - CONSTS(77))+CONSTS(76)
      ALGBRC(71) = TERNRY(ALGBRC(63).GT.ALGBRC(70), (ALGBRC(63) - ALGBRC(70))/CONSTS(78), 0.00000)
      ALGBRC(62) = STATES(34)/STATES(33)
      RATES(34) = (( ALGBRC(55)*ALGBRC(65)+ ALGBRC(14)*ALGBRC(64)) -  ALGBRC(62)*ALGBRC(71))/1000.00
      ALGBRC(66) = ALGBRC(65)+ALGBRC(64)
      RATES(33) = (ALGBRC(66) - ALGBRC(71))/1000.00
      ALGBRC(73) =  (1.00000/CONSTS(80))*(STATES(37) - CONSTS(81))
      ALGBRC(74) = TERNRY(ALGBRC(70).GT.ALGBRC(73), (ALGBRC(70) - ALGBRC(73))/CONSTS(79), 0.00000)
      ALGBRC(69) = STATES(36)/STATES(35)
      RATES(36) = ( ALGBRC(62)*ALGBRC(71) -  ALGBRC(69)*ALGBRC(74))/1000.00
      RATES(35) = (ALGBRC(71) - ALGBRC(74))/1000.00
      ALGBRC(76) =  (1.00000/CONSTS(82))*(STATES(39) - CONSTS(84))
      ALGBRC(77) = (ALGBRC(73) - ALGBRC(76))/CONSTS(83)
      ALGBRC(72) = STATES(38)/STATES(37)
      RATES(38) = ( ALGBRC(69)*ALGBRC(74) -  ALGBRC(72)*ALGBRC(77))/1000.00
      RATES(37) = (ALGBRC(74) - ALGBRC(77))/1000.00
      ALGBRC(79) =  (1.00000/CONSTS(86))*(STATES(41) - CONSTS(89))
      ALGBRC(81) = (ALGBRC(76) - ALGBRC(79))/CONSTS(87)
      ALGBRC(80) = (ALGBRC(76) - ALGBRC(79))/CONSTS(85)
      ALGBRC(75) = STATES(40)/STATES(39)
      RATES(40) = ( ALGBRC(72)*ALGBRC(77) -  ALGBRC(75)*(ALGBRC(81)+ALGBRC(80)))/1000.00
      RATES(39) = ((ALGBRC(77) - ALGBRC(81)) - ALGBRC(80))/1000.00
      ALGBRC(83) =  (1.00000/CONSTS(90))*(STATES(43) - CONSTS(91))
      ALGBRC(84) = (ALGBRC(83) - ALGBRC(4))/CONSTS(7)
      ALGBRC(82) = STATES(44)/STATES(43)
      RATES(2) = ( ALGBRC(82)*ALGBRC(84) -  ALGBRC(3)*ALGBRC(10))/1000.00
      RATES(1) = (ALGBRC(84) - ALGBRC(10))/1000.00
      ALGBRC(85) = (ALGBRC(79) - ALGBRC(83))/CONSTS(88)
      ALGBRC(78) = STATES(42)/STATES(41)
      RATES(42) = ( ALGBRC(75)*ALGBRC(81) -  ALGBRC(78)*ALGBRC(85))/1000.00
      RATES(41) = (ALGBRC(81) - ALGBRC(85))/1000.00
      RATES(44) = (( ALGBRC(78)*ALGBRC(85)+ ALGBRC(75)*ALGBRC(80)) -  ALGBRC(82)*ALGBRC(84))/1000.00
      ALGBRC(86) = ALGBRC(85)+ALGBRC(80)
      RATES(43) = (ALGBRC(86) - ALGBRC(84))/1000.00
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(5) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00 - CONSTS(8)
      ALGBRC(6) = TERNRY(ALGBRC(5)*0.00100000.GE.0.00000.AND.ALGBRC(5)*0.00100000.LE.CONSTS(94), CONSTS(10)+( (CONSTS(9) - CONSTS(10))*(1.00000 - cos((  3.14159265358979*(ALGBRC(5)*0.00100000))/CONSTS(94))))/2.00000, TERNRY(ALGBRC(5)*0.00100000.LT. 1.50000*CONSTS(94).AND.ALGBRC(5)*0.00100000.GE.CONSTS(94), CONSTS(10)+( (CONSTS(9) - CONSTS(10))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(5)*0.00100000 - CONSTS(94)))/CONSTS(94))))/2.00000, CONSTS(10))
      ALGBRC(8) =  ALGBRC(6)*(STATES(3) - CONSTS(13))+CONSTS(12)
      ALGBRC(12) =  (1.00000/CONSTS(15))*(STATES(5) - CONSTS(18))
      ALGBRC(1) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00
      ALGBRC(2) = TERNRY(ALGBRC(1).GE.0.00000.AND.ALGBRC(1).LE.CONSTS(93), CONSTS(3)+( (CONSTS(2) - CONSTS(3))*(1.00000 - cos((  3.14159265358979*ALGBRC(1))/CONSTS(93))))/2.00000, TERNRY(ALGBRC(1).LT. 1.50000*CONSTS(93).AND.ALGBRC(1).GE.CONSTS(93), CONSTS(3)+( (CONSTS(2) - CONSTS(3))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(1) - CONSTS(93)))/CONSTS(93))))/2.00000, CONSTS(3))
      ALGBRC(4) =  ALGBRC(2)*(STATES(1) - CONSTS(6))+CONSTS(5)
      ALGBRC(10) = TERNRY(ALGBRC(4).GT.ALGBRC(8), (ALGBRC(4) - ALGBRC(8))/CONSTS(14), 0.00000)
      ALGBRC(3) = STATES(2)/STATES(1)
      ALGBRC(13) = TERNRY(ALGBRC(8).GT.ALGBRC(12), STATES(6), 0.00000)
      ALGBRC(15) =  (1.00000/CONSTS(22))*(STATES(8) - CONSTS(21))
      ALGBRC(16) = TERNRY(ALGBRC(8).GT.ALGBRC(15), (ALGBRC(8) - ALGBRC(15))/CONSTS(19), 0.00000)
      ALGBRC(7) = STATES(4)/STATES(3)
      ALGBRC(18) = STATES(11)/STATES(10)
      ALGBRC(17) = STATES(12)/CONSTS(28)
      ALGBRC(19) =  (1.00000/CONSTS(26))*(STATES(10) - CONSTS(25))
      ALGBRC(20) = (ALGBRC(12) - ALGBRC(19))/CONSTS(23)
      ALGBRC(22) =  (1.00000/CONSTS(30))*(STATES(13) - CONSTS(31))
      ALGBRC(23) = (ALGBRC(12) - ALGBRC(22))/CONSTS(29)
      ALGBRC(11) = STATES(7)/STATES(5)
      ALGBRC(31) =  (1.00000/CONSTS(40))*(STATES(19) - CONSTS(43))
      ALGBRC(32) = (ALGBRC(22) - ALGBRC(31))/CONSTS(41)
      ALGBRC(21) = STATES(14)/STATES(13)
      ALGBRC(34) =  (1.00000/CONSTS(44))*(STATES(21) - CONSTS(47))
      ALGBRC(35) = (ALGBRC(31) - ALGBRC(34))/CONSTS(42)
      ALGBRC(30) = STATES(20)/STATES(19)
      ALGBRC(25) =  (1.00000/CONSTS(32))*(STATES(15) - CONSTS(35))
      ALGBRC(26) = (ALGBRC(22) - ALGBRC(25))/CONSTS(33)
      ALGBRC(28) =  (1.00000/CONSTS(36))*(STATES(17) - CONSTS(39))
      ALGBRC(29) = (ALGBRC(22) - ALGBRC(28))/CONSTS(37)
      ALGBRC(36) = (ALGBRC(22) - ALGBRC(34))/CONSTS(45)
      ALGBRC(38) =  (1.00000/CONSTS(49))*(STATES(23) - CONSTS(51))
      ALGBRC(39) = (ALGBRC(22) - ALGBRC(38))/CONSTS(50)
      ALGBRC(44) =  (1.00000/CONSTS(57))*(STATES(27) - CONSTS(60))
      ALGBRC(45) = (ALGBRC(22) - ALGBRC(44))/CONSTS(58)
      ALGBRC(41) =  (1.00000/CONSTS(53))*(STATES(25) - CONSTS(56))
      ALGBRC(42) = (ALGBRC(22) - ALGBRC(41))/CONSTS(54)
      ALGBRC(47) =  (1.00000/CONSTS(62))*(STATES(29) - CONSTS(63))
      ALGBRC(48) = (ALGBRC(25) - ALGBRC(47))/CONSTS(34)
      ALGBRC(24) = STATES(16)/STATES(15)
      ALGBRC(49) = (ALGBRC(28) - ALGBRC(47))/CONSTS(38)
      ALGBRC(27) = STATES(18)/STATES(17)
      ALGBRC(50) = (ALGBRC(34) - ALGBRC(47))/CONSTS(46)
      ALGBRC(33) = STATES(22)/STATES(21)
      ALGBRC(51) = (ALGBRC(38) - ALGBRC(47))/CONSTS(52)
      ALGBRC(37) = STATES(24)/STATES(23)
      ALGBRC(52) = (ALGBRC(41) - ALGBRC(47))/CONSTS(55)
      ALGBRC(40) = STATES(26)/STATES(25)
      ALGBRC(53) = (ALGBRC(44) - ALGBRC(47))/CONSTS(59)
      ALGBRC(43) = STATES(28)/STATES(27)
      ALGBRC(56) =  (1.00000/CONSTS(66))*(STATES(31) - CONSTS(65))
      ALGBRC(57) = (ALGBRC(19) - ALGBRC(56))/CONSTS(24)
      ALGBRC(58) = (ALGBRC(47) - ALGBRC(56))/CONSTS(61)
      ALGBRC(46) = STATES(30)/STATES(29)
      ALGBRC(54) = ALGBRC(52)+ALGBRC(48)+ALGBRC(49)+ALGBRC(50)+ALGBRC(51)+ALGBRC(53)
      ALGBRC(60) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00
      ALGBRC(61) = TERNRY(ALGBRC(60)*0.00100000.GE.0.00000.AND.ALGBRC(60)*0.00100000.LE.CONSTS(95), CONSTS(68)+( (CONSTS(67) - CONSTS(68))*(1.00000 - cos((  3.14159265358979*(ALGBRC(60)*0.00100000))/CONSTS(95))))/2.00000, TERNRY(ALGBRC(60)*0.00100000.LT. 1.50000*CONSTS(95).AND.ALGBRC(60)*0.00100000.GE.CONSTS(95), CONSTS(68)+( (CONSTS(67) - CONSTS(68))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(60)*0.00100000 - CONSTS(95)))/CONSTS(95))))/2.00000, CONSTS(68))
      ALGBRC(63) =  ALGBRC(61)*(STATES(33) - CONSTS(71))+CONSTS(70)
      ALGBRC(64) = (ALGBRC(15) - ALGBRC(63))/CONSTS(20)
      ALGBRC(14) = STATES(9)/STATES(8)
      ALGBRC(65) = (ALGBRC(56) - ALGBRC(63))/CONSTS(64)
      ALGBRC(55) = STATES(32)/STATES(31)
      ALGBRC(59) = ALGBRC(57)+ALGBRC(58)
      ALGBRC(67) = (VOI -  INT(VOI/CONSTS(92))*CONSTS(92))/1000.00 - CONSTS(72)
      ALGBRC(68) = TERNRY(ALGBRC(67)*0.00100000.GE.0.00000.AND.ALGBRC(67)*0.00100000.LE.CONSTS(96), CONSTS(74)+( (CONSTS(73) - CONSTS(74))*(1.00000 - cos((  3.14159265358979*(ALGBRC(67)*0.00100000))/CONSTS(96))))/2.00000, TERNRY(ALGBRC(67)*0.00100000.LT. 1.50000*CONSTS(96).AND.ALGBRC(67)*0.00100000.GE.CONSTS(96), CONSTS(74)+( (CONSTS(73) - CONSTS(74))*(1.00000+cos(( 2.00000* 3.14159265358979*(ALGBRC(67)*0.00100000 - CONSTS(96)))/CONSTS(96))))/2.00000, CONSTS(74))
      ALGBRC(70) =  ALGBRC(68)*(STATES(35) - CONSTS(77))+CONSTS(76)
      ALGBRC(71) = TERNRY(ALGBRC(63).GT.ALGBRC(70), (ALGBRC(63) - ALGBRC(70))/CONSTS(78), 0.00000)
      ALGBRC(62) = STATES(34)/STATES(33)
      ALGBRC(66) = ALGBRC(65)+ALGBRC(64)
      ALGBRC(73) =  (1.00000/CONSTS(80))*(STATES(37) - CONSTS(81))
      ALGBRC(74) = TERNRY(ALGBRC(70).GT.ALGBRC(73), (ALGBRC(70) - ALGBRC(73))/CONSTS(79), 0.00000)
      ALGBRC(69) = STATES(36)/STATES(35)
      ALGBRC(76) =  (1.00000/CONSTS(82))*(STATES(39) - CONSTS(84))
      ALGBRC(77) = (ALGBRC(73) - ALGBRC(76))/CONSTS(83)
      ALGBRC(72) = STATES(38)/STATES(37)
      ALGBRC(79) =  (1.00000/CONSTS(86))*(STATES(41) - CONSTS(89))
      ALGBRC(81) = (ALGBRC(76) - ALGBRC(79))/CONSTS(87)
      ALGBRC(80) = (ALGBRC(76) - ALGBRC(79))/CONSTS(85)
      ALGBRC(75) = STATES(40)/STATES(39)
      ALGBRC(83) =  (1.00000/CONSTS(90))*(STATES(43) - CONSTS(91))
      ALGBRC(84) = (ALGBRC(83) - ALGBRC(4))/CONSTS(7)
      ALGBRC(82) = STATES(44)/STATES(43)
      ALGBRC(85) = (ALGBRC(79) - ALGBRC(83))/CONSTS(88)
      ALGBRC(78) = STATES(42)/STATES(41)
      ALGBRC(86) = ALGBRC(85)+ALGBRC(80)
      ALGBRC(9) =  ALGBRC(8)*(1.00000+( 3.00000*STATES(3))/200.000)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END