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 37 entries in the algebraic variable array.
C There are a total of 20 entries in each of the rate and state variable arrays.
C There are a total of 144 entries in the constant variable array.
C
C
C VOI is time in component environment (hour).
C ALGBRC(5) is V_K in component membrane (nanoM).
C ALGBRC(37) is fr in component membrane (hertz).
C ALGBRC(1) is v_sPC in component membrane (flux).
C ALGBRC(25) is Res in component membrane (gigaohm).
C ALGBRC(19) is V_rest in component membrane (milliV).
C ALGBRC(24) is V_reset in component membrane (milliV).
C CONSTS(1) is V_theta in component membrane (milliV).
C CONSTS(2) is Cm in component membrane (nanoF).
C CONSTS(3) is R in component membrane (joule_per_mole_kelvin).
C CONSTS(4) is T in component membrane (kelvin).
C CONSTS(5) is T_abs in component membrane (kelvin).
C CONSTS(6) is T_room in component membrane (kelvin).
C CONSTS(7) is F in component membrane (coulomb_per_mole).
C ALGBRC(6) is alpha in component membrane (dimensionless).
C ALGBRC(2) is beta in component membrane (dimensionless).
C ALGBRC(16) is beta_a in component membrane (dimensionless).
C ALGBRC(17) is c in component membrane (dimensionless).
C CONSTS(8) is P_Ca in component membrane (per_milliM).
C ALGBRC(3) is P_K in component membrane (per_milliM).
C CONSTS(9) is P_Na in component membrane (per_milliM).
C CONSTS(10) is P_Cl in component membrane (per_milliM).
C CONSTS(11) is v_PK in component membrane (per_milliM).
C CONSTS(12) is npk in component membrane (dimensionless).
C CONSTS(13) is K_PK in component membrane (per_nanoM2).
C CONSTS(14) is V_R in component membrane (gigaohm).
C CONSTS(15) is K_R in component membrane (milliV).
C CONSTS(16) is Ca_ex in component membrane (microM).
C CONSTS(17) is Na_ex in component membrane (milliM).
C CONSTS(18) is K_ex in component membrane (milliM).
C CONSTS(19) is Cl_ex in component membrane (milliM).
C CONSTS(143) is Na_in in component membrane (milliM).
C CONSTS(140) is K_in in component membrane (milliM).
C CONSTS(142) is theta_Na in component membrane (dimensionless).
C CONSTS(139) is theta_K in component membrane (dimensionless).
C CONSTS(20) is E_Na_0 in component membrane (milliV).
C CONSTS(141) is E_Na in component membrane (milliV).
C CONSTS(21) is g_Na in component membrane (nanoS).
C ALGBRC(8) is E_Ca in component membrane (milliV).
C ALGBRC(12) is g_Ca in component membrane (nanoS).
C ALGBRC(10) is g_K in component membrane (nanoS).
C CONSTS(22) is g_K0 in component membrane (nanoS).
C CONSTS(23) is v_gk in component membrane (nanoS).
C CONSTS(24) is K_gk in component membrane (nanoM).
C ALGBRC(13) is g_KCa in component membrane (nanoS).
C CONSTS(25) is v_KCa in component membrane (nanoS).
C CONSTS(26) is K_KCa in component membrane (per_nanoM).
C CONSTS(27) is nkca in component membrane (dimensionless).
C ALGBRC(30) is g_L in component membrane (nanoS).
C CONSTS(28) is E_L_0 in component membrane (milliV).
C CONSTS(144) is E_L in component membrane (milliV).
C CONSTS(29) is E_K_0 in component membrane (milliV).
C CONSTS(137) is E_K in component membrane (milliV).
C ALGBRC(31) is g_ex in component membrane (nanoS).
C CONSTS(30) is E_ex in component membrane (milliV).
C CONSTS(31) is v_ex1 in component membrane (nanoS).
C CONSTS(32) is v_ex2 in component membrane (nanoS).
C CONSTS(33) is K_ex1 in component membrane (picoA_2_5).
C CONSTS(34) is K_ex2 in component membrane (per_microM).
C CONSTS(35) is nex1 in component membrane (dimensionless).
C CONSTS(36) is nex2 in component membrane (dimensionless).
C CONSTS(37) is g_inhib in component membrane (nanoS).
C ALGBRC(26) is E_inhib in component membrane (milliV).
C ALGBRC(14) is GABA in component membrane (nanoM).
C CONSTS(38) is GABA0 in component membrane (nanoM).
C CONSTS(39) is v_GABA in component membrane (nanoM).
C CONSTS(40) is K_GABA in component membrane (nanoM).
C ALGBRC(15) is Cl_in in component membrane (milliM).
C CONSTS(41) is Cl0 in component membrane (milliM).
C CONSTS(42) is v_Cl1 in component membrane (milliM).
C CONSTS(43) is v_Cl2 in component membrane (milliM).
C CONSTS(44) is K_Cl1 in component membrane (nanoM).
C CONSTS(45) is K_Cl2 in component membrane (per_nanoM_0_2).
C CONSTS(46) is nCl in component membrane (dimensionless).
C ALGBRC(27) is i_Na in component membrane (picoA).
C ALGBRC(29) is i_Na_abs in component membrane (picoA).
C ALGBRC(21) is i_Ca in component membrane (picoA).
C ALGBRC(22) is i_K in component membrane (picoA).
C ALGBRC(23) is i_KCa in component membrane (picoA).
C ALGBRC(32) is i_L in component membrane (picoA).
C ALGBRC(33) is i_ex in component membrane (picoA).
C ALGBRC(28) is i_inhib in component membrane (picoA).
C ALGBRC(34) is I_star in component membrane (picoA).
C ALGBRC(35) is R_star in component membrane (milliohm).
C ALGBRC(36) is tau_m in component membrane (second).
C ALGBRC(20) is theta in component membrane (milliV).
C ALGBRC(18) is psi in component membrane (dimensionless).
C CONSTS(47) is k_q in component membrane (per_kelvin).
C CONSTS(48) is k_MK in component membrane (nanoM).
C CONSTS(49) is V_MK in component membrane (nanoM).
C CONSTS(50) is V_b in component membrane (nanoM).
C CONSTS(51) is k_b in component membrane (dimensionless).
C CONSTS(52) is K_D in component membrane (nanoM).
C CONSTS(53) is v_sP0 in component membrane (flux).
C CONSTS(54) is C_T in component membrane (flux).
C CONSTS(55) is nca in component membrane (dimensionless).
C CONSTS(56) is v_Ca in component membrane (nanoS).
C CONSTS(57) is K_Ca in component membrane (nanoM_2_2).
C CONSTS(58) is K_C in component membrane (nanoM).
C STATES(1) is Ca_in in component Ca_in (microM).
C STATES(2) is BC in component BC (nanoM).
C STATES(3) is MP in component MP (nanoM).
C STATES(4) is VIP in component VIP (nanoM).
C STATES(5) is CC in component CC (nanoM).
C STATES(6) is CB in component CB (nanoM).
C CONSTS(59) is beta_IP3 in component Ca_in (dimensionless).
C STATES(7) is Ca_store in component Ca_in (nanoM).
C ALGBRC(7) is v0 in component Ca_in (microM_per_hour).
C CONSTS(138) is v1 in component Ca_in (microM_per_hour).
C ALGBRC(9) is v2 in component Ca_in (microM_per_hour).
C ALGBRC(11) is v3 in component Ca_in (microM_per_hour).
C CONSTS(60) is v_kk in component Ca_in (per_microM_per_hour).
C CONSTS(61) is v_v0 in component Ca_in (microM_per_hour).
C CONSTS(62) is kf in component Ca_in (per_hour).
C ALGBRC(4) is k in component Ca_in (per_microM_per_hour).
C CONSTS(63) is nkk in component Ca_in (dimensionless).
C CONSTS(64) is nv0 in component Ca_in (dimensionless).
C CONSTS(65) is m in component Ca_in (dimensionless).
C CONSTS(66) is n in component Ca_in (dimensionless).
C CONSTS(67) is p in component Ca_in (dimensionless).
C CONSTS(68) is v in component Ca_in (dimensionless).
C CONSTS(69) is K_kk in component Ca_in (nanoM_0_1).
C CONSTS(70) is K_v0 in component Ca_in (nanoM_4_5).
C CONSTS(71) is K_2 in component Ca_in (microM).
C CONSTS(72) is K_R in component Ca_in (microM).
C CONSTS(73) is K_A in component Ca_in (microM).
C CONSTS(74) is v_M1 in component Ca_in (microM_per_hour).
C CONSTS(75) is v_M2 in component Ca_in (microM_per_hour).
C CONSTS(76) is v_M3 in component Ca_in (microM_per_hour).
C CONSTS(77) is v_VIP in component VIP (flux).
C CONSTS(78) is K_VIP in component VIP (hertz_1_9).
C CONSTS(79) is kd_VIP in component VIP (nanoM_0_8_per_hour).
C CONSTS(80) is nd_VIP in component VIP (dimensionless).
C CONSTS(81) is n_VIP in component VIP (dimensionless).
C CONSTS(82) is vmP in component MP (flux).
C CONSTS(83) is kdmp in component MP (first_order_rate_constant).
C CONSTS(84) is KAP in component MP (nanoM).
C CONSTS(85) is KmP in component MP (nanoM).
C CONSTS(86) is n in component model_parameters (dimensionless).
C STATES(8) is BN in component BN (nanoM).
C STATES(9) is MC in component MC (nanoM).
C CONSTS(87) is vsC in component MC (flux).
C CONSTS(88) is vmC in component MC (flux).
C CONSTS(89) is kdmc in component MC (first_order_rate_constant).
C CONSTS(90) is KAC in component MC (nanoM).
C CONSTS(91) is KmC in component MC (nanoM).
C STATES(10) is MB in component MB (nanoM).
C CONSTS(92) is vsB in component MB (flux).
C CONSTS(93) is vmB in component MB (flux).
C CONSTS(94) is kdmb in component MB (first_order_rate_constant).
C CONSTS(95) is KIB in component MB (nanoM).
C CONSTS(96) is KmB in component MB (nanoM).
C CONSTS(97) is m in component model_parameters (dimensionless).
C STATES(11) is PC in component PC (nanoM).
C CONSTS(98) is ksP in component model_parameters (first_order_rate_constant).
C CONSTS(99) is Kp in component model_parameters (nanoM).
C CONSTS(100) is Kdp in component model_parameters (nanoM).
C CONSTS(101) is k3 in component model_parameters (second_order_rate_constant).
C CONSTS(102) is k4 in component model_parameters (first_order_rate_constant).
C CONSTS(103) is kdn in component model_parameters (first_order_rate_constant).
C CONSTS(104) is V1P in component model_parameters (flux).
C CONSTS(105) is V2P in component model_parameters (flux).
C STATES(12) is PCP in component PCP (nanoM).
C STATES(13) is PCC in component PCC (nanoM).
C CONSTS(106) is ksC in component model_parameters (first_order_rate_constant).
C CONSTS(107) is kdnc in component model_parameters (first_order_rate_constant).
C CONSTS(108) is V1C in component model_parameters (flux).
C CONSTS(109) is V2C in component model_parameters (flux).
C STATES(14) is CCP in component CCP (nanoM).
C CONSTS(110) is vdPC in component model_parameters (flux).
C CONSTS(111) is Kd in component model_parameters (nanoM).
C CONSTS(112) is vdCC in component model_parameters (flux).
C CONSTS(113) is k1 in component model_parameters (first_order_rate_constant).
C CONSTS(114) is k2 in component model_parameters (first_order_rate_constant).
C CONSTS(115) is V1PC in component model_parameters (flux).
C CONSTS(116) is V2PC in component model_parameters (flux).
C STATES(15) is PCCP in component PCCP (nanoM).
C STATES(16) is PCN in component PCN (nanoM).
C CONSTS(117) is k7 in component model_parameters (second_order_rate_constant).
C CONSTS(118) is k8 in component model_parameters (first_order_rate_constant).
C CONSTS(119) is V3PC in component model_parameters (flux).
C CONSTS(120) is V4PC in component model_parameters (flux).
C STATES(17) is PCNP in component PCNP (nanoM).
C STATES(18) is IN in component IN (nanoM).
C CONSTS(121) is vdPCC in component model_parameters (flux).
C CONSTS(122) is vdPCN in component model_parameters (flux).
C CONSTS(123) is ksB in component model_parameters (first_order_rate_constant).
C CONSTS(124) is k5 in component model_parameters (first_order_rate_constant).
C CONSTS(125) is k6 in component model_parameters (first_order_rate_constant).
C CONSTS(126) is V1B in component model_parameters (flux).
C CONSTS(127) is V2B in component model_parameters (flux).
C STATES(19) is BCP in component BCP (nanoM).
C CONSTS(128) is vdBC in component model_parameters (flux).
C CONSTS(129) is V3B in component model_parameters (flux).
C CONSTS(130) is V4B in component model_parameters (flux).
C STATES(20) is BNP in component BNP (nanoM).
C CONSTS(131) is vdBN in component model_parameters (flux).
C CONSTS(132) is vdIN in component model_parameters (flux).
C CONSTS(133) is K1CB in component CB (nanoM).
C CONSTS(134) is K2CB in component CB (nanoM).
C CONSTS(135) is WT in component CB (hour).
C CONSTS(136) is vP in component CB (nanoM).
C RATES(1) is d/dt Ca_in in component Ca_in (microM).
C RATES(7) is d/dt Ca_store in component Ca_in (nanoM).
C RATES(4) is d/dt VIP in component VIP (nanoM).
C RATES(3) is d/dt MP in component MP (nanoM).
C RATES(9) is d/dt MC in component MC (nanoM).
C RATES(10) is d/dt MB in component MB (nanoM).
C RATES(11) is d/dt PC in component PC (nanoM).
C RATES(5) is d/dt CC in component CC (nanoM).
C RATES(12) is d/dt PCP in component PCP (nanoM).
C RATES(14) is d/dt CCP in component CCP (nanoM).
C RATES(13) is d/dt PCC in component PCC (nanoM).
C RATES(16) is d/dt PCN in component PCN (nanoM).
C RATES(15) is d/dt PCCP in component PCCP (nanoM).
C RATES(17) is d/dt PCNP in component PCNP (nanoM).
C RATES(2) is d/dt BC in component BC (nanoM).
C RATES(19) is d/dt BCP in component BCP (nanoM).
C RATES(8) is d/dt BN in component BN (nanoM).
C RATES(20) is d/dt BNP in component BNP (nanoM).
C RATES(18) is d/dt IN in component IN (nanoM).
C RATES(6) is d/dt CB in component CB (nanoM).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 20.0
      CONSTS(2) = 5.0
      CONSTS(3) = 8.314
      CONSTS(4) = 37
      CONSTS(5) = 273.15
      CONSTS(6) = 22
      CONSTS(7) = 96485
      CONSTS(8) = 0.05
      CONSTS(9) = 0.036
      CONSTS(10) = 0.3
      CONSTS(11) = 1.9
      CONSTS(12) = -2.0
      CONSTS(13) = 1.0
      CONSTS(14) = 0.41
      CONSTS(15) = 34.0
      CONSTS(16) = 5.0
      CONSTS(17) = 145.0
      CONSTS(18) = 1.0
      CONSTS(19) = 114.5
      CONSTS(20) = 45.0
      CONSTS(21) = 36.0
      CONSTS(22) = 9.7
      CONSTS(23) = 10.0
      CONSTS(24) = 10.0
      CONSTS(25) = 3.0
      CONSTS(26) = 0.16
      CONSTS(27) = -1.0
      CONSTS(28) = -29.0
      CONSTS(29) = -97.0
      CONSTS(30) = 0.0
      CONSTS(31) = 105.0
      CONSTS(32) = 4.4
      CONSTS(33) = 574050000.0
      CONSTS(34) = 1.0
      CONSTS(35) = 2.5
      CONSTS(36) = -1.0
      CONSTS(37) = 12.3
      CONSTS(38) = 0.2
      CONSTS(39) = 19.0
      CONSTS(40) = 3.0
      CONSTS(41) = 1.0
      CONSTS(42) = 15.5
      CONSTS(43) = 19.0
      CONSTS(44) = 4.0
      CONSTS(45) = 1.0
      CONSTS(46) = -0.2
      CONSTS(47) = 8.75e-5
      CONSTS(48) = 2.9
      CONSTS(49) = 5.0
      CONSTS(50) = 2.0
      CONSTS(51) = 2.0
      CONSTS(52) = 0.08
      CONSTS(53) = 1.0
      CONSTS(54) = 1.6
      CONSTS(55) = 2.2
      CONSTS(56) = 12.3
      CONSTS(57) = 22.0
      CONSTS(58) = 0.15
      STATES(1) = 0.1
      STATES(2) = 2.41
      STATES(3) = 2.8
      STATES(4) = 0.0
      STATES(5) = 12.0
      STATES(6) = 0.12
      CONSTS(59) = 0.5
      STATES(7) = 0.1
      CONSTS(60) = 3.3
      CONSTS(61) = 0.09
      CONSTS(62) = 0.001
      CONSTS(63) = 0.1
      CONSTS(64) = 4.5
      CONSTS(65) = 6.0
      CONSTS(66) = 2.2
      CONSTS(67) = 4.2
      CONSTS(68) = 2.0
      CONSTS(69) = 0.02
      CONSTS(70) = 4.5
      CONSTS(71) = 5.0
      CONSTS(72) = 3.0
      CONSTS(73) = 0.67
      CONSTS(74) = 0.0003
      CONSTS(75) = 149.5
      CONSTS(76) = 400.0
      CONSTS(77) = 0.5
      CONSTS(78) = 15.0
      CONSTS(79) = 0.5
      CONSTS(80) = 0.2
      CONSTS(81) = 1.9
      CONSTS(82) = 1.1
      CONSTS(83) = 0.01
      CONSTS(84) = 0.6
      CONSTS(85) = 0.31
      CONSTS(86) = 4.0
      STATES(8) = 1.94
      STATES(9) = 2.0
      CONSTS(87) = 1.1
      CONSTS(88) = 1.0
      CONSTS(89) = 0.01
      CONSTS(90) = 0.6
      CONSTS(91) = 0.4
      STATES(10) = 7.94
      CONSTS(92) = 1.0
      CONSTS(93) = 0.8
      CONSTS(94) = 0.01
      CONSTS(95) = 2.2
      CONSTS(96) = 0.4
      CONSTS(97) = 2.0
      STATES(11) = 0.4
      CONSTS(98) = 0.6
      CONSTS(99) = 0.1
      CONSTS(100) = 0.1
      CONSTS(101) = 0.4
      CONSTS(102) = 0.2
      CONSTS(103) = 0.01
      CONSTS(104) = 0.4
      CONSTS(105) = 0.3
      STATES(12) = 0.13
      STATES(13) = 1.26
      CONSTS(106) = 1.6
      CONSTS(107) = 0.12
      CONSTS(108) = 0.6
      CONSTS(109) = 0.1
      STATES(14) = 9.0
      CONSTS(110) = 0.7
      CONSTS(111) = 0.3
      CONSTS(112) = 0.7
      CONSTS(113) = 0.45
      CONSTS(114) = 0.2
      CONSTS(115) = 0.4
      CONSTS(116) = 0.1
      STATES(15) = 0.2
      STATES(16) = 0.16
      CONSTS(117) = 0.5
      CONSTS(118) = 0.1
      CONSTS(119) = 0.4
      CONSTS(120) = 0.1
      STATES(17) = 0.091
      STATES(18) = 0.05
      CONSTS(121) = 0.7
      CONSTS(122) = 0.7
      CONSTS(123) = 0.12
      CONSTS(124) = 0.4
      CONSTS(125) = 0.2
      CONSTS(126) = 0.5
      CONSTS(127) = 0.1
      STATES(19) = 0.48
      CONSTS(128) = 0.5
      CONSTS(129) = 0.5
      CONSTS(130) = 0.2
      STATES(20) = 0.32
      CONSTS(131) = 0.6
      CONSTS(132) = 0.8
      CONSTS(133) = 0.01
      CONSTS(134) = 0.01
      CONSTS(135) = 1.0
      CONSTS(136) = 1.0
      CONSTS(137) = ( CONSTS(29)*(CONSTS(4)+CONSTS(5)))/(CONSTS(6)+CONSTS(5))
      CONSTS(138) =  CONSTS(74)*CONSTS(59)
      CONSTS(139) = EXP(CONSTS(137)/( CONSTS(47)*(CONSTS(4)+CONSTS(5))*1000.00))
      CONSTS(140) = CONSTS(18)/CONSTS(139)
      CONSTS(141) = ( CONSTS(20)*(CONSTS(4)+CONSTS(5)))/(CONSTS(6)+CONSTS(5))
      CONSTS(142) = EXP(CONSTS(141)/( CONSTS(47)*(CONSTS(4)+CONSTS(5))*1000.00))
      CONSTS(143) = CONSTS(17)/CONSTS(142)
      CONSTS(144) = ( CONSTS(28)*(CONSTS(4)+CONSTS(5)))/(CONSTS(6)+CONSTS(5))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(9) =  CONSTS(87)*(STATES(8) ** CONSTS(86)/(CONSTS(90) ** CONSTS(86)+STATES(8) ** CONSTS(86))) - ( CONSTS(88)*(STATES(9)/(CONSTS(91)+STATES(9)))+ CONSTS(89)*STATES(9))
      RATES(10) =  CONSTS(92)*(CONSTS(95) ** CONSTS(97)/(CONSTS(95) ** CONSTS(97)+STATES(8) ** CONSTS(97))) - ( CONSTS(93)*(STATES(10)/(CONSTS(96)+STATES(10)))+ CONSTS(94)*STATES(10))
      RATES(11) = ( CONSTS(98)*STATES(3)+ CONSTS(105)*(STATES(12)/(CONSTS(100)+STATES(12)))+ CONSTS(102)*STATES(13)) - ( CONSTS(104)*(STATES(11)/(CONSTS(99)+STATES(11)))+ CONSTS(101)*STATES(11)*STATES(5)+ CONSTS(103)*STATES(11))
      RATES(5) = ( CONSTS(106)*STATES(9)+ CONSTS(109)*(STATES(14)/(CONSTS(100)+STATES(14)))+ CONSTS(102)*STATES(13)) - ( CONSTS(108)*(STATES(5)/(CONSTS(99)+STATES(5)))+ CONSTS(101)*STATES(11)*STATES(5)+ CONSTS(107)*STATES(5))
      RATES(12) =  CONSTS(104)*(STATES(11)/(CONSTS(99)+STATES(11))) - ( CONSTS(105)*(STATES(12)/(CONSTS(100)+STATES(12)))+ CONSTS(110)*(STATES(12)/(CONSTS(111)+STATES(12)))+ CONSTS(103)*STATES(12))
      RATES(14) =  CONSTS(108)*(STATES(5)/(CONSTS(99)+STATES(5))) - ( CONSTS(109)*(STATES(14)/(CONSTS(100)+STATES(14)))+ CONSTS(112)*(STATES(14)/(CONSTS(111)+STATES(14)))+ CONSTS(103)*STATES(14))
      RATES(13) = ( CONSTS(116)*(STATES(15)/(CONSTS(100)+STATES(15)))+ CONSTS(101)*STATES(11)*STATES(5)+ CONSTS(114)*STATES(16)) - ( CONSTS(115)*(STATES(13)/(CONSTS(99)+STATES(13)))+ CONSTS(102)*STATES(13)+ CONSTS(113)*STATES(13)+ CONSTS(103)*STATES(13))
      RATES(16) = ( CONSTS(120)*(STATES(17)/(CONSTS(100)+STATES(17)))+ CONSTS(113)*STATES(13)+ CONSTS(118)*STATES(18)) - ( CONSTS(119)*(STATES(16)/(CONSTS(99)+STATES(16)))+ CONSTS(114)*STATES(16)+ CONSTS(117)*STATES(8)*STATES(16)+ CONSTS(103)*STATES(16))
      RATES(15) =  CONSTS(115)*(STATES(13)/(CONSTS(99)+STATES(13))) - ( CONSTS(116)*(STATES(15)/(CONSTS(100)+STATES(15)))+ CONSTS(121)*(STATES(15)/(CONSTS(111)+STATES(15)))+ CONSTS(103)*STATES(15))
      RATES(17) =  CONSTS(119)*(STATES(16)/(CONSTS(99)+STATES(16))) - ( CONSTS(120)*(STATES(17)/(CONSTS(100)+STATES(17)))+ CONSTS(122)*(STATES(17)/(CONSTS(111)+STATES(17)))+ CONSTS(103)*STATES(17))
      RATES(2) = ( CONSTS(127)*(STATES(19)/(CONSTS(100)+STATES(19)))+ CONSTS(125)*STATES(8)+ CONSTS(123)*STATES(10)) - ( CONSTS(126)*(STATES(2)/(CONSTS(99)+STATES(2)))+ CONSTS(124)*STATES(2)+ CONSTS(103)*STATES(2))
      RATES(19) =  CONSTS(126)*(STATES(2)/(CONSTS(99)+STATES(2))) - ( CONSTS(127)*(STATES(19)/(CONSTS(100)+STATES(19)))+ CONSTS(128)*(STATES(19)/(CONSTS(111)+STATES(19)))+ CONSTS(103)*STATES(19))
      RATES(8) = ( CONSTS(130)*(STATES(20)/(CONSTS(100)+STATES(20)))+ CONSTS(124)*STATES(2)+ CONSTS(118)*STATES(18)) - ( CONSTS(129)*(STATES(8)/(CONSTS(99)+STATES(8)))+ CONSTS(125)*STATES(8)+ CONSTS(117)*STATES(8)*STATES(16)+ CONSTS(103)*STATES(8))
      RATES(20) =  CONSTS(129)*(STATES(8)/(CONSTS(99)+STATES(8))) - ( CONSTS(130)*(STATES(20)/(CONSTS(100)+STATES(20)))+ CONSTS(131)*(STATES(20)/(CONSTS(111)+STATES(20)))+ CONSTS(103)*STATES(20))
      RATES(18) =  CONSTS(117)*STATES(8)*STATES(16) - ( CONSTS(118)*STATES(18)+ CONSTS(132)*(STATES(18)/(CONSTS(111)+STATES(18)))+ CONSTS(103)*STATES(18))
      ALGBRC(1) = CONSTS(53)+( CONSTS(54)*STATES(6))/(CONSTS(58)+STATES(6))
      RATES(3) =  ALGBRC(1)*(STATES(8) ** CONSTS(86)/(CONSTS(84) ** CONSTS(86)+STATES(8) ** CONSTS(86))) - ( CONSTS(82)*(STATES(3)/(CONSTS(85)+STATES(3)))+ CONSTS(83)*STATES(3))
      ALGBRC(2) = STATES(4)/(STATES(4)+CONSTS(52))
      ALGBRC(5) = ( CONSTS(49)*STATES(1))/(CONSTS(48)+STATES(1))+( CONSTS(50)*ALGBRC(2))/(CONSTS(51)+ALGBRC(2))
      RATES(6) = (( ALGBRC(5)*(1.00000 - STATES(6)))/((CONSTS(133)+1.00000) - STATES(6)) - ( CONSTS(136)*STATES(6))/(CONSTS(134)+STATES(6)))/CONSTS(135)
      ALGBRC(7) =  CONSTS(61)*(STATES(2) ** CONSTS(64)/(CONSTS(70)+STATES(2) ** CONSTS(64)))
      ALGBRC(9) =  CONSTS(75)*(STATES(1) ** CONSTS(66)/(CONSTS(71) ** CONSTS(66)+STATES(1) ** CONSTS(66)))
      ALGBRC(11) =  CONSTS(76)*(STATES(7) ** CONSTS(65)/(CONSTS(72) ** CONSTS(65)+STATES(7) ** CONSTS(65)))*(STATES(1) ** CONSTS(67)/(CONSTS(73) ** CONSTS(67)+STATES(1) ** CONSTS(67)))
      ALGBRC(4) =  CONSTS(60)*(STATES(5) ** CONSTS(63)/(CONSTS(69)+STATES(5) ** CONSTS(63)))
      RATES(1) = (ALGBRC(7)+CONSTS(138)+ALGBRC(11)+ CONSTS(62)*STATES(7)) - (ALGBRC(9)+ ALGBRC(4)*STATES(1) ** CONSTS(68))
      RATES(7) = ALGBRC(9) - (ALGBRC(11)+ CONSTS(62)*STATES(7))
      ALGBRC(3) =  CONSTS(11)*(STATES(2) ** CONSTS(12)/(CONSTS(13)+STATES(2) ** CONSTS(12)))
      ALGBRC(6) =  4.00000*CONSTS(8)*STATES(1)*0.00100000+ ALGBRC(3)*CONSTS(140)+ CONSTS(9)*CONSTS(143)+ CONSTS(10)*CONSTS(19)
      ALGBRC(14) = CONSTS(38)+( CONSTS(39)*STATES(4))/(CONSTS(40)+STATES(4))
      ALGBRC(15) = CONSTS(41)+ CONSTS(42)*(STATES(3)/(CONSTS(44)+STATES(3)))+ CONSTS(43)*(ALGBRC(14) ** CONSTS(46)/(CONSTS(45)+ALGBRC(14) ** CONSTS(46)))
      ALGBRC(16) = ( ALGBRC(3)*CONSTS(140)+ CONSTS(9)*CONSTS(143)+ CONSTS(10)*CONSTS(19)) - ( ALGBRC(3)*CONSTS(18)+ CONSTS(9)*CONSTS(17)+ CONSTS(10)*ALGBRC(15))
      ALGBRC(17) = - ( ALGBRC(3)*CONSTS(18)+ 4.00000*CONSTS(8)*CONSTS(16)*0.00100000+ CONSTS(9)*CONSTS(17)+ CONSTS(10)*ALGBRC(15))
      ALGBRC(18) = ( (ALGBRC(16) ** 2.00000 -  4.00000*ALGBRC(6)*ALGBRC(17)) ** (1.0 / 2) - ALGBRC(16))/( 2.00000*ALGBRC(6))
      ALGBRC(19) =  (( CONSTS(3)*(CONSTS(4)+CONSTS(5)))/CONSTS(7))*log(ALGBRC(18))*1000.00
      ALGBRC(24) = ALGBRC(19)+4.00000
      ALGBRC(8) =  (( CONSTS(47)*(CONSTS(4)+CONSTS(5)))/2.00000)*log(CONSTS(16)/STATES(1))*1000.00
      ALGBRC(12) =  CONSTS(56)*(STATES(3) ** CONSTS(55)/(CONSTS(57)+STATES(3) ** CONSTS(55)))
      ALGBRC(10) = CONSTS(22)+ CONSTS(23)*(STATES(3)/(CONSTS(24)+STATES(3)))
      ALGBRC(13) =  CONSTS(25)*(STATES(5) ** CONSTS(27)/(CONSTS(26)+STATES(5) ** CONSTS(27)))
      ALGBRC(25) =  CONSTS(14)*(ALGBRC(19)/(CONSTS(15)+ALGBRC(19)))
      ALGBRC(30) = 1.00000/ALGBRC(25)
      ALGBRC(27) =  CONSTS(21)*(ALGBRC(19) - CONSTS(141))
      ALGBRC(29) =  ALGBRC(27) ** 2.00000 ** (1.0 / 2)
      ALGBRC(31) =  CONSTS(31)*(ALGBRC(29) ** CONSTS(35)/(CONSTS(33)+ALGBRC(29) ** CONSTS(35)))+ CONSTS(32)*(STATES(1) ** CONSTS(36)/(CONSTS(34)+STATES(1) ** CONSTS(36)))
      ALGBRC(26) =  - CONSTS(47)*(CONSTS(4)+CONSTS(5))*log(CONSTS(19)/ALGBRC(15))*1000.00
      ALGBRC(34) = ( CONSTS(21)*CONSTS(141)+ ALGBRC(12)*ALGBRC(8)+ ALGBRC(10)*CONSTS(137)+ ALGBRC(30)*CONSTS(144)+ ALGBRC(13)*CONSTS(137)) - ( CONSTS(37)*ALGBRC(26)+ ALGBRC(31)*CONSTS(30))
      ALGBRC(35) = 1.00000/((CONSTS(21)+ALGBRC(10)+ALGBRC(30)+ALGBRC(12)+ALGBRC(13)) - (CONSTS(37)+ALGBRC(31)))
      ALGBRC(36) =  CONSTS(2)*ALGBRC(35)
      ALGBRC(20) = ALGBRC(19)+CONSTS(1)
      ALGBRC(37) = -1.00000/( ALGBRC(36)*log((ALGBRC(20) -  ALGBRC(35)*ALGBRC(34))/(ALGBRC(24) -  ALGBRC(35)*ALGBRC(34))))
      RATES(4) =  CONSTS(77)*(ALGBRC(37) ** CONSTS(81)/(CONSTS(78)+ALGBRC(37) ** CONSTS(81))) -  CONSTS(79)*STATES(4) ** CONSTS(80)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = CONSTS(53)+( CONSTS(54)*STATES(6))/(CONSTS(58)+STATES(6))
      ALGBRC(2) = STATES(4)/(STATES(4)+CONSTS(52))
      ALGBRC(5) = ( CONSTS(49)*STATES(1))/(CONSTS(48)+STATES(1))+( CONSTS(50)*ALGBRC(2))/(CONSTS(51)+ALGBRC(2))
      ALGBRC(7) =  CONSTS(61)*(STATES(2) ** CONSTS(64)/(CONSTS(70)+STATES(2) ** CONSTS(64)))
      ALGBRC(9) =  CONSTS(75)*(STATES(1) ** CONSTS(66)/(CONSTS(71) ** CONSTS(66)+STATES(1) ** CONSTS(66)))
      ALGBRC(11) =  CONSTS(76)*(STATES(7) ** CONSTS(65)/(CONSTS(72) ** CONSTS(65)+STATES(7) ** CONSTS(65)))*(STATES(1) ** CONSTS(67)/(CONSTS(73) ** CONSTS(67)+STATES(1) ** CONSTS(67)))
      ALGBRC(4) =  CONSTS(60)*(STATES(5) ** CONSTS(63)/(CONSTS(69)+STATES(5) ** CONSTS(63)))
      ALGBRC(3) =  CONSTS(11)*(STATES(2) ** CONSTS(12)/(CONSTS(13)+STATES(2) ** CONSTS(12)))
      ALGBRC(6) =  4.00000*CONSTS(8)*STATES(1)*0.00100000+ ALGBRC(3)*CONSTS(140)+ CONSTS(9)*CONSTS(143)+ CONSTS(10)*CONSTS(19)
      ALGBRC(14) = CONSTS(38)+( CONSTS(39)*STATES(4))/(CONSTS(40)+STATES(4))
      ALGBRC(15) = CONSTS(41)+ CONSTS(42)*(STATES(3)/(CONSTS(44)+STATES(3)))+ CONSTS(43)*(ALGBRC(14) ** CONSTS(46)/(CONSTS(45)+ALGBRC(14) ** CONSTS(46)))
      ALGBRC(16) = ( ALGBRC(3)*CONSTS(140)+ CONSTS(9)*CONSTS(143)+ CONSTS(10)*CONSTS(19)) - ( ALGBRC(3)*CONSTS(18)+ CONSTS(9)*CONSTS(17)+ CONSTS(10)*ALGBRC(15))
      ALGBRC(17) = - ( ALGBRC(3)*CONSTS(18)+ 4.00000*CONSTS(8)*CONSTS(16)*0.00100000+ CONSTS(9)*CONSTS(17)+ CONSTS(10)*ALGBRC(15))
      ALGBRC(18) = ( (ALGBRC(16) ** 2.00000 -  4.00000*ALGBRC(6)*ALGBRC(17)) ** (1.0 / 2) - ALGBRC(16))/( 2.00000*ALGBRC(6))
      ALGBRC(19) =  (( CONSTS(3)*(CONSTS(4)+CONSTS(5)))/CONSTS(7))*log(ALGBRC(18))*1000.00
      ALGBRC(24) = ALGBRC(19)+4.00000
      ALGBRC(8) =  (( CONSTS(47)*(CONSTS(4)+CONSTS(5)))/2.00000)*log(CONSTS(16)/STATES(1))*1000.00
      ALGBRC(12) =  CONSTS(56)*(STATES(3) ** CONSTS(55)/(CONSTS(57)+STATES(3) ** CONSTS(55)))
      ALGBRC(10) = CONSTS(22)+ CONSTS(23)*(STATES(3)/(CONSTS(24)+STATES(3)))
      ALGBRC(13) =  CONSTS(25)*(STATES(5) ** CONSTS(27)/(CONSTS(26)+STATES(5) ** CONSTS(27)))
      ALGBRC(25) =  CONSTS(14)*(ALGBRC(19)/(CONSTS(15)+ALGBRC(19)))
      ALGBRC(30) = 1.00000/ALGBRC(25)
      ALGBRC(27) =  CONSTS(21)*(ALGBRC(19) - CONSTS(141))
      ALGBRC(29) =  ALGBRC(27) ** 2.00000 ** (1.0 / 2)
      ALGBRC(31) =  CONSTS(31)*(ALGBRC(29) ** CONSTS(35)/(CONSTS(33)+ALGBRC(29) ** CONSTS(35)))+ CONSTS(32)*(STATES(1) ** CONSTS(36)/(CONSTS(34)+STATES(1) ** CONSTS(36)))
      ALGBRC(26) =  - CONSTS(47)*(CONSTS(4)+CONSTS(5))*log(CONSTS(19)/ALGBRC(15))*1000.00
      ALGBRC(34) = ( CONSTS(21)*CONSTS(141)+ ALGBRC(12)*ALGBRC(8)+ ALGBRC(10)*CONSTS(137)+ ALGBRC(30)*CONSTS(144)+ ALGBRC(13)*CONSTS(137)) - ( CONSTS(37)*ALGBRC(26)+ ALGBRC(31)*CONSTS(30))
      ALGBRC(35) = 1.00000/((CONSTS(21)+ALGBRC(10)+ALGBRC(30)+ALGBRC(12)+ALGBRC(13)) - (CONSTS(37)+ALGBRC(31)))
      ALGBRC(36) =  CONSTS(2)*ALGBRC(35)
      ALGBRC(20) = ALGBRC(19)+CONSTS(1)
      ALGBRC(37) = -1.00000/( ALGBRC(36)*log((ALGBRC(20) -  ALGBRC(35)*ALGBRC(34))/(ALGBRC(24) -  ALGBRC(35)*ALGBRC(34))))
      ALGBRC(21) =  ALGBRC(12)*(ALGBRC(19) - ALGBRC(8))
      ALGBRC(22) =  ALGBRC(10)*(ALGBRC(19) - CONSTS(137))
      ALGBRC(23) =  ALGBRC(13)*(ALGBRC(19) - CONSTS(137))
      ALGBRC(28) =  CONSTS(37)*(ALGBRC(19) - ALGBRC(26))
      ALGBRC(32) =  ALGBRC(30)*(ALGBRC(19) - CONSTS(144))
      ALGBRC(33) =  ALGBRC(31)*(ALGBRC(19) - CONSTS(30))
      RETURN
      END