      SUBROUTINE COEF_CONSTRUCTION_1(P,NHEL,H,IC)
C
      IMPLICIT NONE
C
C     CONSTANTS
C
      INTEGER NBORNAMPS
      PARAMETER (NBORNAMPS=8)
      INTEGER    NEXTERNAL
      PARAMETER (NEXTERNAL=5)
      INTEGER    NCOMB
      PARAMETER (NCOMB=48)
      INTEGER    NLOOPS, NLOOPGROUPS, NCTAMPS
      PARAMETER (NLOOPS=162, NLOOPGROUPS=77, NCTAMPS=252)
      INTEGER    NWAVEFUNCS,NLOOPWAVEFUNCS
      PARAMETER (NWAVEFUNCS=28,NLOOPWAVEFUNCS=300)
      INTEGER MAXLWFSIZE
      PARAMETER (MAXLWFSIZE=4)
      INTEGER LOOPMAXCOEFS, VERTEXMAXCOEFS
      PARAMETER (LOOPMAXCOEFS=70, VERTEXMAXCOEFS=5)
      REAL*8     ZERO
      PARAMETER (ZERO=0D0)
      REAL*16     MP__ZERO
      PARAMETER (MP__ZERO=0.0E0_16)
C
C     ARGUMENTS
C
      REAL*8 P(0:3,NEXTERNAL)
      INTEGER NHEL(NEXTERNAL), IC(NEXTERNAL)
      INTEGER H
C
C     LOCAL VARIABLES
C
      INTEGER I,J,K
      COMPLEX*16 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
C
C     GLOBAL VARIABLES
C
      INCLUDE 'coupl.inc'
      INCLUDE 'mp_coupl.inc'

      INTEGER HELOFFSET
      INTEGER GOODHEL(NCOMB)
      LOGICAL GOODAMP(NLOOPGROUPS)
      COMMON/FILTERS/GOODAMP,GOODHEL,HELOFFSET

      COMPLEX*16 AMP(NBORNAMPS)
      COMMON/AMPS/AMP
      COMPLEX*16 W(20,NWAVEFUNCS)
      COMMON/W/W

      COMPLEX*16 WL(MAXLWFSIZE,0:LOOPMAXCOEFS-1,MAXLWFSIZE,0:NLOOPWAVEF
     $ UNCS)
      COMPLEX*16 PL(0:3,0:NLOOPWAVEFUNCS)
      COMMON/WL/WL,PL

      COMPLEX*16 LOOPCOEFS(0:LOOPMAXCOEFS-1,NLOOPS)
      COMMON/LCOEFS/LOOPCOEFS

      COMPLEX*16 AMPL(3,NCTAMPS)
      COMMON/AMPL/AMPL

      COMPLEX*16 LOOPRES(3,NLOOPGROUPS)
      LOGICAL S(NLOOPGROUPS)
      COMMON/LOOPRES/LOOPRES,S
C
C     ----------
C     BEGIN CODE
C     ----------

C     Coefficient construction for loop diagram with ID 9
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,1),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,1))
      CALL FFV1L2_1(PL(0,1),W(1,13),GC_5,ZERO,ZERO,PL(0,2),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,1),4,COEFS,4,4,WL(1,0,1,2))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,2),2,4,LOOPCOEFS(0,1),1,253,H)
C     Coefficient construction for loop diagram with ID 10
      CALL FFV1L2_1(PL(0,1),W(1,14),GC_5,ZERO,ZERO,PL(0,3),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,1),4,COEFS,4,4,WL(1,0,1,3))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,3),2,4,LOOPCOEFS(0,2),1,254,H)
C     Coefficient construction for loop diagram with ID 11
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,4),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,4))
      CALL FFV1L1_2(PL(0,4),W(1,2),GC_5,ZERO,ZERO,PL(0,5),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,5))
      CALL FFV1L1_2(PL(0,5),W(1,13),GC_5,ZERO,ZERO,PL(0,6),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,5),4,COEFS,4,4,WL(1,0,1,6))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,6),3,4,LOOPCOEFS(0,3),1,255,H)
C     Coefficient construction for loop diagram with ID 12
      CALL FFV1L1_2(PL(0,5),W(1,14),GC_5,ZERO,ZERO,PL(0,7),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,5),4,COEFS,4,4,WL(1,0,1,7))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,7),3,4,LOOPCOEFS(0,4),1,256,H)
C     Coefficient construction for loop diagram with ID 13
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,8),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,8))
      CALL FFV1L2_1(PL(0,8),W(1,2),GC_5,ZERO,ZERO,PL(0,9),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,8),4,COEFS,4,4,WL(1,0,1,9))
      CALL FFV1L2_1(PL(0,9),W(1,13),GC_5,ZERO,ZERO,PL(0,10),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,9),4,COEFS,4,4,WL(1,0,1,10))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,10),3,4,LOOPCOEFS(0,5),1,257,H)
C     Coefficient construction for loop diagram with ID 14
      CALL FFV1L2_1(PL(0,9),W(1,14),GC_5,ZERO,ZERO,PL(0,11),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,9),4,COEFS,4,4,WL(1,0,1,11))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,11),3,4,LOOPCOEFS(0,6),1,258,H)
C     Coefficient construction for loop diagram with ID 15
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,12),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,12))
      CALL FFV1L2_1(PL(0,12),W(1,13),GC_5,ZERO,ZERO,PL(0,13),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,12),4,COEFS,4,4,WL(1,0,1,13))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,13),2,4,LOOPCOEFS(0,7),1,259,H)
C     Coefficient construction for loop diagram with ID 16
      CALL FFV1L2_1(PL(0,12),W(1,14),GC_5,ZERO,ZERO,PL(0,14),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,12),4,COEFS,4,4,WL(1,0,1,14))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,14),2,4,LOOPCOEFS(0,8),1,260,H)
C     Coefficient construction for loop diagram with ID 17
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,15),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,15))
      CALL FFV1L1_2(PL(0,15),W(1,2),GC_5,ZERO,ZERO,PL(0,16),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,15),4,COEFS,4,4,WL(1,0,1,16))
      CALL FFV1L1_2(PL(0,16),W(1,13),GC_5,ZERO,ZERO,PL(0,17),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,16),4,COEFS,4,4,WL(1,0,1,17))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,17),3,4,LOOPCOEFS(0,9),1,261,H)
C     Coefficient construction for loop diagram with ID 18
      CALL FFV1L1_2(PL(0,16),W(1,14),GC_5,ZERO,ZERO,PL(0,18),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,16),4,COEFS,4,4,WL(1,0,1,18))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,18),3,4,LOOPCOEFS(0,10),1,262,H)
C     Coefficient construction for loop diagram with ID 19
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,19),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,19))
      CALL FFV1L2_1(PL(0,19),W(1,2),GC_5,ZERO,ZERO,PL(0,20),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,19),4,COEFS,4,4,WL(1,0,1,20))
      CALL FFV1L2_1(PL(0,20),W(1,13),GC_5,ZERO,ZERO,PL(0,21),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,20),4,COEFS,4,4,WL(1,0,1,21))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,21),3,4,LOOPCOEFS(0,11),1,263,H)
C     Coefficient construction for loop diagram with ID 20
      CALL FFV1L2_1(PL(0,20),W(1,14),GC_5,ZERO,ZERO,PL(0,22),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,20),4,COEFS,4,4,WL(1,0,1,22))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,22),3,4,LOOPCOEFS(0,12),1,264,H)
C     Coefficient construction for loop diagram with ID 21
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,23),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,23))
      CALL FFV1L2_1(PL(0,23),W(1,13),GC_5,ZERO,ZERO,PL(0,24),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1,24))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,24),2,4,LOOPCOEFS(0,13),1,265,H)
C     Coefficient construction for loop diagram with ID 22
      CALL FFV1L2_1(PL(0,23),W(1,14),GC_5,ZERO,ZERO,PL(0,25),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1,25))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,25),2,4,LOOPCOEFS(0,14),1,266,H)
C     Coefficient construction for loop diagram with ID 23
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,26),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,26))
      CALL FFV1L1_2(PL(0,26),W(1,2),GC_5,ZERO,ZERO,PL(0,27),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,26),4,COEFS,4,4,WL(1,0,1,27))
      CALL FFV1L1_2(PL(0,27),W(1,13),GC_5,ZERO,ZERO,PL(0,28),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,27),4,COEFS,4,4,WL(1,0,1,28))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,28),3,4,LOOPCOEFS(0,15),1,267,H)
C     Coefficient construction for loop diagram with ID 24
      CALL FFV1L1_2(PL(0,27),W(1,14),GC_5,ZERO,ZERO,PL(0,29),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,27),4,COEFS,4,4,WL(1,0,1,29))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,29),3,4,LOOPCOEFS(0,16),1,268,H)
C     Coefficient construction for loop diagram with ID 25
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,30),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,30))
      CALL FFV1L2_1(PL(0,30),W(1,2),GC_5,ZERO,ZERO,PL(0,31),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1,31))
      CALL FFV1L2_1(PL(0,31),W(1,13),GC_5,ZERO,ZERO,PL(0,32),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,31),4,COEFS,4,4,WL(1,0,1,32))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,32),3,4,LOOPCOEFS(0,17),1,269,H)
C     Coefficient construction for loop diagram with ID 26
      CALL FFV1L2_1(PL(0,31),W(1,14),GC_5,ZERO,ZERO,PL(0,33),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,31),4,COEFS,4,4,WL(1,0,1,33))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,33),3,4,LOOPCOEFS(0,18),1,270,H)
C     Coefficient construction for loop diagram with ID 27
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,34),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,34))
      CALL FFV1L2_1(PL(0,34),W(1,13),GC_5,ZERO,ZERO,PL(0,35),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,34),4,COEFS,4,4,WL(1,0,1,35))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,35),2,4,LOOPCOEFS(0,19),1,271,H)
C     Coefficient construction for loop diagram with ID 28
      CALL FFV1L2_1(PL(0,34),W(1,14),GC_5,ZERO,ZERO,PL(0,36),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,34),4,COEFS,4,4,WL(1,0,1,36))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,36),2,4,LOOPCOEFS(0,20),1,272,H)
C     Coefficient construction for loop diagram with ID 29
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,37),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,37))
      CALL FFV1L1_2(PL(0,37),W(1,2),GC_5,ZERO,ZERO,PL(0,38),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,37),4,COEFS,4,4,WL(1,0,1,38))
      CALL FFV1L1_2(PL(0,38),W(1,13),GC_5,ZERO,ZERO,PL(0,39),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,38),4,COEFS,4,4,WL(1,0,1,39))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,39),3,4,LOOPCOEFS(0,21),1,273,H)
C     Coefficient construction for loop diagram with ID 30
      CALL FFV1L1_2(PL(0,38),W(1,14),GC_5,ZERO,ZERO,PL(0,40),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,38),4,COEFS,4,4,WL(1,0,1,40))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,40),3,4,LOOPCOEFS(0,22),1,274,H)
C     Coefficient construction for loop diagram with ID 31
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,41),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,41))
      CALL FFV1L2_1(PL(0,41),W(1,2),GC_5,ZERO,ZERO,PL(0,42),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,41),4,COEFS,4,4,WL(1,0,1,42))
      CALL FFV1L2_1(PL(0,42),W(1,13),GC_5,ZERO,ZERO,PL(0,43),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,42),4,COEFS,4,4,WL(1,0,1,43))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,43),3,4,LOOPCOEFS(0,23),1,275,H)
C     Coefficient construction for loop diagram with ID 32
      CALL FFV1L2_1(PL(0,42),W(1,14),GC_5,ZERO,ZERO,PL(0,44),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,42),4,COEFS,4,4,WL(1,0,1,44))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,44),3,4,LOOPCOEFS(0,24),1,276,H)
C     Coefficient construction for loop diagram with ID 33
      CALL FFV1L1P0_3(PL(0,0),W(1,7),GC_5,ZERO,ZERO,PL(0,45),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,45))
      CALL FFV1L3_2(PL(0,45),W(1,15),GC_5,MDL_MB,ZERO,PL(0,46),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,45),4,COEFS,4,4,WL(1,0,1,46))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,46),1,4,LOOPCOEFS(0,25),1,277,H)
C     Coefficient construction for loop diagram with ID 34
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,MDL_MB,ZERO,PL(0,47),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,47))
      CALL FFV1L2_1(PL(0,47),W(1,13),GC_5,MDL_MB,ZERO,PL(0,48),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1,48))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,48),2,4,LOOPCOEFS(0,26),1,278,H)
