~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/loop_matrix.f

  • Committer: olivier Mattelaer
  • Date: 2015-03-05 00:14:16 UTC
  • mfrom: (258.1.9 2.3)
  • mto: (258.8.1 2.3)
  • mto: This revision was merged to the branch mainline in revision 259.
  • Revision ID: olivier.mattelaer@uclouvain.be-20150305001416-y9mzeykfzwnl9t0j
partial merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
C     
17
17
      IMPLICIT NONE
18
18
C     
 
19
C     USER CUSTOMIZABLE OPTIONS
 
20
C     
 
21
C     This parameter is designed for the check timing command of MG5.
 
22
C      It skips the loop reduction.
 
23
      LOGICAL SKIPLOOPEVAL
 
24
      PARAMETER (SKIPLOOPEVAL=.FALSE.)
 
25
C     For timing checks. Stops the code after having only initialized
 
26
C      its arrays from the external data files 
 
27
      LOGICAL BOOTANDSTOP
 
28
      PARAMETER (BOOTANDSTOP=.FALSE.)
 
29
C     
19
30
C     CONSTANTS
20
31
C     
21
32
      CHARACTER*512 PARAMFNAME,HELCONFIGFNAME,LOOPFILTERFNAME
32
43
      INTEGER NBORNAMPS
33
44
      PARAMETER (NBORNAMPS=3)
34
45
      INTEGER    NLOOPS, NLOOPGROUPS, NCTAMPS
35
 
      PARAMETER (NLOOPS=53, NLOOPGROUPS=26, NCTAMPS=85)
 
46
      PARAMETER (NLOOPS=44, NLOOPGROUPS=26, NCTAMPS=85)
 
47
      INTEGER    NLOOPAMPS
 
48
      PARAMETER (NLOOPAMPS=129)
36
49
      INTEGER    NCOLORROWS
37
 
      PARAMETER (NCOLORROWS=138)
 
50
      PARAMETER (NCOLORROWS=NLOOPAMPS)
38
51
      INTEGER    NEXTERNAL
39
52
      PARAMETER (NEXTERNAL=4)
40
53
      INTEGER    NWAVEFUNCS,NLOOPWAVEFUNCS
41
 
      PARAMETER (NWAVEFUNCS=10,NLOOPWAVEFUNCS=117)
 
54
      PARAMETER (NWAVEFUNCS=10,NLOOPWAVEFUNCS=93)
42
55
      INTEGER MAXLWFSIZE
43
56
      PARAMETER (MAXLWFSIZE=4)
44
57
      INTEGER LOOPMAXCOEFS, VERTEXMAXCOEFS
68
81
C     Only CutTools provides QP
69
82
      INTEGER QP_NLOOPLIB
70
83
      PARAMETER (QP_NLOOPLIB=1)
71
 
C     This parameter is designed for the check timing command of MG5
72
 
      LOGICAL SKIPLOOPEVAL
73
 
      PARAMETER (SKIPLOOPEVAL=.FALSE.)
74
 
      LOGICAL BOOTANDSTOP
75
 
      PARAMETER (BOOTANDSTOP=.FALSE.)
76
84
      INTEGER MAXSTABILITYLENGTH
77
85
      DATA MAXSTABILITYLENGTH/20/
78
86
      COMMON/ML5_0_STABILITY_TESTS/MAXSTABILITYLENGTH
 
87
 
79
88
C     
80
89
C     ARGUMENTS 
81
90
C     
103
112
C     
104
113
C     LOCAL VARIABLES 
105
114
C     
106
 
      INTEGER I,J,K,H,DUMMY,I_QP_LIB
 
115
      INTEGER I,J,K,H,HEL_MULT,I_QP_LIB,DUMMY
107
116
 
108
117
      CHARACTER*512 PARAMFN,HELCONFIGFN,LOOPFILTERFN,COLORNUMFN
109
118
     $ ,COLORDENOMFN,HELFILTERFN
134
143
      LOGICAL EVAL_DONE(MAXSTABILITYLENGTH)
135
144
      LOGICAL DOING_QP_EVALS
136
145
      INTEGER STAB_INDEX,BASIC_CT_MODE
137
 
      INTEGER N_DP_EVAL, N_QP_EVAL
138
 
      DATA N_DP_EVAL/1/
139
 
      DATA N_QP_EVAL/1/
 
146
 
 
147
 
140
148
      REAL*8 ACC(0:NSQUAREDSO)
141
149
      REAL*8 DP_RES(3,0:NSQUAREDSO,MAXSTABILITYLENGTH)
142
150
C     QP_RES STORES THE QUADRUPLE PRECISION RESULT OBTAINED FROM
149
157
      REAL*8 HELSAVED(3,NCOMB)
150
158
      INTEGER ITEMP
151
159
      LOGICAL LTEMP
152
 
      REAL*8 BORNBUFF(0:NSQSO_BORN)
 
160
      REAL*8 BORNBUFF(0:NSQSO_BORN),TMPR
153
161
      REAL*8 BUFFR(3,0:NSQUAREDSO),BUFFR_BIS(3,0:NSQUAREDSO),TEMP(0:3
154
 
     $ ,0:NSQUAREDSO),TEMP1(0:NSQUAREDSO),TEMP2
 
162
     $ ,0:NSQUAREDSO),TEMP1(0:NSQUAREDSO)
 
163
      REAL*8 TEMP2
155
164
      COMPLEX*16 COEFS(MAXLWFSIZE,0:VERTEXMAXCOEFS-1,MAXLWFSIZE)
156
165
      COMPLEX*16 CFTOT
157
166
      LOGICAL FOUNDHELFILTER,FOUNDLOOPFILTER
161
170
      DATA ((LOOPFILTERBUFF(J,I),J=1,NSQUAREDSO),I=1,NLOOPGROUPS)
162
171
     $ /NSQSOXNLG*.FALSE./
163
172
 
 
173
      LOGICAL AUTOMATIC_TIR_CACHE_CLEARING
 
174
      DATA AUTOMATIC_TIR_CACHE_CLEARING/.TRUE./
 
175
      COMMON/ML5_0_RUNTIME_OPTIONS/AUTOMATIC_TIR_CACHE_CLEARING
 
176
 
164
177
      INTEGER IDEN
165
178
      DATA IDEN/256/
166
179
      INTEGER HELAVGFACTOR
179
192
C     
180
193
C     FUNCTIONS
181
194
C     
 
195
      INTEGER ML5_0_TIRCACHE_INDEX
182
196
      INTEGER ML5_0_ML5SOINDEX_FOR_BORN_AMP
183
197
      INTEGER ML5_0_ML5SOINDEX_FOR_LOOP_AMP
184
198
      INTEGER ML5_0_ML5SQSOINDEX
192
206
      INCLUDE 'mp_coupl.inc'
193
207
      INCLUDE 'MadLoopParams.inc'
194
208
 
 
209
 
195
210
      LOGICAL CHOSEN_SO_CONFIGS(NSQUAREDSO)
196
211
      DATA CHOSEN_SO_CONFIGS//
197
212
      COMMON/ML5_0_CHOSEN_LOOP_SQSO/CHOSEN_SO_CONFIGS
198
213
 
 
214
      INTEGER N_DP_EVAL, N_QP_EVAL
 
215
      DATA N_DP_EVAL/1/
 
216
      DATA N_QP_EVAL/1/
 
217
      COMMON/ML5_0_N_EVALS/N_DP_EVAL,N_QP_EVAL
 
218
 
199
219
      LOGICAL CHECKPHASE
200
220
      DATA CHECKPHASE/.TRUE./
201
221
      LOGICAL HELDOUBLECHECKED
212
232
C     A FLAG TO DENOTE WHETHER THE CORRESPONDING LOOPLIBS ARE
213
233
C      AVAILABLE OR NOT
214
234
      LOGICAL LOOPLIBS_AVAILABLE(4)
215
 
      DATA LOOPLIBS_AVAILABLE /.TRUE.,.FALSE.,.FALSE.,.FALSE./
 
235
      DATA LOOPLIBS_AVAILABLE/.TRUE.,.FALSE.,.FALSE.,.FALSE./
216
236
      COMMON/ML5_0_LOOPLIBS_AV/ LOOPLIBS_AVAILABLE
217
237
C     A FLAG TO DENOTE WHETHER THE CORRESPONDING DIRECTION TESTS
218
238
C      AVAILABLE OR NOT IN THE LOOPLIBS
219
239
C     PJFry++ and Golem95 do not support direction test
220
240
      LOGICAL LOOPLIBS_DIRECTEST(4)
221
 
      DATA LOOPLIBS_DIRECTEST /.TRUE.,.FALSE.,.TRUE.,.FALSE./
 
241
      DATA LOOPLIBS_DIRECTEST /.TRUE.,.TRUE.,.TRUE.,.TRUE./
222
242
 
223
243
C     PS CAN POSSIBILY BE PASSED THROUGH IMPROVE_PS BUT IS NOT
224
244
C      MODIFIED FOR THE PURPOSE OF THE STABILITY TEST
315
335
      COMPLEX*16 LOOPCOEFS(0:LOOPMAXCOEFS-1,NSQUAREDSO,NLOOPGROUPS)
316
336
      COMMON/ML5_0_LCOEFS/LOOPCOEFS
317
337
 
 
338
 
 
339
 
318
340
      COMPLEX*16 AMPL(3,NCTAMPS)
319
341
      COMMON/ML5_0_AMPL/AMPL
320
342
 
358
380
C     ----------
359
381
 
360
382
      IF(ML_INIT) THEN
 
383
        ML_INIT = .FALSE.
361
384
        CALL PRINT_MADLOOP_BANNER()
362
385
        TMP = 'auto'
363
386
        CALL SETMADLOOPPATH(TMP)
364
387
        CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
365
388
        CALL MADLOOPPARAMREADER(PARAMFN,.TRUE.)
366
 
        ML_INIT = .FALSE.
 
389
 
 
390
C       Make sure that NROTATIONS_QP and NROTATIONS_DP are set to zero
 
391
C        if AUTOMATIC_TIR_CACHE_CLEARING is disabled.
 
392
        IF(.NOT.AUTOMATIC_TIR_CACHE_CLEARING) THEN
 
393
          IF(NROTATIONS_DP.NE.0.OR.NROTATIONS_QP.NE.0) THEN
 
394
            WRITE(*,*) 'INFO: AUTOMATIC_TIR_CACHE_CLEARING is disable'
 
395
     $       //'d, so MadLoop automatically resets NROTATIONS_DP an'
 
396
     $       //'d NROTATIONS_QP to 0.'
 
397
            NROTATIONS_QP=0
 
398
            NROTATIONS_DP=0
 
399
          ENDIF
 
400
        ENDIF
 
401
      ENDIF
 
402
 
 
403
      QP_TOOLS_AVAILABLE=.FALSE.
 
404
      INDEX_QP_TOOLS(1:QP_NLOOPLIB+1)=0
 
405
C     SKIP THE ONES THAT NOT AVAILABLE
 
406
      J=1
 
407
      DO I=1,NLOOPLIB
 
408
        IF(MLREDUCTIONLIB(J).EQ.0)EXIT
 
409
        IF(.NOT.LOOPLIBS_AVAILABLE(MLREDUCTIONLIB(J)))THEN
 
410
          MLREDUCTIONLIB(J:NLOOPLIB-1)=MLREDUCTIONLIB(J+1:NLOOPLIB)
 
411
          MLREDUCTIONLIB(NLOOPLIB)=0
 
412
        ELSE
 
413
          J=J+1
 
414
        ENDIF
 
415
      ENDDO
 
416
      IF(MLREDUCTIONLIB(1).EQ.0)THEN
 
417
        STOP 'No available loop reduction lib is provided. Make sur'
 
418
     $   //'e MLReductionLib is correct.'
 
419
      ENDIF
 
420
      J=0
 
421
      DO I=1,NLOOPLIB
 
422
        IF(MLREDUCTIONLIB(I).EQ.1)THEN
 
423
          J=J+1
 
424
          IF(.NOT.QP_TOOLS_AVAILABLE)QP_TOOLS_AVAILABLE=.TRUE.
 
425
          INDEX_QP_TOOLS(J)=I
 
426
        ENDIF
 
427
      ENDDO
 
428
 
 
429
C     Setup the file paths
 
430
      CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
 
431
      CALL JOINPATH(MLPATH,PROC_PREFIX,TMP)
 
432
      CALL JOINPATH(TMP,HELCONFIGFNAME,HELCONFIGFN)
 
433
      CALL JOINPATH(TMP,LOOPFILTERFNAME,LOOPFILTERFN)
 
434
      CALL JOINPATH(TMP,COLORNUMFNAME,COLORNUMFN)
 
435
      CALL JOINPATH(TMP,COLORDENOMFNAME,COLORDENOMFN)
 
436
      CALL JOINPATH(TMP,HELFILTERFNAME,HELFILTERFN)
 
437
 
 
438
      CALL ML5_0_SET_N_EVALS(N_DP_EVAL,N_QP_EVAL)
 
439
 
 
440
      OPEN(1, FILE=COLORNUMFN, ERR=104, STATUS='OLD',          
 
441
     $  ACTION='READ')
 
442
      DO I=1,NCOLORROWS
 
443
        READ(1,*,END=105) (CF_N(I,J),J=1,NBORNAMPS)
 
444
      ENDDO
 
445
      GOTO 105
 
446
 104  CONTINUE
 
447
      STOP 'Color factors could not be initialized from file ML5_0_Col'
 
448
     $ //'orNumFactors.dat. File not found'
 
449
 105  CONTINUE
 
450
      CLOSE(1)
 
