      subroutine mulvvoo(a,b,i,j,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      integer a,b
      dimension aa(3)
      if(.not.ytot.and.abs(aa(1))<10.d0) return
      if(igener==4)call mulvvoodx(a,b,i,j,aa(1),aa(2))
      if(iter==1.and.itest(22)==1) return
      call mulvovodx(a,i,b,j,aa(3),aa(2))
      call mulvovodx(a,j,b,i,aa(3),aa(1))
      return
      end
       subroutine mulvoo(a,i,j,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer a
      if(.not.ytot.and.abs(aa(1))<10.d0) return
      if(w)print*,'Entree  mulvoo',aa
      ! Integrale aaij
      if(w)print*,'mulvoo Integrale aaij',aa
      if(igener==4)call mulvvoodx(a,a,i,j,aa(1),aa(1))
      if(iter==1.and.itest(22)==1) return
      call mulvovodx(a,i,a,j,aa(2),aa(1))
      return
!      ! Integrale aiaj
!      if(w)print*,'mulvoo Integrale aiaj',aa
!      call mulvovod(a,i,a,j,aa(2))
!      call mulvoovd(a,j,i,a,aa(1))
!      if(w)print*,'mulvoo mulooovx',a,i,j
!      call mulvovox(a,i,a,j,aa(2)-aa(1))
      return
      end
       subroutine mulovv(i,a,b,aa)
      use module
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      dimension aa(2)
      integer a,b
      if(.not.ytot.and.abs(aa(1))<10.d0) return
      if(w)print*,'Entree  mulovv',aa
      ! Integrale aaij
      if(w)print*,'mulovv Integrale aaij',aa
      if(igener==4)call mulvvoodx(a,b,i,i,aa(1),aa(1))
      if(iter==1.and.itest(22)==1) return
      call mulvovodx(a,i,b,i,aa(2),aa(1))
      return
      end
