C                                                                       DG000010
C     ..................................................................DG000020
C                                                                       DG000030
C        SUBROUTINE DQG64                                               DG000040
C                                                                       DG000050
C        PURPOSE                                                        DG000060
C           TO COMPUTE INTEGRAL(FCT(X), SUMMED OVER X FROM XL TO XU)    DG000070
C                                                                       DG000080
C        USAGE                                                          DG000090
C           CALL DQG64 (XL,XU,FCT,Y)                                    DG000100
C           PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT                DG000110
C                                                                       DG000120
C        DESCRIPTION OF PARAMETERS                                      DG000130
C           XL     - DOUBLE PRECISION LOWER BOUND OF THE INTERVAL.      DG000140
C           XU     - DOUBLE PRECISION UPPER BOUND OF THE INTERVAL.      DG000150
C           FCT    - THE NAME OF AN EXTERNAL DOUBLE PRECISION FUNCTION  DG000160
C                    SUBPROGRAM USED.                                   DG000170
C           Y      - THE RESULTING DOUBLE PRECISION INTEGRAL VALUE.     DG000180
C                                                                       DG000190
C        REMARKS                                                        DG000200
C           NONE                                                        DG000210
C                                                                       DG000220
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED                  DG000230
C           THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X)    DG000240
C           MUST BE FURNISHED BY THE USER.                              DG000250
C                                                                       DG000260
C        METHOD                                                         DG000270
C           EVALUATION IS DONE BY MEANS OF 64-POINT GAUSS QUADRATURE    DG000280
C           FORMULA, WHICH INTEGRATES POLYNOMIALS UP TO DEGREE 127      DG000290
C           EXACTLY. FOR REFERENCE, SEE                                 DG000300
C           V.I.KRYLOV, APPROXIMATE CALCULATION OF INTEGRALS,           DG000310
C           MACMILLAN, NEW YORK/LONDON, 1962, PP.100-111 AND 337-340.   DG000320
C                                                                       DG000330
C        COLOPHON                                                       DG000340
C           THIS FILE IS GENERATED BY LETHER-WENSTON-MPFR.LUA           DG000350
C           VERSION 2017-06-29                                          DG000360
C           MPFR DEFAULT PRECISION = 100 BIT                            DG000370
C     ..................................................................DG000380
C                                                                       DG000390
      SUBROUTINE DQG64(XL,XU,FCT,Y)                                     DG000400
C                                                                       DG000410
C                                                                       DG000420
      DOUBLE PRECISION XL,XU,Y,A,B,C,FCT                                DG000430