451
      OPEN(1, FILE=COLORDENOMFN, ERR=106, STATUS='OLD',          
 
452
     $  ACTION='READ')
 
453
      DO I=1,NCOLORROWS
 
454
        READ(1,*,END=107) (CF_D(I,J),J=1,NBORNAMPS)
 
455
      ENDDO
 
456
      GOTO 107
 
457
 106  CONTINUE
 
458
      STOP 'Color factors could not be initialized from file ML5_0_Col'
 
459
     $ //'orDenomFactors.dat. File not found'
 
460
 107  CONTINUE
 
461
      CLOSE(1)
 
462
      OPEN(1, FILE=HELCONFIGFN, ERR=108, STATUS='OLD',                
 
463
     $   ACTION='READ')
 
464
      DO H=1,NCOMB
 
465
        READ(1,*,END=109) (HELC(I,H),I=1,NEXTERNAL)
 
466
      ENDDO
 
467
      GOTO 109
 
468
 108  CONTINUE
 
469
      STOP 'Color helictiy configurations could not be initialize'
 
470
     $ //'d from file ML5_0_HelConfigs.dat. File not found'
 
471
 109  CONTINUE
 
472
      CLOSE(1)
 
473
 
 
474
C     SETUP OF THE COMMON STARTING EXTERNAL LOOP WAVEFUNCTION
 
475
C     IT IS ALSO PS POINT INDEPENDENT, SO IT CAN BE DONE HERE.
 
476
      DO I=0,3
 
477
        PL(I,0)=(0.0D0,0.0D0)
 
478
      ENDDO
 
479
      DO I=1,MAXLWFSIZE
 
480
        DO J=0,LOOPMAXCOEFS-1
 
481
          DO K=1,MAXLWFSIZE
 
482
            IF(I.EQ.K.AND.J.EQ.0) THEN
 
483
              WL(I,J,K,0)=(1.0D0,0.0D0)
 
484
            ELSE
 
485
              WL(I,J,K,0)=(0.0D0,0.0D0)
 
486
            ENDIF
 
487
          ENDDO
 
488
        ENDDO
 
489
      ENDDO
 
490
      IF(BOOTANDSTOP) THEN
 
491
        WRITE(*,*) 'Stopped by user request.'
 
492
        STOP
367
493
      ENDIF
368
494
 
369
495
      IF(NTRY.EQ.0) THEN
370
 
C       CALL MADLOOPPARAMREADER(paramFileName,.TRUE.)
371
 
        QP_TOOLS_AVAILABLE=.FALSE.
372
 
        INDEX_QP_TOOLS(1:QP_NLOOPLIB+1)=0
373
 
C       SKIP THE ONES THAT NOT AVAILABLE
374
 
        J=1
375
 
        DO I=1,NLOOPLIB
376
 
          IF(MLREDUCTIONLIB(J).EQ.0)EXIT
377
 
          IF(.NOT.LOOPLIBS_AVAILABLE(MLREDUCTIONLIB(J)))THEN
378
 
            MLREDUCTIONLIB(J:NLOOPLIB-1)=MLREDUCTIONLIB(J+1:NLOOPLIB)
379
 
            MLREDUCTIONLIB(NLOOPLIB)=0
380
 
          ELSE
381
 
            J=J+1
382
 
          ENDIF
383
 
        ENDDO
384
 
        IF(MLREDUCTIONLIB(1).EQ.0)THEN
385
 
          STOP 'No available loop reduction lib is provided. Make sur'
386
 
     $     //'e MLReductionLib is correct.'
387
 
        ENDIF
388
 
        J=0
389
 
        DO I=1,NLOOPLIB
390
 
          IF(MLREDUCTIONLIB(I).EQ.1)THEN
391
 
            J=J+1
392
 
            IF(.NOT.QP_TOOLS_AVAILABLE)QP_TOOLS_AVAILABLE=.TRUE.
393
 
            INDEX_QP_TOOLS(J)=I
394
 
          ENDIF
395
 
        ENDDO
396
 
 
397
 
C       Setup the file paths
398
 
        CALL JOINPATH(MLPATH,PARAMFNAME,PARAMFN)
399
 
        CALL JOINPATH(MLPATH,PROC_PREFIX,TMP)
400
 
        CALL JOINPATH(TMP,HELCONFIGFNAME,HELCONFIGFN)
401
 
        CALL JOINPATH(TMP,LOOPFILTERFNAME,LOOPFILTERFN)
402
 
        CALL JOINPATH(TMP,COLORNUMFNAME,COLORNUMFN)
403
 
        CALL JOINPATH(TMP,COLORDENOMFNAME,COLORDENOMFN)
404
 
        CALL JOINPATH(TMP,HELFILTERFNAME,HELFILTERFN)
405
 
 
406
 
        CALL ML5_0_SET_N_EVALS(N_DP_EVAL,N_QP_EVAL)
407
 
 
408
 
        HELDOUBLECHECKED=.NOT.DOUBLECHECKHELICITYFILTER
 
496
        HELDOUBLECHECKED=(.NOT.DOUBLECHECKHELICITYFILTER).OR.(HELICITYF
 
497
     $   ILTERLEVEL.EQ.0)
409
498
        OPEN(1, FILE=LOOPFILTERFN, ERR=100, STATUS='OLD',          
410
499
     $    ACTION='READ')
411
500
        DO J=1,NLOOPGROUPS
422
511
 101    CONTINUE
423
512
        CLOSE(1)
424
513
 
 
514
        IF (HELICITYFILTERLEVEL.EQ.0) THEN
 
515
          FOUNDHELFILTER=.TRUE.
 
516
          DO J=1,NCOMB
 
517
            GOODHEL(J)=1
 
518
          ENDDO
 
519
          GOTO 122
 
520
        ENDIF
425
521
        OPEN(1, FILE=HELFILTERFN, ERR=102, STATUS='OLD',          
426
522
     $    ACTION='READ')
427
523
        DO I=1,NCOMB
435
531
        ENDDO
436
532
 103    CONTINUE
437
533
        CLOSE(1)
438
 
 
439
 
        OPEN(1, FILE=COLORNUMFN, ERR=104, STATUS='OLD',          
440
 
     $    ACTION='READ')
441
 
        DO I=1,NCOLORROWS
442
 
          READ(1,*,END=105) (CF_N(I,J),J=1,NBORNAMPS)
443
 
        ENDDO
444
 
        GOTO 105
445
 
 104    CONTINUE
446
 
        STOP 'Color factors could not be initialized from fil'
447
 
     $   //'e ML5_0_ColorNumFactors.dat. File not found'
448
 
 105    CONTINUE
449
 
        CLOSE(1)
450
 
        OPEN(1, FILE=COLORDENOMFN, ERR=106, STATUS='OLD',          
451
 
     $    ACTION='READ')
452
 
        DO I=1,NCOLORROWS
453
 
          READ(1,*,END=107) (CF_D(I,J),J=1,NBORNAMPS)
454
 
        ENDDO
455
 
        GOTO 107
456
 
 106    CONTINUE
457
 
        STOP 'Color factors could not be initialized from fil'
458
 
     $   //'e ML5_0_ColorDenomFactors.dat. File not found'
459
 
 107    CONTINUE
460
 
        CLOSE(1)
461
 
        OPEN(1, FILE=HELCONFIGFN, ERR=108, STATUS='OLD',              
462
 
     $       ACTION='READ')
463
 
        DO H=1,NCOMB
464
 
          READ(1,*,END=109) (HELC(I,H),I=1,NEXTERNAL)
465
 
        ENDDO
466
 
        GOTO 109
467
 
 108    CONTINUE
468
 
        STOP 'Color helictiy configurations could not be initialize'
469
 
     $   //'d from file ML5_0_HelConfigs.dat. File not found'
470
 
 109    CONTINUE
471
 
        CLOSE(1)
472
 
 
473
 
C       SETUP OF THE COMMON STARTING EXTERNAL LOOP WAVEFUNCTION
474
 
C       IT IS ALSO PS POINT INDEPENDENT, SO IT CAN BE DONE HERE.
475
 
        DO I=0,3
476
 
          PL(I,0)=(0.0D0,0.0D0)
477
 
        ENDDO
478
 
        DO I=1,MAXLWFSIZE
479
 
          DO J=0,LOOPMAXCOEFS-1
480
 
            DO K=1,MAXLWFSIZE
481
 
              IF(I.EQ.K.AND.J.EQ.0) THEN
482
 
                WL(I,J,K,0)=(1.0D0,0.0D0)
483
 
              ELSE
484
 
                WL(I,J,K,0)=(0.0D0,0.0D0)
485
 
              ENDIF
486
 
            ENDDO
 
534
        IF (HELICITYFILTERLEVEL.EQ.1) THEN
 
535
C         We must make sure to remove the matching-helicity optimisatio
 
536
C         n, as requested by the user.
 
537
          DO J=1,NCOMB
 
538
            IF ((GOODHEL(J).GT.1).OR.(GOODHEL(J).LT.HELOFFSET)) THEN
 
539
              GOODHEL(J)=1
 
540
            ENDIF
487
541
          ENDDO
488
 
        ENDDO
489
 
        IF(BOOTANDSTOP) THEN
490
 
          WRITE(*,*) 'Stopped by user request.'
491
 
          STOP
492
542
        ENDIF
 
543
 122    CONTINUE
493
544
      ENDIF
494
545
 
495
 
 
496
546
C     First compute the borns, it will store them in ANS(0,I)
497
547
C     It is left untouched for the rest of MadLoop evaluation.
498
548
C     Notice that the squared split order index I does NOT
512
562
        ANS(0,I)=BORNBUFF(I)
513
563
      ENDDO
514
564
 
515
 
 
516
565
C     We set here the reference to the born summed over all split
517
566
C      orders
518
567
      REF=0.0D0
557
606
     $ ).AND.USELOOPFILTER).OR.(.NOT.FOUNDHELFILTER))
558
607
 
559
608
      IF (WRITEOUTFILTERS) THEN
560
 
        IF ((.NOT. CHECKPHASE).AND.(.NOT.FOUNDHELFILTER)) THEN
561
 
 
 
609
        IF ((HELICITYFILTERLEVEL.NE.0).AND.(.NOT. CHECKPHASE).AND.(.NOT
 
610
     $   .FOUNDHELFILTER)) THEN
562
611
          OPEN(1, FILE=HELFILTERFN, ERR=110, STATUS='NEW',ACTION='WRIT'
563
612
     $     //'E')
564
613
          DO I=1,NCOMB
627
676
        ENDDO
628
677
      ENDDO
629
678
 
 
679
 
630
680
      IF (IMPROVEPSPOINT.GE.0) THEN
631
681
C       Make the input PS more precise (exact onshell and energy-moment
632
682
C       um conservation)
647
697
          AMPL(K,I)=(0.0D0,0.0D0)
648
698
        ENDDO
649
699
      ENDDO
650
 
C     USE THE FIRST LOOP REDUCTION LIBRARY AND THE FIRST QP LOOP
651
 
C      REDUCTION LIBRARY
 
700
 
 
701
C     Start by using the first available loop reduction library and qp
 
702
C      library.
652
703
      I_LIB=1
653
704
      I_QP_LIB=1
 
705
 
 
706
      GOTO 208
 
707
C     MadLoop jumps to this label during stability checks when it
 
708
C      recomputes a rotated PS point
654
709
 200  CONTINUE
 
710
C     For the computation of a rotated version of this PS point we
 
711
C      must reset the TIR cache since this changes the definition of
 
712
C      the loop denominators.
 
713
      CALL ML5_0_CLEAR_TIR_CACHE()
 
714
 208  CONTINUE
 
715
 
 
716
C     MadLoop jumps to this label during initialization when it goes
 
717
C      to the computation of the next helicity.
 
718
 205  CONTINUE
655
719
 
656
720
      IF (.NOT.MP_PS_SET.AND.(CTMODE.EQ.0.OR.CTMODE.GE.4)) THEN
657
721
        CALL ML5_0_SET_MP_PS(P_USER)
676
740
      DO I=1,NLOOPGROUPS
677
741
        DO J=1,3
678
742
          DO K=1,NSQUAREDSO
679
 
            LOOPRES(J,K,I)=0.0D0
 
743
            LOOPRES(J,K,I)=(0.0D0,0.0D0)
680
744
          ENDDO
681
745
        ENDDO
682
746
      ENDDO
713
777
          CT_REQ_SO_DONE=.FALSE.
714
778
          LOOP_REQ_SO_DONE=.FALSE.
715
779
 
 
780
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.
 
781
     $     -1) THEN
 
782
            HEL_MULT=GOODHEL(H)
 
783
          ELSE
 
784
            HEL_MULT=1
 
785
          ENDIF
 
786
 
 
787
 
716
788
C         Helas calls for the born amplitudes and counterterms
717
789
C          associated to given loops
718
790
          CALL VXXXXX(P(0,1),ZERO,NHEL(1),-1*IC(1),W(1,1))
731
803
          CALL FFV1P0_3(W(1,4),W(1,3),GC_5,ZERO,ZERO,W(1,8))
732
804
C         Counter-term amplitude(s) for loop diagram number 4
733
805
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,1))
 
806
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,2))
 
807
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,3))
 
808
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,4))
734
809
C         Counter-term amplitude(s) for loop diagram number 5
735
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,2))
736
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,3))
737
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,4))
738
810
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,5))
739
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB,AMPL(1,6))
 
811
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,6))
740
812
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,7))
741
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GT,AMPL(1,8))
742
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,9))
743
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GG_1EPS,AMPL(2,10))
744
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,11))
745
 