C     Coefficient construction for loop diagram with ID 35
      CALL FFV1L3_2(PL(0,0),W(1,5),GC_5,MDL_MB,ZERO,PL(0,49),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,49))
      CALL FFV1L1_2(PL(0,49),W(1,6),GC_5,MDL_MB,ZERO,PL(0,50),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,49),4,COEFS,4,4,WL(1,0,1,50))
      CALL FFV1L1P0_3(PL(0,50),W(1,7),GC_5,ZERO,ZERO,PL(0,51),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,50),4,COEFS,4,4,WL(1,0,1,51))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,51),2,4,LOOPCOEFS(0,27),1,279,H)
C     Coefficient construction for loop diagram with ID 36
      CALL FFV1L2P0_3(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,52),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,52))
      CALL VVV1L2P0_1(PL(0,52),W(1,6),GC_4,ZERO,ZERO,PL(0,53),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1,53))
      CALL FFV1L3_1(PL(0,53),W(1,7),GC_5,MDL_MB,ZERO,PL(0,54),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,53),4,COEFS,4,4,WL(1,0,1,54))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,54),2,4,LOOPCOEFS(0,28),1,280,H)
C     Coefficient construction for loop diagram with ID 37
      CALL FFV1L2_1(PL(0,47),W(1,14),GC_5,MDL_MB,ZERO,PL(0,55),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1,55))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,55),2,4,LOOPCOEFS(0,29),1,281,H)
C     Coefficient construction for loop diagram with ID 38
      CALL FFV2L1_2(PL(0,0),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,56),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,56))
      CALL FFV1L1P0_3(PL(0,56),W(1,4),GC_5,ZERO,ZERO,PL(0,57),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1,57))
      CALL FFV1L3_2(PL(0,57),W(1,15),GC_5,MDL_MB,ZERO,PL(0,58),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,58))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,58),2,4,LOOPCOEFS(0,30),1,282,H)
C     Coefficient construction for loop diagram with ID 39
      CALL FFV1L3_2(PL(0,57),W(1,5),GC_5,MDL_MB,ZERO,PL(0,59),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,59))
      CALL FFV1L1_2(PL(0,59),W(1,6),GC_5,MDL_MB,ZERO,PL(0,60),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,59),4,COEFS,4,4,WL(1,0,1,60))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,60),3,4,LOOPCOEFS(0,31),1,283,H)
C     Coefficient construction for loop diagram with ID 40
      CALL FFV2L2_1(PL(0,0),W(1,3),GC_47,MDL_MB,ZERO,PL(0,61),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,61))
      CALL FFV1L2P0_3(PL(0,61),W(1,5),GC_5,ZERO,ZERO,PL(0,62),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,61),4,COEFS,4,4,WL(1,0,1,62))
      CALL FFV1L3_1(PL(0,62),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,63),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,62),4,COEFS,4,4,WL(1,0,1,63))
      CALL FFV1L2_1(PL(0,63),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,64),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,63),4,COEFS,4,4,WL(1,0,1,64))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,64),3,4,LOOPCOEFS(0,32),1,284,H)
C     Coefficient construction for loop diagram with ID 41
      CALL FFV1L3_1(PL(0,62),W(1,16),GC_5,MDL_MT,MDL_WT,PL(0,65),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,62),4,COEFS,4,4,WL(1,0,1,65))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,65),2,4,LOOPCOEFS(0,33),1,285,H)
C     Coefficient construction for loop diagram with ID 42
      CALL VVV1L2P0_1(PL(0,57),W(1,6),GC_4,ZERO,ZERO,PL(0,66),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,66))
      CALL FFV1L3_2(PL(0,66),W(1,5),GC_5,MDL_MB,ZERO,PL(0,67),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,66),4,COEFS,4,4,WL(1,0,1,67))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,67),3,4,LOOPCOEFS(0,34),1,286,H)
C     Coefficient construction for loop diagram with ID 43
      CALL FFV1L2P0_3(PL(0,0),W(1,10),GC_5,ZERO,ZERO,PL(0,68),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,68))
      CALL FFV1L3_1(PL(0,68),W(1,17),GC_5,MDL_MB,ZERO,PL(0,69),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,68),4,COEFS,4,4,WL(1,0,1,69))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,69),1,4,LOOPCOEFS(0,35),1,287,H)
C     Coefficient construction for loop diagram with ID 44
      CALL FFV1L1P0_3(PL(0,56),W(1,9),GC_5,ZERO,ZERO,PL(0,70),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1,70))
      CALL FFV1L3_2(PL(0,70),W(1,10),GC_5,MDL_MB,ZERO,PL(0,71),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,70),4,COEFS,4,4,WL(1,0,1,71))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,71),2,4,LOOPCOEFS(0,36),1,288,H)
C     Coefficient construction for loop diagram with ID 45
      CALL FFV1L2_1(PL(0,0),W(1,2),GC_5,MDL_MB,ZERO,PL(0,72),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,72))
      CALL FFV1L2P0_3(PL(0,72),W(1,5),GC_5,ZERO,ZERO,PL(0,73),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,72),4,COEFS,4,4,WL(1,0,1,73))
      CALL FFV1L3_1(PL(0,73),W(1,17),GC_5,MDL_MB,ZERO,PL(0,74),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,73),4,COEFS,4,4,WL(1,0,1,74))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,74),2,4,LOOPCOEFS(0,37),1,289,H)
C     Coefficient construction for loop diagram with ID 46
      CALL FFV1L1_2(PL(0,0),W(1,2),GC_5,MDL_MB,ZERO,PL(0,75),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,75))
      CALL FFV2L1_2(PL(0,75),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,76),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,75),4,COEFS,4,4,WL(1,0,1,76))
      CALL FFV1L1P0_3(PL(0,76),W(1,9),GC_5,ZERO,ZERO,PL(0,77),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,76),4,COEFS,4,4,WL(1,0,1,77))
      CALL FFV1L3_2(PL(0,77),W(1,5),GC_5,MDL_MB,ZERO,PL(0,78),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,77),4,COEFS,4,4,WL(1,0,1,78))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,78),3,4,LOOPCOEFS(0,38),1,290,H)
C     Coefficient construction for loop diagram with ID 47
      CALL FFV1L3_1(PL(0,62),W(1,18),GC_5,MDL_MT,MDL_WT,PL(0,79),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,62),4,COEFS,4,4,WL(1,0,1,79))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,79),2,4,LOOPCOEFS(0,39),1,291,H)
C     Coefficient construction for loop diagram with ID 48
      CALL VVV1L2P0_1(PL(0,0),W(1,2),GC_4,ZERO,ZERO,PL(0,80),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,80))
      CALL FFV1L3_2(PL(0,80),W(1,5),GC_5,MDL_MB,ZERO,PL(0,81),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,81))
      CALL FFV2L1_2(PL(0,81),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,82),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,81),4,COEFS,4,4,WL(1,0,1,82))
      CALL FFV1L1P0_3(PL(0,82),W(1,9),GC_5,ZERO,ZERO,PL(0,83),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,82),4,COEFS,4,4,WL(1,0,1,83))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,83),3,4,LOOPCOEFS(0,40),1,292,H)
C     Coefficient construction for loop diagram with ID 49
      CALL FFV1L2_1(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,84),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,84))
      CALL FFV2L2_1(PL(0,84),W(1,3),GC_47,MDL_MB,ZERO,PL(0,85),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,84),4,COEFS,4,4,WL(1,0,1,85))
      CALL FFV1L2P0_3(PL(0,85),W(1,5),GC_5,ZERO,ZERO,PL(0,86),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,85),4,COEFS,4,4,WL(1,0,1,86))
      CALL FFV1L3_1(PL(0,86),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,87),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,86),4,COEFS,4,4,WL(1,0,1,87))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,87),3,4,LOOPCOEFS(0,41),1,293,H)
C     Coefficient construction for loop diagram with ID 50
      CALL FFV1L1P0_3(PL(0,81),W(1,17),GC_5,ZERO,ZERO,PL(0,88),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,81),4,COEFS,4,4,WL(1,0,1,88))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,88),2,4,LOOPCOEFS(0,42),1,294,H)
C     Coefficient construction for loop diagram with ID 51
      CALL FFV1L2P0_3(PL(0,0),W(1,11),GC_5,ZERO,ZERO,PL(0,89),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,89))
      CALL FFV1L3_1(PL(0,89),W(1,19),GC_5,MDL_MB,ZERO,PL(0,90),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,89),4,COEFS,4,4,WL(1,0,1,90))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,90),1,4,LOOPCOEFS(0,43),1,295,H)
C     Coefficient construction for loop diagram with ID 52
      CALL FFV1L1P0_3(PL(0,56),W(1,12),GC_5,ZERO,ZERO,PL(0,91),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1,91))
      CALL FFV1L3_2(PL(0,91),W(1,11),GC_5,MDL_MB,ZERO,PL(0,92),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,91),4,COEFS,4,4,WL(1,0,1,92))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,92),2,4,LOOPCOEFS(0,44),1,296,H)
C     Coefficient construction for loop diagram with ID 53
      CALL FFV1L1P0_3(PL(0,75),W(1,7),GC_5,ZERO,ZERO,PL(0,93),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,75),4,COEFS,4,4,WL(1,0,1,93))
      CALL FFV1L3_2(PL(0,93),W(1,11),GC_5,MDL_MB,ZERO,PL(0,94),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,93),4,COEFS,4,4,WL(1,0,1,94))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,94),2,4,LOOPCOEFS(0,45),1,297,H)
C     Coefficient construction for loop diagram with ID 54
      CALL FFV1L1P0_3(PL(0,76),W(1,4),GC_5,ZERO,ZERO,PL(0,95),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,76),4,COEFS,4,4,WL(1,0,1,95))
      CALL FFV1L3_2(PL(0,95),W(1,11),GC_5,MDL_MB,ZERO,PL(0,96),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,95),4,COEFS,4,4,WL(1,0,1,96))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,96),3,4,LOOPCOEFS(0,46),1,298,H)
C     Coefficient construction for loop diagram with ID 55
      CALL FFV1L3_2(PL(0,45),W(1,20),GC_5,MDL_MB,ZERO,PL(0,97),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,45),4,COEFS,4,4,WL(1,0,1,97))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,97),1,4,LOOPCOEFS(0,47),1,299,H)
C     Coefficient construction for loop diagram with ID 56
      CALL FFV1L3_1(PL(0,89),W(1,21),GC_5,MDL_MB,ZERO,PL(0,98),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,89),4,COEFS,4,4,WL(1,0,1,98))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,98),1,4,LOOPCOEFS(0,48),1,300,H)
C     Coefficient construction for loop diagram with ID 57
      CALL FFV1L3_1(PL(0,80),W(1,7),GC_5,MDL_MB,ZERO,PL(0,99),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,99))
      CALL FFV1L2P0_3(PL(0,99),W(1,11),GC_5,ZERO,ZERO,PL(0,100),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,99),4,COEFS,4,4,WL(1,0,1,100))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,100),2,4,LOOPCOEFS(0,49),1,301,H)
C     Coefficient construction for loop diagram with ID 58
      CALL FFV1L3_2(PL(0,57),W(1,20),GC_5,MDL_MB,ZERO,PL(0,101),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,101))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,101),2,4,LOOPCOEFS(0,50),1,302,H)
C     Coefficient construction for loop diagram with ID 59
      CALL FFV1L2P0_3(PL(0,85),W(1,11),GC_5,ZERO,ZERO,PL(0,102),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,85),4,COEFS,4,4,WL(1,0,1,102))
      CALL FFV1L3_1(PL(0,102),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,103)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,102),4,COEFS,4,4,WL(1,0,1,103))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,103),3,4,LOOPCOEFS(0,51),1,303,H)
C     Coefficient construction for loop diagram with ID 60
      CALL FFV1L3_1(PL(0,80),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,104),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,104))
      CALL FFV2L2_1(PL(0,104),W(1,3),GC_47,MDL_MB,ZERO,PL(0,105),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,104),4,COEFS,4,4,WL(1,0,1,105))
      CALL FFV1L2P0_3(PL(0,105),W(1,11),GC_5,ZERO,ZERO,PL(0,106),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,105),4,COEFS,4,4,WL(1,0,1,106))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,106),3,4,LOOPCOEFS(0,52),1,304,H)
C     Coefficient construction for loop diagram with ID 61
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,107),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,107))
      CALL FFV1L2P0_3(PL(0,107),W(1,5),GC_5,ZERO,ZERO,PL(0,108),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,107),4,COEFS,4,4,WL(1,0,1,108))
      CALL FFV1L3_1(PL(0,108),W(1,19),GC_5,MDL_MB,ZERO,PL(0,109),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,108),4,COEFS,4,4,WL(1,0,1,109))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,109),2,4,LOOPCOEFS(0,53),1,305,H)
