LCOV - code coverage report
Current view: top level - src/xc - xc_xwpbe.F (source / functions) Coverage Total Hit
Test: CP2K Regtests (git:42dac4a) Lines: 68.7 % 3408 2341
Test Date: 2025-07-25 12:55:17 Functions: 75.0 % 24 18

            Line data    Source code
       1              : !--------------------------------------------------------------------------------------------------!
       2              : !   CP2K: A general program to perform molecular dynamics simulations                              !
       3              : !   Copyright 2000-2025 CP2K developers group <https://cp2k.org>                                   !
       4              : !                                                                                                  !
       5              : !   SPDX-License-Identifier: GPL-2.0-or-later                                                      !
       6              : !--------------------------------------------------------------------------------------------------!
       7              : 
       8              : ! **************************************************************************************************
       9              : !> \brief Calculates short range exchange part for wPBE functional and averaged
      10              : !>      PBE exchange-hole functional (omega = 0.0 )
      11              : !> \par History
      12              : !>      Manuel Guidon (05.2007)  : initial version
      13              : !> \author Manuel Guidon (05.2007)
      14              : ! **************************************************************************************************
      15              : MODULE xc_xwpbe
      16              :    USE bibliography,                    ONLY: Heyd2004,&
      17              :                                               cite_reference
      18              :    USE input_section_types,             ONLY: section_vals_type,&
      19              :                                               section_vals_val_get
      20              :    USE kinds,                           ONLY: dp
      21              :    USE mathconstants,                   ONLY: pi,&
      22              :                                               rootpi
      23              :    USE mathlib,                         ONLY: expint
      24              :    USE xc_derivative_desc,              ONLY: deriv_norm_drho,&
      25              :                                               deriv_norm_drhoa,&
      26              :                                               deriv_norm_drhob,&
      27              :                                               deriv_rho,&
      28              :                                               deriv_rhoa,&
      29              :                                               deriv_rhob
      30              :    USE xc_derivative_set_types,         ONLY: xc_derivative_set_type,&
      31              :                                               xc_dset_get_derivative
      32              :    USE xc_derivative_types,             ONLY: xc_derivative_get,&
      33              :                                               xc_derivative_type
      34              :    USE xc_rho_cflags_types,             ONLY: xc_rho_cflags_type
      35              :    USE xc_rho_set_types,                ONLY: xc_rho_set_get,&
      36              :                                               xc_rho_set_type
      37              : #include "../base/base_uses.f90"
      38              : 
      39              :    IMPLICIT NONE
      40              : 
      41              :    PRIVATE
      42              : 
      43              : ! *** Global parameters ***
      44              : 
      45              :    PUBLIC :: xwpbe_lda_info, xwpbe_lda_eval, xwpbe_lsd_info, &
      46              :              xwpbe_lsd_eval
      47              : 
      48              :    REAL(KIND=dp), PARAMETER :: alpha1 = -1.128223946706117_dp, &
      49              :                                alpha2 = 1.452736265762971_dp, &
      50              :                                alpha3 = -1.243162299390327_dp, &
      51              :                                alpha4 = 0.971824836115601_dp, &
      52              :                                alpha5 = -0.568861079687373_dp, &
      53              :                                alpha6 = 0.246880514820192_dp, &
      54              :                                alpha7 = -0.065032363850763_dp, &
      55              :                                alpha8 = 0.008401793031216_dp
      56              :    REAL(KIND=dp), PARAMETER :: beta = 1.455915450052607_dp, &
      57              :                                beta2 = 2.0_dp
      58              :    REAL(KIND=dp), PARAMETER :: a1 = 0.00979681_dp, &
      59              :                                a2 = 0.04108340_dp, &
      60              :                                a3 = 0.18744000_dp, &
      61              :                                a4 = 0.00120824_dp, &
      62              :                                a5 = 0.0347188_dp
      63              :    REAL(KIND=dp), PARAMETER :: A = 1.0161144_dp, &
      64              :                                B = -0.37170836_dp, &
      65              :                                C = -0.077215461_dp, &
      66              :                                DD = 0.57786348_dp, &
      67              :                                E = -0.051955731_dp, &
      68              :                                F1 = 0.47965830_dp, &
      69              :                                F2 = 6.4753871_dp, &
      70              :                                clda = -0.73855876638202240588423_dp
      71              :    REAL(KIND=dp), PARAMETER :: expcutoff = 700.0_dp, &
      72              :                                exei1 = 4.0364_dp, &
      73              :                                exei2 = 1.15198_dp, &
      74              :                                exei3 = 5.03627_dp, &
      75              :                                exei4 = 4.19160_dp
      76              :    REAL(KIND=dp), PARAMETER :: smax = 8.572844_dp, &
      77              :                                sconst = 18.79622316_dp, &
      78              :                                scutoff = 8.3_dp
      79              :    REAL(KIND=dp), PARAMETER :: gcutoff = 0.08_dp, &
      80              :                                g1 = -0.02628417880_dp/E, &
      81              :                                g2 = -0.07117647788_dp/E, &
      82              :                                g3 = 0.08534541323_dp/E, &
      83              :                                g4 = 0.0_dp
      84              :    REAL(KIND=dp), PARAMETER :: wcutoff = 14.0_dp
      85              :    REAL(KIND=dp), PARAMETER :: f12 = 0.5_dp, f14 = 0.25_dp, f158 = 15.0_dp/8.0_dp, &
      86              :                                f1516 = 15.0_dp/16.0_dp, f24364 = 243.0_dp/64.0_dp, &
      87              :                                f2716 = 27.0_dp/16.0_dp, f2732 = 27.0_dp/32.0_dp, &
      88              :                                f34 = 0.75_dp, f32 = 1.5_dp, f38 = 0.375_dp, f68 = 0.75_dp, &
      89              :                                f6561512 = 6561.0_dp/512.0_dp, f8132 = 81.0_dp/32.0_dp, &
      90              :                                f8164 = 81.0_dp/64.0_dp, f729128 = 729.0_dp/128.0_dp, &
      91              :                                f52 = 2.5_dp, f94 = 9.0_dp/4.0_dp, f916 = 9.0_dp/16.0_dp, &
      92              :                                f89 = 8.0_dp/9.0_dp, f2187256 = 2187.0_dp/256.0_dp, &
      93              :                                r1 = 1.0_dp, f98 = 9.0_dp/8.0_dp, r15 = 15.0_dp, &
      94              :                                r3 = 3.0_dp, r4 = 4.0_dp, r16 = 16.0_dp, r8 = 8.0_dp, &
      95              :                                r6 = 6.0_dp, r2 = 2.0_dp
      96              : 
      97              :    CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'xc_xwpbe'
      98              : 
      99              : CONTAINS
     100              : 
     101              : ! **************************************************************************************************
     102              : !> \brief return various information on the functional
     103              : !> \param reference string with the reference of the actual functional
     104              : !> \param shortform string with the shortform of the functional name
     105              : !> \param needs the components needed by this functional are set to
     106              : !>        true (does not set the unneeded components to false)
     107              : !> \param max_deriv ...
     108              : !> \par History
     109              : !>      05.2007 created [Manuel Guidon]
     110              : !> \author Manuel Guidon
     111              : ! **************************************************************************************************
     112         2013 :    SUBROUTINE xwpbe_lda_info(reference, shortform, needs, max_deriv)
     113              :       CHARACTER(LEN=*), INTENT(OUT), OPTIONAL            :: reference, shortform
     114              :       TYPE(xc_rho_cflags_type), INTENT(inout), OPTIONAL  :: needs
     115              :       INTEGER, INTENT(out), OPTIONAL                     :: max_deriv
     116              : 
     117         2013 :       IF (PRESENT(reference)) THEN
     118            9 :          reference = "Jochen Heyd and Gustavo E. Scuseria, J. Chem. Phys., 120, 7274 {LDA version}"
     119              :       END IF
     120         2013 :       IF (PRESENT(shortform)) THEN
     121            9 :          shortform = "shortrange part of PBE exchange {LDA}"
     122              :       END IF
     123         2013 :       IF (PRESENT(needs)) THEN
     124         2004 :          needs%rho = .TRUE.
     125         2004 :          needs%norm_drho = .TRUE.
     126              :       END IF
     127              :       ! deriv > 1 are not correct
     128              :       ! IF (PRESENT(max_deriv)) max_deriv = 2
     129         2013 :       IF (PRESENT(max_deriv)) max_deriv = 1
     130         2013 :    END SUBROUTINE xwpbe_lda_info
     131              : 
     132              : ! **************************************************************************************************
     133              : !> \brief evaluates the screened hole averaged PBE exchange functional for lda
     134              : !> \param rho_set the density where you want to evaluate the functional
     135              : !> \param deriv_set place where to store the functional derivatives (they are
     136              : !>        added to the derivatives)
     137              : !> \param order degree of the derivative that should be evaluated,
     138              : !>        if positive all the derivatives up to the given degree are evaluated,
     139              : !>        if negative only the given degree is calculated
     140              : !> \param xwpbe_params input parameters (scaling,omega)
     141              : !> \par History
     142              : !>      05.2007 created [Manuel Guidon]
     143              : !> \author Manuel Guidon
     144              : !> \note
     145              : !>      The current version provides code for derivatives up to second order.
     146              : !>      Using the maple sheet in cp2k/doc it is straightforward to produce routines
     147              : !>      for higher derivatives.
     148              : ! **************************************************************************************************
     149        12270 :    SUBROUTINE xwpbe_lda_eval(rho_set, deriv_set, order, xwpbe_params)
     150              : 
     151              :       TYPE(xc_rho_set_type), INTENT(IN)                  :: rho_set
     152              :       TYPE(xc_derivative_set_type), INTENT(IN)           :: deriv_set
     153              :       INTEGER, INTENT(IN)                                :: order
     154              :       TYPE(section_vals_type), POINTER                   :: xwpbe_params
     155              : 
     156              :       CHARACTER(len=*), PARAMETER                        :: routineN = 'xwpbe_lda_eval'
     157              : 
     158              :       INTEGER                                            :: handle, npoints
     159              :       INTEGER, DIMENSION(2, 3)                           :: bo
     160              :       REAL(kind=dp)                                      :: epsilon_norm_drho, epsilon_rho, omega, &
     161              :                                                             sx, sx0
     162              :       REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
     163         2454 :          POINTER                                         :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
     164         2454 :                                                             e_ndrho_rho, e_rho, e_rho_rho, &
     165         2454 :                                                             norm_drho, rho
     166              :       TYPE(xc_derivative_type), POINTER                  :: deriv
     167              : 
     168         2454 :       CALL timeset(routineN, handle)
     169              : 
     170         2454 :       CALL cite_reference(Heyd2004)
     171              : 
     172         2454 :       CALL section_vals_val_get(xwpbe_params, "SCALE_X", r_val=sx)
     173         2454 :       CALL section_vals_val_get(xwpbe_params, "SCALE_X0", r_val=sx0)
     174         2454 :       CALL section_vals_val_get(xwpbe_params, "OMEGA", r_val=omega)
     175              : 
     176              :       CALL xc_rho_set_get(rho_set, rho=rho, &
     177              :                           norm_drho=norm_drho, local_bounds=bo, rho_cutoff=epsilon_rho, &
     178         2454 :                           drho_cutoff=epsilon_norm_drho)
     179         2454 :       npoints = (bo(2, 1) - bo(1, 1) + 1)*(bo(2, 2) - bo(1, 2) + 1)*(bo(2, 3) - bo(1, 3) + 1)
     180              : 
     181         2454 :       dummy => rho
     182              : 
     183         2454 :       e_0 => dummy
     184         2454 :       e_rho => dummy
     185         2454 :       e_ndrho => dummy
     186         2454 :       e_rho_rho => dummy
     187         2454 :       e_ndrho_rho => dummy
     188         2454 :       e_ndrho_ndrho => dummy
     189              : 
     190         2454 :       IF (order >= 0) THEN
     191              :          deriv => xc_dset_get_derivative(deriv_set, [INTEGER::], &
     192         2454 :                                          allocate_deriv=.TRUE.)
     193         2454 :          CALL xc_derivative_get(deriv, deriv_data=e_0)
     194              :       END IF
     195         2454 :       IF (order >= 1 .OR. order == -1) THEN
     196              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rho], &
     197         2040 :                                          allocate_deriv=.TRUE.)
     198         2040 :          CALL xc_derivative_get(deriv, deriv_data=e_rho)
     199              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drho], &
     200         2040 :                                          allocate_deriv=.TRUE.)
     201         2040 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrho)
     202              :       END IF
     203         2454 :       IF (order >= 2 .OR. order == -2) THEN
     204            0 :          CPABORT("derivatives bigger than 1 do not work correctly")
     205              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rho, deriv_rho], &
     206            0 :                                          allocate_deriv=.TRUE.)
     207            0 :          CALL xc_derivative_get(deriv, deriv_data=e_rho_rho)
     208              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drho, deriv_rho], &
     209            0 :                                          allocate_deriv=.TRUE.)
     210            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrho_rho)
     211              :          deriv => xc_dset_get_derivative(deriv_set, &
     212            0 :                                          [deriv_norm_drho, deriv_norm_drho], allocate_deriv=.TRUE.)
     213            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrho_ndrho)
     214              :       END IF
     215         2454 :       IF (order > 1 .OR. order < -1) THEN
     216            0 :          CPABORT("derivatives bigger than 1 do not work correctly")
     217              :       END IF
     218         2454 :       IF (order > 2 .OR. order < -2) THEN
     219            0 :          CPABORT("derivatives bigger than 2 not implemented")
     220              :       END IF
     221              : 
     222              : !$OMP     PARALLEL DEFAULT(NONE) &
     223              : !$OMP     SHARED(npoints, order, rho, norm_drho, e_0, e_rho, e_ndrho) &
     224              : !$OMP     SHARED(e_rho_rho, e_ndrho_rho, e_ndrho_ndrho, epsilon_rho) &
     225         2454 : !$OMP     SHARED(sx, sx0, omega)
     226              : 
     227              :       CALL xwpbe_lda_calc(npoints, order, rho=rho, norm_drho=norm_drho, &
     228              :                           e_0=e_0, e_rho=e_rho, e_ndrho=e_ndrho, e_rho_rho=e_rho_rho, &
     229              :                           e_ndrho_rho=e_ndrho_rho, e_ndrho_ndrho=e_ndrho_ndrho, &
     230              :                           epsilon_rho=epsilon_rho, sx=sx, sx0=sx0, omega=omega)
     231              : 
     232              : !$OMP     END PARALLEL
     233              : 
     234         2454 :       CALL timestop(handle)
     235              : 
     236         2454 :    END SUBROUTINE xwpbe_lda_eval
     237              : 
     238              : ! **************************************************************************************************
     239              : !> \brief evaluates the screened hole averaged PBE exchange functional for lda
     240              : !> \param npoints ...
     241              : !> \param order degree of the derivative that should be evaluated,
     242              : !>        if positive all the derivatives up to the given degree are evaluated,
     243              : !>        if negative only the given degree is calculated
     244              : !> \param rho , ndrho: density and norm of the density gradient
     245              : !> \param norm_drho ...
     246              : !> \param e_0 ...
     247              : !> \param e_rho ...
     248              : !> \param e_ndrho ...
     249              : !> \param e_rho_rho ...
     250              : !> \param e_ndrho_rho ...
     251              : !> \param e_ndrho_ndrho ...
     252              : !> \param epsilon_rho ...
     253              : !> \param sx , sx0: scaling factor for omega!=0 and omega=0
     254              : !> \param sx0 ...
     255              : !> \param omega screening parameter
     256              : !> \par History
     257              : !>      05.2007 created [Manuel Guidon]
     258              : !> \author Manuel Guidon
     259              : !> \note
     260              : !>      In order to avoid numerical instabilities, this routine calls different
     261              : !>      subroutines. There are 4 routines for the case omega!=0 and 2 routines
     262              : !>      for omega=0.
     263              : ! **************************************************************************************************
     264         2454 :    SUBROUTINE xwpbe_lda_calc(npoints, order, rho, norm_drho, e_0, e_rho, e_ndrho, &
     265         2454 :                              e_rho_rho, e_ndrho_rho, e_ndrho_ndrho, &
     266              :                              epsilon_rho, sx, sx0, omega)
     267              : 
     268              :       INTEGER, INTENT(in)                                :: npoints, order
     269              :       REAL(kind=dp), DIMENSION(1:npoints), INTENT(inout) :: rho, norm_drho, e_0, e_rho, e_ndrho, &
     270              :                                                             e_rho_rho, e_ndrho_rho, e_ndrho_ndrho
     271              :       REAL(kind=dp), INTENT(in)                          :: epsilon_rho, sx, sx0, omega
     272              : 
     273              :       INTEGER                                            :: ip
     274              :       REAL(dp)                                           :: my_ndrho, my_rho
     275              :       REAL(KIND=dp)                                      :: ss, ss2, sscale, t1, t2, t3, t4, t5, t6, &
     276              :                                                             t7, t8, ww
     277              : 
     278              : !$OMP     DO
     279              : 
     280              :       DO ip = 1, npoints
     281     78061678 :          my_rho = MAX(rho(ip), 0.0_dp)
     282     78061678 :          IF (my_rho > epsilon_rho) THEN
     283     63274687 :             my_ndrho = MAX(norm_drho(ip), 0.0_dp)
     284              : 
     285              :             !Do some precalculation in order to catch the correct branch afterwards
     286     63274687 :             sscale = 1.0_dp
     287     63274687 :             t1 = pi**2
     288     63274687 :             t2 = t1*my_rho
     289     63274687 :             t3 = t2**(0.1e1_dp/0.3e1_dp)
     290     63274687 :             t4 = 0.1e1_dp/t3
     291     63274687 :             t5 = omega*t4
     292     63274687 :             ww = 0.6933612743506347048433524e0_dp*t5
     293     63274687 :             t6 = my_ndrho*t4
     294     63274687 :             t7 = 0.1e1_dp/my_rho
     295     63274687 :             t8 = t7*sscale
     296     63274687 :             ss = 0.3466806371753173524216762e0_dp*t6*t8
     297     63274687 :             IF (ss > scutoff) THEN
     298     43752221 :                ss2 = ss*ss
     299     43752221 :                sscale = (smax*ss2 - sconst)/(ss2*ss)
     300              :             END IF
     301              : 
     302     63274687 :             IF (sx0 /= 0.0_dp) THEN
     303              :                !original PBE hole
     304     52996259 :                IF (ss*sscale > gcutoff) THEN
     305              :                   CALL xwpbe_lda_calc_0(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     306              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     307     52678627 :                                         my_ndrho, sscale, sx0, order)
     308              :                ELSE
     309              :                   CALL xwpbe_lda_calc_01(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     310              :                                          e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     311       317632 :                                          my_ndrho, sscale, sx0, order)
     312              :                END IF
     313              :             END IF
     314              : 
     315     63274687 :             IF (sx /= 0.0_dp) THEN
     316     26307871 :                IF (ww < wcutoff .AND. ss*sscale > gcutoff) THEN
     317              :                   CALL xwpbe_lda_calc_1(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     318              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     319     19189652 :                                         my_ndrho, omega, sscale, sx, order)
     320       295133 :                ELSE IF (ww < wcutoff .AND. ss*sscale <= gcutoff) THEN
     321              :                   CALL xwpbe_lda_calc_2(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     322              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     323       295133 :                                         my_ndrho, omega, sscale, sx, order)
     324      6823086 :                ELSE IF (ww >= wcutoff .AND. ss*sscale > gcutoff) THEN
     325              :                   CALL xwpbe_lda_calc_3(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     326              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     327      6822964 :                                         my_ndrho, omega, sscale, sx, order)
     328              :                ELSE
     329              :                   CALL xwpbe_lda_calc_4(e_0(ip), e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
     330              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
     331          122 :                                         my_ndrho, omega, sscale, sx, order)
     332              :                END IF
     333              :             END IF
     334              :          END IF
     335              :       END DO
     336              : 
     337              : !$OMP     END DO
     338              : 
     339         2454 :    END SUBROUTINE xwpbe_lda_calc
     340              : 
     341              : ! **************************************************************************************************
     342              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda
     343              : !> \param e_0 ...
     344              : !> \param e_rho ...
     345              : !> \param e_ndrho ...
     346              : !> \param e_rho_rho ...
     347              : !> \param e_ndrho_rho ...
     348              : !> \param e_ndrho_ndrho ...
     349              : !> \param rho , ndrho: density and norm of the density gradient
     350              : !> \param ndrho ...
     351              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
     352              : !> \param sx0 scaling factor
     353              : !> \param order degree of the derivative that should be evaluated,
     354              : !>        if positive all the derivatives up to the given degree are evaluated,
     355              : !>        if negative only the given degree is calculated
     356              : !> \par History
     357              : !>      05.2007 created [Manuel Guidon]
     358              : !> \author Manuel Guidon
     359              : !> \note
     360              : !>      This routine evaluates the exact functional for omega=0.
     361              : ! **************************************************************************************************
     362     76347670 :    SUBROUTINE xwpbe_lda_calc_0(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
     363              :                                e_ndrho_ndrho, rho, ndrho, sscale, sx0, order)
     364              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
     365              :                                                             e_ndrho_rho, e_ndrho_ndrho
     366              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, sscale, sx0
     367              :       INTEGER, INTENT(IN)                                :: order
     368              : 
     369              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t100, &
     370              :          t1003, t1007, t1018, t1023, t1024, t103, t1037, t105, t1055, t1056, t1057, t1059, t106, &
     371              :          t1060, t1073, t1079, t1082, t109, t11, t110, t1100, t111, t1110, t1114, t1117, t112, &
     372              :          t114, t1143, t116, t1165, t117, t118, t119, t12, t120, t1202, t121, t1215, t122, t123, &
     373              :          t1242, t125, t1258, t126, t1263, t127, t1286, t13, t130, t1316, t134, t1347, t135, t1352, &
     374              :          t1358, t136, t1362, t1365, t1369, t1372, t138, t1382, t1388, t139, t1392, t1395, t14, &
     375              :          t1412, t142, t143, t145, t1455, t146, t1465, t147, t148, t149, t15
     376              :       REAL(KIND=dp) :: t150, t1510, t152, t1547, t156, t1561, t158, t159, t16, t160, t163, t164, &
     377              :          t165, t166, t169, t170, t172, t173, t174, t175, t176, t18, t180, t183, t184, t185, t187, &
     378              :          t188, t19, t190, t191, t192, t193, t199, t2, t20, t200, t201, t202, t203, t207, t209, &
     379              :          t21, t215, t218, t219, t22, t220, t222, t223, t224, t225, t227, t228, t231, t233, t236, &
     380              :          t237, t24, t240, t241, t242, t245, t246, t247, t249, t25, t250, t253, t254, t258, t26, &
     381              :          t261, t262, t263, t265, t266, t269, t272, t274, t275, t278, t28, t281, t282, t284, t285, &
     382              :          t287, t288, t29, t290, t291, t294, t297, t3, t300, t301, t303
     383              :       REAL(KIND=dp) :: t304, t306, t307, t31, t314, t32, t321, t323, t326, t327, t33, t330, t334, &
     384              :          t335, t336, t337, t338, t339, t34, t340, t342, t343, t344, t345, t347, t355, t356, t357, &
     385              :          t358, t359, t36, t361, t362, t363, t367, t368, t37, t372, t374, t376, t377, t381, t383, &
     386              :          t384, t387, t388, t39, t390, t391, t394, t397, t398, t4, t40, t400, t401, t402, t404, &
     387              :          t405, t406, t408, t409, t410, t411, t412, t413, t414, t415, t416, t417, t418, t42, t423, &
     388              :          t425, t426, t429, t430, t432, t433, t435, t44, t440, t443, t444, t446, t447, t449, t46, &
     389              :          t463, t465, t47, t471, t472, t475, t476, t478, t479, t480, t484
     390              :       REAL(KIND=dp) :: t485, t489, t491, t495, t497, t5, t500, t501, t504, t505, t507, t508, t510, &
     391              :          t511, t513, t514, t515, t52, t520, t53, t530, t537, t54, t540, t542, t546, t550, t553, &
     392              :          t557, t56, t566, t569, t570, t577, t579, t58, t59, t6, t61, t616, t620, t621, t627, t628, &
     393              :          t63, t632, t647, t65, t655, t657, t66, t663, t67, t678, t68, t685, t69, t7, t70, t707, &
     394              :          t71, t716, t72, t73, t735, t74, t744, t751, t755, t76, t761, t77, t778, t78, t784, t788, &
     395              :          t79, t791, t8, t80, t81, t819, t824, t83, t84, t854, t856, t857, t86, t867, t872, t875, &
     396              :          t878, t88, t887, t888, t889, t89, t9, t905, t91, t910, t911
     397              :       REAL(KIND=dp) :: t92, t923, t924, t93, t930, t933, t94, t95, t952, t956, t968, t97, t975, &
     398              :          t98, t983
     399              : 
     400     76347670 :       IF (order >= 0) THEN
     401     76347670 :          t1 = ndrho**2
     402     76347670 :          t2 = a1*t1
     403     76347670 :          t3 = r2**2
     404     76347670 :          t4 = 0.1e1_dp/t3
     405     76347670 :          t5 = t2*t4
     406     76347670 :          t6 = pi**2
     407     76347670 :          t7 = r3*t6
     408     76347670 :          t8 = t7*rho
     409     76347670 :          t9 = t8**(0.1e1_dp/0.3e1_dp)
     410     76347670 :          t10 = t9**2
     411     76347670 :          t11 = 0.1e1_dp/t10
     412     76347670 :          t12 = rho**2
     413     76347670 :          t13 = 0.1e1_dp/t12
     414     76347670 :          t14 = t11*t13
     415     76347670 :          t15 = sscale**2
     416     76347670 :          t16 = t14*t15
     417     76347670 :          t18 = t1**2
     418     76347670 :          t19 = a2*t18
     419     76347670 :          t20 = t3**2
     420     76347670 :          t21 = 0.1e1_dp/t20
     421     76347670 :          t22 = t19*t21
     422     76347670 :          t24 = 0.1e1_dp/t9/t8
     423     76347670 :          t25 = t12**2
     424     76347670 :          t26 = 0.1e1_dp/t25
     425     76347670 :          t28 = t15**2
     426     76347670 :          t29 = t24*t26*t28
     427     76347670 :          t31 = t5*t16 + t22*t29
     428     76347670 :          t32 = f94*t31
     429     76347670 :          t33 = a3*t18
     430     76347670 :          t34 = t33*t21
     431     76347670 :          t36 = t18*ndrho
     432     76347670 :          t37 = a4*t36
     433     76347670 :          t39 = 0.1e1_dp/t20/r2
     434     76347670 :          t40 = t37*t39
     435     76347670 :          t42 = 0.1e1_dp/t10/t8
     436     76347670 :          t44 = 0.1e1_dp/t25/rho
     437     76347670 :          t46 = t28*sscale
     438     76347670 :          t47 = t42*t44*t46
     439     76347670 :          t52 = 0.1e1_dp/t20/t3
     440     76347670 :          t53 = a5*t18*t1*t52
     441     76347670 :          t54 = r3**2
     442     76347670 :          t56 = t6**2
     443     76347670 :          t58 = 0.1e1_dp/t54/t56
     444     76347670 :          t59 = t25**2
     445     76347670 :          t61 = t28*t15
     446     76347670 :          t63 = t58/t59*t61
     447     76347670 :          t65 = r1 + t34*t29 + t40*t47 + t53*t63
     448     76347670 :          t66 = 0.1e1_dp/t65
     449     76347670 :          t67 = t66*t1
     450     76347670 :          t68 = t32*t67
     451     76347670 :          t69 = t4*t11
     452     76347670 :          t70 = t13*t15
     453     76347670 :          t71 = 0.1e1_dp/A
     454     76347670 :          t72 = t70*t71
     455     76347670 :          t73 = t69*t72
     456     76347670 :          Q = t68*t73
     457     76347670 :          t74 = rho**(0.1e1_dp/0.3e1_dp)
     458     76347670 :          t76 = t74*rho*f89
     459     76347670 :          t77 = B*f12
     460     76347670 :          t78 = t1*t4
     461     76347670 :          t79 = t78*t11
     462     76347670 :          t80 = t31*t66
     463     76347670 :          t81 = t70*t80
     464     76347670 :          t83 = t79*t81 + DD
     465     76347670 :          t84 = 0.1e1_dp/t83
     466     76347670 :          t86 = F2*t31
     467     76347670 :          t88 = F1 + t86*t66
     468     76347670 :          t89 = t70*t88
     469     76347670 :          t91 = t79*t89 + r1
     470     76347670 :          t92 = f12*t91
     471     76347670 :          t93 = t83**2
     472     76347670 :          t94 = 0.1e1_dp/t93
     473     76347670 :          t95 = C*t94
     474     76347670 :          t97 = f34*pi
     475     76347670 :          t98 = rootpi
     476     76347670 :          t100 = r6*C
     477     76347670 :          t103 = r4*B
     478     76347670 :          t105 = r8*A
     479     76347670 :          t106 = t93*t83
     480     76347670 :          t109 = t98*(r15*E + t100*t91*t83 + t103*t93 + t105*t106)
     481     76347670 :          t110 = 0.1e1_dp/r16
     482     76347670 :          t111 = SQRT(t83)
     483     76347670 :          t112 = t111*t106
     484     76347670 :          t114 = t110/t112
     485     76347670 :          t116 = SQRT(A)
     486     76347670 :          t117 = EXP(Q)
     487     76347670 :          t118 = t116*t117
     488     76347670 :          t119 = f32*ndrho
     489     76347670 :          t120 = 0.1e1_dp/r2
     490     76347670 :          t121 = t119*t120
     491     76347670 :          t122 = 0.1e1_dp/t9
     492     76347670 :          t123 = 0.1e1_dp/rho
     493     76347670 :          t125 = t80*t71
     494     76347670 :          t126 = SQRT(t125)
     495     76347670 :          t127 = sscale*t126
     496     76347670 :          t130 = erfc(t121*t122*t123*t127)
     497     76347670 :          t134 = 0.1e1_dp/f1516
     498     76347670 :          t135 = (t97 + t109*t114 - t97*t118*t130)*t134
     499     76347670 :          t136 = 0.1e1_dp/t98
     500     76347670 :          t138 = 0.1e1_dp/E
     501     76347670 :          t139 = t136*t112*t138
     502     76347670 :          t142 = (-t135*t139 + r1)*E
     503     76347670 :          t143 = 0.1e1_dp/t106
     504     76347670 :          t145 = f12*A
     505     76347670 :          t146 = exei(Q)
     506     76347670 :          t147 = t78*t14
     507     76347670 :          t148 = t15*t31
     508     76347670 :          t149 = t66*t84
     509     76347670 :          t150 = t148*t149
     510     76347670 :          t152 = LOG(t147*t150)
     511              :          t156 = (t77*t84 + t92*t95 + t142*t143 + t145*(t146 + t152)) &
     512     76347670 :                 *Clda
     513     76347670 :          e_0 = e_0 + (-t76*t156)*sx0
     514              :       END IF
     515     76347670 :       IF (order >= 1 .OR. order == -1) THEN
     516     53249738 :          t158 = t4*t42
     517     53249738 :          t159 = t2*t158
     518     53249738 :          t160 = t70*t7
     519     53249738 :          t163 = t12*rho
     520     53249738 :          t164 = 0.1e1_dp/t163
     521     53249738 :          t165 = t11*t164
     522     53249738 :          t166 = t165*t15
     523     53249738 :          t169 = t54*t56
     524     53249738 :          t170 = t169*t12
     525     53249738 :          t172 = 0.1e1_dp/t9/t170
     526     53249738 :          t173 = t21*t172
     527     53249738 :          t174 = t19*t173
     528     53249738 :          t175 = t26*t28
     529     53249738 :          t176 = t175*t7
     530     53249738 :          t180 = t24*t44*t28
     531              :          t183 = -0.2e1_dp/0.3e1_dp*t159*t160 - (2._dp*t5*t166) - 0.4e1_dp/ &
     532     53249738 :                 0.3e1_dp*t174*t176 - (4._dp*t22*t180)
     533     53249738 :          t184 = f94*t183
     534     53249738 :          t185 = t184*t67
     535     53249738 :          t187 = t65**2
     536     53249738 :          t188 = 0.1e1_dp/t187
     537     53249738 :          t190 = t188*t1*t4
     538     53249738 :          t191 = t32*t190
     539     53249738 :          t192 = t15*t71
     540     53249738 :          t193 = t33*t173
     541     53249738 :          t199 = 0.1e1_dp/t10/t170
     542     53249738 :          t200 = t39*t199
     543     53249738 :          t201 = t37*t200
     544     53249738 :          t202 = t44*t46
     545     53249738 :          t203 = t202*t7
     546     53249738 :          t207 = 0.1e1_dp/t25/t12
     547     53249738 :          t209 = t42*t207*t46
     548     53249738 :          t215 = t58/t59/rho*t61
     549              :          t218 = -0.4e1_dp/0.3e1_dp*t193*t176 - (4._dp*t34*t180) - 0.5e1_dp &
     550     53249738 :                 /0.3e1_dp*t201*t203 - (5._dp*t40*t209) - (8._dp*t53*t215)
     551     53249738 :          t219 = t192*t218
     552     53249738 :          t220 = t14*t219
     553     53249738 :          t222 = t67*t4
     554     53249738 :          t223 = t32*t222
     555     53249738 :          t224 = t42*t13
     556     53249738 :          t225 = t224*t15
     557     53249738 :          t227 = t71*r3*t6
     558     53249738 :          t228 = t225*t227
     559     53249738 :          t231 = t164*t15
     560     53249738 :          t233 = t69*t231*t71
     561              :          dQrho = t185*t73 - t191*t220 - 0.2e1_dp/0.3e1_dp*t223*t228 - (2._dp &
     562     53249738 :                                                                        *t68*t233)
     563     53249738 :          t236 = a1*ndrho
     564     53249738 :          t237 = t236*t4
     565     53249738 :          t240 = t1*ndrho
     566     53249738 :          t241 = a2*t240
     567     53249738 :          t242 = t241*t21
     568     53249738 :          t245 = 2._dp*t237*t16 + 4._dp*t242*t29
     569     53249738 :          t246 = f94*t245
     570     53249738 :          t247 = t246*t67
     571     53249738 :          t249 = a3*t240
     572     53249738 :          t250 = t249*t21
     573     53249738 :          t253 = a4*t18
     574     53249738 :          t254 = t253*t39
     575     53249738 :          t258 = a5*t36*t52
     576     53249738 :          t261 = 4._dp*t250*t29 + 5._dp*t254*t47 + 6._dp*t258*t63
     577     53249738 :          t262 = t192*t261
     578     53249738 :          t263 = t14*t262
     579     53249738 :          t265 = t66*ndrho
     580     53249738 :          t266 = t32*t265
     581     53249738 :          dQndrho = t247*t73 - t191*t263 + 2._dp*t266*t73
     582     53249738 :          t269 = t74*f89
     583     53249738 :          t272 = t78*t224
     584     53249738 :          t274 = t66*r3*t6
     585     53249738 :          t275 = t148*t274
     586     53249738 :          t278 = t231*t80
     587     53249738 :          t281 = t183*t66
     588     53249738 :          t282 = t70*t281
     589     53249738 :          t284 = t188*t218
     590     53249738 :          t285 = t148*t284
     591              :          t287 = -0.2e1_dp/0.3e1_dp*t272*t275 - (2._dp*t79*t278) + (t79 &
     592     53249738 :                                                                    *t282) - t147*t285
     593     53249738 :          t288 = t94*t287
     594     53249738 :          t290 = t15*t88
     595     53249738 :          t291 = t290*t7
     596     53249738 :          t294 = t231*t88
     597     53249738 :          t297 = F2*t183
     598     53249738 :          t300 = t297*t66 - t86*t284
     599     53249738 :          t301 = t70*t300
     600              :          t303 = -0.2e1_dp/0.3e1_dp*t272*t291 - (2._dp*t79*t294) + (t79 &
     601     53249738 :                                                                    *t301)
     602     53249738 :          t304 = f12*t303
     603     53249738 :          t306 = C*t143
     604     53249738 :          t307 = t306*t287
     605     53249738 :          t314 = t83*t287
     606              :          t321 = t98*(t100*t303*t83 + t100*t91*t287 + 2._dp*t103*t314 &
     607     53249738 :                      + 3._dp*t105*t93*t287)
     608     53249738 :          t323 = t93**2
     609     53249738 :          t326 = t110/t111/t323
     610     53249738 :          t327 = t326*t287
     611     53249738 :          t330 = t97*t116
     612     53249738 :          t334 = rootpi
     613     53249738 :          t335 = 0.1e1_dp/t334
     614     53249738 :          t336 = t117*t335
     615     53249738 :          t337 = f32**2
     616     53249738 :          t338 = t337*t1
     617     53249738 :          t339 = t338*t69
     618     53249738 :          t340 = t70*t125
     619     53249738 :          t342 = EXP(-t339*t340)
     620     53249738 :          t343 = t120*t24
     621     53249738 :          t344 = t119*t343
     622     53249738 :          t345 = t123*sscale
     623     53249738 :          t347 = t126*r3*t6
     624     53249738 :          t355 = t119*t120*t122
     625     53249738 :          t356 = 0.1e1_dp/t126
     626     53249738 :          t357 = t281*t71
     627     53249738 :          t358 = t31*t188
     628     53249738 :          t359 = t71*t218
     629     53249738 :          t361 = t357 - t358*t359
     630     53249738 :          t362 = t356*t361
     631     53249738 :          t363 = t345*t362
     632              :          t367 = t342*(-t344*t345*t347/0.3e1_dp - t121*t122*t13*t127 &
     633     53249738 :                       + t355*t363/0.2e1_dp)
     634     53249738 :          t368 = t336*t367
     635              :          t372 = (t321*t114 - 0.7e1_dp/0.2e1_dp*t109*t327 - (t330*dQrho &
     636     53249738 :                                                             *t117*t130) + (2._dp*t330*t368))*t134
     637     53249738 :          t374 = t135*t136
     638     53249738 :          t376 = t111*t93*t138
     639     53249738 :          t377 = t376*t287
     640     53249738 :          t381 = (-t372*t139 - 0.7e1_dp/0.2e1_dp*t374*t377)*E
     641     53249738 :          t383 = 0.1e1_dp/t323
     642     53249738 :          t384 = t383*t287
     643     53249738 :          t387 = dexeirho(Q, dQrho)
     644     53249738 :          t388 = t78*t225
     645     53249738 :          t390 = t84*r3*t6
     646     53249738 :          t391 = t80*t390
     647     53249738 :          t394 = t78*t165
     648     53249738 :          t397 = t15*t183
     649     53249738 :          t398 = t397*t149
     650     53249738 :          t400 = t188*t84
     651     53249738 :          t401 = t400*t218
     652     53249738 :          t402 = t148*t401
     653     53249738 :          t404 = t66*t94
     654     53249738 :          t405 = t404*t287
     655     53249738 :          t406 = t148*t405
     656              :          t408 = -0.2e1_dp/0.3e1_dp*t388*t391 - (2._dp*t394*t150) + t147 &
     657     53249738 :                 *t398 - t147*t402 - t147*t406
     658     53249738 :          t409 = 0.1e1_dp/t1
     659     53249738 :          t410 = t408*t409
     660     53249738 :          t411 = t3*t10
     661     53249738 :          t412 = t410*t411
     662     53249738 :          t413 = 0.1e1_dp/t15
     663     53249738 :          t414 = t12*t413
     664     53249738 :          t415 = 0.1e1_dp/t31
     665     53249738 :          t416 = t415*t65
     666     53249738 :          t417 = t416*t83
     667     53249738 :          t418 = t414*t417
     668              :          t423 = (-t77*t288 + t304*t95 - 2._dp*t92*t307 + t381*t143 - 3._dp &
     669     53249738 :                  *t142*t384 + t145*(t387 + t412*t418))*Clda
     670     53249738 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t269*t156 - t76*t423)*sx0
     671     53249738 :          t425 = ndrho*t4
     672     53249738 :          t426 = t425*t11
     673     53249738 :          t429 = t245*t66
     674     53249738 :          t430 = t70*t429
     675     53249738 :          t432 = t188*t261
     676     53249738 :          t433 = t148*t432
     677     53249738 :          t435 = 2._dp*t426*t81 + t79*t430 - t147*t433
     678     53249738 :          t440 = F2*t245
     679     53249738 :          t443 = t440*t66 - t86*t432
     680     53249738 :          t444 = t70*t443
     681     53249738 :          t446 = 2._dp*t426*t89 + t79*t444
     682     53249738 :          t447 = f12*t446
     683     53249738 :          t449 = t306*t435
     684              :          t463 = t98*(t100*t446*t83 + t100*t91*t435 + 2._dp*t103*t83 &
     685     53249738 :                      *t435 + 3._dp*t105*t93*t435)
     686     53249738 :          t465 = t326*t435
     687     53249738 :          t471 = f32*t120
     688     53249738 :          t472 = t471*t122
     689     53249738 :          t475 = t429*t71
     690     53249738 :          t476 = t71*t261
     691     53249738 :          t478 = t475 - t358*t476
     692     53249738 :          t479 = t356*t478
     693     53249738 :          t480 = t345*t479
     694     53249738 :          t484 = t342*(t472*t345*t126 + t355*t480/0.2e1_dp)
     695     53249738 :          t485 = t336*t484
     696              :          t489 = (t463*t114 - 0.7e1_dp/0.2e1_dp*t109*t465 - (t330*dQndrho &
     697     53249738 :                                                             *t117*t130) + (2._dp*t330*t485))*t134
     698     53249738 :          t491 = t376*t435
     699     53249738 :          t495 = (-t489*t139 - 0.7e1_dp/0.2e1_dp*t374*t491)*E
     700     53249738 :          t497 = t383*t435
     701     53249738 :          t500 = dexeindrho(Q, dQndrho)
     702     53249738 :          t501 = t425*t14
     703     53249738 :          t504 = t15*t245
     704     53249738 :          t505 = t504*t149
     705     53249738 :          t507 = t400*t261
     706     53249738 :          t508 = t148*t507
     707     53249738 :          t510 = t404*t435
     708     53249738 :          t511 = t148*t510
     709     53249738 :          t513 = 2._dp*t501*t150 + t147*t505 - t147*t508 - t147*t511
     710     53249738 :          t514 = t513*t409
     711     53249738 :          t515 = t514*t411
     712              :          t520 = (-t77*t94*t435 + t447*t95 - 2._dp*t92*t449 + t495*t143 &
     713     53249738 :                  - 3._dp*t142*t497 + t145*(t500 + t515*t418))*Clda
     714     53249738 :          e_ndrho = e_ndrho + (-t76*t520)*sx0
     715              :       END IF
     716     76347670 :       IF (order >= 2 .OR. order == -2) THEN
     717            0 :          t530 = t11*t26
     718            0 :          t537 = t54*r3*t56*t6*t163
     719            0 :          t540 = t21/t9/t537
     720            0 :          t542 = t175*t169
     721            0 :          t546 = t44*t28*t7
     722            0 :          t550 = t24*t207*t28
     723              :          t553 = 0.10e2_dp/0.9e1_dp*t2*t4*t199*t70*t169 + 0.8e1_dp/0.3e1_dp &
     724              :                 *t159*t231*t7 + (6._dp*t5*t530*t15) + 0.28e2_dp/0.9e1_dp* &
     725              :                 t19*t540*t542 + 0.32e2_dp/0.3e1_dp*t174*t546 + (20._dp*t22 &
     726            0 :                                                                 *t550)
     727            0 :          t557 = t184*t190
     728            0 :          t566 = 0.1e1_dp/t187/t65
     729            0 :          t569 = t32*t566*t1*t4
     730            0 :          t570 = t218**2
     731            0 :          t577 = t32*t188*t78*t42
     732            0 :          t579 = t218*r3*t6
     733              :          t616 = 0.28e2_dp/0.9e1_dp*t33*t540*t542 + 0.32e2_dp/0.3e1_dp*t193* &
     734              :                 t546 + (20._dp*t34*t550) + 0.40e2_dp/0.9e1_dp*t37*t39/t10/ &
     735              :                 t537*t202*t169 + 0.50e2_dp/0.3e1_dp*t201*t207*t46*t7 + 0.30e2_dp &
     736              :                 *t40*t42/t25/t163*t46 + (72._dp*t53*t58/t59/ &
     737            0 :                                          t12*t61)
     738            0 :          t620 = t199*t13
     739            0 :          t621 = t620*t15
     740            0 :          t627 = t42*t164
     741            0 :          t628 = t627*t15
     742            0 :          t632 = t26*t15
     743              :          d2Qrhorho = f94*t553*t67*t73 - (2._dp*t557*t220) - 0.4e1_dp/0.3e1_dp &
     744              :                      *t184*t222*t228 - (4._dp*t185*t233) + (2._dp*t569*t14 &
     745              :                                                             *t192*t570) + 0.4e1_dp/0.3e1_dp*t577*t72*t579 + (4._dp*t191 &
     746              :                                                                            *t165*t219) - (t191*t14*t192*t616) + 0.10e2_dp/0.9e1_dp &
     747              :                      *t223*t621*t71*t54*t56 + 0.8e1_dp/0.3e1_dp*t223*t628* &
     748            0 :                      t227 + 0.6e1_dp*t68*t69*t632*t71
     749              :          t647 = -0.4e1_dp/0.3e1_dp*t236*t158*t160 - (4._dp*t237*t166) &
     750            0 :                 - 0.16e2_dp/0.3e1_dp*t241*t173*t176 - (16._dp*t242*t180)
     751            0 :          t655 = t246*t190
     752            0 :          t657 = t359*t261
     753            0 :          t663 = t32*t188*ndrho*t4
     754              :          t678 = -0.16e2_dp/0.3e1_dp*t249*t173*t176 - (16._dp*t250*t180) &
     755              :                 - 0.25e2_dp/0.3e1_dp*t253*t200*t203 - (25._dp*t254*t209) - &
     756            0 :                 (48._dp*t258*t215)
     757            0 :          t685 = t7*t261
     758              :          d2Qrhondrho = (f94*t647*t67*t73) - t557*t263 + (2._dp*t184* &
     759              :                                                          t265*t73) - (t655*t220) + (2._dp*t569*t16*t657) - (2._dp &
     760              :                                                                             *t663*t220) - (t191*t14*t192*t678) - 0.2e1_dp/0.3e1_dp &
     761              :                        *t246*t222*t228 + 0.2e1_dp/0.3e1_dp*t577*t72*t685 - 0.4e1_dp &
     762              :                        /0.3e1_dp*t32*(t265)*t4*t228 - (2._dp*t247*t233) + &
     763            0 :                        (2._dp*t191*t165*t262) - (4._dp*t266*t233)
     764            0 :          t707 = 2._dp*a1*t4*t16 + 12._dp*a2*t1*t21*t29
     765            0 :          t716 = t261**2
     766              :          t735 = 12._dp*a3*t1*t21*t29 + 20._dp*a4*t240*t39*t47 + 30._dp* &
     767            0 :                 a5*t18*t52*t63
     768              :          d2Qndrhondrho = f94*t707*t67*t73 - 2._dp*t655*t263 + 4._dp*t246*t265* &
     769              :                          t73 + 2._dp*t569*t14*t192*t716 - 4._dp*t663*t263 - t191*t14 &
     770            0 :                          *t192*t735 + 2._dp*t32*t66*t4*t14*t192
     771            0 :          t744 = t74**2
     772            0 :          t751 = t287**2
     773            0 :          t755 = t78*t620
     774            0 :          t761 = t78*t627
     775            0 :          t778 = t553*t66
     776            0 :          t784 = t566*t570
     777            0 :          t788 = t188*t616
     778              :          t791 = 0.10e2_dp/0.9e1_dp*t755*t148*t66*t54*t56 + 0.8e1_dp/0.3e1_dp &
     779              :                 *t761*t275 - 0.4e1_dp/0.3e1_dp*t272*t397*t274 + 0.4e1_dp/0.3e1_dp &
     780              :                 *t388*t358*t579 + (6._dp*t79*t632*t80) - (4._dp*t79 &
     781              :                                                           *t231*t281) + (4._dp*t394*t285) + (t79*t70*t778) &
     782              :                 - 0.2e1_dp*t147*t397*t284 + 0.2e1_dp*t147*t148*t784 - t147 &
     783            0 :                 *t148*t788
     784              :          t819 = 0.10e2_dp/0.9e1_dp*t755*t290*t169 + 0.8e1_dp/0.3e1_dp*t761* &
     785              :                 t291 - 0.4e1_dp/0.3e1_dp*t272*t15*t300*t7 + (6._dp*t79*t632 &
     786              :                                                              *t88) - 0.4e1_dp*(t79)*t231*t300 + (t79*t70*(F2 &
     787            0 :                                                                            *t553*t66 - 2._dp*t297*t284 + 2._dp*t86*t784 - t86*t788))
     788            0 :          t824 = C*t383
     789            0 :          t854 = t323*t83
     790            0 :          t856 = 0.1e1_dp/t111/t854
     791            0 :          t857 = t110*t856
     792            0 :          t867 = dQrho**2
     793            0 :          t872 = t97*t116*dQrho
     794            0 :          t875 = t97*t118
     795            0 :          t878 = t148*t66
     796            0 :          t887 = t69*t13
     797            0 :          t888 = t338*t887
     798            0 :          t889 = t188*t71
     799            0 :          t905 = t13*sscale
     800            0 :          t910 = t119*t343*t123
     801            0 :          t911 = sscale*t356
     802            0 :          t923 = 0.1e1_dp/t126/t125
     803            0 :          t924 = t361**2
     804            0 :          t930 = t183*t188
     805            0 :          t933 = t31*t566
     806            0 :          t952 = t372*t136
     807            0 :          t956 = t111*t83*t138
     808            0 :          t968 = 0.1e1_dp/t854
     809            0 :          t975 = d2exeirhorho(Q, dQrho, d2Qrhorho)
     810            0 :          t983 = t66*t143
     811            0 :          t1003 = t358*t84
     812            0 :          t1007 = t80*t94
     813            0 :          t1018 = t566*t84
     814            0 :          t1023 = t78*t16
     815            0 :          t1024 = t94*t218
     816              :          t1037 = (6._dp*t78*t530*t150) - (4._dp*t394*t398) + (4._dp &
     817              :                                                               *t394*t402) + (2._dp*t147*t148*t983*t751) - (t147 &
     818              :                                                                                  *t148*t404*t791) + (t147*t15*t553*t149) - (2._dp* &
     819              :                                                                       t147*t397*t401) - (2._dp*t147*t397*t405) - 0.4e1_dp/0.3e1_dp &
     820              :                  *t388*t281*t390 + 0.4e1_dp/0.3e1_dp*t388*t1003*t579 + 0.4e1_dp &
     821              :                  /0.3e1_dp*t388*t1007*t7*t287 + 0.10e2_dp/0.9e1_dp*(t78) &
     822              :                  *(t621)*(t80)*(t84)*(t54)*(t56) + (2._dp &
     823              :                                                     *t147*t148*t1018*t570) + 0.2e1_dp*t1023*t358*t1024 &
     824              :                  *t287 - (t147*t148*t400*t616) + 0.8e1_dp/0.3e1_dp*(t78) &
     825            0 :                  *(t628)*(t391) + (4._dp*t394*t406)
     826            0 :          t1055 = t411*t12
     827            0 :          t1056 = t410*t1055
     828            0 :          t1057 = t31**2
     829            0 :          t1059 = t413/t1057
     830            0 :          t1060 = t65*t83
     831              :          t1073 = (2._dp*t77*t143*t751) - (t77*t94*t791) + (f12 &
     832              :                                                            *t819*t95) - (4._dp*t304*t307) + (6._dp*t92*t824* &
     833              :                                                                                 t751) - (2._dp*t92*t306*t791) + (-((t98*(t100*t819 &
     834              :                                                                      *t83 + 2._dp*t100*t303*t287 + t100*t91*t791 + 2._dp*t103*t751 &
     835              :                                                                       + 2._dp*t103*t83*t791 + 6._dp*t105*t83*t751 + 3._dp*t105*t93 &
     836              :                                                                       *t791)*t114) - (7._dp*t321*t327) + 0.63e2_dp/0.4e1_dp*(t109) &
     837              :                                                                                   *(t857)*(t751) - 0.7e1_dp/0.2e1_dp*(t109)*(t326) &
     838              :                                                                                *(t791) - t330*d2Qrhorho*t117*t130 - t330*t867*t117 &
     839              :                                                                          *t130 + (4._dp*t872*t368) + 0.2e1_dp*t875*t335*(0.2e1_dp/ &
     840              :                                                                               0.3e1_dp*t338*t158*t13*t878*t227 + (2._dp*t339*t231* &
     841              :                                                                                t125) - (t339*t70*t357) + t888*t148*t889*t218)*t367 &
     842              :                                                                        + 0.2e1_dp*t330*t336*t342*(0.4e1_dp/0.9e1_dp*t119*t120*t172 &
     843              :                                                                              *t345*t126*t54*t56 + 0.2e1_dp/0.3e1_dp*t344*t905*t347 &
     844              :                                                                              - t910*t911*t7*t361/0.3e1_dp + (2._dp*t121*t122*t164* &
     845              :                                                                       t127) - t355*t905*t362 - t355*t345*t923*t924/0.4e1_dp + t355 &
     846              :                                                                               *t345*t356*(t778*t71 - 2._dp*t930*t359 + 2._dp*t933* &
     847              :                                                                            t71*t570 - t358*t71*t616)/0.2e1_dp))*t134*t139 - (7._dp &
     848              :                                                                              *t952*t377) - 0.35e2_dp/0.4e1_dp*(t374)*(t956)*(t751) &
     849              :                                                                                       - 0.7e1_dp/0.2e1_dp*(t374)*(t376)*(t791))*E* &
     850              :                  (t143) - (6._dp*t381*t384) + (12._dp*t142*t968*t751) &
     851              :                  - (3._dp*t142*t383*t791) + t145*(t975 + t1037*t409*t411 &
     852              :                                                   *t418 + 0.2e1_dp/0.3e1_dp*(t410)*(t3)*(t122)* &
     853              :                                                   (t12)*(t413)*(t415)*(t65)*(t83)*(r3) &
     854              :                                                   *(t6) + (2._dp*t412*rho*t413*t417) - t1056*t1059 &
     855              :                                                   *t1060*t183 + (t412)*t414*(t415)*t218*(t83) &
     856            0 :                                                   + (t412)*t414*t416*(t287))
     857              :          e_rho_rho = e_rho_rho + (-0.4e1_dp/0.9e1_dp/t744*f89*t156 - 0.8e1_dp/0.3e1_dp*t269*t423 &
     858            0 :                                   - t76*t1073*Clda)*sx0
     859            0 :          t1079 = t143*t287*t435
     860            0 :          t1082 = t425*t224
     861            0 :          t1100 = t647*t66
     862            0 :          t1110 = t566*t218*t261
     863            0 :          t1114 = t188*t678
     864              :          t1117 = -0.4e1_dp/0.3e1_dp*t1082*t275 - 0.2e1_dp/0.3e1_dp*t272*t504 &
     865              :                  *t274 + 0.2e1_dp/0.3e1_dp*t388*t358*t685 - (4._dp*t426*t278) &
     866              :                  - (2._dp*t79*t231*t429) + (2._dp*t394*t433) + (2._dp &
     867              :                                                                 *t426*t282) + (t79*t70*t1100) - t147*t397*t432 - (2._dp &
     868              :                                                                            *t501*t285) - t147*t504*t284 + 0.2e1_dp*t147*t148*t1110 &
     869            0 :                  - t147*t148*t1114
     870              :          t1143 = -0.4e1_dp/0.3e1_dp*t1082*t291 - 0.2e1_dp/0.3e1_dp*t272*t15 &
     871              :                  *t443*t7 - (4._dp*t426*t294) - 0.2e1_dp*t79*t231*t443 + &
     872              :                  (2._dp*t426*t301) + t79*t70*(F2*t647*t66 - t297* &
     873            0 :                                               t432 - t440*t284 + 2._dp*t86*t1110 - t86*t1114)
     874            0 :          t1165 = t435*t287
     875            0 :          t1202 = t97*t116*dQndrho
     876              :          t1215 = t335*(-2._dp*t337*ndrho*t69*t340 - t339*t70*t475 &
     877            0 :                        + t888*t148*t889*t261)
     878            0 :          t1242 = t245*t188
     879              :          t1258 = (t98*(t100*t1143*t83 + t100*t303*t435 + t100 &
     880              :                        *t446*t287 + t100*t91*t1117 + 2._dp*t103*t1165 + 2._dp*t103* &
     881              :                        t83*t1117 + 6._dp*t105*t314*t435 + 3._dp*t105*t93*t1117)* &
     882              :                   t114) - 0.7e1_dp/0.2e1_dp*t321*t465 - 0.7e1_dp/0.2e1_dp*t463*t327 &
     883              :                  + 0.63e2_dp/0.4e1_dp*(t109)*(t110)*(t856)*(t287) &
     884              :                  *(t435) - 0.7e1_dp/0.2e1_dp*(t109)*(t326)*(t1117) &
     885              :                  - t330*d2Qrhondrho*t117*t130 - t330*dQrho*dQndrho*t117*t130 &
     886              :                  + (2._dp*t872*t485) + (2._dp*t1202*t368) + (2._dp*t875 &
     887              :                                                              *t1215*t367) + 0.2e1_dp*t330*t336*t342*(-t471*t24*t123 &
     888              :                                                                         *t127*t7/0.3e1_dp - t910*t911*t7*t478/0.6e1_dp - t472*t905 &
     889              :                                                                        *t126 - t355*t905*t479/0.2e1_dp + t472*t363/0.2e1_dp - t355 &
     890              :                                                                              *t345*t923*t361*t478/0.4e1_dp + t355*t345*t356*(t1100 &
     891              :                                                                             *t71 - t930*t476 - t1242*t359 + 2._dp*t933*t657 - t358 &
     892            0 :                                                                                                                 *t71*t678)/0.2e1_dp)
     893            0 :          t1263 = t489*t136
     894            0 :          t1286 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
     895              :          t1316 = -0.4e1_dp/0.3e1_dp*t425*t225*t391 - 0.2e1_dp/0.3e1_dp*t388 &
     896              :                  *t429*t390 + 0.2e1_dp/0.3e1_dp*t388*t1003*t685 + 0.2e1_dp/0.3e1_dp &
     897              :                  *t388*t1007*t7*t435 - 0.4e1_dp*t425*t165*t150 - (2._dp &
     898              :                                                                   *t394*t505) + (2._dp*t394*t508) + (2._dp*t394*t511) + &
     899            0 :                  (2._dp*t501*t398) + t147*t15*t647*t149 - t147*t397*t507
     900              :          t1347 = -t147*t397*t510 - 2._dp*t501*t402 - t147*t504*t401 &
     901              :                  + 2._dp*t1023*t933*t84*t218*t261 + t1023*t358*t1024*t435 &
     902              :                  - t147*t148*t400*t678 - 2._dp*t501*t406 - t147*t504*t405 &
     903              :                  + t1023*t358*t288*t261 + 2._dp*t1023*t80*t1079 - t147 &
     904            0 :                  *t148*t404*t1117
     905            0 :          t1352 = 0.1e1_dp/t240
     906            0 :          t1358 = t1059*t1060*t245
     907            0 :          t1362 = t414*t415*t261*t83
     908            0 :          t1365 = t414*t416*t435
     909              :          t1369 = (2._dp*t77*t1079) - (t77*t94*t1117) + f12*t1143 &
     910              :                  *t95 - (2._dp*t304*t449) - (2._dp*t447*t307) + (6._dp &
     911              :                                                                  *t92*C*t384*t435) - (2._dp*t92*t306*t1117) + (-t1258 &
     912              :                                                                 *t134*t139 - 0.7e1_dp/0.2e1_dp*t952*t491 - 0.7e1_dp/0.2e1_dp*t1263 &
     913              :                                                                    *t377 - 0.35e2_dp/0.4e1_dp*t374*t956*t1165 - 0.7e1_dp/0.2e1_dp* &
     914              :                                                                             t374*t376*(t1117))*E*t143 - (3._dp*t381*t497) - (3._dp &
     915              :                                                                                *t495*t384) + (12._dp*t142*t968*t287*t435) - (3._dp &
     916              :                                                                                *t142*t383*t1117) + (t145*(t1286 + (t1316 + t1347)* &
     917              :                                                                          t409*t411*t418 - 2._dp*t408*t1352*t411*t418 - t1056*t1358 &
     918            0 :                                                                                                          + t412*t1362 + t412*t1365))
     919            0 :          e_ndrho_rho = e_ndrho_rho + (-0.4e1_dp/0.3e1_dp*t269*t520 - t76*t1369*Clda)*sx0
     920            0 :          t1372 = t435**2
     921            0 :          t1382 = t707*t66
     922            0 :          t1388 = t566*t716
     923            0 :          t1392 = t188*t735
     924              :          t1395 = 2._dp*t887*t878 + 4._dp*t426*t430 - 4._dp*t501*t433 + t79* &
     925              :                  t70*t1382 - 2._dp*t147*t504*t432 + 2._dp*t147*t148*t1388 - &
     926            0 :                  t147*t148*t1392
     927              :          t1412 = 2._dp*t69*t89 + 4._dp*t426*t444 + t79*t70*(F2*t707* &
     928            0 :                                                             t66 - 2._dp*t440*t432 + 2._dp*t86*t1388 - t86*t1392)
     929            0 :          t1455 = dQndrho**2
     930            0 :          t1465 = t478**2
     931            0 :          t1510 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
     932              :          t1547 = 2._dp*t887*t150 + 4._dp*t501*t505 - 4._dp*t501*t508 - 4._dp*t501 &
     933              :                  *t511 + t147*t15*t707*t149 - 2._dp*t147*t504*t507 - 2._dp &
     934              :                  *t147*t504*t510 + 2._dp*t147*t148*t1018*t716 + 2._dp*t1023 &
     935              :                  *t358*t94*t261*t435 - t147*t148*t400*t735 + 2._dp*t147 &
     936            0 :                  *t148*t983*t1372 - t147*t148*t404*t1395
     937              :          t1561 = (2._dp*t77*t143*t1372) - (t77*t94*t1395) + (f12 &
     938              :                                                              *t1412*t95) - (4._dp*t447*t449) + (6._dp*t92*t824 &
     939              :                                                                                  *t1372) - (2._dp*t92*t306*t1395) + (-((t98*(t100* &
     940              :                                                                     t1412*t83 + 2._dp*t100*t446*t435 + t100*t91*t1395 + 2._dp*t103 &
     941              :                                                                      *t1372 + 2._dp*t103*t83*t1395 + 6._dp*t105*t83*t1372 + 3._dp* &
     942              :                                                                     t105*t93*t1395)*t114) - (7._dp*t463*t465) + 0.63e2_dp/0.4e1_dp &
     943              :                                                                                  *(t109)*(t857)*(t1372) - 0.7e1_dp/0.2e1_dp*(t109) &
     944              :                                                                              *(t326)*(t1395) - t330*d2Qndrhondrho*t117*t130 - t330 &
     945              :                                                                               *t1455*t117*t130 + (4._dp*t1202*t485) + (2._dp*t875* &
     946              :                                                                            t1215*t484) + 0.2e1_dp*t330*t336*t342*(t472*t480 - t355 &
     947              :                                                                                 *t345*t923*t1465/0.4e1_dp + t355*t345*t356*(t1382* &
     948              :                                                                      t71 - 2._dp*t1242*t476 + 2._dp*t933*t71*t716 - t358*t71*t735) &
     949              :                                                                    /0.2e1_dp))*t134*t139 - (7._dp*t1263*t491) - 0.35e2_dp/0.4e1_dp &
     950              :                                                                                  *(t374)*(t956)*(t1372) - 0.7e1_dp/0.2e1_dp*(t374) &
     951              :                                                                                            *(t376)*(t1395))*E*(t143) - (6._dp*t495 &
     952              :                                                                              *t497) + (12._dp*t142*t968*t1372) - (3._dp*t142*t383* &
     953              :                                                                          t1395) + (t145*(t1510 + t1547*t409*t411*t418 - 2._dp*t513 &
     954              :                                                                            *t1352*t411*t418 - t514*t1055*t1358 + t515*t1362 + t515 &
     955            0 :                                                                                                                             *t1365))
     956            0 :          e_ndrho_ndrho = e_ndrho_ndrho + (-t76*t1561*Clda)*sx0
     957              :       END IF
     958              : 
     959     76347670 :    END SUBROUTINE xwpbe_lda_calc_0
     960              : 
     961              : ! **************************************************************************************************
     962              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda
     963              : !> \param e_0 ...
     964              : !> \param e_rho ...
     965              : !> \param e_ndrho ...
     966              : !> \param e_rho_rho ...
     967              : !> \param e_ndrho_rho ...
     968              : !> \param e_ndrho_ndrho ...
     969              : !> \param rho , ndrho: density and norm of the density gradient
     970              : !> \param ndrho ...
     971              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
     972              : !> \param sx0 scaling factor
     973              : !> \param order degree of the derivative that should be evaluated,
     974              : !>        if positive all the derivatives up to the given degree are evaluated,
     975              : !>        if negative only the given degree is calculated
     976              : !> \par History
     977              : !>      05.2007 created [Manuel Guidon]
     978              : !> \author Manuel Guidon
     979              : !> \note
     980              : !>      This routine evaluates the functional for omega=0 using a taylor
     981              : !>      expansion for the parameter G.
     982              : ! **************************************************************************************************
     983       329966 :    SUBROUTINE xwpbe_lda_calc_01(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
     984              :                                 e_ndrho_ndrho, rho, ndrho, sscale, sx0, order)
     985              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
     986              :                                                             e_ndrho_rho, e_ndrho_ndrho
     987              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, sscale, sx0
     988              :       INTEGER, INTENT(IN)                                :: order
     989              : 
     990              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t100, &
     991              :          t101, t1019, t103, t104, t1051, t1056, t1062, t1066, t1069, t107, t1073, t1076, t1080, &
     992              :          t109, t1094, t1098, t11, t1101, t111, t112, t113, t114, t115, t1154, t116, t118, t1191, &
     993              :          t12, t1205, t122, t124, t125, t126, t129, t13, t130, t131, t132, t135, t136, t139, t14, &
     994              :          t140, t141, t142, t146, t149, t15, t150, t151, t153, t154, t156, t157, t158, t159, t16, &
     995              :          t165, t166, t167, t168, t169, t173, t175, t18, t181, t184, t185, t186, t188, t189, t19, &
     996              :          t190, t191, t193, t194, t197, t199, t2, t20, t202, t203, t206, t207
     997              :       REAL(KIND=dp) :: t208, t21, t211, t212, t213, t215, t216, t219, t22, t220, t224, t227, t228, &
     998              :          t229, t231, t232, t235, t238, t24, t240, t241, t244, t247, t248, t25, t250, t251, t253, &
     999              :          t254, t256, t257, t26, t260, t263, t266, t267, t270, t272, t273, t276, t277, t28, t280, &
    1000              :          t283, t288, t29, t293, t294, t297, t299, t3, t300, t301, t304, t305, t307, t308, t31, &
    1001              :          t311, t314, t315, t317, t318, t319, t32, t321, t322, t323, t325, t326, t327, t328, t329, &
    1002              :          t33, t330, t331, t332, t333, t334, t335, t34, t340, t342, t343, t346, t347, t349, t350, &
    1003              :          t352, t357, t36, t360, t361, t364, t366, t37, t371, t372, t375
    1004              :       REAL(KIND=dp) :: t376, t379, t380, t383, t385, t388, t389, t39, t392, t393, t395, t396, &
    1005              :          t398, t399, t4, t40, t401, t402, t403, t408, t410, t412, t415, t418, t419, t42, t425, &
    1006              :          t428, t430, t434, t438, t44, t441, t445, t454, t457, t458, t46, t465, t467, t47, t5, &
    1007              :          t504, t508, t509, t515, t516, t52, t520, t53, t535, t54, t543, t552, t56, t567, t574, &
    1008              :          t58, t59, t596, t6, t605, t61, t624, t63, t633, t640, t644, t65, t650, t656, t66, t67, &
    1009              :          t674, t678, t68, t681, t69, t7, t70, t71, t714, t72, t73, t74, t759, t76, t766, t77, &
    1010              :          t773, t777, t78, t79, t8, t80, t806, t81, t811, t812, t820, t828, t83, t84
    1011              :       REAL(KIND=dp) :: t847, t848, t849, t851, t852, t86, t865, t871, t874, t88, t89, t9, t902, &
    1012              :          t906, t909, t92, t93, t94, t95, t97, t98, t989
    1013              : 
    1014       329966 :       IF (order >= 0) THEN
    1015       329966 :          t1 = ndrho**2
    1016       329966 :          t2 = a1*t1
    1017       329966 :          t3 = r2**2
    1018       329966 :          t4 = 0.1e1_dp/t3
    1019       329966 :          t5 = t2*t4
    1020       329966 :          t6 = pi**2
    1021       329966 :          t7 = r3*t6
    1022       329966 :          t8 = t7*rho
    1023       329966 :          t9 = t8**(0.1e1_dp/0.3e1_dp)
    1024       329966 :          t10 = t9**2
    1025       329966 :          t11 = 0.1e1_dp/t10
    1026       329966 :          t12 = rho**2
    1027       329966 :          t13 = 0.1e1_dp/t12
    1028       329966 :          t14 = t11*t13
    1029       329966 :          t15 = sscale**2
    1030       329966 :          t16 = t14*t15
    1031       329966 :          t18 = t1**2
    1032       329966 :          t19 = a2*t18
    1033       329966 :          t20 = t3**2
    1034       329966 :          t21 = 0.1e1_dp/t20
    1035       329966 :          t22 = t19*t21
    1036       329966 :          t24 = 0.1e1_dp/t9/t8
    1037       329966 :          t25 = t12**2
    1038       329966 :          t26 = 0.1e1_dp/t25
    1039       329966 :          t28 = t15**2
    1040       329966 :          t29 = t24*t26*t28
    1041       329966 :          t31 = t5*t16 + t22*t29
    1042       329966 :          t32 = f94*t31
    1043       329966 :          t33 = a3*t18
    1044       329966 :          t34 = t33*t21
    1045       329966 :          t36 = t18*ndrho
    1046       329966 :          t37 = a4*t36
    1047       329966 :          t39 = 0.1e1_dp/t20/r2
    1048       329966 :          t40 = t37*t39
    1049       329966 :          t42 = 0.1e1_dp/t10/t8
    1050       329966 :          t44 = 0.1e1_dp/t25/rho
    1051       329966 :          t46 = t28*sscale
    1052       329966 :          t47 = t42*t44*t46
    1053       329966 :          t52 = 0.1e1_dp/t20/t3
    1054       329966 :          t53 = a5*t18*t1*t52
    1055       329966 :          t54 = r3**2
    1056       329966 :          t56 = t6**2
    1057       329966 :          t58 = 0.1e1_dp/t54/t56
    1058       329966 :          t59 = t25**2
    1059       329966 :          t61 = t28*t15
    1060       329966 :          t63 = t58/t59*t61
    1061       329966 :          t65 = r1 + t34*t29 + t40*t47 + t53*t63
    1062       329966 :          t66 = 0.1e1_dp/t65
    1063       329966 :          t67 = t66*t1
    1064       329966 :          t68 = t32*t67
    1065       329966 :          t69 = t4*t11
    1066       329966 :          t70 = t13*t15
    1067       329966 :          t71 = 0.1e1_dp/A
    1068       329966 :          t72 = t70*t71
    1069       329966 :          t73 = t69*t72
    1070       329966 :          Q = t68*t73
    1071       329966 :          t74 = rho**(0.1e1_dp/0.3e1_dp)
    1072       329966 :          t76 = t74*rho*f89
    1073       329966 :          t77 = B*f12
    1074       329966 :          t78 = t1*t4
    1075       329966 :          t79 = t78*t11
    1076       329966 :          t80 = t31*t66
    1077       329966 :          t81 = t70*t80
    1078       329966 :          t83 = t79*t81 + DD
    1079       329966 :          t84 = 0.1e1_dp/t83
    1080       329966 :          t86 = F2*t31
    1081       329966 :          t88 = F1 + t86*t66
    1082       329966 :          t89 = t70*t88
    1083       329966 :          t92 = f12*(t79*t89 + r1)
    1084       329966 :          t93 = t83**2
    1085       329966 :          t94 = 0.1e1_dp/t93
    1086       329966 :          t95 = C*t94
    1087       329966 :          t97 = g2*t1
    1088       329966 :          t98 = t97*t4
    1089       329966 :          t100 = g3*t18
    1090       329966 :          t101 = t100*t21
    1091       329966 :          t103 = g1 + t98*t16 + t101*t29
    1092       329966 :          t104 = t70*t103
    1093       329966 :          t107 = (t79*t104 + r1)*E
    1094       329966 :          t109 = 0.1e1_dp/t93/t83
    1095       329966 :          t111 = f12*A
    1096       329966 :          t112 = exei(Q)
    1097       329966 :          t113 = t78*t14
    1098       329966 :          t114 = t15*t31
    1099       329966 :          t115 = t66*t84
    1100       329966 :          t116 = t114*t115
    1101       329966 :          t118 = LOG(t113*t116)
    1102              :          t122 = (t77*t84 + t92*t95 + t107*t109 + t111*(t112 + t118)) &
    1103       329966 :                 *Clda
    1104       329966 :          e_0 = e_0 + (-t76*t122)*sx0
    1105              :       END IF
    1106       329966 :       IF (order >= 1 .OR. order == -1) THEN
    1107       322445 :          t124 = t4*t42
    1108       322445 :          t125 = t2*t124
    1109       322445 :          t126 = t70*t7
    1110       322445 :          t129 = t12*rho
    1111       322445 :          t130 = 0.1e1_dp/t129
    1112       322445 :          t131 = t11*t130
    1113       322445 :          t132 = t131*t15
    1114       322445 :          t135 = t54*t56
    1115       322445 :          t136 = t135*t12
    1116       322445 :          t139 = t21/t9/t136
    1117       322445 :          t140 = t19*t139
    1118       322445 :          t141 = t26*t28
    1119       322445 :          t142 = t141*t7
    1120       322445 :          t146 = t24*t44*t28
    1121              :          t149 = -0.2e1_dp/0.3e1_dp*t125*t126 - (2._dp*t5*t132) - 0.4e1_dp/ &
    1122       322445 :                 0.3e1_dp*t140*t142 - (4._dp*t22*t146)
    1123       322445 :          t150 = f94*t149
    1124       322445 :          t151 = t150*t67
    1125       322445 :          t153 = t65**2
    1126       322445 :          t154 = 0.1e1_dp/t153
    1127       322445 :          t156 = t154*t1*t4
    1128       322445 :          t157 = t32*t156
    1129       322445 :          t158 = t15*t71
    1130       322445 :          t159 = t33*t139
    1131       322445 :          t165 = 0.1e1_dp/t10/t136
    1132       322445 :          t166 = t39*t165
    1133       322445 :          t167 = t37*t166
    1134       322445 :          t168 = t44*t46
    1135       322445 :          t169 = t168*t7
    1136       322445 :          t173 = 0.1e1_dp/t25/t12
    1137       322445 :          t175 = t42*t173*t46
    1138       322445 :          t181 = t58/t59/rho*t61
    1139              :          t184 = -0.4e1_dp/0.3e1_dp*t159*t142 - (4._dp*t34*t146) - 0.5e1_dp &
    1140       322445 :                 /0.3e1_dp*t167*t169 - (5._dp*t40*t175) - (8._dp*t53*t181)
    1141       322445 :          t185 = t158*t184
    1142       322445 :          t186 = t14*t185
    1143       322445 :          t188 = t67*t4
    1144       322445 :          t189 = t32*t188
    1145       322445 :          t190 = t42*t13
    1146       322445 :          t191 = t190*t15
    1147       322445 :          t193 = t71*r3*t6
    1148       322445 :          t194 = t191*t193
    1149       322445 :          t197 = t130*t15
    1150       322445 :          t199 = t69*t197*t71
    1151              :          dQrho = t151*t73 - t157*t186 - 0.2e1_dp/0.3e1_dp*t189*t194 - (2._dp &
    1152       322445 :                                                                        *t68*t199)
    1153       322445 :          t202 = a1*ndrho
    1154       322445 :          t203 = t202*t4
    1155       322445 :          t206 = t1*ndrho
    1156       322445 :          t207 = a2*t206
    1157       322445 :          t208 = t207*t21
    1158       322445 :          t211 = 2._dp*t203*t16 + 4._dp*t208*t29
    1159       322445 :          t212 = f94*t211
    1160       322445 :          t213 = t212*t67
    1161       322445 :          t215 = a3*t206
    1162       322445 :          t216 = t215*t21
    1163       322445 :          t219 = a4*t18
    1164       322445 :          t220 = t219*t39
    1165       322445 :          t224 = a5*t36*t52
    1166       322445 :          t227 = 4._dp*t216*t29 + 5._dp*t220*t47 + 6._dp*t224*t63
    1167       322445 :          t228 = t158*t227
    1168       322445 :          t229 = t14*t228
    1169       322445 :          t231 = t66*ndrho
    1170       322445 :          t232 = t32*t231
    1171       322445 :          dQndrho = t213*t73 - t157*t229 + 2._dp*t232*t73
    1172       322445 :          t235 = t74*f89
    1173       322445 :          t238 = t78*t190
    1174       322445 :          t240 = t66*r3*t6
    1175       322445 :          t241 = t114*t240
    1176       322445 :          t244 = t197*t80
    1177       322445 :          t247 = t149*t66
    1178       322445 :          t248 = t70*t247
    1179       322445 :          t250 = t154*t184
    1180       322445 :          t251 = t114*t250
    1181              :          t253 = -0.2e1_dp/0.3e1_dp*t238*t241 - (2._dp*t79*t244) + (t79 &
    1182       322445 :                                                                    *t248) - t113*t251
    1183       322445 :          t254 = t94*t253
    1184       322445 :          t256 = t15*t88
    1185       322445 :          t257 = t256*t7
    1186       322445 :          t260 = t197*t88
    1187       322445 :          t263 = F2*t149
    1188       322445 :          t266 = t263*t66 - t86*t250
    1189       322445 :          t267 = t70*t266
    1190              :          t270 = f12*(-0.2e1_dp/0.3e1_dp*t238*t257 - (2._dp*t79*t260) + &
    1191       322445 :                      (t79*t267))
    1192       322445 :          t272 = C*t109
    1193       322445 :          t273 = t272*t253
    1194       322445 :          t276 = t15*t103
    1195       322445 :          t277 = t276*t7
    1196       322445 :          t280 = t197*t103
    1197       322445 :          t283 = t97*t124
    1198       322445 :          t288 = t100*t139
    1199              :          t293 = -0.2e1_dp/0.3e1_dp*t283*t126 - (2._dp*t98*t132) - 0.4e1_dp &
    1200       322445 :                 /0.3e1_dp*t288*t142 - (4._dp*t101*t146)
    1201       322445 :          t294 = t70*t293
    1202              :          t297 = (-0.2e1_dp/0.3e1_dp*t238*t277 - (2._dp*t79*t280) + (t79 &
    1203       322445 :                                                                     *t294))*E
    1204       322445 :          t299 = t93**2
    1205       322445 :          t300 = 0.1e1_dp/t299
    1206       322445 :          t301 = t300*t253
    1207       322445 :          t304 = dexeirho(Q, dQrho)
    1208       322445 :          t305 = t78*t191
    1209       322445 :          t307 = t84*r3*t6
    1210       322445 :          t308 = t80*t307
    1211       322445 :          t311 = t78*t131
    1212       322445 :          t314 = t15*t149
    1213       322445 :          t315 = t314*t115
    1214       322445 :          t317 = t154*t84
    1215       322445 :          t318 = t317*t184
    1216       322445 :          t319 = t114*t318
    1217       322445 :          t321 = t66*t94
    1218       322445 :          t322 = t321*t253
    1219       322445 :          t323 = t114*t322
    1220              :          t325 = -0.2e1_dp/0.3e1_dp*t305*t308 - (2._dp*t311*t116) + t113 &
    1221       322445 :                 *t315 - t113*t319 - t113*t323
    1222       322445 :          t326 = 0.1e1_dp/t1
    1223       322445 :          t327 = t325*t326
    1224       322445 :          t328 = t3*t10
    1225       322445 :          t329 = t327*t328
    1226       322445 :          t330 = 0.1e1_dp/t15
    1227       322445 :          t331 = t12*t330
    1228       322445 :          t332 = 0.1e1_dp/t31
    1229       322445 :          t333 = t332*t65
    1230       322445 :          t334 = t333*t83
    1231       322445 :          t335 = t331*t334
    1232              :          t340 = (-t77*t254 + t270*t95 - 2._dp*t92*t273 + t297*t109 - 3._dp &
    1233       322445 :                  *t107*t301 + t111*(t304 + t329*t335))*Clda
    1234       322445 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t235*t122 - t76*t340)*sx0
    1235       322445 :          t342 = ndrho*t4
    1236       322445 :          t343 = t342*t11
    1237       322445 :          t346 = t211*t66
    1238       322445 :          t347 = t70*t346
    1239       322445 :          t349 = t154*t227
    1240       322445 :          t350 = t114*t349
    1241       322445 :          t352 = 2._dp*t343*t81 + t79*t347 - t113*t350
    1242       322445 :          t357 = F2*t211
    1243       322445 :          t360 = t357*t66 - t86*t349
    1244       322445 :          t361 = t70*t360
    1245       322445 :          t364 = f12*(2._dp*t343*t89 + t79*t361)
    1246       322445 :          t366 = t272*t352
    1247       322445 :          t371 = g2*ndrho
    1248       322445 :          t372 = t371*t4
    1249       322445 :          t375 = g3*t206
    1250       322445 :          t376 = t375*t21
    1251       322445 :          t379 = 2._dp*t372*t16 + 4._dp*t376*t29
    1252       322445 :          t380 = t70*t379
    1253       322445 :          t383 = (2._dp*t343*t104 + t79*t380)*E
    1254       322445 :          t385 = t300*t352
    1255       322445 :          t388 = dexeindrho(Q, dQndrho)
    1256       322445 :          t389 = t342*t14
    1257       322445 :          t392 = t15*t211
    1258       322445 :          t393 = t392*t115
    1259       322445 :          t395 = t317*t227
    1260       322445 :          t396 = t114*t395
    1261       322445 :          t398 = t321*t352
    1262       322445 :          t399 = t114*t398
    1263       322445 :          t401 = 2._dp*t389*t116 + t113*t393 - t113*t396 - t113*t399
    1264       322445 :          t402 = t401*t326
    1265       322445 :          t403 = t402*t328
    1266              :          t408 = (-t77*t94*t352 + t364*t95 - 2._dp*t92*t366 + t383*t109 &
    1267       322445 :                  - 3._dp*t107*t385 + t111*(t388 + t403*t335))*Clda
    1268       322445 :          e_ndrho = e_ndrho + (-t76*t408)*sx0
    1269              :       END IF
    1270       329966 :       IF (order >= 2 .OR. order == -2) THEN
    1271            0 :          t410 = t4*t165
    1272            0 :          t412 = t70*t135
    1273            0 :          t415 = t197*t7
    1274            0 :          t418 = t11*t26
    1275            0 :          t419 = t418*t15
    1276            0 :          t425 = t54*r3*t56*t6*t129
    1277            0 :          t428 = t21/t9/t425
    1278            0 :          t430 = t141*t135
    1279            0 :          t434 = t44*t28*t7
    1280            0 :          t438 = t24*t173*t28
    1281              :          t441 = 0.10e2_dp/0.9e1_dp*t2*t410*t412 + 0.8e1_dp/0.3e1_dp*t125*t415 &
    1282              :                 + (6._dp*t5*t419) + 0.28e2_dp/0.9e1_dp*t19*t428*t430 + 0.32e2_dp &
    1283            0 :                 /0.3e1_dp*t140*t434 + (20._dp*t22*t438)
    1284            0 :          t445 = t150*t156
    1285            0 :          t454 = 0.1e1_dp/t153/t65
    1286            0 :          t457 = t32*t454*t1*t4
    1287            0 :          t458 = t184**2
    1288            0 :          t465 = t32*t154*t78*t42
    1289            0 :          t467 = t184*r3*t6
    1290              :          t504 = 0.28e2_dp/0.9e1_dp*t33*t428*t430 + 0.32e2_dp/0.3e1_dp*t159* &
    1291              :                 t434 + (20._dp*t34*t438) + 0.40e2_dp/0.9e1_dp*t37*t39/t10/ &
    1292              :                 t425*t168*t135 + 0.50e2_dp/0.3e1_dp*t167*t173*t46*t7 + 0.30e2_dp &
    1293              :                 *t40*t42/t25/t129*t46 + (72._dp*t53*t58/t59/ &
    1294            0 :                                          t12*t61)
    1295            0 :          t508 = t165*t13
    1296            0 :          t509 = t508*t15
    1297            0 :          t515 = t42*t130
    1298            0 :          t516 = t515*t15
    1299            0 :          t520 = t26*t15
    1300              :          d2Qrhorho = f94*t441*t67*t73 - (2._dp*t445*t186) - 0.4e1_dp/0.3e1_dp &
    1301              :                      *t150*t188*t194 - (4._dp*t151*t199) + (2._dp*t457*t14 &
    1302              :                                                             *t158*t458) + 0.4e1_dp/0.3e1_dp*t465*t72*t467 + (4._dp*t157 &
    1303              :                                                                            *t131*t185) - (t157*t14*t158*t504) + 0.10e2_dp/0.9e1_dp &
    1304              :                      *t189*t509*t71*t54*t56 + 0.8e1_dp/0.3e1_dp*t189*t516* &
    1305            0 :                      t193 + 0.6e1_dp*t68*t69*t520*t71
    1306              :          t535 = -0.4e1_dp/0.3e1_dp*t202*t124*t126 - (4._dp*t203*t132) &
    1307            0 :                 - 0.16e2_dp/0.3e1_dp*t207*t139*t142 - (16._dp*t208*t146)
    1308            0 :          t543 = t212*t156
    1309            0 :          t552 = t32*t154*ndrho*t4
    1310              :          t567 = -0.16e2_dp/0.3e1_dp*t215*t139*t142 - (16._dp*t216*t146) &
    1311              :                 - 0.25e2_dp/0.3e1_dp*t219*t166*t169 - (25._dp*t220*t175) - &
    1312            0 :                 (48._dp*t224*t181)
    1313            0 :          t574 = t7*t227
    1314              :          d2Qrhondrho = (f94*t535*t67*t73) - t445*t229 + (2._dp*t150* &
    1315              :                                                          t231*t73) - (t543*t186) + (2._dp*t457*t16*t71*t184 &
    1316              :                                                                                  *t227) - (2._dp*t552*t186) - (t157*t14*t158*t567) &
    1317              :                        - 0.2e1_dp/0.3e1_dp*t212*t188*t194 + 0.2e1_dp/0.3e1_dp*t465*t72 &
    1318              :                        *t574 - 0.4e1_dp/0.3e1_dp*t32*(t231)*t4*t194 - (2._dp*t213 &
    1319            0 :                                                                        *t199) + (2._dp*t157*t131*t228) - (4._dp*t232*t199)
    1320            0 :          t596 = 2._dp*a1*t4*t16 + 12._dp*a2*t1*t21*t29
    1321            0 :          t605 = t227**2
    1322              :          t624 = 12._dp*a3*t1*t21*t29 + 20._dp*a4*t206*t39*t47 + 30._dp* &
    1323            0 :                 a5*t18*t52*t63
    1324              :          d2Qndrhondrho = f94*t596*t67*t73 - 2._dp*t543*t229 + 4._dp*t212*t231* &
    1325              :                          t73 + 2._dp*t457*t14*t158*t605 - 4._dp*t552*t229 - t157*t14 &
    1326            0 :                          *t158*t624 + 2._dp*t32*t66*t4*t14*t158
    1327            0 :          t633 = t74**2
    1328            0 :          t640 = t253**2
    1329            0 :          t644 = t78*t508
    1330            0 :          t650 = t78*t515
    1331            0 :          t656 = t31*t154
    1332            0 :          t674 = t454*t458
    1333            0 :          t678 = t154*t504
    1334              :          t681 = 0.10e2_dp/0.9e1_dp*t644*t114*t66*t54*t56 + 0.8e1_dp/0.3e1_dp &
    1335              :                 *t650*t241 - 0.4e1_dp/0.3e1_dp*t238*t314*t240 + 0.4e1_dp/0.3e1_dp &
    1336              :                 *t305*t656*t467 + (6._dp*t79*t520*t80) - (4._dp*t79 &
    1337              :                                                           *t197*t247) + (4._dp*t311*t251) + (t79)*t70*t441 &
    1338              :                 *t66 - 0.2e1_dp*t113*t314*t250 + 0.2e1_dp*t113*t114*t674 - &
    1339            0 :                 t113*t114*t678
    1340            0 :          t714 = C*t300
    1341            0 :          t759 = 0.1e1_dp/t299/t83
    1342            0 :          t766 = d2exeirhorho(Q, dQrho, d2Qrhorho)
    1343            0 :          t773 = t656*t84
    1344            0 :          t777 = t80*t94
    1345            0 :          t806 = t454*t84
    1346            0 :          t811 = t78*t16
    1347            0 :          t812 = t94*t184
    1348            0 :          t820 = t66*t109
    1349              :          t828 = 0.8e1_dp/0.3e1_dp*t78*t516*t308 - 0.4e1_dp/0.3e1_dp*t305*t247 &
    1350              :                 *t307 + 0.4e1_dp/0.3e1_dp*t305*t773*t467 + 0.4e1_dp/0.3e1_dp* &
    1351              :                 t305*t777*t7*t253 + 0.10e2_dp/0.9e1_dp*t78*t509*t80*t84 &
    1352              :                 *t54*t56 + 0.6e1_dp*t78*t418*t116 - (4._dp*t311*t315) + &
    1353              :                 (4._dp*t311*t319) + (4._dp*t311*t323) + (t113*t15* &
    1354              :                                                          t441*t115) - (2._dp*t113*t314*t318) - (2._dp*t113*t314 &
    1355              :                                                                          *t322) + (2._dp*t113*t114*t806*t458) + 0.2e1_dp*t811*t656 &
    1356              :                 *t812*t253 - (t113*t114*t317*t504) + (2._dp*t113 &
    1357            0 :                                                       *t114*t820*t640) - (t113*t114*t321*t681)
    1358            0 :          t847 = t328*t12
    1359            0 :          t848 = t327*t847
    1360            0 :          t849 = t31**2
    1361            0 :          t851 = t330/t849
    1362            0 :          t852 = t65*t83
    1363              :          t865 = (2._dp*t77*t109*t640) - (t77*t94*t681) + f12* &
    1364              :                 (0.10e2_dp/0.9e1_dp*t644*t256*t135 + 0.8e1_dp/0.3e1_dp*t650*t257 &
    1365              :                  - 0.4e1_dp/0.3e1_dp*t238*t15*t266*t7 + (6._dp*t79*t520* &
    1366              :                                                          t88) - 0.4e1_dp*(t79)*t197*t266 + (t79*t70*(F2*t441 &
    1367              :                                                                          *t66 - 2._dp*t263*t250 + 2._dp*t86*t674 - t86*t678)))*t95 &
    1368              :                 - (4._dp*t270*t273) + (6._dp*t92*t714*t640) - (2._dp* &
    1369              :                                                                t92*t272*t681) + (0.10e2_dp/0.9e1_dp*t644*t276*t135 + 0.8e1_dp &
    1370              :                                                                  /0.3e1_dp*t650*t277 - 0.4e1_dp/0.3e1_dp*t238*t15*t293*t7 + (6._dp &
    1371              :                                                                                 *t79*t520*t103) - 0.4e1_dp*(t79)*t197*t293 + (t79) &
    1372              :                                                                               *(t70)*(0.10e2_dp/0.9e1_dp*t97*t410*t412 + 0.8e1_dp/ &
    1373              :                                                                    0.3e1_dp*t283*t415 + (6._dp*t98*t419) + 0.28e2_dp/0.9e1_dp*t100 &
    1374              :                                                                          *t428*t430 + 0.32e2_dp/0.3e1_dp*t288*t434 + (20._dp*t101* &
    1375              :                                                                                t438)))*E*(t109) - (6._dp*t297*t301) + (12._dp*t107 &
    1376              :                                                                           *t759*t640) - (3._dp*t107*t300*t681) + t111*(t766 + t828 &
    1377              :                                                                            *t326*t328*t335 + 0.2e1_dp/0.3e1_dp*t327*t3/t9*t12*t330 &
    1378              :                                                                                  *t332*t65*t83*r3*t6 + 0.2e1_dp*t329*rho*t330*t334 &
    1379              :                                                                             - t848*t851*t852*t149 + t329*t331*t332*t184*t83 + t329 &
    1380            0 :                                                                                                                     *t331*t333*t253)
    1381              :          e_rho_rho = e_rho_rho + (-0.4e1_dp/0.9e1_dp/t633*f89*t122 - 0.8e1_dp/0.3e1_dp*t235*t340 &
    1382            0 :                                   - t76*t865*Clda)*sx0
    1383            0 :          t871 = t109*t253*t352
    1384            0 :          t874 = t342*t190
    1385            0 :          t902 = t454*t184*t227
    1386            0 :          t906 = t154*t567
    1387              :          t909 = -0.4e1_dp/0.3e1_dp*t874*t241 - 0.2e1_dp/0.3e1_dp*t238*t392* &
    1388              :                 t240 + 0.2e1_dp/0.3e1_dp*t305*t656*t574 - (4._dp*t343*t244) &
    1389              :                 - (2._dp*t79*t197*t346) + (2._dp*t311*t350) + (2._dp* &
    1390              :                                                                t343*t248) + (t79*t70*t535*t66) - t113*t314*t349 - &
    1391              :                 (2._dp*t389*t251) - t113*t392*t250 + 0.2e1_dp*t113*t114 &
    1392            0 :                 *t902 - t113*t114*t906
    1393            0 :          t989 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    1394              :          t1019 = -0.4e1_dp/0.3e1_dp*t342*t191*t308 - 0.2e1_dp/0.3e1_dp*t305 &
    1395              :                  *t346*t307 + 0.2e1_dp/0.3e1_dp*t305*t773*t574 + 0.2e1_dp/0.3e1_dp &
    1396              :                  *t305*t777*t7*t352 - 0.4e1_dp*t342*t131*t116 - (2._dp* &
    1397              :                                                                  t311*t393) + (2._dp*t311*t396) + (2._dp*t311*t399) + (2._dp &
    1398            0 :                                                                                    *t389*t315) + t113*t15*t535*t115 - t113*t314*t395
    1399              :          t1051 = -t113*t314*t398 - 2._dp*t389*t319 - t113*t392*t318 &
    1400              :                  + 2._dp*t811*t31*t454*t84*t184*t227 + t811*t656*t812* &
    1401              :                  t352 - t113*t114*t317*t567 - 2._dp*t389*t323 - t113*t392 &
    1402              :                  *t322 + t811*t656*t254*t227 + 2._dp*t811*t80*t871 - t113 &
    1403            0 :                  *t114*t321*t909
    1404            0 :          t1056 = 0.1e1_dp/t206
    1405            0 :          t1062 = t851*t852*t211
    1406            0 :          t1066 = t331*t332*t227*t83
    1407            0 :          t1069 = t331*t333*t352
    1408              :          t1073 = (2._dp*t77*t871) - (t77*t94*t909) + f12*(-0.4e1_dp &
    1409              :                                                           /0.3e1_dp*t874*t257 - 0.2e1_dp/0.3e1_dp*t238*t15*t360*t7 &
    1410              :                                                           - (4._dp*t343*t260) - 0.2e1_dp*t79*t197*t360 + (2._dp*t343 &
    1411              :                                                                                   *t267) + t79*t70*(F2*t535*t66 - t263*t349 - t357 &
    1412              :                                                                        *t250 + 2._dp*t86*t902 - t86*t906))*t95 - (2._dp*t270*t366) &
    1413              :                  - (2._dp*t364*t273) + (6._dp*t92*C*t301*t352) - (2._dp &
    1414              :                                                                   *t92*t272*t909) + (-0.4e1_dp/0.3e1_dp*t874*t277 - 0.2e1_dp/ &
    1415              :                                                                          0.3e1_dp*t238*t15*t379*t7 - (4._dp*t343*t280) - 0.2e1_dp* &
    1416              :                                                                            t79*t197*t379 + (2._dp*t343*t294) + t79*t70*(-0.4e1_dp/ &
    1417              :                                                                   0.3e1_dp*t371*t124*t126 - (4._dp*t372*t132) - 0.16e2_dp/0.3e1_dp &
    1418              :                                                                             *t375*t139*t142 - (16._dp*t376*t146)))*E*t109 - (3._dp &
    1419              :                                                                                *t297*t385) - (3._dp*t383*t301) + (12._dp*t107*t759 &
    1420              :                                                                                 *t253*t352) - (3._dp*t107*t300*t909) + (t111*(t989 &
    1421              :                                                                           + (t1019 + t1051)*t326*t328*t335 - 2._dp*t325*t1056*t328 &
    1422            0 :                                                                                       *t335 - t848*t1062 + t329*t1066 + t329*t1069))
    1423            0 :          e_ndrho_rho = e_ndrho_rho + (-0.4e1_dp/0.3e1_dp*t235*t408 - t76*t1073*Clda)*sx0
    1424            0 :          t1076 = t352**2
    1425            0 :          t1080 = t69*t13
    1426            0 :          t1094 = t454*t605
    1427            0 :          t1098 = t154*t624
    1428              :          t1101 = 2._dp*t1080*t114*t66 + 4._dp*t343*t347 - 4._dp*t389*t350 &
    1429              :                  + t79*t70*t596*t66 - 2._dp*t113*t392*t349 + 2._dp*t113*t114 &
    1430            0 :                  *t1094 - t113*t114*t1098
    1431            0 :          t1154 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    1432              :          t1191 = 2._dp*t1080*t116 + 4._dp*t389*t393 - 4._dp*t389*t396 - 4._dp* &
    1433              :                  t389*t399 + t113*t15*t596*t115 - 2._dp*t113*t392*t395 - &
    1434              :                  2._dp*t113*t392*t398 + 2._dp*t113*t114*t806*t605 + 2._dp*t811 &
    1435              :                  *t656*t94*t227*t352 - t113*t114*t317*t624 + 2._dp*t113 &
    1436            0 :                  *t114*t820*t1076 - t113*t114*t321*t1101
    1437              :          t1205 = 2._dp*t77*t109*t1076 - t77*t94*t1101 + f12*(2._dp*t69 &
    1438              :                                                              *t89 + 4._dp*t343*t361 + t79*t70*(F2*t596*t66 - 2._dp*t357 &
    1439              :                                                                        *t349 + 2._dp*t86*t1094 - t86*t1098))*t95 - 4._dp*t364*t366 &
    1440              :                  + 6._dp*t92*t714*t1076 - 2._dp*t92*t272*t1101 + (2._dp*t69*t104 &
    1441              :                                                                   + 4._dp*t343*t380 + t79*t70*(2._dp*g2*t4*t16 + 12._dp*g3*t1 &
    1442              :                                                                            *t21*t29))*E*t109 - 6._dp*t383*t385 + 12._dp*t107*t759* &
    1443              :                  t1076 - 3._dp*t107*t300*t1101 + t111*(t1154 + t1191*t326*t328 &
    1444              :                                                        *t335 - 2._dp*t401*t1056*t328*t335 - t402*t847*t1062 &
    1445            0 :                                                        + t403*t1066 + t403*t1069)
    1446            0 :          e_ndrho_ndrho = e_ndrho_ndrho + (-t76*t1205*Clda)*sx0
    1447              :       END IF
    1448              : 
    1449       329966 :    END SUBROUTINE xwpbe_lda_calc_01
    1450              : 
    1451              : ! **************************************************************************************************
    1452              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda.
    1453              : !> \param e_0 ...
    1454              : !> \param e_rho ...
    1455              : !> \param e_ndrho ...
    1456              : !> \param e_rho_rho ...
    1457              : !> \param e_ndrho_rho ...
    1458              : !> \param e_ndrho_ndrho ...
    1459              : !> \param rho , ndrho: density and norm of the density gradient
    1460              : !> \param ndrho ...
    1461              : !> \param omega scaling factor
    1462              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
    1463              : !> \param sx scaling factor
    1464              : !> \param order degree of the derivative that should be evaluated,
    1465              : !>        if positive all the derivatives up to the given degree are evaluated,
    1466              : !>        if negative only the given degree is calculated
    1467              : !> \par History
    1468              : !>      05.2007 created [Manuel Guidon]
    1469              : !> \author Manuel Guidon
    1470              : !> \note
    1471              : !>      This routine evaluates the exact functional for omega!=0.
    1472              : ! **************************************************************************************************
    1473     25797052 :    SUBROUTINE xwpbe_lda_calc_1(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
    1474              :                                e_ndrho_ndrho, rho, ndrho, omega, sscale, sx, order)
    1475              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
    1476              :                                                             e_ndrho_rho, e_ndrho_ndrho
    1477              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, omega, sscale, sx
    1478              :       INTEGER, INTENT(IN)                                :: order
    1479              : 
    1480              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t1001, &
    1481              :          t1009, t1011, t102, t1024, t1035, t104, t105, t1052, t1066, t1068, t1069, t1071, t1072, &
    1482              :          t1077, t1078, t1079, t108, t1081, t1082, t1085, t1086, t1087, t109, t1090, t1091, t1094, &
    1483              :          t1097, t1098, t11, t110, t1100, t111, t1113, t1115, t1119, t1123, t1126, t1127, t1129, &
    1484              :          t113, t1132, t1134, t1135, t1136, t1139, t115, t116, t1168, t1169, t117, t1171, t1173, &
    1485              :          t1176, t1178, t118, t1181, t1185, t119, t12, t120, t1208, t1209, t121, t1214, t1220, &
    1486              :          t123, t1236, t1237, t124, t1240, t1242, t1243, t125, t1257, t1258
    1487              :       REAL(KIND=dp) :: t126, t1264, t1265, t127, t128, t1281, t1282, t1285, t1287, t129, t1294, &
    1488              :          t1297, t13, t1301, t1304, t1305, t1306, t1309, t131, t1310, t1317, t1318, t132, t1324, &
    1489              :          t1325, t1326, t133, t1355, t136, t1379, t1381, t1382, t1392, t14, t140, t1402, t1409, &
    1490              :          t141, t142, t1433, t1437, t144, t1442, t1445, t145, t1456, t1457, t147, t1473, t1478, &
    1491              :          t1479, t148, t149, t1491, t1492, t1498, t15, t150, t1501, t151, t152, t1520, t1524, t153, &
    1492              :          t1531, t1535, t154, t1543, t1546, t1547, t1548, t155, t1551, t1555, t1559, t156, t1562, &
    1493              :          t1563, t1564, t1568, t157, t1572, t1573, t1579, t158, t1580, t159
    1494              :       REAL(KIND=dp) :: t1592, t1599, t16, t1602, t1609, t1615, t162, t1624, t1625, t163, t1633, &
    1495              :          t1649, t1658, t166, t1663, t167, t1677, t168, t1680, t1681, t1682, t1686, t169, t1693, &
    1496              :          t1697, t17, t170, t1709, t1710, t1714, t1722, t1723, t1726, t1729, t1731, t174, t1740, &
    1497              :          t176, t1767, t1768, t177, t1770, t1781, t1786, t1791, t18, t180, t1802, t1804, t1805, &
    1498              :          t181, t1816, t1827, t1835, t1839, t1846, t185, t1853, t1854, t186, t1860, t1868, t1880, &
    1499              :          t1881, t1885, t189, t1898, t19, t190, t1906, t1907, t192, t1923, t193, t1932, t1938, &
    1500              :          t194, t195, t1951, t1956, t1961, t1967, t197, t1977, t198, t1983, t1984
    1501              :       REAL(KIND=dp) :: t1988, t199, t1995, t2, t200, t202, t2028, t205, t2059, t2072, t2073, t209, &
    1502              :          t2099, t21, t210, t2108, t213, t214, t2142, t2144, t2150, t2173, t2184, t219, t2197, t22, &
    1503              :          t221, t222, t2224, t223, t224, t2240, t2245, t2254, t2258, t2267, t2269, t227, t2271, &
    1504              :          t2274, t228, t2280, t2282, t2285, t2291, t2297, t23, t2305, t2311, t2316, t2323, t2329, &
    1505              :          t233, t2348, t2363, t237, t2371, t2379, t239, t24, t2401, t2405, t241, t2410, t243, &
    1506              :          t2437, t2442, t2449, t2452, t2455, t2457, t246, t247, t2473, t2484, t2499, t25, t250, &
    1507              :          t251, t2512, t252, t2529, t253, t2543, t255, t256, t257, t2573, t258
    1508              :       REAL(KIND=dp) :: t263, t264, t265, t267, t2688, t27, t270, t2707, t271, t2715, t273, t275, &
    1509              :          t276, t2764, t2774, t28, t280, t2808, t2810, t2838, t284, t2841, t2844, t2846, t285, &
    1510              :          t286, t2875, t288, t2880, t2884, t289, t29, t290, t2927, t293, t294, t295, t2963, t2971, &
    1511              :          t2975, t2979, t298, t2994, t3, t3001, t303, t3033, t305, t307, t31, t310, t311, t312, &
    1512              :          t313, t3139, t315, t316, t3167, t318, t319, t32, t321, t326, t329, t330, t332, t333, &
    1513              :          t335, t336, t338, t339, t34, t340, t342, t343, t345, t346, t347, t348, t349, t35, t351, &
    1514              :          t352, t353, t354, t357, t358, t36, t361, t362, t363, t364, t368, t371
    1515              :       REAL(KIND=dp) :: t372, t373, t374, t375, t376, t377, t378, t38, t383, t384, t385, t386, t39, &
    1516              :          t390, t392, t398, t4, t401, t402, t403, t404, t406, t409, t41, t411, t412, t415, t416, &
    1517              :          t419, t42, t420, t421, t424, t425, t426, t428, t429, t432, t433, t437, t44, t440, t441, &
    1518              :          t442, t444, t446, t449, t452, t453, t454, t457, t46, t461, t463, t465, t468, t469, t472, &
    1519              :          t475, t478, t479, t48, t481, t486, t49, t493, t495, t498, t499, t5, t502, t503, t504, &
    1520              :          t507, t508, t509, t510, t511, t513, t514, t515, t517, t518, t522, t525, t529, t530, t531, &
    1521              :          t532, t533, t534, t535, t537, t538, t539, t54, t540, t542, t55
    1522              :       REAL(KIND=dp) :: t550, t551, t552, t553, t554, t556, t557, t558, t56, t562, t563, t567, &
    1523              :          t569, t571, t572, t575, t576, t577, t578, t58, t581, t582, t583, t587, t588, t589, t592, &
    1524              :          t596, t597, t6, t60, t602, t603, t608, t61, t613, t617, t620, t621, t624, t626, t629, &
    1525              :          t63, t631, t634, t638, t639, t644, t645, t65, t653, t655, t656, t657, t658, t659, t663, &
    1526              :          t666, t669, t67, t673, t679, t68, t681, t685, t689, t69, t690, t691, t697, t698, t7, t70, &
    1527              :          t701, t71, t711, t713, t717, t718, t72, t721, t728, t73, t735, t736, t739, t74, t740, &
    1528              :          t746, t747, t748, t75, t752, t753, t754, t755, t759, t761, t763, t765
    1529              :       REAL(KIND=dp) :: t769, t77, t771, t772, t779, t78, t780, t781, t783, t784, t787, t791, t792, &
    1530              :          t799, t8, t80, t800, t801, t803, t804, t808, t81, t810, t812, t815, t816, t817, t82, &
    1531              :          t820, t823, t826, t83, t832, t834, t836, t84, t842, t845, t846, t848, t849, t85, t851, &
    1532              :          t865, t867, t87, t870, t871, t873, t874, t876, t877, t88, t880, t884, t885, t888, t889, &
    1533              :          t891, t892, t893, t897, t898, t9, t90, t902, t904, t907, t908, t909, t91, t910, t916, &
    1534              :          t918, t919, t92, t93, t930, t932, t933, t937, t94, t942, t945, t95, t951, t954, t958, &
    1535              :          t96, t962, t965, t968, t97, t971, t972, t979, t982, t988, t99
    1536              : 
    1537     25797052 :       IF (order >= 0) THEN
    1538     25797052 :          t1 = ndrho**2
    1539     25797052 :          t2 = r2**2
    1540     25797052 :          t3 = 0.1e1_dp/t2
    1541     25797052 :          t4 = t1*t3
    1542     25797052 :          t5 = pi**2
    1543     25797052 :          t6 = r3*t5
    1544     25797052 :          t7 = t6*rho
    1545     25797052 :          t8 = t7**(0.1e1_dp/0.3e1_dp)
    1546     25797052 :          t9 = t8**2
    1547     25797052 :          t10 = 0.1e1_dp/t9
    1548     25797052 :          t11 = t4*t10
    1549     25797052 :          t12 = rho**2
    1550     25797052 :          t13 = 0.1e1_dp/t12
    1551     25797052 :          t14 = sscale**2
    1552     25797052 :          t15 = t13*t14
    1553     25797052 :          t16 = a1*t1
    1554     25797052 :          t17 = t16*t3
    1555     25797052 :          t18 = t10*t13
    1556     25797052 :          t19 = t18*t14
    1557     25797052 :          t21 = t1**2
    1558     25797052 :          t22 = a2*t21
    1559     25797052 :          t23 = t2**2
    1560     25797052 :          t24 = 0.1e1_dp/t23
    1561     25797052 :          t25 = t22*t24
    1562     25797052 :          t27 = 0.1e1_dp/t8/t7
    1563     25797052 :          t28 = t12**2
    1564     25797052 :          t29 = 0.1e1_dp/t28
    1565     25797052 :          t31 = t14**2
    1566     25797052 :          t32 = t27*t29*t31
    1567     25797052 :          t34 = t17*t19 + t25*t32
    1568     25797052 :          t35 = a3*t21
    1569     25797052 :          t36 = t35*t24
    1570     25797052 :          t38 = t21*ndrho
    1571     25797052 :          t39 = a4*t38
    1572     25797052 :          t41 = 0.1e1_dp/t23/r2
    1573     25797052 :          t42 = t39*t41
    1574     25797052 :          t44 = 0.1e1_dp/t9/t7
    1575     25797052 :          t46 = 0.1e1_dp/t28/rho
    1576     25797052 :          t48 = t31*sscale
    1577     25797052 :          t49 = t44*t46*t48
    1578     25797052 :          t54 = 0.1e1_dp/t23/t2
    1579     25797052 :          t55 = a5*t21*t1*t54
    1580     25797052 :          t56 = r3**2
    1581     25797052 :          t58 = t5**2
    1582     25797052 :          t60 = 0.1e1_dp/t56/t58
    1583     25797052 :          t61 = t28**2
    1584     25797052 :          t63 = t31*t14
    1585     25797052 :          t65 = t60/t61*t63
    1586     25797052 :          t67 = r1 + t36*t32 + t42*t49 + t55*t65
    1587     25797052 :          t68 = 0.1e1_dp/t67
    1588     25797052 :          t69 = t34*t68
    1589     25797052 :          t70 = t15*t69
    1590     25797052 :          t71 = t11*t70
    1591     25797052 :          t72 = omega**2
    1592     25797052 :          t73 = beta*t72
    1593     25797052 :          t74 = t73*t10
    1594     25797052 :          t75 = t71 + t74
    1595     25797052 :          t77 = 0.1e1_dp/A
    1596     25797052 :          Q = f94*t75*t77
    1597     25797052 :          t78 = rho**(0.1e1_dp/0.3e1_dp)
    1598     25797052 :          t80 = t78*rho*f89
    1599     25797052 :          t81 = B*f12
    1600     25797052 :          t82 = t71 + DD
    1601     25797052 :          t83 = 0.1e1_dp/t82
    1602     25797052 :          t84 = t81*t83
    1603     25797052 :          t85 = F2*t34
    1604     25797052 :          t87 = F1 + t85*t68
    1605     25797052 :          t88 = t15*t87
    1606     25797052 :          t90 = t11*t88 + r1
    1607     25797052 :          t91 = f12*t90
    1608     25797052 :          t92 = t82**2
    1609     25797052 :          t93 = 0.1e1_dp/t92
    1610     25797052 :          t94 = C*t93
    1611     25797052 :          t95 = t91*t94
    1612     25797052 :          t96 = f34*pi
    1613     25797052 :          t97 = rootpi
    1614     25797052 :          t99 = r6*C
    1615     25797052 :          t102 = r4*B
    1616     25797052 :          t104 = r8*A
    1617     25797052 :          t105 = t92*t82
    1618     25797052 :          t108 = t97*(r15*E + t99*t90*t82 + t102*t92 + t104*t105)
    1619     25797052 :          t109 = 0.1e1_dp/r16
    1620     25797052 :          t110 = SQRT(t82)
    1621     25797052 :          t111 = t110*t105
    1622     25797052 :          t113 = t109/t111
    1623     25797052 :          t115 = SQRT(A)
    1624     25797052 :          t116 = f94*t34
    1625     25797052 :          t117 = t68*t1
    1626     25797052 :          t118 = t116*t117
    1627     25797052 :          t119 = t3*t10
    1628     25797052 :          t120 = t15*t77
    1629     25797052 :          t121 = t119*t120
    1630     25797052 :          t123 = EXP(t118*t121)
    1631     25797052 :          t124 = t115*t123
    1632     25797052 :          t125 = f32*ndrho
    1633     25797052 :          t126 = 0.1e1_dp/r2
    1634     25797052 :          t127 = t125*t126
    1635     25797052 :          t128 = 0.1e1_dp/t8
    1636     25797052 :          t129 = 0.1e1_dp/rho
    1637     25797052 :          t131 = t69*t77
    1638     25797052 :          t132 = SQRT(t131)
    1639     25797052 :          t133 = sscale*t132
    1640     25797052 :          t136 = erfc(t127*t128*t129*t133)
    1641     25797052 :          t140 = 0.1e1_dp/f1516
    1642     25797052 :          t141 = (t96 + t108*t113 - t96*t124*t136)*t140
    1643     25797052 :          t142 = 0.1e1_dp/t97
    1644     25797052 :          t144 = 0.1e1_dp/E
    1645     25797052 :          t145 = t142*t111*t144
    1646     25797052 :          t147 = -t141*t145 + r1
    1647     25797052 :          t148 = t147*E
    1648     25797052 :          t149 = 0.1e1_dp/t105
    1649     25797052 :          t150 = t148*t149
    1650     25797052 :          t151 = f158*E
    1651     25797052 :          t152 = t147*t83
    1652     25797052 :          t153 = t72*t10
    1653     25797052 :          t154 = t71 + DD + t153
    1654     25797052 :          t155 = t154**2
    1655     25797052 :          t156 = t155**2
    1656     25797052 :          t157 = t156*t154
    1657     25797052 :          t158 = SQRT(t157)
    1658     25797052 :          t159 = 0.1e1_dp/t158
    1659     25797052 :          t162 = SQRT(t154)
    1660     25797052 :          t163 = 0.1e1_dp/t162
    1661     25797052 :          t166 = f68*C
    1662     25797052 :          t167 = t90*t83
    1663     25797052 :          t168 = t155*t154
    1664     25797052 :          t169 = SQRT(t168)
    1665     25797052 :          t170 = 0.1e1_dp/t169
    1666              :          t174 = (-t151*t152*t159 - t81*t83*t163 - t166*t167*t170) &
    1667     25797052 :                 *omega
    1668     25797052 :          t176 = f52*E
    1669     25797052 :          t177 = t147*t93
    1670     25797052 :          t180 = f12*C
    1671     25797052 :          t181 = t90*t93
    1672     25797052 :          t185 = t72*omega
    1673     25797052 :          t186 = (-t176*t177*t159 - t180*t181*t170)*t185
    1674     25797052 :          t189 = 0.1e1_dp/r3/t5
    1675     25797052 :          t190 = t189*t129
    1676     25797052 :          t192 = t72**2
    1677     25797052 :          t193 = t192*omega
    1678     25797052 :          t194 = t159*t193
    1679     25797052 :          t195 = t194*t44
    1680     25797052 :          t197 = f12*A
    1681     25797052 :          t198 = exei(Q)
    1682     25797052 :          t199 = t71 + DD + t74
    1683     25797052 :          t200 = 0.1e1_dp/t199
    1684     25797052 :          t202 = LOG(t75*t200)
    1685     25797052 :          t205 = SQRT(t199)
    1686     25797052 :          t209 = t115*f34
    1687     25797052 :          t210 = exer(Q)
    1688     25797052 :          t213 = (t197*t97/t205 - t209*t210)*alpha1
    1689     25797052 :          t214 = omega*t128
    1690     25797052 :          t219 = (t197*t200 - f98*t198)*alpha2
    1691     25797052 :          t221 = A*f14
    1692     25797052 :          t222 = t199**2
    1693     25797052 :          t223 = t222*t199
    1694     25797052 :          t224 = SQRT(t223)
    1695     25797052 :          t227 = SQRT(t75)
    1696     25797052 :          t228 = 0.1e1_dp/t227
    1697     25797052 :          t233 = 0.1e1_dp/t115
    1698              :          t237 = (t97*(t221/t224 - f98*t228) + f2716*t210*t233)*alpha3 &
    1699     25797052 :                 *t185
    1700     25797052 :          t239 = 0.1e1_dp/t75
    1701     25797052 :          t241 = 0.1e1_dp/t222
    1702     25797052 :          t243 = f8132*t77
    1703     25797052 :          t246 = (-f98*t239 + t197*t241 + t243*t198)*alpha4
    1704     25797052 :          t247 = t192*t27
    1705     25797052 :          t250 = t75**2
    1706     25797052 :          t251 = t250*t75
    1707     25797052 :          t252 = SQRT(t251)
    1708     25797052 :          t253 = 0.1e1_dp/t252
    1709     25797052 :          t255 = f38*A
    1710     25797052 :          t256 = t222**2
    1711     25797052 :          t257 = t256*t199
    1712     25797052 :          t258 = SQRT(t257)
    1713     25797052 :          t263 = A**2
    1714     25797052 :          t264 = t263*A
    1715     25797052 :          t265 = SQRT(t264)
    1716     25797052 :          t267 = f24364/t265
    1717              :          t270 = (t97*(t243*t228 - f916*t253 + t255/t258) - t267*t210) &
    1718     25797052 :                 *alpha5
    1719     25797052 :          t271 = t193*t44
    1720     25797052 :          t273 = 0.1e1_dp/t223
    1721     25797052 :          t275 = 0.1e1_dp/t250
    1722     25797052 :          t276 = f98*t275
    1723     25797052 :          t280 = f729128/t263
    1724     25797052 :          t284 = t192*t72
    1725              :          t285 = (A*t273 - t276 + t243*r1*t239 - t280*t198)*alpha6 &
    1726     25797052 :                 *t284
    1727     25797052 :          t286 = t60*t13
    1728     25797052 :          t288 = f1516*A
    1729     25797052 :          t289 = t256*t223
    1730     25797052 :          t290 = SQRT(t289)
    1731     25797052 :          t293 = t250**2
    1732     25797052 :          t294 = t293*t75
    1733     25797052 :          t295 = SQRT(t294)
    1734     25797052 :          t298 = f8164*t77
    1735     25797052 :          t303 = t263**2
    1736     25797052 :          t305 = SQRT(t303*A)
    1737     25797052 :          t307 = f2187256/t305
    1738              :          t310 = (t97*(t288/t290 - f2732/t295 + t298*t253 - t280*t228) &
    1739     25797052 :                  + t307*t210)*alpha7
    1740     25797052 :          t311 = t192*t185
    1741     25797052 :          t312 = t56*t58
    1742     25797052 :          t313 = t312*t12
    1743     25797052 :          t315 = 0.1e1_dp/t8/t313
    1744     25797052 :          t316 = t311*t315
    1745     25797052 :          t318 = r3*A
    1746     25797052 :          t319 = 0.1e1_dp/t256
    1747     25797052 :          t321 = 0.1e1_dp/t251
    1748     25797052 :          t326 = f6561512/t264
    1749              :          t329 = (t318*t319 - f94*t321 + t243*t275 - t280*t239 + t326 &
    1750     25797052 :                  *t198)*alpha8
    1751     25797052 :          t330 = t192**2
    1752     25797052 :          t332 = 0.1e1_dp/t9/t313
    1753     25797052 :          t333 = t330*t332
    1754              :          t335 = t84 + t95 + t150 + t174*t128 + t186*t190 - t150*t195 + &
    1755              :                 t197*(t198 + t202) + t213*t214 + t219*t153 + t237*t190 + &
    1756     25797052 :                 t246*t247 + t270*t271 + t285*t286 + t310*t316 + t329*t333
    1757     25797052 :          t336 = t335*Clda
    1758     25797052 :          e_0 = e_0 + (-t80*t336)*sx
    1759              :       END IF
    1760     25797052 :       IF (order >= 1 .OR. order == -1) THEN
    1761     16256926 :          t338 = t44*t13
    1762     16256926 :          t339 = t4*t338
    1763     16256926 :          t340 = t14*t34
    1764     16256926 :          t342 = t68*r3*t5
    1765     16256926 :          t343 = t340*t342
    1766     16256926 :          t345 = 0.2e1_dp/0.3e1_dp*t339*t343
    1767     16256926 :          t346 = t12*rho
    1768     16256926 :          t347 = 0.1e1_dp/t346
    1769     16256926 :          t348 = t347*t14
    1770     16256926 :          t349 = t348*t69
    1771     16256926 :          t351 = 2._dp*t11*t349
    1772     16256926 :          t352 = t3*t44
    1773     16256926 :          t353 = t16*t352
    1774     16256926 :          t354 = t15*t6
    1775     16256926 :          t357 = t10*t347
    1776     16256926 :          t358 = t357*t14
    1777     16256926 :          t361 = t24*t315
    1778     16256926 :          t362 = t22*t361
    1779     16256926 :          t363 = t29*t31
    1780     16256926 :          t364 = t363*t6
    1781     16256926 :          t368 = t27*t46*t31
    1782              :          t371 = -0.2e1_dp/0.3e1_dp*t353*t354 - (2._dp*t17*t358) - 0.4e1_dp &
    1783     16256926 :                 /0.3e1_dp*t362*t364 - (4._dp*t25*t368)
    1784     16256926 :          t372 = t371*t68
    1785     16256926 :          t373 = t15*t372
    1786     16256926 :          t374 = t11*t373
    1787     16256926 :          t375 = t4*t18
    1788     16256926 :          t376 = t67**2
    1789     16256926 :          t377 = 0.1e1_dp/t376
    1790     16256926 :          t378 = t35*t361
    1791     16256926 :          t383 = t41*t332
    1792     16256926 :          t384 = t39*t383
    1793     16256926 :          t385 = t46*t48
    1794     16256926 :          t386 = t385*t6
    1795     16256926 :          t390 = 0.1e1_dp/t28/t12
    1796     16256926 :          t392 = t44*t390*t48
    1797     16256926 :          t398 = t60/t61/rho*t63
    1798              :          t401 = -0.4e1_dp/0.3e1_dp*t378*t364 - (4._dp*t36*t368) - 0.5e1_dp &
    1799     16256926 :                 /0.3e1_dp*t384*t386 - (5._dp*t42*t392) - (8._dp*t55*t398)
    1800     16256926 :          t402 = t377*t401
    1801     16256926 :          t403 = t340*t402
    1802     16256926 :          t404 = t375*t403
    1803     16256926 :          t406 = t44*r3*t5
    1804     16256926 :          t409 = -t345 - t351 + t374 - t404 - 0.2e1_dp/0.3e1_dp*t73*t406
    1805     16256926 :          dQrho = f94*t409*t77
    1806     16256926 :          t411 = ndrho*t3
    1807     16256926 :          t412 = t411*t10
    1808     16256926 :          t415 = a1*ndrho
    1809     16256926 :          t416 = t415*t3
    1810     16256926 :          t419 = t1*ndrho
    1811     16256926 :          t420 = a2*t419
    1812     16256926 :          t421 = t420*t24
    1813     16256926 :          t424 = 2._dp*t416*t19 + 4._dp*t421*t32
    1814     16256926 :          t425 = t424*t68
    1815     16256926 :          t426 = t15*t425
    1816     16256926 :          t428 = a3*t419
    1817     16256926 :          t429 = t428*t24
    1818     16256926 :          t432 = a4*t21
    1819     16256926 :          t433 = t432*t41
    1820     16256926 :          t437 = a5*t38*t54
    1821     16256926 :          t440 = 4._dp*t429*t32 + 5._dp*t433*t49 + 6._dp*t437*t65
    1822     16256926 :          t441 = t377*t440
    1823     16256926 :          t442 = t340*t441
    1824     16256926 :          t444 = 2._dp*t412*t70 + t11*t426 - t375*t442
    1825     16256926 :          dQndrho = f94*t444*t77
    1826     16256926 :          t446 = t78*f89
    1827     16256926 :          t449 = t60*t347
    1828     16256926 :          t452 = C*t149
    1829     16256926 :          t453 = -t345 - t351 + t374 - t404
    1830     16256926 :          t454 = t452*t453
    1831     16256926 :          t457 = t329*t330
    1832     16256926 :          t461 = t56*r3*t58*t5*t346
    1833     16256926 :          t463 = 0.1e1_dp/t9/t461
    1834     16256926 :          t465 = t463*r3*t5
    1835     16256926 :          t468 = t14*t87
    1836     16256926 :          t469 = t468*t6
    1837     16256926 :          t472 = t348*t87
    1838     16256926 :          t475 = F2*t371
    1839     16256926 :          t478 = t475*t68 - t85*t402
    1840     16256926 :          t479 = t15*t478
    1841              :          t481 = -0.2e1_dp/0.3e1_dp*t339*t469 - (2._dp*t11*t472) + (t11 &
    1842     16256926 :                                                                    *t479)
    1843     16256926 :          t486 = t82*t453
    1844              :          t493 = t97*(t99*t481*t82 + t99*t90*t453 + 2._dp*t102*t486 &
    1845     16256926 :                      + 3._dp*t104*t92*t453)
    1846     16256926 :          t495 = t92**2
    1847     16256926 :          t498 = t109/t110/t495
    1848     16256926 :          t499 = t498*t453
    1849     16256926 :          t502 = t96*t115
    1850     16256926 :          t503 = f94*t371
    1851     16256926 :          t504 = t503*t117
    1852     16256926 :          t507 = t377*t1*t3
    1853     16256926 :          t508 = t116*t507
    1854     16256926 :          t509 = t14*t77
    1855     16256926 :          t510 = t509*t401
    1856     16256926 :          t511 = t18*t510
    1857     16256926 :          t513 = t117*t3
    1858     16256926 :          t514 = t116*t513
    1859     16256926 :          t515 = t338*t14
    1860     16256926 :          t517 = t77*r3*t5
    1861     16256926 :          t518 = t515*t517
    1862     16256926 :          t522 = t119*t348*t77
    1863              :          t525 = t504*t121 - t508*t511 - 0.2e1_dp/0.3e1_dp*t514*t518 - (2._dp &
    1864     16256926 :                                                                        *t118*t522)
    1865     16256926 :          t529 = rootpi
    1866     16256926 :          t530 = 0.1e1_dp/t529
    1867     16256926 :          t531 = t123*t530
    1868     16256926 :          t532 = f32**2
    1869     16256926 :          t533 = t532*t1
    1870     16256926 :          t534 = t533*t119
    1871     16256926 :          t535 = t15*t131
    1872     16256926 :          t537 = EXP(-t534*t535)
    1873     16256926 :          t538 = t126*t27
    1874     16256926 :          t539 = t125*t538
    1875     16256926 :          t540 = t129*sscale
    1876     16256926 :          t542 = t132*r3*t5
    1877     16256926 :          t550 = t125*t126*t128
    1878     16256926 :          t551 = 0.1e1_dp/t132
    1879     16256926 :          t552 = t372*t77
    1880     16256926 :          t553 = t34*t377
    1881     16256926 :          t554 = t77*t401
    1882     16256926 :          t556 = t552 - t553*t554
    1883     16256926 :          t557 = t551*t556
    1884     16256926 :          t558 = t540*t557
    1885              :          t562 = t537*(-t539*t540*t542/0.3e1_dp - t127*t128*t13*t133 &
    1886     16256926 :                       + t550*t558/0.2e1_dp)
    1887     16256926 :          t563 = t531*t562
    1888              :          t567 = (t493*t113 - 0.7e1_dp/0.2e1_dp*t108*t499 - (t502*t525 &
    1889     16256926 :                                                             *t123*t136) + (2._dp*t502*t563))*t140
    1890     16256926 :          t569 = t141*t142
    1891     16256926 :          t571 = t110*t92*t144
    1892     16256926 :          t572 = t571*t453
    1893     16256926 :          t575 = -t567*t145 - 0.7e1_dp/0.2e1_dp*t569*t572
    1894     16256926 :          t576 = t575*E
    1895     16256926 :          t577 = t576*t149
    1896     16256926 :          t578 = t189*t13
    1897     16256926 :          t581 = 0.1e1_dp/t158/t157
    1898     16256926 :          t582 = t149*t581
    1899     16256926 :          t583 = t148*t582
    1900     16256926 :          t587 = -t345 - t351 + t374 - t404 - 0.2e1_dp/0.3e1_dp*t72*t44*t6
    1901     16256926 :          t588 = t156*t587
    1902     16256926 :          t589 = t271*t588
    1903     16256926 :          t592 = t219*t72
    1904     16256926 :          t596 = 0.1e1_dp/t224/t223
    1905     16256926 :          t597 = t596*t222
    1906     16256926 :          t602 = 0.1e1_dp/t227/t75
    1907     16256926 :          t603 = f98*t602
    1908     16256926 :          t608 = dexerrho(Q, dQrho)
    1909              :          t613 = (t97*(-0.3e1_dp/0.2e1_dp*t221*t597*t409 + t603*t409/ &
    1910     16256926 :                       0.2e1_dp) + f2716*t608*t233)*alpha3*t185
    1911     16256926 :          t617 = f12*t481
    1912     16256926 :          t620 = 0.1e1_dp/t495
    1913     16256926 :          t621 = t620*t453
    1914     16256926 :          t624 = t213*omega
    1915     16256926 :          t626 = t27*r3*t5
    1916     16256926 :          t629 = t246*t192
    1917     16256926 :          t631 = t315*r3*t5
    1918     16256926 :          t634 = t602*t409
    1919     16256926 :          t638 = 0.1e1_dp/t252/t251
    1920     16256926 :          t639 = f916*t638
    1921     16256926 :          t644 = 0.1e1_dp/t258/t257
    1922     16256926 :          t645 = t644*t256
    1923              :          t653 = (t97*(-t243*t634/0.2e1_dp + 0.3e1_dp/0.2e1_dp*t639*t250* &
    1924     16256926 :                       t409 - 0.5e1_dp/0.2e1_dp*t255*t645*t409) - t267*t608)*alpha5
    1925              :          t655 = -(2._dp*t285*t449) - (2._dp*t91*t454) - 0.8e1_dp/0.3e1_dp &
    1926              :                 *t457*t465 + t577 - t186*t578 + 0.5e1_dp/0.2e1_dp*t583*t589 &
    1927              :                 - 0.2e1_dp/0.3e1_dp*t592*t406 + t613*t190 - t81*t93*t453 + &
    1928              :                 t617*t94 - t237*t578 - (3._dp*t148*t621) - t624*t626/0.3e1_dp &
    1929     16256926 :                 - 0.4e1_dp/0.3e1_dp*t629*t631 + t653*t271
    1930     16256926 :          t656 = t149*t159
    1931     16256926 :          t657 = t148*t656
    1932     16256926 :          t658 = t193*t332
    1933     16256926 :          t659 = t658*t6
    1934     16256926 :          t663 = t273*t409
    1935     16256926 :          t666 = dexeirho(Q, dQrho)
    1936     16256926 :          t669 = (t276*t409 - 2._dp*t197*t663 + t243*t666)*alpha4
    1937     16256926 :          t673 = t97/t205/t199
    1938     16256926 :          t679 = (-t197*t673*t409/0.2e1_dp - t209*t608)*alpha1
    1939     16256926 :          t681 = t241*t409
    1940     16256926 :          t685 = (-t197*t681 - f98*t666)*alpha2
    1941     16256926 :          t689 = 0.1e1_dp/t290/t289
    1942     16256926 :          t690 = t256*t222
    1943     16256926 :          t691 = t689*t690
    1944     16256926 :          t697 = f2732/t295/t294
    1945     16256926 :          t698 = t293*t409
    1946     16256926 :          t701 = t638*t250
    1947              :          t711 = (t97*(-0.7e1_dp/0.2e1_dp*t288*t691*t409 + 0.5e1_dp/0.2e1_dp &
    1948              :                       *t697*t698 - 0.3e1_dp/0.2e1_dp*t298*t701*t409 + t280*t634/ &
    1949     16256926 :                       0.2e1_dp) + t307*t608)*alpha7
    1950     16256926 :          t713 = 0.1e1_dp/t257
    1951     16256926 :          t717 = 0.1e1_dp/t293
    1952     16256926 :          t718 = f94*t717
    1953     16256926 :          t721 = t321*t409
    1954              :          t728 = (-4._dp*t318*t713*t409 + 3._dp*t718*t409 - 2._dp*t243*t721 &
    1955     16256926 :                  + t280*t275*t409 + t326*t666)*alpha8
    1956     16256926 :          t735 = t176*t147
    1957     16256926 :          t736 = t656*t453
    1958     16256926 :          t739 = t93*t581
    1959     16256926 :          t740 = t739*t588
    1960     16256926 :          t746 = t180*t90
    1961     16256926 :          t747 = t149*t170
    1962     16256926 :          t748 = t747*t453
    1963     16256926 :          t752 = 0.1e1_dp/t169/t168
    1964     16256926 :          t753 = t93*t752
    1965     16256926 :          t754 = t155*t587
    1966     16256926 :          t755 = t753*t754
    1967              :          t759 = (-t176*t575*t93*t159 + (2._dp*t735*t736) + 0.5e1_dp/ &
    1968              :                  0.2e1_dp*(t735)*(t740) - t180*t481*t93*t170 + (2._dp &
    1969     16256926 :                                                                 *t746*t748) + 0.3e1_dp/0.2e1_dp*(t746)*(t755))*t185
    1970     16256926 :          t761 = t310*t311
    1971     16256926 :          t763 = 0.1e1_dp/t8/t461
    1972     16256926 :          t765 = t763*r3*t5
    1973     16256926 :          t769 = t75*t241
    1974     16256926 :          t771 = t409*t200 - t769*t409
    1975     16256926 :          t772 = t771*t239
    1976     16256926 :          t779 = t151*t147
    1977     16256926 :          t780 = t93*t159
    1978     16256926 :          t781 = t780*t453
    1979     16256926 :          t783 = t83*t581
    1980     16256926 :          t784 = t783*t588
    1981     16256926 :          t787 = t93*t163
    1982     16256926 :          t791 = 0.1e1_dp/t162/t154
    1983     16256926 :          t792 = t83*t791
    1984     16256926 :          t799 = t166*t90
    1985     16256926 :          t800 = t93*t170
    1986     16256926 :          t801 = t800*t453
    1987     16256926 :          t803 = t83*t752
    1988     16256926 :          t804 = t803*t754
    1989              :          t808 = (-t151*t575*t83*t159 + t779*t781 + 0.5e1_dp/0.2e1_dp*t779 &
    1990              :                  *t784 + t81*t787*t453 + t81*t792*t587/0.2e1_dp - t166 &
    1991              :                  *t481*t83*t170 + t799*t801 + 0.3e1_dp/0.2e1_dp*t799*t804)* &
    1992     16256926 :                 omega
    1993     16256926 :          t810 = t148*t620
    1994     16256926 :          t812 = t194*t44*t453
    1995     16256926 :          t815 = t270*t193
    1996     16256926 :          t816 = t332*r3
    1997     16256926 :          t817 = t816*t5
    1998     16256926 :          t820 = A*t319
    1999     16256926 :          t823 = f98*t321
    2000     16256926 :          t826 = r1*t275
    2001              :          t832 = (-3._dp*t820*t409 + 2._dp*t823*t409 - t243*t826*t409 - t280 &
    2002     16256926 :                  *t666)*alpha6*t284
    2003              :          t834 = 0.5e1_dp/0.3e1_dp*t657*t659 + t669*t247 + t679*t214 + t685 &
    2004              :                 *t153 - t577*t195 + t711*t316 + t728*t333 - t174*t626 &
    2005              :                 /0.3e1_dp + t759*t190 - 0.7e1_dp/0.3e1_dp*t761*t765 + t197*(t666 &
    2006              :                                                                   + t772*t199) + t808*t128 + (3._dp*t810*t812) - 0.5e1_dp/0.3e1_dp &
    2007     16256926 :                 *t815*t817 + t832*t286
    2008     16256926 :          t836 = (t655 + t834)*Clda
    2009     16256926 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t446*t336 - t80*t836)*sx
    2010     16256926 :          t842 = F2*t424
    2011     16256926 :          t845 = t842*t68 - t85*t441
    2012     16256926 :          t846 = t15*t845
    2013     16256926 :          t848 = 2._dp*t412*t88 + t11*t846
    2014     16256926 :          t849 = f12*t848
    2015     16256926 :          t851 = t452*t444
    2016              :          t865 = t97*(t99*t848*t82 + t99*t90*t444 + 2._dp*t102*t82 &
    2017     16256926 :                      *t444 + 3._dp*t104*t92*t444)
    2018     16256926 :          t867 = t498*t444
    2019     16256926 :          t870 = f94*t424
    2020     16256926 :          t871 = t870*t117
    2021     16256926 :          t873 = t509*t440
    2022     16256926 :          t874 = t18*t873
    2023     16256926 :          t876 = t68*ndrho
    2024     16256926 :          t877 = t116*t876
    2025     16256926 :          t880 = t871*t121 - t508*t874 + 2._dp*t877*t121
    2026     16256926 :          t884 = f32*t126
    2027     16256926 :          t885 = t884*t128
    2028     16256926 :          t888 = t425*t77
    2029     16256926 :          t889 = t77*t440
    2030     16256926 :          t891 = t888 - t553*t889
    2031     16256926 :          t892 = t551*t891
    2032     16256926 :          t893 = t540*t892
    2033     16256926 :          t897 = t537*(t885*t540*t132 + t550*t893/0.2e1_dp)
    2034     16256926 :          t898 = t531*t897
    2035              :          t902 = (t865*t113 - 0.7e1_dp/0.2e1_dp*t108*t867 - (t502*t880 &
    2036     16256926 :                                                             *t123*t136) + (2._dp*t502*t898))*t140
    2037     16256926 :          t904 = t571*t444
    2038     16256926 :          t907 = -t902*t145 - 0.7e1_dp/0.2e1_dp*t569*t904
    2039     16256926 :          t908 = t907*E
    2040     16256926 :          t909 = t908*t149
    2041     16256926 :          t910 = t620*t444
    2042     16256926 :          t916 = t780*t444
    2043     16256926 :          t918 = t156*t444
    2044     16256926 :          t919 = t783*t918
    2045     16256926 :          t930 = t800*t444
    2046     16256926 :          t932 = t155*t444
    2047     16256926 :          t933 = t803*t932
    2048              :          t937 = (-t151*t907*t83*t159 + t779*t916 + 0.5e1_dp/0.2e1_dp*t779 &
    2049              :                  *t919 + t81*t787*t444 + t81*t792*t444/0.2e1_dp - t166 &
    2050              :                  *t848*t83*t170 + t799*t930 + 0.3e1_dp/0.2e1_dp*t799*t933)* &
    2051     16256926 :                 omega
    2052     16256926 :          t942 = t656*t444
    2053     16256926 :          t945 = t739*t918
    2054     16256926 :          t951 = t747*t444
    2055     16256926 :          t954 = t753*t932
    2056              :          t958 = (-t176*t907*t93*t159 + (2._dp*t735*t942) + 0.5e1_dp/ &
    2057              :                  0.2e1_dp*(t735)*(t945) - t180*t848*t93*t170 + (2._dp &
    2058     16256926 :                                                                 *t746*t951) + 0.3e1_dp/0.2e1_dp*(t746)*(t954))*t185
    2059     16256926 :          t962 = t194*t44*t444
    2060     16256926 :          t965 = t271*t918
    2061     16256926 :          t968 = dexeindrho(Q, dQndrho)
    2062     16256926 :          t971 = t444*t200 - t769*t444
    2063     16256926 :          t972 = t971*t239
    2064     16256926 :          t979 = dexerndrho(Q, dQndrho)
    2065     16256926 :          t982 = (-t197*t673*t444/0.2e1_dp - t209*t979)*alpha1
    2066     16256926 :          t988 = (-t197*t241*t444 - f98*t968)*alpha2
    2067              :          t1001 = (t97*(-0.3e1_dp/0.2e1_dp*t221*t597*t444 + t603*t444/ &
    2068     16256926 :                        0.2e1_dp) + f2716*t979*t233)*alpha3*t185
    2069     16256926 :          t1009 = (t276*t444 - 2._dp*t197*t273*t444 + t243*t968)*alpha4
    2070     16256926 :          t1011 = t602*t444
    2071              :          t1024 = (t97*(-t243*t1011/0.2e1_dp + 0.3e1_dp/0.2e1_dp*t639*t250 &
    2072     16256926 :                        *t444 - 0.5e1_dp/0.2e1_dp*t255*t645*t444) - t267*t979)*alpha5
    2073              :          t1035 = (-3._dp*t820*t444 + 2._dp*t823*t444 - t243*t826*t444 - &
    2074     16256926 :                   t280*t968)*alpha6*t284
    2075              :          t1052 = (t97*(-0.7e1_dp/0.2e1_dp*t288*t691*t444 + 0.5e1_dp/0.2e1_dp &
    2076              :                        *t697*t293*t444 - 0.3e1_dp/0.2e1_dp*t298*t701*t444 + t280 &
    2077     16256926 :                        *t1011/0.2e1_dp) + t307*t979)*alpha7
    2078              :          t1066 = (-4._dp*t318*t713*t444 + 3._dp*t718*t444 - 2._dp*t243*t321 &
    2079     16256926 :                   *t444 + t280*t275*t444 + t326*t968)*alpha8
    2080              :          t1068 = -t81*t93*t444 + t849*t94 - (2._dp*t91*t851) + t909 &
    2081              :                  - (3._dp*t148*t910) + t937*t128 + t958*t190 - t909*t195 &
    2082              :                  + (3._dp*t810*t962) + 0.5e1_dp/0.2e1_dp*t583*t965 + t197*(t968 &
    2083              :                                                                          + t972*t199) + t982*t214 + t988*t153 + t1001*t190 + t1009 &
    2084              :                  *t247 + t1024*t271 + t1035*t286 + t1052*t316 + t1066* &
    2085     16256926 :                  t333
    2086     16256926 :          t1069 = t1068*Clda
    2087     16256926 :          e_ndrho = e_ndrho + (-t80*t1069)*sx
    2088              :       END IF
    2089     25797052 :       IF (order >= 2 .OR. order == -2) THEN
    2090            0 :          t1071 = t332*t13
    2091            0 :          t1072 = t4*t1071
    2092            0 :          t1077 = 0.10e2_dp/0.9e1_dp*t1072*t340*t68*t56*t58
    2093            0 :          t1078 = t44*t347
    2094            0 :          t1079 = t4*t1078
    2095            0 :          t1081 = 0.8e1_dp/0.3e1_dp*t1079*t343
    2096            0 :          t1082 = t14*t371
    2097            0 :          t1085 = 0.4e1_dp/0.3e1_dp*t339*t1082*t342
    2098            0 :          t1086 = t4*t515
    2099            0 :          t1087 = t6*t401
    2100            0 :          t1090 = 0.4e1_dp/0.3e1_dp*t1086*t553*t1087
    2101            0 :          t1091 = t29*t14
    2102            0 :          t1094 = 6._dp*t11*t1091*t69
    2103            0 :          t1097 = 4._dp*t11*t348*t372
    2104            0 :          t1098 = t4*t357
    2105            0 :          t1100 = 4._dp*t1098*t403
    2106            0 :          t1113 = t24*t763
    2107            0 :          t1115 = t363*t312
    2108            0 :          t1119 = t46*t31*t6
    2109            0 :          t1123 = t27*t390*t31
    2110              :          t1126 = 0.10e2_dp/0.9e1_dp*t16*t3*t332*t15*t312 + 0.8e1_dp/0.3e1_dp &
    2111              :                  *t353*t348*t6 + (6._dp*t17*t10*t29*t14) + 0.28e2_dp/ &
    2112              :                  0.9e1_dp*t22*t1113*t1115 + 0.32e2_dp/0.3e1_dp*t362*t1119 + (20._dp &
    2113            0 :                                                                              *t25*t1123)
    2114            0 :          t1127 = t1126*t68
    2115            0 :          t1129 = t11*t15*t1127
    2116            0 :          t1132 = 2._dp*t375*t1082*t402
    2117            0 :          t1134 = 0.1e1_dp/t376/t67
    2118            0 :          t1135 = t401**2
    2119            0 :          t1136 = t1134*t1135
    2120            0 :          t1139 = 2._dp*t375*t340*t1136
    2121              :          t1168 = 0.28e2_dp/0.9e1_dp*t35*t1113*t1115 + 0.32e2_dp/0.3e1_dp*t378 &
    2122              :                  *t1119 + (20._dp*t36*t1123) + 0.40e2_dp/0.9e1_dp*t39*t41* &
    2123              :                  t463*t385*t312 + 0.50e2_dp/0.3e1_dp*t384*t390*t48*t6 + 0.30e2_dp &
    2124              :                  *t42*t44/t28/t346*t48 + (72._dp*t55*t60/t61/t12 &
    2125            0 :                                           *t63)
    2126            0 :          t1169 = t377*t1168
    2127            0 :          t1171 = t375*t340*t1169
    2128            0 :          t1173 = t332*t56*t58
    2129              :          t1176 = t1077 + t1081 - t1085 + t1090 + t1094 - t1097 + t1100 + t1129 &
    2130            0 :                  - t1132 + t1139 - t1171 + 0.10e2_dp/0.9e1_dp*t73*t1173
    2131            0 :          d2Qrhorho = f94*t1176*t77
    2132            0 :          t1178 = t411*t338
    2133            0 :          t1181 = t14*t424
    2134            0 :          t1185 = t6*t440
    2135              :          t1208 = -0.4e1_dp/0.3e1_dp*t415*t352*t354 - (4._dp*t416*t358) &
    2136            0 :                  - 0.16e2_dp/0.3e1_dp*t420*t361*t364 - (16._dp*t421*t368)
    2137            0 :          t1209 = t1208*t68
    2138            0 :          t1214 = t411*t18
    2139            0 :          t1220 = t1134*t401*t440
    2140              :          t1236 = -0.16e2_dp/0.3e1_dp*t428*t361*t364 - (16._dp*t429*t368) &
    2141              :                  - 0.25e2_dp/0.3e1_dp*t432*t383*t386 - (25._dp*t433*t392) &
    2142            0 :                  - (48._dp*t437*t398)
    2143            0 :          t1237 = t377*t1236
    2144              :          t1240 = -0.4e1_dp/0.3e1_dp*t1178*t343 - 0.2e1_dp/0.3e1_dp*t339*t1181 &
    2145              :                  *t342 + 0.2e1_dp/0.3e1_dp*t1086*t553*t1185 - (4._dp*t412* &
    2146              :                                                                t349) - (2._dp*t11*t348*t425) + (2._dp*t1098*t442) + (2._dp &
    2147              :                                                                                    *t412*t373) + (t11*t15*t1209) - t375*t1082*t441 &
    2148              :                  - (2._dp*t1214*t403) - t375*t1181*t402 + 0.2e1_dp*t375*t340 &
    2149            0 :                  *t1220 - t375*t340*t1237
    2150            0 :          d2Qrhondrho = f94*t1240*t77
    2151            0 :          t1242 = t119*t13
    2152            0 :          t1243 = t340*t68
    2153            0 :          t1257 = 2._dp*a1*t3*t19 + 12._dp*a2*t1*t24*t32
    2154            0 :          t1258 = t1257*t68
    2155            0 :          t1264 = t440**2
    2156            0 :          t1265 = t1134*t1264
    2157              :          t1281 = 12._dp*a3*t1*t24*t32 + 20._dp*a4*t419*t41*t49 + 30._dp &
    2158            0 :                  *a5*t21*t54*t65
    2159            0 :          t1282 = t377*t1281
    2160              :          t1285 = 2._dp*t1242*t1243 + 4._dp*t412*t426 - 4._dp*t1214*t442 + t11 &
    2161              :                  *t15*t1258 - 2._dp*t375*t1181*t441 + 2._dp*t375*t340*t1265 &
    2162            0 :                  - t375*t340*t1282
    2163            0 :          d2Qndrhondrho = f94*t1285*t77
    2164            0 :          t1287 = t78**2
    2165            0 :          t1294 = t166*t481
    2166            0 :          t1297 = t453**2
    2167              :          t1301 = t1077 + t1081 - t1085 + t1090 + t1094 - t1097 + t1100 + t1129 &
    2168            0 :                  - t1132 + t1139 - t1171
    2169            0 :          t1304 = t166*t181
    2170            0 :          t1305 = t752*t453
    2171            0 :          t1306 = t1305*t754
    2172            0 :          t1309 = t587**2
    2173            0 :          t1310 = t154*t1309
    2174              :          t1317 = t1077 + t1081 - t1085 + t1090 + t1094 - t1097 + t1100 + t1129 &
    2175            0 :                  - t1132 + t1139 - t1171 + 0.10e2_dp/0.9e1_dp*t72*t332*t312
    2176            0 :          t1318 = t155*t1317
    2177            0 :          t1324 = 0.1e1_dp/t169/t156/t155
    2178            0 :          t1325 = t83*t1324
    2179            0 :          t1326 = t156*t1309
    2180              :          t1355 = 0.10e2_dp/0.9e1_dp*t1072*t468*t312 + 0.8e1_dp/0.3e1_dp*t1079 &
    2181              :                  *t469 - 0.4e1_dp/0.3e1_dp*t339*t14*t478*t6 + (6._dp*t11* &
    2182              :                                                                t1091*t87) - 0.4e1_dp*(t11)*t348*t478 + (t11*t15* &
    2183            0 :                                                                      (F2*t1126*t68 - 2._dp*t475*t402 + 2._dp*t85*t1136 - t85*t1169))
    2184            0 :          t1379 = t495*t82
    2185            0 :          t1381 = 0.1e1_dp/t110/t1379
    2186            0 :          t1382 = t109*t1381
    2187            0 :          t1392 = t503*t507
    2188            0 :          t1402 = t116*t1134*t1*t3
    2189            0 :          t1409 = t116*t377*t4*t44
    2190              :          t1433 = f94*t1126*t117*t121 - (2._dp*t1392*t511) - 0.4e1_dp &
    2191              :                  /0.3e1_dp*t503*t513*t518 - (4._dp*t504*t522) + (2._dp*t1402 &
    2192              :                                                                  *t18*t509*t1135) + 0.4e1_dp/0.3e1_dp*t1409*t120*t1087 + &
    2193              :                  (4._dp*t508*t357*t510) - (t508*t18*t509*t1168) + &
    2194              :                  0.10e2_dp/0.9e1_dp*t514*t1071*t14*t77*t56*t58 + 0.8e1_dp/0.3e1_dp &
    2195            0 :                  *t514*t1078*t14*t517 + 0.6e1_dp*t118*t119*t1091*t77
    2196            0 :          t1437 = t525**2
    2197            0 :          t1442 = t96*t115*t525
    2198            0 :          t1445 = t96*t124
    2199            0 :          t1456 = t533*t1242
    2200            0 :          t1457 = t377*t77
    2201            0 :          t1473 = t13*sscale
    2202            0 :          t1478 = t125*t538*t129
    2203            0 :          t1479 = sscale*t551
    2204            0 :          t1491 = 0.1e1_dp/t132/t131
    2205            0 :          t1492 = t556**2
    2206            0 :          t1498 = t371*t377
    2207            0 :          t1501 = t34*t1134
    2208            0 :          t1520 = t567*t142
    2209            0 :          t1524 = t110*t82*t144
    2210              :          t1531 = -((t97*(t99*t1355*t82 + 2._dp*t99*t481*t453 + t99 &
    2211              :                          *t90*t1301 + 2._dp*t102*t1297 + 2._dp*t102*t82*t1301 + 6._dp* &
    2212              :                          t104*t82*t1297 + 3._dp*t104*t92*t1301)*t113) - (7._dp*t493 &
    2213              :                                                                          *t499) + 0.63e2_dp/0.4e1_dp*(t108)*(t1382)*(t1297) &
    2214              :                    - 0.7e1_dp/0.2e1_dp*(t108)*(t498)*(t1301) - t502 &
    2215              :                    *t1433*t123*t136 - t502*t1437*t123*t136 + (4._dp*t1442 &
    2216              :                                                               *t563) + 0.2e1_dp*t1445*t530*(0.2e1_dp/0.3e1_dp*t533*t352* &
    2217              :                                                                                t13*t1243*t517 + (2._dp*t534*t348*t131) - (t534*t15 &
    2218              :                                                                              *t552) + t1456*t340*t1457*t401)*t562 + 0.2e1_dp*t502* &
    2219              :                    t531*t537*(0.4e1_dp/0.9e1_dp*t125*t126*t315*t540*t132* &
    2220              :                               t56*t58 + 0.2e1_dp/0.3e1_dp*t539*t1473*t542 - t1478*t1479* &
    2221              :                               t6*t556/0.3e1_dp + (2._dp*t127*t128*t347*t133) - t550*t1473 &
    2222              :                               *t557 - t550*t540*t1491*t1492/0.4e1_dp + t550*t540* &
    2223              :                               t551*(t1127*t77 - 2._dp*t1498*t554 + 2._dp*t1501*t77*t1135 &
    2224              :                                     - t553*t77*t1168)/0.2e1_dp))*t140*t145 - (7._dp*t1520 &
    2225              :                                                                               *t572) - 0.35e2_dp/0.4e1_dp*(t569)*(t1524)*(t1297) &
    2226            0 :                  - 0.7e1_dp/0.2e1_dp*(t569)*(t571)*(t1301)
    2227            0 :          t1535 = t151*t575
    2228              :          t1543 = (3._dp*t1294*t804) - (2._dp*t799*t747*t1297) + (t799 &
    2229              :                                                                  *t800*t1301) - (3._dp*t1304*t1306) + (3._dp*t799 &
    2230              :                                                                             *t803*t1310) + 0.3e1_dp/0.2e1_dp*(t799)*(t803)*(t1318) &
    2231              :                  - 0.27e2_dp/0.4e1_dp*(t799)*(t1325)*(t1326) - &
    2232              :                  t151*t1531*t83*t159 + (2._dp*t1535*t781) + (5._dp*t1535 &
    2233            0 :                                                              *t784) - (2._dp*t779*t656*t1297)
    2234            0 :          t1546 = t151*t177
    2235            0 :          t1547 = t581*t453
    2236            0 :          t1548 = t1547*t588
    2237            0 :          t1551 = t156*t1317
    2238            0 :          t1555 = t168*t1309
    2239            0 :          t1559 = t156**2
    2240            0 :          t1562 = 0.1e1_dp/t158/t1559/t155
    2241            0 :          t1563 = t83*t1562
    2242            0 :          t1564 = t1559*t1309
    2243            0 :          t1568 = t149*t163
    2244            0 :          t1572 = t81*t93
    2245            0 :          t1573 = t791*t453
    2246            0 :          t1579 = 0.1e1_dp/t162/t155
    2247            0 :          t1580 = t83*t1579
    2248              :          t1592 = t779*t780*(t1301) - (5._dp*t1546*t1548) + 0.5e1_dp &
    2249              :                  /0.2e1_dp*t779*t783*t1551 + 0.10e2_dp*t779*t783*t1555 - 0.75e2_dp &
    2250              :                  /0.4e1_dp*t779*t1563*t1564 - (2._dp*t81*t1568*t1297) &
    2251              :                  - t1572*t1573*t587 + (t81*t787*t1301) - 0.3e1_dp/0.4e1_dp &
    2252              :                  *(t81)*(t1580)*(t1309) + (t81*t792*t1317) &
    2253            0 :                  /0.2e1_dp - t166*t1355*t83*t170 + (2._dp*t1294*t801)
    2254            0 :          t1599 = t576*t582
    2255            0 :          t1602 = 0.1e1_dp/t1379
    2256            0 :          t1609 = t315*t56*t58
    2257            0 :          t1615 = t189*t347
    2258            0 :          t1624 = 0.1e1_dp/t690
    2259            0 :          t1625 = t409**2
    2260            0 :          t1633 = f94/t294
    2261            0 :          t1649 = d2exeirhorho(Q, dQrho, d2Qrhorho)
    2262            0 :          t1658 = t148*t620*t581
    2263              :          t1663 = (t1543 + t1592)*omega*t128 + (10._dp*t583*t271*t1555) &
    2264              :                  + (5._dp*t1599*t589) + (12._dp*t148*t1602*t1297) - &
    2265              :                  (2._dp*t613*t578) + 0.4e1_dp/0.9e1_dp*t624*t1609 - 0.8e1_dp/0.3e1_dp &
    2266              :                  *t669*t192*t631 + (2._dp*t186*t1615) + 0.10e2_dp/0.3e1_dp &
    2267              :                  *t576*t656*t659 + 0.5e1_dp/0.2e1_dp*(t583)*(t271)*(t1551) &
    2268              :                  + ((20._dp*t318*t1624*t1625 - 4._dp*t318*t713*t1176 &
    2269              :                      - 12._dp*t1633*t1625 + 3._dp*t718*t1176 + 6._dp*t243*t717*t1625 &
    2270              :                      - 2._dp*t243*t321*t1176 - 2._dp*t280*t321*t1625 + t280* &
    2271              :                      t275*t1176 + t326*t1649)*alpha8*t333) - (3._dp*t148*t620 &
    2272            0 :                                                               *t1301) - (15._dp*t1658*t271*t588*t453)
    2273            0 :          t1677 = t256**2
    2274            0 :          t1680 = 0.1e1_dp/t290/t1677/t690
    2275            0 :          t1681 = t1677*t256
    2276            0 :          t1682 = t1680*t1681
    2277            0 :          t1686 = t689*t257
    2278            0 :          t1693 = t293**2
    2279            0 :          t1697 = f2732/t295/t1693/t250
    2280            0 :          t1709 = 0.1e1_dp/t252/t293/t250
    2281            0 :          t1710 = t1709*t293
    2282            0 :          t1714 = t638*t75
    2283            0 :          t1722 = 0.1e1_dp/t227/t250
    2284            0 :          t1723 = t1722*t1625
    2285            0 :          t1726 = t602*t1176
    2286              :          t1729 = 0.147e3_dp/0.4e1_dp*t288*t1682*t1625 - 0.21e2_dp*t288*t1686 &
    2287              :                  *t1625 - 0.7e1_dp/0.2e1_dp*t288*t691*t1176 - 0.75e2_dp/0.4e1_dp &
    2288              :                  *t1697*t1693*t1625 + 0.10e2_dp*t697*t251*t1625 + 0.5e1_dp/ &
    2289              :                  0.2e1_dp*t697*t293*t1176 + 0.27e2_dp/0.4e1_dp*t298*t1710*t1625 &
    2290              :                  - 0.3e1_dp*t298*t1714*t1625 - 0.3e1_dp/0.2e1_dp*t298*t701*t1176 &
    2291            0 :                  - 0.3e1_dp/0.4e1_dp*t280*t1723 + t280*t1726/0.2e1_dp
    2292            0 :          t1731 = d2exerrhorho(Q, dQrho, d2Qrhorho)
    2293            0 :          t1740 = t148*t1602
    2294            0 :          t1767 = t56**2
    2295            0 :          t1768 = t58**2
    2296            0 :          t1770 = t1767*t1768*t28
    2297            0 :          t1781 = A*t713
    2298            0 :          t1786 = f98*t717
    2299            0 :          t1791 = r1*t321
    2300              :          t1802 = ((-2._dp*t823*t1625 + t276*t1176 + 6._dp*t197*t319* &
    2301              :                    t1625 - 2._dp*t197*t273*t1176 + t243*t1649)*alpha4*t247) + &
    2302              :                  (t97*t1729 + t307*t1731)*alpha7*t316 - 0.40e2_dp/0.9e1_dp*t657 &
    2303              :                  *t193*t463*t312 - (12._dp*t1740*t194*t44*t1297) + &
    2304              :                  (6._dp*t285*t60*t29) + ((2._dp*t197*t273*t1625 - t197 &
    2305              :                                           *t241*t1176 - f98*t1649)*alpha2*t153) - (4._dp*t832* &
    2306              :                                                                           t449) - (2._dp*t759*t578) + (2._dp*t237*t1615) - (6._dp* &
    2307              :                                                                      t576*t621) + f12*t1355*t94 + 0.70e2_dp/0.9e1_dp*t761/t8/t1770 &
    2308              :                  *t56*t58 + 0.40e2_dp/0.9e1_dp*t815*t463*t56*t58 + ((12._dp &
    2309              :                                                                   *t1781*t1625 - 3._dp*t820*t1176 - 6._dp*t1786*t1625 + 2._dp*t823 &
    2310              :                                                                      *t1176 + 2._dp*t243*t1791*t1625 - t243*t826*t1176 - t280 &
    2311            0 :                                                                      *t1649)*alpha6*t284*t286)
    2312            0 :          t1804 = t620*t159
    2313            0 :          t1805 = t148*t1804
    2314            0 :          t1816 = t576*t620
    2315            0 :          t1827 = t148*t582*t193
    2316            0 :          t1835 = t148*t149*t1562
    2317            0 :          t1839 = C*t620
    2318            0 :          t1846 = t75*t273
    2319            0 :          t1853 = t771*t275
    2320            0 :          t1854 = t199*t409
    2321            0 :          t1860 = t1531*E*t149
    2322            0 :          t1868 = f916*t1709
    2323            0 :          t1880 = 0.1e1_dp/t258/t1677/t222
    2324            0 :          t1881 = t1880*t1677
    2325            0 :          t1885 = t644*t223
    2326              :          t1898 = -(10._dp*t1805*t658*t6*t453) - 0.14e2_dp/0.3e1_dp*t711 &
    2327              :                  *t311*t765 - 0.16e2_dp/0.3e1_dp*t728*t330*t465 + (6._dp*t1816 &
    2328              :                                                                    *t812) + (2._dp*t81*t149*t1297) + 0.28e2_dp/0.9e1_dp*t629 &
    2329              :                  *t763*t56*t58 - 0.25e2_dp/0.3e1_dp*t1827*t332*t156*t587 &
    2330              :                  *r3*t5 - 0.75e2_dp/0.4e1_dp*t1835*t271*t1564 + (6._dp*t91 &
    2331              :                                                                  *t1839*t1297) + (t197*(t1649 + (t1176*t200 - 2._dp*t1625 &
    2332              :                                                                         *t241 + 2._dp*t1846*t1625 - t769*t1176)*t239*t199 - t1853* &
    2333              :                                                                               t1854 + t772*t409)) - t1860*t195 - (t81*t93*t1301) + &
    2334              :                  (t97*(0.3e1_dp/0.4e1_dp*t243*t1723 - t243*t1726/0.2e1_dp - 0.27e2_dp &
    2335              :                        /0.4e1_dp*(t1868)*(t293)*(t1625) + (3._dp*t639 &
    2336              :                                                            *t75*t1625) + 0.3e1_dp/0.2e1_dp*(t639)*(t250)*(t1176) &
    2337              :                        + 0.75e2_dp/0.4e1_dp*(t255)*(t1881)*(t1625) - &
    2338              :                        (10._dp*t255*t1885*t1625) - 0.5e1_dp/0.2e1_dp*(t255)*(t645) &
    2339            0 :                        *(t1176)) - t267*t1731)*alpha5*t271
    2340            0 :          t1906 = 0.1e1_dp/t205/t222
    2341            0 :          t1907 = t97*t1906
    2342            0 :          t1923 = t176*t575
    2343            0 :          t1932 = t176*t147*t149
    2344            0 :          t1938 = t93*t1562
    2345            0 :          t1951 = t180*t481
    2346            0 :          t1956 = t620*t170
    2347            0 :          t1961 = t180*t90*t149
    2348            0 :          t1967 = t93*t1324
    2349              :          t1977 = -t176*t1531*t93*t159 + (4._dp*t1923*t736) + (5._dp &
    2350              :                                                               *t1923*t740) - (6._dp*t735*t1804*t1297) - (10._dp*t1932 &
    2351              :                                                                      *t1548) + (2._dp*t735*t656*t1301) - 0.75e2_dp/0.4e1_dp*(t735) &
    2352              :                  *(t1938)*(t1564) + (10._dp*t735*t739*t1555) &
    2353              :                  + 0.5e1_dp/0.2e1_dp*(t735)*(t739)*(t1551) - t180 &
    2354              :                  *t1355*t93*t170 + (4._dp*t1951*t748) + (3._dp*t1951*t755) &
    2355              :                  - (6._dp*t746*t1956*t1297) - (6._dp*t1961*t1306) + &
    2356              :                  (2._dp*t746*t747*t1301) - 0.27e2_dp/0.4e1_dp*(t746)*(t1967) &
    2357              :                  *(t1326) + (3._dp*t746*t753*t1310) + 0.3e1_dp/0.2e1_dp &
    2358            0 :                  *(t746)*(t753)*(t1318)
    2359            0 :          t1983 = 0.1e1_dp/t224/t690
    2360            0 :          t1984 = t1983*t256
    2361            0 :          t1988 = t596*t199
    2362            0 :          t1995 = f98*t1722
    2363              :          t2028 = -0.4e1_dp/0.3e1_dp*t685*t72*t406 - 0.2e1_dp/0.3e1_dp*t679* &
    2364              :                  omega*t626 + (0.3e1_dp/0.4e1_dp*t197*t1907*t1625 - t197*t673 &
    2365              :                                *t1176/0.2e1_dp - t209*t1731)*alpha1*t214 + 0.4e1_dp/0.9e1_dp &
    2366              :                  *t174*t1609 + t1977*t185*t190 + 0.10e2_dp/0.9e1_dp*t592*t1173 &
    2367              :                  + (t97*(0.27e2_dp/0.4e1_dp*t221*t1984*t1625 - 0.3e1_dp*t221 &
    2368              :                          *t1988*t1625 - 0.3e1_dp/0.2e1_dp*t221*t597*t1176 - 0.3e1_dp/0.4e1_dp &
    2369              :                          *t1995*t1625 + t603*t1176/0.2e1_dp) + f2716*t1731*t233) &
    2370              :                  *alpha3*t185*t190 + (3._dp*t810*t194*t44*t1301) - (2._dp &
    2371              :                                                                     *t91*t452*t1301) - 0.2e1_dp/0.3e1_dp*t808*t626 - 0.10e2_dp &
    2372              :                  /0.3e1_dp*t653*t193*t817 + t1860 - (4._dp*t617*t454) + 0.88e2_dp &
    2373            0 :                  /0.9e1_dp*t457/t9/t1770*t56*t58
    2374              :          e_rho_rho = e_rho_rho - 0.4e1_dp/0.9e1_dp/t1287*f89*t336 - 0.8e1_dp/0.3e1_dp*t446* &
    2375            0 :                      t836 - t80*(t1663 + t1802 + t1898 + t2028)*Clda
    2376            0 :          t2059 = t156*t1240
    2377            0 :          t2072 = t587*t444
    2378            0 :          t2073 = t581*t156*t2072
    2379              :          t2099 = -0.4e1_dp/0.3e1_dp*t1178*t469 - 0.2e1_dp/0.3e1_dp*t339*t14 &
    2380              :                  *t845*t6 - (4._dp*t412*t472) - 0.2e1_dp*t11*t348*t845 + &
    2381              :                  (2._dp*t412*t479) + t11*t15*(F2*t1208*t68 - t475* &
    2382            0 :                                               t441 - t842*t402 + 2._dp*t85*t1220 - t85*t1237)
    2383            0 :          t2108 = t444*t453
    2384            0 :          t2142 = t870*t507
    2385            0 :          t2144 = t554*t440
    2386            0 :          t2150 = t116*t377*ndrho*t3
    2387              :          t2173 = (f94*t1208*t117*t121) - t1392*t874 + (2._dp*t503 &
    2388              :                                                        *t876*t121) - (t2142*t511) + (2._dp*t1402*t19*t2144) &
    2389              :                  - (2._dp*t2150*t511) - (t508*t18*t509*t1236) - &
    2390              :                  0.2e1_dp/0.3e1_dp*t870*t513*t518 + 0.2e1_dp/0.3e1_dp*t1409*t120 &
    2391              :                  *t1185 - 0.4e1_dp/0.3e1_dp*t116*(t876)*t3*t518 - (2._dp &
    2392            0 :                                                                    *t871*t522) + (2._dp*t508*t357*t873) - (4._dp*t877*t522)
    2393            0 :          t2184 = t96*t115*t880
    2394              :          t2197 = t530*(-2._dp*t532*ndrho*t119*t535 - t534*t15*t888 &
    2395            0 :                        + t1456*t340*t1457*t440)
    2396            0 :          t2224 = t424*t377
    2397              :          t2240 = (t97*(t99*t2099*t82 + t99*t481*t444 + t99*t848 &
    2398              :                        *t453 + t99*t90*t1240 + 2._dp*t102*t2108 + 2._dp*t102*t82 &
    2399              :                        *t1240 + 6._dp*t104*t486*t444 + 3._dp*t104*t92*t1240)*t113) &
    2400              :                  - 0.7e1_dp/0.2e1_dp*t493*t867 - 0.7e1_dp/0.2e1_dp*t865*t499 + 0.63e2_dp &
    2401              :                  /0.4e1_dp*(t108)*(t109)*(t1381)*(t453) &
    2402              :                  *(t444) - 0.7e1_dp/0.2e1_dp*(t108)*(t498)*(t1240) &
    2403              :                  - t502*t2173*t123*t136 - t502*t525*t880*t123*t136 &
    2404              :                  + (2._dp*t1442*t898) + (2._dp*t2184*t563) + (2._dp*t1445 &
    2405              :                                                               *t2197*t562) + 0.2e1_dp*t502*t531*t537*(-t884*t27*t129 &
    2406              :                                                                            *t133*t6/0.3e1_dp - t1478*t1479*t6*t891/0.6e1_dp - t885 &
    2407              :                                                                        *t1473*t132 - t550*t1473*t892/0.2e1_dp + t885*t558/0.2e1_dp &
    2408              :                                                                              - t550*t540*t1491*t556*t891/0.4e1_dp + t550*t540*t551 &
    2409              :                                                                          *(t1209*t77 - t1498*t889 - t2224*t554 + 2._dp*t1501*t2144 &
    2410            0 :                                                                                                         - t553*t77*t1236)/0.2e1_dp)
    2411            0 :          t2245 = t902*t142
    2412              :          t2254 = -t2240*t140*t145 - 0.7e1_dp/0.2e1_dp*t1520*t904 - 0.7e1_dp &
    2413              :                  /0.2e1_dp*t2245*t572 - 0.35e2_dp/0.4e1_dp*t569*t1524*t2108 - &
    2414            0 :                  0.7e1_dp/0.2e1_dp*t569*t571*t1240
    2415            0 :          t2258 = t1547*t918
    2416            0 :          t2267 = t151*t907
    2417            0 :          t2269 = t166*t167
    2418            0 :          t2271 = t752*t154*t2072
    2419              :          t2274 = t81*t792*t1240/0.2e1_dp - t1572*t1573*t444/0.2e1_dp + &
    2420              :                  t81*t787*t1240 + 0.5e1_dp/0.2e1_dp*t779*t783*t2059 - 0.2e1_dp &
    2421              :                  *t81*t149*t163*t453*t444 + t1294*t930 + 0.5e1_dp/0.2e1_dp* &
    2422              :                  t1535*t919 - 0.5e1_dp/0.2e1_dp*t1546*t2073 - t151*t2254*t83 &
    2423              :                  *t159 - 0.5e1_dp/0.2e1_dp*t1546*t2258 + t1535*t916 - 0.2e1_dp*t779 &
    2424              :                  *t656*t2108 + t779*t780*t1240 + t2267*t781 + (3._dp* &
    2425            0 :                                                                t2269*t2271)
    2426            0 :          t2280 = t151*t152
    2427            0 :          t2282 = t1562*t1559*t2072
    2428            0 :          t2285 = t166*t848
    2429            0 :          t2291 = t752*t155*t2072
    2430            0 :          t2297 = t1305*t932
    2431            0 :          t2305 = t581*t168*t2072
    2432            0 :          t2311 = t155*t1240
    2433            0 :          t2316 = t1324*t156*t2072
    2434              :          t2323 = -(2._dp*t799*t747*t2108) + (t799*t800*t1240) &
    2435              :                  - 0.75e2_dp/0.4e1_dp*t2280*t2282 + 0.3e1_dp/0.2e1_dp*t2285*t804 + &
    2436              :                  0.5e1_dp/0.2e1_dp*t2267*t784 - 0.3e1_dp/0.2e1_dp*t1304*t2291 - t166 &
    2437              :                  *t2099*t83*t170 - 0.3e1_dp/0.2e1_dp*t1304*t2297 - t1572*t791 &
    2438              :                  *t587*t444/0.2e1_dp + 0.10e2_dp*t2280*t2305 + 0.3e1_dp/0.2e1_dp &
    2439              :                  *t1294*t933 + t2285*t801 + 0.3e1_dp/0.2e1_dp*(t799)*(t803) &
    2440              :                  *(t2311) - 0.27e2_dp/0.4e1_dp*t2269*t2316 - 0.3e1_dp/0.4e1_dp &
    2441            0 :                  *t84*t1579*t587*t444
    2442            0 :          t2329 = t908*t582
    2443            0 :          t2348 = t176*t907
    2444            0 :          t2363 = t176*t177
    2445              :          t2371 = -t176*t2254*t93*t159 + (2._dp*t1923*t942) + 0.5e1_dp &
    2446              :                  /0.2e1_dp*(t1923)*(t945) + (2._dp*t2348*t736) - (6._dp &
    2447              :                                                                   *t735*t1804*t2108) - (5._dp*t1932*t2258) + (2._dp*t735 &
    2448              :                                                                           *t656*t1240) + 0.5e1_dp/0.2e1_dp*(t2348)*(t740) - (5._dp &
    2449              :                                                                        *t1932*t2073) - 0.75e2_dp/0.4e1_dp*t2363*t2282 + 0.10e2_dp* &
    2450            0 :                  t2363*t2305 + 0.5e1_dp/0.2e1_dp*(t735)*(t739)*(t2059)
    2451            0 :          t2379 = t180*t848
    2452              :          t2401 = -t180*t2099*t93*t170 + (2._dp*t1951*t951) + 0.3e1_dp &
    2453              :                  /0.2e1_dp*(t1951)*(t954) + (2._dp*t2379*t748) - (6._dp &
    2454              :                                                                   *t746*t1956*t2108) - (3._dp*t1961*t2297) + (2._dp*t746 &
    2455              :                                                                           *t747*t1240) + 0.3e1_dp/0.2e1_dp*(t2379)*(t755) - (3._dp &
    2456              :                                                                        *t1961*t2291) - 0.27e2_dp/0.4e1_dp*t95*t2316 + 0.3e1_dp*t95 &
    2457            0 :                  *t2271 + 0.3e1_dp/0.2e1_dp*(t746)*(t753)*(t2311)
    2458              :          t2405 = -0.25e2_dp/0.6e1_dp*t1827*t816*t5*t156*t444 + 0.12e2_dp &
    2459              :                  *t148*t1602*t453*t444 - 0.5e1_dp*t1805*t658*t6*t444 + &
    2460              :                  0.6e1_dp*t746*t621*t444 + (t2274 + t2323)*omega*t128 - (2._dp &
    2461              :                                                                    *t1035*t449) + 0.5e1_dp/0.2e1_dp*t2329*t589 + 0.5e1_dp/0.2e1_dp &
    2462              :                  *t1599*t965 - t81*t93*t1240 - 0.7e1_dp/0.3e1_dp*t1052*t311 &
    2463            0 :                  *t765 - t937*t626/0.3e1_dp + (t2371 + t2401)*t185*t190
    2464            0 :          t2410 = t2254*E*t149
    2465            0 :          t2437 = t698*t444
    2466            0 :          t2442 = t75*t409*t444
    2467            0 :          t2449 = t1722*t409*t444
    2468            0 :          t2452 = t602*t1240
    2469              :          t2455 = 0.147e3_dp/0.4e1_dp*t288*t1680*t1681*t409*t444 - 0.21e2_dp &
    2470              :                  *t288*t689*t257*t409*t444 - 0.7e1_dp/0.2e1_dp*t288*t691 &
    2471              :                  *t1240 - 0.75e2_dp/0.4e1_dp*t1697*t1693*t409*t444 + 0.10e2_dp &
    2472              :                  *t697*t251*t409*t444 + 0.5e1_dp/0.2e1_dp*t697*t293*t1240 &
    2473              :                  + 0.27e2_dp/0.4e1_dp*t298*t1709*t2437 - 0.3e1_dp*t298*t638*t2442 &
    2474              :                  - 0.3e1_dp/0.2e1_dp*t298*t701*t1240 - 0.3e1_dp/0.4e1_dp*t280* &
    2475            0 :                  t2449 + t280*t2452/0.2e1_dp
    2476            0 :          t2457 = d2exerrhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    2477            0 :          t2473 = t409*t444
    2478            0 :          t2484 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    2479              :          t2499 = -(3._dp*t908*t621) - t1001*t578 - t2410*t195 + t2410 &
    2480              :                  + (t97*t2455 + t307*t2457)*alpha7*t316 + 0.5e1_dp/0.2e1_dp* &
    2481              :                  t583*t271*t2059 - 0.12e2_dp*t148*t1602*t159*t271*t2108 &
    2482              :                  - t982*omega*t626/0.3e1_dp + ((-2._dp*t823*t2473 + t276* &
    2483              :                                                 t1240 + 6._dp*t197*t319*t409*t444 - 2._dp*t197*t273*t1240 + &
    2484              :                                                 t243*t2484)*alpha4*t247) - 0.15e2_dp/0.2e1_dp*t1658*t271*t588 &
    2485              :                  *(t444) - 0.4e1_dp/0.3e1_dp*t1009*t192*t631 - 0.3e1_dp*t148 &
    2486            0 :                  *t620*(t1240)
    2487            0 :          t2512 = t199*t444
    2488            0 :          t2529 = t721*t444
    2489            0 :          t2543 = t908*t620
    2490              :          t2573 = (3._dp*t1816*t962) + (t197*(t2484 + (t1240*t200 &
    2491              :                                                       - 2._dp*t681*t444 + 2._dp*t1846*t2473 - t769*t1240)*t239*t199 &
    2492              :                                              - t1853*t2512 + t772*t444)) - 0.5e1_dp/0.3e1_dp*t1024*t193 &
    2493              :                  *t817 + ((12._dp*t1781*t2473 - 3._dp*t820*t1240 - 6._dp*t1786* &
    2494              :                            t2473 + 2._dp*t823*t1240 + 2._dp*t243*r1*t2529 - t243*t826* &
    2495              :                            t1240 - t280*t2484)*alpha6*t284*t286) + (2._dp*t81*t149 &
    2496              :                                                                     *t453*t444) + (3._dp*t2543*t812) + f12*t2099*t94 + (10._dp &
    2497              :                                                                                     *t583*t271*t168*t587*t444) + ((2._dp*t197*t663 &
    2498              :                                                                       *t444 - t197*t241*t1240 - f98*t2484)*alpha2*t153) - 0.8e1_dp &
    2499              :                  /0.3e1_dp*t1066*t330*t465 - 0.2e1_dp/0.3e1_dp*t988*t72*t406 &
    2500              :                  - 0.75e2_dp/0.4e1_dp*(t1835)*(t271)*(t1559)*(t587) &
    2501            0 :                  *(t444)
    2502              :          t2688 = -(2._dp*t91*t452*t1240) - (2._dp*t617*t851) + (t97 &
    2503              :                                                                 *(0.3e1_dp/0.4e1_dp*t243*t2449 - t243*t2452/0.2e1_dp - 0.27e2_dp &
    2504              :                                                                   /0.4e1_dp*t1868*t2437 + (3._dp*t639*t2442) + 0.3e1_dp/0.2e1_dp* &
    2505              :                                                                   (t639)*(t250)*(t1240) + 0.75e2_dp/0.4e1_dp*t255*t1880 &
    2506              :                                                                   *t1677*t409*t444 - 0.10e2_dp*t255*t644*t223*t409* &
    2507              :                                                                   t444 - 0.5e1_dp/0.2e1_dp*t255*t645*(t1240)) - t267*t2457) &
    2508              :                  *alpha5*t271 - (3._dp*t576*t910) - (2._dp*t849*t454) - &
    2509              :                  t958*t578 + (0.20e2_dp*t318*t1624*t409*t444 - 0.4e1_dp*t318 &
    2510              :                               *t713*(t1240) - (12._dp*t1633*t2473) + (3._dp*t718* &
    2511              :                                                                       t1240) + 0.6e1_dp*t243*t717*t409*t444 - 0.2e1_dp*t243*t321* &
    2512              :                               (t1240) - (2._dp*t280*t2529) + (t280*t275*t1240) &
    2513              :                               + t326*t2484)*alpha8*t333 + (3._dp*t810*t194*t44*t1240) &
    2514              :                  + (0.3e1_dp/0.4e1_dp*t197*t97*t1906*t409*t444 - t197*t673 &
    2515              :                     *(t1240)/0.2e1_dp - t209*t2457)*alpha1*t214 + 0.5e1_dp &
    2516              :                  /0.3e1_dp*t908*t656*t659 + (t97*(0.27e2_dp/0.4e1_dp*t221*t1983 &
    2517              :                                                   *t256*t409*t444 - 0.3e1_dp*t221*t596*t1854*t444 - 0.3e1_dp &
    2518              :                                                   /0.2e1_dp*t221*t597*(t1240) - 0.3e1_dp/0.4e1_dp*(t1995) &
    2519              :                                                   *(t2473) + (t603*t1240)/0.2e1_dp) + f2716*t2457*t233) &
    2520              :                  *alpha3*t185*t190 - 0.15e2_dp/0.2e1_dp*t1658*t271*t453 &
    2521            0 :                  *t156*t444
    2522              :          e_ndrho_rho = e_ndrho_rho - 0.4e1_dp/0.3e1_dp*t446*t1069 - t80*(t2405 + t2499 + t2573 &
    2523            0 :                                                                          + t2688)*Clda
    2524              :          t2707 = 2._dp*t119*t88 + 4._dp*t412*t846 + t11*t15*(F2*t1257 &
    2525            0 :                                                              *t68 - 2._dp*t842*t441 + 2._dp*t85*t1265 - t85*t1282)
    2526            0 :          t2715 = t444**2
    2527            0 :          t2764 = t880**2
    2528            0 :          t2774 = t891**2
    2529              :          t2808 = -((t97*(t99*t2707*t82 + 2._dp*t99*t848*t444 + t99 &
    2530              :                          *t90*t1285 + 2._dp*t102*t2715 + 2._dp*t102*t82*t1285 + 6._dp* &
    2531              :                          t104*t82*t2715 + 3._dp*t104*t92*t1285)*t113) - (7._dp*t865 &
    2532              :                                                                          *t867) + 0.63e2_dp/0.4e1_dp*(t108)*(t1382)*(t2715) &
    2533              :                    - 0.7e1_dp/0.2e1_dp*(t108)*(t498)*(t1285) - (t502 &
    2534              :                                                                 *(f94*t1257*t117*t121 - 2._dp*t2142*t874 + 4._dp*t870* &
    2535              :                                                                   t876*t121 + 2._dp*t1402*t18*t509*t1264 - 4._dp*t2150*t874 - &
    2536              :                                                                   t508*t18*t509*t1281 + 2._dp*t116*t68*t3*t18*t509)*t123 &
    2537              :                                                                 *t136) - (t502*t2764*t123*t136) + (4._dp*t2184* &
    2538              :                                                                            t898) + (2._dp*t1445*t2197*t897) + 0.2e1_dp*(t502)*t531 &
    2539              :                    *t537*(t885*t893 - t550*t540*t1491*t2774/0.4e1_dp + t550 &
    2540              :                           *t540*t551*(t1258*t77 - 2._dp*t2224*t889 + 2._dp*t1501 &
    2541              :                                       *t77*t1264 - t553*t77*t1281)/0.2e1_dp))*t140*t145 - (7._dp &
    2542              :                                                                           *t2245*t904) - 0.35e2_dp/0.4e1_dp*(t569)*(t1524)*(t2715) &
    2543            0 :                  - 0.7e1_dp/0.2e1_dp*(t569)*(t571)*(t1285)
    2544            0 :          t2810 = t2808*E*t149
    2545            0 :          t2838 = t1722*t2715
    2546            0 :          t2841 = t602*t1285
    2547              :          t2844 = 0.147e3_dp/0.4e1_dp*t288*t1682*t2715 - 0.21e2_dp*t288*t1686 &
    2548              :                  *t2715 - 0.7e1_dp/0.2e1_dp*t288*t691*t1285 - 0.75e2_dp/0.4e1_dp &
    2549              :                  *t1697*t1693*t2715 + 0.10e2_dp*t697*t251*t2715 + 0.5e1_dp/ &
    2550              :                  0.2e1_dp*t697*t293*t1285 + 0.27e2_dp/0.4e1_dp*t298*t1710*t2715 &
    2551              :                  - 0.3e1_dp*t298*t1714*t2715 - 0.3e1_dp/0.2e1_dp*t298*t701*t1285 &
    2552            0 :                  - 0.3e1_dp/0.4e1_dp*t280*t2838 + t280*t2841/0.2e1_dp
    2553            0 :          t2846 = d2exerndrhondrho(Q, dQndrho, d2Qndrhondrho)
    2554            0 :          t2875 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    2555            0 :          t2880 = t2715*t156
    2556            0 :          t2884 = t1559*t2715
    2557            0 :          t2927 = t156*t1285
    2558              :          t2963 = t2810 + (t97*t2844 + t307*t2846)*alpha7*t316 + (3._dp &
    2559              :                                                                  *t810*t194*t44*t1285) - (6._dp*t908*t910) - (3._dp* &
    2560              :                                                                      t148*t620*t1285) + (0.3e1_dp/0.4e1_dp*t197*t1907*t2715 - t197 &
    2561              :                                                                                 *t673*(t1285)/0.2e1_dp - t209*t2846)*alpha1*t214 + &
    2562              :                  (0.2e1_dp*t197*t273*t2715 - t197*t241*(t1285) - f98*t2875) &
    2563              :                  *alpha2*t153 - (15._dp*t1658*t271*t2880) - 0.75e2_dp/ &
    2564              :                  0.4e1_dp*(t1835)*(t271)*(t2884) + (0.20e2_dp*t318* &
    2565              :                                                     t1624*t2715 - 0.4e1_dp*t318*t713*(t1285) - 0.12e2_dp*t1633 &
    2566              :                                                     *t2715 + (3._dp*t718*t1285) + 0.6e1_dp*t243*t717*t2715 - &
    2567              :                                                     0.2e1_dp*t243*t321*(t1285) - 0.2e1_dp*t280*t321*t2715 + &
    2568              :                                                     t280*t275*(t1285) + t326*t2875)*alpha8*t333 + t197 &
    2569              :                  *(t2875 + ((t1285*t200) - 0.2e1_dp*t2715*t241 + 0.2e1_dp*t1846 &
    2570              :                             *t2715 - (t769*t1285))*t239*t199 - t971*t275*t2512 &
    2571              :                    + t972*t444) + 0.5e1_dp/0.2e1_dp*(t583)*(t271)*(t2927) &
    2572              :                  + (t97*(0.3e1_dp/0.4e1_dp*t243*t2838 - t243*t2841/0.2e1_dp &
    2573              :                          - 0.27e2_dp/0.4e1_dp*t1868*t293*t2715 + 0.3e1_dp*t639*t75 &
    2574              :                          *t2715 + 0.3e1_dp/0.2e1_dp*t639*t250*(t1285) + 0.75e2_dp/0.4e1_dp &
    2575              :                          *t255*t1881*t2715 - 0.10e2_dp*t255*t1885*t2715 - 0.5e1_dp &
    2576              :                          /0.2e1_dp*t255*t645*(t1285)) - t267*t2846)*alpha5*(t271) &
    2577            0 :                  + (5._dp*t2329*t965) - (t81*t93*t1285)
    2578            0 :          t2971 = t2715*t155
    2579            0 :          t2975 = t154*t2715
    2580            0 :          t2979 = t155*t1285
    2581            0 :          t2994 = t168*t2715
    2582              :          t3001 = -(2._dp*t799*t747*t2715) + (t799*t800*t1285) &
    2583              :                  - (3._dp*t799*t753*t2971) + (3._dp*t799*t803*t2975) + &
    2584              :                  0.3e1_dp/0.2e1_dp*(t799)*(t803)*(t2979) - 0.27e2_dp/0.4e1_dp &
    2585              :                  *(t799)*(t1325)*(t2880) - (2._dp*t779*t656 &
    2586              :                                             *t2715) + (t779*t780*t1285) - (5._dp*t779*t739*t2880) &
    2587              :                  + (10._dp*t779*t783*t2994) + 0.5e1_dp/0.2e1_dp*(t779) &
    2588            0 :                  *(t783)*(t2927)
    2589              :          t3033 = -0.75e2_dp/0.4e1_dp*t779*t1563*t2884 - (2._dp*t81*t1568 &
    2590              :                                                          *t2715) - (t81*t93*t791*t2715) + (t81*t787*t1285) &
    2591              :                  - 0.3e1_dp/0.4e1_dp*(t81)*(t1580)*(t2715) + (t81 &
    2592              :                                                               *t792*t1285)/0.2e1_dp - t166*t2707*t83*t170 + (2._dp &
    2593              :                                                                                *t2285*t930) + (3._dp*t2285*t933) - t151*t2808*t83* &
    2594            0 :                  t159 + (2._dp*t2267*t916) + (5._dp*t2267*t919)
    2595              :          t3139 = -t176*t2808*t93*t159 + (4._dp*t2348*t942) + (5._dp &
    2596              :                                                               *t2348*t945) - (6._dp*t735*t1804*t2715) - (10._dp*t735 &
    2597              :                                                                        *t582*t2880) + (2._dp*t735*t656*t1285) - 0.75e2_dp/0.4e1_dp &
    2598              :                  *(t735)*(t1938)*(t2884) + (10._dp*t735*t739 &
    2599              :                                             *t2994) + 0.5e1_dp/0.2e1_dp*(t735)*(t739)*(t2927) - &
    2600              :                  t180*t2707*t93*t170 + (4._dp*t2379*t951) + (3._dp*t2379 &
    2601              :                                                              *t954) - (6._dp*t746*t1956*t2715) - (6._dp*t746*t149 &
    2602              :                                                                        *t752*t2971) + (2._dp*t746*t747*t1285) - 0.27e2_dp/0.4e1_dp &
    2603              :                  *(t746)*(t1967)*(t2880) + (3._dp*t746*t753* &
    2604            0 :                                             t2975) + 0.3e1_dp/0.2e1_dp*(t746)*(t753)*(t2979)
    2605              :          t3167 = f12*t2707*t94 + (t3001 + t3033)*omega*t128 + (2._dp &
    2606              :                                                                *t81*t149*t2715) + (6._dp*t2543*t962) - t2810*t195 + (10._dp &
    2607              :                                                                                    *t583*t271*t2994) + (12._dp*t148*t1602*t2715) + &
    2608              :                  (t97*(0.27e2_dp/0.4e1_dp*(t221)*(t1984)*(t2715) - &
    2609              :                        (3._dp*t221*t1988*t2715) - 0.3e1_dp/0.2e1_dp*(t221)*(t597) &
    2610              :                        *(t1285) - 0.3e1_dp/0.4e1_dp*(t1995)*(t2715) + &
    2611              :                        (t603*t1285)/0.2e1_dp) + f2716*t2846*t233)*alpha3*t185 &
    2612              :                  *t190 + ((-2._dp*t823*t2715 + t276*t1285 + 6._dp*t197*t319 &
    2613              :                            *t2715 - 2._dp*t197*t273*t1285 + t243*t2875)*alpha4*t247) &
    2614              :                  - (2._dp*t91*t452*t1285) - (4._dp*t849*t851) + t3139 &
    2615              :                  *t185*t190 + (6._dp*t91*t1839*t2715) + ((12._dp*t1781 &
    2616              :                                                           *t2715 - 3._dp*t820*t1285 - 6._dp*t1786*t2715 + 2._dp*t823*t1285 &
    2617              :                                                           + 2._dp*t243*t1791*t2715 - t243*t826*t1285 - t280*t2875)* &
    2618            0 :                                                          alpha6*t284*t286) - (12._dp*t1740*t194*t44*t2715)
    2619            0 :          e_ndrho_ndrho = e_ndrho_ndrho - t80*(t2963 + t3167)*Clda
    2620              :       END IF
    2621              : 
    2622     25797052 :    END SUBROUTINE xwpbe_lda_calc_1
    2623              : 
    2624              : ! **************************************************************************************************
    2625              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda.
    2626              : !> \param e_0 ...
    2627              : !> \param e_rho ...
    2628              : !> \param e_ndrho ...
    2629              : !> \param e_rho_rho ...
    2630              : !> \param e_ndrho_rho ...
    2631              : !> \param e_ndrho_ndrho ...
    2632              : !> \param rho , ndrho: density and norm of the density gradient
    2633              : !> \param ndrho ...
    2634              : !> \param omega scaling factor
    2635              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
    2636              : !> \param sx scaling factor
    2637              : !> \param order degree of the derivative that should be evaluated,
    2638              : !>        if positive all the derivatives up to the given degree are evaluated,
    2639              : !>        if negative only the given degree is calculated
    2640              : !> \par History
    2641              : !>      05.2007 created [Manuel Guidon]
    2642              : !> \author Manuel Guidon
    2643              : !> \note
    2644              : !>      This routine evaluates the functional for omega!=0 using a taylor
    2645              : !>      expansion for the parameter G.
    2646              : ! **************************************************************************************************
    2647       301462 :    SUBROUTINE xwpbe_lda_calc_2(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
    2648              :                                e_ndrho_ndrho, rho, ndrho, omega, sscale, sx, order)
    2649              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
    2650              :                                                             e_ndrho_rho, e_ndrho_ndrho
    2651              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, omega, sscale, sx
    2652              :       INTEGER, INTENT(IN)                                :: order
    2653              : 
    2654              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t100, &
    2655              :          t102, t1022, t1024, t1026, t1029, t103, t1031, t1034, t105, t106, t1061, t1067, t1073, &
    2656              :          t108, t109, t1090, t1093, t1095, t11, t110, t111, t1111, t1118, t1119, t112, t113, t1136, &
    2657              :          t1139, t114, t1141, t1149, t115, t1150, t1151, t1157, t1158, t1159, t116, t1162, t1167, &
    2658              :          t1168, t117, t1178, t118, t1181, t1182, t1186, t1195, t12, t121, t122, t1239, t1241, &
    2659              :          t1243, t125, t1251, t1256, t126, t1261, t1262, t1263, t1266, t127, t1270, t1273, t1274, &
    2660              :          t1275, t1276, t128, t1280, t1287, t1288, t129, t13, t1317, t1321
    2661              :       REAL(KIND=dp) :: t1326, t133, t1331, t1332, t1333, t134, t1341, t1342, t1343, t1347, t1351, &
    2662              :          t1355, t136, t1362, t137, t1374, t1379, t1382, t1383, t1385, t1392, t1397, t14, t140, &
    2663              :          t1407, t141, t1417, t1426, t1430, t1434, t1435, t1438, t1442, t1443, t145, t1453, t146, &
    2664              :          t1469, t1473, t1476, t149, t15, t151, t1517, t1519, t153, t1538, t154, t1545, t1546, &
    2665              :          t155, t1552, t1553, t156, t1577, t158, t1584, t1589, t159, t1594, t16, t160, t161, t1613, &
    2666              :          t1614, t1615, t1619, t1626, t163, t1630, t1640, t1644, t1655, t166, t1661, t1666, t1667, &
    2667              :          t167, t1671, t1678, t1691, t1699, t17, t171, t172, t1726, t173
    2668              :       REAL(KIND=dp) :: t1732, t1736, t1737, t1742, t1756, t176, t1768, t177, t1773, t1785, t1788, &
    2669              :          t1791, t1795, t18, t1816, t182, t1824, t184, t1841, t185, t1850, t186, t187, t1885, t19, &
    2670              :          t190, t191, t1938, t1946, t196, t1976, t1978, t2, t200, t2018, t202, t204, t2053, t2056, &
    2671              :          t206, t2060, t2066, t2069, t2071, t2072, t2076, t2084, t2086, t209, t2090, t2099, t21, &
    2672              :          t210, t2105, t2111, t2115, t213, t2133, t2136, t214, t215, t2155, t2158, t216, t218, &
    2673              :          t2180, t219, t2195, t22, t220, t2203, t221, t2211, t2233, t226, t227, t2274, t2279, t228, &
    2674              :          t2280, t2283, t23, t230, t2306, t2316, t2323, t233, t2336, t234
    2675              :       REAL(KIND=dp) :: t236, t2365, t238, t239, t2391, t24, t243, t2432, t2452, t2454, t247, &
    2676              :          t2473, t248, t2486, t249, t25, t2501, t251, t2511, t2515, t2519, t252, t253, t256, t257, &
    2677              :          t2571, t258, t2604, t261, t266, t2668, t268, t27, t270, t273, t274, t275, t276, t278, &
    2678              :          t279, t28, t281, t282, t284, t289, t29, t292, t293, t295, t296, t298, t299, t3, t301, &
    2679              :          t302, t303, t305, t306, t308, t309, t31, t310, t311, t312, t314, t315, t316, t317, t32, &
    2680              :          t320, t321, t324, t325, t326, t327, t331, t334, t335, t336, t337, t338, t339, t34, t340, &
    2681              :          t341, t346, t347, t348, t349, t35, t353, t355, t36, t361, t364, t365
    2682              :       REAL(KIND=dp) :: t366, t367, t369, t372, t374, t375, t378, t379, t38, t382, t383, t384, &
    2683              :          t387, t388, t389, t39, t391, t392, t395, t396, t4, t400, t403, t404, t405, t407, t409, &
    2684              :          t41, t413, t416, t417, t42, t420, t423, t428, t433, t434, t436, t44, t440, t441, t442, &
    2685              :          t443, t447, t448, t452, t453, t454, t457, t458, t46, t461, t464, t467, t468, t470, t474, &
    2686              :          t475, t476, t48, t480, t481, t482, t483, t487, t489, t49, t491, t496, t5, t500, t503, &
    2687              :          t505, t506, t507, t510, t512, t513, t514, t516, t519, t522, t523, t524, t530, t531, t535, &
    2688              :          t536, t54, t541, t542, t549, t55, t551, t552, t558, t559, t56, t561
    2689              :       REAL(KIND=dp) :: t565, t566, t569, t574, t577, t579, t58, t583, t584, t585, t587, t588, &
    2690              :          t591, t595, t596, t6, t60, t603, t604, t605, t607, t608, t61, t612, t615, t620, t622, &
    2691              :          t626, t628, t629, t63, t633, t634, t635, t638, t641, t644, t65, t650, t652, t656, t658, &
    2692              :          t659, t660, t665, t67, t670, t671, t679, t68, t681, t685, t687, t689, t69, t692, t695, &
    2693              :          t697, t699, t7, t70, t702, t705, t709, t71, t710, t714, t72, t723, t725, t727, t73, t733, &
    2694              :          t736, t737, t739, t74, t740, t742, t747, t748, t75, t751, t752, t755, t756, t758, t759, &
    2695              :          t760, t761, t767, t769, t77, t770, t78, t781, t783, t784, t788, t793
    2696              :       REAL(KIND=dp) :: t796, t8, t80, t802, t805, t809, t81, t813, t816, t819, t82, t822, t823, &
    2697              :          t83, t830, t833, t839, t84, t85, t852, t860, t862, t87, t875, t88, t886, t9, t90, t903, &
    2698              :          t91, t917, t919, t92, t920, t923, t928, t93, t930, t932, t933, t936, t938, t939, t94, &
    2699              :          t943, t944, t947, t95, t950, t951, t953, t954, t956, t959, t96, t963, t966, t968, t97, &
    2700              :          t972, t976, t979, t982, t985, t987, t988, t989, t99, t992
    2701              : 
    2702       301462 :       IF (order >= 0) THEN
    2703       301462 :          t1 = ndrho**2
    2704       301462 :          t2 = r2**2
    2705       301462 :          t3 = 0.1e1_dp/t2
    2706       301462 :          t4 = t1*t3
    2707       301462 :          t5 = pi**2
    2708       301462 :          t6 = r3*t5
    2709       301462 :          t7 = t6*rho
    2710       301462 :          t8 = t7**(0.1e1_dp/0.3e1_dp)
    2711       301462 :          t9 = t8**2
    2712       301462 :          t10 = 0.1e1_dp/t9
    2713       301462 :          t11 = t4*t10
    2714       301462 :          t12 = rho**2
    2715       301462 :          t13 = 0.1e1_dp/t12
    2716       301462 :          t14 = sscale**2
    2717       301462 :          t15 = t13*t14
    2718       301462 :          t16 = a1*t1
    2719       301462 :          t17 = t16*t3
    2720       301462 :          t18 = t10*t13
    2721       301462 :          t19 = t18*t14
    2722       301462 :          t21 = t1**2
    2723       301462 :          t22 = a2*t21
    2724       301462 :          t23 = t2**2
    2725       301462 :          t24 = 0.1e1_dp/t23
    2726       301462 :          t25 = t22*t24
    2727       301462 :          t27 = 0.1e1_dp/t8/t7
    2728       301462 :          t28 = t12**2
    2729       301462 :          t29 = 0.1e1_dp/t28
    2730       301462 :          t31 = t14**2
    2731       301462 :          t32 = t27*t29*t31
    2732       301462 :          t34 = t17*t19 + t25*t32
    2733       301462 :          t35 = a3*t21
    2734       301462 :          t36 = t35*t24
    2735       301462 :          t38 = t21*ndrho
    2736       301462 :          t39 = a4*t38
    2737       301462 :          t41 = 0.1e1_dp/t23/r2
    2738       301462 :          t42 = t39*t41
    2739       301462 :          t44 = 0.1e1_dp/t9/t7
    2740       301462 :          t46 = 0.1e1_dp/t28/rho
    2741       301462 :          t48 = t31*sscale
    2742       301462 :          t49 = t44*t46*t48
    2743       301462 :          t54 = 0.1e1_dp/t23/t2
    2744       301462 :          t55 = a5*t21*t1*t54
    2745       301462 :          t56 = r3**2
    2746       301462 :          t58 = t5**2
    2747       301462 :          t60 = 0.1e1_dp/t56/t58
    2748       301462 :          t61 = t28**2
    2749       301462 :          t63 = t31*t14
    2750       301462 :          t65 = t60/t61*t63
    2751       301462 :          t67 = r1 + t36*t32 + t42*t49 + t55*t65
    2752       301462 :          t68 = 0.1e1_dp/t67
    2753       301462 :          t69 = t34*t68
    2754       301462 :          t70 = t15*t69
    2755       301462 :          t71 = t11*t70
    2756       301462 :          t72 = omega**2
    2757       301462 :          t73 = beta*t72
    2758       301462 :          t74 = t73*t10
    2759       301462 :          t75 = t71 + t74
    2760       301462 :          t77 = 0.1e1_dp/A
    2761       301462 :          Q = f94*t75*t77
    2762       301462 :          t78 = rho**(0.1e1_dp/0.3e1_dp)
    2763       301462 :          t80 = t78*rho*f89
    2764       301462 :          t81 = B*f12
    2765       301462 :          t82 = t71 + DD
    2766       301462 :          t83 = 0.1e1_dp/t82
    2767       301462 :          t84 = t81*t83
    2768       301462 :          t85 = F2*t34
    2769       301462 :          t87 = F1 + t85*t68
    2770       301462 :          t88 = t15*t87
    2771       301462 :          t90 = t11*t88 + r1
    2772       301462 :          t91 = f12*t90
    2773       301462 :          t92 = t82**2
    2774       301462 :          t93 = 0.1e1_dp/t92
    2775       301462 :          t94 = C*t93
    2776       301462 :          t95 = t91*t94
    2777       301462 :          t96 = g2*t1
    2778       301462 :          t97 = t96*t3
    2779       301462 :          t99 = g3*t21
    2780       301462 :          t100 = t99*t24
    2781       301462 :          t102 = g1 + t97*t19 + t100*t32
    2782       301462 :          t103 = t15*t102
    2783       301462 :          t105 = t11*t103 + r1
    2784       301462 :          t106 = t105*E
    2785       301462 :          t108 = 0.1e1_dp/t92/t82
    2786       301462 :          t109 = t106*t108
    2787       301462 :          t110 = f158*E
    2788       301462 :          t111 = t105*t83
    2789       301462 :          t112 = t72*t10
    2790       301462 :          t113 = t71 + DD + t112
    2791       301462 :          t114 = t113**2
    2792       301462 :          t115 = t114**2
    2793       301462 :          t116 = t115*t113
    2794       301462 :          t117 = SQRT(t116)
    2795       301462 :          t118 = 0.1e1_dp/t117
    2796       301462 :          t121 = SQRT(t113)
    2797       301462 :          t122 = 0.1e1_dp/t121
    2798       301462 :          t125 = f68*C
    2799       301462 :          t126 = t90*t83
    2800       301462 :          t127 = t114*t113
    2801       301462 :          t128 = SQRT(t127)
    2802       301462 :          t129 = 0.1e1_dp/t128
    2803              :          t133 = (-t110*t111*t118 - t81*t83*t122 - t125*t126*t129) &
    2804       301462 :                 *omega
    2805       301462 :          t134 = 0.1e1_dp/t8
    2806       301462 :          t136 = f52*E
    2807       301462 :          t137 = t105*t93
    2808       301462 :          t140 = f12*C
    2809       301462 :          t141 = t90*t93
    2810       301462 :          t145 = t72*omega
    2811       301462 :          t146 = (-t136*t137*t118 - t140*t141*t129)*t145
    2812       301462 :          t149 = 0.1e1_dp/r3/t5
    2813       301462 :          t151 = t149/rho
    2814       301462 :          t153 = t72**2
    2815       301462 :          t154 = t153*omega
    2816       301462 :          t155 = t118*t154
    2817       301462 :          t156 = t155*t44
    2818       301462 :          t158 = f12*A
    2819       301462 :          t159 = exei(Q)
    2820       301462 :          t160 = t71 + DD + t74
    2821       301462 :          t161 = 0.1e1_dp/t160
    2822       301462 :          t163 = LOG(t75*t161)
    2823       301462 :          t166 = rootpi
    2824       301462 :          t167 = SQRT(t160)
    2825       301462 :          t171 = SQRT(A)
    2826       301462 :          t172 = t171*f34
    2827       301462 :          t173 = exer(Q)
    2828       301462 :          t176 = (t158*t166/t167 - t172*t173)*alpha1
    2829       301462 :          t177 = omega*t134
    2830       301462 :          t182 = (t158*t161 - f98*t159)*alpha2
    2831       301462 :          t184 = A*f14
    2832       301462 :          t185 = t160**2
    2833       301462 :          t186 = t185*t160
    2834       301462 :          t187 = SQRT(t186)
    2835       301462 :          t190 = SQRT(t75)
    2836       301462 :          t191 = 0.1e1_dp/t190
    2837       301462 :          t196 = 0.1e1_dp/t171
    2838              :          t200 = (t166*(t184/t187 - f98*t191) + f2716*t173*t196)* &
    2839       301462 :                 alpha3*t145
    2840       301462 :          t202 = 0.1e1_dp/t75
    2841       301462 :          t204 = 0.1e1_dp/t185
    2842       301462 :          t206 = f8132*t77
    2843       301462 :          t209 = (-f98*t202 + t158*t204 + t206*t159)*alpha4
    2844       301462 :          t210 = t153*t27
    2845       301462 :          t213 = t75**2
    2846       301462 :          t214 = t213*t75
    2847       301462 :          t215 = SQRT(t214)
    2848       301462 :          t216 = 0.1e1_dp/t215
    2849       301462 :          t218 = f38*A
    2850       301462 :          t219 = t185**2
    2851       301462 :          t220 = t219*t160
    2852       301462 :          t221 = SQRT(t220)
    2853       301462 :          t226 = A**2
    2854       301462 :          t227 = t226*A
    2855       301462 :          t228 = SQRT(t227)
    2856       301462 :          t230 = f24364/t228
    2857              :          t233 = (t166*(t206*t191 - f916*t216 + t218/t221) - t230*t173) &
    2858       301462 :                 *alpha5
    2859       301462 :          t234 = t154*t44
    2860       301462 :          t236 = 0.1e1_dp/t186
    2861       301462 :          t238 = 0.1e1_dp/t213
    2862       301462 :          t239 = f98*t238
    2863       301462 :          t243 = f729128/t226
    2864       301462 :          t247 = t153*t72
    2865              :          t248 = (A*t236 - t239 + t206*r1*t202 - t243*t159)*alpha6 &
    2866       301462 :                 *t247
    2867       301462 :          t249 = t60*t13
    2868       301462 :          t251 = f1516*A
    2869       301462 :          t252 = t219*t186
    2870       301462 :          t253 = SQRT(t252)
    2871       301462 :          t256 = t213**2
    2872       301462 :          t257 = t256*t75
    2873       301462 :          t258 = SQRT(t257)
    2874       301462 :          t261 = f8164*t77
    2875       301462 :          t266 = t226**2
    2876       301462 :          t268 = SQRT(t266*A)
    2877       301462 :          t270 = f2187256/t268
    2878              :          t273 = (t166*(t251/t253 - f2732/t258 + t261*t216 - t243*t191) &
    2879       301462 :                  + t270*t173)*alpha7
    2880       301462 :          t274 = t153*t145
    2881       301462 :          t275 = t56*t58
    2882       301462 :          t276 = t275*t12
    2883       301462 :          t278 = 0.1e1_dp/t8/t276
    2884       301462 :          t279 = t274*t278
    2885       301462 :          t281 = r3*A
    2886       301462 :          t282 = 0.1e1_dp/t219
    2887       301462 :          t284 = 0.1e1_dp/t214
    2888       301462 :          t289 = f6561512/t227
    2889              :          t292 = (t281*t282 - f94*t284 + t206*t238 - t243*t202 + t289 &
    2890       301462 :                  *t159)*alpha8
    2891       301462 :          t293 = t153**2
    2892       301462 :          t295 = 0.1e1_dp/t9/t276
    2893       301462 :          t296 = t293*t295
    2894              :          t298 = t84 + t95 + t109 + t133*t134 + t146*t151 - t109*t156 + &
    2895              :                 t158*(t159 + t163) + t176*t177 + t182*t112 + t200*t151 + &
    2896       301462 :                 t209*t210 + t233*t234 + t248*t249 + t273*t279 + t292*t296
    2897       301462 :          t299 = t298*Clda
    2898       301462 :          e_0 = e_0 + (-t80*t299)*sx
    2899              :       END IF
    2900       301462 :       IF (order >= 1 .OR. order == -1) THEN
    2901       296935 :          t301 = t44*t13
    2902       296935 :          t302 = t4*t301
    2903       296935 :          t303 = t14*t34
    2904       296935 :          t305 = t68*r3*t5
    2905       296935 :          t306 = t303*t305
    2906       296935 :          t308 = 0.2e1_dp/0.3e1_dp*t302*t306
    2907       296935 :          t309 = t12*rho
    2908       296935 :          t310 = 0.1e1_dp/t309
    2909       296935 :          t311 = t310*t14
    2910       296935 :          t312 = t311*t69
    2911       296935 :          t314 = 2._dp*t11*t312
    2912       296935 :          t315 = t3*t44
    2913       296935 :          t316 = t16*t315
    2914       296935 :          t317 = t15*t6
    2915       296935 :          t320 = t10*t310
    2916       296935 :          t321 = t320*t14
    2917       296935 :          t324 = t24*t278
    2918       296935 :          t325 = t22*t324
    2919       296935 :          t326 = t29*t31
    2920       296935 :          t327 = t326*t6
    2921       296935 :          t331 = t27*t46*t31
    2922              :          t334 = -0.2e1_dp/0.3e1_dp*t316*t317 - (2._dp*t17*t321) - 0.4e1_dp &
    2923       296935 :                 /0.3e1_dp*t325*t327 - (4._dp*t25*t331)
    2924       296935 :          t335 = t334*t68
    2925       296935 :          t336 = t15*t335
    2926       296935 :          t337 = t11*t336
    2927       296935 :          t338 = t4*t18
    2928       296935 :          t339 = t67**2
    2929       296935 :          t340 = 0.1e1_dp/t339
    2930       296935 :          t341 = t35*t324
    2931       296935 :          t346 = t41*t295
    2932       296935 :          t347 = t39*t346
    2933       296935 :          t348 = t46*t48
    2934       296935 :          t349 = t348*t6
    2935       296935 :          t353 = 0.1e1_dp/t28/t12
    2936       296935 :          t355 = t44*t353*t48
    2937       296935 :          t361 = t60/t61/rho*t63
    2938              :          t364 = -0.4e1_dp/0.3e1_dp*t341*t327 - (4._dp*t36*t331) - 0.5e1_dp &
    2939       296935 :                 /0.3e1_dp*t347*t349 - (5._dp*t42*t355) - (8._dp*t55*t361)
    2940       296935 :          t365 = t340*t364
    2941       296935 :          t366 = t303*t365
    2942       296935 :          t367 = t338*t366
    2943       296935 :          t369 = t44*r3*t5
    2944       296935 :          t372 = -t308 - t314 + t337 - t367 - 0.2e1_dp/0.3e1_dp*t73*t369
    2945       296935 :          dQrho = f94*t372*t77
    2946       296935 :          t374 = ndrho*t3
    2947       296935 :          t375 = t374*t10
    2948       296935 :          t378 = a1*ndrho
    2949       296935 :          t379 = t378*t3
    2950       296935 :          t382 = t1*ndrho
    2951       296935 :          t383 = a2*t382
    2952       296935 :          t384 = t383*t24
    2953       296935 :          t387 = 2._dp*t379*t19 + 4._dp*t384*t32
    2954       296935 :          t388 = t387*t68
    2955       296935 :          t389 = t15*t388
    2956       296935 :          t391 = a3*t382
    2957       296935 :          t392 = t391*t24
    2958       296935 :          t395 = a4*t21
    2959       296935 :          t396 = t395*t41
    2960       296935 :          t400 = a5*t38*t54
    2961       296935 :          t403 = 4._dp*t392*t32 + 5._dp*t396*t49 + 6._dp*t400*t65
    2962       296935 :          t404 = t340*t403
    2963       296935 :          t405 = t303*t404
    2964       296935 :          t407 = 2._dp*t375*t70 + t11*t389 - t338*t405
    2965       296935 :          dQndrho = f94*t407*t77
    2966       296935 :          t409 = t78*f89
    2967       296935 :          t413 = t27*r3*t5
    2968       296935 :          t416 = t14*t102
    2969       296935 :          t417 = t416*t6
    2970       296935 :          t420 = t311*t102
    2971       296935 :          t423 = t96*t315
    2972       296935 :          t428 = t99*t324
    2973              :          t433 = -0.2e1_dp/0.3e1_dp*t423*t317 - (2._dp*t97*t321) - 0.4e1_dp &
    2974       296935 :                 /0.3e1_dp*t428*t327 - (4._dp*t100*t331)
    2975       296935 :          t434 = t15*t433
    2976              :          t436 = -0.2e1_dp/0.3e1_dp*t302*t417 - (2._dp*t11*t420) + (t11 &
    2977       296935 :                                                                    *t434)
    2978       296935 :          t440 = t136*t105
    2979       296935 :          t441 = t108*t118
    2980       296935 :          t442 = -t308 - t314 + t337 - t367
    2981       296935 :          t443 = t441*t442
    2982       296935 :          t447 = 0.1e1_dp/t117/t116
    2983       296935 :          t448 = t93*t447
    2984       296935 :          t452 = -t308 - t314 + t337 - t367 - 0.2e1_dp/0.3e1_dp*t72*t44*t6
    2985       296935 :          t453 = t115*t452
    2986       296935 :          t454 = t448*t453
    2987       296935 :          t457 = t14*t87
    2988       296935 :          t458 = t457*t6
    2989       296935 :          t461 = t311*t87
    2990       296935 :          t464 = F2*t334
    2991       296935 :          t467 = t464*t68 - t85*t365
    2992       296935 :          t468 = t15*t467
    2993              :          t470 = -0.2e1_dp/0.3e1_dp*t302*t458 - (2._dp*t11*t461) + (t11 &
    2994       296935 :                                                                    *t468)
    2995       296935 :          t474 = t140*t90
    2996       296935 :          t475 = t108*t129
    2997       296935 :          t476 = t475*t442
    2998       296935 :          t480 = 0.1e1_dp/t128/t127
    2999       296935 :          t481 = t93*t480
    3000       296935 :          t482 = t114*t452
    3001       296935 :          t483 = t481*t482
    3002              :          t487 = (-t136*t436*t93*t118 + (2._dp*t440*t443) + 0.5e1_dp/ &
    3003              :                  0.2e1_dp*(t440)*(t454) - t140*t470*t93*t129 + (2._dp &
    3004       296935 :                                                                 *t474*t476) + 0.3e1_dp/0.2e1_dp*(t474)*(t483))*t145
    3005       296935 :          t489 = t209*t153
    3006       296935 :          t491 = t278*r3*t5
    3007       296935 :          t496 = t166/t167/t160
    3008       296935 :          t500 = dexerrho(Q, dQrho)
    3009       296935 :          t503 = (-t158*t496*t372/0.2e1_dp - t172*t500)*alpha1
    3010       296935 :          t505 = t106*t441
    3011       296935 :          t506 = t154*t295
    3012       296935 :          t507 = t506*t6
    3013       296935 :          t510 = f12*t470
    3014       296935 :          t512 = t92**2
    3015       296935 :          t513 = 0.1e1_dp/t512
    3016       296935 :          t514 = t106*t513
    3017       296935 :          t516 = t155*t44*t442
    3018       296935 :          t519 = t149*t13
    3019       296935 :          t522 = 0.1e1_dp/t253/t252
    3020       296935 :          t523 = t219*t185
    3021       296935 :          t524 = t522*t523
    3022       296935 :          t530 = f2732/t258/t257
    3023       296935 :          t531 = t256*t372
    3024       296935 :          t535 = 0.1e1_dp/t215/t214
    3025       296935 :          t536 = t535*t213
    3026       296935 :          t541 = 0.1e1_dp/t190/t75
    3027       296935 :          t542 = t541*t372
    3028              :          t549 = (t166*(-0.7e1_dp/0.2e1_dp*t251*t524*t372 + 0.5e1_dp/0.2e1_dp &
    3029              :                        *t530*t531 - 0.3e1_dp/0.2e1_dp*t261*t536*t372 + t243*t542 &
    3030       296935 :                        /0.2e1_dp) + t270*t500)*alpha7
    3031       296935 :          t551 = C*t108
    3032       296935 :          t552 = t551*t442
    3033       296935 :          t558 = t436*E
    3034       296935 :          t559 = t558*t108
    3035       296935 :          t561 = 0.1e1_dp/t220
    3036       296935 :          t565 = 0.1e1_dp/t256
    3037       296935 :          t566 = f94*t565
    3038       296935 :          t569 = t284*t372
    3039       296935 :          t574 = dexeirho(Q, dQrho)
    3040              :          t577 = (-4._dp*t281*t561*t372 + 3._dp*t566*t372 - 2._dp*t206*t569 &
    3041       296935 :                  + t243*t238*t372 + t289*t574)*alpha8
    3042              :          t579 = -t133*t413/0.3e1_dp + t487*t151 - 0.4e1_dp/0.3e1_dp*t489* &
    3043              :                 t491 + t503*t177 + 0.5e1_dp/0.3e1_dp*t505*t507 + t510*t94 + (3._dp &
    3044              :                                                                             *t514*t516) - t146*t519 + t549*t279 - (2._dp*t91*t552) &
    3045              :                 - t81*t93*t442 - t200*t519 - t559*t156 + t577*t296 &
    3046       296935 :                 + t559
    3047       296935 :          t583 = t110*t105
    3048       296935 :          t584 = t93*t118
    3049       296935 :          t585 = t584*t442
    3050       296935 :          t587 = t83*t447
    3051       296935 :          t588 = t587*t453
    3052       296935 :          t591 = t93*t122
    3053       296935 :          t595 = 0.1e1_dp/t121/t113
    3054       296935 :          t596 = t83*t595
    3055       296935 :          t603 = t125*t90
    3056       296935 :          t604 = t93*t129
    3057       296935 :          t605 = t604*t442
    3058       296935 :          t607 = t83*t480
    3059       296935 :          t608 = t607*t482
    3060              :          t612 = (-t110*t436*t83*t118 + t583*t585 + 0.5e1_dp/0.2e1_dp*t583 &
    3061              :                  *t588 + t81*t591*t442 + t81*t596*t452/0.2e1_dp - t125 &
    3062              :                  *t470*t83*t129 + t603*t605 + 0.3e1_dp/0.2e1_dp*t603*t608)* &
    3063       296935 :                 omega
    3064       296935 :          t615 = t236*t372
    3065       296935 :          t620 = (t239*t372 - 2._dp*t158*t615 + t206*t574)*alpha4
    3066       296935 :          t622 = t513*t442
    3067       296935 :          t626 = t75*t204
    3068       296935 :          t628 = t372*t161 - t626*t372
    3069       296935 :          t629 = t628*t202
    3070       296935 :          t633 = t233*t154
    3071       296935 :          t634 = t295*r3
    3072       296935 :          t635 = t634*t5
    3073       296935 :          t638 = A*t282
    3074       296935 :          t641 = f98*t284
    3075       296935 :          t644 = r1*t238
    3076              :          t650 = (-3._dp*t638*t372 + 2._dp*t641*t372 - t206*t644*t372 - t243 &
    3077       296935 :                  *t574)*alpha6*t247
    3078       296935 :          t652 = t204*t372
    3079       296935 :          t656 = (-t158*t652 - f98*t574)*alpha2
    3080       296935 :          t658 = t108*t447
    3081       296935 :          t659 = t106*t658
    3082       296935 :          t660 = t234*t453
    3083       296935 :          t665 = f916*t535
    3084       296935 :          t670 = 0.1e1_dp/t221/t220
    3085       296935 :          t671 = t670*t219
    3086              :          t679 = (t166*(-t206*t542/0.2e1_dp + 0.3e1_dp/0.2e1_dp*t665*t213 &
    3087       296935 :                        *t372 - 0.5e1_dp/0.2e1_dp*t218*t671*t372) - t230*t500)*alpha5
    3088       296935 :          t681 = t292*t293
    3089       296935 :          t685 = t56*r3*t58*t5*t309
    3090       296935 :          t687 = 0.1e1_dp/t9/t685
    3091       296935 :          t689 = t687*r3*t5
    3092       296935 :          t692 = t60*t310
    3093       296935 :          t695 = t273*t274
    3094       296935 :          t697 = 0.1e1_dp/t8/t685
    3095       296935 :          t699 = t697*r3*t5
    3096       296935 :          t702 = t176*omega
    3097       296935 :          t705 = t182*t72
    3098       296935 :          t709 = 0.1e1_dp/t187/t186
    3099       296935 :          t710 = t709*t185
    3100       296935 :          t714 = f98*t541
    3101              :          t723 = (t166*(-0.3e1_dp/0.2e1_dp*t184*t710*t372 + t714*t372/ &
    3102       296935 :                        0.2e1_dp) + f2716*t500*t196)*alpha3*t145
    3103              :          t725 = t612*t134 + t620*t210 - (3._dp*t106*t622) + t158*(t574 &
    3104              :                                                                   + t629*t160) - 0.5e1_dp/0.3e1_dp*t633*t635 + t650*t249 + &
    3105              :                 t656*t112 + 0.5e1_dp/0.2e1_dp*t659*t660 + t679*t234 - 0.8e1_dp/ &
    3106              :                 0.3e1_dp*t681*t689 - (2._dp*t248*t692) - 0.7e1_dp/0.3e1_dp*t695 &
    3107              :                 *t699 - t702*t413/0.3e1_dp - 0.2e1_dp/0.3e1_dp*t705*t369 + t723 &
    3108       296935 :                 *t151
    3109       296935 :          t727 = (t579 + t725)*Clda
    3110       296935 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t409*t299 - t80*t727)*sx
    3111       296935 :          t733 = F2*t387
    3112       296935 :          t736 = t733*t68 - t85*t404
    3113       296935 :          t737 = t15*t736
    3114       296935 :          t739 = 2._dp*t375*t88 + t11*t737
    3115       296935 :          t740 = f12*t739
    3116       296935 :          t742 = t551*t407
    3117       296935 :          t747 = g2*ndrho
    3118       296935 :          t748 = t747*t3
    3119       296935 :          t751 = g3*t382
    3120       296935 :          t752 = t751*t24
    3121       296935 :          t755 = 2._dp*t748*t19 + 4._dp*t752*t32
    3122       296935 :          t756 = t15*t755
    3123       296935 :          t758 = 2._dp*t375*t103 + t11*t756
    3124       296935 :          t759 = t758*E
    3125       296935 :          t760 = t759*t108
    3126       296935 :          t761 = t513*t407
    3127       296935 :          t767 = t584*t407
    3128       296935 :          t769 = t115*t407
    3129       296935 :          t770 = t587*t769
    3130       296935 :          t781 = t604*t407
    3131       296935 :          t783 = t114*t407
    3132       296935 :          t784 = t607*t783
    3133              :          t788 = (-t110*t758*t83*t118 + t583*t767 + 0.5e1_dp/0.2e1_dp*t583 &
    3134              :                  *t770 + t81*t591*t407 + t81*t596*t407/0.2e1_dp - t125 &
    3135              :                  *t739*t83*t129 + t603*t781 + 0.3e1_dp/0.2e1_dp*t603*t784)* &
    3136       296935 :                 omega
    3137       296935 :          t793 = t441*t407
    3138       296935 :          t796 = t448*t769
    3139       296935 :          t802 = t475*t407
    3140       296935 :          t805 = t481*t783
    3141              :          t809 = (-t136*t758*t93*t118 + (2._dp*t440*t793) + 0.5e1_dp/ &
    3142              :                  0.2e1_dp*(t440)*(t796) - t140*t739*t93*t129 + (2._dp &
    3143       296935 :                                                                 *t474*t802) + 0.3e1_dp/0.2e1_dp*(t474)*(t805))*t145
    3144       296935 :          t813 = t155*t44*t407
    3145       296935 :          t816 = t234*t769
    3146       296935 :          t819 = dexeindrho(Q, dQndrho)
    3147       296935 :          t822 = t407*t161 - t626*t407
    3148       296935 :          t823 = t822*t202
    3149       296935 :          t830 = dexerndrho(Q, dQndrho)
    3150       296935 :          t833 = (-t158*t496*t407/0.2e1_dp - t172*t830)*alpha1
    3151       296935 :          t839 = (-t158*t204*t407 - f98*t819)*alpha2
    3152              :          t852 = (t166*(-0.3e1_dp/0.2e1_dp*t184*t710*t407 + t714*t407/ &
    3153       296935 :                        0.2e1_dp) + f2716*t830*t196)*alpha3*t145
    3154       296935 :          t860 = (t239*t407 - 2._dp*t158*t236*t407 + t206*t819)*alpha4
    3155       296935 :          t862 = t541*t407
    3156              :          t875 = (t166*(-t206*t862/0.2e1_dp + 0.3e1_dp/0.2e1_dp*t665*t213 &
    3157       296935 :                        *t407 - 0.5e1_dp/0.2e1_dp*t218*t671*t407) - t230*t830)*alpha5
    3158              :          t886 = (-3._dp*t638*t407 + 2._dp*t641*t407 - t206*t644*t407 - t243 &
    3159       296935 :                  *t819)*alpha6*t247
    3160              :          t903 = (t166*(-0.7e1_dp/0.2e1_dp*t251*t524*t407 + 0.5e1_dp/0.2e1_dp &
    3161              :                        *t530*t256*t407 - 0.3e1_dp/0.2e1_dp*t261*t536*t407 + t243 &
    3162       296935 :                        *t862/0.2e1_dp) + t270*t830)*alpha7
    3163              :          t917 = (-4._dp*t281*t561*t407 + 3._dp*t566*t407 - 2._dp*t206*t284 &
    3164       296935 :                  *t407 + t243*t238*t407 + t289*t819)*alpha8
    3165              :          t919 = -t81*t93*t407 + t740*t94 - (2._dp*t91*t742) + t760 &
    3166              :                 - (3._dp*t106*t761) + t788*t134 + t809*t151 - t760*t156 &
    3167              :                 + (3._dp*t514*t813) + 0.5e1_dp/0.2e1_dp*t659*t816 + t158*(t819 &
    3168              :                                                                           + t823*t160) + t833*t177 + t839*t112 + t852*t151 + t860 &
    3169       296935 :                 *t210 + t875*t234 + t886*t249 + t903*t279 + t917*t296
    3170       296935 :          t920 = t919*Clda
    3171       296935 :          e_ndrho = e_ndrho + (-t80*t920)*sx
    3172              :       END IF
    3173       301462 :       IF (order >= 2 .OR. order == -2) THEN
    3174            0 :          t923 = t4*t295*t13
    3175            0 :          t928 = 0.10e2_dp/0.9e1_dp*t923*t303*t68*t56*t58
    3176            0 :          t930 = t4*t44*t310
    3177            0 :          t932 = 0.8e1_dp/0.3e1_dp*t930*t306
    3178            0 :          t933 = t14*t334
    3179            0 :          t936 = 0.4e1_dp/0.3e1_dp*t302*t933*t305
    3180            0 :          t938 = t4*t301*t14
    3181            0 :          t939 = t34*t340
    3182            0 :          t943 = 0.4e1_dp/0.3e1_dp*t938*t939*t6*t364
    3183            0 :          t944 = t29*t14
    3184            0 :          t947 = 6._dp*t11*t944*t69
    3185            0 :          t950 = 4._dp*t11*t311*t335
    3186            0 :          t951 = t4*t320
    3187            0 :          t953 = 4._dp*t951*t366
    3188            0 :          t954 = t3*t295
    3189            0 :          t956 = t15*t275
    3190            0 :          t959 = t311*t6
    3191            0 :          t963 = t10*t29*t14
    3192            0 :          t966 = t24*t697
    3193            0 :          t968 = t326*t275
    3194            0 :          t972 = t46*t31*t6
    3195            0 :          t976 = t27*t353*t31
    3196              :          t979 = 0.10e2_dp/0.9e1_dp*t16*t954*t956 + 0.8e1_dp/0.3e1_dp*t316* &
    3197              :                 t959 + (6._dp*t17*t963) + 0.28e2_dp/0.9e1_dp*t22*t966*t968 + &
    3198            0 :                 0.32e2_dp/0.3e1_dp*t325*t972 + (20._dp*t25*t976)
    3199            0 :          t982 = t11*t15*t979*t68
    3200            0 :          t985 = 2._dp*t338*t933*t365
    3201            0 :          t987 = 0.1e1_dp/t339/t67
    3202            0 :          t988 = t364**2
    3203            0 :          t989 = t987*t988
    3204            0 :          t992 = 2._dp*t338*t303*t989
    3205              :          t1022 = t340*(0.28e2_dp/0.9e1_dp*t35*t966*t968 + 0.32e2_dp/0.3e1_dp &
    3206              :                        *t341*t972 + (20._dp*t36*t976) + 0.40e2_dp/0.9e1_dp*t39*t41 &
    3207              :                        *t687*t348*t275 + 0.50e2_dp/0.3e1_dp*t347*t353*t48*t6 + &
    3208              :                        0.30e2_dp*t42*t44/t28/t309*t48 + (72._dp*t55*t60/t61 &
    3209            0 :                                                          /t12*t63))
    3210            0 :          t1024 = t338*t303*t1022
    3211            0 :          t1026 = t295*t56*t58
    3212              :          t1029 = t928 + t932 - t936 + t943 + t947 - t950 + t953 + t982 - t985 &
    3213            0 :                  + t992 - t1024 + 0.10e2_dp/0.9e1_dp*t73*t1026
    3214            0 :          d2Qrhorho = f94*t1029*t77
    3215            0 :          t1031 = t374*t301
    3216            0 :          t1034 = t14*t387
    3217              :          t1061 = -0.4e1_dp/0.3e1_dp*t378*t315*t317 - (4._dp*t379*t321) &
    3218            0 :                  - 0.16e2_dp/0.3e1_dp*t383*t324*t327 - (16._dp*t384*t331)
    3219            0 :          t1067 = t374*t18
    3220            0 :          t1073 = t987*t364*t403
    3221              :          t1090 = t340*(-0.16e2_dp/0.3e1_dp*t391*t324*t327 - (16._dp*t392 &
    3222              :                                                              *t331) - 0.25e2_dp/0.3e1_dp*t395*t346*t349 - (25._dp*t396 &
    3223            0 :                                                                                                         *t355) - (48._dp*t400*t361))
    3224              :          t1093 = -0.4e1_dp/0.3e1_dp*t1031*t306 - 0.2e1_dp/0.3e1_dp*t302*t1034 &
    3225              :                  *t305 + 0.2e1_dp/0.3e1_dp*t938*t939*t6*t403 - (4._dp*t375 &
    3226              :                                                                 *t312) - (2._dp*t11*t311*t388) + (2._dp*t951*t405) + (2._dp &
    3227              :                                                                                      *t375*t336) + (t11*t15*t1061*t68) - t338*t933 &
    3228              :                  *t404 - (2._dp*t1067*t366) - t338*t1034*t365 + 0.2e1_dp*t338 &
    3229            0 :                  *t303*t1073 - t338*t303*t1090
    3230            0 :          d2Qrhondrho = f94*t1093*t77
    3231            0 :          t1095 = t3*t10
    3232            0 :          t1111 = 2._dp*a1*t3*t19 + 12._dp*a2*t1*t24*t32
    3233            0 :          t1118 = t403**2
    3234            0 :          t1119 = t987*t1118
    3235              :          t1136 = t340*(12._dp*a3*t1*t24*t32 + 20._dp*a4*t382*t41*t49 &
    3236            0 :                        + 30._dp*a5*t21*t54*t65)
    3237              :          t1139 = 2._dp*t1095*t13*t303*t68 + 4._dp*t375*t389 - 4._dp*t1067 &
    3238              :                  *t405 + t11*t15*t1111*t68 - 2._dp*t338*t1034*t404 + 2._dp*t338 &
    3239            0 :                  *t303*t1119 - t338*t303*t1136
    3240            0 :          d2Qndrhondrho = f94*t1139*t77
    3241            0 :          t1141 = t78**2
    3242            0 :          t1149 = 0.1e1_dp/t512/t82
    3243            0 :          t1150 = t106*t1149
    3244            0 :          t1151 = t442**2
    3245            0 :          t1157 = 0.1e1_dp/t190/t213
    3246            0 :          t1158 = t372**2
    3247            0 :          t1159 = t1157*t1158
    3248            0 :          t1162 = t541*t1029
    3249            0 :          t1167 = 0.1e1_dp/t215/t256/t213
    3250            0 :          t1168 = f916*t1167
    3251            0 :          t1178 = t219**2
    3252            0 :          t1181 = 0.1e1_dp/t221/t1178/t185
    3253            0 :          t1182 = t1181*t1178
    3254            0 :          t1186 = t670*t186
    3255            0 :          t1195 = d2exerrhorho(Q, dQrho, d2Qrhorho)
    3256              :          t1239 = 0.10e2_dp/0.9e1_dp*t923*t416*t275 + 0.8e1_dp/0.3e1_dp*t930 &
    3257              :                  *t417 - 0.4e1_dp/0.3e1_dp*t302*t14*t433*t6 + (6._dp*t11*t944 &
    3258              :                                                                *t102) - 0.4e1_dp*(t11)*t311*t433 + (t11)*t15* &
    3259              :                  (0.10e2_dp/0.9e1_dp*t96*t954*t956 + 0.8e1_dp/0.3e1_dp*t423*t959 &
    3260              :                   + (6._dp*t97*t963) + 0.28e2_dp/0.9e1_dp*t99*t966*t968 + 0.32e2_dp &
    3261            0 :                   /0.3e1_dp*t428*t972 + (20._dp*t100*t976))
    3262            0 :          t1241 = t1239*E*t108
    3263            0 :          t1243 = t278*t56*t58
    3264            0 :          t1251 = t136*t436
    3265            0 :          t1256 = t513*t118
    3266            0 :          t1261 = t136*t105*t108
    3267            0 :          t1262 = t447*t442
    3268            0 :          t1263 = t1262*t453
    3269              :          t1266 = t928 + t932 - t936 + t943 + t947 - t950 + t953 + t982 - t985 &
    3270            0 :                  + t992 - t1024
    3271            0 :          t1270 = t115**2
    3272            0 :          t1273 = 0.1e1_dp/t117/t1270/t114
    3273            0 :          t1274 = t93*t1273
    3274            0 :          t1275 = t452**2
    3275            0 :          t1276 = t1270*t1275
    3276            0 :          t1280 = t127*t1275
    3277              :          t1287 = t928 + t932 - t936 + t943 + t947 - t950 + t953 + t982 - t985 &
    3278            0 :                  + t992 - t1024 + 0.10e2_dp/0.9e1_dp*t72*t295*t275
    3279            0 :          t1288 = t115*t1287
    3280              :          t1317 = 0.10e2_dp/0.9e1_dp*t923*t457*t275 + 0.8e1_dp/0.3e1_dp*t930 &
    3281              :                  *t458 - 0.4e1_dp/0.3e1_dp*t302*t14*t467*t6 + (6._dp*t11*t944 &
    3282              :                                                                *t87) - 0.4e1_dp*(t11)*t311*t467 + (t11*t15*(F2 &
    3283            0 :                                                                           *t979*t68 - 2._dp*t464*t365 + 2._dp*t85*t989 - t85*t1022))
    3284            0 :          t1321 = t140*t470
    3285            0 :          t1326 = t513*t129
    3286            0 :          t1331 = t140*t90*t108
    3287            0 :          t1332 = t480*t442
    3288            0 :          t1333 = t1332*t482
    3289            0 :          t1341 = 0.1e1_dp/t128/t115/t114
    3290            0 :          t1342 = t93*t1341
    3291            0 :          t1343 = t115*t1275
    3292            0 :          t1347 = t113*t1275
    3293            0 :          t1351 = t114*t1287
    3294              :          t1355 = -t136*t1239*t93*t118 + (4._dp*t1251*t443) + (5._dp &
    3295              :                                                               *t1251*t454) - (6._dp*t440*t1256*t1151) - (10._dp*t1261 &
    3296              :                                                                      *t1263) + (2._dp*t440*t441*t1266) - 0.75e2_dp/0.4e1_dp*(t440) &
    3297              :                  *(t1274)*(t1276) + (10._dp*t440*t448*t1280) &
    3298              :                  + 0.5e1_dp/0.2e1_dp*(t440)*(t448)*(t1288) - t140 &
    3299              :                  *t1317*t93*t129 + (4._dp*t1321*t476) + (3._dp*t1321*t483) &
    3300              :                  - (6._dp*t474*t1326*t1151) - (6._dp*t1331*t1333) + &
    3301              :                  (2._dp*t474*t475*t1266) - 0.27e2_dp/0.4e1_dp*(t474)*(t1342) &
    3302              :                  *(t1343) + (3._dp*t474*t481*t1347) + 0.3e1_dp/0.2e1_dp &
    3303            0 :                  *(t474)*(t481)*(t1351)
    3304            0 :          t1362 = t106*t658*t154
    3305            0 :          t1374 = d2exeirhorho(Q, dQrho, d2Qrhorho)
    3306            0 :          t1379 = t558*t658
    3307            0 :          t1382 = t56**2
    3308            0 :          t1383 = t58**2
    3309            0 :          t1385 = t1382*t1383*t28
    3310              :          t1392 = -(12._dp*t1150*t155*t44*t1151) + (t166*(0.3e1_dp/0.4e1_dp &
    3311              :                                                          *t206*t1159 - t206*t1162/0.2e1_dp - 0.27e2_dp/0.4e1_dp*t1168 &
    3312              :                                                          *t256*t1158 + 0.3e1_dp*t665*t75*t1158 + 0.3e1_dp/0.2e1_dp*t665 &
    3313              :                                                          *t213*t1029 + 0.75e2_dp/0.4e1_dp*t218*t1182*t1158 - 0.10e2_dp &
    3314              :                                                          *t218*t1186*t1158 - 0.5e1_dp/0.2e1_dp*t218*t671*t1029) - t230 &
    3315              :                                                    *t1195)*alpha5*t234 + 0.28e2_dp/0.9e1_dp*t489*t697*t56 &
    3316              :                  *t58 + 0.10e2_dp/0.3e1_dp*t558*t441*t507 + t1241 + 0.4e1_dp/0.9e1_dp &
    3317              :                  *t702*t1243 + 0.4e1_dp/0.9e1_dp*t133*t1243 + t1355*t145*t151 &
    3318              :                  - (2._dp*t91*t551*t1266) - 0.25e2_dp/0.3e1_dp*t1362*t295 &
    3319              :                  *t115*t452*r3*t5 + (0.2e1_dp*t158*t236*t1158 - t158*t204 &
    3320              :                                      *t1029 - f98*t1374)*alpha2*t112 + (5._dp*t1379*t660) &
    3321            0 :                  + 0.70e2_dp/0.9e1_dp*t695/t8/t1385*t56*t58
    3322            0 :          t1397 = t106*t108*t1273
    3323            0 :          t1407 = t110*t436
    3324            0 :          t1417 = t110*t137
    3325            0 :          t1426 = t83*t1273
    3326            0 :          t1430 = t108*t122
    3327            0 :          t1434 = t81*t93
    3328            0 :          t1435 = t595*t442
    3329              :          t1438 = -t110*t1239*t83*t118 + (2._dp*t1407*t585) + (5._dp &
    3330              :                                                               *t1407*t588) - (2._dp*t583*t441*t1151) + (t583*t584 &
    3331              :                                                                           *t1266) - (5._dp*t1417*t1263) + (10._dp*t583*t587*t1280) &
    3332              :                  + 0.5e1_dp/0.2e1_dp*(t583)*(t587)*(t1288) - 0.75e2_dp &
    3333              :                  /0.4e1_dp*(t583)*(t1426)*(t1276) - (2._dp*t81 &
    3334            0 :                                                      *t1430*t1151) - t1434*t1435*t452
    3335            0 :          t1442 = 0.1e1_dp/t121/t114
    3336            0 :          t1443 = t83*t1442
    3337            0 :          t1453 = t125*t470
    3338            0 :          t1469 = t83*t1341
    3339            0 :          t1473 = t125*t141
    3340              :          t1476 = t81*t591*(t1266) - 0.3e1_dp/0.4e1_dp*t81*t1443*t1275 &
    3341              :                  + t81*t596*t1287/0.2e1_dp - t125*t1317*t83*t129 + (2._dp &
    3342              :                                                                     *t1453*t605) + (3._dp*t1453*t608) - (2._dp*t603*t475 &
    3343              :                                                                              *t1151) + (t603*t604*t1266) + (3._dp*t603*t607*t1347) &
    3344              :                  + 0.3e1_dp/0.2e1_dp*(t603)*(t607)*(t1351) - 0.27e2_dp &
    3345              :                  /0.4e1_dp*(t603)*(t1469)*(t1343) - (3._dp*t1473 &
    3346            0 :                                                      *t1333)
    3347              :          t1517 = -0.16e2_dp/0.3e1_dp*t577*t293*t689 - 0.75e2_dp/0.4e1_dp*t1397 &
    3348              :                  *t234*t1276 + 0.5e1_dp/0.2e1_dp*t659*t234*t1288 + (t1438 + &
    3349              :                                                                     t1476)*omega*t134 + f12*t1317*t94 - (4._dp*t650*t692) &
    3350              :                  - 0.14e2_dp/0.3e1_dp*t549*t274*t699 + (12._dp*t106*t1149* &
    3351              :                                                         t1151) - (3._dp*t106*t513*t1266) - 0.40e2_dp/0.9e1_dp*t505*t154 &
    3352              :                  *t687*t275 + ((-2._dp*t641*t1158 + t239*t1029 + 6._dp*t158 &
    3353              :                                 *t282*t1158 - 2._dp*t158*t236*t1029 + t206*t1374)*alpha4 &
    3354              :                                *t210) - (6._dp*t558*t622) + (6._dp*t248*t60*t29) - &
    3355            0 :                  (4._dp*t510*t552)
    3356            0 :          t1519 = t149*t310
    3357            0 :          t1538 = t75*t236
    3358            0 :          t1545 = t628*t238
    3359            0 :          t1546 = t160*t372
    3360            0 :          t1552 = 0.1e1_dp/t167/t185
    3361            0 :          t1553 = t166*t1552
    3362              :          t1577 = (2._dp*t146*t1519) - (2._dp*t723*t519) + 0.10e2_dp/0.9e1_dp &
    3363              :                  *t705*t1026 - t1241*t156 - 0.10e2_dp/0.3e1_dp*t679*t154 &
    3364              :                  *t635 - 0.2e1_dp/0.3e1_dp*t503*omega*t413 + (2._dp*t200*t1519) &
    3365              :                  + (t158*(t1374 + (t1029*t161 - 2._dp*t1158*t204 + 2._dp* &
    3366              :                                    t1538*t1158 - t626*t1029)*t202*t160 - t1545*t1546 + t629 &
    3367              :                           *t372)) + (0.3e1_dp/0.4e1_dp*(t158)*(t1553)*(t1158) &
    3368              :                                      - (t158*t496*t1029)/0.2e1_dp - t172*t1195)*alpha1*t177 &
    3369              :                  - 0.8e1_dp/0.3e1_dp*t620*t153*t491 - t81*t93*t1266 - 0.2e1_dp &
    3370              :                  /0.3e1_dp*t612*t413 + 0.88e2_dp/0.9e1_dp*t681/t9/t1385*t56 &
    3371            0 :                  *t58
    3372            0 :          t1584 = A*t561
    3373            0 :          t1589 = f98*t565
    3374            0 :          t1594 = r1*t284
    3375            0 :          t1613 = 0.1e1_dp/t253/t1178/t523
    3376            0 :          t1614 = t1178*t219
    3377            0 :          t1615 = t1613*t1614
    3378            0 :          t1619 = t522*t220
    3379            0 :          t1626 = t256**2
    3380            0 :          t1630 = f2732/t258/t1626/t213
    3381            0 :          t1640 = t1167*t256
    3382            0 :          t1644 = t535*t75
    3383              :          t1655 = 0.147e3_dp/0.4e1_dp*t251*t1615*t1158 - 0.21e2_dp*t251*t1619 &
    3384              :                  *t1158 - 0.7e1_dp/0.2e1_dp*t251*t524*t1029 - 0.75e2_dp/0.4e1_dp &
    3385              :                  *t1630*t1626*t1158 + 0.10e2_dp*t530*t214*t1158 + 0.5e1_dp/ &
    3386              :                  0.2e1_dp*t530*t256*t1029 + 0.27e2_dp/0.4e1_dp*t261*t1640*t1158 &
    3387              :                  - 0.3e1_dp*t261*t1644*t1158 - 0.3e1_dp/0.2e1_dp*t261*t536*t1029 &
    3388            0 :                  - 0.3e1_dp/0.4e1_dp*t243*t1159 + t243*t1162/0.2e1_dp
    3389            0 :          t1661 = C*t513
    3390            0 :          t1666 = 0.1e1_dp/t187/t523
    3391            0 :          t1667 = t1666*t219
    3392            0 :          t1671 = t709*t160
    3393            0 :          t1678 = f98*t1157
    3394            0 :          t1691 = 0.1e1_dp/t523
    3395            0 :          t1699 = f94/t257
    3396            0 :          t1726 = t106*t1256
    3397            0 :          t1732 = t558*t513
    3398            0 :          t1736 = t106*t513*t447
    3399            0 :          t1737 = t442*t115
    3400              :          t1742 = -(2._dp*t487*t519) + 0.40e2_dp/0.9e1_dp*t633*t687*t56 &
    3401              :                  *t58 + ((12._dp*t1584*t1158 - 3._dp*t638*t1029 - 6._dp*t1589* &
    3402              :                           t1158 + 2._dp*t641*t1029 + 2._dp*t206*t1594*t1158 - t206*t644 &
    3403              :                           *t1029 - t243*t1374)*alpha6*t247*t249) - 0.4e1_dp/0.3e1_dp* &
    3404              :                  t656*t72*t369 + (2._dp*t81*t108*t1151) + (t166*t1655 &
    3405              :                                                            + t270*t1195)*alpha7*t279 + (6._dp*t91*t1661*t1151) + &
    3406              :                  (t166*(0.27e2_dp/0.4e1_dp*(t184)*(t1667)*(t1158) - &
    3407              :                         (3._dp*t184*t1671*t1158) - 0.3e1_dp/0.2e1_dp*(t184)*(t710) &
    3408              :                         *(t1029) - 0.3e1_dp/0.4e1_dp*(t1678)*(t1158) &
    3409              :                         + (t714*t1029)/0.2e1_dp) + f2716*t1195*t196)*alpha3*t145 &
    3410              :                  *t151 + ((20._dp*t281*t1691*t1158 - 4._dp*t281*t561*t1029 &
    3411              :                            - 12._dp*t1699*t1158 + 3._dp*t566*t1029 + 6._dp*t206*t565*t1158 &
    3412              :                            - 2._dp*t206*t284*t1029 - 2._dp*t243*t284*t1158 + t243* &
    3413              :                            t238*t1029 + t289*t1374)*alpha8*t296) + (10._dp*t659*t234 &
    3414              :                                                                     *t1280) + (3._dp*t514*t155*t44*t1266) - (10._dp*t1726 &
    3415              :                                                                             *t506*t442*r3*t5) + (6._dp*t1732*t516) - (15._dp*t1736 &
    3416            0 :                                                                                                                    *t234*t1737*t452)
    3417              :          e_rho_rho = e_rho_rho + (-0.4e1_dp/0.9e1_dp/t1141*f89*t299 - 0.8e1_dp/0.3e1_dp*t409* &
    3418            0 :                                   t727 - t80*(t1392 + t1517 + t1577 + t1742)*Clda)*sx
    3419            0 :          t1756 = t372*t407
    3420            0 :          t1768 = t569*t407
    3421            0 :          t1773 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    3422            0 :          t1785 = t1157*t372*t407
    3423            0 :          t1788 = t541*t1093
    3424            0 :          t1791 = t531*t407
    3425            0 :          t1795 = t75*t372*t407
    3426            0 :          t1816 = d2exerrhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    3427            0 :          t1824 = t759*t658
    3428            0 :          t1841 = t442*t407
    3429              :          t1850 = ((20._dp*t281*t1691*t372*t407 - 4._dp*t281*t561*t1093 &
    3430              :                    - 12._dp*t1699*t1756 + 3._dp*t566*t1093 + 6._dp*t206*t565*t372 &
    3431              :                    *t407 - 2._dp*t206*t284*t1093 - 2._dp*t243*t1768 + t243*t238 &
    3432              :                    *t1093 + t289*t1773)*alpha8*t296) - t833*omega*t413 &
    3433              :                  /0.3e1_dp - 0.2e1_dp/0.3e1_dp*t839*t72*t369 + (t166*(0.3e1_dp/0.4e1_dp &
    3434              :                                                                       *(t206)*(t1785) - (t206*t1788)/0.2e1_dp - 0.27e2_dp &
    3435              :                                                                     /0.4e1_dp*t1168*t1791 + (3._dp*t665*t1795) + 0.3e1_dp/0.2e1_dp &
    3436              :                                                                       *(t665)*(t213)*(t1093) + 0.75e2_dp/0.4e1_dp*(t218) &
    3437              :                                                                       *(t1181)*(t1178)*(t372)*(t407) - (10._dp &
    3438              :                                                                              *t218*t670*t186*t372*t407) - 0.5e1_dp/0.2e1_dp*(t218) &
    3439              :                                                                       *(t671)*(t1093)) - t230*t1816)*alpha5*t234 - (3._dp &
    3440              :                                                                          *t106*t513*t1093) + 0.5e1_dp/0.2e1_dp*t1824*t660 - (2._dp &
    3441              :                                                                 *t740*t552) - 0.8e1_dp/0.3e1_dp*t917*t293*t689 - 0.7e1_dp/0.3e1_dp &
    3442              :                  *t903*t274*t699 - 0.15e2_dp/0.2e1_dp*t1736*t234*t453* &
    3443              :                  (t407) - 0.12e2_dp*(t106)*t1149*t118*t234*t1841 + &
    3444            0 :                  0.10e2_dp*t659*t234*t127*t452*(t407)
    3445            0 :          t1885 = t160*t407
    3446              :          t1938 = -0.5e1_dp/0.3e1_dp*t875*t154*t635 + ((12._dp*t1584*t1756 &
    3447              :                                                        - 3._dp*t638*t1093 - 6._dp*t1589*t1756 + 2._dp*t641*t1093 + 2._dp &
    3448              :                                                        *t206*r1*t1768 - t206*t644*t1093 - t243*t1773)*alpha6 &
    3449              :                                                       *t247*t249) - (2._dp*t510*t742) - (t81*t93*t1093) &
    3450              :                  + (t158*(t1773 + (t1093*t161 - 2._dp*t652*t407 + 2._dp*t1538 &
    3451              :                                    *t1756 - t626*t1093)*t202*t160 - t1545*t1885 + t629*t407)) &
    3452              :                  + (0.3e1_dp/0.4e1_dp*(t158)*(t166)*(t1552)*(t372) &
    3453              :                     *(t407) - (t158*t496*t1093)/0.2e1_dp - t172* &
    3454              :                     t1816)*alpha1*t177 - (3._dp*t759*t622) - 0.15e2_dp/0.2e1_dp* &
    3455              :                  (t1736)*(t234)*(t1737)*(t407) + (3._dp*t514 &
    3456              :                                                   *t155*t44*t1093) + ((2._dp*t158*t615*t407 - t158*t204 &
    3457              :                                                                        *t1093 - f98*t1773)*alpha2*t112) + ((-2._dp*t641*t1756 &
    3458              :                                                                         + t239*t1093 + 6._dp*t158*t282*t372*t407 - 2._dp*t158*t236 &
    3459              :                                                                               *t1093 + t206*t1773)*alpha4*t210) + (6._dp*t474*t622 &
    3460            0 :                                                                                                                               *t407)
    3461            0 :          t1946 = t115*t1093
    3462              :          t1976 = -0.4e1_dp/0.3e1_dp*t1031*t417 - 0.2e1_dp/0.3e1_dp*t302*t14 &
    3463              :                  *t755*t6 - (4._dp*t375*t420) - 0.2e1_dp*t11*t311*t755 + &
    3464              :                  (2._dp*t375*t434) + t11*t15*(-0.4e1_dp/0.3e1_dp*t747*t315 &
    3465              :                                               *t317 - (4._dp*t748*t321) - 0.16e2_dp/0.3e1_dp*t751*t324*t327 &
    3466            0 :                                               - (16._dp*t752*t331))
    3467            0 :          t1978 = t1976*E*t108
    3468              :          t2018 = 0.147e3_dp/0.4e1_dp*t251*t1613*t1614*t372*t407 - 0.21e2_dp &
    3469              :                  *t251*t522*t220*t372*t407 - 0.7e1_dp/0.2e1_dp*t251*t524 &
    3470              :                  *t1093 - 0.75e2_dp/0.4e1_dp*t1630*t1626*t372*t407 + 0.10e2_dp &
    3471              :                  *t530*t214*t372*t407 + 0.5e1_dp/0.2e1_dp*t530*t256*t1093 &
    3472              :                  + 0.27e2_dp/0.4e1_dp*t261*t1167*t1791 - 0.3e1_dp*t261*t535*t1795 &
    3473              :                  - 0.3e1_dp/0.2e1_dp*t261*t536*t1093 - 0.3e1_dp/0.4e1_dp*t243* &
    3474            0 :                  t1785 + t243*t1788/0.2e1_dp
    3475              :          t2053 = -0.4e1_dp/0.3e1_dp*t1031*t458 - 0.2e1_dp/0.3e1_dp*t302*t14 &
    3476              :                  *t736*t6 - (4._dp*t375*t461) - 0.2e1_dp*t11*t311*t736 + &
    3477              :                  (2._dp*t375*t468) + t11*t15*(F2*t1061*t68 - t464* &
    3478            0 :                                               t404 - t733*t365 + 2._dp*t85*t1073 - t85*t1090)
    3479              :          t2056 = -(3._dp*t558*t761) - (2._dp*t91*t551*t1093) - t809 &
    3480              :                  *t519 + 0.5e1_dp/0.2e1_dp*t659*t234*t1946 + t1978 + 0.5e1_dp/0.2e1_dp &
    3481              :                  *t1379*t816 + (t166*t2018 + t270*t1816)*alpha7*t279 &
    3482              :                  - (2._dp*t886*t692) + (3._dp*t1732*t813) - t1978*t156 &
    3483            0 :                  - t852*t519 + f12*t2053*t94
    3484            0 :          t2060 = t759*t513
    3485            0 :          t2066 = t1262*t769
    3486            0 :          t2069 = t125*t126
    3487            0 :          t2071 = t452*t407
    3488            0 :          t2072 = t480*t113*t2071
    3489            0 :          t2076 = t447*t115*t2071
    3490            0 :          t2084 = t110*t111
    3491            0 :          t2086 = t1273*t1270*t2071
    3492            0 :          t2090 = t480*t114*t2071
    3493            0 :          t2099 = t447*t127*t2071
    3494            0 :          t2105 = t125*t739
    3495            0 :          t2111 = t114*t1093
    3496              :          t2115 = -0.5e1_dp/0.2e1_dp*t1417*t2066 + (3._dp*t2069*t2072) - &
    3497              :                  0.5e1_dp/0.2e1_dp*t1417*t2076 - (2._dp*t603*t475*t1841) + (t603 &
    3498              :                                                                          *t604*t1093) - 0.75e2_dp/0.4e1_dp*t2084*t2086 - 0.3e1_dp/ &
    3499              :                  0.2e1_dp*t1473*t2090 - (2._dp*t583*t441*t1841) + (t583 &
    3500              :                                                                    *t584*t1093) + 0.10e2_dp*t2084*t2099 + 0.5e1_dp/0.2e1_dp*(t583) &
    3501              :                  *(t587)*(t1946) + 0.3e1_dp/0.2e1_dp*t2105*t608 + 0.3e1_dp &
    3502              :                  /0.2e1_dp*t1453*t784 + t2105*t605 + 0.3e1_dp/0.2e1_dp*(t603) &
    3503            0 :                  *(t607)*(t2111)
    3504            0 :          t2133 = t110*t758
    3505            0 :          t2136 = t1332*t783
    3506            0 :          t2155 = t1341*t115*t2071
    3507              :          t2158 = -t1434*t595*t452*t407/0.2e1_dp - t110*t1976*t83* &
    3508              :                  t118 + t1407*t767 - 0.2e1_dp*t81*t108*t122*t442*t407 - t125 &
    3509              :                  *t2053*t83*t129 + t1453*t781 + 0.5e1_dp/0.2e1_dp*t2133*t588 &
    3510              :                  - 0.3e1_dp/0.2e1_dp*t1473*t2136 - t1434*t1435*t407/0.2e1_dp &
    3511              :                  + t81*t591*t1093 + t81*t596*t1093/0.2e1_dp - 0.3e1_dp/0.4e1_dp &
    3512              :                  *t84*t1442*t452*t407 + 0.5e1_dp/0.2e1_dp*t1407*t770 + t2133 &
    3513            0 :                  *t585 - 0.27e2_dp/0.4e1_dp*t2069*t2155
    3514            0 :          t2180 = t136*t758
    3515            0 :          t2195 = t136*t137
    3516              :          t2203 = -t136*t1976*t93*t118 + (2._dp*t1251*t793) + 0.5e1_dp &
    3517              :                  /0.2e1_dp*(t1251)*(t796) + (2._dp*t2180*t443) - (6._dp &
    3518              :                                                                   *t440*t1256*t1841) - (5._dp*t1261*t2066) + (2._dp*t440 &
    3519              :                                                                           *t441*t1093) + 0.5e1_dp/0.2e1_dp*(t2180)*(t454) - (5._dp &
    3520              :                                                                        *t1261*t2076) - 0.75e2_dp/0.4e1_dp*t2195*t2086 + 0.10e2_dp* &
    3521            0 :                  t2195*t2099 + 0.5e1_dp/0.2e1_dp*(t440)*(t448)*(t1946)
    3522            0 :          t2211 = t140*t739
    3523              :          t2233 = -t140*t2053*t93*t129 + (2._dp*t1321*t802) + 0.3e1_dp &
    3524              :                  /0.2e1_dp*(t1321)*(t805) + (2._dp*t2211*t476) - (6._dp &
    3525              :                                                                   *t474*t1326*t1841) - (3._dp*t1331*t2136) + (2._dp*t474 &
    3526              :                                                                           *t475*t1093) + 0.3e1_dp/0.2e1_dp*(t2211)*(t483) - (3._dp &
    3527              :                                                                        *t1331*t2090) - 0.27e2_dp/0.4e1_dp*t95*t2155 + 0.3e1_dp*t95 &
    3528            0 :                  *t2072 + 0.3e1_dp/0.2e1_dp*(t474)*(t481)*(t2111)
    3529              :          t2274 = -0.4e1_dp/0.3e1_dp*t860*t153*t491 + (3._dp*t2060*t516) &
    3530              :                  + 0.5e1_dp/0.3e1_dp*t759*t441*t507 + (t2115 + t2158)*omega* &
    3531              :                  t134 + (12._dp*t106*t1149*t442*t407) - 0.75e2_dp/0.4e1_dp*(t1397) &
    3532              :                  *(t234)*(t1270)*(t452)*(t407) - &
    3533              :                  t788*t413/0.3e1_dp + (t2203 + t2233)*t145*t151 + (t166*(0.27e2_dp &
    3534              :                                                                          /0.4e1_dp*(t184)*(t1666)*(t219)*(t372)* &
    3535              :                                                                          (t407) - (3._dp*t184*t709*t1546*t407) - 0.3e1_dp/0.2e1_dp &
    3536              :                                                                          *(t184)*(t710)*(t1093) - 0.3e1_dp/0.4e1_dp*t1678* &
    3537              :                                                                          t1756 + (t714*t1093)/0.2e1_dp) + f2716*t1816*t196)*alpha3 &
    3538              :                  *t145*t151 - 0.25e2_dp/0.6e1_dp*(t1362)*(t634)*(t5) &
    3539              :                  *(t115)*(t407) + (2._dp*t81*t108*t442*t407) &
    3540            0 :                  - (5._dp*t1726*t506*t6*t407)
    3541              :          e_ndrho_rho = e_ndrho_rho + (-0.4e1_dp/0.3e1_dp*t409*t920 - t80*(t1850 + t1938 + t2056 + &
    3542            0 :                                                                           t2274)*Clda)*sx
    3543            0 :          t2279 = t407**2
    3544            0 :          t2280 = t1157*t2279
    3545            0 :          t2283 = t541*t1139
    3546            0 :          t2306 = d2exerndrhondrho(Q, dQndrho, d2Qndrhondrho)
    3547            0 :          t2316 = t127*t2279
    3548            0 :          t2323 = t1270*t2279
    3549            0 :          t2336 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    3550              :          t2365 = 2._dp*t1095*t88 + 4._dp*t375*t737 + t11*t15*(F2*t1111 &
    3551            0 :                                                               *t68 - 2._dp*t733*t404 + 2._dp*t85*t1119 - t85*t1136)
    3552              :          t2391 = (t166*(0.3e1_dp/0.4e1_dp*t206*t2280 - t206*t2283/0.2e1_dp &
    3553              :                         - 0.27e2_dp/0.4e1_dp*t1168*t256*t2279 + 0.3e1_dp*t665*t75*t2279 &
    3554              :                         + 0.3e1_dp/0.2e1_dp*t665*t213*t1139 + 0.75e2_dp/0.4e1_dp*t218 &
    3555              :                         *t1182*t2279 - 0.10e2_dp*t218*t1186*t2279 - 0.5e1_dp/0.2e1_dp* &
    3556              :                         t218*t671*t1139) - t230*t2306)*alpha5*t234 + (6._dp*t2060 &
    3557              :                                                                       *t813) - 0.2e1_dp*t91*t551*t1139 + 0.10e2_dp*t659*t234* &
    3558              :                  t2316 + 0.6e1_dp*t91*t1661*t2279 - 0.75e2_dp/0.4e1_dp*t1397*t234 &
    3559              :                  *t2323 + (-0.2e1_dp*t641*t2279 + t239*t1139 + 0.6e1_dp*t158 &
    3560              :                            *t282*t2279 - 0.2e1_dp*t158*t236*t1139 + t206*t2336)*alpha4 &
    3561              :                  *t210 + 0.3e1_dp*t514*t155*t44*t1139 + (5._dp*t1824* &
    3562              :                                                          t816) - (4._dp*t740*t742) - t81*t93*t1139 + f12*t2365* &
    3563              :                  t94 - (6._dp*t759*t761) + 0.2e1_dp*t81*t108*t2279 + (0.12e2_dp &
    3564              :                                                                       *t1584*t2279 - 0.3e1_dp*t638*t1139 - 0.6e1_dp*t1589*t2279 + &
    3565              :                                                                       0.2e1_dp*t641*t1139 + 0.2e1_dp*t206*t1594*t2279 - t206*t644 &
    3566            0 :                                                                       *t1139 - t243*t2336)*alpha6*t247*t249
    3567              :          t2432 = 0.147e3_dp/0.4e1_dp*t251*t1615*t2279 - 0.21e2_dp*t251*t1619 &
    3568              :                  *t2279 - 0.7e1_dp/0.2e1_dp*t251*t524*t1139 - 0.75e2_dp/0.4e1_dp &
    3569              :                  *t1630*t1626*t2279 + 0.10e2_dp*t530*t214*t2279 + 0.5e1_dp/ &
    3570              :                  0.2e1_dp*t530*t256*t1139 + 0.27e2_dp/0.4e1_dp*t261*t1640*t2279 &
    3571              :                  - 0.3e1_dp*t261*t1644*t2279 - 0.3e1_dp/0.2e1_dp*t261*t536*t1139 &
    3572            0 :                  - 0.3e1_dp/0.4e1_dp*t243*t2280 + t243*t2283/0.2e1_dp
    3573              :          t2452 = 2._dp*t1095*t103 + 4._dp*t375*t756 + t11*t15*(2._dp*g2* &
    3574            0 :                                                                t3*t19 + 12._dp*g3*t1*t24*t32)
    3575            0 :          t2454 = t2452*E*t108
    3576            0 :          t2473 = t2279*t115
    3577            0 :          t2486 = t115*t1139
    3578            0 :          t2501 = t2279*t114
    3579            0 :          t2511 = t113*t2279
    3580            0 :          t2515 = t114*t1139
    3581              :          t2519 = -t136*t2452*t93*t118 + (4._dp*t2180*t793) + (5._dp &
    3582              :                                                               *t2180*t796) - (6._dp*t440*t1256*t2279) - (10._dp*t440 &
    3583              :                                                                        *t658*t2473) + (2._dp*t440*t441*t1139) - 0.75e2_dp/0.4e1_dp &
    3584              :                  *(t440)*(t1274)*(t2323) + (10._dp*t440*t448 &
    3585              :                                             *t2316) + 0.5e1_dp/0.2e1_dp*(t440)*(t448)*(t2486) - &
    3586              :                  t140*t2365*t93*t129 + (4._dp*t2211*t802) + (3._dp*t2211 &
    3587              :                                                              *t805) - (6._dp*t474*t1326*t2279) - (6._dp*t474*t108 &
    3588              :                                                                        *t480*t2501) + (2._dp*t474*t475*t1139) - 0.27e2_dp/0.4e1_dp &
    3589              :                  *(t474)*(t1342)*(t2473) + (3._dp*t474*t481* &
    3590            0 :                                             t2511) + 0.3e1_dp/0.2e1_dp*(t474)*(t481)*(t2515)
    3591              :          t2571 = -t110*t2452*t83*t118 + (2._dp*t2133*t767) + (5._dp &
    3592              :                                                               *t2133*t770) - (2._dp*t583*t441*t2279) + (t583*t584 &
    3593              :                                                                              *t1139) - (5._dp*t583*t448*t2473) + (10._dp*t583*t587 &
    3594              :                                                                                  *t2316) + 0.5e1_dp/0.2e1_dp*(t583)*(t587)*(t2486) &
    3595              :                  - 0.75e2_dp/0.4e1_dp*(t583)*(t1426)*(t2323) - (2._dp &
    3596            0 :                                                                 *t81*t1430*t2279) - (t81*t93*t595*t2279)
    3597              :          t2604 = t81*t591*t1139 - 0.3e1_dp/0.4e1_dp*t81*t1443*t2279 + &
    3598              :                  t81*t596*t1139/0.2e1_dp - t125*t2365*t83*t129 + (2._dp* &
    3599              :                                                                   t2105*t781) + (3._dp*t2105*t784) - 0.2e1_dp*t603*t475*t2279 &
    3600              :                  + t603*t604*t1139 - 0.3e1_dp*t603*t481*t2501 + 0.3e1_dp*t603 &
    3601              :                  *t607*t2511 + 0.3e1_dp/0.2e1_dp*t603*t607*t2515 - 0.27e2_dp &
    3602            0 :                  /0.4e1_dp*t603*t1469*t2473
    3603              :          t2668 = ((2._dp*t158*t236*t2279 - t158*t204*t1139 - f98* &
    3604              :                    t2336)*alpha2*t112) + (t166*t2432 + t270*t2306)*alpha7 &
    3605              :                  *t279 - t2454*t156 - (12._dp*t1150*t155*t44*t2279) + (12._dp &
    3606              :                                                                        *t106*t1149*t2279) + t2519*t145*t151 + 0.5e1_dp/0.2e1_dp &
    3607              :                  *t659*t234*t2486 - 0.15e2_dp*t1736*t234*t2473 - (3._dp* &
    3608              :                                                                   t106*t513*t1139) + (0.3e1_dp/0.4e1_dp*(t158)*(t1553) &
    3609              :                                                                                *(t2279) - (t158*t496*t1139)/0.2e1_dp - t172*t2306) &
    3610              :                  *alpha1*t177 + t2454 + (t2571 + t2604)*omega*t134 + (t166* &
    3611              :                                                                       (0.27e2_dp/0.4e1_dp*(t184)*(t1667)*(t2279) - (3._dp &
    3612              :                                                                               *t184*t1671*t2279) - 0.3e1_dp/0.2e1_dp*(t184)*(t710) &
    3613              :                                                                        *(t1139) - 0.3e1_dp/0.4e1_dp*(t1678)*(t2279) + (t714 &
    3614              :                                                                             *t1139)/0.2e1_dp) + f2716*t2306*t196)*alpha3*t145*t151 &
    3615              :                  + (t158*(t2336 + (t1139*t161 - 2._dp*t2279*t204 + 2._dp* &
    3616              :                                    t1538*t2279 - t626*t1139)*t202*t160 - t822*t238*t1885 &
    3617              :                           + t823*t407)) + ((20._dp*t281*t1691*t2279 - 4._dp*t281*t561 &
    3618              :                                             *t1139 - 12._dp*t1699*t2279 + 3._dp*t566*t1139 + 6._dp*t206*t565 &
    3619              :                                             *t2279 - 2._dp*t206*t284*t1139 - 2._dp*t243*t284*t2279 + t243 &
    3620            0 :                                             *t238*t1139 + t289*t2336)*alpha8*t296)
    3621            0 :          e_ndrho_ndrho = e_ndrho_ndrho + (-t80*(t2391 + t2668)*Clda)*sx
    3622              :       END IF
    3623              : 
    3624       301462 :    END SUBROUTINE xwpbe_lda_calc_2
    3625              : 
    3626              : ! **************************************************************************************************
    3627              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda.
    3628              : !> \param e_0 ...
    3629              : !> \param e_rho ...
    3630              : !> \param e_ndrho ...
    3631              : !> \param e_rho_rho ...
    3632              : !> \param e_ndrho_rho ...
    3633              : !> \param e_ndrho_ndrho ...
    3634              : !> \param rho , ndrho: density and norm of the density gradient
    3635              : !> \param ndrho ...
    3636              : !> \param omega screening parameter
    3637              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
    3638              : !> \param sx scaling factor
    3639              : !> \param order degree of the derivative that should be evaluated,
    3640              : !>        if positive all the derivatives up to the given degree are evaluated,
    3641              : !>        if negative only the given degree is calculated
    3642              : !> \par History
    3643              : !>      05.2007 created [Manuel Guidon]
    3644              : !> \author Manuel Guidon
    3645              : !> \note
    3646              : !>      This routine evaluates the functional for omega!=0 using a simple
    3647              : !>      gaussian expansion for large ww.
    3648              : ! **************************************************************************************************
    3649      7837418 :    SUBROUTINE xwpbe_lda_calc_3(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
    3650              :                                e_ndrho_ndrho, rho, ndrho, omega, sscale, sx, order)
    3651              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
    3652              :                                                             e_ndrho_rho, e_ndrho_ndrho
    3653              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, omega, sscale, sx
    3654              :       INTEGER, INTENT(IN)                                :: order
    3655              : 
    3656              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t1004, &
    3657              :          t1005, t1015, t102, t1025, t1032, t104, t105, t1056, t1060, t1065, t1068, t1079, t108, &
    3658              :          t1080, t109, t1096, t11, t110, t1101, t1102, t111, t1114, t1115, t1121, t1124, t113, &
    3659              :          t1143, t1147, t115, t1154, t1156, t116, t1162, t1169, t117, t1170, t1178, t1179, t118, &
    3660              :          t1189, t119, t1193, t12, t120, t1202, t1203, t1204, t121, t1210, t1213, t1214, t1215, &
    3661              :          t1216, t1220, t123, t1230, t1235, t124, t1240, t1241, t1242, t125, t1250, t1251, t1252, &
    3662              :          t1256, t126, t1260, t1264, t127, t1273, t128, t1288, t129, t1295, t13
    3663              :       REAL(KIND=dp) :: t1300, t1304, t1308, t1309, t131, t1315, t1316, t132, t1326, t133, t1331, &
    3664              :          t1337, t1346, t1350, t136, t1363, t1372, t1382, t1386, t1388, t1393, t14, t140, t1400, &
    3665              :          t1401, t1402, t1408, t141, t142, t1437, t144, t1446, t145, t147, t148, t1480, t1482, &
    3666              :          t1488, t149, t15, t150, t151, t1511, t152, t1522, t1535, t154, t155, t156, t1562, t157, &
    3667              :          t1578, t158, t1583, t159, t1592, t1594, t16, t1608, t162, t1620, t1627, t163, t1632, &
    3668              :          t1645, t1652, t166, t167, t1675, t1678, t168, t1685, t1687, t1688, t169, t1692, t1695, &
    3669              :          t17, t170, t1712, t1719, t1731, t1737, t1739, t174, t1747, t1753, t176
    3670              :       REAL(KIND=dp) :: t1762, t1765, t177, t1781, t1796, t18, t180, t1804, t181, t1812, t1834, &
    3671              :          t185, t186, t1860, t1878, t1886, t189, t19, t190, t192, t193, t1935, t194, t1945, t195, &
    3672              :          t197, t1979, t198, t1981, t1989, t199, t1999, t2, t200, t2003, t2007, t2013, t202, t2050, &
    3673              :          t206, t2060, t2064, t2068, t208, t209, t21, t210, t2107, t212, t213, t2140, t215, t2159, &
    3674              :          t216, t217, t2174, t218, t219, t22, t221, t222, t223, t224, t227, t228, t23, t231, t232, &
    3675              :          t234, t235, t236, t237, t238, t24, t242, t245, t246, t247, t248, t249, t25, t250, t251, &
    3676              :          t252, t258, t259, t260, t261, t262, t266, t268, t27, t274, t277
    3677              :       REAL(KIND=dp) :: t278, t279, t28, t280, t285, t287, t288, t29, t291, t292, t295, t296, t297, &
    3678              :          t3, t300, t301, t302, t304, t305, t308, t309, t31, t313, t316, t317, t318, t32, t320, &
    3679              :          t322, t325, t328, t329, t332, t335, t338, t339, t34, t341, t342, t344, t345, t35, t352, &
    3680              :          t359, t36, t361, t364, t365, t368, t369, t370, t373, t374, t375, t376, t377, t379, t38, &
    3681              :          t380, t381, t383, t384, t388, t39, t391, t395, t396, t397, t398, t399, t4, t400, t401, &
    3682              :          t403, t404, t405, t406, t408, t41, t416, t417, t418, t419, t42, t420, t422, t423, t424, &
    3683              :          t428, t429, t433, t435, t437, t438, t44, t441, t442, t443, t444
    3684              :       REAL(KIND=dp) :: t445, t451, t452, t453, t456, t457, t46, t461, t462, t463, t466, t470, &
    3685              :          t471, t478, t479, t48, t480, t483, t484, t485, t486, t49, t490, t493, t499, t5, t500, &
    3686              :          t501, t504, t505, t511, t512, t513, t516, t517, t521, t523, t526, t528, t531, t532, t533, &
    3687              :          t534, t537, t538, t539, t54, t542, t544, t545, t546, t548, t549, t55, t550, t554, t555, &
    3688              :          t56, t561, t564, t565, t567, t568, t570, t58, t584, t586, t589, t590, t592, t593, t595, &
    3689              :          t596, t599, t6, t60, t603, t604, t607, t608, t61, t610, t611, t612, t616, t617, t621, &
    3690              :          t623, t626, t627, t628, t629, t63, t635, t637, t638, t649, t65, t651
    3691              :       REAL(KIND=dp) :: t652, t656, t661, t664, t67, t670, t673, t677, t68, t681, t684, t687, t69, &
    3692              :          t690, t691, t695, t696, t698, t699, t7, t70, t704, t705, t706, t708, t709, t71, t712, &
    3693              :          t713, t714, t717, t718, t72, t721, t724, t725, t727, t73, t74, t743, t746, t748, t75, &
    3694              :          t752, t756, t759, t760, t762, t765, t767, t768, t769, t77, t772, t78, t781, t8, t80, &
    3695              :          t803, t804, t806, t81, t811, t813, t816, t82, t820, t83, t84, t843, t844, t849, t85, &
    3696              :          t855, t87, t871, t872, t875, t877, t878, t88, t892, t893, t899, t9, t90, t900, t91, t916, &
    3697              :          t917, t92, t920, t922, t93, t932, t933, t94, t95, t96, t964, t967, t968
    3698              :       REAL(KIND=dp) :: t969, t97, t973, t976, t99
    3699              : 
    3700      7837418 :       IF (order >= 0) THEN
    3701      7837418 :          t1 = ndrho**2
    3702      7837418 :          t2 = r2**2
    3703      7837418 :          t3 = 0.1e1_dp/t2
    3704      7837418 :          t4 = t1*t3
    3705      7837418 :          t5 = pi**2
    3706      7837418 :          t6 = r3*t5
    3707      7837418 :          t7 = t6*rho
    3708      7837418 :          t8 = t7**(0.1e1_dp/0.3e1_dp)
    3709      7837418 :          t9 = t8**2
    3710      7837418 :          t10 = 0.1e1_dp/t9
    3711      7837418 :          t11 = t4*t10
    3712      7837418 :          t12 = rho**2
    3713      7837418 :          t13 = 0.1e1_dp/t12
    3714      7837418 :          t14 = sscale**2
    3715      7837418 :          t15 = t13*t14
    3716      7837418 :          t16 = a1*t1
    3717      7837418 :          t17 = t16*t3
    3718      7837418 :          t18 = t10*t13
    3719      7837418 :          t19 = t18*t14
    3720      7837418 :          t21 = t1**2
    3721      7837418 :          t22 = a2*t21
    3722      7837418 :          t23 = t2**2
    3723      7837418 :          t24 = 0.1e1_dp/t23
    3724      7837418 :          t25 = t22*t24
    3725      7837418 :          t27 = 0.1e1_dp/t8/t7
    3726      7837418 :          t28 = t12**2
    3727      7837418 :          t29 = 0.1e1_dp/t28
    3728      7837418 :          t31 = t14**2
    3729      7837418 :          t32 = t27*t29*t31
    3730      7837418 :          t34 = t17*t19 + t25*t32
    3731      7837418 :          t35 = a3*t21
    3732      7837418 :          t36 = t35*t24
    3733      7837418 :          t38 = t21*ndrho
    3734      7837418 :          t39 = a4*t38
    3735      7837418 :          t41 = 0.1e1_dp/t23/r2
    3736      7837418 :          t42 = t39*t41
    3737      7837418 :          t44 = 0.1e1_dp/t9/t7
    3738      7837418 :          t46 = 0.1e1_dp/t28/rho
    3739      7837418 :          t48 = t31*sscale
    3740      7837418 :          t49 = t44*t46*t48
    3741      7837418 :          t54 = 0.1e1_dp/t23/t2
    3742      7837418 :          t55 = a5*t21*t1*t54
    3743      7837418 :          t56 = r3**2
    3744      7837418 :          t58 = t5**2
    3745      7837418 :          t60 = 0.1e1_dp/t56/t58
    3746      7837418 :          t61 = t28**2
    3747      7837418 :          t63 = t31*t14
    3748      7837418 :          t65 = t60/t61*t63
    3749      7837418 :          t67 = r1 + t36*t32 + t42*t49 + t55*t65
    3750      7837418 :          t68 = 0.1e1_dp/t67
    3751      7837418 :          t69 = t34*t68
    3752      7837418 :          t70 = t15*t69
    3753      7837418 :          t71 = t11*t70
    3754      7837418 :          t72 = omega**2
    3755      7837418 :          t73 = beta2*t72
    3756      7837418 :          t74 = t73*t10
    3757      7837418 :          t75 = t71 + t74
    3758      7837418 :          t77 = 0.1e1_dp/A
    3759      7837418 :          Q = f94*t75*t77
    3760      7837418 :          t78 = rho**(0.1e1_dp/0.3e1_dp)
    3761      7837418 :          t80 = t78*rho*f89
    3762      7837418 :          t81 = B*f12
    3763      7837418 :          t82 = t71 + DD
    3764      7837418 :          t83 = 0.1e1_dp/t82
    3765      7837418 :          t84 = t81*t83
    3766      7837418 :          t85 = F2*t34
    3767      7837418 :          t87 = F1 + t85*t68
    3768      7837418 :          t88 = t15*t87
    3769      7837418 :          t90 = t11*t88 + r1
    3770      7837418 :          t91 = f12*t90
    3771      7837418 :          t92 = t82**2
    3772      7837418 :          t93 = 0.1e1_dp/t92
    3773      7837418 :          t94 = C*t93
    3774      7837418 :          t95 = t91*t94
    3775      7837418 :          t96 = f34*pi
    3776      7837418 :          t97 = rootpi
    3777      7837418 :          t99 = r6*C
    3778      7837418 :          t102 = r4*B
    3779      7837418 :          t104 = r8*A
    3780      7837418 :          t105 = t92*t82
    3781      7837418 :          t108 = t97*(r15*E + t99*t90*t82 + t102*t92 + t104*t105)
    3782      7837418 :          t109 = 0.1e1_dp/r16
    3783      7837418 :          t110 = SQRT(t82)
    3784      7837418 :          t111 = t110*t105
    3785      7837418 :          t113 = t109/t111
    3786      7837418 :          t115 = SQRT(A)
    3787      7837418 :          t116 = f94*t34
    3788      7837418 :          t117 = t68*t1
    3789      7837418 :          t118 = t116*t117
    3790      7837418 :          t119 = t3*t10
    3791      7837418 :          t120 = t15*t77
    3792      7837418 :          t121 = t119*t120
    3793      7837418 :          t123 = EXP(t118*t121)
    3794      7837418 :          t124 = t115*t123
    3795      7837418 :          t125 = f32*ndrho
    3796      7837418 :          t126 = 0.1e1_dp/r2
    3797      7837418 :          t127 = t125*t126
    3798      7837418 :          t128 = 0.1e1_dp/t8
    3799      7837418 :          t129 = 0.1e1_dp/rho
    3800      7837418 :          t131 = t69*t77
    3801      7837418 :          t132 = SQRT(t131)
    3802      7837418 :          t133 = sscale*t132
    3803      7837418 :          t136 = erfc(t127*t128*t129*t133)
    3804      7837418 :          t140 = 0.1e1_dp/f1516
    3805      7837418 :          t141 = (t96 + t108*t113 - t96*t124*t136)*t140
    3806      7837418 :          t142 = 0.1e1_dp/t97
    3807      7837418 :          t144 = 0.1e1_dp/E
    3808      7837418 :          t145 = t142*t111*t144
    3809      7837418 :          t147 = -t141*t145 + r1
    3810      7837418 :          t148 = t147*E
    3811      7837418 :          t149 = 0.1e1_dp/t105
    3812      7837418 :          t150 = t148*t149
    3813      7837418 :          t151 = f158*E
    3814      7837418 :          t152 = t147*t83
    3815      7837418 :          t154 = t71 + DD + t72*t10
    3816      7837418 :          t155 = t154**2
    3817      7837418 :          t156 = t155**2
    3818      7837418 :          t157 = t156*t154
    3819      7837418 :          t158 = SQRT(t157)
    3820      7837418 :          t159 = 0.1e1_dp/t158
    3821      7837418 :          t162 = SQRT(t154)
    3822      7837418 :          t163 = 0.1e1_dp/t162
    3823      7837418 :          t166 = f68*C
    3824      7837418 :          t167 = t90*t83
    3825      7837418 :          t168 = t155*t154
    3826      7837418 :          t169 = SQRT(t168)
    3827      7837418 :          t170 = 0.1e1_dp/t169
    3828              :          t174 = (-t151*t152*t159 - t81*t83*t163 - t166*t167*t170) &
    3829      7837418 :                 *omega
    3830      7837418 :          t176 = f52*E
    3831      7837418 :          t177 = t147*t93
    3832      7837418 :          t180 = f12*C
    3833      7837418 :          t181 = t90*t93
    3834      7837418 :          t185 = t72*omega
    3835      7837418 :          t186 = (-t176*t177*t159 - t180*t181*t170)*t185
    3836      7837418 :          t189 = 0.1e1_dp/r3/t5
    3837      7837418 :          t190 = t189*t129
    3838      7837418 :          t192 = t72**2
    3839      7837418 :          t193 = t192*omega
    3840      7837418 :          t194 = t159*t193
    3841      7837418 :          t195 = t194*t44
    3842      7837418 :          t197 = f12*A
    3843      7837418 :          t198 = exei(Q)
    3844      7837418 :          t199 = t71 + DD + t74
    3845      7837418 :          t200 = 0.1e1_dp/t199
    3846      7837418 :          t202 = LOG(t75*t200)
    3847              :          t206 = (t84 + t95 + t150 + t174*t128 + t186*t190 - t150*t195 &
    3848      7837418 :                  + t197*(t198 + t202))*Clda
    3849      7837418 :          e_0 = e_0 + (-t80*t206)*sx
    3850              :       END IF
    3851      7837418 :       IF (order >= 1 .OR. order == -1) THEN
    3852      4912607 :          t208 = t44*t13
    3853      4912607 :          t209 = t4*t208
    3854      4912607 :          t210 = t14*t34
    3855      4912607 :          t212 = t68*r3*t5
    3856      4912607 :          t213 = t210*t212
    3857      4912607 :          t215 = 0.2e1_dp/0.3e1_dp*t209*t213
    3858      4912607 :          t216 = t12*rho
    3859      4912607 :          t217 = 0.1e1_dp/t216
    3860      4912607 :          t218 = t217*t14
    3861      4912607 :          t219 = t218*t69
    3862      4912607 :          t221 = 2._dp*t11*t219
    3863      4912607 :          t222 = t3*t44
    3864      4912607 :          t223 = t16*t222
    3865      4912607 :          t224 = t15*t6
    3866      4912607 :          t227 = t10*t217
    3867      4912607 :          t228 = t227*t14
    3868      4912607 :          t231 = t56*t58
    3869      4912607 :          t232 = t231*t12
    3870      4912607 :          t234 = 0.1e1_dp/t8/t232
    3871      4912607 :          t235 = t24*t234
    3872      4912607 :          t236 = t22*t235
    3873      4912607 :          t237 = t29*t31
    3874      4912607 :          t238 = t237*t6
    3875      4912607 :          t242 = t27*t46*t31
    3876              :          t245 = -0.2e1_dp/0.3e1_dp*t223*t224 - (2._dp*t17*t228) - 0.4e1_dp &
    3877      4912607 :                 /0.3e1_dp*t236*t238 - (4._dp*t25*t242)
    3878      4912607 :          t246 = t245*t68
    3879      4912607 :          t247 = t15*t246
    3880      4912607 :          t248 = t11*t247
    3881      4912607 :          t249 = t4*t18
    3882      4912607 :          t250 = t67**2
    3883      4912607 :          t251 = 0.1e1_dp/t250
    3884      4912607 :          t252 = t35*t235
    3885      4912607 :          t258 = 0.1e1_dp/t9/t232
    3886      4912607 :          t259 = t41*t258
    3887      4912607 :          t260 = t39*t259
    3888      4912607 :          t261 = t46*t48
    3889      4912607 :          t262 = t261*t6
    3890      4912607 :          t266 = 0.1e1_dp/t28/t12
    3891      4912607 :          t268 = t44*t266*t48
    3892      4912607 :          t274 = t60/t61/rho*t63
    3893              :          t277 = -0.4e1_dp/0.3e1_dp*t252*t238 - (4._dp*t36*t242) - 0.5e1_dp &
    3894      4912607 :                 /0.3e1_dp*t260*t262 - (5._dp*t42*t268) - (8._dp*t55*t274)
    3895      4912607 :          t278 = t251*t277
    3896      4912607 :          t279 = t210*t278
    3897      4912607 :          t280 = t249*t279
    3898              :          t285 = -t215 - t221 + t248 - t280 - 0.2e1_dp/0.3e1_dp*t73*t44*r3 &
    3899      4912607 :                 *t5
    3900      4912607 :          dQrho = f94*t285*t77
    3901      4912607 :          t287 = ndrho*t3
    3902      4912607 :          t288 = t287*t10
    3903      4912607 :          t291 = a1*ndrho
    3904      4912607 :          t292 = t291*t3
    3905      4912607 :          t295 = t1*ndrho
    3906      4912607 :          t296 = a2*t295
    3907      4912607 :          t297 = t296*t24
    3908      4912607 :          t300 = 2._dp*t292*t19 + 4._dp*t297*t32
    3909      4912607 :          t301 = t300*t68
    3910      4912607 :          t302 = t15*t301
    3911      4912607 :          t304 = a3*t295
    3912      4912607 :          t305 = t304*t24
    3913      4912607 :          t308 = a4*t21
    3914      4912607 :          t309 = t308*t41
    3915      4912607 :          t313 = a5*t38*t54
    3916      4912607 :          t316 = 4._dp*t305*t32 + 5._dp*t309*t49 + 6._dp*t313*t65
    3917      4912607 :          t317 = t251*t316
    3918      4912607 :          t318 = t210*t317
    3919      4912607 :          t320 = 2._dp*t288*t70 + t11*t302 - t249*t318
    3920      4912607 :          dQndrho = f94*t320*t77
    3921      4912607 :          t322 = t78*f89
    3922      4912607 :          t325 = -t215 - t221 + t248 - t280
    3923      4912607 :          t328 = t14*t87
    3924      4912607 :          t329 = t328*t6
    3925      4912607 :          t332 = t218*t87
    3926      4912607 :          t335 = F2*t245
    3927      4912607 :          t338 = t335*t68 - t85*t278
    3928      4912607 :          t339 = t15*t338
    3929              :          t341 = -0.2e1_dp/0.3e1_dp*t209*t329 - (2._dp*t11*t332) + (t11 &
    3930      4912607 :                                                                    *t339)
    3931      4912607 :          t342 = f12*t341
    3932      4912607 :          t344 = C*t149
    3933      4912607 :          t345 = t344*t325
    3934      4912607 :          t352 = t82*t325
    3935              :          t359 = t97*(t99*t341*t82 + t99*t90*t325 + 2._dp*t102*t352 &
    3936      4912607 :                      + 3._dp*t104*t92*t325)
    3937      4912607 :          t361 = t92**2
    3938      4912607 :          t364 = t109/t110/t361
    3939      4912607 :          t365 = t364*t325
    3940      4912607 :          t368 = t96*t115
    3941      4912607 :          t369 = f94*t245
    3942      4912607 :          t370 = t369*t117
    3943      4912607 :          t373 = t251*t1*t3
    3944      4912607 :          t374 = t116*t373
    3945      4912607 :          t375 = t14*t77
    3946      4912607 :          t376 = t375*t277
    3947      4912607 :          t377 = t18*t376
    3948      4912607 :          t379 = t117*t3
    3949      4912607 :          t380 = t116*t379
    3950      4912607 :          t381 = t208*t14
    3951      4912607 :          t383 = t77*r3*t5
    3952      4912607 :          t384 = t381*t383
    3953      4912607 :          t388 = t119*t218*t77
    3954              :          t391 = t370*t121 - t374*t377 - 0.2e1_dp/0.3e1_dp*t380*t384 - (2._dp &
    3955      4912607 :                                                                        *t118*t388)
    3956      4912607 :          t395 = rootpi
    3957      4912607 :          t396 = 0.1e1_dp/t395
    3958      4912607 :          t397 = t123*t396
    3959      4912607 :          t398 = f32**2
    3960      4912607 :          t399 = t398*t1
    3961      4912607 :          t400 = t399*t119
    3962      4912607 :          t401 = t15*t131
    3963      4912607 :          t403 = EXP(-t400*t401)
    3964      4912607 :          t404 = t126*t27
    3965      4912607 :          t405 = t125*t404
    3966      4912607 :          t406 = t129*sscale
    3967      4912607 :          t408 = t132*r3*t5
    3968      4912607 :          t416 = t125*t126*t128
    3969      4912607 :          t417 = 0.1e1_dp/t132
    3970      4912607 :          t418 = t246*t77
    3971      4912607 :          t419 = t34*t251
    3972      4912607 :          t420 = t77*t277
    3973      4912607 :          t422 = t418 - t419*t420
    3974      4912607 :          t423 = t417*t422
    3975      4912607 :          t424 = t406*t423
    3976              :          t428 = t403*(-t405*t406*t408/0.3e1_dp - t127*t128*t13*t133 &
    3977      4912607 :                       + t416*t424/0.2e1_dp)
    3978      4912607 :          t429 = t397*t428
    3979              :          t433 = (t359*t113 - 0.7e1_dp/0.2e1_dp*t108*t365 - (t368*t391 &
    3980      4912607 :                                                             *t123*t136) + (2._dp*t368*t429))*t140
    3981      4912607 :          t435 = t141*t142
    3982      4912607 :          t437 = t110*t92*t144
    3983      4912607 :          t438 = t437*t325
    3984      4912607 :          t441 = -t433*t145 - 0.7e1_dp/0.2e1_dp*t435*t438
    3985      4912607 :          t442 = t441*E
    3986      4912607 :          t443 = t442*t149
    3987      4912607 :          t444 = 0.1e1_dp/t361
    3988      4912607 :          t445 = t444*t325
    3989      4912607 :          t451 = t151*t147
    3990      4912607 :          t452 = t93*t159
    3991      4912607 :          t453 = t452*t325
    3992      4912607 :          t456 = 0.1e1_dp/t158/t157
    3993      4912607 :          t457 = t83*t456
    3994      4912607 :          t461 = -t215 - t221 + t248 - t280 - 0.2e1_dp/0.3e1_dp*t72*t44*t6
    3995      4912607 :          t462 = t156*t461
    3996      4912607 :          t463 = t457*t462
    3997      4912607 :          t466 = t93*t163
    3998      4912607 :          t470 = 0.1e1_dp/t162/t154
    3999      4912607 :          t471 = t83*t470
    4000      4912607 :          t478 = t166*t90
    4001      4912607 :          t479 = t93*t170
    4002      4912607 :          t480 = t479*t325
    4003      4912607 :          t483 = 0.1e1_dp/t169/t168
    4004      4912607 :          t484 = t83*t483
    4005      4912607 :          t485 = t155*t461
    4006      4912607 :          t486 = t484*t485
    4007              :          t490 = (-t151*t441*t83*t159 + t451*t453 + 0.5e1_dp/0.2e1_dp*t451 &
    4008              :                  *t463 + t81*t466*t325 + t81*t471*t461/0.2e1_dp - t166 &
    4009              :                  *t341*t83*t170 + t478*t480 + 0.3e1_dp/0.2e1_dp*t478*t486)* &
    4010      4912607 :                 omega
    4011      4912607 :          t493 = t27*r3*t5
    4012      4912607 :          t499 = t176*t147
    4013      4912607 :          t500 = t149*t159
    4014      4912607 :          t501 = t500*t325
    4015      4912607 :          t504 = t93*t456
    4016      4912607 :          t505 = t504*t462
    4017      4912607 :          t511 = t180*t90
    4018      4912607 :          t512 = t149*t170
    4019      4912607 :          t513 = t512*t325
    4020      4912607 :          t516 = t93*t483
    4021      4912607 :          t517 = t516*t485
    4022              :          t521 = (-t176*t441*t93*t159 + (2._dp*t499*t501) + 0.5e1_dp/ &
    4023              :                  0.2e1_dp*(t499)*(t505) - t180*t341*t93*t170 + (2._dp &
    4024      4912607 :                                                                 *t511*t513) + 0.3e1_dp/0.2e1_dp*(t511)*(t517))*t185
    4025      4912607 :          t523 = t189*t13
    4026      4912607 :          t526 = t148*t444
    4027      4912607 :          t528 = t194*t44*t325
    4028      4912607 :          t531 = t149*t456
    4029      4912607 :          t532 = t148*t531
    4030      4912607 :          t533 = t193*t44
    4031      4912607 :          t534 = t533*t462
    4032      4912607 :          t537 = t148*t500
    4033      4912607 :          t538 = t193*t258
    4034      4912607 :          t539 = t538*t6
    4035      4912607 :          t542 = dexeirho(Q, dQrho)
    4036      4912607 :          t544 = t199**2
    4037      4912607 :          t545 = 0.1e1_dp/t544
    4038      4912607 :          t546 = t75*t545
    4039      4912607 :          t548 = t285*t200 - t546*t285
    4040      4912607 :          t549 = 0.1e1_dp/t75
    4041      4912607 :          t550 = t548*t549
    4042              :          t554 = -t81*t93*t325 + t342*t94 - (2._dp*t91*t345) + t443 &
    4043              :                 - (3._dp*t148*t445) + t490*t128 - t174*t493/0.3e1_dp + t521 &
    4044              :                 *t190 - t186*t523 - t443*t195 + (3._dp*t526*t528) + 0.5e1_dp &
    4045              :                 /0.2e1_dp*t532*t534 + 0.5e1_dp/0.3e1_dp*t537*t539 + t197*(t542 &
    4046      4912607 :                                                                           + t550*t199)
    4047      4912607 :          t555 = t554*Clda
    4048      4912607 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t322*t206 - t80*t555)*sx
    4049      4912607 :          t561 = F2*t300
    4050      4912607 :          t564 = t561*t68 - t85*t317
    4051      4912607 :          t565 = t15*t564
    4052      4912607 :          t567 = 2._dp*t288*t88 + t11*t565
    4053      4912607 :          t568 = f12*t567
    4054      4912607 :          t570 = t344*t320
    4055              :          t584 = t97*(t99*t567*t82 + t99*t90*t320 + 2._dp*t102*t82 &
    4056      4912607 :                      *t320 + 3._dp*t104*t92*t320)
    4057      4912607 :          t586 = t364*t320
    4058      4912607 :          t589 = f94*t300
    4059      4912607 :          t590 = t589*t117
    4060      4912607 :          t592 = t375*t316
    4061      4912607 :          t593 = t18*t592
    4062      4912607 :          t595 = t68*ndrho
    4063      4912607 :          t596 = t116*t595
    4064      4912607 :          t599 = t590*t121 - t374*t593 + 2._dp*t596*t121
    4065      4912607 :          t603 = f32*t126
    4066      4912607 :          t604 = t603*t128
    4067      4912607 :          t607 = t301*t77
    4068      4912607 :          t608 = t77*t316
    4069      4912607 :          t610 = t607 - t419*t608
    4070      4912607 :          t611 = t417*t610
    4071      4912607 :          t612 = t406*t611
    4072      4912607 :          t616 = t403*(t604*t406*t132 + t416*t612/0.2e1_dp)
    4073      4912607 :          t617 = t397*t616
    4074              :          t621 = (t584*t113 - 0.7e1_dp/0.2e1_dp*t108*t586 - (t368*t599 &
    4075      4912607 :                                                             *t123*t136) + (2._dp*t368*t617))*t140
    4076      4912607 :          t623 = t437*t320
    4077      4912607 :          t626 = -t621*t145 - 0.7e1_dp/0.2e1_dp*t435*t623
    4078      4912607 :          t627 = t626*E
    4079      4912607 :          t628 = t627*t149
    4080      4912607 :          t629 = t444*t320
    4081      4912607 :          t635 = t452*t320
    4082      4912607 :          t637 = t156*t320
    4083      4912607 :          t638 = t457*t637
    4084      4912607 :          t649 = t479*t320
    4085      4912607 :          t651 = t155*t320
    4086      4912607 :          t652 = t484*t651
    4087              :          t656 = (-t151*t626*t83*t159 + t451*t635 + 0.5e1_dp/0.2e1_dp*t451 &
    4088              :                  *t638 + t81*t466*t320 + t81*t471*t320/0.2e1_dp - t166 &
    4089              :                  *t567*t83*t170 + t478*t649 + 0.3e1_dp/0.2e1_dp*t478*t652)* &
    4090      4912607 :                 omega
    4091      4912607 :          t661 = t500*t320
    4092      4912607 :          t664 = t504*t637
    4093      4912607 :          t670 = t512*t320
    4094      4912607 :          t673 = t516*t651
    4095              :          t677 = (-t176*t626*t93*t159 + (2._dp*t499*t661) + 0.5e1_dp/ &
    4096              :                  0.2e1_dp*(t499)*(t664) - t180*t567*t93*t170 + (2._dp &
    4097      4912607 :                                                                 *t511*t670) + 0.3e1_dp/0.2e1_dp*(t511)*(t673))*t185
    4098      4912607 :          t681 = t194*t44*t320
    4099      4912607 :          t684 = t533*t637
    4100      4912607 :          t687 = dexeindrho(Q, dQndrho)
    4101      4912607 :          t690 = t320*t200 - t546*t320
    4102      4912607 :          t691 = t690*t549
    4103              :          t695 = -t81*t93*t320 + t568*t94 - (2._dp*t91*t570) + t628 &
    4104              :                 - (3._dp*t148*t629) + t656*t128 + t677*t190 - t628*t195 &
    4105              :                 + (3._dp*t526*t681) + 0.5e1_dp/0.2e1_dp*t532*t684 + t197*(t687 &
    4106      4912607 :                                                                           + t691*t199)
    4107      4912607 :          t696 = t695*Clda
    4108      4912607 :          e_ndrho = e_ndrho + (-t80*t696)*sx
    4109              :       END IF
    4110      7837418 :       IF (order >= 2 .OR. order == -2) THEN
    4111            0 :          t698 = t258*t13
    4112            0 :          t699 = t4*t698
    4113            0 :          t704 = 0.10e2_dp/0.9e1_dp*t699*t210*t68*t56*t58
    4114            0 :          t705 = t44*t217
    4115            0 :          t706 = t4*t705
    4116            0 :          t708 = 0.8e1_dp/0.3e1_dp*t706*t213
    4117            0 :          t709 = t14*t245
    4118            0 :          t712 = 0.4e1_dp/0.3e1_dp*t209*t709*t212
    4119            0 :          t713 = t4*t381
    4120            0 :          t714 = t6*t277
    4121            0 :          t717 = 0.4e1_dp/0.3e1_dp*t713*t419*t714
    4122            0 :          t718 = t29*t14
    4123            0 :          t721 = 6._dp*t11*t718*t69
    4124            0 :          t724 = 4._dp*t11*t218*t246
    4125            0 :          t725 = t4*t227
    4126            0 :          t727 = 4._dp*t725*t279
    4127            0 :          t743 = t56*r3*t58*t5*t216
    4128            0 :          t746 = t24/t8/t743
    4129            0 :          t748 = t237*t231
    4130            0 :          t752 = t46*t31*t6
    4131            0 :          t756 = t27*t266*t31
    4132              :          t759 = 0.10e2_dp/0.9e1_dp*t16*t3*t258*t15*t231 + 0.8e1_dp/0.3e1_dp &
    4133              :                 *t223*t218*t6 + (6._dp*t17*t10*t29*t14) + 0.28e2_dp/ &
    4134              :                 0.9e1_dp*t22*t746*t748 + 0.32e2_dp/0.3e1_dp*t236*t752 + (20._dp &
    4135            0 :                                                                          *t25*t756)
    4136            0 :          t760 = t759*t68
    4137            0 :          t762 = t11*t15*t760
    4138            0 :          t765 = 2._dp*t249*t709*t278
    4139            0 :          t767 = 0.1e1_dp/t250/t67
    4140            0 :          t768 = t277**2
    4141            0 :          t769 = t767*t768
    4142            0 :          t772 = 2._dp*t249*t210*t769
    4143            0 :          t781 = 0.1e1_dp/t9/t743
    4144              :          t803 = 0.28e2_dp/0.9e1_dp*t35*t746*t748 + 0.32e2_dp/0.3e1_dp*t252* &
    4145              :                 t752 + (20._dp*t36*t756) + 0.40e2_dp/0.9e1_dp*t39*t41*t781 &
    4146              :                 *t261*t231 + 0.50e2_dp/0.3e1_dp*t260*t266*t48*t6 + 0.30e2_dp* &
    4147              :                 t42*t44/t28/t216*t48 + (72._dp*t55*t60/t61/t12* &
    4148            0 :                                         t63)
    4149            0 :          t804 = t251*t803
    4150            0 :          t806 = t249*t210*t804
    4151              :          t811 = t704 + t708 - t712 + t717 + t721 - t724 + t727 + t762 - t765 &
    4152            0 :                 + t772 - t806 + 0.10e2_dp/0.9e1_dp*t73*t258*t56*t58
    4153            0 :          d2Qrhorho = f94*t811*t77
    4154            0 :          t813 = t287*t208
    4155            0 :          t816 = t14*t300
    4156            0 :          t820 = t6*t316
    4157              :          t843 = -0.4e1_dp/0.3e1_dp*t291*t222*t224 - (4._dp*t292*t228) &
    4158            0 :                 - 0.16e2_dp/0.3e1_dp*t296*t235*t238 - (16._dp*t297*t242)
    4159            0 :          t844 = t843*t68
    4160            0 :          t849 = t287*t18
    4161            0 :          t855 = t767*t277*t316
    4162              :          t871 = -0.16e2_dp/0.3e1_dp*t304*t235*t238 - (16._dp*t305*t242) &
    4163              :                 - 0.25e2_dp/0.3e1_dp*t308*t259*t262 - (25._dp*t309*t268) - &
    4164            0 :                 (48._dp*t313*t274)
    4165            0 :          t872 = t251*t871
    4166              :          t875 = -0.4e1_dp/0.3e1_dp*t813*t213 - 0.2e1_dp/0.3e1_dp*t209*t816* &
    4167              :                 t212 + 0.2e1_dp/0.3e1_dp*t713*t419*t820 - (4._dp*t288*t219) &
    4168              :                 - (2._dp*t11*t218*t301) + (2._dp*t725*t318) + (2._dp* &
    4169              :                                                                t288*t247) + (t11*t15*t844) - t249*t709*t317 - (2._dp &
    4170              :                                                                             *t849*t279) - t249*t816*t278 + 0.2e1_dp*t249*t210*t855 &
    4171            0 :                 - t249*t210*t872
    4172            0 :          d2Qrhondrho = f94*t875*t77
    4173            0 :          t877 = t119*t13
    4174            0 :          t878 = t210*t68
    4175            0 :          t892 = 2._dp*a1*t3*t19 + 12._dp*a2*t1*t24*t32
    4176            0 :          t893 = t892*t68
    4177            0 :          t899 = t316**2
    4178            0 :          t900 = t767*t899
    4179              :          t916 = 12._dp*a3*t1*t24*t32 + 20._dp*a4*t295*t41*t49 + 30._dp* &
    4180            0 :                 a5*t21*t54*t65
    4181            0 :          t917 = t251*t916
    4182              :          t920 = 2._dp*t877*t878 + 4._dp*t288*t302 - 4._dp*t849*t318 + t11* &
    4183              :                 t15*t893 - 2._dp*t249*t816*t317 + 2._dp*t249*t210*t900 - t249 &
    4184            0 :                 *t210*t917
    4185            0 :          d2Qndrhondrho = f94*t920*t77
    4186            0 :          t922 = t78**2
    4187              :          t932 = t704 + t708 - t712 + t717 + t721 - t724 + t727 + t762 - t765 &
    4188            0 :                 + t772 - t806 + 0.10e2_dp/0.9e1_dp*t72*t258*t231
    4189            0 :          t933 = t156*t932
    4190              :          t964 = 0.10e2_dp/0.9e1_dp*t699*t328*t231 + 0.8e1_dp/0.3e1_dp*t706* &
    4191              :                 t329 - 0.4e1_dp/0.3e1_dp*t209*t14*t338*t6 + (6._dp*t11*t718 &
    4192              :                                                              *t87) - 0.4e1_dp*(t11)*t218*t338 + (t11*t15*(F2 &
    4193            0 :                                                                            *t759*t68 - 2._dp*t335*t278 + 2._dp*t85*t769 - t85*t804))
    4194            0 :          t967 = t361*t82
    4195            0 :          t968 = 0.1e1_dp/t967
    4196            0 :          t969 = t325**2
    4197            0 :          t973 = t442*t444
    4198              :          t976 = t704 + t708 - t712 + t717 + t721 - t724 + t727 + t762 - t765 &
    4199            0 :                 + t772 - t806
    4200            0 :          t1004 = 0.1e1_dp/t110/t967
    4201            0 :          t1005 = t109*t1004
    4202            0 :          t1015 = t369*t373
    4203            0 :          t1025 = t116*t767*t1*t3
    4204            0 :          t1032 = t116*t251*t4*t44
    4205              :          t1056 = f94*t759*t117*t121 - (2._dp*t1015*t377) - 0.4e1_dp/ &
    4206              :                  0.3e1_dp*t369*t379*t384 - (4._dp*t370*t388) + (2._dp*t1025 &
    4207              :                                                                 *t18*t375*t768) + 0.4e1_dp/0.3e1_dp*t1032*t120*t714 + (4._dp &
    4208              :                                                                                *t374*t227*t376) - (t374*t18*t375*t803) + 0.10e2_dp &
    4209              :                  /0.9e1_dp*t380*t698*t14*t77*t56*t58 + 0.8e1_dp/0.3e1_dp* &
    4210            0 :                  t380*t705*t14*t383 + 0.6e1_dp*t118*t119*t718*t77
    4211            0 :          t1060 = t391**2
    4212            0 :          t1065 = t96*t115*t391
    4213            0 :          t1068 = t96*t124
    4214            0 :          t1079 = t399*t877
    4215            0 :          t1080 = t251*t77
    4216            0 :          t1096 = t13*sscale
    4217            0 :          t1101 = t125*t404*t129
    4218            0 :          t1102 = sscale*t417
    4219            0 :          t1114 = 0.1e1_dp/t132/t131
    4220            0 :          t1115 = t422**2
    4221            0 :          t1121 = t245*t251
    4222            0 :          t1124 = t34*t767
    4223            0 :          t1143 = t433*t142
    4224            0 :          t1147 = t110*t82*t144
    4225              :          t1154 = -((t97*(t99*t964*t82 + 2._dp*t99*t341*t325 + t99 &
    4226              :                          *t90*t976 + 2._dp*t102*t969 + 2._dp*t102*t82*t976 + 6._dp*t104 &
    4227              :                          *t82*t969 + 3._dp*t104*t92*t976)*t113) - (7._dp*t359* &
    4228              :                                                                    t365) + 0.63e2_dp/0.4e1_dp*(t108)*(t1005)*(t969) - 0.7e1_dp &
    4229              :                    /0.2e1_dp*(t108)*(t364)*(t976) - t368*t1056 &
    4230              :                    *t123*t136 - t368*t1060*t123*t136 + (4._dp*t1065*t429) &
    4231              :                    + 0.2e1_dp*t1068*t396*(0.2e1_dp/0.3e1_dp*t399*t222*t13*t878 &
    4232              :                                           *t383 + (2._dp*t400*t218*t131) - (t400*t15*t418) &
    4233              :                                           + t1079*t210*t1080*t277)*t428 + 0.2e1_dp*t368*t397*t403 &
    4234              :                    *(0.4e1_dp/0.9e1_dp*t125*t126*t234*t406*t132*t56*t58 &
    4235              :                      + 0.2e1_dp/0.3e1_dp*t405*t1096*t408 - t1101*t1102*t6*t422 &
    4236              :                      /0.3e1_dp + (2._dp*t127*t128*t217*t133) - t416*t1096*t423 &
    4237              :                      - t416*t406*t1114*t1115/0.4e1_dp + t416*t406*t417*(t760 &
    4238              :                                                                         *t77 - 2._dp*t1121*t420 + 2._dp*t1124*t77*t768 - t419* &
    4239              :                                                                    t77*t803)/0.2e1_dp))*t140*t145 - (7._dp*t1143*t438) - 0.35e2_dp &
    4240              :                  /0.4e1_dp*(t435)*(t1147)*(t969) - 0.7e1_dp/0.2e1_dp &
    4241            0 :                  *(t435)*(t437)*(t976)
    4242            0 :          t1156 = t1154*E*t149
    4243            0 :          t1162 = t442*t531
    4244            0 :          t1169 = t148*t444*t456
    4245            0 :          t1170 = t325*t156
    4246            0 :          t1178 = t444*t159
    4247            0 :          t1179 = t148*t1178
    4248              :          t1189 = 0.5e1_dp/0.2e1_dp*t532*t533*t933 - (6._dp*t442*t445) &
    4249              :                  + f12*t964*t94 + (12._dp*t148*t968*t969) + (6._dp*t973 &
    4250              :                                                              *t528) - (3._dp*t148*t444*t976) + t1156 - (t81*t93* &
    4251              :                                                                     t976) + (2._dp*t81*t149*t969) + (5._dp*t1162*t534) + 0.10e2_dp &
    4252              :                  /0.3e1_dp*(t442)*(t500)*(t539) - 0.15e2_dp*t1169 &
    4253              :                  *t533*t1170*t461 - (2._dp*t91*t344*t976) - (10._dp* &
    4254              :                                                              t1179*t538*t325*r3*t5) + 0.4e1_dp/0.9e1_dp*t174*t234*t56 &
    4255            0 :                  *t58
    4256            0 :          t1193 = t176*t441
    4257            0 :          t1202 = t176*t147*t149
    4258            0 :          t1203 = t456*t325
    4259            0 :          t1204 = t1203*t462
    4260            0 :          t1210 = t156**2
    4261            0 :          t1213 = 0.1e1_dp/t158/t1210/t155
    4262            0 :          t1214 = t93*t1213
    4263            0 :          t1215 = t461**2
    4264            0 :          t1216 = t1210*t1215
    4265            0 :          t1220 = t168*t1215
    4266            0 :          t1230 = t180*t341
    4267            0 :          t1235 = t444*t170
    4268            0 :          t1240 = t180*t90*t149
    4269            0 :          t1241 = t483*t325
    4270            0 :          t1242 = t1241*t485
    4271            0 :          t1250 = 0.1e1_dp/t169/t156/t155
    4272            0 :          t1251 = t93*t1250
    4273            0 :          t1252 = t156*t1215
    4274            0 :          t1256 = t154*t1215
    4275            0 :          t1260 = t155*t932
    4276              :          t1264 = -t176*t1154*t93*t159 + (4._dp*t1193*t501) + (5._dp &
    4277              :                                                               *t1193*t505) - (6._dp*t499*t1178*t969) - (10._dp*t1202 &
    4278              :                                                                       *t1204) + (2._dp*t499*t500*t976) - 0.75e2_dp/0.4e1_dp*(t499) &
    4279              :                  *(t1214)*(t1216) + (10._dp*t499*t504*t1220) &
    4280              :                  + 0.5e1_dp/0.2e1_dp*(t499)*(t504)*(t933) - t180*t964 &
    4281              :                  *t93*t170 + (4._dp*t1230*t513) + (3._dp*t1230*t517) &
    4282              :                  - (6._dp*t511*t1235*t969) - (6._dp*t1240*t1242) + (2._dp &
    4283              :                                                                     *t511*t512*t976) - 0.27e2_dp/0.4e1_dp*(t511)*(t1251) &
    4284              :                  *(t1252) + (3._dp*t511*t516*t1256) + 0.3e1_dp/0.2e1_dp* &
    4285            0 :                  (t511)*(t516)*(t1260)
    4286            0 :          t1273 = t148*t149*t1213
    4287            0 :          t1288 = t148*t531*t193
    4288            0 :          t1295 = t148*t968
    4289            0 :          t1300 = t83*t1213
    4290            0 :          t1304 = t149*t163
    4291            0 :          t1308 = t81*t93
    4292            0 :          t1309 = t470*t325
    4293            0 :          t1315 = 0.1e1_dp/t162/t155
    4294            0 :          t1316 = t83*t1315
    4295            0 :          t1326 = t166*t341
    4296            0 :          t1331 = t166*t181
    4297              :          t1337 = -0.75e2_dp/0.4e1_dp*t451*t1300*t1216 - (2._dp*t81*t1304 &
    4298              :                                                          *t969) - t1308*t1309*t461 + (t81*t466*t976) - 0.3e1_dp &
    4299              :                  /0.4e1_dp*(t81)*(t1316)*(t1215) + (t81*t471 &
    4300              :                                                     *t932)/0.2e1_dp - t166*t964*t83*t170 + (2._dp*t1326*t480) &
    4301              :                  + (3._dp*t1326*t486) - (3._dp*t1331*t1242) - (2._dp* &
    4302            0 :                                                                t478*t512*t969)
    4303            0 :          t1346 = t83*t1250
    4304            0 :          t1350 = t151*t441
    4305            0 :          t1363 = t151*t177
    4306              :          t1372 = (t478*t479*t976) + (3._dp*t478*t484*t1256) + &
    4307              :                  0.3e1_dp/0.2e1_dp*(t478)*(t484)*(t1260) - 0.27e2_dp/0.4e1_dp &
    4308              :                  *(t478)*(t1346)*(t1252) + (2._dp*t1350*t453) &
    4309              :                  - t151*t1154*t83*t159 + (5._dp*t1350*t463) - (2._dp &
    4310              :                                                                *t451*t500*t969) + (t451*t452*t976) - (5._dp*t1363 &
    4311              :                                                                      *t1204) + (10._dp*t451*t457*t1220) + 0.5e1_dp/0.2e1_dp*(t451) &
    4312            0 :                  *(t457)*(t933)
    4313            0 :          t1382 = C*t444
    4314            0 :          t1386 = d2exeirhorho(Q, dQrho, d2Qrhorho)
    4315            0 :          t1388 = t285**2
    4316            0 :          t1393 = t75/t544/t199
    4317            0 :          t1400 = t75**2
    4318            0 :          t1401 = 0.1e1_dp/t1400
    4319            0 :          t1402 = t548*t1401
    4320              :          t1408 = t1264*t185*t190 + (10._dp*t532*t533*t1220) - (2._dp &
    4321              :                                                                *t521*t523) - 0.75e2_dp/0.4e1_dp*(t1273)*(t533)*(t1216) &
    4322              :                  + (3._dp*t526*t194*t44*t976) - t1156*t195 - 0.2e1_dp &
    4323              :                  /0.3e1_dp*t490*t493 + (2._dp*t186*t189*t217) - 0.25e2_dp &
    4324              :                  /0.3e1_dp*t1288*t258*t156*t461*r3*t5 - (12._dp*t1295* &
    4325              :                                                          t194*t44*t969) + (t1337 + t1372)*omega*t128 - 0.40e2_dp/0.9e1_dp &
    4326              :                  *t537*t193*t781*t231 - (4._dp*t342*t345) + (6._dp* &
    4327              :                                                              t91*t1382*t969) + (t197*(t1386 + (t811*t200 - 2._dp*t1388 &
    4328              :                                                                           *t545 + 2._dp*t1393*t1388 - t546*t811)*t549*t199 - t1402 &
    4329            0 :                                                                                       *t199*t285 + t550*t285))
    4330              :          e_rho_rho = e_rho_rho + (-0.4e1_dp/0.9e1_dp/t922*f89*t206 - 0.8e1_dp/0.3e1_dp*t322*t555 &
    4331            0 :                                   - t80*(t1189 + t1408)*Clda)*sx
    4332              :          t1437 = -0.4e1_dp/0.3e1_dp*t813*t329 - 0.2e1_dp/0.3e1_dp*t209*t14* &
    4333              :                  t564*t6 - (4._dp*t288*t332) - 0.2e1_dp*t11*t218*t564 + (2._dp &
    4334              :                                                                          *t288*t339) + t11*t15*(F2*t843*t68 - t335*t317 &
    4335            0 :                                                                                             - t561*t278 + 2._dp*t85*t855 - t85*t872)
    4336            0 :          t1446 = t320*t325
    4337            0 :          t1480 = t589*t373
    4338            0 :          t1482 = t420*t316
    4339            0 :          t1488 = t116*t251*ndrho*t3
    4340              :          t1511 = (f94*t843*t117*t121) - t1015*t593 + (2._dp*t369 &
    4341              :                                                       *t595*t121) - (t1480*t377) + (2._dp*t1025*t19*t1482) &
    4342              :                  - (2._dp*t1488*t377) - (t374*t18*t375*t871) - 0.2e1_dp &
    4343              :                  /0.3e1_dp*t589*t379*t384 + 0.2e1_dp/0.3e1_dp*t1032*t120* &
    4344              :                  t820 - 0.4e1_dp/0.3e1_dp*t116*(t595)*t3*t384 - (2._dp*t590 &
    4345            0 :                                                                  *t388) + (2._dp*t374*t227*t592) - (4._dp*t596*t388)
    4346            0 :          t1522 = t96*t115*t599
    4347              :          t1535 = t396*(-2._dp*t398*ndrho*t119*t401 - t400*t15*t607 &
    4348            0 :                        + t1079*t210*t1080*t316)
    4349            0 :          t1562 = t300*t251
    4350              :          t1578 = (t97*(t99*t1437*t82 + t99*t341*t320 + t99*t567 &
    4351              :                        *t325 + t99*t90*t875 + 2._dp*t102*t1446 + 2._dp*t102*t82 &
    4352              :                        *t875 + 6._dp*t104*t352*t320 + 3._dp*t104*t92*t875)*t113) - &
    4353              :                  0.7e1_dp/0.2e1_dp*t359*t586 - 0.7e1_dp/0.2e1_dp*t584*t365 + 0.63e2_dp &
    4354              :                  /0.4e1_dp*(t108)*(t109)*(t1004)*(t325)*(t320) &
    4355              :                  - 0.7e1_dp/0.2e1_dp*(t108)*(t364)*(t875) - &
    4356              :                  t368*t1511*t123*t136 - t368*t391*t599*t123*t136 + (2._dp &
    4357              :                                                                     *t1065*t617) + (2._dp*t1522*t429) + (2._dp*t1068* &
    4358              :                                                                             t1535*t428) + 0.2e1_dp*t368*t397*t403*(-t603*t27*t129* &
    4359              :                                                                       t133*t6/0.3e1_dp - t1101*t1102*t6*t610/0.6e1_dp - t604*t1096 &
    4360              :                                                                       *t132 - t416*t1096*t611/0.2e1_dp + t604*t424/0.2e1_dp - t416 &
    4361              :                                                                              *t406*t1114*t422*t610/0.4e1_dp + t416*t406*t417*(t844 &
    4362              :                                                                               *t77 - t1121*t608 - t1562*t420 + 2._dp*t1124*t1482 - &
    4363            0 :                                                                                                             t419*t77*t871)/0.2e1_dp)
    4364            0 :          t1583 = t621*t142
    4365              :          t1592 = -t1578*t140*t145 - 0.7e1_dp/0.2e1_dp*t1143*t623 - 0.7e1_dp &
    4366              :                  /0.2e1_dp*t1583*t438 - 0.35e2_dp/0.4e1_dp*t435*t1147*t1446 - &
    4367            0 :                  0.7e1_dp/0.2e1_dp*t435*t437*t875
    4368            0 :          t1594 = t1592*E*t149
    4369            0 :          t1608 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    4370            0 :          t1620 = t199*t320
    4371            0 :          t1627 = t627*t444
    4372            0 :          t1632 = t156*t875
    4373            0 :          t1645 = t627*t531
    4374              :          t1652 = -t1594*t195 - t656*t493/0.3e1_dp - (3._dp*t442*t629) &
    4375              :                  - 0.25e2_dp/0.6e1_dp*t1288*t258*r3*t5*t156*t320 - (3._dp &
    4376              :                                                                     *t627*t445) + t197*(t1608 + (t875*t200 - 0.2e1_dp*t285*t545 &
    4377              :                                                                            *t320 + 0.2e1_dp*t1393*t285*t320 - t546*t875)*t549*t199 &
    4378              :                                                                        - t1402*t1620 + t550*t320) + 0.5e1_dp/0.2e1_dp*t1162*t684 + &
    4379              :                  (3._dp*t1627*t528) + (3._dp*t973*t681) + t1594 + 0.5e1_dp/0.2e1_dp &
    4380              :                  *t532*t533*t1632 - t677*t523 + 0.5e1_dp/0.3e1_dp*(t627) &
    4381              :                  *(t500)*(t539) - 0.12e2_dp*t148*t968*t159*t533 &
    4382              :                  *t1446 + 0.5e1_dp/0.2e1_dp*t1645*t534 + 0.2e1_dp*t81*t149*t325 &
    4383            0 :                  *t320
    4384            0 :          t1675 = t1241*t651
    4385            0 :          t1678 = t151*t626
    4386            0 :          t1685 = t151*t152
    4387            0 :          t1687 = t461*t320
    4388            0 :          t1688 = t1213*t1210*t1687
    4389            0 :          t1692 = t483*t155*t1687
    4390            0 :          t1695 = t1203*t637
    4391            0 :          t1712 = t155*t875
    4392              :          t1719 = 0.3e1_dp/0.2e1_dp*t1326*t652 - 0.3e1_dp/0.2e1_dp*t1331*t1675 &
    4393              :                  + t1678*t453 - (2._dp*t451*t500*t1446) + (t451*t452 &
    4394              :                                                            *t875) - 0.75e2_dp/0.4e1_dp*t1685*t1688 - 0.3e1_dp/0.2e1_dp*t1331 &
    4395              :                  *t1692 - 0.5e1_dp/0.2e1_dp*t1363*t1695 + t1350*t635 - 0.3e1_dp/ &
    4396              :                  0.4e1_dp*t84*t1315*t461*t320 + 0.5e1_dp/0.2e1_dp*t1678*t463 - &
    4397              :                  t1308*t470*t461*t320/0.2e1_dp - t1308*t1309*t320/0.2e1_dp &
    4398            0 :                  + 0.3e1_dp/0.2e1_dp*t478*t484*t1712 - 0.2e1_dp*t478*t512*(t1446)
    4399            0 :          t1731 = t166*t567
    4400            0 :          t1737 = t166*t167
    4401            0 :          t1739 = t483*t154*t1687
    4402            0 :          t1747 = t1250*t156*t1687
    4403            0 :          t1753 = t456*t156*t1687
    4404            0 :          t1762 = t456*t168*t1687
    4405              :          t1765 = (t478*t479*t875) - t166*t1437*t83*t170 + t1326 &
    4406              :                  *t649 - (2._dp*t81*t149*t163*t325*t320) + 0.3e1_dp/0.2e1_dp &
    4407              :                  *t1731*t486 + 0.5e1_dp/0.2e1_dp*t451*t457*t1632 + (3._dp* &
    4408              :                                                                     t1737*t1739) - t151*t1592*t83*t159 + t1731*t480 - 0.27e2_dp &
    4409              :                  /0.4e1_dp*(t1737)*(t1747) + (t81*t466*t875) - &
    4410              :                  0.5e1_dp/0.2e1_dp*t1363*t1753 + 0.5e1_dp/0.2e1_dp*t1350*t638 + (t81 &
    4411            0 :                                                                                  *t471*t875)/0.2e1_dp + (10._dp*t1685*t1762)
    4412            0 :          t1781 = t176*t626
    4413            0 :          t1796 = t176*t177
    4414              :          t1804 = -t176*t1592*t93*t159 + (2._dp*t1193*t661) + 0.5e1_dp &
    4415              :                  /0.2e1_dp*(t1193)*(t664) + (2._dp*t1781*t501) - (6._dp &
    4416              :                                                                   *t499*t1178*t1446) - (5._dp*t1202*t1695) + (2._dp*t499 &
    4417              :                                                                            *t500*t875) + 0.5e1_dp/0.2e1_dp*(t1781)*(t505) - (5._dp &
    4418              :                                                                        *t1202*t1753) - 0.75e2_dp/0.4e1_dp*t1796*t1688 + 0.10e2_dp* &
    4419            0 :                  t1796*t1762 + 0.5e1_dp/0.2e1_dp*(t499)*(t504)*(t1632)
    4420            0 :          t1812 = t180*t567
    4421              :          t1834 = -t180*t1437*t93*t170 + (2._dp*t1230*t670) + 0.3e1_dp &
    4422              :                  /0.2e1_dp*(t1230)*(t673) + (2._dp*t1812*t513) - (6._dp &
    4423              :                                                                   *t511*t1235*t1446) - (3._dp*t1240*t1675) + (2._dp*t511 &
    4424              :                                                                            *t512*t875) + 0.3e1_dp/0.2e1_dp*(t1812)*(t517) - (3._dp &
    4425              :                                                                        *t1240*t1692) - 0.27e2_dp/0.4e1_dp*t95*t1747 + 0.3e1_dp*t95 &
    4426            0 :                  *t1739 + 0.3e1_dp/0.2e1_dp*(t511)*(t516)*(t1712)
    4427              :          t1860 = (6._dp*t511*t445*t320) + (3._dp*t526*t194*t44* &
    4428              :                                            t875) - (t81*t93*t875) - (3._dp*t148*t444*t875) - (2._dp &
    4429              :                                                                                   *t568*t345) + f12*t1437*t94 - (5._dp*t1179*t538* &
    4430              :                                                                 t6*t320) + (t1719 + t1765)*omega*t128 - 0.75e2_dp/0.4e1_dp*(t1273) &
    4431              :                  *(t533)*(t1210)*(t461)*(t320) + (t1804 &
    4432              :                                                   + t1834)*t185*t190 - 0.15e2_dp/0.2e1_dp*(t1169)*(t533) &
    4433              :                  *(t462)*(t320) + (12._dp*t148*t968*t325* &
    4434              :                                    t320) - (2._dp*t342*t570) - 0.15e2_dp/0.2e1_dp*(t1169)*(t533) &
    4435              :                  *(t1170)*(t320) + (10._dp*t532*t533*t168 &
    4436            0 :                                     *t461*t320) - (2._dp*t91*t344*t875)
    4437            0 :          e_ndrho_rho = e_ndrho_rho + (-0.4e1_dp/0.3e1_dp*t322*t696 - t80*(t1652 + t1860)*Clda)*sx
    4438              :          t1878 = 2._dp*t119*t88 + 4._dp*t288*t565 + t11*t15*(F2*t892* &
    4439            0 :                                                              t68 - 2._dp*t561*t317 + 2._dp*t85*t900 - t85*t917)
    4440            0 :          t1886 = t320**2
    4441            0 :          t1935 = t599**2
    4442            0 :          t1945 = t610**2
    4443              :          t1979 = -((t97*(t99*t1878*t82 + 2._dp*t99*t567*t320 + t99 &
    4444              :                          *t90*t920 + 2._dp*t102*t1886 + 2._dp*t102*t82*t920 + 6._dp*t104 &
    4445              :                          *t82*t1886 + 3._dp*t104*t92*t920)*t113) - (7._dp*t584 &
    4446              :                                                                     *t586) + 0.63e2_dp/0.4e1_dp*(t108)*(t1005)*(t1886) &
    4447              :                    - 0.7e1_dp/0.2e1_dp*(t108)*(t364)*(t920) - (t368 &
    4448              :                                                                *(f94*t892*t117*t121 - 2._dp*t1480*t593 + 4._dp*t589*t595 &
    4449              :                                                                  *t121 + 2._dp*t1025*t18*t375*t899 - 4._dp*t1488*t593 - t374 &
    4450              :                                                                  *t18*t375*t916 + 2._dp*t116*t68*t3*t18*t375)*t123*t136) &
    4451              :                    - (t368*t1935*t123*t136) + (4._dp*t1522*t617) + &
    4452              :                    (2._dp*t1068*t1535*t616) + 0.2e1_dp*(t368)*t397*t403 &
    4453              :                    *(t604*t612 - t416*t406*t1114*t1945/0.4e1_dp + t416*t406 &
    4454              :                      *t417*(t893*t77 - 2._dp*t1562*t608 + 2._dp*t1124*t77* &
    4455              :                             t899 - t419*t77*t916)/0.2e1_dp))*t140*t145 - (7._dp*t1583 &
    4456              :                                                                           *t623) - 0.35e2_dp/0.4e1_dp*(t435)*(t1147)*(t1886) &
    4457            0 :                  - 0.7e1_dp/0.2e1_dp*(t435)*(t437)*(t920)
    4458            0 :          t1981 = t1979*E*t149
    4459            0 :          t1989 = t1886*t156
    4460            0 :          t1999 = t168*t1886
    4461            0 :          t2003 = t156*t920
    4462            0 :          t2007 = t1210*t1886
    4463              :          t2013 = -t1981*t195 + t1981 + (6._dp*t1627*t681) + (3._dp*t526 &
    4464              :                                                              *t194*t44*t920) - (15._dp*t1169*t533*t1989) + (5._dp &
    4465              :                                                                             *t1645*t684) - (12._dp*t1295*t194*t44*t1886) + (10._dp &
    4466              :                                                                                *t532*t533*t1999) + 0.5e1_dp/0.2e1_dp*(t532)*(t533) &
    4467              :                  *(t2003) - 0.75e2_dp/0.4e1_dp*(t1273)*(t533)*(t2007) &
    4468            0 :                  - (4._dp*t568*t570)
    4469            0 :          t2050 = t1886*t155
    4470            0 :          t2060 = t154*t1886
    4471            0 :          t2064 = t155*t920
    4472              :          t2068 = -t176*t1979*t93*t159 + (4._dp*t1781*t661) + (5._dp &
    4473              :                                                               *t1781*t664) - (6._dp*t499*t1178*t1886) - (10._dp*t499 &
    4474              :                                                                         *t531*t1989) + (2._dp*t499*t500*t920) - 0.75e2_dp/0.4e1_dp &
    4475              :                  *(t499)*(t1214)*(t2007) + (10._dp*t499*t504* &
    4476              :                                             t1999) + 0.5e1_dp/0.2e1_dp*(t499)*(t504)*(t2003) - &
    4477              :                  t180*t1878*t93*t170 + (4._dp*t1812*t670) + (3._dp*t1812 &
    4478              :                                                              *t673) - (6._dp*t511*t1235*t1886) - (6._dp*t511*t149 &
    4479              :                                                                        *t483*t2050) + (2._dp*t511*t512*t920) - 0.27e2_dp/0.4e1_dp* &
    4480              :                  (t511)*(t1251)*(t1989) + (3._dp*t511*t516*t2060) &
    4481            0 :                  + 0.3e1_dp/0.2e1_dp*(t511)*(t516)*(t2064)
    4482              :          t2107 = -(2._dp*t451*t500*t1886) + (t451*t452*t920) - &
    4483              :                  (5._dp*t451*t504*t1989) + (5._dp*t1678*t638) + (10._dp &
    4484              :                                                                  *t451*t457*t1999) + 0.5e1_dp/0.2e1_dp*(t451)*(t457)* &
    4485              :                  (t2003) - 0.75e2_dp/0.4e1_dp*(t451)*(t1300)*(t2007) &
    4486              :                  - (2._dp*t81*t1304*t1886) - (t81*t93*t470*t1886) &
    4487              :                  + (t81*t466*t920) - 0.3e1_dp/0.4e1_dp*(t81)*(t1316) &
    4488            0 :                  *(t1886)
    4489              :          t2140 = t81*t471*t920/0.2e1_dp - t166*t1878*t83*t170 + (2._dp &
    4490              :                                                                  *t1731*t649) + (3._dp*t1731*t652) - (2._dp*t478*t512 &
    4491              :                                                                               *t1886) + (t478)*t479*t920 - (3._dp*t478*t516*t2050) &
    4492              :                  + (3._dp*t478*t484*t2060) + 0.3e1_dp/0.2e1_dp*(t478)* &
    4493              :                  (t484)*(t2064) - 0.27e2_dp/0.4e1_dp*(t478)*(t1346) &
    4494            0 :                  *(t1989) - t151*t1979*t83*t159 + (2._dp*t1678*t635)
    4495            0 :          t2159 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    4496              :          t2174 = t2068*t185*t190 + 6._dp*t91*t1382*t1886 - 2._dp*t91*t344 &
    4497              :                  *t920 + (t2107 + t2140)*omega*t128 + f12*t1878*t94 - &
    4498              :                  t81*t93*t920 - 6._dp*t627*t629 - 3._dp*t148*t444*t920 + 2._dp* &
    4499              :                  t81*t149*t1886 + 12._dp*t148*t968*t1886 + t197*(t2159 + (t920 &
    4500              :                                                                         *t200 - 2._dp*t1886*t545 + 2._dp*t1393*t1886 - t546*t920)* &
    4501            0 :                                                                  t549*t199 - t690*t1401*t1620 + t691*t320)
    4502            0 :          e_ndrho_ndrho = e_ndrho_ndrho + (-t80*(t2013 + t2174)*Clda)*sx
    4503              :       END IF
    4504              : 
    4505      7837418 :    END SUBROUTINE xwpbe_lda_calc_3
    4506              : 
    4507              : ! **************************************************************************************************
    4508              : !> \brief Evaluates the screened hole averaged PBE exchange functional for lda.
    4509              : !> \param e_0 ...
    4510              : !> \param e_rho ...
    4511              : !> \param e_ndrho ...
    4512              : !> \param e_rho_rho ...
    4513              : !> \param e_ndrho_rho ...
    4514              : !> \param e_ndrho_ndrho ...
    4515              : !> \param rho , ndrho: density and norm of the density gradient
    4516              : !> \param ndrho ...
    4517              : !> \param omega screening parameter
    4518              : !> \param sscale scaling factor to enforce Lieb-Oxford bound
    4519              : !> \param sx scaling factor
    4520              : !> \param order degree of the derivative that should be evaluated,
    4521              : !>        if positive all the derivatives up to the given degree are evaluated,
    4522              : !>        if negative only the given degree is calculated
    4523              : !> \par History
    4524              : !>      05.2007 created [Manuel Guidon]
    4525              : !> \author Manuel Guidon
    4526              : !> \note
    4527              : !>      This routine evaluates the functional for omega!=0 using a simple
    4528              : !>      gaussian expansion for large ww and a taylor expansion for the
    4529              : !>      parameter G.
    4530              : ! **************************************************************************************************
    4531          122 :    SUBROUTINE xwpbe_lda_calc_4(e_0, e_rho, e_ndrho, e_rho_rho, e_ndrho_rho, &
    4532              :                                e_ndrho_ndrho, rho, ndrho, omega, sscale, sx, order)
    4533              :       REAL(KIND=dp), INTENT(INOUT)                       :: e_0, e_rho, e_ndrho, e_rho_rho, &
    4534              :                                                             e_ndrho_rho, e_ndrho_ndrho
    4535              :       REAL(KIND=dp), INTENT(IN)                          :: rho, ndrho, omega, sscale, sx
    4536              :       INTEGER, INTENT(IN)                                :: order
    4537              : 
    4538              :       REAL(KIND=dp) :: d2Qndrhondrho, d2Qrhondrho, d2Qrhorho, dQndrho, dQrho, Q, t1, t10, t100, &
    4539              :          t1001, t1011, t1017, t102, t1026, t103, t1033, t1035, t1040, t1047, t1048, t1049, t105, &
    4540              :          t106, t1065, t1066, t1071, t1074, t108, t1082, t1089, t109, t1098, t11, t110, t111, &
    4541              :          t1111, t1118, t113, t114, t115, t1155, t1157, t116, t117, t1174, t118, t1181, t1184, &
    4542              :          t1189, t1190, t1198, t12, t1205, t1208, t121, t1210, t1218, t122, t1224, t1231, t125, &
    4543              :          t1255, t126, t1261, t1264, t1266, t127, t1270, t1277, t128, t1288, t129, t1299, t13, &
    4544              :          t1319, t1324, t133, t1336, t134, t1351, t136, t137, t1382, t1397, t14, t140
    4545              :       REAL(KIND=dp) :: t1405, t141, t1413, t1435, t1443, t1447, t1448, t145, t1452, t146, t1481, &
    4546              :          t1483, t149, t15, t1500, t151, t1529, t153, t1533, t1537, t154, t155, t1552, t156, t1562, &
    4547              :          t1566, t1570, t1576, t158, t159, t16, t160, t161, t1618, t163, t1652, t167, t1672, t169, &
    4548              :          t17, t170, t171, t173, t174, t176, t177, t178, t179, t18, t180, t182, t183, t184, t185, &
    4549              :          t188, t189, t19, t192, t193, t195, t196, t197, t198, t199, t2, t203, t206, t207, t208, &
    4550              :          t209, t21, t210, t211, t212, t213, t219, t22, t220, t221, t222, t223, t227, t229, t23, &
    4551              :          t235, t238, t239, t24, t240, t241, t246, t248, t249, t25, t252
    4552              :       REAL(KIND=dp) :: t253, t256, t257, t258, t261, t262, t263, t265, t266, t269, t27, t270, &
    4553              :          t274, t277, t278, t279, t28, t281, t283, t286, t289, t29, t290, t293, t296, t299, t3, &
    4554              :          t300, t302, t303, t305, t306, t309, t31, t310, t313, t316, t32, t321, t326, t327, t329, &
    4555              :          t330, t331, t332, t333, t334, t34, t340, t341, t342, t345, t346, t35, t350, t351, t352, &
    4556              :          t355, t359, t36, t360, t367, t368, t369, t372, t373, t374, t375, t379, t38, t382, t388, &
    4557              :          t389, t39, t390, t393, t394, t4, t400, t401, t402, t405, t406, t41, t410, t412, t415, &
    4558              :          t417, t42, t420, t421, t422, t423, t426, t427, t428, t431, t433, t434
    4559              :       REAL(KIND=dp) :: t435, t437, t438, t439, t44, t443, t444, t450, t453, t454, t456, t457, &
    4560              :          t459, t46, t464, t465, t468, t469, t472, t473, t475, t476, t477, t478, t48, t484, t486, &
    4561              :          t487, t49, t498, t5, t500, t501, t505, t510, t513, t519, t522, t526, t530, t533, t536, &
    4562              :          t539, t54, t540, t544, t545, t548, t55, t553, t555, t557, t558, t56, t561, t563, t564, &
    4563              :          t568, t569, t572, t575, t576, t578, t579, t58, t581, t584, t588, t594, t597, t599, t6, &
    4564              :          t60, t603, t607, t61, t610, t613, t616, t618, t619, t620, t623, t63, t632, t65, t655, &
    4565              :          t657, t662, t664, t667, t67, t68, t69, t694, t7, t70, t700, t706, t71
    4566              :       REAL(KIND=dp) :: t72, t723, t726, t728, t73, t74, t744, t75, t751, t752, t769, t77, t772, &
    4567              :          t774, t78, t782, t783, t784, t789, t792, t793, t794, t795, t799, t8, t80, t803, t804, &
    4568              :          t807, t81, t811, t812, t819, t82, t83, t84, t848, t85, t852, t862, t863, t864, t865, &
    4569              :          t868, t87, t872, t878, t879, t88, t880, t9, t90, t91, t916, t92, t920, t93, t930, t931, &
    4570              :          t932, t935, t939, t94, t943, t95, t956, t96, t961, t966, t97, t972, t985, t99, t990, t995
    4571              : 
    4572          122 :       IF (order >= 0) THEN
    4573          122 :          t1 = ndrho**2
    4574          122 :          t2 = r2**2
    4575          122 :          t3 = 0.1e1_dp/t2
    4576          122 :          t4 = t1*t3
    4577          122 :          t5 = pi**2
    4578          122 :          t6 = r3*t5
    4579          122 :          t7 = t6*rho
    4580          122 :          t8 = t7**(0.1e1_dp/0.3e1_dp)
    4581          122 :          t9 = t8**2
    4582          122 :          t10 = 0.1e1_dp/t9
    4583          122 :          t11 = t4*t10
    4584          122 :          t12 = rho**2
    4585          122 :          t13 = 0.1e1_dp/t12
    4586          122 :          t14 = sscale**2
    4587          122 :          t15 = t13*t14
    4588          122 :          t16 = a1*t1
    4589          122 :          t17 = t16*t3
    4590          122 :          t18 = t10*t13
    4591          122 :          t19 = t18*t14
    4592          122 :          t21 = t1**2
    4593          122 :          t22 = a2*t21
    4594          122 :          t23 = t2**2
    4595          122 :          t24 = 0.1e1_dp/t23
    4596          122 :          t25 = t22*t24
    4597          122 :          t27 = 0.1e1_dp/t8/t7
    4598          122 :          t28 = t12**2
    4599          122 :          t29 = 0.1e1_dp/t28
    4600          122 :          t31 = t14**2
    4601          122 :          t32 = t27*t29*t31
    4602          122 :          t34 = t17*t19 + t25*t32
    4603          122 :          t35 = a3*t21
    4604          122 :          t36 = t35*t24
    4605          122 :          t38 = t21*ndrho
    4606          122 :          t39 = a4*t38
    4607          122 :          t41 = 0.1e1_dp/t23/r2
    4608          122 :          t42 = t39*t41
    4609          122 :          t44 = 0.1e1_dp/t9/t7
    4610          122 :          t46 = 0.1e1_dp/t28/rho
    4611          122 :          t48 = t31*sscale
    4612          122 :          t49 = t44*t46*t48
    4613          122 :          t54 = 0.1e1_dp/t23/t2
    4614          122 :          t55 = a5*t21*t1*t54
    4615          122 :          t56 = r3**2
    4616          122 :          t58 = t5**2
    4617          122 :          t60 = 0.1e1_dp/t56/t58
    4618          122 :          t61 = t28**2
    4619          122 :          t63 = t31*t14
    4620          122 :          t65 = t60/t61*t63
    4621          122 :          t67 = r1 + t36*t32 + t42*t49 + t55*t65
    4622          122 :          t68 = 0.1e1_dp/t67
    4623          122 :          t69 = t34*t68
    4624          122 :          t70 = t15*t69
    4625          122 :          t71 = t11*t70
    4626          122 :          t72 = omega**2
    4627          122 :          t73 = beta2*t72
    4628          122 :          t74 = t73*t10
    4629          122 :          t75 = t71 + t74
    4630          122 :          t77 = 0.1e1_dp/A
    4631          122 :          Q = f94*t75*t77
    4632          122 :          t78 = rho**(0.1e1_dp/0.3e1_dp)
    4633          122 :          t80 = t78*rho*f89
    4634          122 :          t81 = B*f12
    4635          122 :          t82 = t71 + DD
    4636          122 :          t83 = 0.1e1_dp/t82
    4637          122 :          t84 = t81*t83
    4638          122 :          t85 = F2*t34
    4639          122 :          t87 = F1 + t85*t68
    4640          122 :          t88 = t15*t87
    4641          122 :          t90 = t11*t88 + r1
    4642          122 :          t91 = f12*t90
    4643          122 :          t92 = t82**2
    4644          122 :          t93 = 0.1e1_dp/t92
    4645          122 :          t94 = C*t93
    4646          122 :          t95 = t91*t94
    4647          122 :          t96 = g2*t1
    4648          122 :          t97 = t96*t3
    4649          122 :          t99 = g3*t21
    4650          122 :          t100 = t99*t24
    4651          122 :          t102 = g1 + t97*t19 + t100*t32
    4652          122 :          t103 = t15*t102
    4653          122 :          t105 = t11*t103 + r1
    4654          122 :          t106 = t105*E
    4655          122 :          t108 = 0.1e1_dp/t92/t82
    4656          122 :          t109 = t106*t108
    4657          122 :          t110 = f158*E
    4658          122 :          t111 = t105*t83
    4659          122 :          t113 = t71 + DD + t72*t10
    4660          122 :          t114 = t113**2
    4661          122 :          t115 = t114**2
    4662          122 :          t116 = t115*t113
    4663          122 :          t117 = SQRT(t116)
    4664          122 :          t118 = 0.1e1_dp/t117
    4665          122 :          t121 = SQRT(t113)
    4666          122 :          t122 = 0.1e1_dp/t121
    4667          122 :          t125 = f68*C
    4668          122 :          t126 = t90*t83
    4669          122 :          t127 = t114*t113
    4670          122 :          t128 = SQRT(t127)
    4671          122 :          t129 = 0.1e1_dp/t128
    4672              :          t133 = (-t110*t111*t118 - t81*t83*t122 - t125*t126*t129) &
    4673          122 :                 *omega
    4674          122 :          t134 = 0.1e1_dp/t8
    4675          122 :          t136 = f52*E
    4676          122 :          t137 = t105*t93
    4677          122 :          t140 = f12*C
    4678          122 :          t141 = t90*t93
    4679          122 :          t145 = t72*omega
    4680          122 :          t146 = (-t136*t137*t118 - t140*t141*t129)*t145
    4681          122 :          t149 = 0.1e1_dp/r3/t5
    4682          122 :          t151 = t149/rho
    4683          122 :          t153 = t72**2
    4684          122 :          t154 = t153*omega
    4685          122 :          t155 = t118*t154
    4686          122 :          t156 = t155*t44
    4687          122 :          t158 = f12*A
    4688          122 :          t159 = exei(Q)
    4689          122 :          t160 = t71 + DD + t74
    4690          122 :          t161 = 0.1e1_dp/t160
    4691          122 :          t163 = LOG(t75*t161)
    4692              :          t167 = (t84 + t95 + t109 + t133*t134 + t146*t151 - t109*t156 &
    4693          122 :                  + t158*(t159 + t163))*Clda
    4694          122 :          e_0 = e_0 + (-t80*t167)*sx
    4695              :       END IF
    4696          122 :       IF (order >= 1 .OR. order == -1) THEN
    4697           71 :          t169 = t44*t13
    4698           71 :          t170 = t4*t169
    4699           71 :          t171 = t14*t34
    4700           71 :          t173 = t68*r3*t5
    4701           71 :          t174 = t171*t173
    4702           71 :          t176 = 0.2e1_dp/0.3e1_dp*t170*t174
    4703           71 :          t177 = t12*rho
    4704           71 :          t178 = 0.1e1_dp/t177
    4705           71 :          t179 = t178*t14
    4706           71 :          t180 = t179*t69
    4707           71 :          t182 = 2._dp*t11*t180
    4708           71 :          t183 = t3*t44
    4709           71 :          t184 = t16*t183
    4710           71 :          t185 = t15*t6
    4711           71 :          t188 = t10*t178
    4712           71 :          t189 = t188*t14
    4713           71 :          t192 = t56*t58
    4714           71 :          t193 = t192*t12
    4715           71 :          t195 = 0.1e1_dp/t8/t193
    4716           71 :          t196 = t24*t195
    4717           71 :          t197 = t22*t196
    4718           71 :          t198 = t29*t31
    4719           71 :          t199 = t198*t6
    4720           71 :          t203 = t27*t46*t31
    4721              :          t206 = -0.2e1_dp/0.3e1_dp*t184*t185 - (2._dp*t17*t189) - 0.4e1_dp &
    4722           71 :                 /0.3e1_dp*t197*t199 - (4._dp*t25*t203)
    4723           71 :          t207 = t206*t68
    4724           71 :          t208 = t15*t207
    4725           71 :          t209 = t11*t208
    4726           71 :          t210 = t4*t18
    4727           71 :          t211 = t67**2
    4728           71 :          t212 = 0.1e1_dp/t211
    4729           71 :          t213 = t35*t196
    4730           71 :          t219 = 0.1e1_dp/t9/t193
    4731           71 :          t220 = t41*t219
    4732           71 :          t221 = t39*t220
    4733           71 :          t222 = t46*t48
    4734           71 :          t223 = t222*t6
    4735           71 :          t227 = 0.1e1_dp/t28/t12
    4736           71 :          t229 = t44*t227*t48
    4737           71 :          t235 = t60/t61/rho*t63
    4738              :          t238 = -0.4e1_dp/0.3e1_dp*t213*t199 - (4._dp*t36*t203) - 0.5e1_dp &
    4739           71 :                 /0.3e1_dp*t221*t223 - (5._dp*t42*t229) - (8._dp*t55*t235)
    4740           71 :          t239 = t212*t238
    4741           71 :          t240 = t171*t239
    4742           71 :          t241 = t210*t240
    4743              :          t246 = -t176 - t182 + t209 - t241 - 0.2e1_dp/0.3e1_dp*t73*t44*r3 &
    4744           71 :                 *t5
    4745           71 :          dQrho = f94*t246*t77
    4746           71 :          t248 = ndrho*t3
    4747           71 :          t249 = t248*t10
    4748           71 :          t252 = a1*ndrho
    4749           71 :          t253 = t252*t3
    4750           71 :          t256 = t1*ndrho
    4751           71 :          t257 = a2*t256
    4752           71 :          t258 = t257*t24
    4753           71 :          t261 = 2._dp*t253*t19 + 4._dp*t258*t32
    4754           71 :          t262 = t261*t68
    4755           71 :          t263 = t15*t262
    4756           71 :          t265 = a3*t256
    4757           71 :          t266 = t265*t24
    4758           71 :          t269 = a4*t21
    4759           71 :          t270 = t269*t41
    4760           71 :          t274 = a5*t38*t54
    4761           71 :          t277 = 4._dp*t266*t32 + 5._dp*t270*t49 + 6._dp*t274*t65
    4762           71 :          t278 = t212*t277
    4763           71 :          t279 = t171*t278
    4764           71 :          t281 = 2._dp*t249*t70 + t11*t263 - t210*t279
    4765           71 :          dQndrho = f94*t281*t77
    4766           71 :          t283 = t78*f89
    4767           71 :          t286 = -t176 - t182 + t209 - t241
    4768           71 :          t289 = t14*t87
    4769           71 :          t290 = t289*t6
    4770           71 :          t293 = t179*t87
    4771           71 :          t296 = F2*t206
    4772           71 :          t299 = t296*t68 - t85*t239
    4773           71 :          t300 = t15*t299
    4774              :          t302 = -0.2e1_dp/0.3e1_dp*t170*t290 - (2._dp*t11*t293) + (t11 &
    4775           71 :                                                                    *t300)
    4776           71 :          t303 = f12*t302
    4777           71 :          t305 = C*t108
    4778           71 :          t306 = t305*t286
    4779           71 :          t309 = t14*t102
    4780           71 :          t310 = t309*t6
    4781           71 :          t313 = t179*t102
    4782           71 :          t316 = t96*t183
    4783           71 :          t321 = t99*t196
    4784              :          t326 = -0.2e1_dp/0.3e1_dp*t316*t185 - (2._dp*t97*t189) - 0.4e1_dp &
    4785           71 :                 /0.3e1_dp*t321*t199 - (4._dp*t100*t203)
    4786           71 :          t327 = t15*t326
    4787              :          t329 = -0.2e1_dp/0.3e1_dp*t170*t310 - (2._dp*t11*t313) + (t11 &
    4788           71 :                                                                    *t327)
    4789           71 :          t330 = t329*E
    4790           71 :          t331 = t330*t108
    4791           71 :          t332 = t92**2
    4792           71 :          t333 = 0.1e1_dp/t332
    4793           71 :          t334 = t333*t286
    4794           71 :          t340 = t110*t105
    4795           71 :          t341 = t93*t118
    4796           71 :          t342 = t341*t286
    4797           71 :          t345 = 0.1e1_dp/t117/t116
    4798           71 :          t346 = t83*t345
    4799           71 :          t350 = -t176 - t182 + t209 - t241 - 0.2e1_dp/0.3e1_dp*t72*t44*t6
    4800           71 :          t351 = t115*t350
    4801           71 :          t352 = t346*t351
    4802           71 :          t355 = t93*t122
    4803           71 :          t359 = 0.1e1_dp/t121/t113
    4804           71 :          t360 = t83*t359
    4805           71 :          t367 = t125*t90
    4806           71 :          t368 = t93*t129
    4807           71 :          t369 = t368*t286
    4808           71 :          t372 = 0.1e1_dp/t128/t127
    4809           71 :          t373 = t83*t372
    4810           71 :          t374 = t114*t350
    4811           71 :          t375 = t373*t374
    4812              :          t379 = (-t110*t329*t83*t118 + t340*t342 + 0.5e1_dp/0.2e1_dp*t340 &
    4813              :                  *t352 + t81*t355*t286 + t81*t360*t350/0.2e1_dp - t125 &
    4814              :                  *t302*t83*t129 + t367*t369 + 0.3e1_dp/0.2e1_dp*t367*t375)* &
    4815           71 :                 omega
    4816           71 :          t382 = t27*r3*t5
    4817           71 :          t388 = t136*t105
    4818           71 :          t389 = t108*t118
    4819           71 :          t390 = t389*t286
    4820           71 :          t393 = t93*t345
    4821           71 :          t394 = t393*t351
    4822           71 :          t400 = t140*t90
    4823           71 :          t401 = t108*t129
    4824           71 :          t402 = t401*t286
    4825           71 :          t405 = t93*t372
    4826           71 :          t406 = t405*t374
    4827              :          t410 = (-t136*t329*t93*t118 + (2._dp*t388*t390) + 0.5e1_dp/ &
    4828              :                  0.2e1_dp*(t388)*(t394) - t140*t302*t93*t129 + (2._dp &
    4829           71 :                                                                 *t400*t402) + 0.3e1_dp/0.2e1_dp*(t400)*(t406))*t145
    4830           71 :          t412 = t149*t13
    4831           71 :          t415 = t106*t333
    4832           71 :          t417 = t155*t44*t286
    4833           71 :          t420 = t108*t345
    4834           71 :          t421 = t106*t420
    4835           71 :          t422 = t154*t44
    4836           71 :          t423 = t422*t351
    4837           71 :          t426 = t106*t389
    4838           71 :          t427 = t154*t219
    4839           71 :          t428 = t427*t6
    4840           71 :          t431 = dexeirho(Q, dQrho)
    4841           71 :          t433 = t160**2
    4842           71 :          t434 = 0.1e1_dp/t433
    4843           71 :          t435 = t75*t434
    4844           71 :          t437 = t246*t161 - t435*t246
    4845           71 :          t438 = 0.1e1_dp/t75
    4846           71 :          t439 = t437*t438
    4847              :          t443 = -t81*t93*t286 + t303*t94 - (2._dp*t91*t306) + t331 &
    4848              :                 - (3._dp*t106*t334) + t379*t134 - t133*t382/0.3e1_dp + t410 &
    4849              :                 *t151 - t146*t412 - t331*t156 + (3._dp*t415*t417) + 0.5e1_dp &
    4850              :                 /0.2e1_dp*t421*t423 + 0.5e1_dp/0.3e1_dp*t426*t428 + t158*(t431 &
    4851           71 :                                                                           + t439*t160)
    4852           71 :          t444 = t443*Clda
    4853           71 :          e_rho = e_rho + (-0.4e1_dp/0.3e1_dp*t283*t167 - t80*t444)*sx
    4854           71 :          t450 = F2*t261
    4855           71 :          t453 = t450*t68 - t85*t278
    4856           71 :          t454 = t15*t453
    4857           71 :          t456 = 2._dp*t249*t88 + t11*t454
    4858           71 :          t457 = f12*t456
    4859           71 :          t459 = t305*t281
    4860           71 :          t464 = g2*ndrho
    4861           71 :          t465 = t464*t3
    4862           71 :          t468 = g3*t256
    4863           71 :          t469 = t468*t24
    4864           71 :          t472 = 2._dp*t465*t19 + 4._dp*t469*t32
    4865           71 :          t473 = t15*t472
    4866           71 :          t475 = 2._dp*t249*t103 + t11*t473
    4867           71 :          t476 = t475*E
    4868           71 :          t477 = t476*t108
    4869           71 :          t478 = t333*t281
    4870           71 :          t484 = t341*t281
    4871           71 :          t486 = t115*t281
    4872           71 :          t487 = t346*t486
    4873           71 :          t498 = t368*t281
    4874           71 :          t500 = t114*t281
    4875           71 :          t501 = t373*t500
    4876              :          t505 = (-t110*t475*t83*t118 + t340*t484 + 0.5e1_dp/0.2e1_dp*t340 &
    4877              :                  *t487 + t81*t355*t281 + t81*t360*t281/0.2e1_dp - t125 &
    4878              :                  *t456*t83*t129 + t367*t498 + 0.3e1_dp/0.2e1_dp*t367*t501)* &
    4879           71 :                 omega
    4880           71 :          t510 = t389*t281
    4881           71 :          t513 = t393*t486
    4882           71 :          t519 = t401*t281
    4883           71 :          t522 = t405*t500
    4884              :          t526 = (-t136*t475*t93*t118 + (2._dp*t388*t510) + 0.5e1_dp/ &
    4885              :                  0.2e1_dp*(t388)*(t513) - t140*t456*t93*t129 + (2._dp &
    4886           71 :                                                                 *t400*t519) + 0.3e1_dp/0.2e1_dp*(t400)*(t522))*t145
    4887           71 :          t530 = t155*t44*t281
    4888           71 :          t533 = t422*t486
    4889           71 :          t536 = dexeindrho(Q, dQndrho)
    4890           71 :          t539 = t281*t161 - t435*t281
    4891           71 :          t540 = t539*t438
    4892              :          t544 = -t81*t93*t281 + t457*t94 - (2._dp*t91*t459) + t477 &
    4893              :                 - (3._dp*t106*t478) + t505*t134 + t526*t151 - t477*t156 &
    4894              :                 + (3._dp*t415*t530) + 0.5e1_dp/0.2e1_dp*t421*t533 + t158*(t536 &
    4895           71 :                                                                           + t540*t160)
    4896           71 :          t545 = t544*Clda
    4897           71 :          e_ndrho = e_ndrho + (-t80*t545)*sx
    4898              :       END IF
    4899          122 :       IF (order >= 2 .OR. order == -2) THEN
    4900            0 :          t548 = t4*t219*t13
    4901            0 :          t553 = 0.10e2_dp/0.9e1_dp*t548*t171*t68*t56*t58
    4902            0 :          t555 = t4*t44*t178
    4903            0 :          t557 = 0.8e1_dp/0.3e1_dp*t555*t174
    4904            0 :          t558 = t14*t206
    4905            0 :          t561 = 0.4e1_dp/0.3e1_dp*t170*t558*t173
    4906            0 :          t563 = t4*t169*t14
    4907            0 :          t564 = t34*t212
    4908            0 :          t568 = 0.4e1_dp/0.3e1_dp*t563*t564*t6*t238
    4909            0 :          t569 = t29*t14
    4910            0 :          t572 = 6._dp*t11*t569*t69
    4911            0 :          t575 = 4._dp*t11*t179*t207
    4912            0 :          t576 = t4*t188
    4913            0 :          t578 = 4._dp*t576*t240
    4914            0 :          t579 = t3*t219
    4915            0 :          t581 = t15*t192
    4916            0 :          t584 = t179*t6
    4917            0 :          t588 = t10*t29*t14
    4918            0 :          t594 = t56*r3*t58*t5*t177
    4919            0 :          t597 = t24/t8/t594
    4920            0 :          t599 = t198*t192
    4921            0 :          t603 = t46*t31*t6
    4922            0 :          t607 = t27*t227*t31
    4923              :          t610 = 0.10e2_dp/0.9e1_dp*t16*t579*t581 + 0.8e1_dp/0.3e1_dp*t184* &
    4924              :                 t584 + (6._dp*t17*t588) + 0.28e2_dp/0.9e1_dp*t22*t597*t599 + &
    4925            0 :                 0.32e2_dp/0.3e1_dp*t197*t603 + (20._dp*t25*t607)
    4926            0 :          t613 = t11*t15*t610*t68
    4927            0 :          t616 = 2._dp*t210*t558*t239
    4928            0 :          t618 = 0.1e1_dp/t211/t67
    4929            0 :          t619 = t238**2
    4930            0 :          t620 = t618*t619
    4931            0 :          t623 = 2._dp*t210*t171*t620
    4932            0 :          t632 = 0.1e1_dp/t9/t594
    4933              :          t655 = t212*(0.28e2_dp/0.9e1_dp*t35*t597*t599 + 0.32e2_dp/0.3e1_dp &
    4934              :                       *t213*t603 + (20._dp*t36*t607) + 0.40e2_dp/0.9e1_dp*t39*t41 &
    4935              :                       *t632*t222*t192 + 0.50e2_dp/0.3e1_dp*t221*t227*t48*t6 + &
    4936              :                       0.30e2_dp*t42*t44/t28/t177*t48 + (72._dp*t55*t60/t61 &
    4937            0 :                                                         /t12*t63))
    4938            0 :          t657 = t210*t171*t655
    4939              :          t662 = t553 + t557 - t561 + t568 + t572 - t575 + t578 + t613 - t616 &
    4940            0 :                 + t623 - t657 + 0.10e2_dp/0.9e1_dp*t73*t219*t56*t58
    4941            0 :          d2Qrhorho = f94*t662*t77
    4942            0 :          t664 = t248*t169
    4943            0 :          t667 = t14*t261
    4944              :          t694 = -0.4e1_dp/0.3e1_dp*t252*t183*t185 - (4._dp*t253*t189) &
    4945            0 :                 - 0.16e2_dp/0.3e1_dp*t257*t196*t199 - (16._dp*t258*t203)
    4946            0 :          t700 = t248*t18
    4947            0 :          t706 = t618*t238*t277
    4948              :          t723 = t212*(-0.16e2_dp/0.3e1_dp*t265*t196*t199 - (16._dp*t266 &
    4949              :                                                             *t203) - 0.25e2_dp/0.3e1_dp*t269*t220*t223 - (25._dp*t270* &
    4950            0 :                                                                                                          t229) - (48._dp*t274*t235))
    4951              :          t726 = -0.4e1_dp/0.3e1_dp*t664*t174 - 0.2e1_dp/0.3e1_dp*t170*t667* &
    4952              :                 t173 + 0.2e1_dp/0.3e1_dp*t563*t564*t6*t277 - (4._dp*t249* &
    4953              :                                                               t180) - (2._dp*t11*t179*t262) + (2._dp*t576*t279) + (2._dp &
    4954              :                                                                                  *t249*t208) + (t11*t15*t694*t68) - t210*t558*t278 &
    4955              :                 - (2._dp*t700*t240) - t210*t667*t239 + 0.2e1_dp*t210* &
    4956            0 :                 t171*t706 - t210*t171*t723
    4957            0 :          d2Qrhondrho = f94*t726*t77
    4958            0 :          t728 = t3*t10
    4959            0 :          t744 = 2._dp*a1*t3*t19 + 12._dp*a2*t1*t24*t32
    4960            0 :          t751 = t277**2
    4961            0 :          t752 = t618*t751
    4962              :          t769 = t212*(12._dp*a3*t1*t24*t32 + 20._dp*a4*t256*t41*t49 &
    4963            0 :                       + 30._dp*a5*t21*t54*t65)
    4964              :          t772 = 2._dp*t728*t13*t171*t68 + 4._dp*t249*t263 - 4._dp*t700*t279 &
    4965              :                 + t11*t15*t744*t68 - 2._dp*t210*t667*t278 + 2._dp*t210* &
    4966            0 :                 t171*t752 - t210*t171*t769
    4967            0 :          d2Qndrhondrho = f94*t772*t77
    4968            0 :          t774 = t78**2
    4969            0 :          t782 = 0.1e1_dp/t332/t82
    4970            0 :          t783 = t106*t782
    4971            0 :          t784 = t286**2
    4972            0 :          t789 = t115**2
    4973            0 :          t792 = 0.1e1_dp/t117/t789/t114
    4974            0 :          t793 = t83*t792
    4975            0 :          t794 = t350**2
    4976            0 :          t795 = t789*t794
    4977            0 :          t799 = t108*t122
    4978            0 :          t803 = t81*t93
    4979            0 :          t804 = t359*t286
    4980              :          t807 = t553 + t557 - t561 + t568 + t572 - t575 + t578 + t613 - t616 &
    4981            0 :                 + t623 - t657
    4982            0 :          t811 = 0.1e1_dp/t121/t114
    4983            0 :          t812 = t83*t811
    4984              :          t819 = t553 + t557 - t561 + t568 + t572 - t575 + t578 + t613 - t616 &
    4985            0 :                 + t623 - t657 + 0.10e2_dp/0.9e1_dp*t72*t219*t192
    4986              :          t848 = 0.10e2_dp/0.9e1_dp*t548*t289*t192 + 0.8e1_dp/0.3e1_dp*t555* &
    4987              :                 t290 - 0.4e1_dp/0.3e1_dp*t170*t14*t299*t6 + (6._dp*t11*t569 &
    4988              :                                                              *t87) - 0.4e1_dp*(t11)*t179*t299 + (t11*t15*(F2 &
    4989            0 :                                                                            *t610*t68 - 2._dp*t296*t239 + 2._dp*t85*t620 - t85*t655))
    4990            0 :          t852 = t125*t302
    4991              :          t862 = -0.75e2_dp/0.4e1_dp*t340*t793*t795 - (2._dp*t81*t799* &
    4992              :                                                       t784) - t803*t804*t350 + (t81*t355*t807) - 0.3e1_dp/0.4e1_dp &
    4993              :                 *(t81)*(t812)*(t794) + (t81*t360*t819) &
    4994              :                 /0.2e1_dp - t125*t848*t83*t129 + (2._dp*t852*t369) + (3._dp &
    4995              :                                                                       *t852*t375) - (2._dp*t367*t401*t784) + (t367*t368 &
    4996            0 :                                                                                                               *t807)
    4997            0 :          t863 = t125*t141
    4998            0 :          t864 = t372*t286
    4999            0 :          t865 = t864*t374
    5000            0 :          t868 = t113*t794
    5001            0 :          t872 = t114*t819
    5002            0 :          t878 = 0.1e1_dp/t128/t115/t114
    5003            0 :          t879 = t83*t878
    5004            0 :          t880 = t115*t794
    5005              :          t916 = 0.10e2_dp/0.9e1_dp*t548*t309*t192 + 0.8e1_dp/0.3e1_dp*t555* &
    5006              :                 t310 - 0.4e1_dp/0.3e1_dp*t170*t14*t326*t6 + (6._dp*t11*t569 &
    5007              :                                                              *t102) - 0.4e1_dp*(t11)*t179*t326 + (t11)*t15*(0.10e2_dp &
    5008              :                                                                            /0.9e1_dp*t96*t579*t581 + 0.8e1_dp/0.3e1_dp*t316*t584 + &
    5009              :                                                                    (6._dp*t97*t588) + 0.28e2_dp/0.9e1_dp*t99*t597*t599 + 0.32e2_dp &
    5010            0 :                                                                                            /0.3e1_dp*t321*t603 + (20._dp*t100*t607))
    5011            0 :          t920 = t110*t329
    5012            0 :          t930 = t110*t137
    5013            0 :          t931 = t345*t286
    5014            0 :          t932 = t931*t351
    5015            0 :          t935 = t127*t794
    5016            0 :          t939 = t115*t819
    5017              :          t943 = -(3._dp*t863*t865) + (3._dp*t367*t373*t868) + 0.3e1_dp &
    5018              :                 /0.2e1_dp*(t367)*(t373)*(t872) - 0.27e2_dp/0.4e1_dp &
    5019              :                 *(t367)*(t879)*(t880) - t110*t916*t83*t118 &
    5020              :                 + (2._dp*t920*t342) + (5._dp*t920*t352) - (2._dp*t340* &
    5021              :                                                            t389*t784) + (t340*t341*t807) - (5._dp*t930*t932) + &
    5022              :                 (10._dp*t340*t346*t935) + 0.5e1_dp/0.2e1_dp*(t340)*(t346) &
    5023            0 :                 *(t939)
    5024            0 :          t956 = t136*t329
    5025            0 :          t961 = t333*t118
    5026            0 :          t966 = t136*t105*t108
    5027            0 :          t972 = t93*t792
    5028            0 :          t985 = t140*t302
    5029            0 :          t990 = t333*t129
    5030            0 :          t995 = t140*t90*t108
    5031            0 :          t1001 = t93*t878
    5032              :          t1011 = -t136*t916*t93*t118 + (4._dp*t956*t390) + (5._dp &
    5033              :                                                             *t956*t394) - (6._dp*t388*t961*t784) - (10._dp*t966*t932) &
    5034              :                  + (2._dp*t388*t389*t807) - 0.75e2_dp/0.4e1_dp*(t388) &
    5035              :                  *(t972)*(t795) + (10._dp*t388*t393*t935) + 0.5e1_dp &
    5036              :                  /0.2e1_dp*(t388)*(t393)*(t939) - t140*t848*t93 &
    5037              :                  *t129 + (4._dp*t985*t402) + (3._dp*t985*t406) - (6._dp* &
    5038              :                                                                   t400*t990*t784) - (6._dp*t995*t865) + (2._dp*t400*t401 &
    5039              :                                                                                  *t807) - 0.27e2_dp/0.4e1_dp*(t400)*(t1001)*(t880) &
    5040              :                  + (3._dp*t400*t405*t868) + 0.3e1_dp/0.2e1_dp*(t400)*(t405) &
    5041            0 :                  *(t872)
    5042            0 :          t1017 = t106*t961
    5043            0 :          t1026 = t106*t420*t154
    5044            0 :          t1033 = d2exeirhorho(Q, dQrho, d2Qrhorho)
    5045            0 :          t1035 = t246**2
    5046            0 :          t1040 = t75/t433/t160
    5047            0 :          t1047 = t75**2
    5048            0 :          t1048 = 0.1e1_dp/t1047
    5049            0 :          t1049 = t437*t1048
    5050            0 :          t1065 = t106*t333*t345
    5051            0 :          t1066 = t286*t115
    5052            0 :          t1071 = t330*t420
    5053              :          t1074 = -(12._dp*t783*t155*t44*t784) + (t862 + t943)*omega &
    5054              :                  *t134 + f12*t848*t94 + 0.4e1_dp/0.9e1_dp*t133*t195*t56* &
    5055              :                  t58 + t1011*t145*t151 + (12._dp*t106*t782*t784) - (10._dp &
    5056              :                                                                     *t1017*t427*t286*r3*t5) - (t81*t93*t807) - 0.25e2_dp &
    5057              :                  /0.3e1_dp*(t1026)*(t219)*(t115)*(t350)* &
    5058              :                  (r3)*(t5) + (t158*(t1033 + (t662*t161 - 2._dp*t1035 &
    5059              :                                              *t434 + 2._dp*t1040*t1035 - t435*t662)*t438*t160 - t1049 &
    5060              :                                     *t160*t246 + t439*t246)) + (3._dp*t415*t155*t44*t807) &
    5061              :                  + (2._dp*t81*t108*t784) - (4._dp*t303*t306) - (15._dp* &
    5062            0 :                                                                 t1065*t422*t1066*t350) + (5._dp*t1071*t423)
    5063            0 :          t1082 = t106*t108*t792
    5064            0 :          t1089 = t330*t333
    5065            0 :          t1098 = t916*E*t108
    5066            0 :          t1111 = C*t333
    5067              :          t1118 = 0.5e1_dp/0.2e1_dp*t421*t422*t939 + (2._dp*t146*t149* &
    5068              :                                                      t178) - 0.75e2_dp/0.4e1_dp*t1082*t422*t795 - (3._dp*t106*t333 &
    5069              :                                                                             *t807) + (6._dp*t1089*t417) + 0.10e2_dp*t421*t422*t935 &
    5070              :                  - 0.2e1_dp/0.3e1_dp*t379*t382 + t1098 - 0.40e2_dp/0.9e1_dp*t426*t154 &
    5071              :                  *t632*t192 - (2._dp*t410*t412) - (2._dp*t91*t305*t807) &
    5072              :                  - (6._dp*t330*t334) - t1098*t156 + (6._dp*t91*t1111 &
    5073            0 :                                                      *t784) + 0.10e2_dp/0.3e1_dp*(t330)*(t389)*(t428)
    5074              :          e_rho_rho = e_rho_rho + (-0.4e1_dp/0.9e1_dp/t774*f89*t167 - 0.8e1_dp/0.3e1_dp*t283*t444 &
    5075            0 :                                   - t80*(t1074 + t1118)*Clda)*sx
    5076              :          t1155 = -0.4e1_dp/0.3e1_dp*t664*t310 - 0.2e1_dp/0.3e1_dp*t170*t14* &
    5077              :                  t472*t6 - (4._dp*t249*t313) - 0.2e1_dp*t11*t179*t472 + (2._dp &
    5078              :                                                                          *t249*t327) + t11*t15*(-0.4e1_dp/0.3e1_dp*t464*t183* &
    5079              :                                                                       t185 - (4._dp*t465*t189) - 0.16e2_dp/0.3e1_dp*t468*t196*t199 &
    5080            0 :                                                                                                 - (16._dp*t469*t203))
    5081            0 :          t1157 = t1155*E*t108
    5082            0 :          t1174 = t476*t333
    5083            0 :          t1181 = t931*t486
    5084            0 :          t1184 = t114*t726
    5085            0 :          t1189 = t350*t281
    5086            0 :          t1190 = t372*t114*t1189
    5087            0 :          t1198 = t115*t726
    5088            0 :          t1205 = t110*t475
    5089            0 :          t1208 = t110*t111
    5090            0 :          t1210 = t792*t789*t1189
    5091            0 :          t1218 = t286*t281
    5092            0 :          t1224 = t125*t456
    5093              :          t1231 = -0.5e1_dp/0.2e1_dp*t930*t1181 + 0.3e1_dp/0.2e1_dp*t367*t373 &
    5094              :                  *t1184 - 0.3e1_dp/0.2e1_dp*t863*t1190 - t803*t804*t281/0.2e1_dp &
    5095              :                  + t81*t355*t726 + 0.5e1_dp/0.2e1_dp*t340*t346*t1198 + t81 &
    5096              :                  *t360*t726/0.2e1_dp + 0.5e1_dp/0.2e1_dp*t1205*t352 - 0.75e2_dp/0.4e1_dp &
    5097              :                  *t1208*t1210 - 0.2e1_dp*t81*t108*t122*t286*t281 - 0.2e1_dp &
    5098              :                  *t340*t389*t1218 + t340*t341*t726 + 0.3e1_dp/0.2e1_dp* &
    5099            0 :                  t1224*t375 - t110*t1155*t83*t118 + t920*t484
    5100              :          t1255 = -0.4e1_dp/0.3e1_dp*t664*t290 - 0.2e1_dp/0.3e1_dp*t170*t14* &
    5101              :                  t453*t6 - (4._dp*t249*t293) - 0.2e1_dp*t11*t179*t453 + (2._dp &
    5102              :                                                                          *t249*t300) + t11*t15*(F2*t694*t68 - t296*t278 &
    5103            0 :                                                                                             - t450*t239 + 2._dp*t85*t706 - t85*t723)
    5104            0 :          t1261 = t345*t115*t1189
    5105            0 :          t1264 = t125*t126
    5106            0 :          t1266 = t878*t115*t1189
    5107            0 :          t1270 = t345*t127*t1189
    5108            0 :          t1277 = t372*t113*t1189
    5109            0 :          t1288 = t864*t500
    5110              :          t1299 = -t125*t1255*t83*t129 + t852*t498 - 0.5e1_dp/0.2e1_dp* &
    5111              :                  t930*t1261 - 0.27e2_dp/0.4e1_dp*t1264*t1266 + (10._dp*t1208* &
    5112              :                                                                 t1270) + 0.3e1_dp/0.2e1_dp*t852*t501 + t1224*t369 + 0.3e1_dp*t1264 &
    5113              :                  *t1277 - 0.3e1_dp/0.4e1_dp*t84*t811*t350*t281 - t803*t359 &
    5114              :                  *t350*t281/0.2e1_dp - 0.3e1_dp/0.2e1_dp*t863*t1288 - (2._dp*t367 &
    5115              :                                                                        *t401*t1218) + (t367*t368*t726) + 0.5e1_dp/0.2e1_dp*t920 &
    5116            0 :                  *t487 + t1205*t342
    5117              :          t1319 = -0.75e2_dp/0.4e1_dp*t1082*t422*t789*t350*t281 - t1157 &
    5118              :                  *t156 - 0.15e2_dp/0.2e1_dp*t1065*t422*t1066*t281 + t1157 - (2._dp &
    5119              :                                                                         *t303*t459) + 0.5e1_dp/0.3e1_dp*t476*t389*t428 - 0.25e2_dp &
    5120              :                  /0.6e1_dp*t1026*t219*r3*t5*t115*t281 + (3._dp*t1174* &
    5121              :                                                          t417) - t526*t412 - (2._dp*t91*t305*t726) + (t1231 + t1299) &
    5122              :                  *omega*t134 + 0.6e1_dp*t400*t334*t281 - 0.5e1_dp*t1017*t427 &
    5123              :                  *t6*t281 + 0.10e2_dp*t421*t422*t127*t350*t281 - (2._dp &
    5124            0 :                                                                   *t457*t306) + 0.5e1_dp/0.2e1_dp*t1071*t533
    5125            0 :          t1324 = d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    5126            0 :          t1336 = t160*t281
    5127            0 :          t1351 = t476*t420
    5128            0 :          t1382 = t136*t475
    5129            0 :          t1397 = t136*t137
    5130              :          t1405 = -t136*t1155*t93*t118 + (2._dp*t956*t510) + 0.5e1_dp &
    5131              :                  /0.2e1_dp*(t956)*(t513) + (2._dp*t1382*t390) - (6._dp &
    5132              :                                                                  *t388*t961*t1218) - (5._dp*t966*t1181) + (2._dp*t388 &
    5133              :                                                                            *t389*t726) + 0.5e1_dp/0.2e1_dp*(t1382)*(t394) - (5._dp &
    5134              :                                                                    *t966*t1261) - 0.75e2_dp/0.4e1_dp*t1397*t1210 + 0.10e2_dp*t1397 &
    5135            0 :                  *t1270 + 0.5e1_dp/0.2e1_dp*(t388)*(t393)*(t1198)
    5136            0 :          t1413 = t140*t456
    5137              :          t1435 = -t140*t1255*t93*t129 + (2._dp*t985*t519) + 0.3e1_dp &
    5138              :                  /0.2e1_dp*(t985)*(t522) + (2._dp*t1413*t402) - (6._dp &
    5139              :                                                                  *t400*t990*t1218) - (3._dp*t995*t1288) + (2._dp*t400 &
    5140              :                                                                            *t401*t726) + 0.3e1_dp/0.2e1_dp*(t1413)*(t406) - (3._dp &
    5141              :                                                                   *t995*t1190) - 0.27e2_dp/0.4e1_dp*t95*t1266 + 0.3e1_dp*t95*t1277 &
    5142            0 :                  + 0.3e1_dp/0.2e1_dp*(t400)*(t405)*(t1184)
    5143              :          t1443 = -0.15e2_dp/0.2e1_dp*t1065*t422*t351*t281 + t158*(t1324 &
    5144              :                                                                   + (t726*t161 - 0.2e1_dp*t246*t434*t281 + 0.2e1_dp*t1040*t246 &
    5145              :                                                                      *t281 - t435*t726)*t438*t160 - t1049*t1336 + t439*t281) &
    5146              :                  - 0.12e2_dp*t106*t782*t118*t422*t1218 + 0.5e1_dp/0.2e1_dp* &
    5147              :                  t421*t422*t1198 - (3._dp*t330*t478) + 0.5e1_dp/0.2e1_dp*t1351 &
    5148              :                  *t423 + 0.12e2_dp*t106*t782*t286*t281 - 0.3e1_dp*t106*t333 &
    5149              :                  *t726 - t81*t93*t726 + f12*t1255*t94 + (3._dp*t1089 &
    5150              :                                                          *t530) - (3._dp*t476*t334) + 0.2e1_dp*t81*t108*t286*t281 &
    5151              :                  - t505*t382/0.3e1_dp + (t1405 + t1435)*t145*t151 + 0.3e1_dp*t415 &
    5152            0 :                  *t155*t44*t726
    5153            0 :          e_ndrho_rho = e_ndrho_rho + (-0.4e1_dp/0.3e1_dp*t283*t545 - t80*(t1319 + t1443)*Clda)*sx
    5154            0 :          t1447 = t281**2
    5155            0 :          t1448 = t1447*t115
    5156            0 :          t1452 = d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    5157              :          t1481 = 2._dp*t728*t103 + 4._dp*t249*t473 + t11*t15*(2._dp*g2*t3 &
    5158            0 :                                                               *t19 + 12._dp*g3*t1*t24*t32)
    5159            0 :          t1483 = t1481*E*t108
    5160              :          t1500 = 2._dp*t728*t88 + 4._dp*t249*t454 + t11*t15*(F2*t744* &
    5161            0 :                                                              t68 - 2._dp*t450*t278 + 2._dp*t85*t752 - t85*t769)
    5162            0 :          t1529 = t789*t1447
    5163            0 :          t1533 = t127*t1447
    5164            0 :          t1537 = t115*t772
    5165            0 :          t1552 = t1447*t114
    5166            0 :          t1562 = t113*t1447
    5167            0 :          t1566 = t114*t772
    5168              :          t1570 = -t136*t1481*t93*t118 + (4._dp*t1382*t510) + (5._dp &
    5169              :                                                               *t1382*t513) - (6._dp*t388*t961*t1447) - (10._dp*t388 &
    5170              :                                                                        *t420*t1448) + (2._dp*t388*t389*t772) - 0.75e2_dp/0.4e1_dp* &
    5171              :                  (t388)*(t972)*(t1529) + (10._dp*t388*t393*t1533) &
    5172              :                  + 0.5e1_dp/0.2e1_dp*(t388)*(t393)*(t1537) - t140 &
    5173              :                  *t1500*t93*t129 + (4._dp*t1413*t519) + (3._dp*t1413 &
    5174              :                                                          *t522) - (6._dp*t400*t990*t1447) - (6._dp*t400*t108*t372 &
    5175              :                                                                       *t1552) + (2._dp*t400*t401*t772) - 0.27e2_dp/0.4e1_dp*(t400) &
    5176              :                  *(t1001)*(t1448) + (3._dp*t400*t405*t1562) &
    5177            0 :                  + 0.3e1_dp/0.2e1_dp*(t400)*(t405)*(t1566)
    5178              :          t1576 = -15._dp*t1065*t422*t1448 + t158*(t1452 + (t772*t161 - &
    5179              :                                                            2._dp*t1447*t434 + 2._dp*t1040*t1447 - t435*t772)*t438*t160 &
    5180              :                                                   - t539*t1048*t1336 + t540*t281) + t1483 - t81*t93*t772 &
    5181              :                  + f12*t1500*t94 + 2._dp*t81*t108*t1447 - 6._dp*t476*t478 - 3._dp &
    5182              :                  *t106*t333*t772 - 4._dp*t457*t459 + t1570*t145*t151 + 10._dp &
    5183            0 :                  *t421*t422*t1533
    5184              :          t1618 = -(2._dp*t81*t799*t1447) - (t81*t93*t359*t1447) &
    5185              :                  + (t81*t355*t772) - 0.3e1_dp/0.4e1_dp*(t81)*(t812) &
    5186              :                  *(t1447) + (t81*t360*t772)/0.2e1_dp - t125*t1500 &
    5187              :                  *t83*t129 + (2._dp*t1224*t498) + (3._dp*t1224*t501) - &
    5188              :                  (2._dp*t367*t401*t1447) + (t367*t368*t772) - (3._dp &
    5189            0 :                                                                *t367*t405*t1552)
    5190              :          t1652 = (3._dp*t367*t373*t1562) + 0.3e1_dp/0.2e1_dp*(t367) &
    5191              :                  *(t373)*(t1566) - 0.27e2_dp/0.4e1_dp*(t367)*(t879) &
    5192              :                  *(t1448) - t110*t1481*t83*t118 + (2._dp*t1205*t484) &
    5193              :                  + (5._dp*t1205*t487) - (2._dp*t340*t389*t1447) + (t340 &
    5194              :                                                                    *t341*t772) - (5._dp*t340*t393*t1448) + (10._dp* &
    5195              :                                                                                t340*t346*t1533) + 0.5e1_dp/0.2e1_dp*(t340)*(t346)* &
    5196            0 :                  (t1537) - 0.75e2_dp/0.4e1_dp*(t340)*(t793)*(t1529)
    5197              :          t1672 = 0.5e1_dp/0.2e1_dp*t421*t422*t1537 - 0.75e2_dp/0.4e1_dp*t1082 &
    5198              :                  *t422*t1529 + (6._dp*t91*t1111*t1447) - (2._dp*t91* &
    5199              :                                                           t305*t772) + (t1618 + t1652)*omega*t134 + (12._dp*t106*t782 &
    5200              :                                                                           *t1447) - t1483*t156 + (6._dp*t1174*t530) + (5._dp*t1351 &
    5201              :                                                                                *t533) - (12._dp*t783*t155*t44*t1447) + (3._dp*t415 &
    5202            0 :                                                                                                                      *t155*t44*t772)
    5203            0 :          e_ndrho_ndrho = e_ndrho_ndrho + (-t80*(t1576 + t1672)*Clda)*sx
    5204              :       END IF
    5205              : 
    5206          122 :    END SUBROUTINE xwpbe_lda_calc_4
    5207              : 
    5208              : ! **************************************************************************************************
    5209              : !> \brief return various information on the functional
    5210              : !> \param reference string with the reference of the actual functional
    5211              : !> \param shortform string with the shortform of the functional name
    5212              : !> \param needs the components needed by this functional are set to
    5213              : !>        true (does not set the unneeded components to false)
    5214              : !> \param max_deriv ...
    5215              : !> \par History
    5216              : !>      05.2007 created [Manuel Guidon]
    5217              : !> \author Manuel Guidon
    5218              : ! **************************************************************************************************
    5219          786 :    SUBROUTINE xwpbe_lsd_info(reference, shortform, needs, max_deriv)
    5220              :       CHARACTER(LEN=*), INTENT(OUT), OPTIONAL            :: reference, shortform
    5221              :       TYPE(xc_rho_cflags_type), INTENT(inout), OPTIONAL  :: needs
    5222              :       INTEGER, INTENT(out), OPTIONAL                     :: max_deriv
    5223              : 
    5224          786 :       IF (PRESENT(reference)) THEN
    5225            2 :          reference = "Jochen Heyd and Gustavo E. Scuseria, J. Chem. Phys., 120, 7274 {LSD version}"
    5226              :       END IF
    5227          786 :       IF (PRESENT(shortform)) THEN
    5228            2 :          shortform = "shortrange part of PBE exchange {LSD}"
    5229              :       END IF
    5230          786 :       IF (PRESENT(needs)) THEN
    5231          784 :          needs%rho_spin = .TRUE.
    5232          784 :          needs%norm_drho_spin = .TRUE.
    5233              :       END IF
    5234          786 :       IF (PRESENT(max_deriv)) max_deriv = 2
    5235          786 :    END SUBROUTINE xwpbe_lsd_info
    5236              : 
    5237              : ! **************************************************************************************************
    5238              : !> \brief evaluates the screened hole averaged PBE exchange functional for lsd
    5239              : !> \param rho_set the density where you want to evaluate the functional
    5240              : !> \param deriv_set place where to store the functional derivatives (they are
    5241              : !>        added to the derivatives)
    5242              : !> \param order degree of the derivative that should be evaluated,
    5243              : !>        if positive all the derivatives up to the given degree are evaluated,
    5244              : !>        if negative only the given degree is calculated
    5245              : !> \param xwpbe_params input parameters (scaling,omega)
    5246              : !> \par History
    5247              : !>      05.2007 created [Manuel Guidon]
    5248              : !> \author Manuel Guidon
    5249              : !> \note
    5250              : !>      The current version provides code for derivatives up to second order.
    5251              : !>      Using the maple sheet in cp2k/doc it is straightforward to produce routines
    5252              : !>      for higher derivatives.
    5253              : ! **************************************************************************************************
    5254         4130 :    SUBROUTINE xwpbe_lsd_eval(rho_set, deriv_set, order, xwpbe_params)
    5255              : 
    5256              :       TYPE(xc_rho_set_type), INTENT(IN)                  :: rho_set
    5257              :       TYPE(xc_derivative_set_type), INTENT(IN)           :: deriv_set
    5258              :       INTEGER, INTENT(IN)                                :: order
    5259              :       TYPE(section_vals_type), POINTER                   :: xwpbe_params
    5260              : 
    5261              :       CHARACTER(len=*), PARAMETER                        :: routineN = 'xwpbe_lsd_eval'
    5262              : 
    5263              :       INTEGER                                            :: handle, npoints
    5264              :       INTEGER, DIMENSION(2, 3)                           :: bo
    5265              :       REAL(kind=dp)                                      :: epsilon_norm_drho, epsilon_rho, omega, &
    5266              :                                                             sx, sx0
    5267          826 :       REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrhoa, &
    5268          826 :          e_ndrhoa_ndrhoa, e_ndrhoa_rhoa, e_ndrhob, e_ndrhob_ndrhob, e_ndrhob_rhob, e_rhoa, &
    5269          826 :          e_rhoa_rhoa, e_rhob, e_rhob_rhob, norm_drhoa, norm_drhob, rhoa, rhob
    5270              :       TYPE(xc_derivative_type), POINTER                  :: deriv
    5271              : 
    5272          826 :       CALL timeset(routineN, handle)
    5273              : 
    5274          826 :       CALL cite_reference(Heyd2004)
    5275              : 
    5276          826 :       CALL section_vals_val_get(xwpbe_params, "SCALE_X", r_val=sx)
    5277          826 :       CALL section_vals_val_get(xwpbe_params, "SCALE_X0", r_val=sx0)
    5278          826 :       CALL section_vals_val_get(xwpbe_params, "OMEGA", r_val=omega)
    5279              : 
    5280              :       CALL xc_rho_set_get(rho_set, rhoa=rhoa, rhob=rhob, norm_drhoa=norm_drhoa, &
    5281              :                           norm_drhob=norm_drhob, local_bounds=bo, rho_cutoff=epsilon_rho, &
    5282          826 :                           drho_cutoff=epsilon_norm_drho)
    5283          826 :       npoints = (bo(2, 1) - bo(1, 1) + 1)*(bo(2, 2) - bo(1, 2) + 1)*(bo(2, 3) - bo(1, 3) + 1)
    5284              : 
    5285          826 :       dummy => rhoa
    5286              : 
    5287          826 :       e_0 => dummy
    5288          826 :       e_rhoa => dummy
    5289          826 :       e_rhob => dummy
    5290          826 :       e_ndrhoa => dummy
    5291          826 :       e_ndrhob => dummy
    5292          826 :       e_rhoa_rhoa => dummy
    5293          826 :       e_rhob_rhob => dummy
    5294          826 :       e_ndrhoa_rhoa => dummy
    5295          826 :       e_ndrhob_rhob => dummy
    5296          826 :       e_ndrhoa_ndrhoa => dummy
    5297          826 :       e_ndrhob_ndrhob => dummy
    5298              : 
    5299          826 :       IF (order >= 0) THEN
    5300              :          deriv => xc_dset_get_derivative(deriv_set, [INTEGER::], &
    5301          826 :                                          allocate_deriv=.TRUE.)
    5302          826 :          CALL xc_derivative_get(deriv, deriv_data=e_0)
    5303              :       END IF
    5304          826 :       IF (order >= 1 .OR. order == -1) THEN
    5305              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rhoa], &
    5306          650 :                                          allocate_deriv=.TRUE.)
    5307          650 :          CALL xc_derivative_get(deriv, deriv_data=e_rhoa)
    5308              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rhob], &
    5309          650 :                                          allocate_deriv=.TRUE.)
    5310          650 :          CALL xc_derivative_get(deriv, deriv_data=e_rhob)
    5311              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drhoa], &
    5312          650 :                                          allocate_deriv=.TRUE.)
    5313          650 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhoa)
    5314              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drhob], &
    5315          650 :                                          allocate_deriv=.TRUE.)
    5316          650 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhob)
    5317              :       END IF
    5318          826 :       IF (order >= 2 .OR. order == -2) THEN
    5319              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rhoa, deriv_rhoa], &
    5320            0 :                                          allocate_deriv=.TRUE.)
    5321            0 :          CALL xc_derivative_get(deriv, deriv_data=e_rhoa_rhoa)
    5322              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_rhob, deriv_rhob], &
    5323            0 :                                          allocate_deriv=.TRUE.)
    5324            0 :          CALL xc_derivative_get(deriv, deriv_data=e_rhob_rhob)
    5325              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drhoa, deriv_rhoa], &
    5326            0 :                                          allocate_deriv=.TRUE.)
    5327            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhoa_rhoa)
    5328              :          deriv => xc_dset_get_derivative(deriv_set, [deriv_norm_drhob, deriv_rhob], &
    5329            0 :                                          allocate_deriv=.TRUE.)
    5330            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhob_rhob)
    5331              :          deriv => xc_dset_get_derivative(deriv_set, &
    5332            0 :                                          [deriv_norm_drhoa, deriv_norm_drhoa], allocate_deriv=.TRUE.)
    5333            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhoa_ndrhoa)
    5334              :          deriv => xc_dset_get_derivative(deriv_set, &
    5335            0 :                                          [deriv_norm_drhob, deriv_norm_drhob], allocate_deriv=.TRUE.)
    5336            0 :          CALL xc_derivative_get(deriv, deriv_data=e_ndrhob_ndrhob)
    5337              :       END IF
    5338          826 :       IF (order > 2 .OR. order < -2) THEN
    5339            0 :          CPABORT("derivatives bigger than 2 not implemented")
    5340              :       END IF
    5341              : 
    5342              : !$OMP     PARALLEL DEFAULT(NONE) &
    5343              : !$OMP     SHARED(npoints, order, rhoa, norm_drhoa, e_0, e_rhoa, e_ndrhoa) &
    5344              : !$OMP     SHARED(e_rhoa_rhoa, e_ndrhoa_rhoa, e_ndrhoa_ndrhoa, epsilon_rho) &
    5345              : !$OMP     SHARED(sx, sx0, omega) &
    5346              : !$OMP     SHARED(rhob, norm_drhob, e_rhob, e_ndrhob, e_rhob_rhob) &
    5347          826 : !$OMP     SHARED(e_ndrhob_rhob, e_ndrhob_ndrhob)
    5348              : 
    5349              :       !Call lsd_calc for alpha - and beta - spins
    5350              : 
    5351              :       CALL xwpbe_lsd_calc(npoints, order, rho=rhoa, norm_drho=norm_drhoa, &
    5352              :                           e_0=e_0, e_rho=e_rhoa, e_ndrho=e_ndrhoa, e_rho_rho=e_rhoa_rhoa, &
    5353              :                           e_ndrho_rho=e_ndrhoa_rhoa, e_ndrho_ndrho=e_ndrhoa_ndrhoa, &
    5354              :                           epsilon_rho=epsilon_rho, &
    5355              :                           sx=sx, sx0=sx0, omega=omega)
    5356              :       CALL xwpbe_lsd_calc(npoints, order, rho=rhob, norm_drho=norm_drhob, &
    5357              :                           e_0=e_0, e_rho=e_rhob, e_ndrho=e_ndrhob, e_rho_rho=e_rhob_rhob, &
    5358              :                           e_ndrho_rho=e_ndrhob_rhob, e_ndrho_ndrho=e_ndrhob_ndrhob, &
    5359              :                           epsilon_rho=epsilon_rho, &
    5360              :                           sx=sx, sx0=sx0, omega=omega)
    5361              : 
    5362              : !$OMP     END PARALLEL
    5363              : 
    5364          826 :       CALL timestop(handle)
    5365              : 
    5366          826 :    END SUBROUTINE xwpbe_lsd_eval
    5367              : 
    5368              : ! **************************************************************************************************
    5369              : !> \brief evaluates the screened hole averaged PBE exchange functional for lsd.
    5370              : !> \param npoints ...
    5371              : !> \param order degree of the derivative that should be evaluated,
    5372              : !>        if positive all the derivatives up to the given degree are evaluated,
    5373              : !>        if negative only the given degree is calculated
    5374              : !> \param rho , ndrho: density and norm of the density gradient
    5375              : !> \param norm_drho ...
    5376              : !> \param e_0 ...
    5377              : !> \param e_rho ...
    5378              : !> \param e_ndrho ...
    5379              : !> \param e_rho_rho ...
    5380              : !> \param e_ndrho_rho ...
    5381              : !> \param e_ndrho_ndrho ...
    5382              : !> \param epsilon_rho ...
    5383              : !> \param sx , sx0: scaling factor for omega!=0 and omega=0
    5384              : !> \param sx0 ...
    5385              : !> \param omega screening parameter
    5386              : !> \par History
    5387              : !>      05.2007 created [Manuel Guidon]
    5388              : !> \author Manuel Guidon
    5389              : !> \note
    5390              : !>      - The lsd part is calculated using the spin-scaling relations for the
    5391              : !>        exchange energy:
    5392              : !>
    5393              : !>               Ex[na,nb] = 0.5 * Ex[2*na] + 0.5 * Ex[2*nb].
    5394              : !>
    5395              : !>      - In order to avoid numerical instabilities, this routine calls different
    5396              : !>        subroutines. There are 4 routines for the case omega!=0 and 2 routines
    5397              : !>        for omega=0.
    5398              : ! **************************************************************************************************
    5399         1652 :    SUBROUTINE xwpbe_lsd_calc(npoints, order, rho, norm_drho, e_0, e_rho, e_ndrho, &
    5400         1652 :                              e_rho_rho, e_ndrho_rho, e_ndrho_ndrho, &
    5401              :                              epsilon_rho, sx, sx0, omega)
    5402              : 
    5403              :       INTEGER, INTENT(in)                                :: npoints, order
    5404              :       REAL(kind=dp), DIMENSION(1:npoints), INTENT(inout) :: rho, norm_drho, e_0, e_rho, e_ndrho, &
    5405              :                                                             e_rho_rho, e_ndrho_rho, e_ndrho_ndrho
    5406              :       REAL(kind=dp), INTENT(in)                          :: epsilon_rho, sx, sx0, omega
    5407              : 
    5408              :       INTEGER                                            :: ip
    5409              :       REAL(dp)                                           :: e_0_temp, my_ndrho, my_rho
    5410              :       REAL(KIND=dp)                                      :: ss, ss2, sscale, t1, t2, t3, t4, t5, t6, &
    5411              :                                                             t7, t8, ww
    5412              : 
    5413              : !$OMP     DO
    5414              : 
    5415              :       DO ip = 1, npoints
    5416              :          !According to spin-scaling relation, we need twice the density and its gradient
    5417     30077256 :          my_rho = 2.0_dp*MAX(rho(ip), 0.0_dp)
    5418     30077256 :          IF (my_rho > epsilon_rho) THEN
    5419     29920756 :             my_ndrho = 2.0_dp*MAX(norm_drho(ip), 0.0_dp)
    5420              : 
    5421              :             !Do some precalculation in order to catch the correct branch afterwards
    5422     29920756 :             sscale = 1.0_dp
    5423     29920756 :             t1 = pi**2
    5424     29920756 :             t2 = t1*my_rho
    5425     29920756 :             t3 = t2**(0.1e1_dp/0.3e1_dp)
    5426     29920756 :             t4 = 0.1e1_dp/t3
    5427     29920756 :             t5 = omega*t4
    5428     29920756 :             ww = 0.6933612743506347048433524e0_dp*t5
    5429     29920756 :             t6 = my_ndrho*t4
    5430     29920756 :             t7 = 0.1e1_dp/my_rho
    5431     29920756 :             t8 = t7*sscale
    5432     29920756 :             ss = 0.3466806371753173524216762e0_dp*t6*t8
    5433     29920756 :             IF (ss > scutoff) THEN
    5434     15559568 :                ss2 = ss*ss
    5435     15559568 :                sscale = ((smax)*ss2 - (sconst))/(ss2*ss)
    5436              :             END IF
    5437     29920756 :             e_0_temp = 0.0_dp
    5438     29920756 :             IF (sx0 /= 0.0_dp) THEN
    5439              :                !original PBE hole
    5440     23681377 :                IF (ss*sscale > gcutoff) THEN
    5441              :                   CALL xwpbe_lda_calc_0(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5442              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5443     23669043 :                                         my_ndrho, sscale, sx0, order)
    5444              :                ELSE
    5445              :                   CALL xwpbe_lda_calc_01(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5446              :                                          e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5447        12334 :                                          my_ndrho, sscale, sx0, order)
    5448              :                END IF
    5449              :                !According to spin-scaling relation, we need only half of the energy
    5450     23681377 :                e_0(ip) = e_0(ip) + 0.5_dp*e_0_temp
    5451              :             END IF
    5452     29920756 :             e_0_temp = 0.0_dp
    5453     29920756 :             IF (sx /= 0.0_dp) THEN
    5454      7628183 :                IF (ww < wcutoff .AND. ss*sscale > gcutoff) THEN
    5455              :                   CALL xwpbe_lda_calc_1(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5456              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5457      6607400 :                                         my_ndrho, omega, sscale, sx, order)
    5458         6329 :                ELSE IF (ww < wcutoff .AND. ss*sscale <= gcutoff) THEN
    5459              :                   CALL xwpbe_lda_calc_2(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5460              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5461         6329 :                                         my_ndrho, omega, sscale, sx, order)
    5462      1014454 :                ELSE IF (ww >= wcutoff .AND. ss*sscale > gcutoff) THEN
    5463              :                   CALL xwpbe_lda_calc_3(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5464              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5465      1014454 :                                         my_ndrho, omega, sscale, sx, order)
    5466              :                ELSE
    5467              :                   CALL xwpbe_lda_calc_4(e_0_temp, e_rho(ip), e_ndrho(ip), e_rho_rho(ip), &
    5468              :                                         e_ndrho_rho(ip), e_ndrho_ndrho(ip), my_rho, &
    5469            0 :                                         my_ndrho, omega, sscale, sx, order)
    5470              :                END IF
    5471              :                !According to spin-scaling relation, we need only half of the energy
    5472              :             END IF
    5473     29920756 :             e_0(ip) = e_0(ip) + 0.5_dp*e_0_temp
    5474              :          END IF
    5475              :       END DO
    5476              : 
    5477              : !$OMP     END DO
    5478              : 
    5479         1652 :    END SUBROUTINE xwpbe_lsd_calc
    5480              : 
    5481              : ! **************************************************************************************************
    5482              : !> \brief These functions evaluate products exp(x)*Ei(x) and pi*exp(x)*erfc(sqrt(x)),
    5483              : !>      as well as their derivatives with respect to various combinations of
    5484              : !>      rho and norm_drho.
    5485              : !> \param Q , dQrho, dQndrho, d2Qrhondrho :
    5486              : !>        Argument Q and derivatives with respect to various combinations of
    5487              : !>        rho and norm_drho
    5488              : !> \return ...
    5489              : !> \par History
    5490              : !>      05.2007 created [Manuel Guidon]
    5491              : !> \author Manuel Guidon
    5492              : !> \note
    5493              : !>     - In order to avoid numerical instabilities, these routines use Taylor-
    5494              : !>       expansions for the above core-products for large arguments.
    5495              : !>     - When adapting this module for higher order derivatives, appropriate
    5496              : !>       functions have to be provided!
    5497              : ! **************************************************************************************************
    5498    260691134 :    FUNCTION exei(Q)
    5499              :       REAL(dp), INTENT(IN)                               :: Q
    5500              :       REAL(dp)                                           :: exei
    5501              : 
    5502    260691134 :       exei = 0.0_dp
    5503    260691134 :       IF (Q < expcutoff) THEN
    5504              :          !Use exact product
    5505    243028238 :          exei = EXP(Q)*expint(1, Q)
    5506              :       ELSE
    5507              :          !Use approximation
    5508     17662896 :          exei = (1._dp/Q)*(Q*Q + exei1*Q + exei2)/(Q*Q + exei3*Q + exei4)
    5509              :       END IF
    5510    260691134 :    END FUNCTION exei
    5511              : 
    5512              : ! **************************************************************************************************
    5513              : !> \brief ...
    5514              : !> \param Q ...
    5515              : !> \return ...
    5516              : ! **************************************************************************************************
    5517     59206236 :    FUNCTION exer(Q)
    5518              :       REAL(dp), INTENT(IN)                               :: Q
    5519              :       REAL(dp)                                           :: exer
    5520              : 
    5521              :       REAL(dp)                                           :: Q3, Q5
    5522              : 
    5523     59206236 :       exer = 0.0_dp
    5524     59206236 :       IF (Q < expcutoff) THEN
    5525              :          !Use exact expression
    5526     59206236 :          exer = pi*EXP(Q)*erfc(SQRT(Q))
    5527              :       ELSE
    5528              :          !Use approximation
    5529            0 :          Q3 = Q*Q*Q
    5530            0 :          Q5 = Q3*Q*Q
    5531            0 :          exer = pi*(1.0_dp/SQRT(Q*pi) - 1.0_dp/(2.0_dp*SQRT(pi*Q3)) + 3.0_dp/(4.0_dp*(SQRT(pi*Q5))))
    5532              :       END IF
    5533     59206236 :    END FUNCTION exer
    5534              : 
    5535              : ! **************************************************************************************************
    5536              : !> \brief ...
    5537              : !> \param Q ...
    5538              : !> \param dQrho ...
    5539              : !> \return ...
    5540              : ! **************************************************************************************************
    5541     75038722 :    FUNCTION dexeirho(Q, dQrho)
    5542              :       REAL(dp), INTENT(IN)                               :: Q, dQrho
    5543              :       REAL(dp)                                           :: dexeirho
    5544              : 
    5545     75038722 :       dexeirho = dQrho*(exei(Q) - 1.0_dp/Q)
    5546     75038722 :    END FUNCTION dexeirho
    5547              : 
    5548              : ! **************************************************************************************************
    5549              : !> \brief ...
    5550              : !> \param Q ...
    5551              : !> \param dQndrho ...
    5552              : !> \return ...
    5553              : ! **************************************************************************************************
    5554     75038722 :    FUNCTION dexeindrho(Q, dQndrho)
    5555              :       REAL(dp), INTENT(IN)                               :: Q, dQndrho
    5556              :       REAL(dp)                                           :: dexeindrho
    5557              : 
    5558     75038722 :       dexeindrho = dQndrho*(exei(Q) - 1.0_dp/Q)
    5559     75038722 :    END FUNCTION dexeindrho
    5560              : 
    5561              : ! **************************************************************************************************
    5562              : !> \brief ...
    5563              : !> \param Q ...
    5564              : !> \param dQrho ...
    5565              : !> \return ...
    5566              : ! **************************************************************************************************
    5567     16553861 :    FUNCTION dexerrho(Q, dQrho)
    5568              :       REAL(dp), INTENT(IN)                               :: Q, dQrho
    5569              :       REAL(dp)                                           :: dexerrho
    5570              : 
    5571     16553861 :       dexerrho = dQrho*exer(Q) - dQrho*rootpi/SQRT(Q)
    5572     16553861 :    END FUNCTION dexerrho
    5573              : 
    5574              : ! **************************************************************************************************
    5575              : !> \brief ...
    5576              : !> \param Q ...
    5577              : !> \param dQndrho ...
    5578              : !> \return ...
    5579              : ! **************************************************************************************************
    5580     16553861 :    FUNCTION dexerndrho(Q, dQndrho)
    5581              :       REAL(dp), INTENT(IN)                               :: Q, dQndrho
    5582              :       REAL(dp)                                           :: dexerndrho
    5583              : 
    5584     16553861 :       dexerndrho = dQndrho*exer(Q) - dQndrho*rootpi/SQRT(Q)
    5585     16553861 :    END FUNCTION dexerndrho
    5586              : 
    5587              : ! **************************************************************************************************
    5588              : !> \brief ...
    5589              : !> \param Q ...
    5590              : !> \param dQrho ...
    5591              : !> \param d2Qrhorho ...
    5592              : !> \return ...
    5593              : ! **************************************************************************************************
    5594            0 :    FUNCTION d2exeirhorho(Q, dQrho, d2Qrhorho)
    5595              :       REAL(dp), INTENT(IN)                               :: Q, dQrho, d2Qrhorho
    5596              :       REAL(dp)                                           :: d2exeirhorho
    5597              : 
    5598              :       d2exeirhorho = exei(Q)*(d2Qrhorho + dQrho*dQrho) + &
    5599            0 :                      1.0_dp/(Q*Q)*(-Q*dQrho*dQrho - Q*d2Qrhorho + dQrho*dQrho)
    5600            0 :    END FUNCTION d2exeirhorho
    5601              : 
    5602              : ! **************************************************************************************************
    5603              : !> \brief ...
    5604              : !> \param Q ...
    5605              : !> \param dQrho ...
    5606              : !> \param d2Qrhorho ...
    5607              : !> \return ...
    5608              : ! **************************************************************************************************
    5609            0 :    FUNCTION d2exerrhorho(Q, dQrho, d2Qrhorho)
    5610              :       REAL(dp), INTENT(IN)                               :: Q, dQrho, d2Qrhorho
    5611              :       REAL(dp)                                           :: d2exerrhorho
    5612              : 
    5613              :       REAL(dp)                                           :: pi12, Q12
    5614              : 
    5615            0 :       Q12 = SQRT(Q)
    5616            0 :       pi12 = rootpi
    5617              : 
    5618              :       d2exerrhorho = exer(Q)*(d2Qrhorho + dQrho*dQrho) - dQrho*dQrho/(pi12*Q12) + &
    5619            0 :                      0.5_dp*dQrho*dQrho/(pi12*Q*Q12) - d2Qrhorho/(pi12*Q12)
    5620            0 :    END FUNCTION d2exerrhorho
    5621              : 
    5622              : ! **************************************************************************************************
    5623              : !> \brief ...
    5624              : !> \param Q ...
    5625              : !> \param dQrho ...
    5626              : !> \param dQndrho ...
    5627              : !> \param d2Qrhondrho ...
    5628              : !> \return ...
    5629              : ! **************************************************************************************************
    5630            0 :    FUNCTION d2exeirhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    5631              :       REAL(dp), INTENT(IN)                               :: Q, dQrho, dQndrho, d2Qrhondrho
    5632              :       REAL(dp)                                           :: d2exeirhondrho
    5633              : 
    5634              :       d2exeirhondrho = exei(Q)*(d2Qrhondrho + dQrho*dQndrho) - &
    5635            0 :                        1.0_dp/Q*(dQrho*dQndrho + d2Qrhondrho) + 1.0_dp/(Q*Q)*dQrho*dQndrho
    5636            0 :    END FUNCTION d2exeirhondrho
    5637              : 
    5638              : ! **************************************************************************************************
    5639              : !> \brief ...
    5640              : !> \param Q ...
    5641              : !> \param dQrho ...
    5642              : !> \param dQndrho ...
    5643              : !> \param d2Qrhondrho ...
    5644              : !> \return ...
    5645              : ! **************************************************************************************************
    5646            0 :    FUNCTION d2exerrhondrho(Q, dQrho, dQndrho, d2Qrhondrho)
    5647              :       REAL(dp), INTENT(IN)                               :: Q, dQrho, dQndrho, d2Qrhondrho
    5648              :       REAL(dp)                                           :: d2exerrhondrho
    5649              : 
    5650              :       REAL(dp)                                           :: pi12, Q12
    5651              : 
    5652            0 :       Q12 = SQRT(Q)
    5653            0 :       pi12 = rootpi
    5654              : 
    5655              :       d2exerrhondrho = exer(Q)*(d2Qrhondrho + dQrho*dQndrho) - 1.0_dp/(pi12*Q12)*dQrho*dQndrho &
    5656            0 :                        + 0.5_dp/(pi12*Q12*Q)*dQrho*dQndrho - 1.0_dp/(pi12*Q12)*d2Qrhondrho
    5657            0 :    END FUNCTION d2exerrhondrho
    5658              : 
    5659              : ! **************************************************************************************************
    5660              : !> \brief ...
    5661              : !> \param Q ...
    5662              : !> \param dQndrho ...
    5663              : !> \param d2Qndrhondrho ...
    5664              : !> \return ...
    5665              : ! **************************************************************************************************
    5666            0 :    FUNCTION d2exeindrhondrho(Q, dQndrho, d2Qndrhondrho)
    5667              :       REAL(dp), INTENT(IN)                               :: Q, dQndrho, d2Qndrhondrho
    5668              :       REAL(dp)                                           :: d2exeindrhondrho
    5669              : 
    5670              :       d2exeindrhondrho = exei(Q)*(d2Qndrhondrho + dQndrho*dQndrho) + &
    5671            0 :                          1.0_dp/(Q*Q)*(-Q*dQndrho*dQndrho - Q*d2Qndrhondrho + dQndrho*dQndrho)
    5672            0 :    END FUNCTION d2exeindrhondrho
    5673              : 
    5674              : ! **************************************************************************************************
    5675              : !> \brief ...
    5676              : !> \param Q ...
    5677              : !> \param dQndrho ...
    5678              : !> \param d2Qndrhondrho ...
    5679              : !> \return ...
    5680              : ! **************************************************************************************************
    5681            0 :    FUNCTION d2exerndrhondrho(Q, dQndrho, d2Qndrhondrho)
    5682              :       REAL(dp), INTENT(IN)                               :: Q, dQndrho, d2Qndrhondrho
    5683              :       REAL(dp)                                           :: d2exerndrhondrho
    5684              : 
    5685              :       REAL(dp)                                           :: pi12, Q12
    5686              : 
    5687            0 :       Q12 = SQRT(Q)
    5688            0 :       pi12 = rootpi
    5689              : 
    5690              :       d2exerndrhondrho = exer(Q)*(d2Qndrhondrho + dQndrho*dQndrho) - dQndrho*dQndrho/(pi12*Q12) &
    5691            0 :                          + 0.5_dp*dQndrho*dQndrho/(pi12*Q*Q12) - d2Qndrhondrho/(pi12*Q12)
    5692            0 :    END FUNCTION d2exerndrhondrho
    5693              : 
    5694              : END MODULE xc_xwpbe
    5695              : 
        

Generated by: LCOV version 2.0-1