C         Counter-term amplitude(s) for loop diagram number 7
746
 
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,12))
747
 
C         Counter-term amplitude(s) for loop diagram number 8
748
 
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,13))
749
 
C         Counter-term amplitude(s) for loop diagram number 10
750
 
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,14))
751
 
C         Counter-term amplitude(s) for loop diagram number 11
 
813
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,8))
 
814
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB,AMPL(1,9))
 
815
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,10))
 
816
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GT,AMPL(1,11))
 
817
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GB_1EPS,AMPL(2,12))
 
818
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),UV_3GG_1EPS,AMPL(2,13))
 
819
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,14))
752
820
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,15))
753
 
C         Counter-term amplitude(s) for loop diagram number 13
754
 
          CALL R2_GG_1_0(W(1,5),W(1,8),R2_GGQ,AMPL(1,16))
755
 
C         Counter-term amplitude(s) for loop diagram number 14
 
821
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,16))
756
822
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,17))
757
 
C         Counter-term amplitude(s) for loop diagram number 16
 
823
C         Counter-term amplitude(s) for loop diagram number 7
758
824
          CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,8),R2_GGQ,R2_GGB,AMPL(1
759
825
     $     ,18))
760
 
C         Counter-term amplitude(s) for loop diagram number 17
 
826
C         Counter-term amplitude(s) for loop diagram number 8
761
827
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,19))
762
 
C         Counter-term amplitude(s) for loop diagram number 19
 
828
C         Counter-term amplitude(s) for loop diagram number 10
763
829
          CALL R2_GG_1_R2_GG_3_0(W(1,5),W(1,8),R2_GGQ,R2_GGT,AMPL(1
764
830
     $     ,20))
765
 
C         Counter-term amplitude(s) for loop diagram number 20
 
831
C         Counter-term amplitude(s) for loop diagram number 11
766
832
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,21))
767
833
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,22))
768
834
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQQ_1EPS,AMPL(2,23))
774
840
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),UV_GQQG_1EPS,AMPL(2,29))
775
841
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),R2_GQQ,AMPL(1,30))
776
842
          CALL FFV1_2(W(1,4),W(1,2),GC_5,MDL_MT,MDL_WT,W(1,9))
777
 
C         Counter-term amplitude(s) for loop diagram number 22
 
843
C         Counter-term amplitude(s) for loop diagram number 13
778
844
          CALL R2_QQ_1_R2_QQ_2_0(W(1,9),W(1,6),R2_QQQ,R2_QQT,AMPL(1
779
845
     $     ,31))
780
846
          CALL R2_QQ_2_0(W(1,9),W(1,6),UV_TMASS,AMPL(1,32))
781
847
          CALL R2_QQ_2_0(W(1,9),W(1,6),UV_TMASS_1EPS,AMPL(2,33))
782
 
C         Counter-term amplitude(s) for loop diagram number 23
 
848
C         Counter-term amplitude(s) for loop diagram number 14
783
849
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),UV_GQQQ_1EPS,AMPL(2,34))
784
850
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),UV_GQQQ_1EPS,AMPL(2,35))
785
851
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),UV_GQQQ_1EPS,AMPL(2,36))
791
857
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),UV_GQQG_1EPS,AMPL(2,42))
792
858
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),R2_GQQ,AMPL(1,43))
793
859
          CALL FFV1_1(W(1,3),W(1,2),GC_5,MDL_MT,MDL_WT,W(1,10))
794
 
C         Counter-term amplitude(s) for loop diagram number 25
 
860
C         Counter-term amplitude(s) for loop diagram number 16
795
861
          CALL R2_QQ_1_R2_QQ_2_0(W(1,7),W(1,10),R2_QQQ,R2_QQT,AMPL(1
796
862
     $     ,44))
797
863
          CALL R2_QQ_2_0(W(1,7),W(1,10),UV_TMASS,AMPL(1,45))
798
864
          CALL R2_QQ_2_0(W(1,7),W(1,10),UV_TMASS_1EPS,AMPL(2,46))
799
 
C         Counter-term amplitude(s) for loop diagram number 26
 
865
C         Counter-term amplitude(s) for loop diagram number 17
800
866
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),UV_GQQQ_1EPS,AMPL(2,47))
801
867
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),UV_GQQQ_1EPS,AMPL(2,48))
802
868
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),UV_GQQQ_1EPS,AMPL(2,49))
807
873
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),UV_GQQQ_1EPS,AMPL(2,54))
808
874
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),UV_GQQG_1EPS,AMPL(2,55))
809
875
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),R2_GQQ,AMPL(1,56))
810
 
C         Counter-term amplitude(s) for loop diagram number 28
 
876
C         Counter-term amplitude(s) for loop diagram number 19
811
877
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),UV_GQQQ_1EPS,AMPL(2,57))
812
878
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),UV_GQQQ_1EPS,AMPL(2,58))
813
879
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),UV_GQQQ_1EPS,AMPL(2,59))
818
884
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),UV_GQQQ_1EPS,AMPL(2,64))
819
885
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),UV_GQQG_1EPS,AMPL(2,65))
820
886
          CALL FFV1_0(W(1,4),W(1,10),W(1,1),R2_GQQ,AMPL(1,66))
821
 
C         Counter-term amplitude(s) for loop diagram number 29
 
887
C         Counter-term amplitude(s) for loop diagram number 20
822
888
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),UV_GQQQ_1EPS,AMPL(2,67))
823
889
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),UV_GQQQ_1EPS,AMPL(2,68))
824
890
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),UV_GQQQ_1EPS,AMPL(2,69))
829
895
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),UV_GQQQ_1EPS,AMPL(2,74))
830
896
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),UV_GQQG_1EPS,AMPL(2,75))
831
897
          CALL FFV1_0(W(1,9),W(1,3),W(1,1),R2_GQQ,AMPL(1,76))
832
 
C         Counter-term amplitude(s) for loop diagram number 31
 
898
C         Counter-term amplitude(s) for loop diagram number 22
833
899
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GQ,AMPL(1,77))
834
 
C         Counter-term amplitude(s) for loop diagram number 41
 
900
C         Counter-term amplitude(s) for loop diagram number 32
835
901
          CALL R2_GG_1_R2_GG_2_0(W(1,5),W(1,8),R2_GGG_1,R2_GGG_2
836
902
     $     ,AMPL(1,78))
837
 
C         Counter-term amplitude(s) for loop diagram number 42
 
903
C         Counter-term amplitude(s) for loop diagram number 33
838
904
          CALL VVV1_0(W(1,1),W(1,2),W(1,8),R2_3GG,AMPL(1,79))
839
905
 2000     CONTINUE
840
906
          CT_REQ_SO_DONE=.TRUE.
845
911
C         (if needed by the loop UFO model) are of this type.
846
912
C         Quite often and in principle for all loop UFO models from 
847
913
C         FeynRules, there are none of these type of counterterms.
848
 
C         Amplitude(s) for UVCT diagram with ID 49
 
914
C         Amplitude(s) for UVCT diagram with ID 40
849
915
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),GC_5,AMPL(1,80))
850
916
          AMPL(1,80)=AMPL(1,80)*(2.0D0*UVWFCT_G_2+2.0D0*UVWFCT_G_1
851
917
     $     +2.0D0*UVWFCT_T_0)
852
 
C         Amplitude(s) for UVCT diagram with ID 50
 
918
C         Amplitude(s) for UVCT diagram with ID 41
853
919
          CALL FFV1_0(W(1,4),W(1,3),W(1,5),GC_5,AMPL(2,81))
854
920
          AMPL(2,81)=AMPL(2,81)*(2.0D0*UVWFCT_B_0_1EPS+4.0D0*UVWFCT_G_2
855
921
     $     _1EPS)
856
 
C         Amplitude(s) for UVCT diagram with ID 51
 
922
C         Amplitude(s) for UVCT diagram with ID 42
857
923
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),GC_5,AMPL(1,82))
858
924
          AMPL(1,82)=AMPL(1,82)*(2.0D0*UVWFCT_G_2+2.0D0*UVWFCT_G_1
859
925
     $     +2.0D0*UVWFCT_T_0)
860
 
C         Amplitude(s) for UVCT diagram with ID 52
 
926
C         Amplitude(s) for UVCT diagram with ID 43
861
927
          CALL FFV1_0(W(1,4),W(1,6),W(1,2),GC_5,AMPL(2,83))
862
928
          AMPL(2,83)=AMPL(2,83)*(2.0D0*UVWFCT_B_0_1EPS+4.0D0*UVWFCT_G_2
863
929
     $     _1EPS)
864
 
C         Amplitude(s) for UVCT diagram with ID 53
 
930
C         Amplitude(s) for UVCT diagram with ID 44
865
931
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),GC_5,AMPL(1,84))
866
932
          AMPL(1,84)=AMPL(1,84)*(2.0D0*UVWFCT_G_2+2.0D0*UVWFCT_G_1
867
933
     $     +2.0D0*UVWFCT_T_0)
868
 
C         Amplitude(s) for UVCT diagram with ID 54
 
934
C         Amplitude(s) for UVCT diagram with ID 45
869
935
          CALL FFV1_0(W(1,7),W(1,3),W(1,2),GC_5,AMPL(2,85))
870
936
          AMPL(2,85)=AMPL(2,85)*(2.0D0*UVWFCT_B_0_1EPS+4.0D0*UVWFCT_G_2
871
937
     $     _1EPS)
872
938
 3000     CONTINUE
873
939
          UVCT_REQ_SO_DONE=.TRUE.
874
940
 
875
 
          IF (.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.HELPICKED.EQ.
876
 
     $     -1) THEN
877
 
            DUMMY=GOODHEL(H)
878
 
          ELSE
879
 
            DUMMY=1
880
 
          ENDIF
881
941
          DO I=1,NCTAMPS
882
942
            DO J=1,NBORNAMPS
883
943
              CFTOT=DCMPLX(CF_N(I,J)/DBLE(ABS(CF_D(I,J))),0.0D0)
886
946
     $         I),ML5_0_ML5SOINDEX_FOR_BORN_AMP(J))
887
947
              IF (.NOT.FILTER_SO.OR.SQSO_TARGET.EQ.ITEMP) THEN
888
948
                DO K=1,3
889
 
                  TEMP2 = 2.0D0*DUMMY*DBLE(CFTOT*AMPL(K,I)*DCONJG(AMP(J
890
 
     $             )))
 
949
                  TEMP2 = 2.0D0*HEL_MULT*DBLE(CFTOT*AMPL(K,I)
 
950
     $             *DCONJG(AMP(J)))
891
951
                  ANS(K,ITEMP)=ANS(K,ITEMP)+TEMP2
892
952
                  ANS(K,0)=ANS(K,0)+TEMP2
893
953
                ENDDO
900
960
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,1))
901
961
          CALL FFV1L2_1(PL(0,1),W(1,8),GC_5,ZERO,ZERO,PL(0,2),COEFS)
902
962
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,1),4,COEFS,4,4,WL(1,0,1,2))
903
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,2),2,4,1,1,86,H)
 
963
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,2),2,4,1,1,4,86,H)
904
964
C         Coefficient construction for loop diagram with ID 5
905
965
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,3),COEFS)
906
966
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,3))
908
968
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,3),4,COEFS,4,4,WL(1,0,1,4))
909
969
          CALL FFV1L1_2(PL(0,4),W(1,8),GC_5,ZERO,ZERO,PL(0,5),COEFS)
910
970
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,4),4,COEFS,4,4,WL(1,0,1,5))
911
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,5),3,4,2,1,87,H)
 
971
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,5),3,4,2,1,4,87,H)
912
972
C         Coefficient construction for loop diagram with ID 6
913
973
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,6),COEFS)
914
974
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,6))
916
976
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,6),4,COEFS,4,4,WL(1,0,1,7))
917
977
          CALL FFV1L2_1(PL(0,7),W(1,8),GC_5,ZERO,ZERO,PL(0,8),COEFS)
918
978
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,7),4,COEFS,4,4,WL(1,0,1,8))
919
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,8),3,4,2,1,88,H)
 
979
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,8),3,4,2,1,4,88,H)
920
980
C         Coefficient construction for loop diagram with ID 7
921
 
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,9),COEFS)
 
981
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MB,ZERO,PL(0,9),COEFS)
922
982
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1,9))
923
 
          CALL FFV1L2_1(PL(0,9),W(1,8),GC_5,ZERO,ZERO,PL(0,10),COEFS)
 
983
          CALL FFV1L2_1(PL(0,9),W(1,8),GC_5,MDL_MB,ZERO,PL(0,10),COEFS)
924
984
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,9),4,COEFS,4,4,WL(1,0,1
925
985
     $     ,10))
926
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,10),2,4,1,1,89,H)
 
986
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,10),2,4,3,1,1,89,H)
927
987
C         Coefficient construction for loop diagram with ID 8
928
 
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,11),COEFS)
 
988
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,11),COEFS)
929
989
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
930
990
     $     ,11))
931
 
          CALL FFV1L1_2(PL(0,11),W(1,2),GC_5,ZERO,ZERO,PL(0,12),COEFS)
 
991
          CALL FFV1L1_2(PL(0,11),W(1,2),GC_5,MDL_MB,ZERO,PL(0,12)
 
992
     $     ,COEFS)
932
993
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,11),4,COEFS,4,4,WL(1,0,1
933
994
     $     ,12))
934
 
          CALL FFV1L1_2(PL(0,12),W(1,8),GC_5,ZERO,ZERO,PL(0,13),COEFS)
 
995
          CALL FFV1L1_2(PL(0,12),W(1,8),GC_5,MDL_MB,ZERO,PL(0,13)
 
996
     $     ,COEFS)
