anchor.diff:  c     # Good luck.
   c     # ------------------------------------------------
   
  -      if (mth .le. 4) then
  +      if (mth .eq. 0) then
  +         return
  +      elseif (0 .lt. mth .and. mth .le. 4) then
   c        # Use minmod, superbee, etc.
            slim = philim(sl,sr,mth)
            compute_slopes = slim*sl
  
positive.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
           compute_slopes = min(abs(sl),abs(sr),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
  
negative.code: c        # not necessary, but used here to show that the harmonic average
  c        # can be seen as a convex combination of the two values, but weights
  c        # the smaller slope more heavily.
  c        # WARNING : sl+sr == 0 probably not handled correctly.
           a = abs(sr/(sl + sr))
           b = abs(sl/(sl + sr))
           sc = a*sl + b*sr
  