      subroutine mulccoo(x1,y1,i1,j1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(3)
      integer x1,y1,i1,j1
      if(igener>1)call mulccood(x1,y1,i1,j1,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
      call mulcocod(x1,i1,y1,j1,aa(3),aa(2))
      call mulcocod(x1,j1,y1,i1,aa(3),aa(1))
      return
      end
 
       subroutine mulceoo(x1,i1,j1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,i1,j1
      if(igener>1)call mulccood(x1,x1,i1,j1,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
      !call mulccood(x1,x1,j1,i1,aa(1))
!      call mulcoocd(x1,i1,j1,x1,aa(1))
!      call mulcoocd(x1,j1,i1,x1,aa(1))
      call mulcocod(x1,i1,x1,j1,aa(2),aa(1))
      !call mulcocod(x1,j1,x1,i1,aa(2),aa(1))
!      call mulcocox(x1,i1,x1,j1,aa(2)-aa(1))
      return
      end
 
       subroutine mulccoe(i1,x1,y1,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer x1,y1,i1
      if(w)print*,'mulccoei1,x1,y1 ',i1,x1,y1
      if(igener>1)call mulccood(x1,y1,i1,i1,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
      !call mulccood(y1,x1,i1,i1,aa(1))
!      call mulcoocd(x1,i1,i1,y1,aa(1))
!      call mulcoocd(y1,i1,i1,x1,aa(1))
      call mulcocod(x1,i1,y1,i1,aa(2),aa(1))
      !call mulcocod(x1,i1,y1,i1,aa(2),aa(1))
!      call mulcocox(x1,i1,y1,i1,aa(2)-aa(1))
 
      return
      end
 
 