935
997
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,12),4,COEFS,4,4,WL(1,0,1
936
998
     $     ,13))
937
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,13),3,4,2,1,90,H)
 
999
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,13),3,4,4,1,1,90,H)
938
1000
C         Coefficient construction for loop diagram with ID 9
939
 
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,14),COEFS)
 
1001
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,14),COEFS)
940
1002
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
941
1003
     $     ,14))
942
 
          CALL FFV1L2_1(PL(0,14),W(1,2),GC_5,ZERO,ZERO,PL(0,15),COEFS)
 
1004
          CALL FFV1L2_1(PL(0,14),W(1,2),GC_5,MDL_MB,ZERO,PL(0,15)
 
1005
     $     ,COEFS)
943
1006
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,14),4,COEFS,4,4,WL(1,0,1
944
1007
     $     ,15))
945
 
          CALL FFV1L2_1(PL(0,15),W(1,8),GC_5,ZERO,ZERO,PL(0,16),COEFS)
 
1008
          CALL FFV1L2_1(PL(0,15),W(1,8),GC_5,MDL_MB,ZERO,PL(0,16)
 
1009
     $     ,COEFS)
946
1010
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,15),4,COEFS,4,4,WL(1,0,1
947
1011
     $     ,16))
948
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,16),3,4,2,1,91,H)
 
1012
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,16),3,4,4,1,1,91,H)
949
1013
C         Coefficient construction for loop diagram with ID 10
950
 
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,17),COEFS)
 
1014
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,17)
 
1015
     $     ,COEFS)
951
1016
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
952
1017
     $     ,17))
953
 
          CALL FFV1L2_1(PL(0,17),W(1,8),GC_5,ZERO,ZERO,PL(0,18),COEFS)
 
1018
          CALL FFV1L2_1(PL(0,17),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,18)
 
1019
     $     ,COEFS)
954
1020
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,17),4,COEFS,4,4,WL(1,0,1
955
1021
     $     ,18))
956
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,18),2,4,1,1,92,H)
 
1022
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,18),2,4,5,1,1,92,H)
957
1023
C         Coefficient construction for loop diagram with ID 11
958
 
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,19),COEFS)
959
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1024
          CALL FFV1L1P0_3(PL(0,0),W(1,3),GC_5,ZERO,ZERO,PL(0,19),COEFS)
 
1025
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
960
1026
     $     ,19))
961
 
          CALL FFV1L1_2(PL(0,19),W(1,2),GC_5,ZERO,ZERO,PL(0,20),COEFS)
962
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,19),4,COEFS,4,4,WL(1,0,1
 
1027
          CALL FFV1L3_2(PL(0,19),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,20)
 
1028
     $     ,COEFS)
 
1029
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,19),4,COEFS,4,4,WL(1,0,1
963
1030
     $     ,20))
964
 
          CALL FFV1L1_2(PL(0,20),W(1,8),GC_5,ZERO,ZERO,PL(0,21),COEFS)
965
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,20),4,COEFS,4,4,WL(1,0,1
 
1031
          CALL FFV1L1_2(PL(0,20),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,21)
 
1032
     $     ,COEFS)
 
1033
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,20),4,COEFS,4,4,WL(1,0,1
966
1034
     $     ,21))
967
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,21),3,4,2,1,93,H)
 
1035
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,21),2,4,6,1,1,93,H)
968
1036
C         Coefficient construction for loop diagram with ID 12
969
 
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,22),COEFS)
 
1037
          CALL FFV1L3_1(PL(0,0),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,22)
 
1038
     $     ,COEFS)
970
1039
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
971
1040
     $     ,22))
972
 
          CALL FFV1L2_1(PL(0,22),W(1,2),GC_5,ZERO,ZERO,PL(0,23),COEFS)
973
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,22),4,COEFS,4,4,WL(1,0,1
 
1041
          CALL FFV1L2P0_3(PL(0,22),W(1,4),GC_5,ZERO,ZERO,PL(0,23)
 
1042
     $     ,COEFS)
 
1043
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,22),4,COEFS,4,4,WL(1,0,1
974
1044
     $     ,23))
975
 
          CALL FFV1L2_1(PL(0,23),W(1,8),GC_5,ZERO,ZERO,PL(0,24),COEFS)
976
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
 
1045
          CALL VVV1L2P0_1(PL(0,23),W(1,5),GC_4,ZERO,ZERO,PL(0,24)
 
1046
     $     ,COEFS)
 
1047
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
977
1048
     $     ,24))
978
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,24),3,4,2,1,94,H)
 
1049
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,24),2,4,7,1,1,94,H)
979
1050
C         Coefficient construction for loop diagram with ID 13
980
 
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,ZERO,ZERO,PL(0,25),COEFS)
981
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1051
          CALL FFV1L1P0_3(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,25),COEFS)
 
1052
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
982
1053
     $     ,25))
983
 
          CALL FFV1L2_1(PL(0,25),W(1,8),GC_5,ZERO,ZERO,PL(0,26),COEFS)
984
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,25),4,COEFS,4,4,WL(1,0,1
 
1054
          CALL FFV1L3_2(PL(0,25),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,26)
 
1055
     $     ,COEFS)
 
1056
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,25),4,COEFS,4,4,WL(1,0,1
985
1057
     $     ,26))
986
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,26),2,4,1,1,95,H)
 
1058
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,26),1,4,8,1,1,95,H)
987
1059
C         Coefficient construction for loop diagram with ID 14
988
 
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,27),COEFS)
 
1060
          CALL FFV1L2_1(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,27)
 
1061
     $     ,COEFS)
989
1062
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
990
1063
     $     ,27))
991
 
          CALL FFV1L1_2(PL(0,27),W(1,2),GC_5,ZERO,ZERO,PL(0,28),COEFS)
992
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,27),4,COEFS,4,4,WL(1,0,1
 
1064
          CALL FFV1L2P0_3(PL(0,27),W(1,4),GC_5,ZERO,ZERO,PL(0,28)
 
1065
     $     ,COEFS)
 
1066
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,27),4,COEFS,4,4,WL(1,0,1
993
1067
     $     ,28))
994
 
          CALL FFV1L1_2(PL(0,28),W(1,8),GC_5,ZERO,ZERO,PL(0,29),COEFS)
995
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,28),4,COEFS,4,4,WL(1,0,1
 
1068
          CALL FFV1L3_1(PL(0,28),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,29)
 
1069
     $     ,COEFS)
 
1070
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,28),4,COEFS,4,4,WL(1,0,1
996
1071
     $     ,29))
997
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,29),3,4,2,1,96,H)
 
1072
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,29),2,4,9,1,1,96,H)
998
1073
C         Coefficient construction for loop diagram with ID 15
999
 
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,ZERO,ZERO,PL(0,30),COEFS)
 
1074
          CALL VVV1L2P0_1(PL(0,0),W(1,2),GC_4,ZERO,ZERO,PL(0,30),COEFS)
1000
1075
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1001
1076
     $     ,30))
1002
 
          CALL FFV1L2_1(PL(0,30),W(1,2),GC_5,ZERO,ZERO,PL(0,31),COEFS)
 
1077
          CALL FFV1L3_2(PL(0,30),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,31)
 
1078
     $     ,COEFS)
1003
1079
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1
1004
1080
     $     ,31))
1005
 
          CALL FFV1L2_1(PL(0,31),W(1,8),GC_5,ZERO,ZERO,PL(0,32),COEFS)
1006
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,31),4,COEFS,4,4,WL(1,0,1
 
1081
          CALL FFV1L1P0_3(PL(0,31),W(1,6),GC_5,ZERO,ZERO,PL(0,32)
 
1082
     $     ,COEFS)
 
1083
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,31),4,COEFS,4,4,WL(1,0,1
1007
1084
     $     ,32))
1008
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,32),3,4,2,1,97,H)
 
1085
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,32),2,4,10,1,1,97,H)
1009
1086
C         Coefficient construction for loop diagram with ID 16
1010
 
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MB,ZERO,PL(0,33),COEFS)
1011
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1087
          CALL FFV1L1P0_3(PL(0,0),W(1,10),GC_5,ZERO,ZERO,PL(0,33)
 
1088
     $     ,COEFS)
 
1089
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1012
1090
     $     ,33))
1013
 
          CALL FFV1L2_1(PL(0,33),W(1,8),GC_5,MDL_MB,ZERO,PL(0,34)
 
1091
          CALL FFV1L3_2(PL(0,33),W(1,7),GC_5,MDL_MT,MDL_WT,PL(0,34)
1014
1092
     $     ,COEFS)
1015
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,33),4,COEFS,4,4,WL(1,0,1
 
1093
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,33),4,COEFS,4,4,WL(1,0,1
1016
1094
     $     ,34))
1017
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,34),2,4,3,1,98,H)
 
1095
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,34),1,4,11,1,1,98,H)
1018
1096
C         Coefficient construction for loop diagram with ID 17
1019
 
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,35),COEFS)
 
1097
          CALL FFV1L1_2(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,35)
 
1098
     $     ,COEFS)
1020
1099
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1021
1100
     $     ,35))
1022
 
          CALL FFV1L1_2(PL(0,35),W(1,2),GC_5,MDL_MB,ZERO,PL(0,36)
 
1101
          CALL FFV1L1P0_3(PL(0,35),W(1,3),GC_5,ZERO,ZERO,PL(0,36)
1023
1102
     $     ,COEFS)
1024
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,35),4,COEFS,4,4,WL(1,0,1
 
1103
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,35),4,COEFS,4,4,WL(1,0,1
1025
1104
     $     ,36))
1026
 
          CALL FFV1L1_2(PL(0,36),W(1,8),GC_5,MDL_MB,ZERO,PL(0,37)
 
1105
          CALL FFV1L3_2(PL(0,36),W(1,7),GC_5,MDL_MT,MDL_WT,PL(0,37)
1027
1106
     $     ,COEFS)
1028
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,36),4,COEFS,4,4,WL(1,0,1
 
1107
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,36),4,COEFS,4,4,WL(1,0,1
1029
1108
     $     ,37))
1030
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,37),3,4,4,1,99,H)
 
1109
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,37),2,4,12,1,1,99,H)
1031
1110
C         Coefficient construction for loop diagram with ID 18
1032
 
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MB,ZERO,PL(0,38),COEFS)
1033
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1111
          CALL FFV1L3_1(PL(0,30),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,38)
 
1112
     $     ,COEFS)
 
1113
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1
1034
1114
     $     ,38))
1035
 
          CALL FFV1L2_1(PL(0,38),W(1,2),GC_5,MDL_MB,ZERO,PL(0,39)
 
1115
          CALL FFV1L2P0_3(PL(0,38),W(1,7),GC_5,ZERO,ZERO,PL(0,39)
1036
1116
     $     ,COEFS)
1037
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,38),4,COEFS,4,4,WL(1,0,1
 
1117
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,38),4,COEFS,4,4,WL(1,0,1
1038
1118
     $     ,39))
1039
 
          CALL FFV1L2_1(PL(0,39),W(1,8),GC_5,MDL_MB,ZERO,PL(0,40)
 
1119
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,39),2,4,13,1,1,100,H)
 
1120
C         Coefficient construction for loop diagram with ID 19
 
1121
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,40)
1040
1122
     $     ,COEFS)
1041
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,39),4,COEFS,4,4,WL(1,0,1
 
1123
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1042
1124
     $     ,40))
1043
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,40),3,4,4,1,100,H)
1044
 
C         Coefficient construction for loop diagram with ID 19
1045
 
          CALL FFV1L2_1(PL(0,0),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,41)
 
1125
          CALL FFV1L2P0_3(PL(0,40),W(1,4),GC_5,ZERO,ZERO,PL(0,41)
1046
1126
     $     ,COEFS)
1047
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1127
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,40),4,COEFS,4,4,WL(1,0,1
1048
1128
     $     ,41))
1049
 
          CALL FFV1L2_1(PL(0,41),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,42)
 
1129
          CALL FFV1L3_1(PL(0,41),W(1,10),GC_5,MDL_MT,MDL_WT,PL(0,42)
1050
1130
     $     ,COEFS)
1051
1131
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,41),4,COEFS,4,4,WL(1,0,1
1052
1132
     $     ,42))
1053
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,42),2,4,5,1,101,H)
 
1133
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,42),2,4,14,1,1,101,H)
1054
1134
C         Coefficient construction for loop diagram with ID 20
1055
 
          CALL FFV1L1P0_3(PL(0,0),W(1,3),GC_5,ZERO,ZERO,PL(0,43),COEFS)
1056
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1135
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,43)
 
1136
     $     ,COEFS)
 
1137
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1057
1138
     $     ,43))
1058
 
          CALL FFV1L3_2(PL(0,43),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,44)
 
1139
          CALL FFV1L1P0_3(PL(0,43),W(1,3),GC_5,ZERO,ZERO,PL(0,44)
1059
1140
     $     ,COEFS)
1060
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,43),4,COEFS,4,4,WL(1,0,1
 
1141
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,43),4,COEFS,4,4,WL(1,0,1
1061
1142
     $     ,44))
1062
 
          CALL FFV1L1_2(PL(0,44),W(1,5),GC_5,MDL_MT,MDL_WT,PL(0,45)
 
1143
          CALL FFV1L3_2(PL(0,44),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,45)
1063
1144
     $     ,COEFS)
1064
1145
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,44),4,COEFS,4,4,WL(1,0,1
1065
1146
     $     ,45))
1066
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,45),2,4,6,1,102,H)
 
