C SUPDE1    SOURCE    PV        21/10/01    21:15:01     11112          
      SUBROUTINE SUPDE1(IPPVV,IVPO,VAL,VECTBB,VECTAA,
     > na,inumli,inbine,iprel,ifib,dnorm)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION IPPVV(1),IVPO(1),VAL(1),VECTBB(1),VECTAA(1)
c procedure complémentaire de SUPDEP
c
      IMOI1 = IVPO(2*IPPVV(NA+1)-1)
      DO 50 ILM=NA,1,-1
       II=IPREL-1+ILM
       IDEB2=IPPVV(ILM)*2
       IMOI2= IVPO(IDEB2-1)
       LLOM=IMOI1-IMOI2-1
       IF (LLOM.GT.0) THEN
        IPOSM=IMOI2-1
        VKON=VECTAA(II)
        if (abs(vkon).lt.dnorm) vkon=0.d0
        IPLAC=IVPO(IDEB2)-1
        IDEBZ=1
        IPLAC2=II-LLOM-1
        DO 2 IDEB3=IDEB2,IFIB-2,2
        IMOI = IVPO ( IDEB3 +2)
*       if (imoi.gt.1000000000) then
*         write(6,*) 'supde1 imoi ideb3 ifib',imoi,ideb3,ifib
*       endif
        ILONZ=IMOI -IPLAC-IDEBZ
        IPLAC=IPLAC-IPLAC2
        IDEBZC=IDEBZ+IPLAC2
        ifu = MIN(IDEBZC+ILONZ,II)-1
        ifu = min( ifu,inbine)
        DO 1 L=IDEBZC,ifu
         VECTBB(L)=VECTBB(L)-VKON*VAL(IPLAC+L)
   1    CONTINUE
        IF (IDEBZ.GE.LLOM) GOTO 3
        IDEBZ=IVPO(IDEB3+1)-IPOSM
        IPLAC=IMOI-IDEBZ
   2    CONTINUE
   3    CONTINUE
       ENDIF
      IMOI1=IMOI2
          if ((inumli.le.(inbine+1)) .and. (inumli .ne. 1))
     &    VECTAA(inumli-1) = VECTBB(inumli-1)
          inumli = inumli - 1
  50  CONTINUE



           return
           end






 