C     Coefficient construction for loop diagram with ID 62
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,110),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,110))
      CALL FFV2L1_2(PL(0,110),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,111)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,110),4,COEFS,4,4,WL(1,0,1,111))
      CALL FFV1L1P0_3(PL(0,111),W(1,12),GC_5,ZERO,ZERO,PL(0,112),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,111),4,COEFS,4,4,WL(1,0,1,112))
      CALL FFV1L3_2(PL(0,112),W(1,5),GC_5,MDL_MB,ZERO,PL(0,113),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,112),4,COEFS,4,4,WL(1,0,1,113))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,113),3,4,LOOPCOEFS(0,54),1,306,H)
C     Coefficient construction for loop diagram with ID 63
      CALL FFV1L1P0_3(PL(0,110),W(1,7),GC_5,ZERO,ZERO,PL(0,114),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,110),4,COEFS,4,4,WL(1,0,1,114))
      CALL FFV1L3_2(PL(0,114),W(1,10),GC_5,MDL_MB,ZERO,PL(0,115),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,114),4,COEFS,4,4,WL(1,0,1,115))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,115),2,4,LOOPCOEFS(0,55),1,307,H)
C     Coefficient construction for loop diagram with ID 64
      CALL FFV1L1P0_3(PL(0,111),W(1,4),GC_5,ZERO,ZERO,PL(0,116),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,111),4,COEFS,4,4,WL(1,0,1,116))
      CALL FFV1L3_2(PL(0,116),W(1,10),GC_5,MDL_MB,ZERO,PL(0,117),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,116),4,COEFS,4,4,WL(1,0,1,117))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,117),3,4,LOOPCOEFS(0,56),1,308,H)
C     Coefficient construction for loop diagram with ID 65
      CALL FFV1L1_2(PL(0,110),W(1,2),GC_5,MDL_MB,ZERO,PL(0,118),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,110),4,COEFS,4,4,WL(1,0,1,118))
      CALL FFV2L1_2(PL(0,118),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,119)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,118),4,COEFS,4,4,WL(1,0,1,119))
      CALL FFV1L1P0_3(PL(0,119),W(1,4),GC_5,ZERO,ZERO,PL(0,120),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,119),4,COEFS,4,4,WL(1,0,1,120))
      CALL FFV1L3_2(PL(0,120),W(1,5),GC_5,MDL_MB,ZERO,PL(0,121),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,120),4,COEFS,4,4,WL(1,0,1,121))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,121),4,4,LOOPCOEFS(0,57),1,309,H)
C     Coefficient construction for loop diagram with ID 66
      CALL FFV1L1_2(PL(0,118),W(1,13),GC_5,MDL_MB,ZERO,PL(0,122),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,118),4,COEFS,4,4,WL(1,0,1,122))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,122),3,4,LOOPCOEFS(0,58),1,310,H)
C     Coefficient construction for loop diagram with ID 67
      CALL FFV1L1P0_3(PL(0,118),W(1,7),GC_5,ZERO,ZERO,PL(0,123),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,118),4,COEFS,4,4,WL(1,0,1,123))
      CALL FFV1L3_2(PL(0,123),W(1,5),GC_5,MDL_MB,ZERO,PL(0,124),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,123),4,COEFS,4,4,WL(1,0,1,124))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,124),3,4,LOOPCOEFS(0,59),1,311,H)
C     Coefficient construction for loop diagram with ID 68
      CALL FFV1L1_2(PL(0,118),W(1,14),GC_5,MDL_MB,ZERO,PL(0,125),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,118),4,COEFS,4,4,WL(1,0,1,125))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,125),3,4,LOOPCOEFS(0,60),1,312,H)
C     Coefficient construction for loop diagram with ID 69
      CALL FFV1L2_1(PL(0,107),W(1,2),GC_5,MDL_MB,ZERO,PL(0,126),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,107),4,COEFS,4,4,WL(1,0,1,126))
      CALL FFV1L2_1(PL(0,126),W(1,13),GC_5,MDL_MB,ZERO,PL(0,127),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,126),4,COEFS,4,4,WL(1,0,1,127))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,127),3,4,LOOPCOEFS(0,61),1,313,H)
C     Coefficient construction for loop diagram with ID 70
      CALL FFV1L2P0_3(PL(0,126),W(1,5),GC_5,ZERO,ZERO,PL(0,128),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,126),4,COEFS,4,4,WL(1,0,1,128))
      CALL FFV1L3_1(PL(0,128),W(1,7),GC_5,MDL_MB,ZERO,PL(0,129),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,128),4,COEFS,4,4,WL(1,0,1,129))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,129),3,4,LOOPCOEFS(0,62),1,314,H)
C     Coefficient construction for loop diagram with ID 71
      CALL FFV1L3_1(PL(0,108),W(1,21),GC_5,MDL_MB,ZERO,PL(0,130),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,108),4,COEFS,4,4,WL(1,0,1,130))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,130),2,4,LOOPCOEFS(0,63),1,315,H)
C     Coefficient construction for loop diagram with ID 72
      CALL VVV1L2P0_1(PL(0,108),W(1,2),GC_4,ZERO,ZERO,PL(0,131),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,108),4,COEFS,4,4,WL(1,0,1,131))
      CALL FFV1L3_1(PL(0,131),W(1,7),GC_5,MDL_MB,ZERO,PL(0,132),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,131),4,COEFS,4,4,WL(1,0,1,132))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,132),3,4,LOOPCOEFS(0,64),1,316,H)
C     Coefficient construction for loop diagram with ID 73
      CALL FFV1L2_1(PL(0,126),W(1,14),GC_5,MDL_MB,ZERO,PL(0,133),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,126),4,COEFS,4,4,WL(1,0,1,133))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,133),3,4,LOOPCOEFS(0,65),1,317,H)
C     Coefficient construction for loop diagram with ID 74
      CALL FFV1L3_1(PL(0,128),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,134)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,128),4,COEFS,4,4,WL(1,0,1,134))
      CALL FFV2L2_1(PL(0,134),W(1,3),GC_47,MDL_MB,ZERO,PL(0,135),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,134),4,COEFS,4,4,WL(1,0,1,135))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,135),4,4,LOOPCOEFS(0,66),1,318,H)
C     Coefficient construction for loop diagram with ID 75
      CALL FFV1L1_2(PL(0,111),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,136)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,111),4,COEFS,4,4,WL(1,0,1,136))
      CALL FFV1L1P0_3(PL(0,136),W(1,4),GC_5,ZERO,ZERO,PL(0,137),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,136),4,COEFS,4,4,WL(1,0,1,137))
      CALL FFV1L3_2(PL(0,137),W(1,5),GC_5,MDL_MB,ZERO,PL(0,138),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,137),4,COEFS,4,4,WL(1,0,1,138))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,138),4,4,LOOPCOEFS(0,67),1,319,H)
C     Coefficient construction for loop diagram with ID 76
      CALL VVV1L2P0_1(PL(0,116),W(1,2),GC_4,ZERO,ZERO,PL(0,139),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,116),4,COEFS,4,4,WL(1,0,1,139))
      CALL FFV1L3_2(PL(0,139),W(1,5),GC_5,MDL_MB,ZERO,PL(0,140),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,139),4,COEFS,4,4,WL(1,0,1,140))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,140),4,4,LOOPCOEFS(0,68),1,320,H)
C     Coefficient construction for loop diagram with ID 77
      CALL FFV1L3_1(PL(0,62),W(1,22),GC_5,MDL_MT,MDL_WT,PL(0,141)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,62),4,COEFS,4,4,WL(1,0,1,141))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,141),2,4,LOOPCOEFS(0,69),1,321,H)
C     Coefficient construction for loop diagram with ID 78
      CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,142),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,142))
      CALL FFV2L2_1(PL(0,142),W(1,3),GC_47,MDL_MB,ZERO,PL(0,143),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,142),4,COEFS,4,4,WL(1,0,1,143))
      CALL FFV1L2P0_3(PL(0,143),W(1,5),GC_5,ZERO,ZERO,PL(0,144),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,143),4,COEFS,4,4,WL(1,0,1,144))
      CALL FFV1L3_1(PL(0,144),W(1,12),GC_5,MDL_MT,MDL_WT,PL(0,145)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,144),4,COEFS,4,4,WL(1,0,1,145))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,145),3,4,LOOPCOEFS(0,70),1,322,H)
C     Coefficient construction for loop diagram with ID 79
      CALL VVV1L2P0_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,146),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,146))
      CALL FFV1L3_2(PL(0,146),W(1,5),GC_5,MDL_MB,ZERO,PL(0,147),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,147))
      CALL FFV2L1_2(PL(0,147),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,148)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,147),4,COEFS,4,4,WL(1,0,1,148))
      CALL FFV1L1P0_3(PL(0,148),W(1,12),GC_5,ZERO,ZERO,PL(0,149),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,148),4,COEFS,4,4,WL(1,0,1,149))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,149),3,4,LOOPCOEFS(0,71),1,323,H)
C     Coefficient construction for loop diagram with ID 80
      CALL FFV1L1P0_3(PL(0,147),W(1,19),GC_5,ZERO,ZERO,PL(0,150),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,147),4,COEFS,4,4,WL(1,0,1,150))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,150),2,4,LOOPCOEFS(0,72),1,324,H)
C     Coefficient construction for loop diagram with ID 81
      CALL FFV1L3_2(PL(0,45),W(1,23),GC_5,MDL_MB,ZERO,PL(0,151),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,45),4,COEFS,4,4,WL(1,0,1,151))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,151),1,4,LOOPCOEFS(0,73),1,325,H)
C     Coefficient construction for loop diagram with ID 82
      CALL FFV1L3_1(PL(0,68),W(1,24),GC_5,MDL_MB,ZERO,PL(0,152),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,68),4,COEFS,4,4,WL(1,0,1,152))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,152),1,4,LOOPCOEFS(0,74),1,326,H)
C     Coefficient construction for loop diagram with ID 83
      CALL FFV1L3_1(PL(0,146),W(1,7),GC_5,MDL_MB,ZERO,PL(0,153),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,153))
      CALL FFV1L2P0_3(PL(0,153),W(1,10),GC_5,ZERO,ZERO,PL(0,154),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,153),4,COEFS,4,4,WL(1,0,1,154))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,154),2,4,LOOPCOEFS(0,75),1,327,H)
C     Coefficient construction for loop diagram with ID 84
      CALL FFV1L3_2(PL(0,57),W(1,23),GC_5,MDL_MB,ZERO,PL(0,155),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,155))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,155),2,4,LOOPCOEFS(0,76),1,328,H)
C     Coefficient construction for loop diagram with ID 85
      CALL FFV1L2P0_3(PL(0,143),W(1,10),GC_5,ZERO,ZERO,PL(0,156),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,143),4,COEFS,4,4,WL(1,0,1,156))
      CALL FFV1L3_1(PL(0,156),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,157)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,156),4,COEFS,4,4,WL(1,0,1,157))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,157),3,4,LOOPCOEFS(0,77),1,329,H)
C     Coefficient construction for loop diagram with ID 86
      CALL FFV1L3_1(PL(0,146),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,158)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,158))
      CALL FFV2L2_1(PL(0,158),W(1,3),GC_47,MDL_MB,ZERO,PL(0,159),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,158),4,COEFS,4,4,WL(1,0,1,159))
      CALL FFV1L2P0_3(PL(0,159),W(1,10),GC_5,ZERO,ZERO,PL(0,160),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,159),4,COEFS,4,4,WL(1,0,1,160))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,160),3,4,LOOPCOEFS(0,78),1,330,H)
C     Coefficient construction for loop diagram with ID 87
      CALL FFV1L3_1(PL(0,73),W(1,24),GC_5,MDL_MB,ZERO,PL(0,161),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,73),4,COEFS,4,4,WL(1,0,1,161))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,161),2,4,LOOPCOEFS(0,79),1,331,H)
C     Coefficient construction for loop diagram with ID 88
      CALL FFV1L1_2(PL(0,147),W(1,2),GC_5,MDL_MB,ZERO,PL(0,162),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,147),4,COEFS,4,4,WL(1,0,1,162))
      CALL FFV1L1P0_3(PL(0,162),W(1,7),GC_5,ZERO,ZERO,PL(0,163),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,162),4,COEFS,4,4,WL(1,0,1,163))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,163),3,4,LOOPCOEFS(0,80),1,332,H)
