      subroutine mulcocv(a1,x1,y1,i1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer x1,i1,y1,a1
      call mulccovd(x1,y1,i1,a1,aa(1),aa(3))
      !if(iter==1.and.itest(22)==1) return
      call mulcocvd(x1,i1,y1,a1,aa(2),aa(3))
      call mulcocvd(y1,i1,x1,a1,aa(2),aa(1))
      return
      end
 
       subroutine mulceov(x1,i1,a1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,a1,i1,a
      if (itype(i1)==1) then
         call mulccovd(x1,x1,i1,a1,aa(1),aa(2))
         !if(iter==1.and.itest(22)==1) return
         call mulcocvd(x1,i1,x1,a1,aa(2),aa(1))
      else
         a=i1
         i1=a1
         a1=a
         call mulccovd(x1,x1,i1,a1,aa(1),aa(2))
         !if(iter==1.and.itest(22)==1) return
         call mulcocvd(x1,i1,x1,a1,aa(2),aa(1))
      endif
      return
      end
 
 