1147
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,45),2,4,15,1,1,102,H)
1067
1148
C         Coefficient construction for loop diagram with ID 21
1068
 
          CALL FFV1L3_1(PL(0,0),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,46)
 
1149
          CALL FFV1L1_2(PL(0,43),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,46)
1069
1150
     $     ,COEFS)
1070
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1151
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,43),4,COEFS,4,4,WL(1,0,1
1071
1152
     $     ,46))
1072
 
          CALL FFV1L2P0_3(PL(0,46),W(1,4),GC_5,ZERO,ZERO,PL(0,47)
 
1153
          CALL FFV1L1P0_3(PL(0,46),W(1,3),GC_5,ZERO,ZERO,PL(0,47)
1073
1154
     $     ,COEFS)
1074
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,46),4,COEFS,4,4,WL(1,0,1
 
1155
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,46),4,COEFS,4,4,WL(1,0,1
1075
1156
     $     ,47))
1076
 
          CALL VVV1L2P0_1(PL(0,47),W(1,5),GC_4,ZERO,ZERO,PL(0,48)
 
1157
          CALL FFV1L3_2(PL(0,47),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,48)
1077
1158
     $     ,COEFS)
1078
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1
 
1159
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1
1079
1160
     $     ,48))
1080
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,48),2,4,7,1,103,H)
 
1161
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,48),3,4,16,1,1,103,H)
1081
1162
C         Coefficient construction for loop diagram with ID 22
1082
 
          CALL FFV1L1P0_3(PL(0,0),W(1,6),GC_5,ZERO,ZERO,PL(0,49),COEFS)
1083
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1163
          CALL FFV1L1_2(PL(0,46),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,49)
 
1164
     $     ,COEFS)
 
1165
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,46),4,COEFS,4,4,WL(1,0,1
1084
1166
     $     ,49))
1085
 
          CALL FFV1L3_2(PL(0,49),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,50)
 
1167
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,49),3,4,17,1,1,104,H)
 
1168
C         Coefficient construction for loop diagram with ID 23
 
1169
          CALL FFV1L2_1(PL(0,40),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,50)
1086
1170
     $     ,COEFS)
1087
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,49),4,COEFS,4,4,WL(1,0,1
 
1171
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,40),4,COEFS,4,4,WL(1,0,1
1088
1172
     $     ,50))
1089
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,50),1,4,8,1,104,H)
1090
 
C         Coefficient construction for loop diagram with ID 23
1091
 
          CALL FFV1L2_1(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,51)
 
1173
          CALL FFV1L2_1(PL(0,50),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,51)
1092
1174
     $     ,COEFS)
1093
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1175
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,50),4,COEFS,4,4,WL(1,0,1
1094
1176
     $     ,51))
1095
 
          CALL FFV1L2P0_3(PL(0,51),W(1,4),GC_5,ZERO,ZERO,PL(0,52)
 
1177
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,51),3,4,17,1,1,105,H)
 
1178
C         Coefficient construction for loop diagram with ID 24
 
1179
          CALL FFV1L2P0_3(PL(0,50),W(1,4),GC_5,ZERO,ZERO,PL(0,52)
1096
1180
     $     ,COEFS)
1097
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,51),4,COEFS,4,4,WL(1,0,1
 
1181
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,50),4,COEFS,4,4,WL(1,0,1
1098
1182
     $     ,52))
1099
 
          CALL FFV1L3_1(PL(0,52),W(1,6),GC_5,MDL_MT,MDL_WT,PL(0,53)
 
1183
          CALL FFV1L3_1(PL(0,52),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,53)
1100
1184
     $     ,COEFS)
1101
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1
 
1185
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,52),4,COEFS,4,4,WL(1,0,1
1102
1186
     $     ,53))
1103
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,53),2,4,9,1,105,H)
1104
 
C         Coefficient construction for loop diagram with ID 24
1105
 
          CALL VVV1L2P0_1(PL(0,0),W(1,2),GC_4,ZERO,ZERO,PL(0,54),COEFS)
1106
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1187
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,53),3,4,18,1,1,106,H)
 
1188
C         Coefficient construction for loop diagram with ID 25
 
1189
          CALL VVV1L2P0_1(PL(0,44),W(1,2),GC_4,ZERO,ZERO,PL(0,54)
 
1190
     $     ,COEFS)
 
1191
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,44),4,COEFS,4,4,WL(1,0,1
1107
1192
     $     ,54))
1108
1193
          CALL FFV1L3_2(PL(0,54),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,55)
1109
1194
     $     ,COEFS)
1110
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
 
1195
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
1111
1196
     $     ,55))
1112
 
          CALL FFV1L1P0_3(PL(0,55),W(1,6),GC_5,ZERO,ZERO,PL(0,56)
1113
 
     $     ,COEFS)
1114
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,55),4,COEFS,4,4,WL(1,0,1
 
1197
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,55),3,4,19,1,1,107,H)
 
1198
C         Coefficient construction for loop diagram with ID 26
 
1199
          CALL VVV1L2P0_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,56),COEFS)
 
1200
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1115
1201
     $     ,56))
1116
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,56),2,4,10,1,106,H)
1117
 
C         Coefficient construction for loop diagram with ID 25
1118
 
          CALL FFV1L1P0_3(PL(0,0),W(1,10),GC_5,ZERO,ZERO,PL(0,57)
 
1202
          CALL FFV1L3_2(PL(0,56),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,57)
1119
1203
     $     ,COEFS)
1120
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1204
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1121
1205
     $     ,57))
1122
 
          CALL FFV1L3_2(PL(0,57),W(1,7),GC_5,MDL_MT,MDL_WT,PL(0,58)
 
1206
          CALL FFV1L1P0_3(PL(0,57),W(1,10),GC_5,ZERO,ZERO,PL(0,58)
1123
1207
     $     ,COEFS)
1124
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1
 
1208
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,57),4,COEFS,4,4,WL(1,0,1
1125
1209
     $     ,58))
1126
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,58),1,4,11,1,107,H)
1127
 
C         Coefficient construction for loop diagram with ID 26
1128
 
          CALL FFV1L1_2(PL(0,0),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,59)
 
1210
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,58),2,4,20,1,1,108,H)
 
1211
C         Coefficient construction for loop diagram with ID 27
 
1212
          CALL FFV1L3_1(PL(0,56),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,59)
1129
1213
     $     ,COEFS)
1130
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1214
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1131
1215
     $     ,59))
1132
 
          CALL FFV1L1P0_3(PL(0,59),W(1,3),GC_5,ZERO,ZERO,PL(0,60)
 
1216
          CALL FFV1L2P0_3(PL(0,59),W(1,9),GC_5,ZERO,ZERO,PL(0,60)
1133
1217
     $     ,COEFS)
1134
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,59),4,COEFS,4,4,WL(1,0,1
 
1218
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,59),4,COEFS,4,4,WL(1,0,1
1135
1219
     $     ,60))
1136
 
          CALL FFV1L3_2(PL(0,60),W(1,7),GC_5,MDL_MT,MDL_WT,PL(0,61)
 
1220
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,60),2,4,21,1,1,109,H)
 
1221
C         Coefficient construction for loop diagram with ID 28
 
1222
          CALL FFV1L2_1(PL(0,59),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,61)
1137
1223
     $     ,COEFS)
1138
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,60),4,COEFS,4,4,WL(1,0,1
 
1224
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,59),4,COEFS,4,4,WL(1,0,1
1139
1225
     $     ,61))
1140
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,61),2,4,12,1,108,H)
1141
 
C         Coefficient construction for loop diagram with ID 27
1142
 
          CALL FFV1L3_1(PL(0,54),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,62)
 
1226
          CALL FFV1L2P0_3(PL(0,61),W(1,4),GC_5,ZERO,ZERO,PL(0,62)
1143
1227
     $     ,COEFS)
1144
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
 
1228
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,61),4,COEFS,4,4,WL(1,0,1
1145
1229
     $     ,62))
1146
 
          CALL FFV1L2P0_3(PL(0,62),W(1,7),GC_5,ZERO,ZERO,PL(0,63)
1147
 
     $     ,COEFS)
1148
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,62),4,COEFS,4,4,WL(1,0,1
 
1230
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,62),3,4,22,1,1,110,H)
 
1231
C         Coefficient construction for loop diagram with ID 29
 
1232
          CALL VVVV1L2P0_1(PL(0,23),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1233
     $     ,63),COEFS)
 
1234
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
1149
1235
     $     ,63))
1150
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,63),2,4,13,1,109,H)
1151
 
C         Coefficient construction for loop diagram with ID 28
1152
 
          CALL FFV1L2_1(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,64)
1153
 
     $     ,COEFS)
1154
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1236
          CALL VVVV3L2P0_1(PL(0,23),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1237
     $     ,64),COEFS)
 
1238
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
1155
1239
     $     ,64))
1156
 
          CALL FFV1L2P0_3(PL(0,64),W(1,4),GC_5,ZERO,ZERO,PL(0,65)
1157
 
     $     ,COEFS)
1158
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,64),4,COEFS,4,4,WL(1,0,1
 
1240
          CALL VVVV4L2P0_1(PL(0,23),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1241
     $     ,65),COEFS)
 
1242
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,23),4,COEFS,4,4,WL(1,0,1
1159
1243
     $     ,65))
1160
 
          CALL FFV1L3_1(PL(0,65),W(1,10),GC_5,MDL_MT,MDL_WT,PL(0,66)
 
1244
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,63),1,4,7,1,1,111,H)
 
1245
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,64),1,4,7,1,1,112,H)
 
1246
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,65),1,4,7,1,1,113,H)
 
1247
C         Coefficient construction for loop diagram with ID 30
 
1248
          CALL VVV1L2P0_1(PL(0,56),W(1,2),GC_4,ZERO,ZERO,PL(0,66)
1161
1249
     $     ,COEFS)
1162
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,65),4,COEFS,4,4,WL(1,0,1
 
1250
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1163
1251
     $     ,66))
1164
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,66),2,4,14,1,110,H)
1165
 
C         Coefficient construction for loop diagram with ID 29
1166
 
          CALL FFV1L1_2(PL(0,0),W(1,1),GC_5,MDL_MT,MDL_WT,PL(0,67)
 
1252
          CALL FFV1L3_2(PL(0,66),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,67)
1167
1253
     $     ,COEFS)
1168
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1254
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,66),4,COEFS,4,4,WL(1,0,1
1169
1255
     $     ,67))
1170
1256
          CALL FFV1L1P0_3(PL(0,67),W(1,3),GC_5,ZERO,ZERO,PL(0,68)
1171
1257
     $     ,COEFS)
1172
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,67),4,COEFS,4,4,WL(1,0,1
 
1258
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,67),4,COEFS,4,4,WL(1,0,1
1173
1259
     $     ,68))
1174
 
          CALL FFV1L3_2(PL(0,68),W(1,9),GC_5,MDL_MT,MDL_WT,PL(0,69)
 
1260
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,68),3,4,23,1,1,114,H)
 
1261
C         Coefficient construction for loop diagram with ID 31
 
1262
          CALL FFV1L3_1(PL(0,66),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,69)
1175
1263
     $     ,COEFS)
1176
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,68),4,COEFS,4,4,WL(1,0,1
 
1264
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,66),4,COEFS,4,4,WL(1,0,1
1177
1265
     $     ,69))
1178
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,69),2,4,15,1,111,H)
1179
 
C         Coefficient construction for loop diagram with ID 30
1180
 
          CALL FFV1L1_2(PL(0,67),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,70)
 
1266
          CALL FFV1L2P0_3(PL(0,69),W(1,4),GC_5,ZERO,ZERO,PL(0,70)
1181
1267
     $     ,COEFS)
1182
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,67),4,COEFS,4,4,WL(1,0,1
 
1268
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,69),4,COEFS,4,4,WL(1,0,1
1183
1269
     $     ,70))
1184
 
          CALL FFV1L1P0_3(PL(0,70),W(1,3),GC_5,ZERO,ZERO,PL(0,71)
1185
 
     $     ,COEFS)
1186
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,70),4,COEFS,4,4,WL(1,0,1
 
1270
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,70),3,4,24,1,1,115,H)
 
1271
C         Coefficient construction for loop diagram with ID 32
 
1272
          CALL VVV1L2P0_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,71),COEFS)
 
1273
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1187
1274
     $     ,71))
1188
 
          CALL FFV1L3_2(PL(0,71),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,72)
 
1275
          CALL VVV1L2P0_1(PL(0,71),W(1,8),GC_4,ZERO,ZERO,PL(0,72)
1189
1276
     $     ,COEFS)
1190
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,71),4,COEFS,4,4,WL(1,0,1
 
1277
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,71),4,COEFS,4,4,WL(1,0,1
1191
1278
     $     ,72))
1192
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,72),3,4,16,1,112,H)
1193
 
C         Coefficient construction for loop diagram with ID 31
1194
 
          CALL FFV1L1_2(PL(0,70),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,73)
 
1279
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,72),2,4,1,2,1,116,H)
 
1280
C         Coefficient construction for loop diagram with ID 33
 
1281
          CALL VVV1L2P0_1(PL(0,66),W(1,8),GC_4,ZERO,ZERO,PL(0,73)
1195
1282
     $     ,COEFS)
1196
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,70),4,COEFS,4,4,WL(1,0,1
 
1283
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,66),4,COEFS,4,4,WL(1,0,1
1197
1284
     $     ,73))
1198
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,73),3,4,17,1,113,H)
1199
 
C         Coefficient construction for loop diagram with ID 32
1200
 
          CALL FFV1L2_1(PL(0,64),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,74)
1201
 
     $     ,COEFS)