C     Coefficient construction for loop diagram with ID 89
      CALL FFV1L2_1(PL(0,143),W(1,2),GC_5,MDL_MB,ZERO,PL(0,164),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,143),4,COEFS,4,4,WL(1,0,1,164))
      CALL FFV1L2P0_3(PL(0,164),W(1,5),GC_5,ZERO,ZERO,PL(0,165),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,164),4,COEFS,4,4,WL(1,0,1,165))
      CALL FFV1L3_1(PL(0,165),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,166)
     $ ,COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,165),4,COEFS,4,4,WL(1,0,1,166))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,166),4,4,LOOPCOEFS(0,81),1,333,H)
C     Coefficient construction for loop diagram with ID 90
      CALL FFV1L2_1(PL(0,159),W(1,2),GC_5,MDL_MB,ZERO,PL(0,167),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,159),4,COEFS,4,4,WL(1,0,1,167))
      CALL FFV1L2P0_3(PL(0,167),W(1,5),GC_5,ZERO,ZERO,PL(0,168),COEFS)
      CALL UPDATE_WL_4_0(WL(1,0,1,167),4,COEFS,4,4,WL(1,0,1,168))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,168),4,4,LOOPCOEFS(0,82),1,334,H)
C     Coefficient construction for loop diagram with ID 91
      CALL FFV1L1P0_3(PL(0,81),W(1,24),GC_5,ZERO,ZERO,PL(0,169),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,81),4,COEFS,4,4,WL(1,0,1,169))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,169),2,4,LOOPCOEFS(0,83),1,335,H)
C     Coefficient construction for loop diagram with ID 92
      CALL FFV1L1P0_3(PL(0,147),W(1,21),GC_5,ZERO,ZERO,PL(0,170),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,147),4,COEFS,4,4,WL(1,0,1,170))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,170),2,4,LOOPCOEFS(0,84),1,336,H)
C     Coefficient construction for loop diagram with ID 93
      CALL VVV1L2P0_1(PL(0,146),W(1,2),GC_4,ZERO,ZERO,PL(0,171),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,171))
      CALL FFV1L3_1(PL(0,171),W(1,7),GC_5,MDL_MB,ZERO,PL(0,172),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,172))
      CALL FFV1L2P0_3(PL(0,172),W(1,5),GC_5,ZERO,ZERO,PL(0,173),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,172),4,COEFS,4,4,WL(1,0,1,173))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,173),3,4,LOOPCOEFS(0,85),1,337,H)
C     Coefficient construction for loop diagram with ID 94
      CALL FFV1L3_2(PL(0,171),W(1,5),GC_5,MDL_MB,ZERO,PL(0,174),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,174))
      CALL FFV1L1P0_3(PL(0,174),W(1,7),GC_5,ZERO,ZERO,PL(0,175),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,174),4,COEFS,4,4,WL(1,0,1,175))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,175),3,4,LOOPCOEFS(0,86),1,338,H)
C     Coefficient construction for loop diagram with ID 95
      CALL VVVV1L2P0_1(PL(0,52),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,176)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1,176))
      CALL VVVV3L2P0_1(PL(0,52),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,177)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1,177))
      CALL VVVV4L2P0_1(PL(0,52),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,178)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1,178))
      CALL FFV1L3_1(PL(0,176),W(1,7),GC_5,MDL_MB,ZERO,PL(0,179),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,176),4,COEFS,4,4,WL(1,0,1,179))
      CALL FFV1L3_1(PL(0,177),W(1,7),GC_5,MDL_MB,ZERO,PL(0,180),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,177),4,COEFS,4,4,WL(1,0,1,180))
      CALL FFV1L3_1(PL(0,178),W(1,7),GC_5,MDL_MB,ZERO,PL(0,181),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,178),4,COEFS,4,4,WL(1,0,1,181))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,179),1,4,LOOPCOEFS(0,87),1,339,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,180),1,4,LOOPCOEFS(0,88),1,340,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,181),1,4,LOOPCOEFS(0,89),1,341,H)
C     Coefficient construction for loop diagram with ID 96
      CALL VVV1L2P0_1(PL(0,144),W(1,2),GC_4,ZERO,ZERO,PL(0,182),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,144),4,COEFS,4,4,WL(1,0,1,182))
      CALL FFV1L3_1(PL(0,182),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,183)
     $ ,COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,182),4,COEFS,4,4,WL(1,0,1,183))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,183),4,4,LOOPCOEFS(0,90),1,342,H)
C     Coefficient construction for loop diagram with ID 97
      CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,184),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,184))
      CALL FFV1L1_2(PL(0,184),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,185)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,184),4,COEFS,4,4,WL(1,0,1,185))
      CALL FFV1L1P0_3(PL(0,185),W(1,4),GC_5,ZERO,ZERO,PL(0,186),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,185),4,COEFS,4,4,WL(1,0,1,186))
      CALL FFV1L3_2(PL(0,186),W(1,5),GC_5,MDL_MB,ZERO,PL(0,187),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,186),4,COEFS,4,4,WL(1,0,1,187))
      CALL FFV2L1_2(PL(0,187),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,188)
     $ ,COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,187),4,COEFS,4,4,WL(1,0,1,188))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,188),4,4,LOOPCOEFS(0,91),1,343,H)
C     Coefficient construction for loop diagram with ID 98
      CALL FFV1L2_1(PL(0,158),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,189)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,158),4,COEFS,4,4,WL(1,0,1,189))
      CALL FFV2L2_1(PL(0,189),W(1,3),GC_47,MDL_MB,ZERO,PL(0,190),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,189),4,COEFS,4,4,WL(1,0,1,190))
      CALL FFV1L2P0_3(PL(0,190),W(1,5),GC_5,ZERO,ZERO,PL(0,191),COEFS)
      CALL UPDATE_WL_4_0(WL(1,0,1,190),4,COEFS,4,4,WL(1,0,1,191))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,191),4,4,LOOPCOEFS(0,92),1,344,H)
C     Coefficient construction for loop diagram with ID 99
      CALL FFV1L3_1(PL(0,171),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,192)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,192))
      CALL FFV2L2_1(PL(0,192),W(1,3),GC_47,MDL_MB,ZERO,PL(0,193),COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,192),4,COEFS,4,4,WL(1,0,1,193))
      CALL FFV1L2P0_3(PL(0,193),W(1,5),GC_5,ZERO,ZERO,PL(0,194),COEFS)
      CALL UPDATE_WL_4_0(WL(1,0,1,193),4,COEFS,4,4,WL(1,0,1,194))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,194),4,4,LOOPCOEFS(0,93),1,345,H)
C     Coefficient construction for loop diagram with ID 100
      CALL FFV1L2_1(PL(0,142),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,195)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,142),4,COEFS,4,4,WL(1,0,1,195))
      CALL FFV2L2_1(PL(0,195),W(1,3),GC_47,MDL_MB,ZERO,PL(0,196),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,195),4,COEFS,4,4,WL(1,0,1,196))
      CALL FFV1L2P0_3(PL(0,196),W(1,5),GC_5,ZERO,ZERO,PL(0,197),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,196),4,COEFS,4,4,WL(1,0,1,197))
      CALL FFV1L3_1(PL(0,197),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,198)
     $ ,COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,197),4,COEFS,4,4,WL(1,0,1,198))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,198),4,4,LOOPCOEFS(0,94),1,346,H)
C     Coefficient construction for loop diagram with ID 101
      CALL FFV2L1_2(PL(0,174),W(1,3),GC_47,MDL_MT,MDL_WT,PL(0,199)
     $ ,COEFS)
      CALL UPDATE_WL_3_1(WL(1,0,1,174),4,COEFS,4,4,WL(1,0,1,199))
      CALL FFV1L1P0_3(PL(0,199),W(1,4),GC_5,ZERO,ZERO,PL(0,200),COEFS)
      CALL UPDATE_WL_4_0(WL(1,0,1,199),4,COEFS,4,4,WL(1,0,1,200))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,200),4,4,LOOPCOEFS(0,95),1,347,H)
C     Coefficient construction for loop diagram with ID 102
      CALL VVVV1L2P0_1(PL(0,57),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,201)
     $ ,COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,201))
      CALL VVVV3L2P0_1(PL(0,57),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,202)
     $ ,COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,202))
      CALL VVVV4L2P0_1(PL(0,57),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,203)
     $ ,COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1,203))
      CALL FFV1L3_2(PL(0,201),W(1,5),GC_5,MDL_MB,ZERO,PL(0,204),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,201),4,COEFS,4,4,WL(1,0,1,204))
      CALL FFV1L3_2(PL(0,202),W(1,5),GC_5,MDL_MB,ZERO,PL(0,205),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,202),4,COEFS,4,4,WL(1,0,1,205))
      CALL FFV1L3_2(PL(0,203),W(1,5),GC_5,MDL_MB,ZERO,PL(0,206),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,203),4,COEFS,4,4,WL(1,0,1,206))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,204),2,4,LOOPCOEFS(0,96),1,348,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,205),2,4,LOOPCOEFS(0,97),1,349,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,206),2,4,LOOPCOEFS(0,98),1,350,H)
C     Coefficient construction for loop diagram with ID 103
      CALL FFV1L2_1(PL(0,0),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,207),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,207))
      CALL FFV1L2_1(PL(0,207),W(1,13),GC_5,MDL_MT,MDL_WT,PL(0,208)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,207),4,COEFS,4,4,WL(1,0,1,208))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,208),2,4,LOOPCOEFS(0,99),1,351,H)
C     Coefficient construction for loop diagram with ID 104
      CALL FFV1L2P0_3(PL(0,0),W(1,8),GC_5,ZERO,ZERO,PL(0,209),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,209))
      CALL FFV1L3_1(PL(0,209),W(1,16),GC_5,MDL_MT,MDL_WT,PL(0,210)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,209),4,COEFS,4,4,WL(1,0,1,210))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,210),1,4,LOOPCOEFS(0,100),1,352
     $ ,H)
C     Coefficient construction for loop diagram with ID 105
      CALL FFV1L2_1(PL(0,207),W(1,14),GC_5,MDL_MT,MDL_WT,PL(0,211)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,207),4,COEFS,4,4,WL(1,0,1,211))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,211),2,4,LOOPCOEFS(0,101),1,353
     $ ,H)
C     Coefficient construction for loop diagram with ID 106
      CALL FFV1L3_1(PL(0,0),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,212),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,212))
      CALL FFV1L2_1(PL(0,212),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,213)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,212),4,COEFS,4,4,WL(1,0,1,213))
      CALL FFV1L2P0_3(PL(0,213),W(1,8),GC_5,ZERO,ZERO,PL(0,214),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,213),4,COEFS,4,4,WL(1,0,1,214))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,214),2,4,LOOPCOEFS(0,102),1,354
     $ ,H)
C     Coefficient construction for loop diagram with ID 107
      CALL FFV1L1P0_3(PL(0,0),W(1,4),GC_5,ZERO,ZERO,PL(0,215),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,215))
      CALL VVV1L2P0_1(PL(0,215),W(1,6),GC_4,ZERO,ZERO,PL(0,216),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,215),4,COEFS,4,4,WL(1,0,1,216))
      CALL FFV1L3_2(PL(0,216),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,217)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,216),4,COEFS,4,4,WL(1,0,1,217))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,217),2,4,LOOPCOEFS(0,103),1,355
     $ ,H)
C     Coefficient construction for loop diagram with ID 108
      CALL FFV1L1P0_3(PL(0,0),W(1,9),GC_5,ZERO,ZERO,PL(0,218),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,218))
      CALL FFV1L3_2(PL(0,218),W(1,25),GC_5,MDL_MT,MDL_WT,PL(0,219)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,218),4,COEFS,4,4,WL(1,0,1,219))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,219),1,4,LOOPCOEFS(0,104),1,356
     $ ,H)
C     Coefficient construction for loop diagram with ID 109
      CALL FFV1L1_2(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,220),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,220))
      CALL FFV1L1P0_3(PL(0,220),W(1,9),GC_5,ZERO,ZERO,PL(0,221),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,220),4,COEFS,4,4,WL(1,0,1,221))
      CALL FFV1L3_2(PL(0,221),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,222)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,221),4,COEFS,4,4,WL(1,0,1,222))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,222),2,4,LOOPCOEFS(0,105),1,357
     $ ,H)
C     Coefficient construction for loop diagram with ID 110
      CALL FFV1L3_1(PL(0,209),W(1,18),GC_5,MDL_MT,MDL_WT,PL(0,223)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,209),4,COEFS,4,4,WL(1,0,1,223))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,223),1,4,LOOPCOEFS(0,106),1,358
     $ ,H)
