      subroutine mulcccv(a,x,y,z,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer x1,y1,z1,a1
      integer x,y,z,a
      call mulcccvd(z,y,x,a,aa(1),aa(2))
      call mulcccvd(z,x,y,a,aa(3),aa(2))
      call mulcccvd(x,y,z,a,aa(1),aa(3))
      return
      end
 
       subroutine mulcecv(x1,z1,a1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,y1,z1,a1
      integer x,y,z,a
      if(itype(z1)==3) then
         a=z1
         z=a1
         x=x1
      else
         a=a1
         z=z1
         x=x1
      endif
      call mulcccvd(x,x,z,a,aa(1),aa(2))
      call mulcccvd(x,z,x,a,aa(2),aa(1))
      return
      end
