      subroutine mulccvv(a,b,x,y,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer x,y,z,a,b
      if(igener>1)call mulccvvd(x,y,a,b,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
      call mulcvcvd(x,a,y,b,aa(3),aa(2))
      call mulcvcvd(x,b,y,a,aa(3),aa(1))
 
      return
      end
 
       subroutine mulcevv(x1,a1,b1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,a1,b1
      integer x,a,b
      if(igener>1)call mulccvvd(x1,x1,a1,b1,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
!      call mulccvvd(x1,x1,b1,a1,aa(1))
!      call mulcvvcd(x1,a1,b1,x1,aa(1))
!      call mulcvvcd(x1,b1,a1,x1,aa(1))
      call mulcvcvd(x1,a1,x1,b1,aa(2),aa(1))
!      call mulcvcvd(x1,b1,x1,a1,aa(2))
!      call mulcvcvx(x1,a1,x1,b1,aa(2)-aa(1))
      return
      end
 
       subroutine mulccve(a1,x1,y1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,y1,a1
      integer x,y,a
      if(igener>1)call mulccvvd(x1,y1,a1,a1,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
!      call mulccvvd(y1,x1,a1,a1,aa(1))
!      call mulcvvcd(x1,a1,a1,y1,aa(1))
!      call mulcvvcd(y1,a1,a1,x1,aa(1))
      call mulcvcvd(x1,a1,y1,a1,aa(2),aa(1))
!      call mulcvcvx(x1,a1,y1,a1,aa(2)-aa(1))
      return
      end
 