C     Coefficient construction for loop diagram with ID 111
      CALL FFV1L3_2(PL(0,218),W(1,26),GC_5,MDL_MT,MDL_WT,PL(0,224)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,218),4,COEFS,4,4,WL(1,0,1,224))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,224),1,4,LOOPCOEFS(0,107),1,359
     $ ,H)
C     Coefficient construction for loop diagram with ID 112
      CALL FFV1L3_1(PL(0,80),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,225),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,225))
      CALL FFV1L2P0_3(PL(0,225),W(1,8),GC_5,ZERO,ZERO,PL(0,226),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,225),4,COEFS,4,4,WL(1,0,1,226))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,226),2,4,LOOPCOEFS(0,108),1,360
     $ ,H)
C     Coefficient construction for loop diagram with ID 113
      CALL FFV1L1P0_3(PL(0,0),W(1,12),GC_5,ZERO,ZERO,PL(0,227),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,227))
      CALL FFV1L3_2(PL(0,227),W(1,27),GC_5,MDL_MT,MDL_WT,PL(0,228)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,227),4,COEFS,4,4,WL(1,0,1,228))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,228),1,4,LOOPCOEFS(0,109),1,361
     $ ,H)
C     Coefficient construction for loop diagram with ID 114
      CALL FFV1L1P0_3(PL(0,220),W(1,4),GC_5,ZERO,ZERO,PL(0,229),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,220),4,COEFS,4,4,WL(1,0,1,229))
      CALL FFV1L3_2(PL(0,229),W(1,27),GC_5,MDL_MT,MDL_WT,PL(0,230)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,229),4,COEFS,4,4,WL(1,0,1,230))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,230),2,4,LOOPCOEFS(0,110),1,362
     $ ,H)
C     Coefficient construction for loop diagram with ID 115
      CALL FFV1L2P0_3(PL(0,104),W(1,27),GC_5,ZERO,ZERO,PL(0,231),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,104),4,COEFS,4,4,WL(1,0,1,231))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,231),2,4,LOOPCOEFS(0,111),1,363
     $ ,H)
C     Coefficient construction for loop diagram with ID 116
      CALL FFV1L1P0_3(PL(0,184),W(1,12),GC_5,ZERO,ZERO,PL(0,232),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,184),4,COEFS,4,4,WL(1,0,1,232))
      CALL FFV1L3_2(PL(0,232),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,233)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,232),4,COEFS,4,4,WL(1,0,1,233))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,233),2,4,LOOPCOEFS(0,112),1,364
     $ ,H)
C     Coefficient construction for loop diagram with ID 117
      CALL FFV1L1P0_3(PL(0,184),W(1,4),GC_5,ZERO,ZERO,PL(0,234),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,184),4,COEFS,4,4,WL(1,0,1,234))
      CALL FFV1L3_2(PL(0,234),W(1,25),GC_5,MDL_MT,MDL_WT,PL(0,235)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,234),4,COEFS,4,4,WL(1,0,1,235))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,235),2,4,LOOPCOEFS(0,113),1,365
     $ ,H)
C     Coefficient construction for loop diagram with ID 118
      CALL FFV1L1_2(PL(0,185),W(1,13),GC_5,MDL_MT,MDL_WT,PL(0,236)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,185),4,COEFS,4,4,WL(1,0,1,236))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,236),3,4,LOOPCOEFS(0,114),1,366
     $ ,H)
C     Coefficient construction for loop diagram with ID 119
      CALL FFV1L1_2(PL(0,185),W(1,14),GC_5,MDL_MT,MDL_WT,PL(0,237)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,185),4,COEFS,4,4,WL(1,0,1,237))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,237),3,4,LOOPCOEFS(0,115),1,367
     $ ,H)
C     Coefficient construction for loop diagram with ID 120
      CALL FFV1L3_2(PL(0,186),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,238)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,186),4,COEFS,4,4,WL(1,0,1,238))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,238),3,4,LOOPCOEFS(0,116),1,368
     $ ,H)
C     Coefficient construction for loop diagram with ID 121
      CALL FFV1L2_1(PL(0,195),W(1,13),GC_5,MDL_MT,MDL_WT,PL(0,239)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,195),4,COEFS,4,4,WL(1,0,1,239))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,239),3,4,LOOPCOEFS(0,117),1,369
     $ ,H)
C     Coefficient construction for loop diagram with ID 122
      CALL FFV1L2_1(PL(0,195),W(1,14),GC_5,MDL_MT,MDL_WT,PL(0,240)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,195),4,COEFS,4,4,WL(1,0,1,240))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,240),3,4,LOOPCOEFS(0,118),1,370
     $ ,H)
C     Coefficient construction for loop diagram with ID 123
      CALL FFV1L2P0_3(PL(0,195),W(1,8),GC_5,ZERO,ZERO,PL(0,241),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,195),4,COEFS,4,4,WL(1,0,1,241))
      CALL FFV1L3_1(PL(0,241),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,242)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,241),4,COEFS,4,4,WL(1,0,1,242))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,242),3,4,LOOPCOEFS(0,119),1,371
     $ ,H)
C     Coefficient construction for loop diagram with ID 124
      CALL VVV1L2P0_1(PL(0,234),W(1,2),GC_4,ZERO,ZERO,PL(0,243),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,234),4,COEFS,4,4,WL(1,0,1,243))
      CALL FFV1L3_2(PL(0,243),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,244)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,243),4,COEFS,4,4,WL(1,0,1,244))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,244),3,4,LOOPCOEFS(0,120),1,372
     $ ,H)
C     Coefficient construction for loop diagram with ID 125
      CALL FFV1L3_2(PL(0,234),W(1,26),GC_5,MDL_MT,MDL_WT,PL(0,245)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,234),4,COEFS,4,4,WL(1,0,1,245))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,245),2,4,LOOPCOEFS(0,121),1,373
     $ ,H)
C     Coefficient construction for loop diagram with ID 126
      CALL FFV1L3_1(PL(0,209),W(1,22),GC_5,MDL_MT,MDL_WT,PL(0,246)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,209),4,COEFS,4,4,WL(1,0,1,246))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,246),1,4,LOOPCOEFS(0,122),1,374
     $ ,H)
C     Coefficient construction for loop diagram with ID 127
      CALL FFV1L3_2(PL(0,227),W(1,28),GC_5,MDL_MT,MDL_WT,PL(0,247)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,227),4,COEFS,4,4,WL(1,0,1,247))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,247),1,4,LOOPCOEFS(0,123),1,375
     $ ,H)
C     Coefficient construction for loop diagram with ID 128
      CALL FFV1L3_1(PL(0,146),W(1,12),GC_5,MDL_MT,MDL_WT,PL(0,248)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,248))
      CALL FFV1L2P0_3(PL(0,248),W(1,8),GC_5,ZERO,ZERO,PL(0,249),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,248),4,COEFS,4,4,WL(1,0,1,249))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,249),2,4,LOOPCOEFS(0,124),1,376
     $ ,H)
C     Coefficient construction for loop diagram with ID 129
      CALL FFV1L2P0_3(PL(0,158),W(1,25),GC_5,ZERO,ZERO,PL(0,250),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,158),4,COEFS,4,4,WL(1,0,1,250))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,250),2,4,LOOPCOEFS(0,125),1,377
     $ ,H)
C     Coefficient construction for loop diagram with ID 130
      CALL FFV1L3_2(PL(0,229),W(1,28),GC_5,MDL_MT,MDL_WT,PL(0,251)
     $ ,COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,229),4,COEFS,4,4,WL(1,0,1,251))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,251),2,4,LOOPCOEFS(0,126),1,378
     $ ,H)
C     Coefficient construction for loop diagram with ID 131
      CALL FFV1L2P0_3(PL(0,189),W(1,8),GC_5,ZERO,ZERO,PL(0,252),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,189),4,COEFS,4,4,WL(1,0,1,252))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,252),3,4,LOOPCOEFS(0,127),1,379
     $ ,H)
C     Coefficient construction for loop diagram with ID 132
      CALL FFV1L2P0_3(PL(0,104),W(1,28),GC_5,ZERO,ZERO,PL(0,253),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,104),4,COEFS,4,4,WL(1,0,1,253))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,253),2,4,LOOPCOEFS(0,128),1,380
     $ ,H)
C     Coefficient construction for loop diagram with ID 133
      CALL FFV1L2P0_3(PL(0,158),W(1,26),GC_5,ZERO,ZERO,PL(0,254),COEFS)
      CALL UPDATE_WL_2_0(WL(1,0,1,158),4,COEFS,4,4,WL(1,0,1,254))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,254),2,4,LOOPCOEFS(0,129),1,381
     $ ,H)
C     Coefficient construction for loop diagram with ID 134
      CALL FFV1L3_2(PL(0,171),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,255)
     $ ,COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,255))
      CALL FFV1L1P0_3(PL(0,255),W(1,4),GC_5,ZERO,ZERO,PL(0,256),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,255),4,COEFS,4,4,WL(1,0,1,256))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,256),3,4,LOOPCOEFS(0,130),1,382
     $ ,H)
C     Coefficient construction for loop diagram with ID 135
      CALL FFV1L2P0_3(PL(0,192),W(1,8),GC_5,ZERO,ZERO,PL(0,257),COEFS)
      CALL UPDATE_WL_3_0(WL(1,0,1,192),4,COEFS,4,4,WL(1,0,1,257))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,257),3,4,LOOPCOEFS(0,131),1,383
     $ ,H)
C     Coefficient construction for loop diagram with ID 136
      CALL VVVV1L2P0_1(PL(0,215),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,258),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,215),4,COEFS,4,4,WL(1,0,1,258))
      CALL VVVV3L2P0_1(PL(0,215),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,259),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,215),4,COEFS,4,4,WL(1,0,1,259))
      CALL VVVV4L2P0_1(PL(0,215),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,260),COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,215),4,COEFS,4,4,WL(1,0,1,260))
      CALL FFV1L3_2(PL(0,258),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,261)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,258),4,COEFS,4,4,WL(1,0,1,261))
      CALL FFV1L3_2(PL(0,259),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,262)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,259),4,COEFS,4,4,WL(1,0,1,262))
      CALL FFV1L3_2(PL(0,260),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,263)
     $ ,COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,260),4,COEFS,4,4,WL(1,0,1,263))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,261),1,4,LOOPCOEFS(0,132),1,384
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,262),1,4,LOOPCOEFS(0,133),1,385
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,263),1,4,LOOPCOEFS(0,134),1,386
     $ ,H)
C     Coefficient construction for loop diagram with ID 137
      CALL VVV1L2P0_1(PL(0,0),W(1,6),GC_4,ZERO,ZERO,PL(0,264),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,264))
      CALL VVV1L2P0_1(PL(0,264),W(1,13),GC_4,ZERO,ZERO,PL(0,265),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,264),4,COEFS,4,4,WL(1,0,1,265))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,265),2,4,LOOPCOEFS(0,135),2,387
     $ ,H)
C     Coefficient construction for loop diagram with ID 138
      CALL VVV1L2P0_1(PL(0,264),W(1,14),GC_4,ZERO,ZERO,PL(0,266),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,264),4,COEFS,4,4,WL(1,0,1,266))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,266),2,4,LOOPCOEFS(0,136),2,388
     $ ,H)
C     Coefficient construction for loop diagram with ID 139
      CALL VVV1L2P0_1(PL(0,171),W(1,13),GC_4,ZERO,ZERO,PL(0,267),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,267))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,267),3,4,LOOPCOEFS(0,137),1,389
     $ ,H)
C     Coefficient construction for loop diagram with ID 140
      CALL VVV1L2P0_1(PL(0,171),W(1,14),GC_4,ZERO,ZERO,PL(0,268),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,171),4,COEFS,4,4,WL(1,0,1,268))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,268),3,4,LOOPCOEFS(0,138),1,390
     $ ,H)
C     Coefficient construction for loop diagram with ID 141
      CALL VVVV1L2P0_1(PL(0,146),W(1,13),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,269),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,269))
      CALL VVVV3L2P0_1(PL(0,146),W(1,13),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,270),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,270))
      CALL VVVV4L2P0_1(PL(0,146),W(1,13),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,271),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,271))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,269),1,4,LOOPCOEFS(0,139),2,391
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,270),1,4,LOOPCOEFS(0,140),2,392
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,271),1,4,LOOPCOEFS(0,141),2,393
     $ ,H)
