     vx_imt =  dev_conserved[o1*n_cells + id] / d_imt;
     vy_imt =  dev_conserved[o2*n_cells + id] / d_imt;
     vz_imt =  dev_conserved[o3*n_cells + id] / d_imt;
+    #ifdef DE //PRESSURE_DE
+    E = dev_conserved[4*n_cells + id];
+    GE = dev_conserved[(n_fields-1)*n_cells + id];
+    E_kin = 0.5 * d_imt * ( vx_imt*vx_imt + vy_imt*vy_imt + vz_imt*vz_imt );
+    p_imt = Get_Pressure_From_DE( E, E - E_kin, GE, gamma );   
+    #else
     p_imt  = (dev_conserved[4*n_cells + id] - 0.5*d_imt*(vx_imt*vx_imt + vy_imt*vy_imt + vz_imt*vz_imt)) * (gamma - 1.0);
+    #endif//DE
     p_imt  = fmax(p_imt, (Real) TINY_NUMBER);
     #ifdef DE
     ge_imt = dev_conserved[(n_fields-1)*n_cells + id] / d_imt;

    vx_imo =  dev_conserved[o1*n_cells + id] / d_imo;
    vy_imo =  dev_conserved[o2*n_cells + id] / d_imo;
    vz_imo =  dev_conserved[o3*n_cells + id] / d_imo;
    p_imo  = (dev_conserved[4*n_cells + id] - 0.5*d_imo*(vx_imo*vx_imo + vy_imo*vy_imo + vz_imo*vz_imo)) * (gamma - 1.0);
    p_imo  = fmax(p_imo, (Real) TINY_NUMBER);
    #ifdef DE
    ge_imo = dev_conserved[(n_fields-1)*n_cells + id] / d_imo;

#include"global.h"
#include"global_cuda.h"
#include"ppmp_cuda.h"

#ifdef DE //PRESSURE_DE
#include"hydro_cuda.h"
#endif

#define STEEPENING
#define FLATTENING
