anchor.diff:        mwPointer, intent(in) :: mx
   !-LOC
         real(8), pointer :: mp(:)
  +      mwSize :: n1
   !-----
         mp => fpGetPr1(mx)
         if( .not.associated(mp) ) then
             nullify(fp)
             return
         endif
  -      fp => fpAllocate(size(mp))
  +      n1 = size(mp,1)
  +      fp => fpAllocate(n1)
         if( .not.associated(fp) ) then
             return
         endif
  
positive.code:       mwPointer, intent(in) :: mx
  !-LOC
        real(8), pointer :: mp(:,:,:,:,:), mi(:,:,:,:,:)
  !-----
        mp => fpGetPr5(mx)
        if( .not.associated(mp) ) then
            nullify(fz)
            return
        endif
        fz => fpAllocateZ(size(mp,1),size(mp,2),size(mp,3),size(mp,4),     &
       &                 size(mp,5))
        mi => fpGetPi5(mx)
        if( associated(mi) ) then
            call mxCopyReal88ToComplex16(mp, mi, fz, size(fz))
  
negative.code:       mwPointer, intent(in) :: mx
  !-LOC
        real(8), pointer :: mp(:,:), mi(:,:)
        mwSize :: n1,n2
  !-----
        mp => fpGetPr2(mx)
        if( .not.associated(mp) ) then
            nullify(fz)
            return
        endif
        n1 = size(mp,1)
        n2 = size(mp,2)
        fz => fpAllocateZ(n1,n2)
        mi => fpGetPi2(mx)
        if( associated(mi) ) then
            call mxCopyReal88ToComplex16(mp, mi, fz, size(fz))
  