C     Coefficient construction for loop diagram with ID 142
      CALL VVVV1L2P0_1(PL(0,146),W(1,14),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,272),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,272))
      CALL VVVV3L2P0_1(PL(0,146),W(1,14),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,273),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,273))
      CALL VVVV4L2P0_1(PL(0,146),W(1,14),W(1,2),GC_6,ZERO,ZERO,PL(0
     $ ,274),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,146),4,COEFS,4,4,WL(1,0,1,274))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,272),1,4,LOOPCOEFS(0,142),2,394
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,273),1,4,LOOPCOEFS(0,143),2,395
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,274),1,4,LOOPCOEFS(0,144),2,396
     $ ,H)
C     Coefficient construction for loop diagram with ID 143
      CALL VVVV1L2P0_1(PL(0,80),W(1,13),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,275),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,275))
      CALL VVVV3L2P0_1(PL(0,80),W(1,13),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,276),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,276))
      CALL VVVV4L2P0_1(PL(0,80),W(1,13),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,277),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,277))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,275),1,4,LOOPCOEFS(0,145),2,397
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,276),1,4,LOOPCOEFS(0,146),2,398
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,277),1,4,LOOPCOEFS(0,147),2,399
     $ ,H)
C     Coefficient construction for loop diagram with ID 144
      CALL VVVV1L2P0_1(PL(0,80),W(1,14),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,278),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,278))
      CALL VVVV3L2P0_1(PL(0,80),W(1,14),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,279),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,279))
      CALL VVVV4L2P0_1(PL(0,80),W(1,14),W(1,1),GC_6,ZERO,ZERO,PL(0
     $ ,280),COEFS)
      CALL UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1,280))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,278),1,4,LOOPCOEFS(0,148),2,400
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,279),1,4,LOOPCOEFS(0,149),2,401
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,280),1,4,LOOPCOEFS(0,150),2,402
     $ ,H)
C     Coefficient construction for loop diagram with ID 145
      CALL VVVV1L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,281)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,281))
      CALL VVVV3L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,282)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,282))
      CALL VVVV4L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0,283)
     $ ,COEFS)
      CALL UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,283))
      CALL VVV1L2P0_1(PL(0,281),W(1,13),GC_4,ZERO,ZERO,PL(0,284),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,281),4,COEFS,4,4,WL(1,0,1,284))
      CALL VVV1L2P0_1(PL(0,282),W(1,13),GC_4,ZERO,ZERO,PL(0,285),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,282),4,COEFS,4,4,WL(1,0,1,285))
      CALL VVV1L2P0_1(PL(0,283),W(1,13),GC_4,ZERO,ZERO,PL(0,286),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,283),4,COEFS,4,4,WL(1,0,1,286))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,284),1,4,LOOPCOEFS(0,151),2,403
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,285),1,4,LOOPCOEFS(0,152),2,404
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,286),1,4,LOOPCOEFS(0,153),2,405
     $ ,H)
C     Coefficient construction for loop diagram with ID 146
      CALL VVV1L2P0_1(PL(0,281),W(1,14),GC_4,ZERO,ZERO,PL(0,287),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,281),4,COEFS,4,4,WL(1,0,1,287))
      CALL VVV1L2P0_1(PL(0,282),W(1,14),GC_4,ZERO,ZERO,PL(0,288),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,282),4,COEFS,4,4,WL(1,0,1,288))
      CALL VVV1L2P0_1(PL(0,283),W(1,14),GC_4,ZERO,ZERO,PL(0,289),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,283),4,COEFS,4,4,WL(1,0,1,289))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,287),1,4,LOOPCOEFS(0,154),2,406
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,288),1,4,LOOPCOEFS(0,155),2,407
     $ ,H)
      CALL CREATE_LOOP_COEFS(WL(1,0,1,289),1,4,LOOPCOEFS(0,156),2,408
     $ ,H)
C     Coefficient construction for loop diagram with ID 147
      CALL GHGHGL2_1(PL(0,0),W(1,6),GC_4,ZERO,ZERO,PL(0,290),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1,290))
      CALL GHGHGL2_1(PL(0,290),W(1,13),GC_4,ZERO,ZERO,PL(0,291),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,290),1,COEFS,1,1,WL(1,0,1,291))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,291),2,1,LOOPCOEFS(0,157),1,409
     $ ,H)
C     Coefficient construction for loop diagram with ID 148
      CALL GHGHGL2_1(PL(0,290),W(1,14),GC_4,ZERO,ZERO,PL(0,292),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,290),1,COEFS,1,1,WL(1,0,1,292))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,292),2,1,LOOPCOEFS(0,158),1,410
     $ ,H)
C     Coefficient construction for loop diagram with ID 149
      CALL GHGHGL1_2(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,293),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1,293))
      CALL GHGHGL1_2(PL(0,293),W(1,2),GC_4,ZERO,ZERO,PL(0,294),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,293),1,COEFS,1,1,WL(1,0,1,294))
      CALL GHGHGL1_2(PL(0,294),W(1,13),GC_4,ZERO,ZERO,PL(0,295),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,294),1,COEFS,1,1,WL(1,0,1,295))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,295),3,1,LOOPCOEFS(0,159),1,411
     $ ,H)
C     Coefficient construction for loop diagram with ID 150
      CALL GHGHGL1_2(PL(0,294),W(1,14),GC_4,ZERO,ZERO,PL(0,296),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,294),1,COEFS,1,1,WL(1,0,1,296))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,296),3,1,LOOPCOEFS(0,160),1,412
     $ ,H)
C     Coefficient construction for loop diagram with ID 151
      CALL GHGHGL2_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,297),COEFS)
      CALL UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1,297))
      CALL GHGHGL2_1(PL(0,297),W(1,2),GC_4,ZERO,ZERO,PL(0,298),COEFS)
      CALL UPDATE_WL_1_1(WL(1,0,1,297),1,COEFS,1,1,WL(1,0,1,298))
      CALL GHGHGL2_1(PL(0,298),W(1,13),GC_4,ZERO,ZERO,PL(0,299),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,298),1,COEFS,1,1,WL(1,0,1,299))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,299),3,1,LOOPCOEFS(0,161),1,413
     $ ,H)
C     Coefficient construction for loop diagram with ID 152
      CALL GHGHGL2_1(PL(0,298),W(1,14),GC_4,ZERO,ZERO,PL(0,300),COEFS)
      CALL UPDATE_WL_2_1(WL(1,0,1,298),1,COEFS,1,1,WL(1,0,1,300))
      CALL CREATE_LOOP_COEFS(WL(1,0,1,300),3,1,LOOPCOEFS(0,162),1,414
     $ ,H)

      END


c fperfil2
c dada una atmosfera (2 componentes) "atmos" que entra por el common
c y dada una perturbacion "atmosr" esta rutina construye la nueva
c atmosfera (mediante amp2), calcula los nuevos perfiles "scal" y las nuevas
c fr (blends0), convoluciona los perfiles y las fr con la macro y
c la psf (deconv y deconv2) y calcula las derivadas de la chi^2 que
c salen por "dscal"
c
c Basilio 23-3-93
c Modificacion luz difusa Basilio 20-6-94
c ________________________________________________________________________
	subroutine fperfil2(m,atmosr,scal,dscal)

	implicit real*4 (a-h,o-z)

	include 'PARAMETER'   !por kt,kn,kl,kld
	parameter (kt8=8*kt+2,kt16=16*kt+5)         !
	parameter (kl4=4*kl)    !numero maximo de lineas
	parameter (kld4=4*kld)
	parameter (kldt=kld*kn,kldt4=4*kldt)

c para la malla
	integer nlin(kl),npas(kl),ist(4),m(*),mdata(18) !,mnod1(8),mnod2(8)
	integer mnod1tot(8),mnod2tot(8),npos(kld4)
	integer mprimera(18)
	integer nlins(kl4),npass(kl4),nble(kl),ifiltro
	real*4 dlamda0(kl),dlamda0s(kl4),dlamda(kld),dlamdas(kld4)
c para la atmosfera
	real*4 atmosr(*),atmos(kt16),atmostry(kt16)
	real*4 atmos1(kt8),atmos2(kt8),vof(kt),gam1(kt),fi1(kt)
c para los perfiles y f. respuesta
	real*4 scal(kld4),scal1(kld4),scal2(kld4),dscal(*),sin01(kld4),sin02(kld4),stray(kld4)
        real*4 stok(kld4),difer(kld4),sig(kld4)
	real*4 rt1(kldt4),rh1(kldt4),rv1(kldt4),rg1(kldt4),rf1(kldt4)
	real*4 rp1(kldt4),rm1(kldt4)
	real*4 rt2(kldt4),rh2(kldt4),rv2(kldt4),rg2(kldt4),rf2(kldt4)
	real*4 rp2(kldt4),rm2(kldt4)
        integer icalerr
c comunes
	common/responde2/ist,ntau,ntl,nlin,npas,nble
        common/ldeo/dlamda,dlamda0
        common/smalla/ntls,nlins,npass
        common/smalla1/dlamdas
        common/atmosfera/atmos
        common/atmosferaout/atmostry
	common/nohaycampo/nohaycampo1,nohaycampo2
        common/primera2/ntotal,ntotal4,ists
        common/nciclos/nciclos   !del principal
        common/difusa/stray
	common/numtotblends/ntlblends
        common/iautomatico/iautomatico
        common/observaciones/stok,sig
        common/posiciones/npos
        common/mprimera/mprimera ! para guardar m inicial para iteaciones posteriores
        common/ndata/ndata !para fperfil2 y automatico
        common/offset/voffset  !para respuestas
        common/iprimeravez/iprimeravez
        common/calerr/icalerr !si calculo errores=1 else =0
	common/ifiltro/ifiltro

	epsilon=2.e-5 !precision para comparar reales

	nohaycampo=nohaycampo1+nohaycampo2

c	print*,'fperfil2 nohaycampo=',nohaycampo1,nohaycampo2,nohaycampo
	if(iprimeravez.eq.0)then

           do i=1,18
	      mprimera(i)=m(i) ! guardamos los nodos de entrada
           end do

c           print*,'fperfil 72',m(4),m(6)

	   if(nohaycampo.eq.0)then
              ntls=ntl
              do i=1,ntl
                 npass(i)=npas(i)
              end do
	      do i=2,4
                 ist(i)=0
              end do
              ist(1)=1
           end if
	   ntotal=0
           iii=0
   	   do i=1,ntl
	      ntotal=ntotal+npas(i)
              do ii=1,nble(i)
                 iii=iii+1
              end do
              ntlblends=iii
	   end do
	   ists=ist(1)+ist(2)+ist(3)+ist(4)
	   ntotal4=ntotal*ists

c duplicado del calculo en comprime2
           vmin=7.e5
           if(m(13).ne.0.or.m(5).ne.0)vmin=1.e20

           do i=1,ntau
	      if(atmos(2+13*ntau+i).lt.vmin.and.m(13).ne.0)
     &                              vmin=atmos(2+13*ntau+i)
              if(atmos(5*ntau+i).lt.vmin.and.m(5).ne.0)vmin=atmos(5*ntau+i)
              voffset=vmin-7.e5    !cm/s
           end do

	end if
        iprimeravez=iprimeravez+1

        nli=0
	do i=1,ntl
           nli=nli+npas(i)
	end do

c copiamos la atmosfera antigua en atmostry; "amp2" escribira en
c atmostry la nueva atmosfera
	do i=1,16*ntau+5
	   atmostry(i)=atmos(i)
	end do

c	print*,'fperfil2 122',m(1),m(4),m(6)
	if(nciclos.ne.0.and.iprimeravez.ne.1)call amp2(ntau,m,atmostry,atmosr)
c 	if(nciclos.ne.0)call amp2(ntau,m,atmostry,atmosr)
c	print*,'fperfil2 125',m(1),m(4),m(6)

        do i=1,16
	   mdata(i)=i*ntau+2*int(i/9)  ! indi. anteri. a la var. i (ampliada)
	end do
        mdata(17)=mdata(16)+1
        mdata(18)=mdata(17)+1

c la macro y los f.f son
	vmac1=atmostry(mdata(8)+1)
	vmac2=atmostry(mdata(16)+1)
	fill2=atmostry(mdata(17)+1)
	fill1=1.0-fill2
        peso2=atmostry(mdata(18)+1)/100.
        peso1=1.-peso2
c	peso1=1.     !luz difusa com velo

	do i=1,ntotal4
           scal1(i)=0.
           scal2(i)=0.
           sin01(i)=0.
           sin02(i)=0.
	end do

        if(icalerr.eq.1)then
	   do i=1,8
              mnod1tot(i)=m(i)
c              print*,'fperfil2 m err',m(i)
              mnod2tot(i)=m(i+8)
           end do
        else
  	   do i=1,8