1202
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,64),4,COEFS,4,4,WL(1,0,1
 
1285
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,73),3,4,2,1,1,117,H)
 
1286
C         Coefficient construction for loop diagram with ID 34
 
1287
          CALL VVVV1L2P0_1(PL(0,56),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1288
     $     ,74),COEFS)
 
1289
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1203
1290
     $     ,74))
1204
 
          CALL FFV1L2_1(PL(0,74),W(1,8),GC_5,MDL_MT,MDL_WT,PL(0,75)
1205
 
     $     ,COEFS)
1206
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,74),4,COEFS,4,4,WL(1,0,1
 
1291
          CALL VVVV3L2P0_1(PL(0,56),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1292
     $     ,75),COEFS)
 
1293
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1207
1294
     $     ,75))
1208
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,75),3,4,17,1,114,H)
1209
 
C         Coefficient construction for loop diagram with ID 33
1210
 
          CALL FFV1L2P0_3(PL(0,74),W(1,4),GC_5,ZERO,ZERO,PL(0,76)
1211
 
     $     ,COEFS)
1212
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,74),4,COEFS,4,4,WL(1,0,1
 
1295
          CALL VVVV4L2P0_1(PL(0,56),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1296
     $     ,76),COEFS)
 
1297
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,56),4,COEFS,4,4,WL(1,0,1
1213
1298
     $     ,76))
1214
 
          CALL FFV1L3_1(PL(0,76),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,77)
1215
 
     $     ,COEFS)
1216
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,76),4,COEFS,4,4,WL(1,0,1
 
1299
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,74),1,4,25,2,1,118,H)
 
1300
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,75),1,4,25,2,1,119,H)
 
1301
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,76),1,4,25,2,1,120,H)
 
1302
C         Coefficient construction for loop diagram with ID 35
 
1303
          CALL VVVV1L2P0_1(PL(0,30),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
 
1304
     $     ,77),COEFS)
 
1305
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1
1217
1306
     $     ,77))
1218
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,77),3,4,18,1,115,H)
1219
 
C         Coefficient construction for loop diagram with ID 34
1220
 
          CALL VVV1L2P0_1(PL(0,68),W(1,2),GC_4,ZERO,ZERO,PL(0,78)
1221
 
     $     ,COEFS)
1222
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,68),4,COEFS,4,4,WL(1,0,1
 
1307
          CALL VVVV3L2P0_1(PL(0,30),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
 
1308
     $     ,78),COEFS)
 
1309
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1
1223
1310
     $     ,78))
1224
 
          CALL FFV1L3_2(PL(0,78),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,79)
1225
 
     $     ,COEFS)
1226
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,78),4,COEFS,4,4,WL(1,0,1
 
1311
          CALL VVVV4L2P0_1(PL(0,30),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
 
1312
     $     ,79),COEFS)
 
1313
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,30),4,COEFS,4,4,WL(1,0,1
1227
1314
     $     ,79))
1228
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,79),3,4,19,1,116,H)
1229
 
C         Coefficient construction for loop diagram with ID 35
1230
 
          CALL VVV1L2P0_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,80),COEFS)
1231
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
 
1315
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,77),1,4,26,2,1,121,H)
 
1316
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,78),1,4,26,2,1,122,H)
 
1317
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,79),1,4,26,2,1,123,H)
 
1318
C         Coefficient construction for loop diagram with ID 36
 
1319
          CALL VVVV1L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1320
     $     ,80),COEFS)
 
1321
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1232
1322
     $     ,80))
1233
 
          CALL FFV1L3_2(PL(0,80),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,81)
1234
 
     $     ,COEFS)
1235
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
 
1323
          CALL VVVV3L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1324
     $     ,81),COEFS)
 
1325
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1236
1326
     $     ,81))
1237
 
          CALL FFV1L1P0_3(PL(0,81),W(1,10),GC_5,ZERO,ZERO,PL(0,82)
1238
 
     $     ,COEFS)
1239
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,81),4,COEFS,4,4,WL(1,0,1
 
1327
          CALL VVVV4L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
 
1328
     $     ,82),COEFS)
 
1329
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1240
1330
     $     ,82))
1241
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,82),2,4,20,1,117,H)
1242
 
C         Coefficient construction for loop diagram with ID 36
1243
 
          CALL FFV1L3_1(PL(0,80),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,83)
 
1331
          CALL VVV1L2P0_1(PL(0,80),W(1,8),GC_4,ZERO,ZERO,PL(0,83)
1244
1332
     $     ,COEFS)
1245
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
 
1333
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
1246
1334
     $     ,83))
1247
 
          CALL FFV1L2P0_3(PL(0,83),W(1,9),GC_5,ZERO,ZERO,PL(0,84)
 
1335
          CALL VVV1L2P0_1(PL(0,81),W(1,8),GC_4,ZERO,ZERO,PL(0,84)
1248
1336
     $     ,COEFS)
1249
 
          CALL ML5_0_UPDATE_WL_2_0(WL(1,0,1,83),4,COEFS,4,4,WL(1,0,1
 
1337
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,81),4,COEFS,4,4,WL(1,0,1
1250
1338
     $     ,84))
1251
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,84),2,4,21,1,118,H)
 
1339
          CALL VVV1L2P0_1(PL(0,82),W(1,8),GC_4,ZERO,ZERO,PL(0,85)
 
1340
     $     ,COEFS)
 
1341
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,82),4,COEFS,4,4,WL(1,0,1
 
1342
     $     ,85))
 
1343
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,83),1,4,1,2,1,124,H)
 
1344
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,84),1,4,1,2,1,125,H)
 
1345
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,85),1,4,1,2,1,126,H)
1252
1346
C         Coefficient construction for loop diagram with ID 37
1253
 
          CALL FFV1L2_1(PL(0,83),W(1,2),GC_5,MDL_MT,MDL_WT,PL(0,85)
1254
 
     $     ,COEFS)
1255
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,83),4,COEFS,4,4,WL(1,0,1
1256
 
     $     ,85))
1257
 
          CALL FFV1L2P0_3(PL(0,85),W(1,4),GC_5,ZERO,ZERO,PL(0,86)
1258
 
     $     ,COEFS)
1259
 
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,85),4,COEFS,4,4,WL(1,0,1
 
1347
          CALL GHGHGL2_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,86),COEFS)
 
1348
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1260
1349
     $     ,86))
1261
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,86),3,4,22,1,119,H)
 
1350
          CALL GHGHGL2_1(PL(0,86),W(1,8),GC_4,ZERO,ZERO,PL(0,87),COEFS)
 
1351
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,86),1,COEFS,1,1,WL(1,0,1
 
1352
     $     ,87))
 
1353
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,87),2,1,1,1,1,127,H)
1262
1354
C         Coefficient construction for loop diagram with ID 38
1263
 
          CALL VVVV1L2P0_1(PL(0,47),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1264
 
     $     ,87),COEFS)
1265
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1
1266
 
     $     ,87))
1267
 
          CALL VVVV3L2P0_1(PL(0,47),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1268
 
     $     ,88),COEFS)
1269
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1
 
1355
          CALL GHGHGL1_2(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,88),COEFS)
 
1356
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1270
1357
     $     ,88))
1271
 
          CALL VVVV4L2P0_1(PL(0,47),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1272
 
     $     ,89),COEFS)
1273
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,47),4,COEFS,4,4,WL(1,0,1
 
1358
          CALL GHGHGL1_2(PL(0,88),W(1,2),GC_4,ZERO,ZERO,PL(0,89),COEFS)
 
1359
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,88),1,COEFS,1,1,WL(1,0,1
1274
1360
     $     ,89))
1275
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,87),1,4,7,1,120,H)
1276
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,88),1,4,7,1,121,H)
1277
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,89),1,4,7,1,122,H)
 
1361
          CALL GHGHGL1_2(PL(0,89),W(1,8),GC_4,ZERO,ZERO,PL(0,90),COEFS)
 
1362
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,89),1,COEFS,1,1,WL(1,0,1
 
1363
     $     ,90))
 
1364
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,90),3,1,2,1,1,128,H)
1278
1365
C         Coefficient construction for loop diagram with ID 39
1279
 
          CALL VVV1L2P0_1(PL(0,80),W(1,2),GC_4,ZERO,ZERO,PL(0,90)
1280
 
     $     ,COEFS)
1281
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
1282
 
     $     ,90))
1283
 
          CALL FFV1L3_2(PL(0,90),W(1,4),GC_5,MDL_MT,MDL_WT,PL(0,91)
1284
 
     $     ,COEFS)
1285
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,90),4,COEFS,4,4,WL(1,0,1
 
1366
          CALL GHGHGL2_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,91),COEFS)
 
1367
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1286
1368
     $     ,91))
1287
 
          CALL FFV1L1P0_3(PL(0,91),W(1,3),GC_5,ZERO,ZERO,PL(0,92)
1288
 
     $     ,COEFS)
1289
 
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,91),4,COEFS,4,4,WL(1,0,1
 
1369
          CALL GHGHGL2_1(PL(0,91),W(1,2),GC_4,ZERO,ZERO,PL(0,92),COEFS)
 
1370
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,91),1,COEFS,1,1,WL(1,0,1
1290
1371
     $     ,92))
1291
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,92),3,4,23,1,123,H)
1292
 
C         Coefficient construction for loop diagram with ID 40
1293
 
          CALL FFV1L3_1(PL(0,90),W(1,3),GC_5,MDL_MT,MDL_WT,PL(0,93)
1294
 
     $     ,COEFS)
1295
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,90),4,COEFS,4,4,WL(1,0,1
 
1372
          CALL GHGHGL2_1(PL(0,92),W(1,8),GC_4,ZERO,ZERO,PL(0,93),COEFS)
 
1373
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,92),1,COEFS,1,1,WL(1,0,1
1296
1374
     $     ,93))
1297
 
          CALL FFV1L2P0_3(PL(0,93),W(1,4),GC_5,ZERO,ZERO,PL(0,94)
1298
 
     $     ,COEFS)
1299
 
          CALL ML5_0_UPDATE_WL_3_0(WL(1,0,1,93),4,COEFS,4,4,WL(1,0,1
1300
 
     $     ,94))
1301
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,94),3,4,24,1,124,H)
1302
 
C         Coefficient construction for loop diagram with ID 41
1303
 
          CALL VVV1L2P0_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,95),COEFS)
1304
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1305
 
     $     ,95))
1306
 
          CALL VVV1L2P0_1(PL(0,95),W(1,8),GC_4,ZERO,ZERO,PL(0,96)
1307
 
     $     ,COEFS)
1308
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,95),4,COEFS,4,4,WL(1,0,1
1309
 
     $     ,96))
1310
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,96),2,4,1,2,125,H)
1311
 
C         Coefficient construction for loop diagram with ID 42
1312
 
          CALL VVV1L2P0_1(PL(0,90),W(1,8),GC_4,ZERO,ZERO,PL(0,97)
1313
 
     $     ,COEFS)
1314
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,90),4,COEFS,4,4,WL(1,0,1
1315
 
     $     ,97))
1316
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,97),3,4,2,1,126,H)
1317
 
C         Coefficient construction for loop diagram with ID 43
1318
 
          CALL VVVV1L2P0_1(PL(0,80),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
1319
 
     $     ,98),COEFS)
1320
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
1321
 
     $     ,98))
1322
 
          CALL VVVV3L2P0_1(PL(0,80),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
1323
 
     $     ,99),COEFS)
1324
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
1325
 
     $     ,99))
1326
 
          CALL VVVV4L2P0_1(PL(0,80),W(1,8),W(1,2),GC_6,ZERO,ZERO,PL(0
1327
 
     $     ,100),COEFS)
1328
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,80),4,COEFS,4,4,WL(1,0,1
1329
 
     $     ,100))
1330
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,98),1,4,25,2,127,H)
1331
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,99),1,4,25,2,128,H)
1332
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,100),1,4,25,2,129,H)
1333
 
C         Coefficient construction for loop diagram with ID 44
1334
 
          CALL VVVV1L2P0_1(PL(0,54),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
1335
 
     $     ,101),COEFS)
1336
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
1337
 
     $     ,101))
1338
 
          CALL VVVV3L2P0_1(PL(0,54),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
1339
 
     $     ,102),COEFS)
1340
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
1341
 
     $     ,102))
1342
 
          CALL VVVV4L2P0_1(PL(0,54),W(1,8),W(1,1),GC_6,ZERO,ZERO,PL(0
1343
 
     $     ,103),COEFS)
1344
 
          CALL ML5_0_UPDATE_WL_1_0(WL(1,0,1,54),4,COEFS,4,4,WL(1,0,1
1345
 
     $     ,103))
1346
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,101),1,4,26,2,130,H)
1347
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,102),1,4,26,2,131,H)
1348
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,103),1,4,26,2,132,H)
1349
 
C         Coefficient construction for loop diagram with ID 45
1350
 
          CALL VVVV1L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1351
 
     $     ,104),COEFS)
1352
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1353
 
     $     ,104))
1354
 
          CALL VVVV3L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1355
 
     $     ,105),COEFS)
1356
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1357
 
     $     ,105))
1358
 
          CALL VVVV4L2P0_1(PL(0,0),W(1,1),W(1,2),GC_6,ZERO,ZERO,PL(0
1359
 
     $     ,106),COEFS)
1360
 
          CALL ML5_0_UPDATE_WL_0_0(WL(1,0,1,0),4,COEFS,4,4,WL(1,0,1
1361
 
     $     ,106))
1362
 
          CALL VVV1L2P0_1(PL(0,104),W(1,8),GC_4,ZERO,ZERO,PL(0,107)
1363
 
     $     ,COEFS)
