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 34 entries in the algebraic variable array.
C There are a total of 14 entries in each of the rate and state variable arrays.
C There are a total of 51 entries in the constant variable array.
C
C
C VOI is time in component Time (time_units).
C CONSTS(1) is Ach in component Neural_input (millimolar).
C CONSTS(2) is Gcouple in component Gap_junction (conductance_units).
C CONSTS(3) is T in component Environment (Temperature_units).
C CONSTS(4) is T_exp in component Environment (Temperature_units).
C CONSTS(5) is F in component Environment (F_units).
C CONSTS(6) is R in component Environment (R_units).
C CONSTS(7) is Q10Ca in component Environment (dimensionless).
C CONSTS(8) is Q10K in component Environment (dimensionless).
C CONSTS(9) is Q10Na in component Environment (dimensionless).
C CONSTS(10) is Ca_o in component Environment (millimolar).
C CONSTS(11) is Na_o in component Environment (millimolar).
C CONSTS(12) is K_o in component Environment (millimolar).
C CONSTS(13) is Cl_o in component Environment (millimolar).
C CONSTS(34) is T_correction_Na in component Environment (dimensionless).
C CONSTS(35) is T_correction_K in component Environment (dimensionless).
C CONSTS(36) is T_correction_Ca in component Environment (dimensionless).
C CONSTS(37) is T_correction_BK in component Environment (conductance_units).
C CONSTS(38) is FoRT in component Environment (Inverse_Voltage_units).
C CONSTS(39) is RToF in component Environment (voltage_units).
C CONSTS(14) is Cm_SM in component SM_Membrane (capacitance_units).
C CONSTS(15) is Vol_SM in component SM_Membrane (volume_units).
C STATES(1) is Vm_SM in component SM_Membrane (voltage_units).
C STATES(2) is Ca_i in component SM_Membrane (millimolar).
C CONSTS(16) is Na_i in component SM_Membrane (millimolar).
C CONSTS(17) is K_i in component SM_Membrane (millimolar).
C ALGBRC(31) is I_Na_SM in component I_Na_SM (current_units).
C ALGBRC(23) is I_Ltype_SM in component I_Ltype_SM (current_units).
C ALGBRC(26) is I_LVA_SM in component I_LVA_SM (current_units).
C ALGBRC(30) is I_kr_SM in component I_kr_SM (current_units).
C ALGBRC(32) is I_ka_SM in component I_ka_SM (current_units).
C ALGBRC(28) is I_BK_SM in component I_BK_SM (current_units).
C ALGBRC(34) is I_NSCC_SM in component I_NSCC_SM (current_units).
C ALGBRC(29) is I_bk_SM in component I_bk_SM (current_units).
C ALGBRC(24) is J_CaSR_SM in component J_CaSR_SM (millimolar_per_millisecond).
C ALGBRC(21) is I_stim in component I_stim (current_units).
C ALGBRC(14) is local_time in component I_stim (time_units).
C CONSTS(18) is period in component I_stim (time_units).
C ALGBRC(1) is stim_start in component I_stim (time_units).
C CONSTS(19) is delta_VICC in component I_stim (voltage_units).
C CONSTS(20) is t_ICCpeak in component I_stim (time_units).
C CONSTS(21) is t_ICCplateau in component I_stim (time_units).
C CONSTS(22) is t_ICC_stimulus in component I_stim (time_units).
C CONSTS(23) is V_decay in component I_stim (voltage_units).
C ALGBRC(2) is d_inf_Ltype_SM in component d_Ltype_SM (dimensionless).
C CONSTS(41) is tau_d_Ltype_SM in component d_Ltype_SM (time_units).
C STATES(3) is d_Ltype_SM in component d_Ltype_SM (dimensionless).
C ALGBRC(3) is f_inf_Ltype_SM in component f_Ltype_SM (dimensionless).
C CONSTS(42) is tau_f_Ltype_SM in component f_Ltype_SM (time_units).
C STATES(4) is f_Ltype_SM in component f_Ltype_SM (dimensionless).
C ALGBRC(4) is f_ca_inf_Ltype_SM in component f_ca_Ltype_SM (dimensionless).
C CONSTS(43) is tau_f_ca_Ltype_SM in component f_ca_Ltype_SM (time_units).
C STATES(5) is f_ca_Ltype_SM in component f_ca_Ltype_SM (dimensionless).
C ALGBRC(22) is E_Ca in component I_Ltype_SM (voltage_units).
C CONSTS(24) is G_max_Ltype in component I_Ltype_SM (conductance_units).
C CONSTS(25) is J_max_CaSR in component J_CaSR_SM (millimolar_per_millisecond).
C ALGBRC(5) is d_inf_LVA_SM in component d_LVA_SM (dimensionless).
C CONSTS(44) is tau_d_LVA_SM in component d_LVA_SM (time_units).
C STATES(6) is d_LVA_SM in component d_LVA_SM (dimensionless).
C ALGBRC(6) is f_inf_LVA_SM in component f_LVA_SM (dimensionless).
C ALGBRC(15) is tau_f_LVA_SM in component f_LVA_SM (time_units).
C STATES(7) is f_LVA_SM in component f_LVA_SM (dimensionless).
C ALGBRC(25) is E_Ca in component I_LVA_SM (voltage_units).
C CONSTS(26) is G_max_LVA in component I_LVA_SM (conductance_units).
C ALGBRC(27) is d_BK_SM in component d_BK_SM (dimensionless).
C CONSTS(45) is E_K in component I_BK_SM (voltage_units).
C CONSTS(27) is G_max_BK in component I_BK_SM (conductance_units).
C CONSTS(46) is E_K in component I_bk_SM (voltage_units).
C CONSTS(28) is G_max_bk in component I_bk_SM (conductance_units).
C ALGBRC(7) is xr1_inf_SM in component xr1_SM (dimensionless).
C CONSTS(47) is tau_xr1_SM in component xr1_SM (time_units).
C STATES(8) is xr1_SM in component xr1_SM (dimensionless).
C ALGBRC(8) is xr2_inf_SM in component xr2_SM (dimensionless).
C ALGBRC(16) is tau_xr2_SM in component xr2_SM (time_units).
C STATES(9) is xr2_SM in component xr2_SM (dimensionless).
C CONSTS(48) is E_K in component I_kr_SM (voltage_units).
C CONSTS(29) is G_max_kr_SM in component I_kr_SM (conductance_units).
C ALGBRC(9) is m_inf_Na in component m_Na_SM (dimensionless).
C ALGBRC(17) is tau_m_Na in component m_Na_SM (time_units).
C STATES(10) is m_Na_SM in component m_Na_SM (dimensionless).
C ALGBRC(10) is h_inf_Na in component h_Na_SM (dimensionless).
C ALGBRC(18) is tau_h_Na in component h_Na_SM (time_units).
C STATES(11) is h_Na_SM in component h_Na_SM (dimensionless).
C CONSTS(49) is E_Na in component I_Na_SM (voltage_units).
C CONSTS(30) is G_max_Na_SM in component I_Na_SM (conductance_units).
C ALGBRC(11) is xa1_inf_SM in component xa1_SM (dimensionless).
C ALGBRC(19) is tau_xa1_SM in component xa1_SM (time_units).
C STATES(12) is xa1_SM in component xa1_SM (dimensionless).
C ALGBRC(12) is xa2_inf_SM in component xa2_SM (dimensionless).
C CONSTS(50) is tau_xa2_SM in component xa2_SM (time_units).
C STATES(13) is xa2_SM in component xa2_SM (dimensionless).
C CONSTS(51) is E_K in component I_ka_SM (voltage_units).
C CONSTS(31) is G_max_ka_SM in component I_ka_SM (conductance_units).
C ALGBRC(13) is m_inf_NSCC_SM in component m_NSCC_SM (dimensionless).
C ALGBRC(20) is tau_m_NSCC_SM in component m_NSCC_SM (time_units).
C STATES(14) is m_NSCC_SM in component m_NSCC_SM (dimensionless).
C CONSTS(32) is E_NSCC in component I_NSCC_SM (voltage_units).
C CONSTS(33) is G_max_NSCC_SM in component I_NSCC_SM (conductance_units).
C ALGBRC(33) is f_ca_NSCC_SM in component I_NSCC_SM (dimensionless).
C CONSTS(40) is rach_NSCC_SM in component I_NSCC_SM (dimensionless).
C RATES(1) is d/dt Vm_SM in component SM_Membrane (voltage_units).
C RATES(2) is d/dt Ca_i in component SM_Membrane (millimolar).
C RATES(3) is d/dt d_Ltype_SM in component d_Ltype_SM (dimensionless).
C RATES(4) is d/dt f_Ltype_SM in component f_Ltype_SM (dimensionless).
C RATES(5) is d/dt f_ca_Ltype_SM in component f_ca_Ltype_SM (dimensionless).
C RATES(6) is d/dt d_LVA_SM in component d_LVA_SM (dimensionless).
C RATES(7) is d/dt f_LVA_SM in component f_LVA_SM (dimensionless).
C RATES(8) is d/dt xr1_SM in component xr1_SM (dimensionless).
C RATES(9) is d/dt xr2_SM in component xr2_SM (dimensionless).
C RATES(10) is d/dt m_Na_SM in component m_Na_SM (dimensionless).
C RATES(11) is d/dt h_Na_SM in component h_Na_SM (dimensionless).
C RATES(12) is d/dt xa1_SM in component xa1_SM (dimensionless).
C RATES(13) is d/dt xa2_SM in component xa2_SM (dimensionless).
C RATES(14) is d/dt m_NSCC_SM in component m_NSCC_SM (dimensionless).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0.00001
      CONSTS(2) = 1.3
      CONSTS(3) = 310
      CONSTS(4) = 297
      CONSTS(5) = 96486
      CONSTS(6) = 8314.4
      CONSTS(7) = 2.1
      CONSTS(8) = 1.365
      CONSTS(9) = 2.45
      CONSTS(10) = 2.5
      CONSTS(11) = 137
      CONSTS(12) = 5.9
      CONSTS(13) = 134
      CONSTS(14) = 77
      CONSTS(15) = 3500
      STATES(1) = -69.75
      STATES(2) = 0.00008
      CONSTS(16) = 10
      CONSTS(17) = 164
      CONSTS(18) = 20000
      CONSTS(19) = 59
      CONSTS(20) = 98
      CONSTS(21) = 7582
      CONSTS(22) = 10000
      CONSTS(23) = 37.25
      STATES(3) = 0.0
      STATES(4) = 0.95
      STATES(5) = 1.0
      CONSTS(24) = 65
      CONSTS(25) = 0.31705
      STATES(6) = 0.02
      STATES(7) = 0.99
      CONSTS(26) = 0.18
      CONSTS(27) = 45.7
      CONSTS(28) = 0.0144
      STATES(8) = 0.0
      STATES(9) = 0.82
      CONSTS(29) = 35
      STATES(10) = 0.005
      STATES(11) = 0.05787
      CONSTS(30) = 3
      STATES(12) = 0.00414
      STATES(13) = 0.72
      CONSTS(31) = 9
      STATES(14) = 0.0
      CONSTS(32) = -28
      CONSTS(33) = 50
      CONSTS(34) = CONSTS(9) ** (CONSTS(3) - CONSTS(4))/10.0000
      CONSTS(35) = CONSTS(8) ** (CONSTS(3) - CONSTS(4))/10.0000
      CONSTS(36) = CONSTS(7) ** (CONSTS(3) - CONSTS(4))/10.0000
      CONSTS(37) =  1.10000*(CONSTS(3) - CONSTS(4))
      CONSTS(38) = CONSTS(5)/( CONSTS(6)*CONSTS(3))
      CONSTS(39) = ( CONSTS(6)*CONSTS(3))/CONSTS(5)
      CONSTS(40) = 1.00000/(1.00000+0.0100000/CONSTS(1))
      CONSTS(41) =  CONSTS(36)*0.470000
      CONSTS(42) =  CONSTS(36)*86.0000
      CONSTS(43) =  CONSTS(36)*2.00000
      CONSTS(44) =  CONSTS(36)*3.00000
      CONSTS(45) =  CONSTS(39)*log(CONSTS(12)/CONSTS(17))
      CONSTS(46) =  CONSTS(39)*log(CONSTS(12)/CONSTS(17))
      CONSTS(47) =  CONSTS(35)*80.0000
      CONSTS(48) =  CONSTS(39)*log(CONSTS(12)/CONSTS(17))
      CONSTS(49) =  CONSTS(39)*log(CONSTS(11)/CONSTS(16))
      CONSTS(50) =  CONSTS(35)*90.0000
      CONSTS(51) =  CONSTS(39)*log(CONSTS(12)/CONSTS(17))
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(1)+17.0000)/-4.30000))
      RATES(3) = (ALGBRC(2) - STATES(3))/CONSTS(41)
      ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1)+43.0000)/8.90000))
      RATES(4) = (ALGBRC(3) - STATES(4))/CONSTS(42)
      ALGBRC(4) = 1.00000 - 1.00000/(1.00000+EXP(((STATES(2) - 8.99900e-05) - 0.000214000)/-1.31000e-05))
      RATES(5) = (ALGBRC(4) - STATES(5))/CONSTS(43)
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+27.5000)/-10.9000))
      RATES(6) = (ALGBRC(5) - STATES(6))/CONSTS(44)
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+27.0000)/-5.00000))
      RATES(8) = (ALGBRC(7) - STATES(8))/CONSTS(47)
      ALGBRC(12) = 0.100000+0.900000/(1.00000+EXP((STATES(1)+65.0000)/6.20000))
      RATES(13) = (ALGBRC(12) - STATES(13))/CONSTS(50)
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+15.8000)/7.00000))
      ALGBRC(15) =  CONSTS(36)*( 7.58000*EXP( STATES(1)*0.00817000))
      RATES(7) = (ALGBRC(6) - STATES(7))/ALGBRC(15)
      ALGBRC(8) = 0.200000+0.800000/(1.00000+EXP((STATES(1)+58.0000)/10.0000))
      ALGBRC(16) =  CONSTS(35)*(-707.000+ 1481.00*EXP((STATES(1)+36.0000)/95.0000))
      RATES(9) = (ALGBRC(8) - STATES(9))/ALGBRC(16)
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+47.0000)/-4.80000))
      ALGBRC(17) =  CONSTS(34)*( STATES(1)*-0.0170000*1.00000+0.440000)
      RATES(10) = (ALGBRC(9) - STATES(10))/ALGBRC(17)
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+78.0000)/3.00000))
      ALGBRC(18) =  CONSTS(34)*( STATES(1)*-0.250000*1.00000+5.50000)
      RATES(11) = (ALGBRC(10) - STATES(11))/ALGBRC(18)
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+26.5000)/-7.90000))
      ALGBRC(19) =  CONSTS(35)*(31.8000+ 175.000*EXP( -0.500000*(STATES(1)+44.4000)/22.3000 ** 2.00000))
      RATES(12) = (ALGBRC(11) - STATES(12))/ALGBRC(19)
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(1)+25.0000)/-20.0000))
      ALGBRC(20) =  (1.00000/(1.00000+EXP((STATES(1)+66.0000)/-26.0000)))*150.000
      RATES(14) = (ALGBRC(13) - STATES(14))/ALGBRC(20)
      ALGBRC(22) =  0.500000*CONSTS(39)*log(CONSTS(10)/STATES(2))
      ALGBRC(23) =  CONSTS(24)*( STATES(4)*STATES(3)*STATES(5))*(STATES(1) - ALGBRC(22))
      ALGBRC(25) =  0.500000*CONSTS(39)*log(CONSTS(10)/STATES(2))
      ALGBRC(26) =  CONSTS(26)*( STATES(7)*STATES(6))*(STATES(1) - ALGBRC(25))
      ALGBRC(24) =  CONSTS(25)* STATES(2)*1.00000 ** 1.34000
      RATES(2) = ( -1.00000*ALGBRC(23)+ -1.00000*ALGBRC(26))/( 2.00000*0.00100000*CONSTS(5)*CONSTS(15))+ -1.00000*ALGBRC(24)
      ALGBRC(31) =  CONSTS(30)*( STATES(11)*STATES(10))*(STATES(1) - CONSTS(49))
      ALGBRC(30) =  CONSTS(29)*( STATES(8)*STATES(9))*(STATES(1) - CONSTS(48))
      ALGBRC(32) =  CONSTS(31)*( STATES(12)*STATES(13))*(STATES(1) - CONSTS(51))
      ALGBRC(27) = 1.00000/(1.00000+EXP(STATES(1)/-17.0000 -  2.00000*log(STATES(2)/0.00100000)))
      ALGBRC(28) =  (CONSTS(27)+CONSTS(37))*ALGBRC(27)*(STATES(1) - CONSTS(45))
      ALGBRC(33) = 1.00000/(1.00000+STATES(2)/0.000200000 ** -4.00000)
      ALGBRC(34) =  CONSTS(33)*STATES(14)*ALGBRC(33)*CONSTS(40)*(STATES(1) - CONSTS(32))
      ALGBRC(29) =  CONSTS(28)*(STATES(1) - CONSTS(46))
      ALGBRC(1) = TERNRY(VOI.GT. CONSTS(18)*1.00000.AND.VOI.LE. CONSTS(18)*2.00000,  CONSTS(18)*1.00000, TERNRY(VOI.GT. CONSTS(18)*2.00000.AND.VOI.LE. CONSTS(18)*3.00000,  CONSTS(18)*2.00000, TERNRY(VOI.GT. CONSTS(18)*3.00000.AND.VOI.LE. CONSTS(18)*4.00000,  CONSTS(18)*3.00000, TERNRY(VOI.GT. CONSTS(18)*4.00000.AND.VOI.LE. CONSTS(18)*5.00000,  CONSTS(18)*4.00000, 0.00000)
      ALGBRC(14) = VOI - (ALGBRC(1)+CONSTS(20))
      ALGBRC(21) = TERNRY(ALGBRC(14).LT.CONSTS(20),  CONSTS(2)*CONSTS(19), TERNRY(ALGBRC(14).GE.CONSTS(20).AND.ALGBRC(14).LE.CONSTS(21),  CONSTS(2)*CONSTS(19)*(1.00000/(1.00000+EXP((ALGBRC(14) - 8000.00)/1000.00))), TERNRY(ALGBRC(14).GT.CONSTS(21).AND.ALGBRC(14).LT.CONSTS(22),  CONSTS(2)*CONSTS(23)*(1.00000/(1.00000+EXP((ALGBRC(14) - 8000.00)/150.000))), 0.00000)
      RATES(1) =  -1.00000*(1.00000/CONSTS(14))*(ALGBRC(31)+ALGBRC(23)+ALGBRC(26)+ALGBRC(30)+ALGBRC(32)+ALGBRC(28)+ALGBRC(34)+ALGBRC(29)+ -1.00000*ALGBRC(21))
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(2) = 1.00000/(1.00000+EXP((STATES(1)+17.0000)/-4.30000))
      ALGBRC(3) = 1.00000/(1.00000+EXP((STATES(1)+43.0000)/8.90000))
      ALGBRC(4) = 1.00000 - 1.00000/(1.00000+EXP(((STATES(2) - 8.99900e-05) - 0.000214000)/-1.31000e-05))
      ALGBRC(5) = 1.00000/(1.00000+EXP((STATES(1)+27.5000)/-10.9000))
      ALGBRC(7) = 1.00000/(1.00000+EXP((STATES(1)+27.0000)/-5.00000))
      ALGBRC(12) = 0.100000+0.900000/(1.00000+EXP((STATES(1)+65.0000)/6.20000))
      ALGBRC(6) = 1.00000/(1.00000+EXP((STATES(1)+15.8000)/7.00000))
      ALGBRC(15) =  CONSTS(36)*( 7.58000*EXP( STATES(1)*0.00817000))
      ALGBRC(8) = 0.200000+0.800000/(1.00000+EXP((STATES(1)+58.0000)/10.0000))
      ALGBRC(16) =  CONSTS(35)*(-707.000+ 1481.00*EXP((STATES(1)+36.0000)/95.0000))
      ALGBRC(9) = 1.00000/(1.00000+EXP((STATES(1)+47.0000)/-4.80000))
      ALGBRC(17) =  CONSTS(34)*( STATES(1)*-0.0170000*1.00000+0.440000)
      ALGBRC(10) = 1.00000/(1.00000+EXP((STATES(1)+78.0000)/3.00000))
      ALGBRC(18) =  CONSTS(34)*( STATES(1)*-0.250000*1.00000+5.50000)
      ALGBRC(11) = 1.00000/(1.00000+EXP((STATES(1)+26.5000)/-7.90000))
      ALGBRC(19) =  CONSTS(35)*(31.8000+ 175.000*EXP( -0.500000*(STATES(1)+44.4000)/22.3000 ** 2.00000))
      ALGBRC(13) = 1.00000/(1.00000+EXP((STATES(1)+25.0000)/-20.0000))
      ALGBRC(20) =  (1.00000/(1.00000+EXP((STATES(1)+66.0000)/-26.0000)))*150.000
      ALGBRC(22) =  0.500000*CONSTS(39)*log(CONSTS(10)/STATES(2))
      ALGBRC(23) =  CONSTS(24)*( STATES(4)*STATES(3)*STATES(5))*(STATES(1) - ALGBRC(22))
      ALGBRC(25) =  0.500000*CONSTS(39)*log(CONSTS(10)/STATES(2))
      ALGBRC(26) =  CONSTS(26)*( STATES(7)*STATES(6))*(STATES(1) - ALGBRC(25))
      ALGBRC(24) =  CONSTS(25)* STATES(2)*1.00000 ** 1.34000
      ALGBRC(31) =  CONSTS(30)*( STATES(11)*STATES(10))*(STATES(1) - CONSTS(49))
      ALGBRC(30) =  CONSTS(29)*( STATES(8)*STATES(9))*(STATES(1) - CONSTS(48))
      ALGBRC(32) =  CONSTS(31)*( STATES(12)*STATES(13))*(STATES(1) - CONSTS(51))
      ALGBRC(27) = 1.00000/(1.00000+EXP(STATES(1)/-17.0000 -  2.00000*log(STATES(2)/0.00100000)))
      ALGBRC(28) =  (CONSTS(27)+CONSTS(37))*ALGBRC(27)*(STATES(1) - CONSTS(45))
      ALGBRC(33) = 1.00000/(1.00000+STATES(2)/0.000200000 ** -4.00000)
      ALGBRC(34) =  CONSTS(33)*STATES(14)*ALGBRC(33)*CONSTS(40)*(STATES(1) - CONSTS(32))
      ALGBRC(29) =  CONSTS(28)*(STATES(1) - CONSTS(46))
      ALGBRC(1) = TERNRY(VOI.GT. CONSTS(18)*1.00000.AND.VOI.LE. CONSTS(18)*2.00000,  CONSTS(18)*1.00000, TERNRY(VOI.GT. CONSTS(18)*2.00000.AND.VOI.LE. CONSTS(18)*3.00000,  CONSTS(18)*2.00000, TERNRY(VOI.GT. CONSTS(18)*3.00000.AND.VOI.LE. CONSTS(18)*4.00000,  CONSTS(18)*3.00000, TERNRY(VOI.GT. CONSTS(18)*4.00000.AND.VOI.LE. CONSTS(18)*5.00000,  CONSTS(18)*4.00000, 0.00000)
      ALGBRC(14) = VOI - (ALGBRC(1)+CONSTS(20))
      ALGBRC(21) = TERNRY(ALGBRC(14).LT.CONSTS(20),  CONSTS(2)*CONSTS(19), TERNRY(ALGBRC(14).GE.CONSTS(20).AND.ALGBRC(14).LE.CONSTS(21),  CONSTS(2)*CONSTS(19)*(1.00000/(1.00000+EXP((ALGBRC(14) - 8000.00)/1000.00))), TERNRY(ALGBRC(14).GT.CONSTS(21).AND.ALGBRC(14).LT.CONSTS(22),  CONSTS(2)*CONSTS(23)*(1.00000/(1.00000+EXP((ALGBRC(14) - 8000.00)/150.000))), 0.00000)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END