     vxl = mxl / dl;
     vyl = myl / dl;
     vzl = mzl / dl;
+    #ifdef DE //PRESSURE_DE
+    E_kin = 0.5 * dl * ( vxl*vxl + vyl*vyl + vzl*vzl );
+    pl = Get_Pressure_From_DE( El, El - E_kin, dgel, gamma ); 
+    #else
     pl  = (El - 0.5*dl*(vxl*vxl + vyl*vyl + vzl*vzl)) * (gamma - 1.0);
+    #endif//DE
     pl  = fmax(pl, (Real) TINY_NUMBER);
     #ifdef SCALAR
     for (int i=0; i<NSCALARS; i++) {

#include"global.h"
#include"global_cuda.h"
#include"hllc_cuda.h"




  Real f_d, f_mx, f_my, f_mz, f_E;
  Real Sl, Sr, Sm, cfl, cfr, ps;
  #ifdef DE
  Real dgel, dger, gel, ger, gels, gers, f_ge_l, f_ge_r, f_ge, E, E_kin;
  #endif
  #ifdef SCALAR
  Real dscl[NSCALARS], dscr[NSCALARS], scl[NSCALARS], scr[NSCALARS], scls[NSCALARS], scrs[NSCALARS], f_sc_l[NSCALARS], f_sc_r[NSCALARS], f_sc[NSCALARS];
