anchor.diff:        implicit none
   
         double precision sl,sr, s, sc, philim, slim
  -      double precision a,b
  +      double precision a,b, du
         integer mth
   
   c     # ------------------------------------------------
  
positive.code: c     # Good luck.
  c     # ------------------------------------------------
  
        if (mth .le. 4) then
  c        # Use minmod, superbee, etc.
           slim = philim(sl,sr,mth)
           compute_slopes = slim*sl
  
negative.code: c        # If sl,sr are the same sign : Use minimum of sl,sr or sc
  c        # If sl and sr have different signs; set slope to 0.
           sc = (sl + sr)/2.d0
           du = min(abs(sl),abs(sr))
           compute_slopes = min(2*du,abs(sc))*
       &         max(0.d0,sign(1.d0,sl*sr))*sign(1.d0,sc)
  
  c        # Do this to guarantee that ghost cells are used; this is a check
  