1364
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,104),4,COEFS,4,4,WL(1,0,1
1365
 
     $     ,107))
1366
 
          CALL VVV1L2P0_1(PL(0,105),W(1,8),GC_4,ZERO,ZERO,PL(0,108)
1367
 
     $     ,COEFS)
1368
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,105),4,COEFS,4,4,WL(1,0,1
1369
 
     $     ,108))
1370
 
          CALL VVV1L2P0_1(PL(0,106),W(1,8),GC_4,ZERO,ZERO,PL(0,109)
1371
 
     $     ,COEFS)
1372
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,106),4,COEFS,4,4,WL(1,0,1
1373
 
     $     ,109))
1374
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,107),1,4,1,2,133,H)
1375
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,108),1,4,1,2,134,H)
1376
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,109),1,4,1,2,135,H)
1377
 
C         Coefficient construction for loop diagram with ID 46
1378
 
          CALL GHGHGL2_1(PL(0,0),W(1,5),GC_4,ZERO,ZERO,PL(0,110),COEFS)
1379
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1380
 
     $     ,110))
1381
 
          CALL GHGHGL2_1(PL(0,110),W(1,8),GC_4,ZERO,ZERO,PL(0,111)
1382
 
     $     ,COEFS)
1383
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,110),1,COEFS,1,1,WL(1,0,1
1384
 
     $     ,111))
1385
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,111),2,1,1,1,136,H)
1386
 
C         Coefficient construction for loop diagram with ID 47
1387
 
          CALL GHGHGL1_2(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,112),COEFS)
1388
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1389
 
     $     ,112))
1390
 
          CALL GHGHGL1_2(PL(0,112),W(1,2),GC_4,ZERO,ZERO,PL(0,113)
1391
 
     $     ,COEFS)
1392
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,112),1,COEFS,1,1,WL(1,0,1
1393
 
     $     ,113))
1394
 
          CALL GHGHGL1_2(PL(0,113),W(1,8),GC_4,ZERO,ZERO,PL(0,114)
1395
 
     $     ,COEFS)
1396
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,113),1,COEFS,1,1,WL(1,0,1
1397
 
     $     ,114))
1398
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,114),3,1,2,1,137,H)
1399
 
C         Coefficient construction for loop diagram with ID 48
1400
 
          CALL GHGHGL2_1(PL(0,0),W(1,1),GC_4,ZERO,ZERO,PL(0,115),COEFS)
1401
 
          CALL ML5_0_UPDATE_WL_0_1(WL(1,0,1,0),1,COEFS,1,1,WL(1,0,1
1402
 
     $     ,115))
1403
 
          CALL GHGHGL2_1(PL(0,115),W(1,2),GC_4,ZERO,ZERO,PL(0,116)
1404
 
     $     ,COEFS)
1405
 
          CALL ML5_0_UPDATE_WL_1_1(WL(1,0,1,115),1,COEFS,1,1,WL(1,0,1
1406
 
     $     ,116))
1407
 
          CALL GHGHGL2_1(PL(0,116),W(1,8),GC_4,ZERO,ZERO,PL(0,117)
1408
 
     $     ,COEFS)
1409
 
          CALL ML5_0_UPDATE_WL_2_1(WL(1,0,1,116),1,COEFS,1,1,WL(1,0,1
1410
 
     $     ,117))
1411
 
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,117),3,1,2,1,138,H)
 
1375
          CALL ML5_0_CREATE_LOOP_COEFS(WL(1,0,1,93),3,1,2,1,1,129,H)
1412
1376
 4000     CONTINUE
1413
1377
          LOOP_REQ_SO_DONE=.TRUE.
1414
1378
 
 
1379
 
 
1380
 
1415
1381
        ENDIF
1416
1382
      ENDDO
1417
1383
 
1424
1390
        ENDDO
1425
1391
      ENDDO
1426
1392
 
 
1393
 
 
1394
C     MadLoop jumps to this label during stability checks when it
 
1395
C      recomputes the same PS point with a different CTMode
1427
1396
 300  CONTINUE
1428
 
C     Free cache when using IREGI
 
1397
 
 
1398
 
1429
1399
 
1430
1400
 
1431
1401
      DO I=0,NSQUAREDSO
1434
1404
        ENDDO
1435
1405
      ENDDO
1436
1406
 
 
1407
 
1437
1408
      IF(SKIPLOOPEVAL) THEN
1438
1409
        GOTO 1226
1439
1410
      ENDIF
1443
1414
          S(I_SO,J)=.TRUE.
1444
1415
        ENDDO
1445
1416
        IF (FILTER_SO.AND.SQSO_TARGET.NE.I_SO) GOTO 5001
1446
 
C       CutTools call for loop numbers 1,4,7,10,40,51,48,49,50
 
1417
C       CutTools call for loop numbers 1,31,42,39,40,41
1447
1418
        CALL ML5_0_LOOP_2(5,8,DCMPLX(ZERO),DCMPLX(ZERO),2,I_SO,1)
1448
 
C       CutTools call for loop numbers 2,3,5,6,8,9,11,12,41,52,53
 
1419
C       CutTools call for loop numbers 2,3,32,43,44
1449
1420
        CALL ML5_0_LOOP_3(1,2,8,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(ZERO)
1450
1421
     $   ,3,I_SO,2)
1451
 
C       CutTools call for loop numbers 13
 
1422
C       CutTools call for loop numbers 4
1452
1423
        CALL ML5_0_LOOP_2(5,8,DCMPLX(MDL_MB),DCMPLX(MDL_MB),2,I_SO,3)
1453
 
C       CutTools call for loop numbers 14,15
 
1424
C       CutTools call for loop numbers 5,6
1454
1425
        CALL ML5_0_LOOP_3(1,2,8,DCMPLX(MDL_MB),DCMPLX(MDL_MB)
1455
1426
     $   ,DCMPLX(MDL_MB),3,I_SO,4)
1456
 
C       CutTools call for loop numbers 16
 
1427
C       CutTools call for loop numbers 7
1457
1428
        CALL ML5_0_LOOP_2(5,8,DCMPLX(MDL_MT),DCMPLX(MDL_MT),2,I_SO,5)
1458
 
C       CutTools call for loop numbers 17
 
1429
C       CutTools call for loop numbers 8
1459
1430
        CALL ML5_0_LOOP_3(3,4,5,DCMPLX(ZERO),DCMPLX(MDL_MT),DCMPLX(MDL_
1460
1431
     $   MT),2,I_SO,6)
1461
 
C       CutTools call for loop numbers 18,35,36,37
 
1432
C       CutTools call for loop numbers 9,26,27,28
1462
1433
        CALL ML5_0_LOOP_3(3,4,5,DCMPLX(MDL_MT),DCMPLX(ZERO),DCMPLX(ZERO
1463
1434
     $   ),2,I_SO,7)
1464
 
C       CutTools call for loop numbers 19
 
1435
C       CutTools call for loop numbers 10
1465
1436
        CALL ML5_0_LOOP_2(6,9,DCMPLX(ZERO),DCMPLX(MDL_MT),1,I_SO,8)
1466
 
C       CutTools call for loop numbers 20
 
1437
C       CutTools call for loop numbers 11
1467
1438
        CALL ML5_0_LOOP_3(2,4,6,DCMPLX(MDL_MT),DCMPLX(ZERO),DCMPLX(MDL_
1468
1439
     $   MT),2,I_SO,9)
1469
 
C       CutTools call for loop numbers 21
 
1440
C       CutTools call for loop numbers 12
1470
1441
        CALL ML5_0_LOOP_3(2,4,6,DCMPLX(ZERO),DCMPLX(MDL_MT),DCMPLX(ZERO
1471
1442
     $   ),2,I_SO,10)
1472
 
C       CutTools call for loop numbers 22
 
1443
C       CutTools call for loop numbers 13
1473
1444
        CALL ML5_0_LOOP_2(10,7,DCMPLX(ZERO),DCMPLX(MDL_MT),1,I_SO,11)
1474
 
C       CutTools call for loop numbers 23
 
1445
C       CutTools call for loop numbers 14
1475
1446
        CALL ML5_0_LOOP_3(2,3,7,DCMPLX(MDL_MT),DCMPLX(ZERO),DCMPLX(MDL_
1476
1447
     $   MT),2,I_SO,12)
1477
 
C       CutTools call for loop numbers 24
 
1448
C       CutTools call for loop numbers 15
1478
1449
        CALL ML5_0_LOOP_3(2,3,7,DCMPLX(ZERO),DCMPLX(MDL_MT),DCMPLX(ZERO
1479
1450
     $   ),2,I_SO,13)
1480
 
C       CutTools call for loop numbers 25
 
1451
C       CutTools call for loop numbers 16
1481
1452
        CALL ML5_0_LOOP_3(1,4,10,DCMPLX(MDL_MT),DCMPLX(ZERO),DCMPLX(MDL
1482
1453
     $   _MT),2,I_SO,14)
1483
 
C       CutTools call for loop numbers 26
 
1454
C       CutTools call for loop numbers 17
1484
1455
        CALL ML5_0_LOOP_3(1,3,9,DCMPLX(MDL_MT),DCMPLX(ZERO),DCMPLX(MDL_
1485
1456
     $   MT),2,I_SO,15)
1486
 
C       CutTools call for loop numbers 27
 
1457
C       CutTools call for loop numbers 18
1487
1458
        CALL ML5_0_LOOP_4(1,2,3,4,DCMPLX(MDL_MT),DCMPLX(MDL_MT)
1488
1459
     $   ,DCMPLX(ZERO),DCMPLX(MDL_MT),3,I_SO,16)
1489
 
C       CutTools call for loop numbers 28,29
 
1460
C       CutTools call for loop numbers 19,20
1490
1461
        CALL ML5_0_LOOP_3(1,2,8,DCMPLX(MDL_MT),DCMPLX(MDL_MT)
1491
1462
     $   ,DCMPLX(MDL_MT),3,I_SO,17)
1492
 
C       CutTools call for loop numbers 30
 
1463
C       CutTools call for loop numbers 21
1493
1464
        CALL ML5_0_LOOP_4(1,2,4,3,DCMPLX(MDL_MT),DCMPLX(MDL_MT)
1494
1465
     $   ,DCMPLX(ZERO),DCMPLX(MDL_MT),3,I_SO,18)
1495
 
C       CutTools call for loop numbers 31
 
1466
C       CutTools call for loop numbers 22
1496
1467
        CALL ML5_0_LOOP_4(1,3,2,4,DCMPLX(MDL_MT),DCMPLX(ZERO)
1497
1468
     $   ,DCMPLX(ZERO),DCMPLX(MDL_MT),3,I_SO,19)
1498
 
C       CutTools call for loop numbers 32
 
1469
C       CutTools call for loop numbers 23
1499
1470
        CALL ML5_0_LOOP_3(1,4,10,DCMPLX(ZERO),DCMPLX(MDL_MT),DCMPLX(ZER
1500
1471
     $   O),2,I_SO,20)
1501
 
C       CutTools call for loop numbers 33
 
1472
C       CutTools call for loop numbers 24
1502
1473
        CALL ML5_0_LOOP_3(1,3,9,DCMPLX(ZERO),DCMPLX(MDL_MT),DCMPLX(ZERO
1503
1474
     $   ),2,I_SO,21)
1504
 
C       CutTools call for loop numbers 34
 
1475
C       CutTools call for loop numbers 25
1505
1476
        CALL ML5_0_LOOP_4(1,3,2,4,DCMPLX(ZERO),DCMPLX(MDL_MT)
1506
1477
     $   ,DCMPLX(MDL_MT),DCMPLX(ZERO),3,I_SO,22)
1507
 
C       CutTools call for loop numbers 38
 
1478
C       CutTools call for loop numbers 29
1508
1479
        CALL ML5_0_LOOP_4(1,2,4,3,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(MDL_
1509
1480
     $   MT),DCMPLX(ZERO),3,I_SO,23)
1510
 
C       CutTools call for loop numbers 39
 
1481
C       CutTools call for loop numbers 30
1511
1482
        CALL ML5_0_LOOP_4(1,2,3,4,DCMPLX(ZERO),DCMPLX(ZERO),DCMPLX(MDL_
1512
1483
     $   MT),DCMPLX(ZERO),3,I_SO,24)
1513
 
C       CutTools call for loop numbers 42,43,44
 
1484
C       CutTools call for loop numbers 33,34,35
1514
1485
        CALL ML5_0_LOOP_2_3(1,2,1,8,2,DCMPLX(ZERO),DCMPLX(ZERO),1,I_SO
1515
1486
     $   ,25)
1516
 
C       CutTools call for loop numbers 45,46,47
 
1487
C       CutTools call for loop numbers 36,37,38
1517
1488
        CALL ML5_0_LOOP_2_3(1,2,2,8,1,DCMPLX(ZERO),DCMPLX(ZERO),1,I_SO
1518
1489
     $   ,26)
1519
1490
        GOTO 5001
1556
1527
        HELSAVED(2,HELPICKED)=ANS(2,0)
1557
1528
        HELSAVED(3,HELPICKED)=ANS(3,0)
1558
1529
 
1559
 
        IF (CHECKPHASE) THEN
 
1530
        IF (CHECKPHASE.AND.NTRY.NE.0) THEN
1560
1531
C         SET THE HELICITY FILTER
1561
1532
          IF(.NOT.FOUNDHELFILTER) THEN
1562
1533
            HEL_INCONSISTENT=.FALSE.
1565
1536
              IF(NTRY.EQ.1) THEN
1566
1537
                GOODHEL(HELPICKED)=-HELOFFSET