C                                                                       DG000440
      A=.5D0*(XU+XL)                                                    DG000450
      B=XU-XL                                                           DG000460
      C=0.4996525208678860697284528*B                                   DG000470
      Y=0.0008916403608482164736480395*(FCT(A+C)+FCT(A-C))              DG000480
      C=0.4981700583859776396734623*B                                   DG000490
      Y=Y+0.002073516630281233817643768*(FCT(A+C)+FCT(A-C))             DG000500
      C=0.4955066857383721603696912*B                                   DG000510
      Y=Y+0.00325222898448918142805868*(FCT(A+C)+FCT(A-C))              DG000520
      C=0.4916681269423129784656497*B                                   DG000530
      Y=Y+0.004423379913181973861515457*(FCT(A+C)+FCT(A-C))             DG000540
      C=0.4866634138949554818709268*B                                   DG000550
      Y=Y+0.005584069730065564409295247*(FCT(A+C)+FCT(A-C))             DG000560
      C=0.4805043998260268594593071*B                                   DG000570
      Y=Y+0.006731523948359321299030383*(FCT(A+C)+FCT(A-C))             DG000580
      C=0.4732056874292014080312407*B                                   DG000590
      Y=Y+0.007863015238012359660982998*(FCT(A+C)+FCT(A-C))             DG000600
      C=0.4647845860659697879107451*B                                   DG000610
      Y=Y+0.008975857887848671542522651*(FCT(A+C)+FCT(A-C))             DG000620
      C=0.4552610685392514028781903*B                                   DG000630
      Y=Y+0.01006741157676510468617016*(FCT(A+C)+FCT(A-C))              DG000640
      C=0.444657722997557052926702*B                                    DG000650
      Y=Y+0.01113508690419162707964917*(FCT(A+C)+FCT(A-C))              DG000660
      C=0.4329996990770464098803917*B                                   DG000670
      Y=Y+0.01217635128435543666908878*(FCT(A+C)+FCT(A-C))              DG000680
      C=0.4203146481262901813758458*B                                   DG000690
      Y=Y+0.0131887348575273293358459*(FCT(A+C)+FCT(A-C))               DG000700
      C=0.4066326575613987798709617*B                                   DG000710
      Y=Y+0.01416983630712974161375565*(FCT(A+C)+FCT(A-C))              DG000720
      C=0.3919861794716707038051103*B                                   DG000730
      Y=Y+0.01511732853620123943398703*(FCT(A+C)+FCT(A-C))              DG000740
      C=0.3764099536302659483059319*B                                   DG000750
      Y=Y+0.01602896417742577679273375*(FCT(A+C)+FCT(A-C))              DG000760
      C=0.3599409250858054134244701*B                                   DG000770
      Y=Y+0.01690258091857080469578274*(FCT(A+C)+FCT(A-C))              DG000780
      C=0.3426181565271166212817792*B                                   DG000790
      Y=Y+0.01773610662844119190534657*(FCT(A+C)+FCT(A-C))              DG000800
      C=0.3244827356273286699288806*B                                   DG000810
      Y=Y+0.01852756427012002302020755*(FCT(A+C)+FCT(A-C))              DG000820
      C=0.3055776775861966251244265*B                                   DG000830
      Y=Y+0.01927507658930781456448125*(FCT(A+C)+FCT(A-C))              DG000840
      C=0.2859478231013170171419391*B                                   DG000850
      Y=Y+0.01997687056636017069332846*(FCT(A+C)+FCT(A-C))              DG000860
      C=0.265639732009947272829007*B                                    DG000870
      Y=Y+0.02063128162131176430507815*(FCT(A+C)+FCT(A-C))              DG000880
      C=0.2447015728535264787392632*B                                   DG000890
      Y=Y+0.02123675756182679450366988*(FCT(A+C)+FCT(A-C))              DG000900
      C=0.2231830086267320439924739*B                                   DG000910
      Y=Y+0.02179186226466172668841393*(FCT(A+C)+FCT(A-C))              DG000920
      C=0.2011350789819958018478834*B                                   DG000930
      Y=Y+0.02229527908187828153006736*(FCT(A+C)+FCT(A-C))              DG000940
      C=0.1786100791688340579752213*B                                   DG000950
      Y=Y+0.0227458139637090722398855*(FCT(A+C)+FCT(A-C))               DG000960
      C=0.1556614359951054780787563*B                                   DG000970
      Y=Y+0.02314239829065720864797662*(FCT(A+C)+FCT(A-C))              DG000980
      C=0.1323435811043837081869821*B                                   DG000990
      Y=Y+0.02348409140810500866266314*(FCT(A+C)+FCT(A-C))              DG001000
      C=0.1087118218700035420748244*B                                   DG001010
      Y=Y+0.0237700828574151543311411*(FCT(A+C)+FCT(A-C))               DG001020
      C=0.08482221021199640901865681*B                                  DG001030
      Y=Y+0.02399969429822915386406309*(FCT(A+C)+FCT(A-C))              DG001040
      C=0.06073140964806027723518823*B                                  DG001050
      Y=Y+0.02417238111740147858488476*(FCT(A+C)+FCT(A-C))              DG001060
      C=0.03649656089389951972477147*B                                  DG001070
      Y=Y+0.02428773372075171346739953*(FCT(A+C)+FCT(A-C))              DG001080
      C=0.01217514633171221625447792*B                                  DG001090
      Y=B*(Y+0.0243454785045698601916827*(FCT(A+C)+FCT(A-C)))           DG001100
      RETURN                                                            DG001110
      END                                                               DG001120