c             mnod1(i)=m(i)
c             mnod2(i)=m(i+8)
              if(mprimera(i).gt.1.and.iautomatico.eq.1)then
                 mnod1tot(i)=ntau
              else
                 mnod1tot(i)=mprimera(i)
              end if
              if(mprimera(i+8).gt.1.and.iautomatico.eq.1)then
                 mnod2tot(i)=ntau
              else
                 mnod2tot(i)=mprimera(i+8)
              end if

	   end do
        end if

c dividimos la atmosfera en las 2 componentes
        do i=1,8*ntau+2
           atmos1(i)=atmostry(i)
           atmos2(i)=atmostry(i+8*ntau+2)
	end do

c calculamos las funciones respuesta y el perfil observado para cada atmosfera
c solo en el caso de que fill1.ne.0 se hace lo siguiente
c ************************* atmosfera 1 ***************************************

	k=0	!inicializo el indice de las derivadas
	if(abs(fill1).gt.epsilon)then
	   if(nohaycampo1.eq.0.and.ist(1).ne.0)then
	      call blendscon2(atmos1,scal1,rt1,rp1,rv1,rm1,mnod1tot)

c	      print*,'mnod1tot=',mnod1tot

c	      do llk=0,kldt4
c                 print*,'i,rt1=',llk,rt1(llk)
c		  if(rt1(kldt4).ne.0)print*,'encontre uno no negativo=',llk,rt1(llk)
c	      enddo

	      if(vmac1.gt.0. .or. ifiltro.eq.1)then
	         do j=1,ntotal
	            sin01(j)=scal1(j)
	         end do
		 do j=ntotal+1,ndata
                   scal1(j)=0.
                   sin01(j)=0.
	         end do
	         if(vmac1 .lt. 1.e-7)vmac1=1.e-7
	         call deconv(scal1,1,ntl,npas,dlamda0,dlamda,vmac1)
                 call deconv2(sin01,1,ntl,npas,dlamda0,dlamda,vmac1)
              end if
   	   else  !o sea si hay campo1
       	      call blends2(atmos1,scal1,rt1,rp1,rh1,rv1,rg1,rf1,rm1,mnod1tot)

c Dado que dlamda0 entra en el common via blends2 la sentencia siguiente
c no puede colocarse antes de la llamada a blends2
	      k1=0
	      do i=1,4
	         do j=1,ist(i)
	            do klin=1,ntl
	               k1=k1+1
	               dlamda0s(k1)=dlamda0(klin)
	            end do
	         end do
              end do

c calculamos la convolucion con el perfil gaussiano y la psf
c calculamos la convolucion con la derivada del perfil gaussiano y la psf
	      if(vmac1.gt.0 .or. ifiltro.eq.1)then
	         do j=1,ntotal4
	            sin01(j)=scal1(j)
	         end do
	         if(vmac1 .lt. 1.e-7)vmac1=1.e-7
	         call deconv(scal1,1,ntls,npass,dlamda0s,dlamdas,vmac1)
                 call deconv2(sin01,1,ntls,npass,dlamda0s,dlamdas,vmac1)
              end if
           end if
        end if
c ************************* atmosfera 2 ***************************************
	if(abs(fill2).gt.epsilon)then
	   if(nohaycampo2.eq.0.and.ist(1).ne.0)then
              call blendscon2(atmos2,scal2,rt2,rp2,rv2,rm2,mnod2tot)
	      if(vmac2.gt.0 .or. ifiltro.eq.1)then
	         do j=1,ntotal
	            sin02(j)=scal2(j)
	         end do
		 do j=ntotal+1,ndata
                   scal2(j)=0.
                   sin02(j)=0.
	         end do
	         if(vmac2 .lt. 1.e-7)vmac2=1.e-7
	         call deconv(scal2,1,ntl,npas,dlamda0,dlamda,vmac2)
	         call deconv2(sin02,1,ntl,npas,dlamda0,dlamda,vmac2)
              end if
   	   else  !o sea si hay campo2
       	      call blends2(atmos2,scal2,rt2,rp2,rh2,rv2,rg2,rf2,rm2,mnod2tot)

c Dado que dlamda0 entra en el common via blends2 la sentencia siguiente
c no puede colocarse antes de la llamada a blends2
	      k1=0
	      do i=1,4
	         do j=1,ist(i)
	            do klin=1,ntl
	               k1=k1+1
	               dlamda0s(k1)=dlamda0(klin)
	            end do
	         end do
              end do

c calculamos la convolucion con la derivada del perfil gaussiano y la psf
	      if(vmac2.gt.0 .or. ifiltro.eq.1)then
	         do i=1,ntotal4
	            sin02(i)=scal2(i)
	         end do
                 if(vmac2 .lt. 1.e-7)vmac2=1.e-7
                 call deconv(scal2,1,ntls,npass,dlamda0s,dlamdas,vmac2)
	         call deconv2(sin02,1,ntls,npass,dlamda0s,dlamdas,vmac2)
              end if
           end if
	end if
c *********************mezclamos las dos atmosferas****************************
c y los perfiles de salida seran (teniendo en cuenta la luz difusa)

        do j=1,ntotal4
	   scal(j)=peso1*(scal1(j)*fill1+scal2(j)*fill2)+peso2*stray(j)
c	   print*,'fperfil2(276) ',j,scal(j)
        end do
	if(nlin(ntlblends).eq.0)then
	   scal(nli)=(scal1(nli)-scal2(nli))/2.
        end if
c        print*,'fperfil2(282) ndata ntotal4 nli',ndata,ntotal4,nli,npos(nli)+1,' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
c        do j=npos(nli)+1,ndata
c           scal(npos(j))=0.
c	end do
c        do j=ntotal4,ndata
c           print*,'fperfil2(286) ',scal1(j),scal2(j),scal(j)
c        end do
        do j=1,ndata
c           print*,'fperfil2(284) ',j,npos(j),stok(j),scal(npos(j)),sig(j)
           difer(j)=(stok(j)-scal(npos(j)))/sig(j)/sig(j)
        end do

c *******************reevaluamos el numero de nodos y escribimos el vector derivada

	if(abs(fill1).gt.epsilon)then
	   if(nohaycampo1.eq.0.and.ist(1).ne.0)then

	      if(nlin(ntlblends).eq.0)then
                 do i=nli,mnod1tot(1)*ntotal,ntotal
	            rt1(i)=rt1(i)/2./fill1
	         end do
                 do i=nli,mnod1tot(2)*ntotal,ntotal
	            rp1(i)=rp1(i)/2./fill1
                 end do
              end if

              fill=fill1*peso1
	      call sub1(mnod1tot(1),difer,npos,vmac1,fill,rt1,k,
     &                  dscal,atmos1(ntau+1),mprimera(1)) !tempe.
	      call sub1p(mnod1tot(2),difer,npos,vmac1,fill,rp1,k,             !ojo llamo a sub2p
     &                  dscal,atmos1(2*ntau+1),mprimera(2)) !presi.
	      call sub1(mnod1tot(3),difer,npos,vmac1,fill,rm1,k,
     &                  dscal,atmos1(3*ntau+1),mprimera(3)) !micro.
              call cero1(mnod1tot(4),ntotal4,k,dscal)           !campo

              if(mnod1tot(5).gt.0)then
                 do i=1,ntau
                    vof(i)=atmos1(5*ntau+i)-voffset
                 end do
              end if

	      call sub1(mnod1tot(5),difer,npos,vmac1,fill,rv1,k,
     &                  dscal,vof,mprimera(5)) !veloc.
              call cero1(mnod1tot(6),ntotal4,k,dscal)           !inclinacion
              call cero1(mnod1tot(7),ntotal4,k,dscal)           !azimuth
              call mult1(mnod1tot(8),ntotal4,k,fill,vmac1,sin01,dscal) !macro
                  do i=1,8
                     m(i)=mnod1tot(i)   !nuevo numero de nodos
                  end do

   	   else  !o sea si hay campo1

	      if(nlin(ntlblends).eq.0)then
                 do i=nli,mnod1tot(1)*ntotal4,ntotal4
	            rt1(i)=rt1(i)/2./fill1
	         end do
                 do i=nli,mnod1tot(2)*ntotal4,ntotal4
	            rp1(i)=rp1(i)/2./fill1
                 end do
              end if

c calculamos la convolucion de las funciones respuesta
              fill=fill1*peso1

	      call sub2(mnod1tot(1),difer,npos,vmac1,fill,dlamda0s,ist,rt1,k,
     &                  dscal,atmos1(ntau+1),mprimera(1)) !tempe.
	      call sub2p(mnod1tot(2),difer,npos,vmac1,fill,dlamda0s,ist,rp1,k,  !ojo llamo a sub2p
     &                  dscal,atmos1(2*ntau+1),mprimera(2)) !presi.
	      call sub2(mnod1tot(3),difer,npos,vmac1,fill,dlamda0s,ist,rm1,k,
     &                  dscal,atmos1(3*ntau+1),mprimera(3)) !micro.
	      call sub2(mnod1tot(4),difer,npos,vmac1,fill,dlamda0s,ist,rh1,k,
     &                  dscal,atmos1(4*ntau+1),mprimera(4)) !campo

              if(mnod1tot(5).gt.0)then
                 do i=1,ntau
                    vof(i)=atmos1(5*ntau+i)-voffset
                 end do
              end if

	      call sub2(mnod1tot(5),difer,npos,vmac1,fill,dlamda0s,ist,rv1,k,
     &                  dscal,vof,mprimera(5)) !veloc.

              if(mnod1tot(6).gt.0)then
                 do i=1,ntau
                    gam1(i)=1.
                 end do
              end if
c                   print*,'fperfil 379',mnod1tot(6),mprimera(6)
	      call sub2(mnod1tot(6),difer,npos,vmac1,fill,dlamda0s,ist,rg1,k,
     &                  dscal,gam1,mprimera(6)) !incli.

c	      print*,'fperfil 379',mnod1tot(6),mprimera(6)
              if(mnod1tot(7).gt.0)then
                 do i=1,ntau
                    fi1(i)=1.
                 end do
              end if

	      call sub2(mnod1tot(7),difer,npos,vmac1,fill,dlamda0s,ist,rf1,k,
     &                  dscal,fi1,mprimera(7)) !azimuth.
              call mult1(mnod1tot(8),ntotal4,k,fill,vmac1,sin01,dscal)   !macro

c              open(15,file='escfperfil2')
c              do i=1,k
c                 write(15,*),dscal(i)
c              end do
c              close(15)
c              print*,'fperfil2 acabe de escribir fichero'

                  do i=1,8
                     m(i)=mnod1tot(i)   !nuevo numero de nodos
                  end do
           end if
	end if

c solo en el caso de que fill2.ne.0 se hace lo siguiente
c ************************* atmosfera 2 ***************************************

	if(abs(fill2).gt.epsilon)then
	   if(nohaycampo2.eq.0.and.ist(1).ne.0)then

	      if(nlin(ntlblends).eq.0)then
                 do i=nli,mnod2tot(1)*ntotal,ntotal
	            rt2(i)=-rt2(i)/2./fill2
	         end do
                 do i=nli,mnod2tot(2)*ntotal,ntotal
	            rp2(i)=-rp2(i)/2./fill2
                 end do
              end if
              fill=fill2*peso1

	      call sub1(mnod2tot(1),difer,npos,vmac2,fill,rt2,k,
     &                  dscal,atmos2(ntau+1),mprimera(9)) !tempe.
	      call sub1p(mnod2tot(2),difer,npos,vmac2,fill,rp2,k,               !ojo llamo a sub2p
     &                  dscal,atmos2(2*ntau+1),mprimera(10)) !presi.
	      call sub1(mnod2tot(3),difer,npos,vmac2,fill,rm2,k,
     &                  dscal,atmos2(3*ntau+1),mprimera(11)) !micro.
              call cero1(mnod2tot(4),ntotal4,k,dscal)           !campo

              if(mnod2tot(5).gt.0)then
                 do i=1,ntau
                    vof(i)=atmos2(5*ntau+i)-voffset
                 end do
              end if

	      call sub1(mnod2tot(5),difer,npos,vmac2,fill,rv2,k,
     &                  dscal,vof,mprimera(13)) !veloc.

              call cero1(mnod2tot(6),ntotal4,k,dscal)            !inclinacion
              call cero1(mnod2tot(7),ntotal4,k,dscal)            !azimuth
              call mult1(mnod2tot(8),ntotal4,k,fill,vmac2,sin02,dscal) !macro
                  do i=1,8
                     m(i+8)=mnod2tot(i)   !nuevo numero de nodos
                  end do

	   else  !o sea si hay campo2