1567
1538
              ELSEIF(GOODHEL(HELPICKED).NE.-HELOFFSET) THEN
1568
 
                WRITE(*,*) '##W02A WARNING Inconsistent helicity '
1569
 
     $           ,HELPICKED
 
1539
                WRITE(*,*) '##W02A WARNING Inconsistent zero helicit'
 
1540
     $           //'y ',HELPICKED
1570
1541
                IF(HELINITSTARTOVER) THEN
1571
1542
                  WRITE(*,*) '##I01 INFO Initialization starting ove'
1572
1543
     $             //'r because of inconsistency in the helicit'
1576
1547
                  HEL_INCONSISTENT=.TRUE.
1577
1548
                ENDIF
1578
1549
              ENDIF
1579
 
            ELSE
 
1550
            ELSEIF(HELICITYFILTERLEVEL.GT.1) THEN
1580
1551
              DO H=1,HELPICKED-1
1581
1552
                IF(GOODHEL(H).GT.-HELOFFSET) THEN
1582
1553
C                 Be looser for helicity check, bring a factor 100
1593
1564
C                     Make sure we have paired this hel config to the
1594
1565
C                      same one last PS point
1595
1566
                    ELSEIF(GOODHEL(HELPICKED).NE.(-H-HELOFFSET)) THEN
1596
 
                      WRITE(*,*) '##W02B WARNING Inconsistent helicit'
1597
 
     $                 //'y ',HELPICKED
 
1567
                      WRITE(*,*) '##W02B WARNING Inconsistent matchin'
 
1568
     $                 //'g helicity ',HELPICKED
1598
1569
                      IF(HELINITSTARTOVER) THEN
1599
1570
                        WRITE(*,*) '##I01 INFO Initialization startin'
1600
1571
     $                   //'g over because of inconsistency in th'
1717
1688
        IF(HELPICKED.NE.NCOMB) THEN
1718
1689
          HELPICKED=HELPICKED+1
1719
1690
          MP_DONE=.FALSE.
1720
 
          GOTO 200
 
1691
          GOTO 205
1721
1692
        ELSE
1722
1693
C         Useful printout
1723
1694
C         do I=1,NCOMB
1740
1711
            ENDIF
1741
1712
          ENDIF
1742
1713
        ENDIF
1743
 
 
1744
1714
      ENDIF
1745
1715
 
1746
1716
      DO K=1,3
1752
1722
        ENDDO
1753
1723
      ENDDO
1754
1724
 
 
1725
 
1755
1726
      IF(.NOT.CHECKPHASE.AND.HELDOUBLECHECKED.AND.(CTMODERUN.EQ.
1756
1727
     $ -1)) THEN
1757
1728
        STAB_INDEX=STAB_INDEX+1
1785
1756
            CTMODE=BASIC_CT_MODE+1
1786
1757
            GOTO 300
1787
1758
          ELSE
1788
 
C           NO DIRECTION TEST LIBRARIES: e.g. PJFry++ and Golem95
 
1759
C           If some TIR library would not support the loop direction
 
1760
C            test (they all do for now), then we would just copy the
 
1761
C            answer from mode 1 and carry on.
1789
1762
            STAB_INDEX=STAB_INDEX+1
1790
1763
            IF(DOING_QP_EVALS)THEN
1791
1764
              DO I=0,NSQUAREDSO
2149
2122
     $       -1)) THEN
2150
2123
              GOTO 1231
2151
2124
            ENDIF
2152
 
C           Be loser for helicity comparison, so bring a factor 100
2153
 
          ELSEIF(.NOT.ML5_0_ISZERO((RESA(J)/RESB(J))-DBLE(WGT_TO_TRY(I
2154
 
     $     )),REF*100.0D0,-1,-1)) THEN
 
2125
C           Be looser for helicity comparison, so bring a factor 100
 
2126
          ELSEIF(.NOT.ML5_0_ISZERO(ABS((RESA(J)/RESB(J))-DBLE(WGT_TO_TR
 
2127
     $     Y(I))),1.0D0,-1,-1)) THEN
2155
2128
            GOTO 1231
2156
2129
          ENDIF
2157
2130
        ENDDO
2346
2319
      INTEGER I,J
2347
2320
      INTEGER SQPLITORDERS(NSQSO,NSO)
2348
2321
 
 
2322
      COMMON/ML5_0_ML5SQPLITORDERS/SQPLITORDERS
2349
2323
C     
2350
2324
C     BEGIN CODE
2351
2325
C     
2402
2376
C     CONSTANTS
2403
2377
C     
2404
2378
      INTEGER    NLOOPAMPS
2405
 
      PARAMETER (NLOOPAMPS=138)
 
2379
      PARAMETER (NLOOPAMPS=129)
2406
2380
C     
2407
2381
C     ARGUMENTS
2408
2382
C     
2436
2410
C     
2437
2411
C     CONSTANTS
2438
2412
C     
2439
 
 
2440
2413
      INTEGER    NSO, NSQUAREDSO, NAMPSO
2441
2414
      PARAMETER (NSO=0, NSQUAREDSO=0, NAMPSO=0)
2442
2415
C     
2449
2422
      INTEGER I, SQORDERS(NSO)
2450
2423
      INTEGER AMPSPLITORDERS(NAMPSO,NSO)
2451
2424
 
 
2425
      COMMON/ML5_0_ML5AMPSPLITORDERS/AMPSPLITORDERS
2452
2426
C     
2453
2427
C     FUNCTION
2454
2428
C     
2463
2437
      ML5_0_ML5SQSOINDEX=ML5_0_ML5SOINDEX_FOR_SQUARED_ORDERS(SQORDERS)
2464
2438
      END
2465
2439
 
 
2440
C     This is the inverse subroutine of ML5SOINDEX_FOR_SQUARED_ORDERS.
 
2441
C      Not directly useful, but provided nonetheless.
 
2442
      SUBROUTINE ML5_0_ML5GET_SQUARED_ORDERS_FOR_SOINDEX(SOINDEX
 
2443
     $ ,ORDERS)
 
2444
C     
 
2445
C     This functions returns the orders identified by the squared
 
2446
C      split order index in argument. Order values correspond to
 
2447
C      following list of couplings (and in this order):
 
2448
C     []
 
2449
C     
 
2450
C     CONSTANTS
 
2451
C     
 
2452
      INTEGER    NSO, NSQSO
 
2453
      PARAMETER (NSO=0, NSQSO=0)
 
2454
C     
 
2455
C     ARGUMENTS
 
2456
C     
 
2457
      INTEGER SOINDEX, ORDERS(NSO)
 
2458
C     
 
2459
C     LOCAL VARIABLES
 
2460
C     
 
2461
      INTEGER I
 
2462
      INTEGER SQPLITORDERS(NSQSO,NSO)
 
2463
      COMMON/ML5_0_ML5SQPLITORDERS/SQPLITORDERS
 
2464
C     
 
2465
C     BEGIN CODE
 
2466
C     
 
2467
      IF (SOINDEX.GT.0.AND.SOINDEX.LE.NSQSO) THEN
 
2468
        DO I=1,NSO
 
2469
          ORDERS(I) =  SQPLITORDERS(SOINDEX,I)
 
2470
        ENDDO
 
2471
        RETURN
 
2472
      ENDIF
 
2473
 
 
2474
      WRITE(*,*) 'ERROR:: Stopping function ML5_0_ML5GET_SQUARED_ORDER'
 
2475
     $ //'S_FOR_SOINDEX'
 
2476
      WRITE(*,*) 'Could not find squared orders index ',SOINDEX
 
2477
      STOP
 
2478
 
 
2479
      END SUBROUTINE
 
2480
 
 
2481
C     This is the inverse subroutine of getting amplitude SO orders.
 
2482
C      Not directly useful, but provided nonetheless.
 
2483
      SUBROUTINE ML5_0_ML5GET_ORDERS_FOR_AMPSOINDEX(SOINDEX,ORDERS)
 
2484
C     
 
2485
C     This functions returns the orders identified by the split order
 
2486
C      index in argument. Order values correspond to following list of
 
2487
C      couplings (and in this order):
 
2488
C     []
 
2489
C     
 
2490
C     CONSTANTS
 
2491
C     
 
2492
      INTEGER    NSO, NAMPSO
 
2493
      PARAMETER (NSO=0, NAMPSO=0)
 
2494
C     
 
2495
C     ARGUMENTS
 
2496
C     
 
2497
      INTEGER SOINDEX, ORDERS(NSO)
 
2498
C     
 
2499
C     LOCAL VARIABLES
 
2500
C     
 
2501
      INTEGER I
 
2502
      INTEGER AMPSPLITORDERS(NAMPSO,NSO)
 
2503
      COMMON/ML5_0_ML5AMPSPLITORDERS/AMPSPLITORDERS
 
2504
C     
 
2505
C     BEGIN CODE
 
2506
C     
 
2507
      IF (SOINDEX.GT.0.AND.SOINDEX.LE.NAMPSO) THEN
 
2508
        DO I=1,NSO
 
2509
          ORDERS(I) =  AMPSPLITORDERS(SOINDEX,I)
 
2510
        ENDDO
 
2511
        RETURN
 
2512
      ENDIF
 
2513
 
 
2514
      WRITE(*,*) 'ERROR:: Stopping function ML5_0_ML5GET_ORDERS_FOR_AM'
 
2515
     $ //'PSOINDEX'
 
2516
      WRITE(*,*) 'Could not find amplitude split orders index ',SOINDEX
 
2517
      STOP
 
2518
 
 
2519
      END SUBROUTINE
 
2520
 
 
2521
 
 
2522
C     This function is not directly useful, but included for completene
 
2523
C     ss
 
2524
      INTEGER FUNCTION ML5_0_ML5SOINDEX_FOR_AMPORDERS(ORDERS)
 
2525
C     
 
2526
C     This functions returns the integer index identifying the
 
2527
C      amplitude split orders passed in argument which correspond to
 
2528
C      the values of the following list of couplings (and in this
 
2529
C      order):
 
2530
C     []
 
2531
C     
 
2532
C     CONSTANTS
 
2533
C     
 
2534
      INTEGER    NSO, NAMPSO
 
2535
      PARAMETER (NSO=0, NAMPSO=0)
 
2536
C     
 
2537
C     ARGUMENTS
 
2538
C     
 
2539
      INTEGER ORDERS(NSO)
 
2540
C     
 
2541
C     LOCAL VARIABLES
 
2542
C     
 
2543
      INTEGER I,J
 
2544
      INTEGER AMPSPLITORDERS(NAMPSO,NSO)
 
2545
      COMMON/ML5_0_ML5AMPSPLITORDERS/AMPSPLITORDERS
 
2546
C     
 
2547
C     BEGIN CODE
 
2548
C     
 
2549
      DO I=1,NAMPSO
 
2550
        DO J=1,NSO
 
2551
          IF (ORDERS(J).NE.AMPSPLITORDERS(I,J)) GOTO 1009
 
2552
        ENDDO
 
2553
        ML5_0_ML5SOINDEX_FOR_AMPORDERS = I
 
2554
        RETURN
 
2555
 1009   CONTINUE
 
2556
      ENDDO
 
2557
 
 
2558
      WRITE(*,*) 'ERROR:: Stopping function ML5_0_ML5SOINDEX_FOR_AMPOR'
 
2559
     $ //'DERS'
 
2560
      WRITE(*,*) 'Could not find squared orders ',(ORDERS(I),I=1,NSO)
 
2561
      STOP
 
2562
 
 
2563
      END
 
2564
 
2466
2565
C     --=========================================--
2467
2566
C     Definition of additional access routines
2468
2567
C     --=========================================--
2482
2581
 
2483
2582
      ALWAYS_TEST_STABILITY = ONOFF
2484
2583
 
2485
 
      END
 
2584
      END SUBROUTINE
 
2585
 
 
2586
      SUBROUTINE ML5_0_SET_AUTOMATIC_TIR_CACHE_CLEARING(ONOFF)
 
2587
C     
 
2588
C     This function can be called by the MadLoop user so as to
 
2589
C      manually chose when
 
2590
C     to reset the TIR cache.
 
2591
C     
 
2592
      IMPLICIT NONE
 
2593
 
 
2594
      INCLUDE 'MadLoopParams.inc'
 
2595
 
 
2596
      LOGICAL ONOFF
 
2597
 
 
2598
      LOGICAL AUTOMATIC_TIR_CACHE_CLEARING
 
2599
      DATA AUTOMATIC_TIR_CACHE_CLEARING/.TRUE./
 
2600
      COMMON/ML5_0_RUNTIME_OPTIONS/AUTOMATIC_TIR_CACHE_CLEARING
 
2601
 
 
2602
      INTEGER N_DP_EVAL, N_QP_EVAL
 
2603
      COMMON/ML5_0_N_EVALS/N_DP_EVAL,N_QP_EVAL
 
2604
 
 
2605
      WRITE(*,*) 'Warning: No TIR caching implemented. Call t'
 
2606
     $ //'o SET_AUTOMATIC_TIR_CACHE_CLEARING did nothing.'
 
2607
      END SUBROUTINE
2486
2608
 
2487
2609
      SUBROUTINE ML5_0_SET_COUPLINGORDERS_TARGET(SOTARGET)
2488
2610
      IMPLICIT NONE
2703
2825
 
2704
2826
      END
2705
2827
 
 
2828
C     The subroutine below perform clean-up duties for MadLoop like
 
2829
C      de-allocating
 
2830
C     arrays
 
2831
      SUBROUTINE ML5_0_EXIT_MADLOOP()
 
2832
      CONTINUE
 
2833
      END
 
2834
 
 
2835