     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;
+    #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_imo * ( vx_imo*vx_imo + vy_imo*vy_imo + vz_imo*vz_imo );
+    p_imo = Get_Pressure_From_DE( E, E - E_kin, GE, gamma ); 
+    #else
     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);
+    #endif//DE
     p_imo  = fmax(p_imo, (Real) TINY_NUMBER);
     #ifdef DE
     ge_imo = dev_conserved[(n_fields-1)*n_cells + id] / d_imo;

    vx_ipt =  dev_conserved[o1*n_cells + id] / d_ipt;
    vy_ipt =  dev_conserved[o2*n_cells + id] / d_ipt;
    vz_ipt =  dev_conserved[o3*n_cells + id] / d_ipt;
    p_ipt  = (dev_conserved[4*n_cells + id] - 0.5*d_ipt*(vx_ipt*vx_ipt + vy_ipt*vy_ipt + vz_ipt*vz_ipt)) * (gamma - 1.0);
    p_ipt  = fmax(p_ipt, (Real) TINY_NUMBER);
    #ifdef DE
    ge_ipt = dev_conserved[(n_fields-1)*n_cells + id] / d_ipt;


  #ifdef DE
  Real ge_i, ge_imo, ge_ipo, ge_imt, ge_ipt, ge_L, ge_R;
  Real E, E_kin, GE;
  #ifdef CTU
  Real del_ge, ge_6, geL_0, geR_0;
  #endif