c Dado que dlamda0 entra en el common via blends2 la sentencia siguiente
c no puede colocarse antes de la llamada a blends2
	      k1=0
	      do i=1,4
	         do j=1,ist(i)
	            do klin=1,ntl
	               k1=k1+1
	               dlamda0s(k1)=dlamda0(klin)
	            end do
	         end do
              end do

	      if(nlin(ntlblends).eq.0)then
                 do i=nli,mnod2tot(1)*ntotal4,ntotal4
	            rt2(i)=-rt2(i)/2./fill2
	         end do
                 do i=nli,mnod2tot(2)*ntotal4,ntotal4
	            rp2(i)=-rp2(i)/2./fill2
                 end do
              end if

c calculamos la convolucion de las funciones respuesta
              fill=fill2*peso1

	      call sub2(mnod2tot(1),difer,npos,vmac2,fill,dlamda0s,ist,rt2,k,
     &                  dscal,atmos2(ntau+1),mprimera(9)) !tempe.
	      call sub2p(mnod2tot(2),difer,npos,vmac2,fill,dlamda0s,ist,rp2,k, !ojo llamo a sub2p
     &                  dscal,atmos2(2*ntau+1),mprimera(10)) !presi.
	      call sub2(mnod2tot(3),difer,npos,vmac2,fill,dlamda0s,ist,rm2,k,
     &                  dscal,atmos2(3*ntau+1),mprimera(11)) !micro.
	      call sub2(mnod2tot(4),difer,npos,vmac2,fill,dlamda0s,ist,rh2,k,
     &                  dscal,atmos2(4*ntau+1),mprimera(12)) !campo

              if(mnod2tot(5).gt.0)then
                 do i=1,ntau
                    vof(i)=atmos2(5*ntau+i)-voffset
                 end do
              end if

	      call sub2(mnod2tot(5),difer,npos,vmac2,fill,dlamda0s,ist,rv2,k,
     &                  dscal,vof,mprimera(13)) !veloc.

              if(mnod2tot(6).gt.0)then
                 do i=1,ntau
                    gam1(i)=1.
                 end do
              end if
	      call sub2(mnod2tot(6),difer,npos,vmac2,fill,dlamda0s,ist,rg2,k,
     &                  dscal,gam1,mprimera(14)) !incli.

              if(mnod2tot(7).gt.0)then
                 do i=1,ntau
                    fi1(i)=1.
                 end do
              end if
	      call sub2(mnod2tot(7),difer,npos,vmac2,fill,dlamda0s,ist,rf2,k,
     &                  dscal,fi1,mprimera(15)) !azimuth.
              call mult1(mnod2tot(8),ntotal4,k,fill,vmac2,sin02,dscal)   !macro

                  do i=1,8
                     m(i+8)=mnod2tot(i)   !nuevo numero de nodos
                  end do

	   end if

c la variable es (1-fill2)/fill2 . Su derivada respecto a fill2 es -1/fill2^2
c como tenemos modf. multiplicativas el factor es fill2*(fill2-1)

           if(m(17).eq.1)then
              factor=fill2*(fill2-1.)*peso1
              do j=1,ntotal4
                 k=k+1
	         dscal(k)=factor*(scal2(j)-scal1(j))
	      end do
	   end if

	end if

c calculamos la funcion respuesta al peso de la luz difusa
c la variable es peso2/(1.-peso2). La derivada de peso2 respecto
c a la variable es (1.-peso2)^2 Y teniendo en cuenta pert. mult.
c el factor es peso2*(1.-peso2)
        if(m(18).eq.1)then
           factor=peso1*peso2
c           factor=(1.-peso2)*peso2   !luz difusa com velo
           do j=1,ntotal4
              k=k+1
	      dscal(k)=factor*(stray(j)-scal1(j)*fill1-scal2(j)*fill2)
c	      dscal(k)=factor*stray(j)  !luz difusa com velo
	   end do
	end if

       	if(nciclos.ne.0.)
     &         call comprime2(ntau,m,atmostry,atmosr)

	return
	end
c _____________________________________________________________________________
	subroutine sub1(mi,difer,npos,vmac,fill,rt,k,dscal,t,mp)

	implicit real*4 (a-h,o-z)
	include 'PARAMETER' !por kt,kn,kl y kld
	parameter (kl4=4*kl)    !numero maximo de lineas
	parameter (kld4=4*kld)

	integer ist(4),nlin(kl),npas(kl),nble(kl),npos(*),ifiltro
	real*4 dlamda(kld),dlamda0(kl)
	real*4 rt(*),dscal(*),difer(*),t(*)
	common/responde2/ist,ntau,ntl,nlin,npas,nble
        common/ldeo/dlamda,dlamda0
        common/primera2/ntotal,ntotal4,ists
        common/iautomatico/iautomatico
	common/ifiltro/ifiltro
c !!!!!!!!!esto seria lo correcto pero es mas lento y no se nota la mejora
c	do i=1,mi
c	   npun=ntotal*(i-1)+1
c           if(vmac.gt.0)call deconv(rt(npun),1,ntl,npas,dlamda0,dlamda,vmac)
c        end do

        if(iautomatico.eq.1.and.mp.gt.1.and.mi.gt.1)call automatico(mi,mp,ntotal,difer,npos,rt,t)

c TRABAJO con las FR sin convolucionar en todo tau !!!!!!!!!!
	do i=1,mi
	   npun=ntotal*(i-1)+1
           if(vmac.gt.0 .or. ifiltro .eq. 1)then
              if(vmac.lt.1.e-7)vmac=1.e-7
              call deconv(rt(npun),1,ntl,npas,dlamda0,dlamda,vmac)
           end if
        end do
c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

	do i=1,mi
	   npun=ntotal*(i-1)+1
           do j=npun,npun+ntotal-1
              k=k+1
	      dscal(k)=rt(j)*fill      !t1(l1,l2...lntot4),t2(l1,l2...
	   end do
           do j=ntotal+1,ntotal4
              k=k+1
	      dscal(k)=0.
	   end do
        end do

	return
	end
c _____________________________________________________________________________
C igual que sub1 pero llamando a automaticop (escala con el ultimo nodo de la presion)
	subroutine sub1p(mi,difer,npos,vmac,fill,rt,k,dscal,t,mp)

	implicit real*4 (a-h,o-z)
	include 'PARAMETER' !por kt,kn,kl y kld
	parameter (kl4=4*kl)    !numero maximo de lineas
	parameter (kld4=4*kld)

	integer ist(4),nlin(kl),npas(kl),nble(kl),npos(*),ifiltro
	real*4 dlamda(kld),dlamda0(kl)
	real*4 rt(*),dscal(*),difer(*),t(*)
	common/responde2/ist,ntau,ntl,nlin,npas,nble
        common/ldeo/dlamda,dlamda0
        common/primera2/ntotal,ntotal4,ists
        common/iautomatico/iautomatico
	common/ifiltro/ifiltro
c !!!!!!!!!esto seria lo correcto pero es mas lento y no se nota la mejora
c	do i=1,mi
c	   npun=ntotal*(i-1)+1
c           if(vmac.gt.0)call deconv(rt(npun),1,ntl,npas,dlamda0,dlamda,vmac)
c        end do

        if(iautomatico.eq.1.and.mp.gt.1.and.mi.gt.1)call automaticop(mi,mp,ntotal,difer,npos,rt,t)

c TRABAJO con las FR sin convolucionar en todo tau !!!!!!!!!!
	do i=1,mi
	   npun=ntotal*(i-1)+1
           if(vmac.gt.0 .or. ifiltro .eq. 1)then
              if(vmac.lt.1.e-7)vmac=1.e-7
              call deconv(rt(npun),1,ntl,npas,dlamda0,dlamda,vmac)
           end if
        end do
c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

	do i=1,mi
	   npun=ntotal*(i-1)+1
           do j=npun,npun+ntotal-1
              k=k+1
	      dscal(k)=rt(j)*fill      !t1(l1,l2...lntot4),t2(l1,l2...
	   end do
           do j=ntotal+1,ntotal4
              k=k+1
	      dscal(k)=0.
	   end do
        end do

	return
	end
c _____________________________________________________________________________
	subroutine sub2(mi,difer,npos,vmac,fill,dlamda0s,ist,rt,k,dscal,t,mp)

	implicit real*4 (a-h,o-z)
	include 'PARAMETER' !por kt,kn,kl y kld

	parameter (kl4=4*kl)    !numero maximo de lineas
	parameter (kld4=4*kld)

	integer ist(4),nlins(kl4),npass(kl4),npos(*),ifiltro
	real*4 dlamda0s(*),dlamdas(kld4)
	real*4 rt(*),dscal(*),difer(*),t(*)
        common/smalla/ntls,nlins,npass
        common/smalla1/dlamdas
        common/primera2/ntotal,ntotal4,ists
        common/iautomatico/iautomatico
	common/ifiltro/ifiltro
c !!!!!!!!!esto seria lo correcto pero es mas lento y no se nota la mejora
c	do i=1,mi
c	   npun=ntotal4*(i-1)+1
c          if(vmac.gt.0)call deconv(rt(npun),1,ntls,npass,dlamda0s,dlamdas,vmac)
c        end do

         if(iautomatico.eq.1.and.mp.gt.1.and.mi.gt.1)call automatico(mi,mp,ntotal4,difer,npos,rt,t)

c TRABAJO con las FR sin convolucionar en todo tau !!!!!!!!!!
	do i=1,mi
	   npun=ntotal4*(i-1)+1
	   if(vmac.gt.0 .or. ifiltro .eq. 1)then
              if(vmac.lt.1.e-7)vmac=1.e-7
              call deconv(rt(npun),1,ntls,npass,dlamda0s,dlamdas,vmac)
           end if
        end do
c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        do i=1,mi
	   npun=ntotal4*(i-1)+1
           do j=npun,npun+ntotal4-1
              k=k+1
	      dscal(k)=rt(j)*fill      !t1(l1,l2...lntot4),t2(l1,l2...
	   end do
        end do
	return
	end
c___________________________________________________________________________________________

	subroutine sub2p(mi,difer,npos,vmac,fill,dlamda0s,ist,rt,k,dscal,t,mp)

	implicit real*4 (a-h,o-z)
	include 'PARAMETER' !por kt,kn,kl y kld

	parameter (kl4=4*kl)    !numero maximo de lineas
	parameter (kld4=4*kld)

	integer ist(4),nlins(kl4),npass(kl4),npos(*),ifiltro
	real*4 dlamda0s(*),dlamdas(kld4)
	real*4 rt(*),dscal(*),difer(*),t(*)
        common/smalla/ntls,nlins,npass
        common/smalla1/dlamdas
        common/primera2/ntotal,ntotal4,ists
        common/iautomatico/iautomatico
	common/ifiltro/ifiltro
c !!!!!!!!!esto seria lo correcto pero es mas lento y no se nota la mejora
c	do i=1,mi
c	   npun=ntotal4*(i-1)+1
c          if(vmac.gt.0)call deconv(rt(npun),1,ntls,npass,dlamda0s,dlamdas,vmac)
c        end do

         if(iautomatico.eq.1.and.mp.gt.1.and.mi.gt.1)call automaticop(mi,mp,ntotal4,difer,npos,rt,t)

c TRABAJO con las FR sin convolucionar en todo tau !!!!!!!!!!
	do i=1,mi
	   npun=ntotal4*(i-1)+1
	   if(vmac.gt.0 .or. ifiltro .eq. 1)then
              if(vmac.lt.1.e-7)vmac=1.e-7
              call deconv(rt(npun),1,ntls,npass,dlamda0s,dlamdas,vmac)
           end if
        end do
c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        do i=1,mi
	   npun=ntotal4*(i-1)+1
           do j=npun,npun+ntotal4-1
              k=k+1
	      dscal(k)=rt(j)*fill      !t1(l1,l2...lntot4),t2(l1,l2...
	   end do
        end do
	return
	end

c _____________________________________________________________________________
	subroutine cero1(mi,ntotal4,k,dscal)

	real*4 dscal(*)

	do i=1,mi
           do j=1,ntotal4
              k=k+1
	      dscal(k)=0.
	   end do
        end do

	return
	end
c _____________________________________________________________________________
	subroutine mult1(mi,ntotal4,k,fill,vmac,sinp,dscal)

	real*4 fill,vmac,sinp(*),dscal(*)

        if(mi.eq.1)then
           prod=fill*vmac
           do j=1,ntotal4
              k=k+1
	      dscal(k)=sinp(j)*prod
	   end do
	end if

        return
	end
c _____________________________________________________________________________