anchor.diff:          end if
       end function
   
  -    function push_to_one(p1) result(p2)
  +    pure function push_to_one(p1) result(p2)
           integer, intent(in) :: p1(:, :)
           integer             :: p2(size(p1, 1), size(p1, 2))
           integer             :: i, col_mins(3)
  
positive.code:         end forall
      end function
  
      function contains_p (ps, p) result(b)
          type(list), intent(in) :: ps
          integer, intent(in)    :: p(:, :)
          logical                :: b
  
negative.code:     end function
  
      ! Non-parallel version.
      pure function all_rots(p) result(ps)
          integer, intent(in) :: p(:, :)
          integer             :: p1(size(p, 1), size(p, 2))
          integer             :: d(3, 3, 3)
  