1c     The codes in this file were taken from density functional repository
2c     ftp://ftp.dl.ac.uk/qcg/dft_library/index.html
3c     $Revision: 1.10 $, $Date: 2006/02/01 13:48:18
4c     The routines are listed below, the rks counterpart are also available
5c     uks_x_lda
6c     uks_x_b88
7c     uks_x_pbe
8c     uks_x_pw91
9c     uks_c_vwn5
10c     uks_c_p86
11c     uks_c_lyp
12c     uks_c_pw91
13c     uks_c_pbe
14c     uks_xc_b97
15c     uks_xc_hcth407
16
17
18      real*8 function piecewise(o,a,b)
19c
20c     Fix for a Maple problem. The Maple Fortran generator is not
21c     able to transform its piecewise command to Fortran. Therefore
22c     this function was written to take care of this.
23c
24      implicit none
25      logical o
26      real*8 a, b
27      if (o) then
28         piecewise = a
29      else
30         piecewise = b
31      endif
32      return
33      end
34
35
36      subroutine uks_x_lda
37     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
38     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
39     &  v2rhoa2,v2rhob2,v2rhoab,
40     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
41     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
42     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
43     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
44c
45c     P.A.M. Dirac
46c     Proceedings of the Cambridge Philosophical Society, 26 (1930) 376
47c
48c
49c     CITATION:
50c
51c     Functionals were obtained from the Density Functional Repository
52c     as developed and distributed by the Quantum Chemistry Group,
53c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
54c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
55c     Paul Sherwood for further information.
56c
57c     COPYRIGHT:
58c
59c     Users may incorporate the source code into software packages and
60c     redistribute the source code provided the source code is not
61c     changed in anyway and is properly cited in any documentation or
62c     publication related to its use.
63c
64c     ACKNOWLEDGEMENT:
65c
66c     The source code was generated using Maple 8 through a modified
67c     version of the dfauto script published in:
68c
69c        R. Strange, F.R. Manby, P.J. Knowles
70c        Automatic code generation in density functional theory
71c        Comp. Phys. Comm. 136 (2001) 310-318.
72c
73      implicit real*8 (a-h,o-z)
74      integer ideriv,npt
75      real*8 rhoa1(npt),rhob1(npt)
76      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
77      real*8 zk(npt),vrhoa(npt),vrhob(npt)
78      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
79      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
80      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
81      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
82      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
83      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
84      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
85      parameter(tol=1.0d-20)
86
87      if (ideriv.eq.0) then
88
89      do i=1,npt
90      rhoa = dmax1(0.D0,rhoa1(i))
91      rhob = dmax1(0.D0,rhob1(i))
92      rho = rhoa+rhob
93      if(rho.gt.tol) then
94      if(rhoa.lt.tol) then
95      rho = rhob
96      t1 = rhob**(1.D0/3.D0)
97      zk(i) = -0.9305257363491D0*t1*rhob
98      elseif(rhob.lt.tol) then
99      rho = rhoa
100      t1 = rhoa**(1.D0/3.D0)
101      zk(i) = -0.9305257363491D0*t1*rhoa
102      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
103      t1 = rhoa**(1.D0/3.D0)
104      t4 = rhob**(1.D0/3.D0)
105      zk(i) = -0.9305257363491D0*t1*rhoa-0.9305257363491D0*t4*rhob
106      endif ! rhoa,rhob
107      else ! rho
108      zk(i) = 0.0d0
109      endif ! rho
110      enddo
111
112      else if(ideriv.eq.1) then
113
114      do i=1,npt
115      rhoa = dmax1(0.D0,rhoa1(i))
116      rhob = dmax1(0.D0,rhob1(i))
117      rho = rhoa+rhob
118      if(rho.gt.tol) then
119      if(rhoa.lt.tol) then
120      rho = rhob
121      t1 = rhob**(1.D0/3.D0)
122      zk(i) = -0.9305257363491D0*t1*rhob
123      vrhoa(i) = 0.D0
124      vrhob(i) = -0.12407009817988D1*t1
125      elseif(rhob.lt.tol) then
126      rho = rhoa
127      t1 = rhoa**(1.D0/3.D0)
128      zk(i) = -0.9305257363491D0*t1*rhoa
129      vrhoa(i) = -0.12407009817988D1*t1
130      vrhob(i) = 0.D0
131      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
132      t1 = rhoa**(1.D0/3.D0)
133      t4 = rhob**(1.D0/3.D0)
134      zk(i) = -0.9305257363491D0*t1*rhoa-0.9305257363491D0*t4*rhob
135      vrhoa(i) = -0.12407009817988D1*t1
136      vrhob(i) = -0.12407009817988D1*t4
137      endif ! rhoa,rhob
138      else ! rho
139      zk(i) = 0.0d0
140      vrhoa(i) = 0.0d0
141      vrhob(i) = 0.0d0
142      endif ! rho
143      enddo
144
145      else if(ideriv.eq.2) then
146
147      do i=1,npt
148      rhoa = dmax1(0.D0,rhoa1(i))
149      rhob = dmax1(0.D0,rhob1(i))
150      rho = rhoa+rhob
151      if(rho.gt.tol) then
152      if(rhoa.lt.tol) then
153      rho = rhob
154      t1 = rhob**(1.D0/3.D0)
155      zk(i) = -0.9305257363491D0*t1*rhob
156      vrhoa(i) = 0.D0
157      vrhob(i) = -0.12407009817988D1*t1
158      v2rhoa2(i) = 0.D0
159      v2rhoab(i) = 0.D0
160      t5 = t1**2
161      v2rhob2(i) = -0.4135669939329333D0/t5
162      elseif(rhob.lt.tol) then
163      rho = rhoa
164      t1 = rhoa**(1.D0/3.D0)
165      zk(i) = -0.9305257363491D0*t1*rhoa
166      vrhoa(i) = -0.12407009817988D1*t1
167      vrhob(i) = 0.D0
168      t5 = t1**2
169      v2rhoa2(i) = -0.4135669939329333D0/t5
170      v2rhob2(i) = 0.D0
171      v2rhoab(i) = 0.D0
172      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
173      t1 = rhoa**(1.D0/3.D0)
174      t4 = rhob**(1.D0/3.D0)
175      zk(i) = -0.9305257363491D0*t1*rhoa-0.9305257363491D0*t4*rhob
176      vrhoa(i) = -0.12407009817988D1*t1
177      vrhob(i) = -0.12407009817988D1*t4
178      t9 = t1**2
179      v2rhoa2(i) = -0.4135669939329333D0/t9
180      t12 = t4**2
181      v2rhob2(i) = -0.4135669939329333D0/t12
182      v2rhoab(i) = 0.D0
183      endif ! rhoa,rhob
184      else ! rho
185      zk(i) = 0.0d0
186      vrhoa(i) = 0.0d0
187      vrhob(i) = 0.0d0
188      v2rhoa2(i) = 0.0d0
189      v2rhob2(i) = 0.0d0
190      v2rhoab(i) = 0.0d0
191      endif ! rho
192      enddo
193
194      endif ! ideriv
195      return
196      end
197
198
199      subroutine rks_x_lda
200     & (ideriv,npt,rhoa1,sigmaaa1,
201     &  zk,vrhoa,vsigmaaa,
202     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
203c
204c     P.A.M. Dirac
205c     Proceedings of the Cambridge Philosophical Society, 26 (1930) 376
206c
207c
208c     CITATION:
209c
210c     Functionals were obtained from the Density Functional Repository
211c     as developed and distributed by the Quantum Chemistry Group,
212c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
213c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
214c     Paul Sherwood for further information.
215c
216c     COPYRIGHT:
217c
218c     Users may incorporate the source code into software packages and
219c     redistribute the source code provided the source code is not
220c     changed in anyway and is properly cited in any documentation or
221c     publication related to its use.
222c
223c     ACKNOWLEDGEMENT:
224c
225c     The source code was generated using Maple 8 through a modified
226c     version of the dfauto script published in:
227c
228c        R. Strange, F.R. Manby, P.J. Knowles
229c        Automatic code generation in density functional theory
230c        Comp. Phys. Comm. 136 (2001) 310-318.
231c
232      implicit real*8 (a-h,o-z)
233      integer ideriv,npt
234      real*8 rhoa1(npt)
235      real*8 sigmaaa1(npt)
236      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
237      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
238      parameter(tol=1.0d-20)
239
240      if(ideriv.eq.0) then
241
242      do i=1,npt
243      rho = dmax1(0.D0,rhoa1(i))
244      if(rho.gt.tol) then
245      t1 = rho**(1.D0/3.D0)
246      zk(i) = -0.7385587663820224D0*t1*rho
247      else ! rho
248      zk(i) = 0.0d0
249      endif ! rho
250      enddo
251
252      else if(ideriv.eq.1) then
253
254      do i=1,npt
255      rho = dmax1(0.D0,rhoa1(i))
256      if(rho.gt.tol) then
257      t1 = rho**(1.D0/3.D0)
258      zk(i) = -0.7385587663820224D0*t1*rho
259      vrhoa(i) = -0.9847450218426965D0*t1
260      else ! rho
261      zk(i) = 0.0d0
262      vrhoa(i) = 0.0d0
263      endif ! rho
264      enddo
265
266      else if(ideriv.eq.2) then
267
268      do i=1,npt
269      rho = dmax1(0.D0,rhoa1(i))
270      if(rho.gt.tol) then
271      t1 = rho**(1.D0/3.D0)
272      zk(i) = -0.7385587663820224D0*t1*rho
273      vrhoa(i) = -0.9847450218426965D0*t1
274      t5 = t1**2
275      v2rhoa2(i) = -0.6564966812284644D0/t5
276      else ! rho
277      zk(i) = 0.0d0
278      vrhoa(i) = 0.0d0
279      v2rhoa2(i) = 0.0d0
280      endif ! rho
281      enddo
282
283      endif ! ideriv
284      return
285      end
286
287
288      subroutine uks_x_b88
289     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
290     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
291     &  v2rhoa2,v2rhob2,v2rhoab,
292     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
293     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
294     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
295     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
296c
297c     A.D. Becke
298c     Density-functional exchange-energy approximation with correct
299c     asymptotic behaviour
300c     Phys. Rev. A38 (1988) 3098-3100
301c
302c
303c     CITATION:
304c
305c     Functionals were obtained from the Density Functional Repository
306c     as developed and distributed by the Quantum Chemistry Group,
307c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
308c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
309c     Paul Sherwood for further information.
310c
311c     COPYRIGHT:
312c
313c     Users may incorporate the source code into software packages and
314c     redistribute the source code provided the source code is not
315c     changed in anyway and is properly cited in any documentation or
316c     publication related to its use.
317c
318c     ACKNOWLEDGEMENT:
319c
320c     The source code was generated using Maple 8 through a modified
321c     version of the dfauto script published in:
322c
323c        R. Strange, F.R. Manby, P.J. Knowles
324c        Automatic code generation in density functional theory
325c        Comp. Phys. Comm. 136 (2001) 310-318.
326c
327      implicit real*8 (a-h,o-z)
328      integer ideriv,npt
329      real*8 rhoa1(npt),rhob1(npt)
330      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
331      real*8 zk(npt),vrhoa(npt),vrhob(npt)
332      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
333      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
334      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
335      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
336      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
337      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
338      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
339      parameter(tol=1.0d-20)
340
341      if (ideriv.eq.0) then
342
343      do i=1,npt
344      rhoa = dmax1(0.D0,rhoa1(i))
345      rhob = dmax1(0.D0,rhob1(i))
346      rho = rhoa+rhob
347      if(rho.gt.tol) then
348      if(rhoa.lt.tol) then
349      rho = rhob
350      sigmabb = dmax1(0.D0,sigmabb1(i))
351      sigma = sigmabb
352      t2 = rhob**(1.D0/3.D0)
353      t3 = t2*rhob
354      t5 = 1/t3
355      t7 = dsqrt(sigmabb)
356      t8 = t7*t5
357      t9 = dlog(t8+dsqrt(1+t8**2))
358      zk(i) = -0.9305257363491D0*t3-0.42D-2*t5*sigmabb/(1.D0+0.252D-1
359     #*t8*t9)
360      elseif(rhob.lt.tol) then
361      rho = rhoa
362      sigmaaa = dmax1(0.D0,sigmaaa1(i))
363      sigma = sigmaaa
364      t2 = rhoa**(1.D0/3.D0)
365      t3 = t2*rhoa
366      t5 = 1/t3
367      t7 = dsqrt(sigmaaa)
368      t8 = t7*t5
369      t9 = dlog(t8+dsqrt(1+t8**2))
370      zk(i) = -0.9305257363491D0*t3-0.42D-2*t5*sigmaaa/(1.D0+0.252D-1
371     #*t8*t9)
372      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
373      sigmaaa = dmax1(0.D0,sigmaaa1(i))
374      sigmaab = sigmaab1(i)
375      sigmabb = dmax1(0.D0,sigmabb1(i))
376      sigma = sigmaaa+sigmabb+2.D0*sigmaab
377      t4 = rhoa**(1.D0/3.D0)
378      t5 = t4*rhoa
379      t7 = 1/t5
380      t9 = dsqrt(sigmaaa)
381      t10 = t9*t7
382      t11 = dlog(t10+dsqrt(1+t10**2))
383      t18 = rhob**(1.D0/3.D0)
384      t19 = t18*rhob
385      t21 = 1/t19
386      t23 = dsqrt(sigmabb)
387      t24 = t23*t21
388      t25 = dlog(t24+dsqrt(1+t24**2))
389      zk(i) = -0.9305257363491D0*t5-0.42D-2*t7*sigmaaa/(1.D0+0.252D-1
390     #*t10*t11)-0.9305257363491D0*t19-0.42D-2*t21*sigmabb/(1.D0
391     #+0.252D-1*t24*t25)
392      endif ! rhoa,rhob
393      else ! rho
394      zk(i) = 0.0d0
395      endif ! rho
396      enddo
397
398      else if(ideriv.eq.1) then
399
400      do i=1,npt
401      rhoa = dmax1(0.D0,rhoa1(i))
402      rhob = dmax1(0.D0,rhob1(i))
403      rho = rhoa+rhob
404      if(rho.gt.tol) then
405      if(rhoa.lt.tol) then
406      rho = rhob
407      sigmabb = dmax1(0.D0,sigmabb1(i))
408      sigma = sigmabb
409      t2 = rhob**(1.D0/3.D0)
410      t3 = t2*rhob
411      t5 = 1/t3
412      t6 = t5*sigmabb
413      t7 = dsqrt(sigmabb)
414      t8 = t7*t5
415      t9 = dlog(t8+dsqrt(1+t8**2))
416      t12 = 1.D0+0.252D-1*t8*t9
417      t13 = 1/t12
418      zk(i) = -0.9305257363491D0*t3-0.42D-2*t6*t13
419      vrhoa(i) = 0.D0
420      t17 = rhob**2
421      t19 = 1/t2/t17
422      t23 = t12**2
423      t24 = 1/t23
424      t29 = t2**2
425      t34 = 1/t29/t17
426      t37 = dsqrt(1.D0+sigmabb*t34)
427      t38 = 1/t37
428      vrhob(i) = -0.12407009817988D1*t2+0.56D-2*t19*sigmabb*t13
429     #+0.42D-2*t6*t24*(-0.336D-1*t7*t19*t9-0.336D-1*sigmabb/t29/t17
430     #/rhob*t38)
431      vsigmaaa(i) = 0.D0
432      vsigmaab(i) = 0.D0
433      vsigmabb(i) = -0.42D-2*t5*t13+0.42D-2*t6*t24*(0.126D-1/t7*t5*t9
434     #+0.126D-1*t34*t38)
435      elseif(rhob.lt.tol) then
436      rho = rhoa
437      sigmaaa = dmax1(0.D0,sigmaaa1(i))
438      sigma = sigmaaa
439      t2 = rhoa**(1.D0/3.D0)
440      t3 = t2*rhoa
441      t5 = 1/t3
442      t6 = t5*sigmaaa
443      t7 = dsqrt(sigmaaa)
444      t8 = t7*t5
445      t9 = dlog(t8+dsqrt(1+t8**2))
446      t12 = 1.D0+0.252D-1*t8*t9
447      t13 = 1/t12
448      zk(i) = -0.9305257363491D0*t3-0.42D-2*t6*t13
449      t17 = rhoa**2
450      t19 = 1/t2/t17
451      t23 = t12**2
452      t24 = 1/t23
453      t29 = t2**2
454      t34 = 1/t29/t17
455      t37 = dsqrt(1.D0+sigmaaa*t34)
456      t38 = 1/t37
457      vrhoa(i) = -0.12407009817988D1*t2+0.56D-2*t19*sigmaaa*t13
458     #+0.42D-2*t6*t24*(-0.336D-1*t7*t19*t9-0.336D-1*sigmaaa/t29/t17
459     #/rhoa*t38)
460      vrhob(i) = 0.D0
461      vsigmaaa(i) = -0.42D-2*t5*t13+0.42D-2*t6*t24*(0.126D-1/t7*t5*t9
462     #+0.126D-1*t34*t38)
463      vsigmaab(i) = 0.D0
464      vsigmabb(i) = 0.D0
465      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
466      sigmaaa = dmax1(0.D0,sigmaaa1(i))
467      sigmaab = sigmaab1(i)
468      sigmabb = dmax1(0.D0,sigmabb1(i))
469      sigma = sigmaaa+sigmabb+2.D0*sigmaab
470      t4 = rhoa**(1.D0/3.D0)
471      t5 = t4*rhoa
472      t7 = 1/t5
473      t8 = t7*sigmaaa
474      t9 = dsqrt(sigmaaa)
475      t10 = t9*t7
476      t11 = dlog(t10+dsqrt(1+t10**2))
477      t14 = 1.D0+0.252D-1*t10*t11
478      t15 = 1/t14
479      t18 = rhob**(1.D0/3.D0)
480      t19 = t18*rhob
481      t21 = 1/t19
482      t22 = t21*sigmabb
483      t23 = dsqrt(sigmabb)
484      t24 = t23*t21
485      t25 = dlog(t24+dsqrt(1+t24**2))
486      t28 = 1.D0+0.252D-1*t24*t25
487      t29 = 1/t28
488      zk(i) = -0.9305257363491D0*t5-0.42D-2*t8*t15-0.9305257363491D0
489     #*t19-0.42D-2*t22*t29
490      t33 = rhoa**2
491      t35 = 1/t4/t33
492      t39 = t14**2
493      t40 = 1/t39
494      t45 = t4**2
495      t50 = 1/t45/t33
496      t53 = dsqrt(1.D0+sigmaaa*t50)
497      t54 = 1/t53
498      vrhoa(i) = -0.12407009817988D1*t4+0.56D-2*t35*sigmaaa*t15
499     #+0.42D-2*t8*t40*(-0.336D-1*t9*t35*t11-0.336D-1*sigmaaa/t45/t33
500     #/rhoa*t54)
501      t62 = rhob**2
502      t64 = 1/t18/t62
503      t68 = t28**2
504      t69 = 1/t68
505      t74 = t18**2
506      t79 = 1/t74/t62
507      t82 = dsqrt(1.D0+sigmabb*t79)
508      t83 = 1/t82
509      vrhob(i) = -0.12407009817988D1*t18+0.56D-2*t64*sigmabb*t29
510     #+0.42D-2*t22*t69*(-0.336D-1*t23*t64*t25-0.336D-1*sigmabb/t74/t62
511     #/rhob*t83)
512      vsigmaaa(i) = -0.42D-2*t7*t15+0.42D-2*t8*t40*(0.126D-1/t9*t7*t11
513     #+0.126D-1*t50*t54)
514      vsigmaab(i) = 0.D0
515      vsigmabb(i) = -0.42D-2*t21*t29+0.42D-2*t22*t69*(0.126D-1/t23*t21
516     #*t25+0.126D-1*t79*t83)
517      endif ! rhoa,rhob
518      else ! rho
519      zk(i) = 0.0d0
520      vrhoa(i) = 0.0d0
521      vrhob(i) = 0.0d0
522      vsigmaaa(i) = 0.0d0
523      vsigmaab(i) = 0.0d0
524      vsigmabb(i) = 0.0d0
525      endif ! rho
526      enddo
527
528      else if(ideriv.eq.2) then
529
530      do i=1,npt
531      rhoa = dmax1(0.D0,rhoa1(i))
532      rhob = dmax1(0.D0,rhob1(i))
533      rho = rhoa+rhob
534      if(rho.gt.tol) then
535      if(rhoa.lt.tol) then
536      rho = rhob
537      sigmabb = dmax1(0.D0,sigmabb1(i))
538      sigma = sigmabb
539      t2 = rhob**(1.D0/3.D0)
540      t3 = t2*rhob
541      t5 = 1/t3
542      t6 = t5*sigmabb
543      t7 = dsqrt(sigmabb)
544      t8 = t7*t5
545      t9 = dlog(t8+dsqrt(1+t8**2))
546      t12 = 1.D0+0.252D-1*t8*t9
547      t13 = 1/t12
548      zk(i) = -0.9305257363491D0*t3-0.42D-2*t6*t13
549      vrhoa(i) = 0.D0
550      t17 = rhob**2
551      t19 = 1/t2/t17
552      t20 = t19*sigmabb
553      t23 = t12**2
554      t24 = 1/t23
555      t28 = t17*rhob
556      t29 = t2**2
557      t34 = 1/t29/t17
558      t36 = 1.D0+sigmabb*t34
559      t37 = dsqrt(t36)
560      t38 = 1/t37
561      t41 = -0.336D-1*t7*t19*t9-0.336D-1*sigmabb/t29/t28*t38
562      t42 = t24*t41
563      vrhob(i) = -0.12407009817988D1*t2+0.56D-2*t20*t13+0.42D-2*t6*t42
564      vsigmaaa(i) = 0.D0
565      vsigmaab(i) = 0.D0
566      t53 = 0.126D-1/t7*t5*t9+0.126D-1*t34*t38
567      vsigmabb(i) = -0.42D-2*t5*t13+0.42D-2*t6*t24*t53
568      v2rhoa2(i) = 0.D0
569      v2rhoab(i) = 0.D0
570      t60 = 1/t2/t28
571      t67 = 1/t23/t12
572      t68 = t41**2
573      t75 = t17**2
574      t81 = sigmabb**2
575      t87 = 1/t37/t36
576      v2rhob2(i) = -0.4135669939329333D0/t29-0.1306666666666667D-1*t60
577     #*sigmabb*t13-0.112D-1*t20*t42-0.84D-2*t6*t67*t68+0.42D-2*t6*t24*
578     #(0.784D-1*t7*t60*t9+0.168D0*sigmabb/t29/t75*t38-0.448D-1*t81/t2
579     #/t75/t28*t87)
580      v2sigmaaa2(i) = 0.D0
581      v2sigmaaaab(i) = 0.D0
582      v2sigmaaabb(i) = 0.D0
583      v2sigmaab2(i) = 0.D0
584      v2sigmaabbb(i) = 0.D0
585      t97 = t53**2
586      v2sigmabb2(i) = 0.84D-2*t5*t24*t53-0.84D-2*t6*t67*t97+0.42D-2*t6
587     #*t24*(-0.63D-2/t7/sigmabb*t5*t9+0.63D-2/sigmabb*t34*t38-0.63D-2
588     #/t2/t75/rhob*t87)
589      elseif(rhob.lt.tol) then
590      rho = rhoa
591      sigmaaa = dmax1(0.D0,sigmaaa1(i))
592      sigma = sigmaaa
593      t2 = rhoa**(1.D0/3.D0)
594      t3 = t2*rhoa
595      t5 = 1/t3
596      t6 = t5*sigmaaa
597      t7 = dsqrt(sigmaaa)
598      t8 = t7*t5
599      t9 = dlog(t8+dsqrt(1+t8**2))
600      t12 = 1.D0+0.252D-1*t8*t9
601      t13 = 1/t12
602      zk(i) = -0.9305257363491D0*t3-0.42D-2*t6*t13
603      t17 = rhoa**2
604      t19 = 1/t2/t17
605      t20 = t19*sigmaaa
606      t23 = t12**2
607      t24 = 1/t23
608      t28 = t17*rhoa
609      t29 = t2**2
610      t34 = 1/t29/t17
611      t36 = 1.D0+sigmaaa*t34
612      t37 = dsqrt(t36)
613      t38 = 1/t37
614      t41 = -0.336D-1*t7*t19*t9-0.336D-1*sigmaaa/t29/t28*t38
615      t42 = t24*t41
616      vrhoa(i) = -0.12407009817988D1*t2+0.56D-2*t20*t13+0.42D-2*t6*t42
617      vrhob(i) = 0.D0
618      t53 = 0.126D-1/t7*t5*t9+0.126D-1*t34*t38
619      vsigmaaa(i) = -0.42D-2*t5*t13+0.42D-2*t6*t24*t53
620      vsigmaab(i) = 0.D0
621      vsigmabb(i) = 0.D0
622      t60 = 1/t2/t28
623      t67 = 1/t23/t12
624      t68 = t41**2
625      t75 = t17**2
626      t81 = sigmaaa**2
627      t87 = 1/t37/t36
628      v2rhoa2(i) = -0.4135669939329333D0/t29-0.1306666666666667D-1*t60
629     #*sigmaaa*t13-0.112D-1*t20*t42-0.84D-2*t6*t67*t68+0.42D-2*t6*t24*
630     #(0.784D-1*t7*t60*t9+0.168D0*sigmaaa/t29/t75*t38-0.448D-1*t81/t2
631     #/t75/t28*t87)
632      v2rhob2(i) = 0.D0
633      v2rhoab(i) = 0.D0
634      t97 = t53**2
635      v2sigmaaa2(i) = 0.84D-2*t5*t24*t53-0.84D-2*t6*t67*t97+0.42D-2*t6
636     #*t24*(-0.63D-2/t7/sigmaaa*t5*t9+0.63D-2/sigmaaa*t34*t38-0.63D-2
637     #/t2/t75/rhoa*t87)
638      v2sigmaaaab(i) = 0.D0
639      v2sigmaaabb(i) = 0.D0
640      v2sigmaab2(i) = 0.D0
641      v2sigmaabbb(i) = 0.D0
642      v2sigmabb2(i) = 0.D0
643      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
644      sigmaaa = dmax1(0.D0,sigmaaa1(i))
645      sigmaab = sigmaab1(i)
646      sigmabb = dmax1(0.D0,sigmabb1(i))
647      sigma = sigmaaa+sigmabb+2.D0*sigmaab
648      t4 = rhoa**(1.D0/3.D0)
649      t5 = t4*rhoa
650      t7 = 1/t5
651      t8 = t7*sigmaaa
652      t9 = dsqrt(sigmaaa)
653      t10 = t9*t7
654      t11 = dlog(t10+dsqrt(1+t10**2))
655      t14 = 1.D0+0.252D-1*t10*t11
656      t15 = 1/t14
657      t18 = rhob**(1.D0/3.D0)
658      t19 = t18*rhob
659      t21 = 1/t19
660      t22 = t21*sigmabb
661      t23 = dsqrt(sigmabb)
662      t24 = t23*t21
663      t25 = dlog(t24+dsqrt(1+t24**2))
664      t28 = 1.D0+0.252D-1*t24*t25
665      t29 = 1/t28
666      zk(i) = -0.9305257363491D0*t5-0.42D-2*t8*t15-0.9305257363491D0
667     #*t19-0.42D-2*t22*t29
668      t33 = rhoa**2
669      t35 = 1/t4/t33
670      t36 = t35*sigmaaa
671      t39 = t14**2
672      t40 = 1/t39
673      t44 = t33*rhoa
674      t45 = t4**2
675      t47 = 1/t45/t44
676      t50 = 1/t45/t33
677      t52 = 1.D0+sigmaaa*t50
678      t53 = dsqrt(t52)
679      t54 = 1/t53
680      t57 = -0.336D-1*t9*t35*t11-0.336D-1*sigmaaa*t47*t54
681      t58 = t40*t57
682      vrhoa(i) = -0.12407009817988D1*t4+0.56D-2*t36*t15+0.42D-2*t8*t58
683      t62 = rhob**2
684      t64 = 1/t18/t62
685      t65 = t64*sigmabb
686      t68 = t28**2
687      t69 = 1/t68
688      t73 = t62*rhob
689      t74 = t18**2
690      t76 = 1/t74/t73
691      t79 = 1/t74/t62
692      t81 = 1.D0+sigmabb*t79
693      t82 = dsqrt(t81)
694      t83 = 1/t82
695      t86 = -0.336D-1*t23*t64*t25-0.336D-1*sigmabb*t76*t83
696      t87 = t69*t86
697      vrhob(i) = -0.12407009817988D1*t18+0.56D-2*t65*t29+0.42D-2*t22*t87
698      t92 = 1/t9
699      t98 = 0.126D-1*t92*t7*t11+0.126D-1*t50*t54
700      t99 = t40*t98
701      vsigmaaa(i) = -0.42D-2*t7*t15+0.42D-2*t8*t99
702      vsigmaab(i) = 0.D0
703      t104 = 1/t23
704      t110 = 0.126D-1*t104*t21*t25+0.126D-1*t79*t83
705      t111 = t69*t110
706      vsigmabb(i) = -0.42D-2*t21*t29+0.42D-2*t22*t111
707      t117 = 1/t4/t44
708      t124 = 1/t39/t14
709      t125 = t57**2
710      t132 = t33**2
711      t138 = sigmaaa**2
712      t144 = 1/t53/t52
713      v2rhoa2(i) = -0.4135669939329333D0/t45-0.1306666666666667D-1
714     #*t117*sigmaaa*t15-0.112D-1*t36*t58-0.84D-2*t8*t124*t125+0.42D-2
715     #*t8*t40*(0.784D-1*t9*t117*t11+0.168D0*sigmaaa/t45/t132*t54
716     #-0.448D-1*t138/t4/t132/t44*t144)
717      t154 = 1/t18/t73
718      t161 = 1/t68/t28
719      t162 = t86**2
720      t169 = t62**2
721      t175 = sigmabb**2
722      t181 = 1/t82/t81
723      v2rhob2(i) = -0.4135669939329333D0/t74-0.1306666666666667D-1
724     #*t154*sigmabb*t29-0.112D-1*t65*t87-0.84D-2*t22*t161*t162+0.42D-2
725     #*t22*t69*(0.784D-1*t23*t154*t25+0.168D0*sigmabb/t74/t169*t83
726     #-0.448D-1*t175/t18/t169/t73*t181)
727      v2rhoab(i) = 0.D0
728      t192 = t7*t40
729      v2rhoasigmaaa(i) = 0.56D-2*t35*t15-0.56D-2*t36*t99+0.42D-2*t192
730     #*t57-0.84D-2*t8*t124*t57*t98+0.42D-2*t8*t40*(-0.168D-1*t92*t35
731     #*t11-0.504D-1*t47*t54+0.168D-1*sigmaaa/t4/t132/t33*t144)
732      v2rhoasigmaab(i) = 0.D0
733      v2rhoasigmabb(i) = 0.D0
734      v2rhobsigmaaa(i) = 0.D0
735      v2rhobsigmaab(i) = 0.D0
736      t218 = t21*t69
737      v2rhobsigmabb(i) = 0.56D-2*t64*t29-0.56D-2*t65*t111+0.42D-2*t218
738     #*t86-0.84D-2*t22*t161*t86*t110+0.42D-2*t22*t69*(-0.168D-1*t104
739     #*t64*t25-0.504D-1*t76*t83+0.168D-1*sigmabb/t18/t169/t62*t181)
740      t242 = t98**2
741      v2sigmaaa2(i) = 0.84D-2*t192*t98-0.84D-2*t8*t124*t242+0.42D-2*t8
742     #*t40*(-0.63D-2/t9/sigmaaa*t7*t11+0.63D-2/sigmaaa*t50*t54-0.63D-2
743     #/t4/t132/rhoa*t144)
744      v2sigmaaaab(i) = 0.D0
745      v2sigmaaabb(i) = 0.D0
746      v2sigmaab2(i) = 0.D0
747      v2sigmaabbb(i) = 0.D0
748      t266 = t110**2
749      v2sigmabb2(i) = 0.84D-2*t218*t110-0.84D-2*t22*t161*t266+0.42D-2
750     #*t22*t69*(-0.63D-2/t23/sigmabb*t21*t25+0.63D-2/sigmabb*t79*t83
751     #-0.63D-2/t18/t169/rhob*t181)
752      endif ! rhoa,rhob
753      else ! rho
754      zk(i) = 0.0d0
755      vrhoa(i) = 0.0d0
756      vrhob(i) = 0.0d0
757      v2rhoa2(i) = 0.0d0
758      v2rhob2(i) = 0.0d0
759      v2rhoab(i) = 0.0d0
760      vsigmaaa(i) = 0.0d0
761      vsigmaab(i) = 0.0d0
762      vsigmabb(i) = 0.0d0
763      v2rhoasigmaaa(i) = 0.0d0
764      v2rhoasigmaab(i) = 0.0d0
765      v2rhoasigmabb(i) = 0.0d0
766      v2rhobsigmaaa(i) = 0.0d0
767      v2rhobsigmaab(i) = 0.0d0
768      v2rhobsigmabb(i) = 0.0d0
769      v2sigmaaa2(i) = 0.0d0
770      v2sigmaab2(i) = 0.0d0
771      v2sigmabb2(i) = 0.0d0
772      v2sigmaaaab(i) = 0.0d0
773      v2sigmaaabb(i) = 0.0d0
774      v2sigmaabbb(i) = 0.0d0
775      endif ! rho
776      enddo
777
778      endif ! ideriv
779      return
780      end
781
782
783      subroutine rks_x_b88
784     & (ideriv,npt,rhoa1,sigmaaa1,
785     &  zk,vrhoa,vsigmaaa,
786     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
787c
788c     A.D. Becke
789c     Density-functional exchange-energy approximation with correct
790c     asymptotic behaviour
791c     Phys. Rev. A38 (1988) 3098-3100
792c
793c
794c     CITATION:
795c
796c     Functionals were obtained from the Density Functional Repository
797c     as developed and distributed by the Quantum Chemistry Group,
798c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
799c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
800c     Paul Sherwood for further information.
801c
802c     COPYRIGHT:
803c
804c     Users may incorporate the source code into software packages and
805c     redistribute the source code provided the source code is not
806c     changed in anyway and is properly cited in any documentation or
807c     publication related to its use.
808c
809c     ACKNOWLEDGEMENT:
810c
811c     The source code was generated using Maple 8 through a modified
812c     version of the dfauto script published in:
813c
814c        R. Strange, F.R. Manby, P.J. Knowles
815c        Automatic code generation in density functional theory
816c        Comp. Phys. Comm. 136 (2001) 310-318.
817c
818      implicit real*8 (a-h,o-z)
819      integer ideriv,npt
820      real*8 rhoa1(npt)
821      real*8 sigmaaa1(npt)
822      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
823      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
824      parameter(tol=1.0d-20)
825
826      if(ideriv.eq.0) then
827
828      do i=1,npt
829      rho = dmax1(0.D0,rhoa1(i))
830      if(rho.gt.tol) then
831      sigma = dmax1(0.D0,sigmaaa1(i))
832      t2 = rho**(1.D0/3.D0)
833      t3 = t2*rho
834      t5 = 1/t3
835      t7 = dsqrt(sigma)
836      t8 = t7*t5
837      t10 = dlog(0.1259921049894873D1*t8+dsqrt(1+0.1587401051968199D1
838     #*t8**2))
839      zk(i) = -0.7385587663820224D0*t3-0.5291668409558467D-2*t5*sigma/
840     #(1.D0+0.317500104573508D-1*t8*t10)
841      else ! rho
842      zk(i) = 0.0d0
843      endif ! rho
844      enddo
845
846      else if(ideriv.eq.1) then
847
848      do i=1,npt
849      rho = dmax1(0.D0,rhoa1(i))
850      if(rho.gt.tol) then
851      sigma = dmax1(0.D0,sigmaaa1(i))
852      t2 = rho**(1.D0/3.D0)
853      t3 = t2*rho
854      t5 = 1/t3
855      t6 = t5*sigma
856      t7 = dsqrt(sigma)
857      t8 = t7*t5
858      t10 = dlog(0.1259921049894873D1*t8+dsqrt(1+0.1587401051968199D1
859     #*t8**2))
860      t13 = 1.D0+0.317500104573508D-1*t8*t10
861      t14 = 1/t13
862      zk(i) = -0.7385587663820224D0*t3-0.5291668409558467D-2*t6*t14
863      t18 = rho**2
864      t20 = 1/t2/t18
865      t24 = t13**2
866      t25 = 1/t24
867      t30 = t2**2
868      t35 = 1/t30/t18
869      t39 = dsqrt(1.D0+0.1587401051968199D1*sigma*t35)
870      t40 = 1/t39
871      vrhoa(i) = -0.9847450218426965D0*t2+0.705555787941129D-2*t20
872     #*sigma*t14+0.2645834204779234D-2*t6*t25*(-0.8466669455293548D-1
873     #*t7*t20*t10-0.106673350692263D0*sigma/t30/t18/rho*t40)
874      vsigmaaa(i) = -0.2116667363823387D-1*t5*t14
875     #+0.5291668409558467D-2*t6*t25*(0.6350002091470161D-1/t7*t5*t10
876     #+0.8000501301919725D-1*t35*t40)
877      else ! rho
878      zk(i) = 0.0d0
879      vrhoa(i) = 0.0d0
880      vsigmaaa(i) = 0.0d0
881      endif ! rho
882      enddo
883
884      else if(ideriv.eq.2) then
885
886      do i=1,npt
887      rho = dmax1(0.D0,rhoa1(i))
888      if(rho.gt.tol) then
889      sigma = dmax1(0.D0,sigmaaa1(i))
890      t2 = rho**(1.D0/3.D0)
891      t3 = t2*rho
892      t5 = 1/t3
893      t6 = t5*sigma
894      t7 = dsqrt(sigma)
895      t8 = t7*t5
896      t10 = dlog(0.1259921049894873D1*t8+dsqrt(1+0.1587401051968199D1
897     #*t8**2))
898      t13 = 1.D0+0.317500104573508D-1*t8*t10
899      t14 = 1/t13
900      zk(i) = -0.7385587663820224D0*t3-0.5291668409558467D-2*t6*t14
901      t18 = rho**2
902      t20 = 1/t2/t18
903      t21 = t20*sigma
904      t24 = t13**2
905      t25 = 1/t24
906      t29 = t18*rho
907      t30 = t2**2
908      t32 = 1/t30/t29
909      t35 = 1/t30/t18
910      t38 = 1.D0+0.1587401051968199D1*sigma*t35
911      t39 = dsqrt(t38)
912      t40 = 1/t39
913      t43 = -0.8466669455293548D-1*t7*t20*t10-0.106673350692263D0
914     #*sigma*t32*t40
915      t44 = t25*t43
916      vrhoa(i) = -0.9847450218426965D0*t2+0.705555787941129D-2*t21*t14
917     #+0.2645834204779234D-2*t6*t44
918      t49 = 1/t7
919      t55 = 0.6350002091470161D-1*t49*t5*t10+0.8000501301919725D-1*t35
920     #*t40
921      t56 = t25*t55
922      vsigmaaa(i) = -0.2116667363823387D-1*t5*t14
923     #+0.5291668409558467D-2*t6*t56
924      t62 = 1/t2/t29
925      t69 = 1/t24/t13
926      t70 = t43**2
927      t77 = t18**2
928      t83 = sigma**2
929      t89 = 1/t39/t38
930      v2rhoa2(i) = -0.6564966812284644D0/t30-0.3292593677058602D-1*t62
931     #*sigma*t14-0.1411111575882258D-1*t21*t44-0.5291668409558467D-2
932     #*t6*t69*t70+0.2645834204779234D-2*t6*t25*(0.3951112412470322D0
933     #*t7*t62*t10+0.106673350692263D1*sigma/t30/t77*t40
934     #-0.4515557042823225D0*t83/t2/t77/t29*t89)
935      t100 = t5*t25
936      v2rhoasigmaaa(i) = 0.2822223151764516D-1*t20*t14
937     #-0.705555787941129D-2*t21*t56+0.1058333681911693D-1*t100*t43
938     #-0.5291668409558467D-2*t6*t69*t43*t55+0.2645834204779234D-2*t6
939     #*t25*(-0.169333389105871D0*t49*t20*t10-0.640040104153578D0*t32
940     #*t40+0.3386667782117419D0*sigma/t2/t77/t18*t89)
941      t124 = t55**2
942      v2sigmaaa2(i) = 0.4233334727646774D-1*t100*t55
943     #-0.1058333681911693D-1*t6*t69*t124+0.5291668409558467D-2*t6*t25*
944     #(-0.1270000418294032D0/t7/sigma*t5*t10+0.1600100260383945D0
945     #/sigma*t35*t40-0.2540000836588064D0/t2/t77/rho*t89)
946      else ! rho
947      zk(i) = 0.0d0
948      vrhoa(i) = 0.0d0
949      v2rhoa2(i) = 0.0d0
950      vsigmaaa(i) = 0.0d0
951      v2rhoasigmaaa(i) = 0.0d0
952      v2sigmaaa2(i) = 0.0d0
953      endif ! rho
954      enddo
955
956      endif ! ideriv
957      return
958      end
959
960
961      subroutine uks_x_pbe
962     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
963     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
964     &  v2rhoa2,v2rhob2,v2rhoab,
965     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
966     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
967     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
968     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
969c
970c     J.P. Perdew, K. Burke, and M. Ernzerhof
971c     Generalized gradient approximation made simple
972c     Phys. Rev. Lett. 77 (1996) 3865-3868
973c
974c
975c     CITATION:
976c
977c     Functionals were obtained from the Density Functional Repository
978c     as developed and distributed by the Quantum Chemistry Group,
979c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
980c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
981c     Paul Sherwood for further information.
982c
983c     COPYRIGHT:
984c
985c     Users may incorporate the source code into software packages and
986c     redistribute the source code provided the source code is not
987c     changed in anyway and is properly cited in any documentation or
988c     publication related to its use.
989c
990c     ACKNOWLEDGEMENT:
991c
992c     The source code was generated using Maple 8 through a modified
993c     version of the dfauto script published in:
994c
995c        R. Strange, F.R. Manby, P.J. Knowles
996c        Automatic code generation in density functional theory
997c        Comp. Phys. Comm. 136 (2001) 310-318.
998c
999      implicit real*8 (a-h,o-z)
1000      integer ideriv,npt
1001      real*8 rhoa1(npt),rhob1(npt)
1002      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
1003      real*8 zk(npt),vrhoa(npt),vrhob(npt)
1004      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
1005      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
1006      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
1007      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
1008      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
1009      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
1010      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
1011      parameter(tol=1.0d-20)
1012
1013      if (ideriv.eq.0) then
1014
1015      do i=1,npt
1016      rhoa = dmax1(0.D0,rhoa1(i))
1017      rhob = dmax1(0.D0,rhob1(i))
1018      rho = rhoa+rhob
1019      if(rho.gt.tol) then
1020      if(rhoa.lt.tol) then
1021      rho = rhob
1022      sigmabb = dmax1(0.D0,sigmabb1(i))
1023      sigma = sigmabb
1024      t2 = rhob**(1.D0/3.D0)
1025      t4 = rhob**2
1026      t5 = t2**2
1027      zk(i) = -0.9305257363491D0*t2*rhob*(0.1804D1-0.804D0/(1.D0
1028     #+0.449276922095889D-2*sigmabb/t5/t4))
1029      elseif(rhob.lt.tol) then
1030      rho = rhoa
1031      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1032      sigma = sigmaaa
1033      t2 = rhoa**(1.D0/3.D0)
1034      t4 = rhoa**2
1035      t5 = t2**2
1036      zk(i) = -0.9305257363491D0*t2*rhoa*(0.1804D1-0.804D0/(1.D0
1037     #+0.449276922095889D-2*sigmaaa/t5/t4))
1038      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1039      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1040      sigmaab = sigmaab1(i)
1041      sigmabb = dmax1(0.D0,sigmabb1(i))
1042      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1043      t4 = rhoa**(1.D0/3.D0)
1044      t6 = rhoa**2
1045      t7 = t4**2
1046      t18 = rhob**(1.D0/3.D0)
1047      t20 = rhob**2
1048      t21 = t18**2
1049      zk(i) = -0.9305257363491D0*t4*rhoa*(0.1804D1-0.804D0/(1.D0
1050     #+0.449276922095889D-2*sigmaaa/t7/t6))-0.9305257363491D0*t18*rhob
1051     #*(0.1804D1-0.804D0/(1.D0+0.449276922095889D-2*sigmabb/t21/t20))
1052      endif ! rhoa,rhob
1053      else ! rho
1054      zk(i) = 0.0d0
1055      endif ! rho
1056      enddo
1057
1058      else if(ideriv.eq.1) then
1059
1060      do i=1,npt
1061      rhoa = dmax1(0.D0,rhoa1(i))
1062      rhob = dmax1(0.D0,rhob1(i))
1063      rho = rhoa+rhob
1064      if(rho.gt.tol) then
1065      if(rhoa.lt.tol) then
1066      rho = rhob
1067      sigmabb = dmax1(0.D0,sigmabb1(i))
1068      sigma = sigmabb
1069      t2 = rhob**(1.D0/3.D0)
1070      t3 = t2*rhob
1071      t4 = rhob**2
1072      t5 = t2**2
1073      t10 = 1.D0+0.449276922095889D-2*sigmabb/t5/t4
1074      t13 = 0.1804D1-0.804D0/t10
1075      zk(i) = -0.9305257363491D0*t3*t13
1076      vrhoa(i) = 0.D0
1077      t20 = t10**2
1078      t21 = 1/t20
1079      vrhob(i) = -0.12407009817988D1*t2*t13+0.8963286558970112D-2/t2
1080     #/t4*t21*sigmabb
1081      vsigmaaa(i) = 0.D0
1082      vsigmaab(i) = 0.D0
1083      vsigmabb(i) = -0.3361232459613792D-2/t3*t21
1084      elseif(rhob.lt.tol) then
1085      rho = rhoa
1086      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1087      sigma = sigmaaa
1088      t2 = rhoa**(1.D0/3.D0)
1089      t3 = t2*rhoa
1090      t4 = rhoa**2
1091      t5 = t2**2
1092      t10 = 1.D0+0.449276922095889D-2*sigmaaa/t5/t4
1093      t13 = 0.1804D1-0.804D0/t10
1094      zk(i) = -0.9305257363491D0*t3*t13
1095      t20 = t10**2
1096      t21 = 1/t20
1097      vrhoa(i) = -0.12407009817988D1*t2*t13+0.8963286558970112D-2/t2
1098     #/t4*t21*sigmaaa
1099      vrhob(i) = 0.D0
1100      vsigmaaa(i) = -0.3361232459613792D-2/t3*t21
1101      vsigmaab(i) = 0.D0
1102      vsigmabb(i) = 0.D0
1103      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1104      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1105      sigmaab = sigmaab1(i)
1106      sigmabb = dmax1(0.D0,sigmabb1(i))
1107      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1108      t4 = rhoa**(1.D0/3.D0)
1109      t5 = t4*rhoa
1110      t6 = rhoa**2
1111      t7 = t4**2
1112      t12 = 1.D0+0.449276922095889D-2*sigmaaa/t7/t6
1113      t15 = 0.1804D1-0.804D0/t12
1114      t18 = rhob**(1.D0/3.D0)
1115      t19 = t18*rhob
1116      t20 = rhob**2
1117      t21 = t18**2
1118      t26 = 1.D0+0.449276922095889D-2*sigmabb/t21/t20
1119      t29 = 0.1804D1-0.804D0/t26
1120      zk(i) = -0.9305257363491D0*t5*t15-0.9305257363491D0*t19*t29
1121      t36 = t12**2
1122      t37 = 1/t36
1123      vrhoa(i) = -0.12407009817988D1*t4*t15+0.8963286558970112D-2/t4
1124     #/t6*t37*sigmaaa
1125      t45 = t26**2
1126      t46 = 1/t45
1127      vrhob(i) = -0.12407009817988D1*t18*t29+0.8963286558970112D-2/t18
1128     #/t20*t46*sigmabb
1129      vsigmaaa(i) = -0.3361232459613792D-2/t5*t37
1130      vsigmaab(i) = 0.D0
1131      vsigmabb(i) = -0.3361232459613792D-2/t19*t46
1132      endif ! rhoa,rhob
1133      else ! rho
1134      zk(i) = 0.0d0
1135      vrhoa(i) = 0.0d0
1136      vrhob(i) = 0.0d0
1137      vsigmaaa(i) = 0.0d0
1138      vsigmaab(i) = 0.0d0
1139      vsigmabb(i) = 0.0d0
1140      endif ! rho
1141      enddo
1142
1143      else if(ideriv.eq.2) then
1144
1145      do i=1,npt
1146      rhoa = dmax1(0.D0,rhoa1(i))
1147      rhob = dmax1(0.D0,rhob1(i))
1148      rho = rhoa+rhob
1149      if(rho.gt.tol) then
1150      if(rhoa.lt.tol) then
1151      rho = rhob
1152      sigmabb = dmax1(0.D0,sigmabb1(i))
1153      sigma = sigmabb
1154      t2 = rhob**(1.D0/3.D0)
1155      t3 = t2*rhob
1156      t4 = rhob**2
1157      t5 = t2**2
1158      t10 = 1.D0+0.449276922095889D-2*sigmabb/t5/t4
1159      t13 = 0.1804D1-0.804D0/t10
1160      zk(i) = -0.9305257363491D0*t3*t13
1161      vrhoa(i) = 0.D0
1162      t20 = t10**2
1163      t21 = 1/t20
1164      vrhob(i) = -0.12407009817988D1*t2*t13+0.8963286558970112D-2/t2
1165     #/t4*t21*sigmabb
1166      vsigmaaa(i) = 0.D0
1167      vsigmaab(i) = 0.D0
1168      vsigmabb(i) = -0.3361232459613792D-2/t3*t21
1169      v2rhoa2(i) = 0.D0
1170      v2rhoab(i) = 0.D0
1171      t37 = t4**2
1172      t41 = 1/t20/t10
1173      t43 = sigmabb**2
1174      v2rhob2(i) = -0.4135669939329333D0/t5*t13-0.8963286558970112D-2
1175     #/t2/t4/rhob*t21*sigmabb+0.2147732158441357D-3/t37/t4*t41*t43
1176      v2sigmaaa2(i) = 0.D0
1177      v2sigmaaaab(i) = 0.D0
1178      v2sigmaaabb(i) = 0.D0
1179      v2sigmaab2(i) = 0.D0
1180      v2sigmaabbb(i) = 0.D0
1181      v2sigmabb2(i) = 0.3020248347808158D-4/t37*t41
1182      elseif(rhob.lt.tol) then
1183      rho = rhoa
1184      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1185      sigma = sigmaaa
1186      t2 = rhoa**(1.D0/3.D0)
1187      t3 = t2*rhoa
1188      t4 = rhoa**2
1189      t5 = t2**2
1190      t10 = 1.D0+0.449276922095889D-2*sigmaaa/t5/t4
1191      t13 = 0.1804D1-0.804D0/t10
1192      zk(i) = -0.9305257363491D0*t3*t13
1193      t20 = t10**2
1194      t21 = 1/t20
1195      vrhoa(i) = -0.12407009817988D1*t2*t13+0.8963286558970112D-2/t2
1196     #/t4*t21*sigmaaa
1197      vrhob(i) = 0.D0
1198      vsigmaaa(i) = -0.3361232459613792D-2/t3*t21
1199      vsigmaab(i) = 0.D0
1200      vsigmabb(i) = 0.D0
1201      t37 = t4**2
1202      t41 = 1/t20/t10
1203      t43 = sigmaaa**2
1204      v2rhoa2(i) = -0.4135669939329333D0/t5*t13-0.8963286558970112D-2
1205     #/t2/t4/rhoa*t21*sigmaaa+0.2147732158441357D-3/t37/t4*t41*t43
1206      v2rhob2(i) = 0.D0
1207      v2rhoab(i) = 0.D0
1208      v2sigmaaa2(i) = 0.3020248347808158D-4/t37*t41
1209      v2sigmaaaab(i) = 0.D0
1210      v2sigmaaabb(i) = 0.D0
1211      v2sigmaab2(i) = 0.D0
1212      v2sigmaabbb(i) = 0.D0
1213      v2sigmabb2(i) = 0.D0
1214      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1215      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1216      sigmaab = sigmaab1(i)
1217      sigmabb = dmax1(0.D0,sigmabb1(i))
1218      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1219      t4 = rhoa**(1.D0/3.D0)
1220      t5 = t4*rhoa
1221      t6 = rhoa**2
1222      t7 = t4**2
1223      t12 = 1.D0+0.449276922095889D-2*sigmaaa/t7/t6
1224      t15 = 0.1804D1-0.804D0/t12
1225      t18 = rhob**(1.D0/3.D0)
1226      t19 = t18*rhob
1227      t20 = rhob**2
1228      t21 = t18**2
1229      t26 = 1.D0+0.449276922095889D-2*sigmabb/t21/t20
1230      t29 = 0.1804D1-0.804D0/t26
1231      zk(i) = -0.9305257363491D0*t5*t15-0.9305257363491D0*t19*t29
1232      t36 = t12**2
1233      t37 = 1/t36
1234      t38 = 1/t4/t6*t37
1235      vrhoa(i) = -0.12407009817988D1*t4*t15+0.8963286558970112D-2*t38
1236     #*sigmaaa
1237      t45 = t26**2
1238      t46 = 1/t45
1239      t47 = 1/t18/t20*t46
1240      vrhob(i) = -0.12407009817988D1*t18*t29+0.8963286558970112D-2*t47
1241     #*sigmabb
1242      vsigmaaa(i) = -0.3361232459613792D-2/t5*t37
1243      vsigmaab(i) = 0.D0
1244      vsigmabb(i) = -0.3361232459613792D-2/t19*t46
1245      t65 = t6**2
1246      t69 = 1/t36/t12
1247      t71 = sigmaaa**2
1248      v2rhoa2(i) = -0.4135669939329333D0/t7*t15-0.8963286558970112D-2
1249     #/t4/t6/rhoa*t37*sigmaaa+0.2147732158441357D-3/t65/t6*t69*t71
1250      t83 = t20**2
1251      t87 = 1/t45/t26
1252      t89 = sigmabb**2
1253      v2rhob2(i) = -0.4135669939329333D0/t21*t29-0.8963286558970112D-2
1254     #/t18/t20/rhob*t46*sigmabb+0.2147732158441357D-3/t83/t20*t87*t89
1255      v2rhoab(i) = 0.D0
1256      v2rhoasigmaaa(i) = 0.4481643279485056D-2*t38
1257     #-0.8053995594155087D-4/t65/rhoa*t69*sigmaaa
1258      v2rhoasigmaab(i) = 0.D0
1259      v2rhoasigmabb(i) = 0.D0
1260      v2rhobsigmaaa(i) = 0.D0
1261      v2rhobsigmaab(i) = 0.D0
1262      v2rhobsigmabb(i) = 0.4481643279485056D-2*t47
1263     #-0.8053995594155087D-4/t83/rhob*t87*sigmabb
1264      v2sigmaaa2(i) = 0.3020248347808158D-4/t65*t69
1265      v2sigmaaaab(i) = 0.D0
1266      v2sigmaaabb(i) = 0.D0
1267      v2sigmaab2(i) = 0.D0
1268      v2sigmaabbb(i) = 0.D0
1269      v2sigmabb2(i) = 0.3020248347808158D-4/t83*t87
1270      endif ! rhoa,rhob
1271      else ! rho
1272      zk(i) = 0.0d0
1273      vrhoa(i) = 0.0d0
1274      vrhob(i) = 0.0d0
1275      v2rhoa2(i) = 0.0d0
1276      v2rhob2(i) = 0.0d0
1277      v2rhoab(i) = 0.0d0
1278      vsigmaaa(i) = 0.0d0
1279      vsigmaab(i) = 0.0d0
1280      vsigmabb(i) = 0.0d0
1281      v2rhoasigmaaa(i) = 0.0d0
1282      v2rhoasigmaab(i) = 0.0d0
1283      v2rhoasigmabb(i) = 0.0d0
1284      v2rhobsigmaaa(i) = 0.0d0
1285      v2rhobsigmaab(i) = 0.0d0
1286      v2rhobsigmabb(i) = 0.0d0
1287      v2sigmaaa2(i) = 0.0d0
1288      v2sigmaab2(i) = 0.0d0
1289      v2sigmabb2(i) = 0.0d0
1290      v2sigmaaaab(i) = 0.0d0
1291      v2sigmaaabb(i) = 0.0d0
1292      v2sigmaabbb(i) = 0.0d0
1293      endif ! rho
1294      enddo
1295
1296      endif ! ideriv
1297      return
1298      end
1299
1300
1301      subroutine rks_x_pbe
1302     & (ideriv,npt,rhoa1,sigmaaa1,
1303     &  zk,vrhoa,vsigmaaa,
1304     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
1305c
1306c     J.P. Perdew, K. Burke, and M. Ernzerhof
1307c     Generalized gradient approximation made simple
1308c     Phys. Rev. Lett. 77 (1996) 3865-3868
1309c
1310c
1311c     CITATION:
1312c
1313c     Functionals were obtained from the Density Functional Repository
1314c     as developed and distributed by the Quantum Chemistry Group,
1315c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
1316c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
1317c     Paul Sherwood for further information.
1318c
1319c     COPYRIGHT:
1320c
1321c     Users may incorporate the source code into software packages and
1322c     redistribute the source code provided the source code is not
1323c     changed in anyway and is properly cited in any documentation or
1324c     publication related to its use.
1325c
1326c     ACKNOWLEDGEMENT:
1327c
1328c     The source code was generated using Maple 8 through a modified
1329c     version of the dfauto script published in:
1330c
1331c        R. Strange, F.R. Manby, P.J. Knowles
1332c        Automatic code generation in density functional theory
1333c        Comp. Phys. Comm. 136 (2001) 310-318.
1334c
1335      implicit real*8 (a-h,o-z)
1336      integer ideriv,npt
1337      real*8 rhoa1(npt)
1338      real*8 sigmaaa1(npt)
1339      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
1340      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
1341      parameter(tol=1.0d-20)
1342
1343      if(ideriv.eq.0) then
1344
1345      do i=1,npt
1346      rho = dmax1(0.D0,rhoa1(i))
1347      if(rho.gt.tol) then
1348      sigma = dmax1(0.D0,sigmaaa1(i))
1349      t2 = rho**(1.D0/3.D0)
1350      t4 = rho**2
1351      t5 = t2**2
1352      zk(i) = -0.7385587663820224D0*t2*rho*(0.1804D1-0.804D0/(1.D0
1353     #+0.7131826587600489D-2*sigma/t5/t4))
1354      else ! rho
1355      zk(i) = 0.0d0
1356      endif ! rho
1357      enddo
1358
1359      else if(ideriv.eq.1) then
1360
1361      do i=1,npt
1362      rho = dmax1(0.D0,rhoa1(i))
1363      if(rho.gt.tol) then
1364      sigma = dmax1(0.D0,sigmaaa1(i))
1365      t2 = rho**(1.D0/3.D0)
1366      t3 = t2*rho
1367      t4 = rho**2
1368      t5 = t2**2
1369      t10 = 1.D0+0.7131826587600489D-2*sigma/t5/t4
1370      t13 = 0.1804D1-0.804D0/t10
1371      zk(i) = -0.7385587663820224D0*t3*t13
1372      t20 = t10**2
1373      t21 = 1/t20
1374      vrhoa(i) = -0.9847450218426965D0*t2*t13+0.1129303341188623D-1/t2
1375     #/t4*t21*sigma
1376      vsigmaaa(i) = -0.1693955011782934D-1/t3*t21
1377      else ! rho
1378      zk(i) = 0.0d0
1379      vrhoa(i) = 0.0d0
1380      vsigmaaa(i) = 0.0d0
1381      endif ! rho
1382      enddo
1383
1384      else if(ideriv.eq.2) then
1385
1386      do i=1,npt
1387      rho = dmax1(0.D0,rhoa1(i))
1388      if(rho.gt.tol) then
1389      sigma = dmax1(0.D0,sigmaaa1(i))
1390      t2 = rho**(1.D0/3.D0)
1391      t3 = t2*rho
1392      t4 = rho**2
1393      t5 = t2**2
1394      t10 = 1.D0+0.7131826587600489D-2*sigma/t5/t4
1395      t13 = 0.1804D1-0.804D0/t10
1396      zk(i) = -0.7385587663820224D0*t3*t13
1397      t20 = t10**2
1398      t21 = 1/t20
1399      t22 = 1/t2/t4*t21
1400      vrhoa(i) = -0.9847450218426965D0*t2*t13+0.1129303341188623D-1
1401     #*t22*sigma
1402      vsigmaaa(i) = -0.1693955011782934D-1/t3*t21
1403      t37 = t4**2
1404      t41 = 1/t20/t10
1405      t43 = sigma**2
1406      v2rhoa2(i) = -0.6564966812284644D0/t5*t13-0.2258606682377246D-1
1407     #/t2/t4/rho*t21*sigma+0.8590928633765426D-3/t37/t4*t41*t43
1408      v2rhoasigmaaa(i) = 0.2258606682377246D-1*t22
1409     #-0.644319647532407D-3/t37/rho*t41*sigma
1410      v2sigmaaa2(i) = 0.9664794712986105D-3/t37*t41
1411      else ! rho
1412      zk(i) = 0.0d0
1413      vrhoa(i) = 0.0d0
1414      v2rhoa2(i) = 0.0d0
1415      vsigmaaa(i) = 0.0d0
1416      v2rhoasigmaaa(i) = 0.0d0
1417      v2sigmaaa2(i) = 0.0d0
1418      endif ! rho
1419      enddo
1420
1421
1422      endif ! ideriv
1423      return
1424      end
1425            subroutine uks_x_pw91
1426     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
1427     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
1428     &  v2rhoa2,v2rhob2,v2rhoab,
1429     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
1430     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
1431     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
1432     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
1433c
1434c     J.P. Perdew, J.A. Chevary, S.H. Vosko, K.A. Jackson,
1435c     M.R. Pederson, D.J. Singh, C. Fiolhais
1436c     Atoms, molecules, solids and surfaces:
1437c     Applications of the generalized gradient approximation
1438c     for exchange and correlation
1439c     Phys. Rev. B 46 (1992) 6671--6687
1440c
1441c
1442c     CITATION:
1443c
1444c     Functionals were obtained from the Density Functional Repository
1445c     as developed and distributed by the Quantum Chemistry Group,
1446c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
1447c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
1448c     Paul Sherwood for further information.
1449c
1450c     COPYRIGHT:
1451c
1452c     Users may incorporate the source code into software packages and
1453c     redistribute the source code provided the source code is not
1454c     changed in anyway and is properly cited in any documentation or
1455c     publication related to its use.
1456c
1457c     ACKNOWLEDGEMENT:
1458c
1459c     The source code was generated using Maple 8 through a modified
1460c     version of the dfauto script published in:
1461c
1462c        R. Strange, F.R. Manby, P.J. Knowles
1463c        Automatic code generation in density functional theory
1464c        Comp. Phys. Comm. 136 (2001) 310-318.
1465c
1466      implicit real*8 (a-h,o-z)
1467      integer ideriv,npt
1468      real*8 rhoa1(npt),rhob1(npt)
1469      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
1470      real*8 zk(npt),vrhoa(npt),vrhob(npt)
1471      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
1472      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
1473      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
1474      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
1475      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
1476      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
1477      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
1478      parameter(tol=1.0d-20)
1479
1480      if (ideriv.eq.0) then
1481
1482      do i=1,npt
1483      rhoa = dmax1(0.D0,rhoa1(i))
1484      rhob = dmax1(0.D0,rhob1(i))
1485      rho = rhoa+rhob
1486      if(rho.gt.tol) then
1487      if(rhoa.lt.tol) then
1488      rho = rhob
1489      sigmabb = dmax1(0.D0,sigmabb1(i))
1490      sigma = sigmabb
1491      t2 = rhob**(1.D0/3.D0)
1492      t3 = t2*rhob
1493      t4 = dsqrt(sigmabb)
1494      t6 = t4/t3
1495      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1496     #*2))
1497      t10 = 0.2520026100493014D-1*t6*t8
1498      t11 = rhob**2
1499      t12 = t2**2
1500      t14 = 1/t12/t11
1501      t17 = dexp(-0.1645530784602056D1*sigmabb*t14)
1502      t25 = sigmabb**2
1503      t26 = t11**2
1504      zk(i) = -0.9305257363491D0*t3*(1.D0+t10+0.1645530784602056D-1*
1505     #(0.2743D0-0.1508D0*t17)*sigmabb*t14)/(1.D0+t10
1506     #+0.1083108625229223D-5*t25/t2/t26/rhob)
1507      elseif(rhob.lt.tol) then
1508      rho = rhoa
1509      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1510      sigma = sigmaaa
1511      t2 = rhoa**(1.D0/3.D0)
1512      t3 = t2*rhoa
1513      t4 = dsqrt(sigmaaa)
1514      t6 = t4/t3
1515      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1516     #*2))
1517      t10 = 0.2520026100493014D-1*t6*t8
1518      t11 = rhoa**2
1519      t12 = t2**2
1520      t14 = 1/t12/t11
1521      t17 = dexp(-0.1645530784602056D1*sigmaaa*t14)
1522      t25 = sigmaaa**2
1523      t26 = t11**2
1524      zk(i) = -0.9305257363491D0*t3*(1.D0+t10+0.1645530784602056D-1*
1525     #(0.2743D0-0.1508D0*t17)*sigmaaa*t14)/(1.D0+t10
1526     #+0.1083108625229223D-5*t25/t2/t26/rhoa)
1527      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1528      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1529      sigmaab = sigmaab1(i)
1530      sigmabb = dmax1(0.D0,sigmabb1(i))
1531      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1532      t4 = rhoa**(1.D0/3.D0)
1533      t5 = t4*rhoa
1534      t6 = dsqrt(sigmaaa)
1535      t8 = t6/t5
1536      t10 = dlog(0.1000005877780776D1*t8+dsqrt(1+0.10000117555961D1*t8
1537     #**2))
1538      t12 = 0.2520026100493014D-1*t8*t10
1539      t13 = rhoa**2
1540      t14 = t4**2
1541      t16 = 1/t14/t13
1542      t19 = dexp(-0.1645530784602056D1*sigmaaa*t16)
1543      t27 = sigmaaa**2
1544      t28 = t13**2
1545      t38 = rhob**(1.D0/3.D0)
1546      t39 = t38*rhob
1547      t40 = dsqrt(sigmabb)
1548      t42 = t40/t39
1549      t44 = dlog(0.1000005877780776D1*t42+dsqrt(1+0.10000117555961D1
1550     #*t42**2))
1551      t46 = 0.2520026100493014D-1*t42*t44
1552      t47 = rhob**2
1553      t48 = t38**2
1554      t50 = 1/t48/t47
1555      t53 = dexp(-0.1645530784602056D1*sigmabb*t50)
1556      t61 = sigmabb**2
1557      t62 = t47**2
1558      zk(i) = -0.9305257363491D0*t5*(1.D0+t12+0.1645530784602056D-1*
1559     #(0.2743D0-0.1508D0*t19)*sigmaaa*t16)/(1.D0+t12
1560     #+0.1083108625229223D-5*t27/t4/t28/rhoa)-0.9305257363491D0*t39*
1561     #(1.D0+t46+0.1645530784602056D-1*(0.2743D0-0.1508D0*t53)*sigmabb
1562     #*t50)/(1.D0+t46+0.1083108625229223D-5*t61/t38/t62/rhob)
1563      endif ! rhoa,rhob
1564      else ! rho
1565      zk(i) = 0.0d0
1566      endif ! rho
1567      enddo
1568
1569      else if(ideriv.eq.1) then
1570
1571      do i=1,npt
1572      rhoa = dmax1(0.D0,rhoa1(i))
1573      rhob = dmax1(0.D0,rhob1(i))
1574      rho = rhoa+rhob
1575      if(rho.gt.tol) then
1576      if(rhoa.lt.tol) then
1577      rho = rhob
1578      sigmabb = dmax1(0.D0,sigmabb1(i))
1579      sigma = sigmabb
1580      t2 = rhob**(1.D0/3.D0)
1581      t3 = t2*rhob
1582      t4 = dsqrt(sigmabb)
1583      t5 = 1/t3
1584      t6 = t4*t5
1585      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1586     #*2))
1587      t10 = 0.2520026100493014D-1*t6*t8
1588      t11 = rhob**2
1589      t12 = t2**2
1590      t14 = 1/t12/t11
1591      t15 = sigmabb*t14
1592      t17 = dexp(-0.1645530784602056D1*t15)
1593      t19 = 0.2743D0-0.1508D0*t17
1594      t20 = t19*sigmabb
1595      t23 = 1.D0+t10+0.1645530784602056D-1*t20*t14
1596      t24 = t3*t23
1597      t25 = sigmabb**2
1598      t26 = t11**2
1599      t29 = 1/t2/t26/rhob
1600      t32 = 1.D0+t10+0.1083108625229223D-5*t25*t29
1601      t33 = 1/t32
1602      zk(i) = -0.9305257363491D0*t24*t33
1603      vrhoa(i) = 0.D0
1604      t43 = 0.3360034800657352D-1*t4/t2/t11*t8
1605      t46 = 1/t12/t11/rhob
1606      t50 = dsqrt(1.D0+0.10000117555961D1*t15)
1607      t51 = 1/t50
1608      t53 = 0.3360054550205309D-1*sigmabb*t46*t51
1609      t57 = t25/t2/t26/t11
1610      t66 = t32**2
1611      t67 = 1/t66
1612      vrhob(i) = -0.12407009817988D1*t2*t23*t33-0.9305257363491D0*t3*(
1613     #-t43-t53-0.1088885204563779D-1*t57*t17-0.4388082092272149D-1*t20
1614     #*t46)*t33+0.9305257363491D0*t24*t67*(-t43-t53
1615     #-0.5776579334555855D-5*t57)
1616      vsigmaaa(i) = 0.D0
1617      vsigmaab(i) = 0.D0
1618      t76 = 0.1260013050246507D-1/t4*t5*t8
1619      t78 = 0.1260020456326991D-1*t14*t51
1620      vsigmabb(i) = -0.9305257363491D0*t3*(t76+t78
1621     #+0.408331951711417D-2*t29*t17*sigmabb+0.1645530784602056D-1*t19
1622     #*t14)*t33+0.9305257363491D0*t24*t67*(t76+t78
1623     #+0.2166217250458446D-5*sigmabb*t29)
1624      elseif(rhob.lt.tol) then
1625      rho = rhoa
1626      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1627      sigma = sigmaaa
1628      t2 = rhoa**(1.D0/3.D0)
1629      t3 = t2*rhoa
1630      t4 = dsqrt(sigmaaa)
1631      t5 = 1/t3
1632      t6 = t4*t5
1633      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1634     #*2))
1635      t10 = 0.2520026100493014D-1*t6*t8
1636      t11 = rhoa**2
1637      t12 = t2**2
1638      t14 = 1/t12/t11
1639      t15 = sigmaaa*t14
1640      t17 = dexp(-0.1645530784602056D1*t15)
1641      t19 = 0.2743D0-0.1508D0*t17
1642      t20 = t19*sigmaaa
1643      t23 = 1.D0+t10+0.1645530784602056D-1*t20*t14
1644      t24 = t3*t23
1645      t25 = sigmaaa**2
1646      t26 = t11**2
1647      t29 = 1/t2/t26/rhoa
1648      t32 = 1.D0+t10+0.1083108625229223D-5*t25*t29
1649      t33 = 1/t32
1650      zk(i) = -0.9305257363491D0*t24*t33
1651      t43 = 0.3360034800657352D-1*t4/t2/t11*t8
1652      t46 = 1/t12/t11/rhoa
1653      t50 = dsqrt(1.D0+0.10000117555961D1*t15)
1654      t51 = 1/t50
1655      t53 = 0.3360054550205309D-1*sigmaaa*t46*t51
1656      t57 = t25/t2/t26/t11
1657      t66 = t32**2
1658      t67 = 1/t66
1659      vrhoa(i) = -0.12407009817988D1*t2*t23*t33-0.9305257363491D0*t3*(
1660     #-t43-t53-0.1088885204563779D-1*t57*t17-0.4388082092272149D-1*t20
1661     #*t46)*t33+0.9305257363491D0*t24*t67*(-t43-t53
1662     #-0.5776579334555855D-5*t57)
1663      vrhob(i) = 0.D0
1664      t76 = 0.1260013050246507D-1/t4*t5*t8
1665      t78 = 0.1260020456326991D-1*t14*t51
1666      vsigmaaa(i) = -0.9305257363491D0*t3*(t76+t78
1667     #+0.408331951711417D-2*t29*t17*sigmaaa+0.1645530784602056D-1*t19
1668     #*t14)*t33+0.9305257363491D0*t24*t67*(t76+t78
1669     #+0.2166217250458446D-5*sigmaaa*t29)
1670      vsigmaab(i) = 0.D0
1671      vsigmabb(i) = 0.D0
1672      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1673      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1674      sigmaab = sigmaab1(i)
1675      sigmabb = dmax1(0.D0,sigmabb1(i))
1676      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1677      t4 = rhoa**(1.D0/3.D0)
1678      t5 = t4*rhoa
1679      t6 = dsqrt(sigmaaa)
1680      t7 = 1/t5
1681      t8 = t6*t7
1682      t10 = dlog(0.1000005877780776D1*t8+dsqrt(1+0.10000117555961D1*t8
1683     #**2))
1684      t12 = 0.2520026100493014D-1*t8*t10
1685      t13 = rhoa**2
1686      t14 = t4**2
1687      t16 = 1/t14/t13
1688      t17 = sigmaaa*t16
1689      t19 = dexp(-0.1645530784602056D1*t17)
1690      t21 = 0.2743D0-0.1508D0*t19
1691      t22 = t21*sigmaaa
1692      t25 = 1.D0+t12+0.1645530784602056D-1*t22*t16
1693      t26 = t5*t25
1694      t27 = sigmaaa**2
1695      t28 = t13**2
1696      t31 = 1/t4/t28/rhoa
1697      t34 = 1.D0+t12+0.1083108625229223D-5*t27*t31
1698      t35 = 1/t34
1699      t38 = rhob**(1.D0/3.D0)
1700      t39 = t38*rhob
1701      t40 = dsqrt(sigmabb)
1702      t41 = 1/t39
1703      t42 = t40*t41
1704      t44 = dlog(0.1000005877780776D1*t42+dsqrt(1+0.10000117555961D1
1705     #*t42**2))
1706      t46 = 0.2520026100493014D-1*t42*t44
1707      t47 = rhob**2
1708      t48 = t38**2
1709      t50 = 1/t48/t47
1710      t51 = sigmabb*t50
1711      t53 = dexp(-0.1645530784602056D1*t51)
1712      t55 = 0.2743D0-0.1508D0*t53
1713      t56 = t55*sigmabb
1714      t59 = 1.D0+t46+0.1645530784602056D-1*t56*t50
1715      t60 = t39*t59
1716      t61 = sigmabb**2
1717      t62 = t47**2
1718      t65 = 1/t38/t62/rhob
1719      t68 = 1.D0+t46+0.1083108625229223D-5*t61*t65
1720      t69 = 1/t68
1721      zk(i) = -0.9305257363491D0*t26*t35-0.9305257363491D0*t60*t69
1722      t79 = 0.3360034800657352D-1*t6/t4/t13*t10
1723      t82 = 1/t14/t13/rhoa
1724      t86 = dsqrt(1.D0+0.10000117555961D1*t17)
1725      t87 = 1/t86
1726      t89 = 0.3360054550205309D-1*sigmaaa*t82*t87
1727      t93 = t27/t4/t28/t13
1728      t102 = t34**2
1729      t103 = 1/t102
1730      vrhoa(i) = -0.12407009817988D1*t4*t25*t35-0.9305257363491D0*t5*(
1731     #-t79-t89-0.1088885204563779D-1*t93*t19-0.4388082092272149D-1*t22
1732     #*t82)*t35+0.9305257363491D0*t26*t103*(-t79-t89
1733     #-0.5776579334555855D-5*t93)
1734      t116 = 0.3360034800657352D-1*t40/t38/t47*t44
1735      t119 = 1/t48/t47/rhob
1736      t123 = dsqrt(1.D0+0.10000117555961D1*t51)
1737      t124 = 1/t123
1738      t126 = 0.3360054550205309D-1*sigmabb*t119*t124
1739      t130 = t61/t38/t62/t47
1740      t139 = t68**2
1741      t140 = 1/t139
1742      vrhob(i) = -0.12407009817988D1*t38*t59*t69-0.9305257363491D0*t39
1743     #*(-t116-t126-0.1088885204563779D-1*t130*t53
1744     #-0.4388082092272149D-1*t56*t119)*t69+0.9305257363491D0*t60*t140*
1745     #(-t116-t126-0.5776579334555855D-5*t130)
1746      t149 = 0.1260013050246507D-1/t6*t7*t10
1747      t151 = 0.1260020456326991D-1*t16*t87
1748      vsigmaaa(i) = -0.9305257363491D0*t5*(t149+t151
1749     #+0.408331951711417D-2*t31*t19*sigmaaa+0.1645530784602056D-1*t21
1750     #*t16)*t35+0.9305257363491D0*t26*t103*(t149+t151
1751     #+0.2166217250458446D-5*sigmaaa*t31)
1752      vsigmaab(i) = 0.D0
1753      t170 = 0.1260013050246507D-1/t40*t41*t44
1754      t172 = 0.1260020456326991D-1*t50*t124
1755      vsigmabb(i) = -0.9305257363491D0*t39*(t170+t172
1756     #+0.408331951711417D-2*t65*t53*sigmabb+0.1645530784602056D-1*t55
1757     #*t50)*t69+0.9305257363491D0*t60*t140*(t170+t172
1758     #+0.2166217250458446D-5*sigmabb*t65)
1759      endif ! rhoa,rhob
1760      else ! rho
1761      zk(i) = 0.0d0
1762      vrhoa(i) = 0.0d0
1763      vrhob(i) = 0.0d0
1764      vsigmaaa(i) = 0.0d0
1765      vsigmaab(i) = 0.0d0
1766      vsigmabb(i) = 0.0d0
1767      endif ! rho
1768      enddo
1769
1770      else if(ideriv.eq.2) then
1771
1772      do i=1,npt
1773      rhoa = dmax1(0.D0,rhoa1(i))
1774      rhob = dmax1(0.D0,rhob1(i))
1775      rho = rhoa+rhob
1776      if(rho.gt.tol) then
1777      if(rhoa.lt.tol) then
1778      rho = rhob
1779      sigmabb = dmax1(0.D0,sigmabb1(i))
1780      sigma = sigmabb
1781      t2 = rhob**(1.D0/3.D0)
1782      t3 = t2*rhob
1783      t4 = dsqrt(sigmabb)
1784      t5 = 1/t3
1785      t6 = t4*t5
1786      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1787     #*2))
1788      t10 = 0.2520026100493014D-1*t6*t8
1789      t11 = rhob**2
1790      t12 = t2**2
1791      t14 = 1/t12/t11
1792      t15 = sigmabb*t14
1793      t17 = dexp(-0.1645530784602056D1*t15)
1794      t19 = 0.2743D0-0.1508D0*t17
1795      t20 = t19*sigmabb
1796      t23 = 1.D0+t10+0.1645530784602056D-1*t20*t14
1797      t24 = t3*t23
1798      t25 = sigmabb**2
1799      t26 = t11**2
1800      t29 = 1/t2/t26/rhob
1801      t32 = 1.D0+t10+0.1083108625229223D-5*t25*t29
1802      t33 = 1/t32
1803      zk(i) = -0.9305257363491D0*t24*t33
1804      vrhoa(i) = 0.D0
1805      t36 = t2*t23
1806      t43 = 0.3360034800657352D-1*t4/t2/t11*t8
1807      t44 = t11*rhob
1808      t46 = 1/t12/t44
1809      t49 = 1.D0+0.10000117555961D1*t15
1810      t50 = dsqrt(t49)
1811      t51 = 1/t50
1812      t53 = 0.3360054550205309D-1*sigmabb*t46*t51
1813      t57 = t25/t2/t26/t11
1814      t62 = -t43-t53-0.1088885204563779D-1*t57*t17
1815     #-0.4388082092272149D-1*t20*t46
1816      t63 = t3*t62
1817      t66 = t32**2
1818      t67 = 1/t66
1819      t69 = -t43-t53-0.5776579334555855D-5*t57
1820      t70 = t67*t69
1821      vrhob(i) = -0.12407009817988D1*t36*t33-0.9305257363491D0*t63*t33
1822     #+0.9305257363491D0*t24*t70
1823      vsigmaaa(i) = 0.D0
1824      vsigmaab(i) = 0.D0
1825      t76 = 0.1260013050246507D-1/t4*t5*t8
1826      t78 = 0.1260020456326991D-1*t14*t51
1827      t79 = t29*t17
1828      t85 = t3*(t76+t78+0.408331951711417D-2*t79*sigmabb
1829     #+0.1645530784602056D-1*t19*t14)
1830      t90 = t76+t78+0.2166217250458446D-5*sigmabb*t29
1831      t91 = t67*t90
1832      vsigmabb(i) = -0.9305257363491D0*t85*t33+0.9305257363491D0*t24*t91
1833      v2rhoa2(i) = 0.D0
1834      v2rhoab(i) = 0.D0
1835      t107 = 0.7840081201533821D-1*t4/t2/t44*t8
1836      t109 = 1/t12/t26
1837      t112 = 0.1680027275102654D0*sigmabb*t109*t51
1838      t116 = t25/t2/t26/t44
1839      t118 = 1/t50/t49
1840      t120 = 0.4480125399532632D-1*t116*t118
1841      t124 = t26**2
1842      t139 = 1/t66/t32
1843      t140 = t69**2
1844      v2rhob2(i) = -0.4135669939329333D0/t12*t23*t33
1845     #-0.24814019635976D1*t2*t62*t33+0.24814019635976D1*t36*t70
1846     #-0.9305257363491D0*t3*(t107+t112-t120+0.9799966841074009D-1*t116
1847     #*t17-0.4778117666686413D-1*t25*sigmabb/t124/t11*t17
1848     #+0.1608963433833121D0*t20*t109)*t33+0.18610514726982D1*t63*t70
1849     #-0.18610514726982D1*t24*t139*t140+0.9305257363491D0*t24*t67*
1850     #(t107+t112-t120+0.3658500245218708D-4*t116)
1851      v2sigmaaa2(i) = 0.D0
1852      v2sigmaaaab(i) = 0.D0
1853      v2sigmaaabb(i) = 0.D0
1854      v2sigmaab2(i) = 0.D0
1855      v2sigmaabbb(i) = 0.D0
1856      t153 = 0.6300065251232535D-2/t4/sigmabb*t5*t8
1857      t157 = 0.6300102281634954D-2/sigmabb*t14*t51
1858      t159 = 0.6300176343092764D-2*t29*t118
1859      t171 = t90**2
1860      v2sigmabb2(i) = -0.9305257363491D0*t3*(-t153+t157-t159
1861     #-0.6719227968777768D-2/t124*t17*sigmabb+0.8166639034228341D-2
1862     #*t79)*t33+0.18610514726982D1*t85*t91-0.18610514726982D1*t24*t139
1863     #*t171+0.9305257363491D0*t24*t67*(-t153+t157-t159
1864     #+0.2166217250458446D-5*t29)
1865      elseif(rhob.lt.tol) then
1866      rho = rhoa
1867      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1868      sigma = sigmaaa
1869      t2 = rhoa**(1.D0/3.D0)
1870      t3 = t2*rhoa
1871      t4 = dsqrt(sigmaaa)
1872      t5 = 1/t3
1873      t6 = t4*t5
1874      t8 = dlog(0.1000005877780776D1*t6+dsqrt(1+0.10000117555961D1*t6*
1875     #*2))
1876      t10 = 0.2520026100493014D-1*t6*t8
1877      t11 = rhoa**2
1878      t12 = t2**2
1879      t14 = 1/t12/t11
1880      t15 = sigmaaa*t14
1881      t17 = dexp(-0.1645530784602056D1*t15)
1882      t19 = 0.2743D0-0.1508D0*t17
1883      t20 = t19*sigmaaa
1884      t23 = 1.D0+t10+0.1645530784602056D-1*t20*t14
1885      t24 = t3*t23
1886      t25 = sigmaaa**2
1887      t26 = t11**2
1888      t29 = 1/t2/t26/rhoa
1889      t32 = 1.D0+t10+0.1083108625229223D-5*t25*t29
1890      t33 = 1/t32
1891      zk(i) = -0.9305257363491D0*t24*t33
1892      t36 = t2*t23
1893      t43 = 0.3360034800657352D-1*t4/t2/t11*t8
1894      t44 = t11*rhoa
1895      t46 = 1/t12/t44
1896      t49 = 1.D0+0.10000117555961D1*t15
1897      t50 = dsqrt(t49)
1898      t51 = 1/t50
1899      t53 = 0.3360054550205309D-1*sigmaaa*t46*t51
1900      t57 = t25/t2/t26/t11
1901      t62 = -t43-t53-0.1088885204563779D-1*t57*t17
1902     #-0.4388082092272149D-1*t20*t46
1903      t63 = t3*t62
1904      t66 = t32**2
1905      t67 = 1/t66
1906      t69 = -t43-t53-0.5776579334555855D-5*t57
1907      t70 = t67*t69
1908      vrhoa(i) = -0.12407009817988D1*t36*t33-0.9305257363491D0*t63*t33
1909     #+0.9305257363491D0*t24*t70
1910      vrhob(i) = 0.D0
1911      t76 = 0.1260013050246507D-1/t4*t5*t8
1912      t78 = 0.1260020456326991D-1*t14*t51
1913      t79 = t29*t17
1914      t85 = t3*(t76+t78+0.408331951711417D-2*t79*sigmaaa
1915     #+0.1645530784602056D-1*t19*t14)
1916      t90 = t76+t78+0.2166217250458446D-5*sigmaaa*t29
1917      t91 = t67*t90
1918      vsigmaaa(i) = -0.9305257363491D0*t85*t33+0.9305257363491D0*t24*t91
1919      vsigmaab(i) = 0.D0
1920      vsigmabb(i) = 0.D0
1921      t107 = 0.7840081201533821D-1*t4/t2/t44*t8
1922      t109 = 1/t12/t26
1923      t112 = 0.1680027275102654D0*sigmaaa*t109*t51
1924      t116 = t25/t2/t26/t44
1925      t118 = 1/t50/t49
1926      t120 = 0.4480125399532632D-1*t116*t118
1927      t124 = t26**2
1928      t139 = 1/t66/t32
1929      t140 = t69**2
1930      v2rhoa2(i) = -0.4135669939329333D0/t12*t23*t33
1931     #-0.24814019635976D1*t2*t62*t33+0.24814019635976D1*t36*t70
1932     #-0.9305257363491D0*t3*(t107+t112-t120+0.9799966841074009D-1*t116
1933     #*t17-0.4778117666686413D-1*t25*sigmaaa/t124/t11*t17
1934     #+0.1608963433833121D0*t20*t109)*t33+0.18610514726982D1*t63*t70
1935     #-0.18610514726982D1*t24*t139*t140+0.9305257363491D0*t24*t67*
1936     #(t107+t112-t120+0.3658500245218708D-4*t116)
1937      v2rhob2(i) = 0.D0
1938      v2rhoab(i) = 0.D0
1939      t153 = 0.6300065251232535D-2/t4/sigmaaa*t5*t8
1940      t157 = 0.6300102281634954D-2/sigmaaa*t14*t51
1941      t159 = 0.6300176343092764D-2*t29*t118
1942      t171 = t90**2
1943      v2sigmaaa2(i) = -0.9305257363491D0*t3*(-t153+t157-t159
1944     #-0.6719227968777768D-2/t124*t17*sigmaaa+0.8166639034228341D-2
1945     #*t79)*t33+0.18610514726982D1*t85*t91-0.18610514726982D1*t24*t139
1946     #*t171+0.9305257363491D0*t24*t67*(-t153+t157-t159
1947     #+0.2166217250458446D-5*t29)
1948      v2sigmaaaab(i) = 0.D0
1949      v2sigmaaabb(i) = 0.D0
1950      v2sigmaab2(i) = 0.D0
1951      v2sigmaabbb(i) = 0.D0
1952      v2sigmabb2(i) = 0.D0
1953      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
1954      sigmaaa = dmax1(0.D0,sigmaaa1(i))
1955      sigmaab = sigmaab1(i)
1956      sigmabb = dmax1(0.D0,sigmabb1(i))
1957      sigma = sigmaaa+sigmabb+2.D0*sigmaab
1958      t4 = rhoa**(1.D0/3.D0)
1959      t5 = t4*rhoa
1960      t6 = dsqrt(sigmaaa)
1961      t7 = 1/t5
1962      t8 = t6*t7
1963      t10 = dlog(0.1000005877780776D1*t8+dsqrt(1+0.10000117555961D1*t8
1964     #**2))
1965      t12 = 0.2520026100493014D-1*t8*t10
1966      t13 = rhoa**2
1967      t14 = t4**2
1968      t16 = 1/t14/t13
1969      t17 = sigmaaa*t16
1970      t19 = dexp(-0.1645530784602056D1*t17)
1971      t21 = 0.2743D0-0.1508D0*t19
1972      t22 = t21*sigmaaa
1973      t25 = 1.D0+t12+0.1645530784602056D-1*t22*t16
1974      t26 = t5*t25
1975      t27 = sigmaaa**2
1976      t28 = t13**2
1977      t31 = 1/t4/t28/rhoa
1978      t34 = 1.D0+t12+0.1083108625229223D-5*t27*t31
1979      t35 = 1/t34
1980      t38 = rhob**(1.D0/3.D0)
1981      t39 = t38*rhob
1982      t40 = dsqrt(sigmabb)
1983      t41 = 1/t39
1984      t42 = t40*t41
1985      t44 = dlog(0.1000005877780776D1*t42+dsqrt(1+0.10000117555961D1
1986     #*t42**2))
1987      t46 = 0.2520026100493014D-1*t42*t44
1988      t47 = rhob**2
1989      t48 = t38**2
1990      t50 = 1/t48/t47
1991      t51 = sigmabb*t50
1992      t53 = dexp(-0.1645530784602056D1*t51)
1993      t55 = 0.2743D0-0.1508D0*t53
1994      t56 = t55*sigmabb
1995      t59 = 1.D0+t46+0.1645530784602056D-1*t56*t50
1996      t60 = t39*t59
1997      t61 = sigmabb**2
1998      t62 = t47**2
1999      t65 = 1/t38/t62/rhob
2000      t68 = 1.D0+t46+0.1083108625229223D-5*t61*t65
2001      t69 = 1/t68
2002      zk(i) = -0.9305257363491D0*t26*t35-0.9305257363491D0*t60*t69
2003      t72 = t4*t25
2004      t76 = 1/t4/t13
2005      t79 = 0.3360034800657352D-1*t6*t76*t10
2006      t80 = t13*rhoa
2007      t82 = 1/t14/t80
2008      t85 = 1.D0+0.10000117555961D1*t17
2009      t86 = dsqrt(t85)
2010      t87 = 1/t86
2011      t89 = 0.3360054550205309D-1*sigmaaa*t82*t87
2012      t92 = 1/t4/t28/t13
2013      t93 = t27*t92
2014      t98 = -t79-t89-0.1088885204563779D-1*t93*t19
2015     #-0.4388082092272149D-1*t22*t82
2016      t99 = t5*t98
2017      t102 = t34**2
2018      t103 = 1/t102
2019      t105 = -t79-t89-0.5776579334555855D-5*t93
2020      t106 = t103*t105
2021      vrhoa(i) = -0.12407009817988D1*t72*t35-0.9305257363491D0*t99*t35
2022     #+0.9305257363491D0*t26*t106
2023      t109 = t38*t59
2024      t113 = 1/t38/t47
2025      t116 = 0.3360034800657352D-1*t40*t113*t44
2026      t117 = t47*rhob
2027      t119 = 1/t48/t117
2028      t122 = 1.D0+0.10000117555961D1*t51
2029      t123 = dsqrt(t122)
2030      t124 = 1/t123
2031      t126 = 0.3360054550205309D-1*sigmabb*t119*t124
2032      t129 = 1/t38/t62/t47
2033      t130 = t61*t129
2034      t135 = -t116-t126-0.1088885204563779D-1*t130*t53
2035     #-0.4388082092272149D-1*t56*t119
2036      t136 = t39*t135
2037      t139 = t68**2
2038      t140 = 1/t139
2039      t142 = -t116-t126-0.5776579334555855D-5*t130
2040      t143 = t140*t142
2041      vrhob(i) = -0.12407009817988D1*t109*t69-0.9305257363491D0*t136
2042     #*t69+0.9305257363491D0*t60*t143
2043      t146 = 1/t6
2044      t149 = 0.1260013050246507D-1*t146*t7*t10
2045      t151 = 0.1260020456326991D-1*t16*t87
2046      t152 = t31*t19
2047      t157 = t149+t151+0.408331951711417D-2*t152*sigmaaa
2048     #+0.1645530784602056D-1*t21*t16
2049      t158 = t5*t157
2050      t163 = t149+t151+0.2166217250458446D-5*sigmaaa*t31
2051      t164 = t103*t163
2052      vsigmaaa(i) = -0.9305257363491D0*t158*t35+0.9305257363491D0*t26
2053     #*t164
2054      vsigmaab(i) = 0.D0
2055      t167 = 1/t40
2056      t170 = 0.1260013050246507D-1*t167*t41*t44
2057      t172 = 0.1260020456326991D-1*t50*t124
2058      t173 = t65*t53
2059      t178 = t170+t172+0.408331951711417D-2*t173*sigmabb
2060     #+0.1645530784602056D-1*t55*t50
2061      t179 = t39*t178
2062      t184 = t170+t172+0.2166217250458446D-5*sigmabb*t65
2063      t185 = t140*t184
2064      vsigmabb(i) = -0.9305257363491D0*t179*t69+0.9305257363491D0*t60
2065     #*t185
2066      t201 = 0.7840081201533821D-1*t6/t4/t80*t10
2067      t203 = 1/t14/t28
2068      t206 = 0.1680027275102654D0*sigmaaa*t203*t87
2069      t210 = t27/t4/t28/t80
2070      t212 = 1/t86/t85
2071      t214 = 0.4480125399532632D-1*t210*t212
2072      t218 = t28**2
2073      t233 = 1/t102/t34
2074      t234 = t105**2
2075      v2rhoa2(i) = -0.4135669939329333D0/t14*t25*t35
2076     #-0.24814019635976D1*t4*t98*t35+0.24814019635976D1*t72*t106
2077     #-0.9305257363491D0*t5*(t201+t206-t214+0.9799966841074009D-1*t210
2078     #*t19-0.4778117666686413D-1*t27*sigmaaa/t218/t13*t19
2079     #+0.1608963433833121D0*t22*t203)*t35+0.18610514726982D1*t99*t106
2080     #-0.18610514726982D1*t26*t233*t234+0.9305257363491D0*t26*t103*
2081     #(t201+t206-t214+0.3658500245218708D-4*t210)
2082      t256 = 0.7840081201533821D-1*t40/t38/t117*t44
2083      t258 = 1/t48/t62
2084      t261 = 0.1680027275102654D0*sigmabb*t258*t124
2085      t265 = t61/t38/t62/t117
2086      t267 = 1/t123/t122
2087      t269 = 0.4480125399532632D-1*t265*t267
2088      t273 = t62**2
2089      t288 = 1/t139/t68
2090      t289 = t142**2
2091      v2rhob2(i) = -0.4135669939329333D0/t48*t59*t69
2092     #-0.24814019635976D1*t38*t135*t69+0.24814019635976D1*t109*t143
2093     #-0.9305257363491D0*t39*(t256+t261-t269+0.9799966841074009D-1
2094     #*t265*t53-0.4778117666686413D-1*t61*sigmabb/t273/t47*t53
2095     #+0.1608963433833121D0*t56*t258)*t69+0.18610514726982D1*t136*t143
2096     #-0.18610514726982D1*t60*t288*t289+0.9305257363491D0*t60*t140*
2097     #(t256+t261-t269+0.3658500245218708D-4*t265)
2098      v2rhoab(i) = 0.D0
2099      t305 = 0.1680017400328676D-1*t146*t76*t10
2100      t307 = 0.5040081825307963D-1*t82*t87
2101      t308 = sigmaaa*t92
2102      t310 = 0.1680047024824737D-1*t308*t212
2103      v2rhoasigmaaa(i) = -0.12407009817988D1*t4*t157*t35
2104     #+0.12407009817988D1*t72*t164-0.9305257363491D0*t5*(-t305-t307
2105     #+t310-0.3266655613691336D-1*t92*t19*sigmaaa
2106     #+0.1791794125007405D-1*t27/t218/rhoa*t19-0.4388082092272149D-1
2107     #*t21*t82)*t35+0.9305257363491D0*t99*t164+0.9305257363491D0*t158
2108     #*t106-0.18610514726982D1*t26*t233*t105*t163+0.9305257363491D0
2109     #*t26*t103*(-t305-t307+t310-0.1155315866911171D-4*t308)
2110      v2rhoasigmaab(i) = 0.D0
2111      v2rhoasigmabb(i) = 0.D0
2112      v2rhobsigmaaa(i) = 0.D0
2113      v2rhobsigmaab(i) = 0.D0
2114      t345 = 0.1680017400328676D-1*t167*t113*t44
2115      t347 = 0.5040081825307963D-1*t119*t124
2116      t348 = sigmabb*t129
2117      t350 = 0.1680047024824737D-1*t348*t267
2118      v2rhobsigmabb(i) = -0.12407009817988D1*t38*t178*t69
2119     #+0.12407009817988D1*t109*t185-0.9305257363491D0*t39*(-t345-t347
2120     #+t350-0.3266655613691336D-1*t129*t53*sigmabb
2121     #+0.1791794125007405D-1*t61/t273/rhob*t53-0.4388082092272149D-1
2122     #*t55*t119)*t69+0.9305257363491D0*t136*t185+0.9305257363491D0
2123     #*t179*t143-0.18610514726982D1*t60*t288*t142*t184
2124     #+0.9305257363491D0*t60*t140*(-t345-t347+t350
2125     #-0.1155315866911171D-4*t348)
2126      t382 = 0.6300065251232535D-2/t6/sigmaaa*t7*t10
2127      t386 = 0.6300102281634954D-2/sigmaaa*t16*t87
2128      t388 = 0.6300176343092764D-2*t31*t212
2129      t400 = t163**2
2130      v2sigmaaa2(i) = -0.9305257363491D0*t5*(-t382+t386-t388
2131     #-0.6719227968777768D-2/t218*t19*sigmaaa+0.8166639034228341D-2
2132     #*t152)*t35+0.18610514726982D1*t158*t164-0.18610514726982D1*t26
2133     #*t233*t400+0.9305257363491D0*t26*t103*(-t382+t386-t388
2134     #+0.2166217250458446D-5*t31)
2135      v2sigmaaaab(i) = 0.D0
2136      v2sigmaaabb(i) = 0.D0
2137      v2sigmaab2(i) = 0.D0
2138      v2sigmaabbb(i) = 0.D0
2139      t413 = 0.6300065251232535D-2/t40/sigmabb*t41*t44
2140      t417 = 0.6300102281634954D-2/sigmabb*t50*t124
2141      t419 = 0.6300176343092764D-2*t65*t267
2142      t431 = t184**2
2143      v2sigmabb2(i) = -0.9305257363491D0*t39*(-t413+t417-t419
2144     #-0.6719227968777768D-2/t273*t53*sigmabb+0.8166639034228341D-2
2145     #*t173)*t69+0.18610514726982D1*t179*t185-0.18610514726982D1*t60
2146     #*t288*t431+0.9305257363491D0*t60*t140*(-t413+t417-t419
2147     #+0.2166217250458446D-5*t65)
2148      endif ! rhoa,rhob
2149      else ! rho
2150      zk(i) = 0.0d0
2151      vrhoa(i) = 0.0d0
2152      vrhob(i) = 0.0d0
2153      v2rhoa2(i) = 0.0d0
2154      v2rhob2(i) = 0.0d0
2155      v2rhoab(i) = 0.0d0
2156      vsigmaaa(i) = 0.0d0
2157      vsigmaab(i) = 0.0d0
2158      vsigmabb(i) = 0.0d0
2159      v2rhoasigmaaa(i) = 0.0d0
2160      v2rhoasigmaab(i) = 0.0d0
2161      v2rhoasigmabb(i) = 0.0d0
2162      v2rhobsigmaaa(i) = 0.0d0
2163      v2rhobsigmaab(i) = 0.0d0
2164      v2rhobsigmabb(i) = 0.0d0
2165      v2sigmaaa2(i) = 0.0d0
2166      v2sigmaab2(i) = 0.0d0
2167      v2sigmabb2(i) = 0.0d0
2168      v2sigmaaaab(i) = 0.0d0
2169      v2sigmaaabb(i) = 0.0d0
2170      v2sigmaabbb(i) = 0.0d0
2171      endif ! rho
2172      enddo
2173
2174      endif ! ideriv
2175      return
2176      end
2177
2178
2179      subroutine rks_x_pw91
2180     & (ideriv,npt,rhoa1,sigmaaa1,
2181     &  zk,vrhoa,vsigmaaa,
2182     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
2183c
2184c     J.P. Perdew, J.A. Chevary, S.H. Vosko, K.A. Jackson,
2185c     M.R. Pederson, D.J. Singh, C. Fiolhais
2186c     Atoms, molecules, solids and surfaces:
2187c     Applications of the generalized gradient approximation
2188c     for exchange and correlation
2189c     Phys. Rev. B 46 (1992) 6671--6687
2190c
2191c
2192c     CITATION:
2193c
2194c     Functionals were obtained from the Density Functional Repository
2195c     as developed and distributed by the Quantum Chemistry Group,
2196c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
2197c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
2198c     Paul Sherwood for further information.
2199c
2200c     COPYRIGHT:
2201c
2202c     Users may incorporate the source code into software packages and
2203c     redistribute the source code provided the source code is not
2204c     changed in anyway and is properly cited in any documentation or
2205c     publication related to its use.
2206c
2207c     ACKNOWLEDGEMENT:
2208c
2209c     The source code was generated using Maple 8 through a modified
2210c     version of the dfauto script published in:
2211c
2212c        R. Strange, F.R. Manby, P.J. Knowles
2213c        Automatic code generation in density functional theory
2214c        Comp. Phys. Comm. 136 (2001) 310-318.
2215c
2216      implicit real*8 (a-h,o-z)
2217      integer ideriv,npt
2218      real*8 rhoa1(npt)
2219      real*8 sigmaaa1(npt)
2220      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
2221      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
2222      parameter(tol=1.0d-20)
2223
2224      if(ideriv.eq.0) then
2225
2226      do i=1,npt
2227      rho = dmax1(0.D0,rhoa1(i))
2228      if(rho.gt.tol) then
2229      sigma = dmax1(0.D0,sigmaaa1(i))
2230      t2 = rho**(1.D0/3.D0)
2231      t3 = t2*rho
2232      t4 = dsqrt(sigma)
2233      t6 = t4/t3
2234      t8 = dlog(0.1259928455434599D1*t6+dsqrt(1+0.1587419712813814D1
2235     #*t6**2))
2236      t10 = 0.3175033930295641D-1*t6*t8
2237      t11 = rho**2
2238      t12 = t2**2
2239      t14 = 1/t12/t11
2240      t17 = dexp(-0.261211729852336D1*sigma*t14)
2241      t25 = sigma**2
2242      t26 = t11**2
2243      zk(i) = -0.7385587663820224D0*t3*(1.D0+t10+0.261211729852336D-1*
2244     #(0.2743D0-0.1508D0*t17)*sigma*t14)/(1.D0+t10
2245     #+0.272926271249799D-5*t25/t2/t26/rho)
2246      else ! rho
2247      zk(i) = 0.0d0
2248      endif ! rho
2249      enddo
2250
2251      else if(ideriv.eq.1) then
2252
2253      do i=1,npt
2254      rho = dmax1(0.D0,rhoa1(i))
2255      if(rho.gt.tol) then
2256      sigma = dmax1(0.D0,sigmaaa1(i))
2257      t2 = rho**(1.D0/3.D0)
2258      t3 = t2*rho
2259      t4 = dsqrt(sigma)
2260      t5 = 1/t3
2261      t6 = t4*t5
2262      t8 = dlog(0.1259928455434599D1*t6+dsqrt(1+0.1587419712813814D1
2263     #*t6**2))
2264      t10 = 0.3175033930295641D-1*t6*t8
2265      t11 = rho**2
2266      t12 = t2**2
2267      t14 = 1/t12/t11
2268      t15 = sigma*t14
2269      t17 = dexp(-0.261211729852336D1*t15)
2270      t19 = 0.2743D0-0.1508D0*t17
2271      t20 = t19*sigma
2272      t23 = 1.D0+t10+0.261211729852336D-1*t20*t14
2273      t24 = t3*t23
2274      t25 = sigma**2
2275      t26 = t11**2
2276      t29 = 1/t2/t26/rho
2277      t32 = 1.D0+t10+0.272926271249799D-5*t25*t29
2278      t33 = 1/t32
2279      zk(i) = -0.7385587663820224D0*t24*t33
2280      t43 = 0.8466757147455043D-1*t4/t2/t11*t8
2281      t46 = 1/t12/t11/rho
2282      t50 = dsqrt(1.D0+0.1587419712813815D1*t15)
2283      t51 = 1/t50
2284      t53 = 0.1066750825533289D0*sigma*t46*t51
2285      t57 = t25/t2/t26/t11
2286      t66 = t32**2
2287      t67 = 1/t66
2288      vrhoa(i) = -0.9847450218426965D0*t2*t23*t33-0.3692793831910112D0
2289     #*t3*(-t43-t53-0.5487637560595959D-1*t57*t17-0.1393129225879125D0
2290     #*t20*t46)*t33+0.3692793831910112D0*t24*t67*(-t43-t53
2291     #-0.2911213559997856D-4*t57)
2292      t76 = 0.6350067860591282D-1/t4*t5*t8
2293      t78 = 0.8000631191499664D-1*t14*t51
2294      vsigmaaa(i) = -0.7385587663820224D0*t3*(t76+t78
2295     #+0.411572817044697D-1*t29*t17*sigma+0.1044846919409344D0*t19*t14
2296     #)*t33+0.7385587663820224D0*t24*t67*(t76+t78
2297     #+0.2183410169998392D-4*sigma*t29)
2298      else ! rho
2299      zk(i) = 0.0d0
2300      vrhoa(i) = 0.0d0
2301      vsigmaaa(i) = 0.0d0
2302      endif ! rho
2303      enddo
2304
2305      else if(ideriv.eq.2) then
2306
2307      do i=1,npt
2308      rho = dmax1(0.D0,rhoa1(i))
2309      if(rho.gt.tol) then
2310      sigma = dmax1(0.D0,sigmaaa1(i))
2311      t2 = rho**(1.D0/3.D0)
2312      t3 = t2*rho
2313      t4 = dsqrt(sigma)
2314      t5 = 1/t3
2315      t6 = t4*t5
2316      t8 = dlog(0.1259928455434599D1*t6+dsqrt(1+0.1587419712813814D1
2317     #*t6**2))
2318      t10 = 0.3175033930295641D-1*t6*t8
2319      t11 = rho**2
2320      t12 = t2**2
2321      t14 = 1/t12/t11
2322      t15 = sigma*t14
2323      t17 = dexp(-0.261211729852336D1*t15)
2324      t19 = 0.2743D0-0.1508D0*t17
2325      t20 = t19*sigma
2326      t23 = 1.D0+t10+0.261211729852336D-1*t20*t14
2327      t24 = t3*t23
2328      t25 = sigma**2
2329      t26 = t11**2
2330      t29 = 1/t2/t26/rho
2331      t32 = 1.D0+t10+0.272926271249799D-5*t25*t29
2332      t33 = 1/t32
2333      zk(i) = -0.7385587663820224D0*t24*t33
2334      t36 = t2*t23
2335      t40 = 1/t2/t11
2336      t43 = 0.8466757147455043D-1*t4*t40*t8
2337      t44 = t11*rho
2338      t46 = 1/t12/t44
2339      t49 = 1.D0+0.1587419712813815D1*t15
2340      t50 = dsqrt(t49)
2341      t51 = 1/t50
2342      t53 = 0.1066750825533289D0*sigma*t46*t51
2343      t56 = 1/t2/t26/t11
2344      t57 = t25*t56
2345      t62 = -t43-t53-0.5487637560595959D-1*t57*t17
2346     #-0.1393129225879125D0*t20*t46
2347      t63 = t3*t62
2348      t66 = t32**2
2349      t67 = 1/t66
2350      t69 = -t43-t53-0.2911213559997856D-4*t57
2351      t70 = t67*t69
2352      vrhoa(i) = -0.9847450218426965D0*t36*t33-0.3692793831910112D0
2353     #*t63*t33+0.3692793831910112D0*t24*t70
2354      t73 = 1/t4
2355      t76 = 0.6350067860591282D-1*t73*t5*t8
2356      t78 = 0.8000631191499664D-1*t14*t51
2357      t79 = t29*t17
2358      t84 = t76+t78+0.411572817044697D-1*t79*sigma
2359     #+0.1044846919409344D0*t19*t14
2360      t85 = t3*t84
2361      t90 = t76+t78+0.2183410169998392D-4*sigma*t29
2362      t91 = t67*t90
2363      vsigmaaa(i) = -0.7385587663820224D0*t85*t33+0.7385587663820224D0
2364     #*t24*t91
2365      t107 = 0.395115333547902D0*t4/t2/t44*t8
2366      t109 = 1/t12/t26
2367      t112 = 0.1066750825533289D1*sigma*t109*t51
2368      t116 = t25/t2/t26/t44
2369      t118 = 1/t50/t49
2370      t120 = 0.4515683437631874D0*t116*t118
2371      t124 = t26**2
2372      t139 = 1/t66/t32
2373      t140 = t69**2
2374      v2rhoa2(i) = -0.6564966812284644D0/t12*t23*t33
2375     #-0.1969490043685393D1*t2*t62*t33+0.1969490043685393D1*t36*t70
2376     #-0.3692793831910112D0*t3*(t107+t112-t120+0.9877747609072727D0
2377     #*t116*t17-0.764498826669826D0*t25*sigma/t124/t11*t17
2378     #+0.1021628098978025D1*t20*t109)*t33+0.7385587663820224D0*t63*t70
2379     #-0.7385587663820224D0*t24*t139*t140+0.3692793831910112D0*t24*t67
2380     #*(t107+t112-t120+0.3687537175997285D-3*t116)
2381      t156 = 0.1693351429491009D0*t73*t40*t8
2382      t158 = 0.6400504953199731D0*t46*t51
2383      t159 = sigma*t56
2384      t161 = 0.3386762578223905D0*t159*t118
2385      v2rhoasigmaaa(i) = -0.9847450218426965D0*t2*t84*t33
2386     #+0.9847450218426965D0*t36*t91-0.3692793831910112D0*t3*(-t156
2387     #-t158+t161-0.6585165072715151D0*t56*t17*sigma
2388     #+0.5733741200023695D0*t25/t124/rho*t17-0.5572516903516501D0*t19
2389     #*t46)*t33+0.3692793831910112D0*t63*t91+0.3692793831910112D0*t85
2390     #*t70-0.7385587663820224D0*t24*t139*t69*t90+0.3692793831910112D0
2391     #*t24*t67*(-t156-t158+t161-0.2328970847998285D-3*t159)
2392      t193 = 0.1270013572118256D0/t4/sigma*t5*t8
2393      t197 = 0.1600126238299933D0/sigma*t14*t51
2394      t199 = 0.2540071933667929D0*t29*t118
2395      t211 = t90**2
2396      v2sigmaaa2(i) = -0.7385587663820224D0*t3*(-t193+t197-t199
2397     #-0.4300305900017772D0/t124*t17*sigma+0.3292582536357576D0*t79)
2398     #*t33+0.1477117532764045D1*t85*t91-0.1477117532764045D1*t24*t139
2399     #*t211+0.7385587663820224D0*t24*t67*(-t193+t197-t199
2400     #+0.8733640679993569D-4*t29)
2401      else ! rho
2402      zk(i) = 0.0d0
2403      vrhoa(i) = 0.0d0
2404      v2rhoa2(i) = 0.0d0
2405      vsigmaaa(i) = 0.0d0
2406      v2rhoasigmaaa(i) = 0.0d0
2407      v2sigmaaa2(i) = 0.0d0
2408      endif ! rho
2409      enddo
2410
2411      endif ! ideriv
2412      return
2413      end
2414
2415
2416      subroutine uks_c_vwn5
2417     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
2418     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
2419     &  v2rhoa2,v2rhob2,v2rhoab,
2420     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
2421     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
2422     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
2423     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
2424c
2425c     S.H. Vosko, L. Wilk, and M. Nusair
2426c     Accurate spin-dependent electron liquid correlation energies for
2427c     local spin density calculations: a critical analysis
2428c     Can. J. Phys. 58 (1980) 1200-1211
2429c
2430c
2431c     CITATION:
2432c
2433c     Functionals were obtained from the Density Functional Repository
2434c     as developed and distributed by the Quantum Chemistry Group,
2435c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
2436c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
2437c     Paul Sherwood for further information.
2438c
2439c     COPYRIGHT:
2440c
2441c     Users may incorporate the source code into software packages and
2442c     redistribute the source code provided the source code is not
2443c     changed in anyway and is properly cited in any documentation or
2444c     publication related to its use.
2445c
2446c     ACKNOWLEDGEMENT:
2447c
2448c     The source code was generated using Maple 8 through a modified
2449c     version of the dfauto script published in:
2450c
2451c        R. Strange, F.R. Manby, P.J. Knowles
2452c        Automatic code generation in density functional theory
2453c        Comp. Phys. Comm. 136 (2001) 310-318.
2454c
2455      implicit real*8 (a-h,o-z)
2456      integer ideriv,npt
2457      real*8 rhoa1(npt),rhob1(npt)
2458      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
2459      real*8 zk(npt),vrhoa(npt),vrhob(npt)
2460      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
2461      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
2462      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
2463      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
2464      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
2465      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
2466      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
2467      parameter(tol=1.0d-20)
2468
2469      if (ideriv.eq.0) then
2470
2471      do i=1,npt
2472      rhoa = dmax1(0.D0,rhoa1(i))
2473      rhob = dmax1(0.D0,rhob1(i))
2474      rho = rhoa+rhob
2475      if(rho.gt.tol) then
2476      if(rhoa.lt.tol) then
2477      rho = rhob
2478      t1 = 1/rhob
2479      t2 = t1**(1.D0/6.D0)
2480      t3 = 0.7876233178997433D0*t2
2481      t5 = (t3+0.10498D0)**2
2482      t6 = t1**(1.D0/3.D0)
2483      t7 = 0.6203504908994D0*t6
2484      t12 = dlog(t5/(t7+0.2935818660072219D1*t2+0.129352D2))
2485      t16 = 1/(t7+0.5560951426165705D1*t2+0.180578D2)
2486      t19 = dlog(0.6203504908994D0*t6*t16)
2487      t25 = datan(0.4730926909560113D1/(0.1575246635799487D1*t2
2488     #+0.706042D1))
2489      t28 = (t3+0.325D0)**2
2490      t30 = dlog(t28*t16)
2491      zk(i) = rhob*(0.1D-23*t12+0.1554535D-1*t19+0.5249139316978094D-1
2492     #*t25+0.2247867095542612D-2*t30)
2493      elseif(rhob.lt.tol) then
2494      rho = rhoa
2495      t1 = 1/rhoa
2496      t2 = t1**(1.D0/6.D0)
2497      t3 = 0.7876233178997433D0*t2
2498      t5 = (t3+0.10498D0)**2
2499      t6 = t1**(1.D0/3.D0)
2500      t7 = 0.6203504908994D0*t6
2501      t12 = dlog(t5/(t7+0.2935818660072219D1*t2+0.129352D2))
2502      t16 = 1/(t7+0.5560951426165705D1*t2+0.180578D2)
2503      t19 = dlog(0.6203504908994D0*t6*t16)
2504      t25 = datan(0.4730926909560113D1/(0.1575246635799487D1*t2
2505     #+0.706042D1))
2506      t28 = (t3+0.325D0)**2
2507      t30 = dlog(t28*t16)
2508      zk(i) = rhoa*(0.1D-23*t12+0.1554535D-1*t19+0.5249139316978094D-1
2509     #*t25+0.2247867095542612D-2*t30)
2510      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
2511      t1 = 1/rho
2512      t2 = t1**(1.D0/3.D0)
2513      t3 = 0.6203504908994D0*t2
2514      t4 = t1**(1.D0/6.D0)
2515      t7 = 1/(t3+0.2935818660072219D1*t4+0.129352D2)
2516      t10 = dlog(0.6203504908994D0*t2*t7)
2517      t12 = 0.1575246635799487D1*t4
2518      t16 = datan(0.615199081975908D1/(t12+0.372744D1))
2519      t18 = 0.7876233178997433D0*t4
2520      t20 = (t18+0.10498D0)**2
2521      t22 = dlog(t20*t7)
2522      t26 = 1/(t3+0.8908571061768626D0*t4+0.130045D2)
2523      t29 = dlog(0.6203504908994D0*t2*t26)
2524      t33 = datan(0.7123108917818118D1/(t12+0.113107D1))
2525      t36 = (t18+0.47584D-2)**2
2526      t38 = dlog(t36*t26)
2527      t40 = t29+0.3177080047439415D0*t33+0.4140337942820627D-3*t38
2528      t42 = rhoa-1.D0*rhob
2529      t43 = t42*t1
2530      t44 = 1.D0+t43
2531      t45 = t44**(1.D0/3.D0)
2532      t48 = 1.D0-1.D0*t43
2533      t49 = t48**(1.D0/3.D0)
2534      t55 = 1/(t3+0.5560951426165705D1*t4+0.180578D2)
2535      t58 = dlog(0.6203504908994D0*t2*t55)
2536      t63 = datan(0.4730926909560113D1/(t12+0.706042D1))
2537      t66 = (t18+0.325D0)**2
2538      t68 = dlog(t66*t55)
2539      t78 = t42**2
2540      t79 = t78**2
2541      t81 = rho**2
2542      t82 = t81**2
2543      zk(i) = rho*(0.310907D-1*t10+0.3878329487811301D-1*t16
2544     #+0.9690227711544374D-3*t22-0.1899772193293833D-1*t40*(t45*t44
2545     #+t49*t48-2.D0)*(1.D0+(-0.101257459063883D3*(0.1554535D-1*t58
2546     #+0.5249139316978094D-1*t63+0.2247867095542612D-2*t68-0.310907D-1
2547     #*t10-0.3878329487811301D-1*t16-0.9690227711544374D-3*t22)/t40
2548     #-1.D0)*t79/t82))
2549      endif ! rhoa,rhob
2550      else ! rho
2551      zk(i) = 0.0d0
2552      endif ! rho
2553      enddo
2554
2555      else if(ideriv.eq.1) then
2556
2557      do i=1,npt
2558      rhoa = dmax1(0.D0,rhoa1(i))
2559      rhob = dmax1(0.D0,rhob1(i))
2560      rho = rhoa+rhob
2561      if(rho.gt.tol) then
2562      if(rhoa.lt.tol) then
2563      rho = rhob
2564      t1 = 1/rhob
2565      t2 = t1**(1.D0/6.D0)
2566      t3 = 0.7876233178997433D0*t2
2567      t4 = t3+0.10498D0
2568      t5 = t4**2
2569      t6 = t1**(1.D0/3.D0)
2570      t7 = 0.6203504908994D0*t6
2571      t9 = t7+0.2935818660072219D1*t2+0.129352D2
2572      t10 = 1/t9
2573      t12 = dlog(t5*t10)
2574      t13 = 0.1D-23*t12
2575      t15 = t7+0.5560951426165705D1*t2+0.180578D2
2576      t16 = 1/t15
2577      t19 = dlog(0.6203504908994D0*t6*t16)
2578      t20 = 0.1554535D-1*t19
2579      t21 = 0.1575246635799487D1*t2
2580      t22 = t21+0.706042D1
2581      t25 = datan(0.4730926909560113D1/t22)
2582      t26 = 0.5249139316978094D-1*t25
2583      t27 = t3+0.325D0
2584      t28 = t27**2
2585      t30 = dlog(t28*t16)
2586      t31 = 0.2247867095542612D-2*t30
2587      zk(i) = rhob*(t13+t20+t26+t31)
2588      vrhoa(i) = 0.D0
2589      t33 = t6**2
2590      t34 = 1/t33
2591      t36 = rhob**2
2592      t37 = 1/t36
2593      t40 = t9**2
2594      t41 = 1/t40
2595      t44 = 0.2067834969664667D0*t34*t37
2596      t45 = t2**2
2597      t46 = t45**2
2598      t48 = 1/t46/t2
2599      t49 = t48*t37
2600      t51 = -t44-0.4893031100120365D0*t49
2601      t55 = 1/t6
2602      t60 = (t21+0.372744D1)**2
2603      t61 = 1/t60
2604      t83 = t15**2
2605      t84 = 1/t83
2606      t87 = -t44-0.9268252376942842D0*t49
2607      t94 = t22**2
2608      t95 = 1/t94
2609      vrhob(i) = t13+t20+t26+t31+rhob*(0.2D-21*(-0.2067834969664667D0
2610     #*t34*t10*t37-0.6203504908994D0*t6*t41*t51)*t55*t9-0.1D-21*t61
2611     #*t48*t37/(1.D0+0.378469910464D2*t61)+0.1D-23*(
2612     #-0.2625411059665811D0*t4*t10*t49-1.D0*t5*t41*t51)/t5*t9
2613     #+0.2505897912236993D-1*(-0.2067834969664667D0*t34*t16*t37
2614     #-0.6203504908994D0*t6*t84*t87)*t55*t15+0.6519760588836059D-1*t95
2615     #*t48*t37/(1.D0+0.223816694236D2*t95)+0.2247867095542612D-2*(
2616     #-0.2625411059665811D0*t27*t16*t49-1.D0*t28*t84*t87)/t28*t15)
2617      elseif(rhob.lt.tol) then
2618      rho = rhoa
2619      t1 = 1/rhoa
2620      t2 = t1**(1.D0/6.D0)
2621      t3 = 0.7876233178997433D0*t2
2622      t4 = t3+0.10498D0
2623      t5 = t4**2
2624      t6 = t1**(1.D0/3.D0)
2625      t7 = 0.6203504908994D0*t6
2626      t9 = t7+0.2935818660072219D1*t2+0.129352D2
2627      t10 = 1/t9
2628      t12 = dlog(t5*t10)
2629      t13 = 0.1D-23*t12
2630      t15 = t7+0.5560951426165705D1*t2+0.180578D2
2631      t16 = 1/t15
2632      t19 = dlog(0.6203504908994D0*t6*t16)
2633      t20 = 0.1554535D-1*t19
2634      t21 = 0.1575246635799487D1*t2
2635      t22 = t21+0.706042D1
2636      t25 = datan(0.4730926909560113D1/t22)
2637      t26 = 0.5249139316978094D-1*t25
2638      t27 = t3+0.325D0
2639      t28 = t27**2
2640      t30 = dlog(t28*t16)
2641      t31 = 0.2247867095542612D-2*t30
2642      zk(i) = rhoa*(t13+t20+t26+t31)
2643      t33 = t6**2
2644      t34 = 1/t33
2645      t36 = rhoa**2
2646      t37 = 1/t36
2647      t40 = t9**2
2648      t41 = 1/t40
2649      t44 = 0.2067834969664667D0*t34*t37
2650      t45 = t2**2
2651      t46 = t45**2
2652      t48 = 1/t46/t2
2653      t49 = t48*t37
2654      t51 = -t44-0.4893031100120365D0*t49
2655      t55 = 1/t6
2656      t60 = (t21+0.372744D1)**2
2657      t61 = 1/t60
2658      t83 = t15**2
2659      t84 = 1/t83
2660      t87 = -t44-0.9268252376942842D0*t49
2661      t94 = t22**2
2662      t95 = 1/t94
2663      vrhoa(i) = t13+t20+t26+t31+rhoa*(0.2D-21*(-0.2067834969664667D0
2664     #*t34*t10*t37-0.6203504908994D0*t6*t41*t51)*t55*t9-0.1D-21*t61
2665     #*t48*t37/(1.D0+0.378469910464D2*t61)+0.1D-23*(
2666     #-0.2625411059665811D0*t4*t10*t49-1.D0*t5*t41*t51)/t5*t9
2667     #+0.2505897912236993D-1*(-0.2067834969664667D0*t34*t16*t37
2668     #-0.6203504908994D0*t6*t84*t87)*t55*t15+0.6519760588836059D-1*t95
2669     #*t48*t37/(1.D0+0.223816694236D2*t95)+0.2247867095542612D-2*(
2670     #-0.2625411059665811D0*t27*t16*t49-1.D0*t28*t84*t87)/t28*t15)
2671      vrhob(i) = 0.D0
2672      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
2673      t1 = 1/rho
2674      t2 = t1**(1.D0/3.D0)
2675      t3 = 0.6203504908994D0*t2
2676      t4 = t1**(1.D0/6.D0)
2677      t6 = t3+0.2935818660072219D1*t4+0.129352D2
2678      t7 = 1/t6
2679      t10 = dlog(0.6203504908994D0*t2*t7)
2680      t11 = 0.310907D-1*t10
2681      t12 = 0.1575246635799487D1*t4
2682      t13 = t12+0.372744D1
2683      t16 = datan(0.615199081975908D1/t13)
2684      t17 = 0.3878329487811301D-1*t16
2685      t18 = 0.7876233178997433D0*t4
2686      t19 = t18+0.10498D0
2687      t20 = t19**2
2688      t22 = dlog(t20*t7)
2689      t23 = 0.9690227711544374D-3*t22
2690      t25 = t3+0.8908571061768626D0*t4+0.130045D2
2691      t26 = 1/t25
2692      t29 = dlog(0.6203504908994D0*t2*t26)
2693      t30 = t12+0.113107D1
2694      t33 = datan(0.7123108917818118D1/t30)
2695      t35 = t18+0.47584D-2
2696      t36 = t35**2
2697      t38 = dlog(t36*t26)
2698      t40 = t29+0.3177080047439415D0*t33+0.4140337942820627D-3*t38
2699      t42 = rhoa-1.D0*rhob
2700      t43 = t42*t1
2701      t44 = 1.D0+t43
2702      t45 = t44**(1.D0/3.D0)
2703      t48 = 1.D0-1.D0*t43
2704      t49 = t48**(1.D0/3.D0)
2705      t51 = t45*t44+t49*t48-2.D0
2706      t52 = t40*t51
2707      t54 = t3+0.5560951426165705D1*t4+0.180578D2
2708      t55 = 1/t54
2709      t58 = dlog(0.6203504908994D0*t2*t55)
2710      t60 = t12+0.706042D1
2711      t63 = datan(0.4730926909560113D1/t60)
2712      t65 = t18+0.325D0
2713      t66 = t65**2
2714      t68 = dlog(t66*t55)
2715      t73 = 0.1554535D-1*t58+0.5249139316978094D-1*t63
2716     #+0.2247867095542612D-2*t68-0.310907D-1*t10-0.3878329487811301D-1
2717     #*t16-0.9690227711544374D-3*t22
2718      t74 = 1/t40
2719      t77 = -0.101257459063883D3*t73*t74-1.D0
2720      t78 = t42**2
2721      t79 = t78**2
2722      t80 = t77*t79
2723      t81 = rho**2
2724      t82 = t81**2
2725      t83 = 1/t82
2726      t85 = 1.D0+t80*t83
2727      t87 = 0.1899772193293833D-1*t52*t85
2728      zk(i) = rho*(t11+t17+t23-t87)
2729      t93 = 0.1333333333333333D1*t45*t1-0.1333333333333333D1*t49*t1
2730      t100 = t52*t77*t78*t42*t83
2731      t104 = t2**2
2732      t105 = 1/t104
2733      t107 = 1/t81
2734      t110 = t6**2
2735      t111 = 1/t110
2736      t114 = 0.2067834969664667D0*t105*t107
2737      t115 = t4**2
2738      t116 = t115**2
2739      t118 = 1/t116/t4
2740      t119 = t118*t107
2741      t121 = -t114-0.4893031100120365D0*t119
2742      t125 = 1/t2
2743      t127 = (-0.2067834969664667D0*t105*t7*t107-0.6203504908994D0*t2
2744     #*t111*t121)*t125*t6
2745      t129 = t13**2
2746      t130 = 1/t129
2747      t136 = t130*t118*t107/(1.D0+0.378469910464D2*t130)
2748      t147 = (-0.2625411059665811D0*t19*t7*t119-1.D0*t20*t111*t121)
2749     #/t20*t6
2750      t152 = t25**2
2751      t153 = 1/t152
2752      t156 = -t114-0.1484761843628104D0*t119
2753      t163 = t30**2
2754      t164 = 1/t163
2755      t183 = 0.161199195401647D1*(-0.2067834969664667D0*t105*t26*t107
2756     #-0.6203504908994D0*t2*t153*t156)*t125*t25+0.5941485651138659D0
2757     #*t164*t118*t107/(1.D0+0.507386806551D2*t164)
2758     #+0.4140337942820627D-3*(-0.2625411059665811D0*t35*t26*t119-1.D0
2759     #*t36*t153*t156)/t36*t25
2760      t200 = t54**2
2761      t201 = 1/t200
2762      t204 = -t114-0.9268252376942842D0*t119
2763      t211 = t60**2
2764      t212 = 1/t211
2765      t237 = t40**2
2766      t253 = rho*(0.5011795824473985D-1*t127+0.626408570946439D-1*t136
2767     #+0.9690227711544374D-3*t147-0.1899772193293833D-1*t183*t51*t85
2768     #-0.1899772193293833D-1*t40*(-0.1333333333333333D1*t45*t42*t107
2769     #+0.1333333333333333D1*t49*t42*t107)*t85-0.1899772193293833D-1
2770     #*t52*((-0.101257459063883D3*(0.2505897912236993D-1*(
2771     #-0.2067834969664667D0*t105*t55*t107-0.6203504908994D0*t2*t201
2772     #*t204)*t125*t54+0.6519760588836059D-1*t212*t118*t107/(1.D0
2773     #+0.223816694236D2*t212)+0.2247867095542612D-2*(
2774     #-0.2625411059665811D0*t65*t55*t119-1.D0*t66*t201*t204)/t66*t54
2775     #-0.5011795824473985D-1*t127-0.626408570946439D-1*t136
2776     #-0.9690227711544374D-3*t147)*t74+0.101257459063883D3*t73/t237
2777     #*t183)*t79*t83-4.D0*t80/t82/rho))
2778      vrhoa(i) = rho*(-0.1899772193293833D-1*t40*t93*t85
2779     #-0.7599088773175333D-1*t100)+t11+t17+t23-t87+t253
2780      vrhob(i) = rho*(0.1899772193293833D-1*t40*t93*t85
2781     #+0.7599088773175333D-1*t100)+t11+t17+t23-t87+t253
2782      endif ! rhoa,rhob
2783      else ! rho
2784      zk(i) = 0.0d0
2785      vrhoa(i) = 0.0d0
2786      vrhob(i) = 0.0d0
2787      endif ! rho
2788      enddo
2789
2790      else if(ideriv.eq.2) then
2791
2792      do i=1,npt
2793      rhoa = dmax1(0.D0,rhoa1(i))
2794      rhob = dmax1(0.D0,rhob1(i))
2795      rho = rhoa+rhob
2796      if(rho.gt.tol) then
2797      if(rhoa.lt.tol) then
2798      rho = rhob
2799      t1 = 1/rhob
2800      t2 = t1**(1.D0/6.D0)
2801      t3 = 0.7876233178997433D0*t2
2802      t4 = t3+0.10498D0
2803      t5 = t4**2
2804      t6 = t1**(1.D0/3.D0)
2805      t7 = 0.6203504908994D0*t6
2806      t9 = t7+0.2935818660072219D1*t2+0.129352D2
2807      t10 = 1/t9
2808      t12 = dlog(t5*t10)
2809      t13 = 0.1D-23*t12
2810      t15 = t7+0.5560951426165705D1*t2+0.180578D2
2811      t16 = 1/t15
2812      t19 = dlog(0.6203504908994D0*t6*t16)
2813      t20 = 0.1554535D-1*t19
2814      t21 = 0.1575246635799487D1*t2
2815      t22 = t21+0.706042D1
2816      t25 = datan(0.4730926909560113D1/t22)
2817      t26 = 0.5249139316978094D-1*t25
2818      t27 = t3+0.325D0
2819      t28 = t27**2
2820      t30 = dlog(t28*t16)
2821      t31 = 0.2247867095542612D-2*t30
2822      zk(i) = rhob*(t13+t20+t26+t31)
2823      vrhoa(i) = 0.D0
2824      t33 = t6**2
2825      t34 = 1/t33
2826      t35 = t34*t10
2827      t36 = rhob**2
2828      t37 = 1/t36
2829      t40 = t9**2
2830      t41 = 1/t40
2831      t42 = t6*t41
2832      t44 = 0.2067834969664667D0*t34*t37
2833      t45 = t2**2
2834      t46 = t45**2
2835      t47 = t46*t2
2836      t48 = 1/t47
2837      t49 = t48*t37
2838      t51 = -t44-0.4893031100120365D0*t49
2839      t55 = 1/t6
2840      t56 = (-0.2067834969664667D0*t35*t37-0.6203504908994D0*t42*t51)
2841     #*t55
2842      t60 = (t21+0.372744D1)**2
2843      t61 = 1/t60
2844      t65 = 1/(1.D0+0.378469910464D2*t61)
2845      t69 = t4*t10
2846      t72 = t5*t41
2847      t76 = 1/t5
2848      t77 = (-0.2625411059665811D0*t69*t49-1.D0*t72*t51)*t76
2849      t80 = t34*t16
2850      t83 = t15**2
2851      t84 = 1/t83
2852      t85 = t6*t84
2853      t87 = -t44-0.9268252376942842D0*t49
2854      t90 = -0.2067834969664667D0*t80*t37-0.6203504908994D0*t85*t87
2855      t91 = t90*t55
2856      t92 = t91*t15
2857      t94 = t22**2
2858      t95 = 1/t94
2859      t96 = t95*t48
2860      t98 = 1.D0+0.223816694236D2*t95
2861      t99 = 1/t98
2862      t101 = t96*t37*t99
2863      t103 = t27*t16
2864      t106 = t28*t84
2865      t109 = -0.2625411059665811D0*t103*t49-1.D0*t106*t87
2866      t110 = 1/t28
2867      t111 = t109*t110
2868      t112 = t111*t15
2869      vrhob(i) = t13+t20+t26+t31+rhob*(0.2D-21*t56*t9-0.1D-21*t61*t48
2870     #*t37*t65+0.1D-23*t77*t9+0.2505897912236993D-1*t92
2871     #+0.6519760588836059D-1*t101+0.2247867095542612D-2*t112)
2872      v2rhoa2(i) = 0.D0
2873      v2rhoab(i) = 0.D0
2874      t120 = 1/t47/t1
2875      t122 = t36**2
2876      t123 = 1/t122
2877      t128 = 1/t33/t1
2878      t130 = t128*t10*t123
2879      t137 = 1/t36/rhob
2880      t141 = 1/t40/t9
2881      t143 = t51**2
2882      t147 = 0.1378556646443111D0*t128*t123
2883      t149 = 0.4135669939329333D0*t34*t137
2884      t150 = t120*t123
2885      t152 = t48*t137
2886      t154 = -t147+t149-0.4077525916766971D0*t150+0.978606220024073D0
2887     #*t152
2888      t192 = t123*t99
2889      t201 = t94**2
2890      t205 = t98**2
2891      t211 = t128*t16*t123
2892      t220 = 1/t83/t15
2893      t222 = t87**2
2894      t227 = -t147+t149-0.7723543647452368D0*t150+0.1853650475388568D1
2895     #*t152
2896      s1 = 0.1D-21*t61*t120*t123*t65+0.2D-21*(-0.1378556646443111D0
2897     #*t130+0.4135669939329333D0*t34*t41*t37*t51+0.4135669939329333D0
2898     #*t35*t137+0.12407009817988D1*t6*t141*t143-0.6203504908994D0*t42
2899     #*t154)*t55*t9+0.2D-21*t56*t51+0.1D-23*(0.3446391616107778D-1
2900     #*t130+0.5250822119331622D0*t4*t41*t49*t51-0.2187842549721509D0
2901     #*t69*t150+0.5250822119331622D0*t69*t152+2.D0*t5*t141*t143-1.D0
2902     #*t72*t154)*t76*t9+0.1D-23*t77*t51+0.8352993040789975D-2*t90/t6
2903     #/t1*t15*t37+0.3423410311260694D-1/t94/t22*t128*t192
2904      t263 = s1+0.5433133824030049D-1*t95*t120*t192
2905     #-0.1303952117767212D0*t96*t137*t99-0.7662163788798043D0/t201/t22
2906     #*t128*t123/t205+0.2505897912236993D-1*(-0.1378556646443111D0
2907     #*t211+0.4135669939329333D0*t34*t84*t37*t87+0.4135669939329333D0
2908     #*t80*t137+0.12407009817988D1*t6*t220*t222-0.6203504908994D0*t85
2909     #*t227)*t55*t15+0.2505897912236993D-1*t91*t87
2910     #+0.2247867095542612D-2*(0.3446391616107778D-1*t211
2911     #+0.5250822119331622D0*t27*t84*t49*t87-0.2187842549721509D0*t103
2912     #*t150+0.5250822119331622D0*t103*t152+2.D0*t28*t220*t222-1.D0
2913     #*t106*t227)*t110*t15+0.5901575133296437D-3*t109/t28/t27*t15*t48
2914     #*t37+0.2247867095542612D-2*t111*t87
2915      v2rhob2(i) = 0.5011795824473985D-1*t92+0.1303952117767212D0*t101
2916     #+0.4495734191085224D-2*t112+rhob*t263
2917      elseif(rhob.lt.tol) then
2918      rho = rhoa
2919      t1 = 1/rhoa
2920      t2 = t1**(1.D0/6.D0)
2921      t3 = 0.7876233178997433D0*t2
2922      t4 = t3+0.10498D0
2923      t5 = t4**2
2924      t6 = t1**(1.D0/3.D0)
2925      t7 = 0.6203504908994D0*t6
2926      t9 = t7+0.2935818660072219D1*t2+0.129352D2
2927      t10 = 1/t9
2928      t12 = dlog(t5*t10)
2929      t13 = 0.1D-23*t12
2930      t15 = t7+0.5560951426165705D1*t2+0.180578D2
2931      t16 = 1/t15
2932      t19 = dlog(0.6203504908994D0*t6*t16)
2933      t20 = 0.1554535D-1*t19
2934      t21 = 0.1575246635799487D1*t2
2935      t22 = t21+0.706042D1
2936      t25 = datan(0.4730926909560113D1/t22)
2937      t26 = 0.5249139316978094D-1*t25
2938      t27 = t3+0.325D0
2939      t28 = t27**2
2940      t30 = dlog(t28*t16)
2941      t31 = 0.2247867095542612D-2*t30
2942      zk(i) = rhoa*(t13+t20+t26+t31)
2943      t33 = t6**2
2944      t34 = 1/t33
2945      t35 = t34*t10
2946      t36 = rhoa**2
2947      t37 = 1/t36
2948      t40 = t9**2
2949      t41 = 1/t40
2950      t42 = t6*t41
2951      t44 = 0.2067834969664667D0*t34*t37
2952      t45 = t2**2
2953      t46 = t45**2
2954      t47 = t46*t2
2955      t48 = 1/t47
2956      t49 = t48*t37
2957      t51 = -t44-0.4893031100120365D0*t49
2958      t55 = 1/t6
2959      t56 = (-0.2067834969664667D0*t35*t37-0.6203504908994D0*t42*t51)
2960     #*t55
2961      t60 = (t21+0.372744D1)**2
2962      t61 = 1/t60
2963      t65 = 1/(1.D0+0.378469910464D2*t61)
2964      t69 = t4*t10
2965      t72 = t5*t41
2966      t76 = 1/t5
2967      t77 = (-0.2625411059665811D0*t69*t49-1.D0*t72*t51)*t76
2968      t80 = t34*t16
2969      t83 = t15**2
2970      t84 = 1/t83
2971      t85 = t6*t84
2972      t87 = -t44-0.9268252376942842D0*t49
2973      t90 = -0.2067834969664667D0*t80*t37-0.6203504908994D0*t85*t87
2974      t91 = t90*t55
2975      t92 = t91*t15
2976      t94 = t22**2
2977      t95 = 1/t94
2978      t96 = t95*t48
2979      t98 = 1.D0+0.223816694236D2*t95
2980      t99 = 1/t98
2981      t101 = t96*t37*t99
2982      t103 = t27*t16
2983      t106 = t28*t84
2984      t109 = -0.2625411059665811D0*t103*t49-1.D0*t106*t87
2985      t110 = 1/t28
2986      t111 = t109*t110
2987      t112 = t111*t15
2988      vrhoa(i) = t13+t20+t26+t31+rhoa*(0.2D-21*t56*t9-0.1D-21*t61*t48
2989     #*t37*t65+0.1D-23*t77*t9+0.2505897912236993D-1*t92
2990     #+0.6519760588836059D-1*t101+0.2247867095542612D-2*t112)
2991      vrhob(i) = 0.D0
2992      t120 = 1/t47/t1
2993      t122 = t36**2
2994      t123 = 1/t122
2995      t128 = 1/t33/t1
2996      t130 = t128*t10*t123
2997      t137 = 1/t36/rhoa
2998      t141 = 1/t40/t9
2999      t143 = t51**2
3000      t147 = 0.1378556646443111D0*t128*t123
3001      t149 = 0.4135669939329333D0*t34*t137
3002      t150 = t120*t123
3003      t152 = t48*t137
3004      t154 = -t147+t149-0.4077525916766971D0*t150+0.978606220024073D0
3005     #*t152
3006      t192 = t123*t99
3007      t201 = t94**2
3008      t205 = t98**2
3009      t211 = t128*t16*t123
3010      t220 = 1/t83/t15
3011      t222 = t87**2
3012      t227 = -t147+t149-0.7723543647452368D0*t150+0.1853650475388568D1
3013     #*t152
3014      s1 = 0.1D-21*t61*t120*t123*t65+0.2D-21*(-0.1378556646443111D0
3015     #*t130+0.4135669939329333D0*t34*t41*t37*t51+0.4135669939329333D0
3016     #*t35*t137+0.12407009817988D1*t6*t141*t143-0.6203504908994D0*t42
3017     #*t154)*t55*t9+0.2D-21*t56*t51+0.1D-23*(0.3446391616107778D-1
3018     #*t130+0.5250822119331622D0*t4*t41*t49*t51-0.2187842549721509D0
3019     #*t69*t150+0.5250822119331622D0*t69*t152+2.D0*t5*t141*t143-1.D0
3020     #*t72*t154)*t76*t9+0.1D-23*t77*t51+0.8352993040789975D-2*t90/t6
3021     #/t1*t15*t37+0.3423410311260694D-1/t94/t22*t128*t192
3022      t263 = s1+0.5433133824030049D-1*t95*t120*t192
3023     #-0.1303952117767212D0*t96*t137*t99-0.7662163788798043D0/t201/t22
3024     #*t128*t123/t205+0.2505897912236993D-1*(-0.1378556646443111D0
3025     #*t211+0.4135669939329333D0*t34*t84*t37*t87+0.4135669939329333D0
3026     #*t80*t137+0.12407009817988D1*t6*t220*t222-0.6203504908994D0*t85
3027     #*t227)*t55*t15+0.2505897912236993D-1*t91*t87
3028     #+0.2247867095542612D-2*(0.3446391616107778D-1*t211
3029     #+0.5250822119331622D0*t27*t84*t49*t87-0.2187842549721509D0*t103
3030     #*t150+0.5250822119331622D0*t103*t152+2.D0*t28*t220*t222-1.D0
3031     #*t106*t227)*t110*t15+0.5901575133296437D-3*t109/t28/t27*t15*t48
3032     #*t37+0.2247867095542612D-2*t111*t87
3033      v2rhoa2(i) = 0.5011795824473985D-1*t92+0.1303952117767212D0*t101
3034     #+0.4495734191085224D-2*t112+rhoa*t263
3035      v2rhob2(i) = 0.D0
3036      v2rhoab(i) = 0.D0
3037      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
3038      t1 = 1/rho
3039      t2 = t1**(1.D0/3.D0)
3040      t3 = 0.6203504908994D0*t2
3041      t4 = t1**(1.D0/6.D0)
3042      t6 = t3+0.2935818660072219D1*t4+0.129352D2
3043      t7 = 1/t6
3044      t10 = dlog(0.6203504908994D0*t2*t7)
3045      t11 = 0.310907D-1*t10
3046      t12 = 0.1575246635799487D1*t4
3047      t13 = t12+0.372744D1
3048      t16 = datan(0.615199081975908D1/t13)
3049      t17 = 0.3878329487811301D-1*t16
3050      t18 = 0.7876233178997433D0*t4
3051      t19 = t18+0.10498D0
3052      t20 = t19**2
3053      t22 = dlog(t20*t7)
3054      t23 = 0.9690227711544374D-3*t22
3055      t25 = t3+0.8908571061768626D0*t4+0.130045D2
3056      t26 = 1/t25
3057      t29 = dlog(0.6203504908994D0*t2*t26)
3058      t30 = t12+0.113107D1
3059      t33 = datan(0.7123108917818118D1/t30)
3060      t35 = t18+0.47584D-2
3061      t36 = t35**2
3062      t38 = dlog(t36*t26)
3063      t40 = t29+0.3177080047439415D0*t33+0.4140337942820627D-3*t38
3064      t42 = rhoa-1.D0*rhob
3065      t43 = t42*t1
3066      t44 = 1.D0+t43
3067      t45 = t44**(1.D0/3.D0)
3068      t48 = 1.D0-1.D0*t43
3069      t49 = t48**(1.D0/3.D0)
3070      t51 = t45*t44+t49*t48-2.D0
3071      t52 = t40*t51
3072      t54 = t3+0.5560951426165705D1*t4+0.180578D2
3073      t55 = 1/t54
3074      t58 = dlog(0.6203504908994D0*t2*t55)
3075      t60 = t12+0.706042D1
3076      t63 = datan(0.4730926909560113D1/t60)
3077      t65 = t18+0.325D0
3078      t66 = t65**2
3079      t68 = dlog(t66*t55)
3080      t73 = 0.1554535D-1*t58+0.5249139316978094D-1*t63
3081     #+0.2247867095542612D-2*t68-0.310907D-1*t10-0.3878329487811301D-1
3082     #*t16-0.9690227711544374D-3*t22
3083      t74 = 1/t40
3084      t77 = -0.101257459063883D3*t73*t74-1.D0
3085      t78 = t42**2
3086      t79 = t78**2
3087      t80 = t77*t79
3088      t81 = rho**2
3089      t82 = t81**2
3090      t83 = 1/t82
3091      t85 = 1.D0+t80*t83
3092      t87 = 0.1899772193293833D-1*t52*t85
3093      zk(i) = rho*(t11+t17+t23-t87)
3094      t93 = 0.1333333333333333D1*t45*t1-0.1333333333333333D1*t49*t1
3095      t94 = t40*t93
3096      t95 = t94*t85
3097      t96 = 0.1899772193293833D-1*t95
3098      t97 = t78*t42
3099      t98 = t77*t97
3100      t99 = t98*t83
3101      t100 = t52*t99
3102      t104 = t2**2
3103      t105 = 1/t104
3104      t106 = t105*t7
3105      t107 = 1/t81
3106      t110 = t6**2
3107      t111 = 1/t110
3108      t112 = t2*t111
3109      t114 = 0.2067834969664667D0*t105*t107
3110      t115 = t4**2
3111      t116 = t115**2
3112      t117 = t116*t4
3113      t118 = 1/t117
3114      t119 = t118*t107
3115      t121 = -t114-0.4893031100120365D0*t119
3116      t124 = -0.2067834969664667D0*t106*t107-0.6203504908994D0*t112*t121
3117      t125 = 1/t2
3118      t126 = t124*t125
3119      t127 = t126*t6
3120      t129 = t13**2
3121      t130 = 1/t129
3122      t131 = t130*t118
3123      t133 = 1.D0+0.378469910464D2*t130
3124      t134 = 1/t133
3125      t136 = t131*t107*t134
3126      t138 = t19*t7
3127      t141 = t20*t111
3128      t144 = -0.2625411059665811D0*t138*t119-1.D0*t141*t121
3129      t145 = 1/t20
3130      t146 = t144*t145
3131      t147 = t146*t6
3132      t149 = t105*t26
3133      t152 = t25**2
3134      t153 = 1/t152
3135      t154 = t2*t153
3136      t156 = -t114-0.1484761843628104D0*t119
3137      t159 = -0.2067834969664667D0*t149*t107-0.6203504908994D0*t154*t156
3138      t160 = t159*t125
3139      t163 = t30**2
3140      t164 = 1/t163
3141      t165 = t164*t118
3142      t167 = 1.D0+0.507386806551D2*t164
3143      t168 = 1/t167
3144      t172 = t35*t26
3145      t175 = t36*t153
3146      t178 = -0.2625411059665811D0*t172*t119-1.D0*t175*t156
3147      t179 = 1/t36
3148      t180 = t178*t179
3149      t183 = 0.161199195401647D1*t160*t25+0.5941485651138659D0*t165
3150     #*t107*t168+0.4140337942820627D-3*t180*t25
3151      t184 = t183*t51
3152      t185 = t184*t85
3153      t187 = t45*t42
3154      t190 = t49*t42
3155      t193 = -0.1333333333333333D1*t187*t107+0.1333333333333333D1*t190
3156     #*t107
3157      t194 = t40*t193
3158      t195 = t194*t85
3159      t197 = t105*t55
3160      t200 = t54**2
3161      t201 = 1/t200
3162      t202 = t2*t201
3163      t204 = -t114-0.9268252376942842D0*t119
3164      t207 = -0.2067834969664667D0*t197*t107-0.6203504908994D0*t202*t204
3165      t208 = t207*t125
3166      t211 = t60**2
3167      t212 = 1/t211
3168      t213 = t212*t118
3169      t215 = 1.D0+0.223816694236D2*t212
3170      t216 = 1/t215
3171      t220 = t65*t55
3172      t223 = t66*t201
3173      t226 = -0.2625411059665811D0*t220*t119-1.D0*t223*t204
3174      t227 = 1/t66
3175      t228 = t226*t227
3176      t234 = 0.2505897912236993D-1*t208*t54+0.6519760588836059D-1*t213
3177     #*t107*t216+0.2247867095542612D-2*t228*t54-0.5011795824473985D-1
3178     #*t127-0.626408570946439D-1*t136-0.9690227711544374D-3*t147
3179      t237 = t40**2
3180      t238 = 1/t237
3181      t239 = t73*t238
3182      t242 = -0.101257459063883D3*t234*t74+0.101257459063883D3*t239*t183
3183      t243 = t242*t79
3184      t246 = 1/t82/rho
3185      t249 = t243*t83-4.D0*t80*t246
3186      t250 = t52*t249
3187      t253 = rho*(0.5011795824473985D-1*t127+0.626408570946439D-1*t136
3188     #+0.9690227711544374D-3*t147-0.1899772193293833D-1*t185
3189     #-0.1899772193293833D-1*t195-0.1899772193293833D-1*t250)
3190      vrhoa(i) = rho*(-t96-0.7599088773175333D-1*t100)+t11+t17+t23-t87
3191     #+t253
3192      t254 = -t93
3193      t255 = t40*t254
3194      t256 = t255*t85
3195      t257 = 0.1899772193293833D-1*t256
3196      vrhob(i) = rho*(-t257+0.7599088773175333D-1*t100)+t11+t17+t23
3197     #-t87+t253
3198      t261 = t45**2
3199      t262 = 1/t261
3200      t265 = t49**2
3201      t266 = 1/t265
3202      t269 = 0.4444444444444444D0*t262*t107+0.4444444444444444D0*t266
3203     #*t107
3204      t272 = 0.1899772193293833D-1*t40*t269*t85
3205      t273 = t94*t99
3206      t277 = t52*t77*t78*t83
3207      t278 = 0.22797266319526D0*t277
3208      t285 = 0.1899772193293833D-1*t183*t93*t85
3209      t286 = t184*t99
3210      t287 = 0.7599088773175333D-1*t286
3211      t290 = 1/t81/rho
3212      t300 = -0.4444444444444444D0*t262*t42*t290-0.1333333333333333D1
3213     #*t45*t107-0.4444444444444444D0*t266*t42*t290
3214     #+0.1333333333333333D1*t49*t107
3215      t303 = 0.1899772193293833D-1*t40*t300*t85
3216      t304 = t194*t99
3217      t305 = 0.7599088773175333D-1*t304
3218      t307 = 0.1899772193293833D-1*t94*t249
3219      t309 = t242*t97*t83
3220      t311 = t98*t246
3221      t313 = 4.D0*t309-16.D0*t311
3222      t317 = rho*(-t285-t287-t303-t305-t307-0.1899772193293833D-1*t52
3223     #*t313)
3224      t318 = t52*t309
3225      t320 = t52*t311
3226      t323 = rho*(-t285-t303-t307-t287-t305-0.7599088773175333D-1*t318
3227     #+0.3039635509270133D0*t320)
3228      t324 = 0.1002359164894797D0*t127
3229      t325 = 0.1252817141892878D0*t136
3230      t326 = 0.1938045542308875D-2*t147
3231      t327 = 0.3799544386587666D-1*t185
3232      t328 = 0.3799544386587666D-1*t195
3233      t329 = 0.3799544386587666D-1*t250
3234      t331 = 1/t104/t1
3235      t333 = t331*t7*t83
3236      t342 = 1/t110/t6
3237      t344 = t121**2
3238      t348 = 0.1378556646443111D0*t331*t83
3239      t350 = 0.4135669939329333D0*t105*t290
3240      t352 = 1/t117/t1
3241      t353 = t352*t83
3242      t355 = t118*t290
3243      t357 = -t348+t350-0.4077525916766971D0*t353+0.978606220024073D0
3244     #*t355
3245      t362 = (-0.1378556646443111D0*t333+0.4135669939329333D0*t105
3246     #*t111*t107*t121+0.4135669939329333D0*t106*t290
3247     #+0.12407009817988D1*t2*t342*t344-0.6203504908994D0*t112*t357)
3248     #*t125*t6
3249      t365 = 1/t2/t1
3250      t368 = t124*t365*t6*t107
3251      t370 = t126*t121
3252      t375 = t83*t134
3253      t376 = 1/t129/t13*t331*t375
3254      t379 = t130*t352*t375
3255      t382 = t131*t290*t134
3256      t384 = t129**2
3257      t388 = t133**2
3258      t391 = 1/t384/t13*t331*t83/t388
3259      t409 = (0.3446391616107778D-1*t333+0.5250822119331622D0*t19*t111
3260     #*t119*t121-0.2187842549721509D0*t138*t353+0.5250822119331622D0
3261     #*t138*t355+2.D0*t20*t342*t344-1.D0*t141*t357)*t145*t6
3262      t416 = t144/t20/t19*t6*t118*t107
3263      t418 = t146*t121
3264      t421 = t331*t26*t83
3265      t430 = 1/t152/t25
3266      t432 = t156**2
3267      t437 = -t348+t350-0.1237301536356754D0*t353+0.2969523687256209D0
3268     #*t355
3269      t453 = t83*t168
3270      t462 = t163**2
3271      t466 = t167**2
3272      t498 = 0.161199195401647D1*(-0.1378556646443111D0*t421
3273     #+0.4135669939329333D0*t105*t153*t107*t156+0.4135669939329333D0
3274     #*t149*t290+0.12407009817988D1*t2*t430*t432-0.6203504908994D0
3275     #*t154*t437)*t125*t25+0.5373306513388232D0*t159*t365*t25*t107
3276     #+0.161199195401647D1*t160*t156+0.3119768427869032D0/t163/t30
3277     #*t331*t453+0.495123804261555D0*t164*t352*t453
3278     #-0.1188297130227732D1*t165*t290*t168-0.1582929339795102D2/t462
3279     #/t30*t331*t83/t466+0.4140337942820627D-3*(0.3446391616107778D-1
3280     #*t421+0.5250822119331622D0*t35*t153*t119*t156
3281     #-0.2187842549721509D0*t172*t353+0.5250822119331622D0*t172*t355
3282     #+2.D0*t36*t430*t432-1.D0*t175*t437)*t179*t25
3283     #+0.1087008902583527D-3*t178/t36/t35*t25*t118*t107
3284     #+0.4140337942820627D-3*t180*t156
3285      t524 = t331*t55*t83
3286      t533 = 1/t200/t54
3287      t535 = t204**2
3288      t540 = -t348+t350-0.7723543647452368D0*t353+0.1853650475388568D1
3289     #*t355
3290      t556 = t83*t216
3291      t565 = t211**2
3292      t569 = t215**2
3293      s1 = 0.2505897912236993D-1*(-0.1378556646443111D0*t524
3294     #+0.4135669939329333D0*t105*t201*t107*t204+0.4135669939329333D0
3295     #*t197*t290+0.12407009817988D1*t2*t533*t535-0.6203504908994D0
3296     #*t202*t540)*t125*t54+0.8352993040789975D-2*t207*t365*t54*t107
3297     #+0.2505897912236993D-1*t208*t204+0.3423410311260694D-1/t211/t60
3298     #*t331*t556+0.5433133824030049D-1*t212*t352*t556
3299     #-0.1303952117767212D0*t213*t290*t216-0.7662163788798043D0/t565
3300     #/t60*t331*t83/t569+0.2247867095542612D-2*(0.3446391616107778D-1
3301     #*t524+0.5250822119331622D0*t65*t201*t119*t204
3302     #-0.2187842549721509D0*t220*t353+0.5250822119331622D0*t220*t355
3303     #+2.D0*t66*t533*t535-1.D0*t223*t540)*t227*t54
3304     #+0.5901575133296437D-3*t226/t66/t65*t54*t118*t107
3305     #+0.2247867095542612D-2*t228*t204
3306      t611 = s1-0.5011795824473985D-1*t362-0.1670598608157995D-1*t368
3307     #-0.5011795824473985D-1*t370-0.3289159980064473D-1*t376
3308     #-0.5220071424553658D-1*t379+0.1252817141892878D0*t382
3309     #+0.1244848083156773D1*t391-0.9690227711544374D-3*t409
3310     #-0.2544083100456872D-3*t416-0.9690227711544374D-3*t418
3311      t620 = t183**2
3312      t637 = 0.5011795824473985D-1*t362+0.1670598608157995D-1*t368
3313     #+0.5011795824473985D-1*t370+0.3289159980064473D-1*t376
3314     #+0.5220071424553658D-1*t379-0.1252817141892878D0*t382
3315     #-0.1244848083156773D1*t391+0.9690227711544374D-3*t409
3316     #+0.2544083100456872D-3*t416+0.9690227711544374D-3*t418
3317     #-0.1899772193293833D-1*t498*t51*t85-0.3799544386587666D-1*t183
3318     #*t193*t85-0.3799544386587666D-1*t184*t249-0.1899772193293833D-1
3319     #*t40*(0.4444444444444444D0*t262*t78*t83+0.2666666666666667D1
3320     #*t187*t290+0.4444444444444444D0*t266*t78*t83
3321     #-0.2666666666666667D1*t190*t290)*t85-0.3799544386587666D-1*t194
3322     #*t249-0.1899772193293833D-1*t52*((-0.101257459063883D3*t611*t74
3323     #+0.2025149181277661D3*t234*t238*t183-0.2025149181277661D3*t73
3324     #/t237/t40*t620+0.101257459063883D3*t239*t498)*t79*t83-8.D0*t243
3325     #*t246+20.D0*t80/t82/t81)
3326      t638 = rho*t637
3327      v2rhoa2(i) = rho*(-t272-0.1519817754635067D0*t273-t278)
3328     #-0.3799544386587666D-1*t95-0.1519817754635067D0*t100+t317+t323
3329     #+t324+t325+t326-t327-t328-t329+t638
3330      t639 = t255*t99
3331      t647 = 0.1899772193293833D-1*t183*t254*t85
3332      t648 = 0.7599088773175333D-1*t286
3333      t652 = -0.1899772193293833D-1*t40*t300*t85
3334      t653 = 0.7599088773175333D-1*t304
3335      t655 = 0.1899772193293833D-1*t255*t249
3336      t660 = rho*(-t647+t648-t652+t653-t655+0.1899772193293833D-1*t52
3337     #*t313)
3338      t664 = rho*(-t647-t652-t655+t648+t653+0.7599088773175333D-1*t318
3339     #-0.3039635509270133D0*t320)
3340      v2rhob2(i) = rho*(-t272+0.1519817754635067D0*t639-t278)
3341     #-0.3799544386587666D-1*t256+0.1519817754635067D0*t100+t660+t664
3342     #+t324+t325+t326-t327-t328-t329+t638
3343      v2rhoab(i) = rho*(0.1899772193293833D-1*t40*t269*t85
3344     #+0.7599088773175333D-1*t273-0.7599088773175333D-1*t639
3345     #+0.22797266319526D0*t277)-t257+0.5D0*t660-t96+0.5D0*t323+t324
3346     #+t325+t326-t327-t328-t329+t638+0.5D0*t317+0.5D0*t664
3347      endif ! rhoa,rhob
3348      else ! rho
3349      zk(i) = 0.0d0
3350      vrhoa(i) = 0.0d0
3351      vrhob(i) = 0.0d0
3352      v2rhoa2(i) = 0.0d0
3353      v2rhob2(i) = 0.0d0
3354      v2rhoab(i) = 0.0d0
3355      endif ! rho
3356      enddo
3357
3358      endif ! ideriv
3359      return
3360      end
3361
3362
3363      subroutine rks_c_vwn5
3364     & (ideriv,npt,rhoa1,sigmaaa1,
3365     &  zk,vrhoa,vsigmaaa,
3366     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
3367c
3368c     S.H. Vosko, L. Wilk, and M. Nusair
3369c     Accurate spin-dependent electron liquid correlation energies for
3370c     local spin density calculations: a critical analysis
3371c     Can. J. Phys. 58 (1980) 1200-1211
3372c
3373c
3374c     CITATION:
3375c
3376c     Functionals were obtained from the Density Functional Repository
3377c     as developed and distributed by the Quantum Chemistry Group,
3378c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
3379c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
3380c     Paul Sherwood for further information.
3381c
3382c     COPYRIGHT:
3383c
3384c     Users may incorporate the source code into software packages and
3385c     redistribute the source code provided the source code is not
3386c     changed in anyway and is properly cited in any documentation or
3387c     publication related to its use.
3388c
3389c     ACKNOWLEDGEMENT:
3390c
3391c     The source code was generated using Maple 8 through a modified
3392c     version of the dfauto script published in:
3393c
3394c        R. Strange, F.R. Manby, P.J. Knowles
3395c        Automatic code generation in density functional theory
3396c        Comp. Phys. Comm. 136 (2001) 310-318.
3397c
3398      implicit real*8 (a-h,o-z)
3399      integer ideriv,npt
3400      real*8 rhoa1(npt)
3401      real*8 sigmaaa1(npt)
3402      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
3403      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
3404      parameter(tol=1.0d-20)
3405
3406      if(ideriv.eq.0) then
3407
3408      do i=1,npt
3409      rho = dmax1(0.D0,rhoa1(i))
3410      if(rho.gt.tol) then
3411      t1 = 1/rho
3412      t2 = t1**(1.D0/3.D0)
3413      t4 = t1**(1.D0/6.D0)
3414      t7 = 1/(0.6203504908994D0*t2+0.2935818660072219D1*t4+0.129352D2)
3415      t10 = dlog(0.6203504908994D0*t2*t7)
3416      t16 = datan(0.615199081975908D1/(0.1575246635799487D1*t4
3417     #+0.372744D1))
3418      t20 = (0.7876233178997433D0*t4+0.10498D0)**2
3419      t22 = dlog(t20*t7)
3420      zk(i) = rho*(0.310907D-1*t10+0.3878329487811301D-1*t16
3421     #+0.9690227711544374D-3*t22)
3422      else ! rho
3423      zk(i) = 0.0d0
3424      endif ! rho
3425      enddo
3426
3427      else if(ideriv.eq.1) then
3428
3429      do i=1,npt
3430      rho = dmax1(0.D0,rhoa1(i))
3431      if(rho.gt.tol) then
3432      t1 = 1/rho
3433      t2 = t1**(1.D0/3.D0)
3434      t4 = t1**(1.D0/6.D0)
3435      t6 = 0.6203504908994D0*t2+0.2935818660072219D1*t4+0.129352D2
3436      t7 = 1/t6
3437      t10 = dlog(0.6203504908994D0*t2*t7)
3438      t11 = 0.310907D-1*t10
3439      t13 = 0.1575246635799487D1*t4+0.372744D1
3440      t16 = datan(0.615199081975908D1/t13)
3441      t17 = 0.3878329487811301D-1*t16
3442      t19 = 0.7876233178997433D0*t4+0.10498D0
3443      t20 = t19**2
3444      t22 = dlog(t20*t7)
3445      t23 = 0.9690227711544374D-3*t22
3446      zk(i) = rho*(t11+t17+t23)
3447      t25 = t2**2
3448      t26 = 1/t25
3449      t28 = rho**2
3450      t29 = 1/t28
3451      t32 = t6**2
3452      t33 = 1/t32
3453      t37 = t4**2
3454      t38 = t37**2
3455      t40 = 1/t38/t4
3456      t41 = t40*t29
3457      t43 = -0.2067834969664667D0*t26*t29-0.4893031100120365D0*t41
3458      t51 = t13**2
3459      t52 = 1/t51
3460      vrhoa(i) = t11+t17+t23+rho*(0.5011795824473985D-1*(
3461     #-0.2067834969664667D0*t26*t7*t29-0.6203504908994D0*t2*t33*t43)
3462     #/t2*t6+0.626408570946439D-1*t52*t40*t29/(1.D0+0.378469910464D2
3463     #*t52)+0.9690227711544374D-3*(-0.2625411059665811D0*t19*t7*t41
3464     #-1.D0*t20*t33*t43)/t20*t6)
3465      else ! rho
3466      zk(i) = 0.0d0
3467      vrhoa(i) = 0.0d0
3468      endif ! rho
3469      enddo
3470
3471      else if(ideriv.eq.2) then
3472
3473      do i=1,npt
3474      rho = dmax1(0.D0,rhoa1(i))
3475      if(rho.gt.tol) then
3476      t1 = 1/rho
3477      t2 = t1**(1.D0/3.D0)
3478      t4 = t1**(1.D0/6.D0)
3479      t6 = 0.6203504908994D0*t2+0.2935818660072219D1*t4+0.129352D2
3480      t7 = 1/t6
3481      t10 = dlog(0.6203504908994D0*t2*t7)
3482      t11 = 0.310907D-1*t10
3483      t13 = 0.1575246635799487D1*t4+0.372744D1
3484      t16 = datan(0.615199081975908D1/t13)
3485      t17 = 0.3878329487811301D-1*t16
3486      t19 = 0.7876233178997433D0*t4+0.10498D0
3487      t20 = t19**2
3488      t22 = dlog(t20*t7)
3489      t23 = 0.9690227711544374D-3*t22
3490      zk(i) = rho*(t11+t17+t23)
3491      t25 = t2**2
3492      t26 = 1/t25
3493      t27 = t26*t7
3494      t28 = rho**2
3495      t29 = 1/t28
3496      t32 = t6**2
3497      t33 = 1/t32
3498      t34 = t2*t33
3499      t37 = t4**2
3500      t38 = t37**2
3501      t39 = t38*t4
3502      t40 = 1/t39
3503      t41 = t40*t29
3504      t43 = -0.2067834969664667D0*t26*t29-0.4893031100120365D0*t41
3505      t46 = -0.2067834969664667D0*t27*t29-0.6203504908994D0*t34*t43
3506      t47 = 1/t2
3507      t48 = t46*t47
3508      t49 = t48*t6
3509      t51 = t13**2
3510      t52 = 1/t51
3511      t53 = t52*t40
3512      t55 = 1.D0+0.378469910464D2*t52
3513      t56 = 1/t55
3514      t58 = t53*t29*t56
3515      t60 = t19*t7
3516      t63 = t20*t33
3517      t66 = -0.2625411059665811D0*t60*t41-1.D0*t63*t43
3518      t67 = 1/t20
3519      t68 = t66*t67
3520      t69 = t68*t6
3521      vrhoa(i) = t11+t17+t23+rho*(0.5011795824473985D-1*t49
3522     #+0.626408570946439D-1*t58+0.9690227711544374D-3*t69)
3523      t77 = 1/t25/t1
3524      t79 = t28**2
3525      t80 = 1/t79
3526      t81 = t77*t7*t80
3527      t88 = 1/t28/rho
3528      t92 = 1/t32/t6
3529      t94 = t43**2
3530      t102 = 1/t39/t1
3531      t103 = t102*t80
3532      t105 = t40*t88
3533      t107 = -0.1378556646443111D0*t77*t80+0.4135669939329333D0*t26
3534     #*t88-0.4077525916766971D0*t103+0.978606220024073D0*t105
3535      t125 = t80*t56
3536      t134 = t51**2
3537      t138 = t55**2
3538      s1 = 0.2004718329789594D0*t49+0.2505634283785756D0*t58
3539      v2rhoa2(i) = s1+0.387609108461775D-2*t69+2.D0*rho*
3540     #(0.5011795824473985D-1*(-0.1378556646443111D0*t81
3541     #+0.4135669939329333D0*t26*t33*t29*t43+0.4135669939329333D0*t27
3542     #*t88+0.12407009817988D1*t2*t92*t94-0.6203504908994D0*t34*t107)
3543     #*t47*t6+0.1670598608157995D-1*t46/t2/t1*t6*t29
3544     #+0.5011795824473985D-1*t48*t43+0.3289159980064473D-1/t51/t13*t77
3545     #*t125+0.5220071424553658D-1*t52*t102*t125-0.1252817141892878D0
3546     #*t53*t88*t56-0.1244848083156773D1/t134/t13*t77*t80/t138
3547     #+0.9690227711544374D-3*(0.3446391616107778D-1*t81
3548     #+0.5250822119331622D0*t19*t33*t41*t43-0.2187842549721509D0*t60
3549     #*t103+0.5250822119331622D0*t60*t105+2.D0*t20*t92*t94-1.D0*t63
3550     #*t107)*t67*t6+0.2544083100456872D-3*t66/t20/t19*t6*t40*t29
3551     #+0.9690227711544374D-3*t68*t43)
3552      else ! rho
3553      zk(i) = 0.0d0
3554      vrhoa(i) = 0.0d0
3555      v2rhoa2(i) = 0.0d0
3556      endif ! rho
3557      enddo
3558
3559      endif ! ideriv
3560      return
3561      end
3562
3563
3564      subroutine uks_c_p86
3565     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
3566     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
3567     &  v2rhoa2,v2rhob2,v2rhoab,
3568     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
3569     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
3570     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
3571     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
3572c
3573c     J.P. Perdew
3574c     Density-functional approximation for the correlation energy of
3575c     the inhomogeneous electron gas
3576c     Phys. Rev. B33 (1986) 8822-8824
3577c
3578c
3579c     CITATION:
3580c
3581c     Functionals were obtained from the Density Functional Repository
3582c     as developed and distributed by the Quantum Chemistry Group,
3583c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
3584c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
3585c     Paul Sherwood for further information.
3586c
3587c     COPYRIGHT:
3588c
3589c     Users may incorporate the source code into software packages and
3590c     redistribute the source code provided the source code is not
3591c     changed in anyway and is properly cited in any documentation or
3592c     publication related to its use.
3593c
3594c     ACKNOWLEDGEMENT:
3595c
3596c     The source code was generated using Maple 8 through a modified
3597c     version of the dfauto script published in:
3598c
3599c        R. Strange, F.R. Manby, P.J. Knowles
3600c        Automatic code generation in density functional theory
3601c        Comp. Phys. Comm. 136 (2001) 310-318.
3602c
3603      implicit real*8 (a-h,o-z)
3604      integer ideriv,npt
3605      real*8 rhoa1(npt),rhob1(npt)
3606      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
3607      real*8 zk(npt),vrhoa(npt),vrhob(npt)
3608      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
3609      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
3610      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
3611      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
3612      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
3613      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
3614      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
3615      parameter(tol=1.0d-20)
3616      logical t7
3617
3618      if (ideriv.eq.0) then
3619
3620      do i=1,npt
3621      rhoa = dmax1(0.D0,rhoa1(i))
3622      rhob = dmax1(0.D0,rhob1(i))
3623      rho = rhoa+rhob
3624      if(rho.gt.tol) then
3625      if(rhoa.lt.tol) then
3626      rho = rhob
3627      sigmabb = dmax1(0.D0,sigmabb1(i))
3628      sigma = sigmabb
3629      t2 = 1/rhob
3630      t3 = t2**(1.D0/3.D0)
3631      t4 = 0.6203504908994D0*t3
3632      t6 = t2**(1.D0/6.D0)
3633      t12 = dlog(t4)
3634      t18 = piecewise(1.D0 .le. t4,-0.843D-1/(1.D0
3635     #+0.1101176160755631D1*t6+0.1619735131738333D0*t3),0.1555D-1*t12
3636     #-0.269D-1+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
3637      t20 = dsqrt(sigmabb)
3638      t22 = t3**2
3639      t31 = 0.1667D-2+(0.2568D-2+0.1443307452126544D-1*t3
3640     #+0.2843543831490386D-5*t22)/(1.D0+0.5411317332115466D1*t3
3641     #+0.1816419932959077D0*t22+0.1763993811759022D-1*t2)
3642      t34 = rhob**(1.D0/6.D0)
3643      t39 = dexp(-0.81290825D-3*t20/t31/t34/rhob)
3644      t41 = rhob**(1.D0/3.D0)
3645      zk(i) = rhob*t18+0.7937005259840997D0*t39*t31*sigmabb/t41/rhob
3646      elseif(rhob.lt.tol) then
3647      rho = rhoa
3648      sigmaaa = dmax1(0.D0,sigmaaa1(i))
3649      sigma = sigmaaa
3650      t2 = 1/rhoa
3651      t3 = t2**(1.D0/3.D0)
3652      t4 = 0.6203504908994D0*t3
3653      t6 = t2**(1.D0/6.D0)
3654      t12 = dlog(t4)
3655      t18 = piecewise(1.D0 .le. t4,-0.843D-1/(1.D0
3656     #+0.1101176160755631D1*t6+0.1619735131738333D0*t3),0.1555D-1*t12
3657     #-0.269D-1+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
3658      t20 = dsqrt(sigmaaa)
3659      t22 = t3**2
3660      t31 = 0.1667D-2+(0.2568D-2+0.1443307452126544D-1*t3
3661     #+0.2843543831490386D-5*t22)/(1.D0+0.5411317332115466D1*t3
3662     #+0.1816419932959077D0*t22+0.1763993811759022D-1*t2)
3663      t34 = rhoa**(1.D0/6.D0)
3664      t39 = dexp(-0.81290825D-3*t20/t31/t34/rhoa)
3665      t41 = rhoa**(1.D0/3.D0)
3666      zk(i) = rhoa*t18+0.7937005259840997D0*t39*t31*sigmaaa/t41/rhoa
3667      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
3668      sigmaaa = dmax1(0.D0,sigmaaa1(i))
3669      sigmaab = sigmaab1(i)
3670      sigmabb = dmax1(0.D0,sigmabb1(i))
3671      sigma = sigmaaa+sigmabb+2.D0*sigmaab
3672      t4 = 1/rho
3673      t5 = t4**(1.D0/3.D0)
3674      t6 = 0.6203504908994D0*t5
3675      t8 = t4**(1.D0/6.D0)
3676      t13 = 0.1423D0/(1.D0+0.8292885914166397D0*t8+0.20682485366586D0
3677     #*t5)
3678      t22 = (rhoa-1.D0*rhob)*t4
3679      t23 = 1.D0+t22
3680      t24 = t23**(1.D0/3.D0)
3681      t27 = 1.D0-1.D0*t22
3682      t28 = t27**(1.D0/3.D0)
3683      t30 = t24*t23+t28*t27-2.D0
3684      t34 = dlog(t6)
3685      t36 = t5*t34
3686      t46 = piecewise(1.D0 .le. t6,-t13+0.1923661050931536D1*(
3687     #-0.843D-1/(1.D0+0.1101176160755631D1*t8+0.1619735131738333D0*t5)
3688     #+t13)*t30,0.311D-1*t34-0.48D-1+0.12407009817988D-2*t36
3689     #-0.719606569443304D-2*t5+0.1923661050931536D1*(-0.1555D-1*t34
3690     #+0.211D-1-0.80645563816922D-3*t36+0.421838333811592D-2*t5)*t30)
3691      t48 = dsqrt(sigma)
3692      t50 = t5**2
3693      t59 = 0.1667D-2+(0.2568D-2+0.1443307452126544D-1*t5
3694     #+0.2843543831490386D-5*t50)/(1.D0+0.5411317332115466D1*t5
3695     #+0.1816419932959077D0*t50+0.1763993811759022D-1*t4)
3696      t62 = rho**(1.D0/6.D0)
3697      t67 = dexp(-0.81290825D-3*t48/t59/t62/rho)
3698      t69 = rho**(1.D0/3.D0)
3699      t74 = 0.5D0+0.5D0*t22
3700      t75 = t74**(1.D0/3.D0)
3701      t76 = t75**2
3702      t79 = 0.5D0-0.5D0*t22
3703      t80 = t79**(1.D0/3.D0)
3704      t81 = t80**2
3705      t84 = dsqrt(t76*t74+t81*t79)
3706      zk(i) = rho*t46+0.7937005259840997D0*t67*t59*sigma/t69/rho/t84
3707      endif ! rhoa,rhob
3708      else ! rho
3709      zk(i) = 0.0d0
3710      endif ! rho
3711      enddo
3712
3713      else if(ideriv.eq.1) then
3714
3715      do i=1,npt
3716      rhoa = dmax1(0.D0,rhoa1(i))
3717      rhob = dmax1(0.D0,rhob1(i))
3718      rho = rhoa+rhob
3719      if(rho.gt.tol) then
3720      if(rhoa.lt.tol) then
3721      rho = rhob
3722      sigmabb = dmax1(0.D0,sigmabb1(i))
3723      sigma = sigmabb
3724      t2 = 1/rhob
3725      t3 = t2**(1.D0/3.D0)
3726      t4 = 0.6203504908994D0*t3
3727      t7 = 1.D0 .le. t4
3728      t6 = t2**(1.D0/6.D0)
3729      t9 = 1.D0+0.1101176160755631D1*t6+0.1619735131738333D0*t3
3730      t12 = dlog(t4)
3731      t18 = piecewise(t7,-0.843D-1/t9,0.1555D-1*t12-0.269D-1
3732     #+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
3733      t20 = dsqrt(sigmabb)
3734      t22 = t3**2
3735      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
3736      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
3737     #+0.1763993811759022D-1*t2
3738      t29 = 1/t28
3739      t31 = 0.1667D-2+t24*t29
3740      t33 = t20/t31
3741      t34 = rhob**(1.D0/6.D0)
3742      t36 = 1/t34/rhob
3743      t39 = dexp(-0.81290825D-3*t33*t36)
3744      t40 = t39*t31
3745      t41 = rhob**(1.D0/3.D0)
3746      t43 = 1/t41/rhob
3747      t44 = sigmabb*t43
3748      zk(i) = rhob*t18+0.7937005259840997D0*t40*t44
3749      vrhoa(i) = 0.D0
3750      t47 = t9**2
3751      t49 = t6**2
3752      t50 = t49**2
3753      t53 = rhob**2
3754      t54 = 1/t53
3755      t57 = 1/t22
3756      t58 = t57*t54
3757      t71 = piecewise(t7,0.843D-1/t47*(-0.1835293601259385D0/t50/t6
3758     #*t54-0.5399117105794445D-1*t58),-0.5183333333333333D-2*t2
3759     #-0.1447484478765267D-3*t57*t12*t54-0.1447484478765267D-3*t3*t2
3760     #+0.99256078543904D-3*t58)
3761      t73 = t31**2
3762      t78 = 1/t3*t54
3763      t82 = t28**2
3764      t91 = (-0.4811024840421814D-2*t58-0.1895695887660258D-5*t78)*t29
3765     #-1.D0*t24/t82*(-0.1803772444038489D1*t58-0.1210946621972718D0
3766     #*t78-0.1763993811759022D-1*t54)
3767      vrhob(i) = t18+rhob*t71+0.7937005259840997D0*(0.81290825D-3*t20
3768     #/t73*t36*t91+0.9483929583333333D-3*t33/t34/t53)*t39*t31*sigmabb
3769     #*t43+0.7937005259840997D0*t39*t91*t44-0.10582673679788D1*t40
3770     #*sigmabb/t41/t53
3771      vsigmaaa(i) = 0.D0
3772      vsigmaab(i) = 0.D0
3773      t113 = dsqrt(rhob)
3774      vsigmabb(i) = -0.322602852800907D-3*t20/t113/t53*t39
3775     #+0.7937005259840997D0*t40*t43
3776      elseif(rhob.lt.tol) then
3777      rho = rhoa
3778      sigmaaa = dmax1(0.D0,sigmaaa1(i))
3779      sigma = sigmaaa
3780      t2 = 1/rhoa
3781      t3 = t2**(1.D0/3.D0)
3782      t4 = 0.6203504908994D0*t3
3783      t7 = 1.D0 .le. t4
3784      t6 = t2**(1.D0/6.D0)
3785      t9 = 1.D0+0.1101176160755631D1*t6+0.1619735131738333D0*t3
3786      t12 = dlog(t4)
3787      t18 = piecewise(t7,-0.843D-1/t9,0.1555D-1*t12-0.269D-1
3788     #+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
3789      t20 = dsqrt(sigmaaa)
3790      t22 = t3**2
3791      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
3792      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
3793     #+0.1763993811759022D-1*t2
3794      t29 = 1/t28
3795      t31 = 0.1667D-2+t24*t29
3796      t33 = t20/t31
3797      t34 = rhoa**(1.D0/6.D0)
3798      t36 = 1/t34/rhoa
3799      t39 = dexp(-0.81290825D-3*t33*t36)
3800      t40 = t39*t31
3801      t41 = rhoa**(1.D0/3.D0)
3802      t43 = 1/t41/rhoa
3803      t44 = sigmaaa*t43
3804      zk(i) = rhoa*t18+0.7937005259840997D0*t40*t44
3805      t47 = t9**2
3806      t49 = t6**2
3807      t50 = t49**2
3808      t53 = rhoa**2
3809      t54 = 1/t53
3810      t57 = 1/t22
3811      t58 = t57*t54
3812      t71 = piecewise(t7,0.843D-1/t47*(-0.1835293601259385D0/t50/t6
3813     #*t54-0.5399117105794445D-1*t58),-0.5183333333333333D-2*t2
3814     #-0.1447484478765267D-3*t57*t12*t54-0.1447484478765267D-3*t3*t2
3815     #+0.99256078543904D-3*t58)
3816      t73 = t31**2
3817      t78 = 1/t3*t54
3818      t82 = t28**2
3819      t91 = (-0.4811024840421814D-2*t58-0.1895695887660258D-5*t78)*t29
3820     #-1.D0*t24/t82*(-0.1803772444038489D1*t58-0.1210946621972718D0
3821     #*t78-0.1763993811759022D-1*t54)
3822      vrhoa(i) = t18+rhoa*t71+0.7937005259840997D0*(0.81290825D-3*t20
3823     #/t73*t36*t91+0.9483929583333333D-3*t33/t34/t53)*t39*t31*sigmaaa
3824     #*t43+0.7937005259840997D0*t39*t91*t44-0.10582673679788D1*t40
3825     #*sigmaaa/t41/t53
3826      vrhob(i) = 0.D0
3827      t113 = dsqrt(rhoa)
3828      vsigmaaa(i) = -0.322602852800907D-3*t20/t113/t53*t39
3829     #+0.7937005259840997D0*t40*t43
3830      vsigmaab(i) = 0.D0
3831      vsigmabb(i) = 0.D0
3832      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
3833      sigmaaa = dmax1(0.D0,sigmaaa1(i))
3834      sigmaab = sigmaab1(i)
3835      sigmabb = dmax1(0.D0,sigmabb1(i))
3836      sigma = sigmaaa+sigmabb+2.D0*sigmaab
3837      t4 = 1/rho
3838      t5 = t4**(1.D0/3.D0)
3839      t6 = 0.6203504908994D0*t5
3840      t7 = 1.D0 .le. t6
3841      t8 = t4**(1.D0/6.D0)
3842      t11 = 1.D0+0.8292885914166397D0*t8+0.20682485366586D0*t5
3843      t13 = 0.1423D0/t11
3844      t16 = 1.D0+0.1101176160755631D1*t8+0.1619735131738333D0*t5
3845      t19 = -0.843D-1/t16+t13
3846      t21 = rhoa-1.D0*rhob
3847      t22 = t21*t4
3848      t23 = 1.D0+t22
3849      t24 = t23**(1.D0/3.D0)
3850      t27 = 1.D0-1.D0*t22
3851      t28 = t27**(1.D0/3.D0)
3852      t30 = t24*t23+t28*t27-2.D0
3853      t34 = dlog(t6)
3854      t36 = t5*t34
3855      t42 = -0.1555D-1*t34+0.211D-1-0.80645563816922D-3*t36
3856     #+0.421838333811592D-2*t5
3857      t46 = piecewise(t7,-t13+0.1923661050931536D1*t19*t30,0.311D-1
3858     #*t34-0.48D-1+0.12407009817988D-2*t36-0.719606569443304D-2*t5
3859     #+0.1923661050931536D1*t42*t30)
3860      t48 = dsqrt(sigma)
3861      t50 = t5**2
3862      t52 = 0.2568D-2+0.1443307452126544D-1*t5+0.2843543831490386D-5*t50
3863      t56 = 1.D0+0.5411317332115466D1*t5+0.1816419932959077D0*t50
3864     #+0.1763993811759022D-1*t4
3865      t57 = 1/t56
3866      t59 = 0.1667D-2+t52*t57
3867      t61 = t48/t59
3868      t62 = rho**(1.D0/6.D0)
3869      t64 = 1/t62/rho
3870      t67 = dexp(-0.81290825D-3*t61*t64)
3871      t68 = t67*t59
3872      t69 = rho**(1.D0/3.D0)
3873      t71 = 1/t69/rho
3874      t74 = 0.5D0+0.5D0*t22
3875      t75 = t74**(1.D0/3.D0)
3876      t76 = t75**2
3877      t79 = 0.5D0-0.5D0*t22
3878      t80 = t79**(1.D0/3.D0)
3879      t81 = t80**2
3880      t83 = t76*t74+t81*t79
3881      t84 = dsqrt(t83)
3882      t85 = 1/t84
3883      t86 = sigma*t71*t85
3884      zk(i) = rho*t46+0.7937005259840997D0*t68*t86
3885      t93 = 0.1333333333333333D1*t24*t4-0.1333333333333333D1*t28*t4
3886      t98 = piecewise(t7,0.1923661050931536D1*t19
3887     #*t93,0.1923661050931536D1*t42*t93)
3888      t100 = t68*sigma
3889      t103 = t71/t84/t83
3890      t108 = 0.8333333333333333D0*t76*t4-0.8333333333333333D0*t81*t4
3891      t112 = t11**2
3892      t114 = t8**2
3893      t115 = t114**2
3894      t118 = rho**2
3895      t119 = 1/t118
3896      t120 = 1/t115/t8*t119
3897      t122 = 1/t50
3898      t123 = t122*t119
3899      t127 = 0.1423D0/t112*(-0.1382147652361066D0*t120
3900     #-0.6894161788861999D-1*t123)
3901      t128 = t16**2
3902      t144 = -0.1333333333333333D1*t24*t21*t119+0.1333333333333333D1
3903     #*t28*t21*t119
3904      t150 = t122*t34*t119
3905      t152 = t5*t4
3906      t165 = piecewise(t7,t127+0.1923661050931536D1*(0.843D-1/t128*(
3907     #-0.1835293601259385D0*t120-0.5399117105794445D-1*t123)-t127)*t30
3908     #+0.1923661050931536D1*t19*t144,-0.1036666666666667D-1*t4
3909     #-0.4135669939329333D-3*t150-0.4135669939329333D-3*t152
3910     #+0.2398688564811013D-2*t123+0.1923661050931536D1*
3911     #(0.5183333333333333D-2*t4+0.2688185460564067D-3*t150
3912     #+0.2688185460564067D-3*t152-0.1406127779371973D-2*t123)*t30
3913     #+0.1923661050931536D1*t42*t144)
3914      t166 = rho*t165
3915      t167 = t59**2
3916      t172 = 1/t5*t119
3917      t176 = t56**2
3918      t185 = (-0.4811024840421814D-2*t123-0.1895695887660258D-5*t172)
3919     #*t57-1.D0*t52/t176*(-0.1803772444038489D1*t123
3920     #-0.1210946621972718D0*t172-0.1763993811759022D-1*t119)
3921      t197 = 0.7937005259840997D0*(0.81290825D-3*t48/t167*t64*t185
3922     #+0.9483929583333333D-3*t61/t62/t118)*t67*t59*t86
3923      t200 = 0.7937005259840997D0*t67*t185*t86
3924      t206 = 0.10582673679788D1*t68*sigma/t69/t118*t85
3925      t216 = 0.3968502629920499D0*t100*t103*(-0.8333333333333333D0*t76
3926     #*t21*t119+0.8333333333333333D0*t81*t21*t119)
3927      vrhoa(i) = rho*t98-0.3968502629920499D0*t100*t103*t108+t46+t166
3928     #+t197+t200-t206-t216
3929      t217 = -t93
3930      t222 = piecewise(t7,0.1923661050931536D1*t19
3931     #*t217,0.1923661050931536D1*t42*t217)
3932      vrhob(i) = rho*t222+0.3968502629920499D0*t100*t103*t108+t46+t166
3933     #+t197+t200-t206-t216
3934      t228 = dsqrt(rho)
3935      t233 = t48/t228/t118*t67*t85
3936      t236 = t68*t71*t85
3937      vsigmaaa(i) = -0.322602852800907D-3*t233+0.7937005259840997D0*t236
3938      vsigmaab(i) = -0.645205705601814D-3*t233+0.1587401051968199D1*t236
3939      vsigmabb(i) = vsigmaaa(i)
3940      endif ! rhoa,rhob
3941      else ! rho
3942      zk(i) = 0.0d0
3943      vrhoa(i) = 0.0d0
3944      vrhob(i) = 0.0d0
3945      vsigmaaa(i) = 0.0d0
3946      vsigmaab(i) = 0.0d0
3947      vsigmabb(i) = 0.0d0
3948      endif ! rho
3949      enddo
3950
3951      else if(ideriv.eq.2) then
3952
3953      do i=1,npt
3954      rhoa = dmax1(0.D0,rhoa1(i))
3955      rhob = dmax1(0.D0,rhob1(i))
3956      rho = rhoa+rhob
3957      if(rho.gt.tol) then
3958      if(rhoa.lt.tol) then
3959      rho = rhob
3960      sigmabb = dmax1(0.D0,sigmabb1(i))
3961      sigma = sigmabb
3962      t2 = 1/rhob
3963      t3 = t2**(1.D0/3.D0)
3964      t4 = 0.6203504908994D0*t3
3965      t7 = 1.D0 .le. t4
3966      t6 = t2**(1.D0/6.D0)
3967      t9 = 1.D0+0.1101176160755631D1*t6+0.1619735131738333D0*t3
3968      t12 = dlog(t4)
3969      t18 = piecewise(t7,-0.843D-1/t9,0.1555D-1*t12-0.269D-1
3970     #+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
3971      t20 = dsqrt(sigmabb)
3972      t22 = t3**2
3973      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
3974      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
3975     #+0.1763993811759022D-1*t2
3976      t29 = 1/t28
3977      t31 = 0.1667D-2+t24*t29
3978      t32 = 1/t31
3979      t33 = t20*t32
3980      t34 = rhob**(1.D0/6.D0)
3981      t36 = 1/t34/rhob
3982      t39 = dexp(-0.81290825D-3*t33*t36)
3983      t40 = t39*t31
3984      t41 = rhob**(1.D0/3.D0)
3985      t43 = 1/t41/rhob
3986      t44 = sigmabb*t43
3987      zk(i) = rhob*t18+0.7937005259840997D0*t40*t44
3988      vrhoa(i) = 0.D0
3989      t47 = t9**2
3990      t48 = 1/t47
3991      t49 = t6**2
3992      t50 = t49**2
3993      t51 = t50*t6
3994      t52 = 1/t51
3995      t53 = rhob**2
3996      t54 = 1/t53
3997      t57 = 1/t22
3998      t58 = t57*t54
3999      t60 = -0.1835293601259385D0*t52*t54-0.5399117105794445D-1*t58
4000      t64 = t57*t12
4001      t67 = t3*t2
4002      t71 = piecewise(t7,0.843D-1*t48*t60,-0.5183333333333333D-2*t2
4003     #-0.1447484478765267D-3*t64*t54-0.1447484478765267D-3*t67
4004     #+0.99256078543904D-3*t58)
4005      t73 = t31**2
4006      t75 = t20/t73
4007      t77 = 1/t3
4008      t78 = t77*t54
4009      t80 = -0.4811024840421814D-2*t58-0.1895695887660258D-5*t78
4010      t82 = t28**2
4011      t83 = 1/t82
4012      t84 = t24*t83
4013      t88 = -0.1803772444038489D1*t58-0.1210946621972718D0*t78
4014     #-0.1763993811759022D-1*t54
4015      t91 = t80*t29-1.D0*t84*t88
4016      t96 = 1/t34/t53
4017      t99 = 0.81290825D-3*t75*t36*t91+0.9483929583333333D-3*t33*t96
4018      t100 = t99*t39
4019      t101 = t31*sigmabb
4020      t102 = t101*t43
4021      t105 = t39*t91
4022      t109 = 1/t41/t53
4023      t110 = sigmabb*t109
4024      vrhob(i) = t18+rhob*t71+0.7937005259840997D0*t100*t102
4025     #+0.7937005259840997D0*t105*t44-0.10582673679788D1*t40*t110
4026      vsigmaaa(i) = 0.D0
4027      vsigmaab(i) = 0.D0
4028      t113 = dsqrt(rhob)
4029      t115 = 1/t113/t53
4030      vsigmabb(i) = -0.322602852800907D-3*t20*t115*t39
4031     #+0.7937005259840997D0*t40*t43
4032      v2rhoa2(i) = 0.D0
4033      v2rhoab(i) = 0.D0
4034      t124 = t60**2
4035      t129 = t53**2
4036      t130 = 1/t129
4037      t133 = t53*rhob
4038      t134 = 1/t133
4039      t138 = 1/t22/t2
4040      t139 = t138*t130
4041      t141 = t57*t134
4042      t158 = piecewise(t7,-0.1686D0/t47/t9*t124+0.843D-1*t48*(
4043     #-0.1529411334382821D0/t51/t2*t130+0.367058720251877D0*t52*t134
4044     #-0.3599411403862963D-1*t139+0.1079823421158889D0*t141
4045     #),0.5183333333333333D-2*t54-0.9649896525101778D-4*t138*t12*t130
4046     #-0.1888622605627062D-2*t141+0.2894968957530533D-3*t64*t134
4047     #+0.1447484478765267D-3*t3*t54+0.6617071902926934D-3*t139)
4048      t163 = t91**2
4049      t173 = 1/t67*t130
4050      t175 = t77*t134
4051      t185 = t88**2
4052      t196 = (-0.3207349893614542D-2*t139+0.9622049680843627D-2*t141
4053     #-0.6318986292200858D-6*t173+0.3791391775320515D-5*t175)*t29-2.D0
4054     #*t80*t83*t88+2.D0*t24/t82/t28*t185-1.D0*t84*(
4055     #-0.1202514962692326D1*t139+0.3607544888076978D1*t141
4056     #-0.4036488739909061D-1*t173+0.2421893243945437D0*t175
4057     #+0.3527987623518044D-1*t134)
4058      t208 = t99**2
4059      v2rhob2(i) = 2.D0*t71+rhob*t158+0.7937005259840997D0*(
4060     #-0.16258165D-2*t20/t73/t31*t36*t163-0.1896785916666667D-2*t75
4061     #*t96*t91+0.81290825D-3*t75*t36*t196-0.2054851409722222D-2*t33
4062     #/t34/t133)*t39*t102+0.7937005259840997D0*t208*t39*t102
4063     #+0.1587401051968199D1*t100*t91*sigmabb*t43-0.2116534735957599D1
4064     #*t100*t101*t109+0.7937005259840997D0*t39*t196*t44
4065     #-0.2116534735957599D1*t105*t110+0.2469290525283866D1*t40*sigmabb
4066     #/t41/t133
4067      v2sigmaaa2(i) = 0.D0
4068      v2sigmaaaab(i) = 0.D0
4069      v2sigmaaabb(i) = 0.D0
4070      v2sigmaab2(i) = 0.D0
4071      v2sigmaabbb(i) = 0.D0
4072      t233 = t41**2
4073      v2sigmabb2(i) = -0.4839042792013605D-3/t20*t115*t39
4074     #+0.1311232602576965D-6/t233/t133*t32*t39
4075      elseif(rhob.lt.tol) then
4076      rho = rhoa
4077      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4078      sigma = sigmaaa
4079      t2 = 1/rhoa
4080      t3 = t2**(1.D0/3.D0)
4081      t4 = 0.6203504908994D0*t3
4082      t7 = 1.D0 .le. t4
4083      t6 = t2**(1.D0/6.D0)
4084      t9 = 1.D0+0.1101176160755631D1*t6+0.1619735131738333D0*t3
4085      t12 = dlog(t4)
4086      t18 = piecewise(t7,-0.843D-1/t9,0.1555D-1*t12-0.269D-1
4087     #+0.43424534362958D-3*t3*t12-0.297768235631712D-2*t3)
4088      t20 = dsqrt(sigmaaa)
4089      t22 = t3**2
4090      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
4091      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
4092     #+0.1763993811759022D-1*t2
4093      t29 = 1/t28
4094      t31 = 0.1667D-2+t24*t29
4095      t32 = 1/t31
4096      t33 = t20*t32
4097      t34 = rhoa**(1.D0/6.D0)
4098      t36 = 1/t34/rhoa
4099      t39 = dexp(-0.81290825D-3*t33*t36)
4100      t40 = t39*t31
4101      t41 = rhoa**(1.D0/3.D0)
4102      t43 = 1/t41/rhoa
4103      t44 = sigmaaa*t43
4104      zk(i) = rhoa*t18+0.7937005259840997D0*t40*t44
4105      t47 = t9**2
4106      t48 = 1/t47
4107      t49 = t6**2
4108      t50 = t49**2
4109      t51 = t50*t6
4110      t52 = 1/t51
4111      t53 = rhoa**2
4112      t54 = 1/t53
4113      t57 = 1/t22
4114      t58 = t57*t54
4115      t60 = -0.1835293601259385D0*t52*t54-0.5399117105794445D-1*t58
4116      t64 = t57*t12
4117      t67 = t3*t2
4118      t71 = piecewise(t7,0.843D-1*t48*t60,-0.5183333333333333D-2*t2
4119     #-0.1447484478765267D-3*t64*t54-0.1447484478765267D-3*t67
4120     #+0.99256078543904D-3*t58)
4121      t73 = t31**2
4122      t75 = t20/t73
4123      t77 = 1/t3
4124      t78 = t77*t54
4125      t80 = -0.4811024840421814D-2*t58-0.1895695887660258D-5*t78
4126      t82 = t28**2
4127      t83 = 1/t82
4128      t84 = t24*t83
4129      t88 = -0.1803772444038489D1*t58-0.1210946621972718D0*t78
4130     #-0.1763993811759022D-1*t54
4131      t91 = t80*t29-1.D0*t84*t88
4132      t96 = 1/t34/t53
4133      t99 = 0.81290825D-3*t75*t36*t91+0.9483929583333333D-3*t33*t96
4134      t100 = t99*t39
4135      t101 = t31*sigmaaa
4136      t102 = t101*t43
4137      t105 = t39*t91
4138      t109 = 1/t41/t53
4139      t110 = sigmaaa*t109
4140      vrhoa(i) = t18+rhoa*t71+0.7937005259840997D0*t100*t102
4141     #+0.7937005259840997D0*t105*t44-0.10582673679788D1*t40*t110
4142      vrhob(i) = 0.D0
4143      t113 = dsqrt(rhoa)
4144      t115 = 1/t113/t53
4145      vsigmaaa(i) = -0.322602852800907D-3*t20*t115*t39
4146     #+0.7937005259840997D0*t40*t43
4147      vsigmaab(i) = 0.D0
4148      vsigmabb(i) = 0.D0
4149      t124 = t60**2
4150      t129 = t53**2
4151      t130 = 1/t129
4152      t133 = t53*rhoa
4153      t134 = 1/t133
4154      t138 = 1/t22/t2
4155      t139 = t138*t130
4156      t141 = t57*t134
4157      t158 = piecewise(t7,-0.1686D0/t47/t9*t124+0.843D-1*t48*(
4158     #-0.1529411334382821D0/t51/t2*t130+0.367058720251877D0*t52*t134
4159     #-0.3599411403862963D-1*t139+0.1079823421158889D0*t141
4160     #),0.5183333333333333D-2*t54-0.9649896525101778D-4*t138*t12*t130
4161     #-0.1888622605627062D-2*t141+0.2894968957530533D-3*t64*t134
4162     #+0.1447484478765267D-3*t3*t54+0.6617071902926934D-3*t139)
4163      t163 = t91**2
4164      t173 = 1/t67*t130
4165      t175 = t77*t134
4166      t185 = t88**2
4167      t196 = (-0.3207349893614542D-2*t139+0.9622049680843627D-2*t141
4168     #-0.6318986292200858D-6*t173+0.3791391775320515D-5*t175)*t29-2.D0
4169     #*t80*t83*t88+2.D0*t24/t82/t28*t185-1.D0*t84*(
4170     #-0.1202514962692326D1*t139+0.3607544888076978D1*t141
4171     #-0.4036488739909061D-1*t173+0.2421893243945437D0*t175
4172     #+0.3527987623518044D-1*t134)
4173      t208 = t99**2
4174      v2rhoa2(i) = 2.D0*t71+rhoa*t158+0.7937005259840997D0*(
4175     #-0.16258165D-2*t20/t73/t31*t36*t163-0.1896785916666667D-2*t75
4176     #*t96*t91+0.81290825D-3*t75*t36*t196-0.2054851409722222D-2*t33
4177     #/t34/t133)*t39*t102+0.7937005259840997D0*t208*t39*t102
4178     #+0.1587401051968199D1*t100*t91*sigmaaa*t43-0.2116534735957599D1
4179     #*t100*t101*t109+0.7937005259840997D0*t39*t196*t44
4180     #-0.2116534735957599D1*t105*t110+0.2469290525283866D1*t40*sigmaaa
4181     #/t41/t133
4182      v2rhob2(i) = 0.D0
4183      v2rhoab(i) = 0.D0
4184      t233 = t41**2
4185      v2sigmaaa2(i) = -0.4839042792013605D-3/t20*t115*t39
4186     #+0.1311232602576965D-6/t233/t133*t32*t39
4187      v2sigmaaaab(i) = 0.D0
4188      v2sigmaaabb(i) = 0.D0
4189      v2sigmaab2(i) = 0.D0
4190      v2sigmaabbb(i) = 0.D0
4191      v2sigmabb2(i) = 0.D0
4192      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
4193      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4194      sigmaab = sigmaab1(i)
4195      sigmabb = dmax1(0.D0,sigmabb1(i))
4196      sigma = sigmaaa+sigmabb+2.D0*sigmaab
4197      t4 = 1/rho
4198      t5 = t4**(1.D0/3.D0)
4199      t6 = 0.6203504908994D0*t5
4200      t7 = 1.D0 .le. t6
4201      t8 = t4**(1.D0/6.D0)
4202      t11 = 1.D0+0.8292885914166397D0*t8+0.20682485366586D0*t5
4203      t13 = 0.1423D0/t11
4204      t16 = 1.D0+0.1101176160755631D1*t8+0.1619735131738333D0*t5
4205      t19 = -0.843D-1/t16+t13
4206      t21 = rhoa-1.D0*rhob
4207      t22 = t21*t4
4208      t23 = 1.D0+t22
4209      t24 = t23**(1.D0/3.D0)
4210      t27 = 1.D0-1.D0*t22
4211      t28 = t27**(1.D0/3.D0)
4212      t30 = t24*t23+t28*t27-2.D0
4213      t34 = dlog(t6)
4214      t36 = t5*t34
4215      t42 = -0.1555D-1*t34+0.211D-1-0.80645563816922D-3*t36
4216     #+0.421838333811592D-2*t5
4217      t46 = piecewise(t7,-t13+0.1923661050931536D1*t19*t30,0.311D-1
4218     #*t34-0.48D-1+0.12407009817988D-2*t36-0.719606569443304D-2*t5
4219     #+0.1923661050931536D1*t42*t30)
4220      t48 = dsqrt(sigma)
4221      t50 = t5**2
4222      t52 = 0.2568D-2+0.1443307452126544D-1*t5+0.2843543831490386D-5*t50
4223      t56 = 1.D0+0.5411317332115466D1*t5+0.1816419932959077D0*t50
4224     #+0.1763993811759022D-1*t4
4225      t57 = 1/t56
4226      t59 = 0.1667D-2+t52*t57
4227      t60 = 1/t59
4228      t61 = t48*t60
4229      t62 = rho**(1.D0/6.D0)
4230      t64 = 1/t62/rho
4231      t67 = dexp(-0.81290825D-3*t61*t64)
4232      t68 = t67*t59
4233      t69 = rho**(1.D0/3.D0)
4234      t71 = 1/t69/rho
4235      t72 = sigma*t71
4236      t74 = 0.5D0+0.5D0*t22
4237      t75 = t74**(1.D0/3.D0)
4238      t76 = t75**2
4239      t79 = 0.5D0-0.5D0*t22
4240      t80 = t79**(1.D0/3.D0)
4241      t81 = t80**2
4242      t83 = t76*t74+t81*t79
4243      t84 = dsqrt(t83)
4244      t85 = 1/t84
4245      t86 = t72*t85
4246      zk(i) = rho*t46+0.7937005259840997D0*t68*t86
4247      t93 = 0.1333333333333333D1*t24*t4-0.1333333333333333D1*t28*t4
4248      t98 = piecewise(t7,0.1923661050931536D1*t19
4249     #*t93,0.1923661050931536D1*t42*t93)
4250      t100 = t68*sigma
4251      t102 = 1/t84/t83
4252      t103 = t71*t102
4253      t108 = 0.8333333333333333D0*t76*t4-0.8333333333333333D0*t81*t4
4254      t109 = t103*t108
4255      t112 = t11**2
4256      t113 = 1/t112
4257      t114 = t8**2
4258      t115 = t114**2
4259      t116 = t115*t8
4260      t117 = 1/t116
4261      t118 = rho**2
4262      t119 = 1/t118
4263      t120 = t117*t119
4264      t122 = 1/t50
4265      t123 = t122*t119
4266      t125 = -0.1382147652361066D0*t120-0.6894161788861999D-1*t123
4267      t127 = 0.1423D0*t113*t125
4268      t128 = t16**2
4269      t129 = 1/t128
4270      t132 = -0.1835293601259385D0*t120-0.5399117105794445D-1*t123
4271      t135 = 0.843D-1*t129*t132-t127
4272      t138 = t24*t21
4273      t141 = t28*t21
4274      t144 = -0.1333333333333333D1*t138*t119+0.1333333333333333D1*t141
4275     #*t119
4276      t149 = t122*t34
4277      t150 = t149*t119
4278      t152 = t5*t4
4279      t159 = 0.5183333333333333D-2*t4+0.2688185460564067D-3*t150
4280     #+0.2688185460564067D-3*t152-0.1406127779371973D-2*t123
4281      t165 = piecewise(t7,t127+0.1923661050931536D1*t135*t30
4282     #+0.1923661050931536D1*t19*t144,-0.1036666666666667D-1*t4
4283     #-0.4135669939329333D-3*t150-0.4135669939329333D-3*t152
4284     #+0.2398688564811013D-2*t123+0.1923661050931536D1*t159*t30
4285     #+0.1923661050931536D1*t42*t144)
4286      t166 = rho*t165
4287      t167 = t59**2
4288      t168 = 1/t167
4289      t169 = t48*t168
4290      t171 = 1/t5
4291      t172 = t171*t119
4292      t174 = -0.4811024840421814D-2*t123-0.1895695887660258D-5*t172
4293      t176 = t56**2
4294      t177 = 1/t176
4295      t178 = t52*t177
4296      t182 = -0.1803772444038489D1*t123-0.1210946621972718D0*t172
4297     #-0.1763993811759022D-1*t119
4298      t185 = t174*t57-1.D0*t178*t182
4299      t186 = t64*t185
4300      t190 = 1/t62/t118
4301      t193 = 0.81290825D-3*t169*t186+0.9483929583333333D-3*t61*t190
4302      t194 = t193*t67
4303      t195 = t194*t59
4304      t197 = 0.7937005259840997D0*t195*t86
4305      t198 = t67*t185
4306      t200 = 0.7937005259840997D0*t198*t86
4307      t202 = 1/t69/t118
4308      t204 = sigma*t202*t85
4309      t206 = 0.10582673679788D1*t68*t204
4310      t207 = t76*t21
4311      t210 = t81*t21
4312      t213 = -0.8333333333333333D0*t207*t119+0.8333333333333333D0*t210
4313     #*t119
4314      t214 = t103*t213
4315      t216 = 0.3968502629920499D0*t100*t214
4316      vrhoa(i) = rho*t98-0.3968502629920499D0*t100*t109+t46+t166+t197
4317     #+t200-t206-t216
4318      t217 = -t93
4319      t222 = piecewise(t7,0.1923661050931536D1*t19
4320     #*t217,0.1923661050931536D1*t42*t217)
4321      t224 = -t108
4322      t225 = t103*t224
4323      vrhob(i) = rho*t222-0.3968502629920499D0*t100*t225+t46+t166+t197
4324     #+t200-t206-t216
4325      t228 = dsqrt(rho)
4326      t230 = 1/t228/t118
4327      t231 = t48*t230
4328      t232 = t67*t85
4329      t233 = t231*t232
4330      t235 = t71*t85
4331      t236 = t68*t235
4332      vsigmaaa(i) = -0.322602852800907D-3*t233+0.7937005259840997D0*t236
4333      vsigmaab(i) = -0.645205705601814D-3*t233+0.1587401051968199D1*t236
4334      vsigmabb(i) = vsigmaaa(i)
4335      t240 = 2.D0*t165
4336      t244 = t185**2
4337      t252 = 1/t50/t4
4338      t253 = t118**2
4339      t254 = 1/t253
4340      t255 = t252*t254
4341      t257 = t118*rho
4342      t258 = 1/t257
4343      t259 = t122*t258
4344      t262 = 1/t152*t254
4345      t264 = t171*t258
4346      t274 = t182**2
4347      t285 = (-0.3207349893614542D-2*t255+0.9622049680843627D-2*t259
4348     #-0.6318986292200858D-6*t262+0.3791391775320515D-5*t264)*t57-2.D0
4349     #*t174*t177*t182+2.D0*t52/t176/t56*t274-1.D0*t178*(
4350     #-0.1202514962692326D1*t255+0.3607544888076978D1*t259
4351     #-0.4036488739909061D-1*t262+0.2421893243945437D0*t264
4352     #+0.3527987623518044D-1*t258)
4353      t297 = 0.7937005259840997D0*(-0.16258165D-2*t48/t167/t59*t64
4354     #*t244-0.1896785916666667D-2*t169*t190*t185+0.81290825D-3*t169
4355     #*t64*t285-0.2054851409722222D-2*t61/t62/t257)*t67*t59*t86
4356      t298 = t193**2
4357      t302 = 0.7937005259840997D0*t298*t67*t59*t86
4358      t306 = 0.7937005259840997D0*t195*t72*t102*t213
4359      t308 = 0.2116534735957599D1*t195*t204
4360      t311 = 0.1587401051968199D1*t194*t185*t86
4361      t314 = 0.7937005259840997D0*t67*t285*t86
4362      t315 = t198*sigma
4363      t317 = 0.7937005259840997D0*t315*t214
4364      t319 = 0.2116534735957599D1*t198*t204
4365      t320 = t24**2
4366      t321 = 1/t320
4367      t324 = t28**2
4368      t325 = 1/t324
4369      t328 = 0.4444444444444444D0*t321*t119+0.4444444444444444D0*t325
4370     #*t119
4371      t333 = piecewise(t7,0.1923661050931536D1*t19
4372     #*t328,0.1923661050931536D1*t42*t328)
4373      t334 = rho*t333
4374      t335 = t83**2
4375      t338 = t71/t84/t335
4376      t339 = t108**2
4377      t343 = 1/t75
4378      t346 = 1/t80
4379      t349 = 0.2777777777777778D0*t343*t119+0.2777777777777778D0*t346
4380     #*t119
4381      t352 = 0.3968502629920499D0*t100*t103*t349
4382      t353 = t240+t297+t302-t306-t308+t311+t314-t317-t319+t334
4383     #+0.5952753944880748D0*t100*t338*t339-t352
4384      t355 = t202*t102
4385      t358 = 0.10582673679788D1*t100*t355*t213
4386      t364 = 0.2469290525283866D1*t68*sigma/t69/t257*t85
4387      t375 = -0.2777777777777778D0*t343*t21*t258-0.8333333333333333D0
4388     #*t76*t119-0.2777777777777778D0*t346*t21*t258
4389     #+0.8333333333333333D0*t81*t119
4390      t377 = t100*t103*t375
4391      t379 = t315*t109
4392      t383 = t195*t72*t102*t108
4393      t397 = -0.4444444444444444D0*t321*t21*t258-0.1333333333333333D1
4394     #*t24*t119-0.4444444444444444D0*t325*t21*t258
4395     #+0.1333333333333333D1*t28*t119
4396      t406 = piecewise(t7,0.1923661050931536D1*t135*t93
4397     #+0.1923661050931536D1*t19*t397,0.1923661050931536D1*t159*t93
4398     #+0.1923661050931536D1*t42*t397)
4399      t407 = rho*t406
4400      t411 = t100*t338*t213*t108
4401      t414 = t100*t355*t108
4402      t416 = t213**2
4403      t419 = 0.5952753944880748D0*t100*t338*t416
4404      t420 = t21**2
4405      t434 = 0.3968502629920499D0*t100*t103*(0.2777777777777778D0*t343
4406     #*t420*t254+0.1666666666666667D1*t207*t258+0.2777777777777778D0
4407     #*t346*t420*t254-0.1666666666666667D1*t210*t258)
4408      t437 = t125**2
4409      t439 = 0.2846D0/t112/t11*t437
4410      t442 = 1/t116/t4*t254
4411      t444 = t117*t258
4412      t450 = 0.1423D0*t113*(-0.1151789710300888D0*t442
4413     #+0.2764295304722132D0*t444-0.4596107859241333D-1*t255
4414     #+0.13788323577724D0*t259)
4415      t453 = t132**2
4416      t478 = 0.4444444444444444D0*t321*t420*t254+0.2666666666666667D1
4417     #*t138*t258+0.4444444444444444D0*t325*t420*t254
4418     #-0.2666666666666667D1*t141*t258
4419      t484 = t252*t34*t254
4420      t487 = t149*t258
4421      t489 = t5*t119
4422      t506 = piecewise(t7,-t439+t450+0.1923661050931536D1*(-0.1686D0
4423     #/t128/t16*t453+0.843D-1*t129*(-0.1529411334382821D0*t442
4424     #+0.367058720251877D0*t444-0.3599411403862963D-1*t255
4425     #+0.1079823421158889D0*t259)+t439-t450)*t30+0.3847322101863073D1
4426     #*t135*t144+0.1923661050931536D1*t19*t478,0.1036666666666667D-1
4427     #*t119-0.2757113292886222D-3*t484-0.4521665800333405D-2*t259
4428     #+0.8271339878658667D-3*t487+0.4135669939329333D-3*t489
4429     #+0.1599125709874009D-2*t255+0.1923661050931536D1*(
4430     #-0.5183333333333333D-2*t119+0.1792123640376044D-3*t484
4431     #+0.2633043194706342D-2*t259-0.5376370921128133D-3*t487
4432     #-0.2688185460564067D-3*t489-0.9374185195813156D-3*t255)*t30
4433     #+0.3847322101863073D1*t159*t144+0.1923661050931536D1*t42*t478)
4434      t507 = rho*t506
4435      t508 = 2.D0*t98+t358+t364-0.7937005259840997D0*t377
4436     #-0.7937005259840997D0*t379-0.7937005259840997D0*t383+2.D0*t407
4437     #+0.119055078897615D1*t411+0.10582673679788D1*t414+t419-t434+t507
4438      v2rhoa2(i) = t353+t508
4439      t510 = t224**2
4440      t516 = -t397
4441      t525 = piecewise(t7,0.1923661050931536D1*t135*t217
4442     #+0.1923661050931536D1*t19*t516,0.1923661050931536D1*t159*t217
4443     #+0.1923661050931536D1*t42*t516)
4444      t526 = rho*t525
4445      t530 = -t100*t103*t375
4446      t532 = t315*t225
4447      t534 = t240+t297+2.D0*t222+0.5952753944880748D0*t100*t338*t510
4448     #+t302-t306-t308+t311+t314+2.D0*t526-0.7937005259840997D0*t530
4449     #-0.7937005259840997D0*t532
4450      t536 = t100*t355*t224
4451      t540 = t100*t338*t213*t224
4452      t544 = t195*t72*t102*t224
4453      t546 = 0.10582673679788D1*t536+0.119055078897615D1*t540
4454     #-0.7937005259840997D0*t544-t317-t319+t334-t352+t358+t364+t419
4455     #-t434+t507
4456      v2rhob2(i) = t534+t546
4457      t560 = -t328
4458      t565 = piecewise(t7,0.1923661050931536D1*t19
4459     #*t560,0.1923661050931536D1*t42*t560)
4460      t567 = t526-0.3968502629920499D0*t530-0.3968502629920499D0*t532
4461     #+0.5291336839893998D0*t536+0.5952753944880748D0*t540
4462     #-0.3968502629920499D0*t544+0.3968502629920499D0*t100*t103*t349
4463     #+0.5952753944880748D0*t100*t338*t108*t224+t98+rho*t565+t240+t222
4464     #+t297+t302-t306
4465      t573 = -t308+t311+t314-t319-t317+t358+t364-0.3968502629920499D0
4466     #*t377-0.3968502629920499D0*t379-0.3968502629920499D0*t383+t407
4467     #+0.5952753944880748D0*t411+t507+0.5291336839893998D0*t414-t434
4468     #+t419
4469      v2rhoab(i) = t567+t573
4470      t574 = t67*t102
4471      t576 = t231*t574*t108
4472      t578 = t68*t109
4473      t580 = 1/t48
4474      t590 = (0.406454125D-3*t580*t168*t186+0.4741964791666667D-3*t580
4475     #*t60*t190)*t67*t59*t86
4476      t591 = 0.7937005259840997D0*t590
4477      t595 = t193*t48*t230*t67*t85
4478      t596 = 0.322602852800907D-3*t595
4479      t599 = t194*t59*t71*t85
4480      t600 = 0.7937005259840997D0*t599
4481      t603 = t61*t230*t198*t85
4482      t604 = 0.322602852800907D-3*t603
4483      t605 = t198*t235
4484      t606 = 0.7937005259840997D0*t605
4485      t610 = t48/t228/t257*t232
4486      t611 = 0.430137137067876D-3*t610
4487      t613 = t68*t202*t85
4488      t614 = 0.10582673679788D1*t613
4489      t616 = t231*t574*t213
4490      t617 = 0.1613014264004535D-3*t616
4491      t618 = t68*t214
4492      t619 = 0.3968502629920499D0*t618
4493      v2rhoasigmaaa(i) = 0.1613014264004535D-3*t576
4494     #-0.3968502629920499D0*t578+t591-t596+t600-t604+t606+t611-t614
4495     #+t617-t619
4496      t622 = 0.1587401051968199D1*t590
4497      t623 = 0.645205705601814D-3*t595
4498      t624 = 0.1587401051968199D1*t599
4499      t625 = 0.645205705601814D-3*t603
4500      t626 = 0.1587401051968199D1*t605
4501      t627 = 0.8602742741357521D-3*t610
4502      t628 = 0.2116534735957599D1*t613
4503      t629 = 0.322602852800907D-3*t616
4504      t630 = 0.7937005259840997D0*t618
4505      v2rhoasigmaab(i) = 0.322602852800907D-3*t576
4506     #-0.7937005259840997D0*t578+t622-t623+t624-t625+t626+t627-t628
4507     #+t629-t630
4508      v2rhoasigmabb(i) = v2rhoasigmaaa(i)
4509      t632 = t231*t574*t224
4510      t634 = t68*t225
4511      v2rhobsigmaaa(i) = 0.1613014264004535D-3*t632
4512     #-0.3968502629920499D0*t634+t591-t596+t600-t604+t606+t611-t614
4513     #+t617-t619
4514      v2rhobsigmaab(i) = 0.322602852800907D-3*t632
4515     #-0.7937005259840997D0*t634+t622-t623+t624-t625+t626+t627-t628
4516     #+t629-t630
4517      v2rhobsigmabb(i) = v2rhobsigmaaa(i)
4518      t639 = t580*t230*t232
4519      t641 = t69**2
4520      t645 = 1/t641/t257*t60*t232
4521      v2sigmaaa2(i) = -0.4839042792013605D-3*t639
4522     #+0.1311232602576965D-6*t645
4523      v2sigmaaaab(i) = -0.9678085584027211D-3*t639
4524     #+0.2622465205153929D-6*t645
4525      v2sigmaaabb(i) = v2sigmaaa2(i)
4526      v2sigmaab2(i) = -0.1935617116805442D-2*t639
4527     #+0.5244930410307859D-6*t645
4528      v2sigmaabbb(i) = v2sigmaaaab(i)
4529      v2sigmabb2(i) = v2sigmaaabb(i)
4530      endif ! rhoa,rhob
4531      else ! rho
4532      zk(i) = 0.0d0
4533      vrhoa(i) = 0.0d0
4534      vrhob(i) = 0.0d0
4535      v2rhoa2(i) = 0.0d0
4536      v2rhob2(i) = 0.0d0
4537      v2rhoab(i) = 0.0d0
4538      vsigmaaa(i) = 0.0d0
4539      vsigmaab(i) = 0.0d0
4540      vsigmabb(i) = 0.0d0
4541      v2rhoasigmaaa(i) = 0.0d0
4542      v2rhoasigmaab(i) = 0.0d0
4543      v2rhoasigmabb(i) = 0.0d0
4544      v2rhobsigmaaa(i) = 0.0d0
4545      v2rhobsigmaab(i) = 0.0d0
4546      v2rhobsigmabb(i) = 0.0d0
4547      v2sigmaaa2(i) = 0.0d0
4548      v2sigmaab2(i) = 0.0d0
4549      v2sigmabb2(i) = 0.0d0
4550      v2sigmaaaab(i) = 0.0d0
4551      v2sigmaaabb(i) = 0.0d0
4552      v2sigmaabbb(i) = 0.0d0
4553      endif ! rho
4554      enddo
4555
4556      endif ! ideriv
4557      return
4558      end
4559
4560
4561      subroutine rks_c_p86
4562     & (ideriv,npt,rhoa1,sigmaaa1,
4563     &  zk,vrhoa,vsigmaaa,
4564     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
4565c
4566c     J.P. Perdew
4567c     Density-functional approximation for the correlation energy of
4568c     the inhomogeneous electron gas
4569c     Phys. Rev. B33 (1986) 8822-8824
4570c
4571c
4572c     CITATION:
4573c
4574c     Functionals were obtained from the Density Functional Repository
4575c     as developed and distributed by the Quantum Chemistry Group,
4576c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
4577c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
4578c     Paul Sherwood for further information.
4579c
4580c     COPYRIGHT:
4581c
4582c     Users may incorporate the source code into software packages and
4583c     redistribute the source code provided the source code is not
4584c     changed in anyway and is properly cited in any documentation or
4585c     publication related to its use.
4586c
4587c     ACKNOWLEDGEMENT:
4588c
4589c     The source code was generated using Maple 8 through a modified
4590c     version of the dfauto script published in:
4591c
4592c        R. Strange, F.R. Manby, P.J. Knowles
4593c        Automatic code generation in density functional theory
4594c        Comp. Phys. Comm. 136 (2001) 310-318.
4595c
4596      implicit real*8 (a-h,o-z)
4597      integer ideriv,npt
4598      real*8 rhoa1(npt)
4599      real*8 sigmaaa1(npt)
4600      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
4601      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
4602      parameter(tol=1.0d-20)
4603      logical t5
4604
4605      if(ideriv.eq.0) then
4606
4607      do i=1,npt
4608      rho = dmax1(0.D0,rhoa1(i))
4609      if(rho.gt.tol) then
4610      sigma = dmax1(0.D0,sigmaaa1(i))
4611      t2 = 1/rho
4612      t3 = t2**(1.D0/3.D0)
4613      t4 = 0.6203504908994D0*t3
4614      t6 = t2**(1.D0/6.D0)
4615      t12 = dlog(t4)
4616      t18 = piecewise(1.D0 .le. t4,-0.1423D0/(1.D0
4617     #+0.8292885914166397D0*t6+0.20682485366586D0*t3),0.311D-1*t12
4618     #-0.48D-1+0.12407009817988D-2*t3*t12-0.719606569443304D-2*t3)
4619      t20 = dsqrt(sigma)
4620      t22 = t3**2
4621      t31 = 0.1667D-2+(0.2568D-2+0.1443307452126544D-1*t3
4622     #+0.2843543831490386D-5*t22)/(1.D0+0.5411317332115466D1*t3
4623     #+0.1816419932959077D0*t22+0.1763993811759022D-1*t2)
4624      t34 = rho**(1.D0/6.D0)
4625      t39 = dexp(-0.81290825D-3*t20/t31/t34/rho)
4626      t41 = rho**(1.D0/3.D0)
4627      zk(i) = rho*t18+0.1D1*t39*t31*sigma/t41/rho
4628      else ! rho
4629      zk(i) = 0.0d0
4630      endif ! rho
4631      enddo
4632
4633      else if(ideriv.eq.1) then
4634
4635      do i=1,npt
4636      rho = dmax1(0.D0,rhoa1(i))
4637      if(rho.gt.tol) then
4638      sigma = dmax1(0.D0,sigmaaa1(i))
4639      t2 = 1/rho
4640      t3 = t2**(1.D0/3.D0)
4641      t4 = 0.6203504908994D0*t3
4642      t5 = 1.D0 .le. t4
4643      t6 = t2**(1.D0/6.D0)
4644      t9 = 1.D0+0.8292885914166397D0*t6+0.20682485366586D0*t3
4645      t12 = dlog(t4)
4646      t18 = piecewise(t5,-0.1423D0/t9,0.311D-1*t12-0.48D-1
4647     #+0.12407009817988D-2*t3*t12-0.719606569443304D-2*t3)
4648      t20 = dsqrt(sigma)
4649      t22 = t3**2
4650      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
4651      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
4652     #+0.1763993811759022D-1*t2
4653      t29 = 1/t28
4654      t31 = 0.1667D-2+t24*t29
4655      t33 = t20/t31
4656      t34 = rho**(1.D0/6.D0)
4657      t36 = 1/t34/rho
4658      t39 = dexp(-0.81290825D-3*t33*t36)
4659      t40 = t39*t31
4660      t41 = rho**(1.D0/3.D0)
4661      t43 = 1/t41/rho
4662      t44 = sigma*t43
4663      zk(i) = rho*t18+0.1D1*t40*t44
4664      t47 = piecewise(t5,0.D0,0.D0)
4665      t49 = t9**2
4666      t51 = t6**2
4667      t52 = t51**2
4668      t55 = rho**2
4669      t56 = 1/t55
4670      t59 = 1/t22
4671      t60 = t59*t56
4672      t73 = piecewise(t5,0.1423D0/t49*(-0.1382147652361066D0/t52/t6
4673     #*t56-0.6894161788861999D-1*t60),-0.1036666666666667D-1*t2
4674     #-0.4135669939329333D-3*t59*t12*t56-0.4135669939329333D-3*t3*t2
4675     #+0.2398688564811013D-2*t60)
4676      t75 = t31**2
4677      t80 = 1/t3*t56
4678      t84 = t28**2
4679      t93 = (-0.4811024840421814D-2*t60-0.1895695887660258D-5*t80)*t29
4680     #-1.D0*t24/t84*(-0.1803772444038489D1*t60-0.1210946621972718D0
4681     #*t80-0.1763993811759022D-1*t56)
4682      vrhoa(i) = rho*t47+t18+rho*t73+0.1D1*(0.81290825D-3*t20/t75*t36
4683     #*t93+0.9483929583333333D-3*t33/t34/t55)*t39*t31*sigma*t43+0.1D1
4684     #*t39*t93*t44-0.1333333333333333D1*t40*sigma/t41/t55
4685      t115 = dsqrt(rho)
4686      vsigmaaa(i) = -0.16258165D-2*t20/t115/t55*t39+0.4D1*t40*t43
4687      else ! rho
4688      zk(i) = 0.0d0
4689      vrhoa(i) = 0.0d0
4690      vsigmaaa(i) = 0.0d0
4691      endif ! rho
4692      enddo
4693
4694      else if(ideriv.eq.2) then
4695
4696      do i=1,npt
4697      rho = dmax1(0.D0,rhoa1(i))
4698      if(rho.gt.tol) then
4699      sigma = dmax1(0.D0,sigmaaa1(i))
4700      t2 = 1/rho
4701      t3 = t2**(1.D0/3.D0)
4702      t4 = 0.6203504908994D0*t3
4703      t5 = 1.D0 .le. t4
4704      t6 = t2**(1.D0/6.D0)
4705      t9 = 1.D0+0.8292885914166397D0*t6+0.20682485366586D0*t3
4706      t11 = 0.1423D0/t9
4707      t12 = dlog(t4)
4708      t14 = t3*t12
4709      t18 = piecewise(t5,-t11,0.311D-1*t12-0.48D-1+0.12407009817988D-2
4710     #*t14-0.719606569443304D-2*t3)
4711      t20 = dsqrt(sigma)
4712      t22 = t3**2
4713      t24 = 0.2568D-2+0.1443307452126544D-1*t3+0.2843543831490386D-5*t22
4714      t28 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t22
4715     #+0.1763993811759022D-1*t2
4716      t29 = 1/t28
4717      t31 = 0.1667D-2+t24*t29
4718      t32 = 1/t31
4719      t33 = t20*t32
4720      t34 = rho**(1.D0/6.D0)
4721      t36 = 1/t34/rho
4722      t39 = dexp(-0.81290825D-3*t33*t36)
4723      t40 = t39*t31
4724      t41 = rho**(1.D0/3.D0)
4725      t43 = 1/t41/rho
4726      t44 = sigma*t43
4727      zk(i) = rho*t18+0.1D1*t40*t44
4728      t47 = piecewise(t5,0.D0,0.D0)
4729      t48 = rho*t47
4730      t49 = t9**2
4731      t50 = 1/t49
4732      t51 = t6**2
4733      t52 = t51**2
4734      t53 = t52*t6
4735      t54 = 1/t53
4736      t55 = rho**2
4737      t56 = 1/t55
4738      t59 = 1/t22
4739      t60 = t59*t56
4740      t62 = -0.1382147652361066D0*t54*t56-0.6894161788861999D-1*t60
4741      t66 = t59*t12
4742      t69 = t3*t2
4743      t73 = piecewise(t5,0.1423D0*t50*t62,-0.1036666666666667D-1*t2
4744     #-0.4135669939329333D-3*t66*t56-0.4135669939329333D-3*t69
4745     #+0.2398688564811013D-2*t60)
4746      t75 = t31**2
4747      t76 = 1/t75
4748      t77 = t20*t76
4749      t79 = 1/t3
4750      t80 = t79*t56
4751      t82 = -0.4811024840421814D-2*t60-0.1895695887660258D-5*t80
4752      t84 = t28**2
4753      t85 = 1/t84
4754      t86 = t24*t85
4755      t90 = -0.1803772444038489D1*t60-0.1210946621972718D0*t80
4756     #-0.1763993811759022D-1*t56
4757      t93 = t82*t29-1.D0*t86*t90
4758      t94 = t36*t93
4759      t98 = 1/t34/t55
4760      t101 = 0.81290825D-3*t77*t94+0.9483929583333333D-3*t33*t98
4761      t102 = t101*t39
4762      t103 = t31*sigma
4763      t104 = t103*t43
4764      t107 = t39*t93
4765      t111 = 1/t41/t55
4766      t112 = sigma*t111
4767      vrhoa(i) = t48+t18+rho*t73+0.1D1*t102*t104+0.1D1*t107*t44
4768     #-0.1333333333333333D1*t40*t112
4769      t115 = dsqrt(rho)
4770      t117 = 1/t115/t55
4771      vsigmaaa(i) = -0.16258165D-2*t20*t117*t39+0.4D1*t40*t43
4772      t129 = (-0.843D-1/(1.D0+0.1101176160755631D1*t6
4773     #+0.1619735131738333D0*t3)+t11)*t56
4774      t135 = (-0.1555D-1*t12+0.211D-1-0.80645563816922D-3*t14
4775     #+0.421838333811592D-2*t3)*t56
4776      t137 = piecewise(t5,0.1709920934161366D1
4777     #*t129,0.1709920934161366D1*t135)
4778      t139 = t55*rho
4779      t147 = t62**2
4780      t152 = t55**2
4781      t153 = 1/t152
4782      t156 = 1/t139
4783      t160 = 1/t22/t2
4784      t161 = t160*t153
4785      t163 = t59*t156
4786      t180 = piecewise(t5,-0.2846D0/t49/t9*t147+0.1423D0*t50*(
4787     #-0.1151789710300888D0/t53/t2*t153+0.2764295304722132D0*t54*t156
4788     #-0.4596107859241333D-1*t161+0.13788323577724D0*t163
4789     #),0.1036666666666667D-1*t56-0.2757113292886222D-3*t160*t12*t153
4790     #-0.4521665800333405D-2*t163+0.8271339878658667D-3*t66*t156
4791     #+0.4135669939329333D-3*t3*t56+0.1599125709874009D-2*t161)
4792      t185 = piecewise(t5,-0.1709920934161366D1*t129,
4793     #-0.1709920934161366D1*t135)
4794      t193 = t93**2
4795      t203 = 1/t69*t153
4796      t205 = t79*t156
4797      t215 = t90**2
4798      t226 = (-0.3207349893614542D-2*t161+0.9622049680843627D-2*t163
4799     #-0.6318986292200858D-6*t203+0.3791391775320515D-5*t205)*t29-2.D0
4800     #*t82*t85*t90+2.D0*t24/t84/t28*t215-1.D0*t86*(
4801     #-0.1202514962692326D1*t161+0.3607544888076978D1*t163
4802     #-0.4036488739909061D-1*t203+0.2421893243945437D0*t205
4803     #+0.3527987623518044D-1*t156)
4804      t247 = t101**2
4805      v2rhoa2(i) = rho*t137+0.6222222222222222D1*t40*sigma/t41/t139
4806     #+2.D0*rho*t180+rho*t185-0.5333333333333333D1*t102*t103*t111
4807     #+0.2D1*(-0.16258165D-2*t20/t75/t31*t36*t193
4808     #-0.1896785916666667D-2*t77*t98*t93+0.81290825D-3*t77*t36*t226
4809     #-0.2054851409722222D-2*t33/t34/t139)*t39*t104+0.4D1*t102*t93
4810     #*sigma*t43+0.2D1*t39*t226*t44-0.5333333333333333D1*t107*t112
4811     #+0.2D1*t247*t39*t104+4.D0*t48+4.D0*t47+4.D0*t73
4812      t254 = 1/t20
4813      t266 = t117*t39
4814      v2rhoasigmaaa(i) = 0.4D1*(0.406454125D-3*t254*t76*t94
4815     #+0.4741964791666667D-3*t254*t32*t98)*t39*t104-0.16258165D-2*t101
4816     #*t20*t266+0.4D1*t102*t31*t43-0.16258165D-2*t33*t266*t93+0.4D1
4817     #*t107*t43+0.2167755333333333D-2*t20/t115/t139*t39
4818     #-0.5333333333333333D1*t40*t111
4819      t287 = t41**2
4820      v2sigmaaa2(i) = -0.9754899D-2*t254*t117*t39+0.264327929167225D-5
4821     #/t287/t139*t32*t39
4822      else ! rho
4823      zk(i) = 0.0d0
4824      vrhoa(i) = 0.0d0
4825      v2rhoa2(i) = 0.0d0
4826      vsigmaaa(i) = 0.0d0
4827      v2rhoasigmaaa(i) = 0.0d0
4828      v2sigmaaa2(i) = 0.0d0
4829      endif ! rho
4830      enddo
4831
4832      endif ! ideriv
4833      return
4834      end
4835
4836
4837      subroutine uks_c_lyp
4838     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
4839     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
4840     &  v2rhoa2,v2rhob2,v2rhoab,
4841     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
4842     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
4843     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
4844     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
4845c
4846c     C. Lee, W. Yang, and R.G. Parr
4847c     Development of the Colle-Salvetti correlation-energy formula into
4848c     a functional of the electron density
4849c     Phys. Rev. B37 (1988) 785-789
4850c
4851c
4852c     CITATION:
4853c
4854c     Functionals were obtained from the Density Functional Repository
4855c     as developed and distributed by the Quantum Chemistry Group,
4856c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
4857c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
4858c     Paul Sherwood for further information.
4859c
4860c     COPYRIGHT:
4861c
4862c     Users may incorporate the source code into software packages and
4863c     redistribute the source code provided the source code is not
4864c     changed in anyway and is properly cited in any documentation or
4865c     publication related to its use.
4866c
4867c     ACKNOWLEDGEMENT:
4868c
4869c     The source code was generated using Maple 8 through a modified
4870c     version of the dfauto script published in:
4871c
4872c        R. Strange, F.R. Manby, P.J. Knowles
4873c        Automatic code generation in density functional theory
4874c        Comp. Phys. Comm. 136 (2001) 310-318.
4875c
4876      implicit real*8 (a-h,o-z)
4877      integer ideriv,npt
4878      real*8 rhoa1(npt),rhob1(npt)
4879      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
4880      real*8 zk(npt),vrhoa(npt),vrhob(npt)
4881      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
4882      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
4883      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
4884      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
4885      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
4886      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
4887      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
4888      parameter(tol=1.0d-20)
4889
4890      if (ideriv.eq.0) then
4891
4892      do i=1,npt
4893      rhoa = dmax1(0.D0,rhoa1(i))
4894      rhob = dmax1(0.D0,rhob1(i))
4895      rho = rhoa+rhob
4896      if(rho.gt.tol) then
4897      if(rhoa.lt.tol) then
4898      rho = rhob
4899      sigmabb = dmax1(0.D0,sigmabb1(i))
4900      sigma = sigmabb
4901      zk(i) = 0.D0
4902      elseif(rhob.lt.tol) then
4903      rho = rhoa
4904      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4905      sigma = sigmaaa
4906      zk(i) = 0.D0
4907      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
4908      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4909      sigmaab = sigmaab1(i)
4910      sigmabb = dmax1(0.D0,sigmabb1(i))
4911      sigma = sigmaaa+sigmabb+2.D0*sigmaab
4912      t4 = rho**(1.D0/3.D0)
4913      t5 = 1/t4
4914      t8 = 1/(1.D0+0.349D0*t5)
4915      t10 = 1/rho
4916      t11 = rhob*t10
4917      t14 = 0.2533D0*t5
4918      t15 = dexp(-t14)
4919      t17 = rho**2
4920      t19 = t4**2
4921      t23 = rhoa**2
4922      t24 = rhoa**(1.D0/3.D0)
4923      t25 = t24**2
4924      t28 = rhob**2
4925      t29 = rhob**(1.D0/3.D0)
4926      t30 = t29**2
4927      t34 = t5*t8
4928      t56 = 0.6666666666666667D0*t17
4929      zk(i) = -0.19672D0*t8*rhoa*t11-0.649176D-2*t15*t8/t19/t17/rho*
4930     #(rhoa*rhob*(0.3646239897876478D2*t25*t23+0.3646239897876478D2
4931     #*t30*t28+(0.2611111111111111D1-0.9850555555555556D-1*t5
4932     #-0.1357222222222222D0*t34)*sigma-1.D0*(0.25D1
4933     #-0.1407222222222222D-1*t5-0.1938888888888889D-1*t34)*(sigmaaa
4934     #+sigmabb)-0.1111111111111111D0*(t14+0.349D0*t34-11.D0)*(rhoa*t10
4935     #*sigmaaa+t11*sigmabb))-0.6666666666666667D0*t17*sigma+(t56-1.D0
4936     #*t23)*sigmabb+(t56-1.D0*t28)*sigmaaa)
4937      endif ! rhoa,rhob
4938      else ! rho
4939      zk(i) = 0.0d0
4940      endif ! rho
4941      enddo
4942
4943      else if(ideriv.eq.1) then
4944
4945      do i=1,npt
4946      rhoa = dmax1(0.D0,rhoa1(i))
4947      rhob = dmax1(0.D0,rhob1(i))
4948      rho = rhoa+rhob
4949      if(rho.gt.tol) then
4950      if(rhoa.lt.tol) then
4951      rho = rhob
4952      sigmabb = dmax1(0.D0,sigmabb1(i))
4953      sigma = sigmabb
4954      zk(i) = 0.D0
4955      vrhoa(i) = 0.D0
4956      vrhob(i) = 0.D0
4957      vsigmaaa(i) = 0.D0
4958      vsigmaab(i) = 0.D0
4959      vsigmabb(i) = 0.D0
4960      elseif(rhob.lt.tol) then
4961      rho = rhoa
4962      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4963      sigma = sigmaaa
4964      zk(i) = 0.D0
4965      vrhoa(i) = 0.D0
4966      vrhob(i) = 0.D0
4967      vsigmaaa(i) = 0.D0
4968      vsigmaab(i) = 0.D0
4969      vsigmabb(i) = 0.D0
4970      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
4971      sigmaaa = dmax1(0.D0,sigmaaa1(i))
4972      sigmaab = sigmaab1(i)
4973      sigmabb = dmax1(0.D0,sigmabb1(i))
4974      sigma = sigmaaa+sigmabb+2.D0*sigmaab
4975      t4 = rho**(1.D0/3.D0)
4976      t5 = 1/t4
4977      t7 = 1.D0+0.349D0*t5
4978      t8 = 1/t7
4979      t9 = t8*rhoa
4980      t10 = 1/rho
4981      t11 = rhob*t10
4982      t14 = 0.2533D0*t5
4983      t15 = dexp(-t14)
4984      t16 = t15*t8
4985      t17 = rho**2
4986      t19 = t4**2
4987      t21 = 1/t19/t17/rho
4988      t22 = rhoa*rhob
4989      t23 = rhoa**2
4990      t24 = rhoa**(1.D0/3.D0)
4991      t25 = t24**2
4992      t28 = rhob**2
4993      t29 = rhob**(1.D0/3.D0)
4994      t30 = t29**2
4995      t34 = t5*t8
4996      t36 = 0.2611111111111111D1-0.9850555555555556D-1*t5
4997     #-0.1357222222222222D0*t34
4998      t41 = sigmaaa+sigmabb
4999      t45 = t14+0.349D0*t34-11.D0
5000      t49 = rhoa*t10*sigmaaa+t11*sigmabb
5001      t52 = 0.3646239897876478D2*t25*t23+0.3646239897876478D2*t30*t28
5002     #+t36*sigma-1.D0*(0.25D1-0.1407222222222222D-1*t5
5003     #-0.1938888888888889D-1*t34)*t41-0.1111111111111111D0*t45*t49
5004      t56 = 0.6666666666666667D0*t17
5005      t57 = 1.D0*t23
5006      t60 = 1.D0*t28
5007      t63 = t22*t52-0.6666666666666667D0*t17*sigma+(t56-t57)*sigmabb+
5008     #(t56-t60)*sigmaaa
5009      zk(i) = -0.19672D0*t9*t11-0.649176D-2*t16*t21*t63
5010      t73 = t45*t10
5011      t84 = t7**2
5012      t85 = 1/t84
5013      t91 = 0.2288509333333333D-1*t85*rhoa*rhob/t4/t17
5014      t92 = 1/t17
5015      t93 = rhob*t92
5016      t95 = 0.19672D0*t9*t93
5017      t96 = t17**2
5018      t98 = 1/t96/rho
5019      t102 = 0.548120936D-3*t98*t15*t8*t63
5020      t106 = 0.75520808D-3*t15*t85*t98*t63
5021      t111 = 0.2380312D-1*t16/t19/t96*t63
5022      t113 = 1/t4/rho
5023      t115 = t113*t8
5024      t119 = 1/t19/rho*t85
5025      t154 = 0.649176D-2*t16*t21*(t22*((0.3283518518518519D-1*t113
5026     #+0.4524074074074074D-1*t115-0.1578901851851852D-1*t119)*sigma
5027     #-1.D0*(0.4690740740740741D-2*t113+0.6462962962962963D-2*t115
5028     #-0.2255574074074074D-2*t119)*t41-0.1111111111111111D0*(
5029     #-0.8443333333333333D-1*t113-0.1163333333333333D0*t115
5030     #+0.4060033333333333D-1*t119)*t49-0.1111111111111111D0*t45*(-1.D0
5031     #*rhoa*t92*sigmaaa-1.D0*t93*sigmabb))-0.1333333333333333D1*rho
5032     #*sigma+0.1333333333333333D1*rho*sigmabb+0.1333333333333333D1*rho
5033     #*sigmaaa)
5034      vrhoa(i) = -0.19672D0*t8*rhob*t10-0.649176D-2*t16*t21*(rhob*t52
5035     #+t22*(0.9723306394337274D2*t25*rhoa-0.1111111111111111D0*t73
5036     #*sigmaaa)-2.D0*rhoa*sigmabb)-t91+t95-t102-t106+t111-t154
5037      vrhob(i) = -0.19672D0*t9*t10-0.649176D-2*t16*t21*(rhoa*t52+t22*
5038     #(0.9723306394337274D2*t30*rhob-0.1111111111111111D0*t73*sigmabb)
5039     #-2.D0*rhob*sigmaaa)-t91+t95-t102-t106+t111-t154
5040      t170 = 0.1407222222222222D-1*t5
5041      t171 = 0.1938888888888889D-1*t34
5042      t185 = t16*t21*(t22*t36-0.6666666666666667D0*t17)
5043      t186 = 0.649176D-2*t185
5044      vsigmaaa(i) = -0.649176D-2*t16*t21*(t22*(-0.25D1+t170+t171
5045     #-0.1111111111111111D0*t45*rhoa*t10)+t56-t60)-t186
5046      vsigmaab(i) = -0.1298352D-1*t185
5047      vsigmabb(i) = -0.649176D-2*t16*t21*(t22*(-0.25D1+t170+t171
5048     #-0.1111111111111111D0*t45*rhob*t10)+t56-t57)-t186
5049      endif ! rhoa,rhob
5050      else ! rho
5051      zk(i) = 0.0d0
5052      vrhoa(i) = 0.0d0
5053      vrhob(i) = 0.0d0
5054      vsigmaaa(i) = 0.0d0
5055      vsigmaab(i) = 0.0d0
5056      vsigmabb(i) = 0.0d0
5057      endif ! rho
5058      enddo
5059
5060      else if(ideriv.eq.2) then
5061
5062      do i=1,npt
5063      rhoa = dmax1(0.D0,rhoa1(i))
5064      rhob = dmax1(0.D0,rhob1(i))
5065      rho = rhoa+rhob
5066      if(rho.gt.tol) then
5067      if(rhoa.lt.tol) then
5068      rho = rhob
5069      sigmabb = dmax1(0.D0,sigmabb1(i))
5070      sigma = sigmabb
5071      zk(i) = 0.D0
5072      vrhoa(i) = 0.D0
5073      vrhob(i) = 0.D0
5074      vsigmaaa(i) = 0.D0
5075      vsigmaab(i) = 0.D0
5076      vsigmabb(i) = 0.D0
5077      v2rhoa2(i) = 0.D0
5078      v2rhoab(i) = 0.D0
5079      v2rhob2(i) = 0.D0
5080      v2sigmaaa2(i) = 0.D0
5081      v2sigmaaaab(i) = 0.D0
5082      v2sigmaaabb(i) = 0.D0
5083      v2sigmaab2(i) = 0.D0
5084      v2sigmaabbb(i) = 0.D0
5085      v2sigmabb2(i) = 0.D0
5086      elseif(rhob.lt.tol) then
5087      rho = rhoa
5088      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5089      sigma = sigmaaa
5090      zk(i) = 0.D0
5091      vrhoa(i) = 0.D0
5092      vrhob(i) = 0.D0
5093      vsigmaaa(i) = 0.D0
5094      vsigmaab(i) = 0.D0
5095      vsigmabb(i) = 0.D0
5096      v2rhoa2(i) = 0.D0
5097      v2rhob2(i) = 0.D0
5098      v2rhoab(i) = 0.D0
5099      v2sigmaaa2(i) = 0.D0
5100      v2sigmaaaab(i) = 0.D0
5101      v2sigmaaabb(i) = 0.D0
5102      v2sigmaab2(i) = 0.D0
5103      v2sigmaabbb(i) = 0.D0
5104      v2sigmabb2(i) = 0.D0
5105      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
5106      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5107      sigmaab = sigmaab1(i)
5108      sigmabb = dmax1(0.D0,sigmabb1(i))
5109      sigma = sigmaaa+sigmabb+2.D0*sigmaab
5110      t4 = rho**(1.D0/3.D0)
5111      t5 = 1/t4
5112      t7 = 1.D0+0.349D0*t5
5113      t8 = 1/t7
5114      t9 = t8*rhoa
5115      t10 = 1/rho
5116      t11 = rhob*t10
5117      t14 = 0.2533D0*t5
5118      t15 = dexp(-t14)
5119      t16 = t15*t8
5120      t17 = rho**2
5121      t18 = t17*rho
5122      t19 = t4**2
5123      t21 = 1/t19/t18
5124      t22 = rhoa*rhob
5125      t23 = rhoa**2
5126      t24 = rhoa**(1.D0/3.D0)
5127      t25 = t24**2
5128      t27 = 0.3646239897876478D2*t25*t23
5129      t28 = rhob**2
5130      t29 = rhob**(1.D0/3.D0)
5131      t30 = t29**2
5132      t32 = 0.3646239897876478D2*t30*t28
5133      t34 = t5*t8
5134      t36 = 0.2611111111111111D1-0.9850555555555556D-1*t5
5135     #-0.1357222222222222D0*t34
5136      t37 = t36*sigma
5137      t41 = sigmaaa+sigmabb
5138      t43 = 1.D0*(0.25D1-0.1407222222222222D-1*t5
5139     #-0.1938888888888889D-1*t34)*t41
5140      t45 = t14+0.349D0*t34-11.D0
5141      t49 = rhoa*t10*sigmaaa+t11*sigmabb
5142      t51 = 0.1111111111111111D0*t45*t49
5143      t52 = t27+t32+t37-t43-t51
5144      t56 = 0.6666666666666667D0*t17
5145      t57 = 1.D0*t23
5146      t60 = 1.D0*t28
5147      t63 = t22*t52-0.6666666666666667D0*t17*sigma+(t56-t57)*sigmabb+
5148     #(t56-t60)*sigmaaa
5149      zk(i) = -0.19672D0*t9*t11-0.649176D-2*t16*t21*t63
5150      t67 = t8*rhob
5151      t71 = t25*rhoa
5152      t73 = t45*t10
5153      t76 = 0.9723306394337274D2*t71-0.1111111111111111D0*t73*sigmaaa
5154      t80 = rhob*t52+t22*t76-2.D0*rhoa*sigmabb
5155      t84 = t7**2
5156      t85 = 1/t84
5157      t86 = t85*rhoa
5158      t88 = 1/t4/t17
5159      t91 = 0.2288509333333333D-1*t86*rhob*t88
5160      t92 = 1/t17
5161      t93 = rhob*t92
5162      t95 = 0.19672D0*t9*t93
5163      t96 = t17**2
5164      t97 = t96*rho
5165      t98 = 1/t97
5166      t99 = t98*t15
5167      t100 = t8*t63
5168      t102 = 0.548120936D-3*t99*t100
5169      t103 = t15*t85
5170      t106 = 0.75520808D-3*t103*t98*t63
5171      t108 = 1/t19/t96
5172      t111 = 0.2380312D-1*t16*t108*t63
5173      t113 = 1/t4/rho
5174      t115 = t113*t8
5175      t119 = 1/t19/rho*t85
5176      t121 = 0.3283518518518519D-1*t113+0.4524074074074074D-1*t115
5177     #-0.1578901851851852D-1*t119
5178      t132 = -0.8443333333333333D-1*t113-0.1163333333333333D0*t115
5179     #+0.4060033333333333D-1*t119
5180      t140 = -1.D0*rhoa*t92*sigmaaa-1.D0*t93*sigmabb
5181      t143 = t121*sigma-1.D0*(0.4690740740740741D-2*t113
5182     #+0.6462962962962963D-2*t115-0.2255574074074074D-2*t119)*t41
5183     #-0.1111111111111111D0*t132*t49-0.1111111111111111D0*t45*t140
5184      t151 = t22*t143-0.1333333333333333D1*rho*sigma
5185     #+0.1333333333333333D1*rho*sigmabb+0.1333333333333333D1*rho*sigmaaa
5186      t154 = 0.649176D-2*t16*t21*t151
5187      vrhoa(i) = -0.19672D0*t67*t10-0.649176D-2*t16*t21*t80-t91+t95
5188     #-t102-t106+t111-t154
5189      t158 = t30*rhob
5190      t162 = 0.9723306394337274D2*t158-0.1111111111111111D0*t73*sigmabb
5191      t166 = rhoa*t52+t22*t162-2.D0*rhob*sigmaaa
5192      vrhob(i) = -0.19672D0*t9*t10-0.649176D-2*t16*t21*t166-t91+t95
5193     #-t102-t106+t111-t154
5194      t170 = 0.1407222222222222D-1*t5
5195      t171 = 0.1938888888888889D-1*t34
5196      t172 = t45*rhoa
5197      t175 = -0.25D1+t170+t171-0.1111111111111111D0*t172*t10
5198      t177 = t22*t175+t56-t60
5199      t183 = t22*t36-0.6666666666666667D0*t17
5200      t185 = t16*t21*t183
5201      t186 = 0.649176D-2*t185
5202      vsigmaaa(i) = -0.649176D-2*t16*t21*t177-t186
5203      vsigmaab(i) = -0.1298352D-1*t185
5204      t188 = t45*rhob
5205      t191 = -0.25D1+t170+t171-0.1111111111111111D0*t188*t10
5206      t193 = t22*t191+t56-t57
5207      vsigmabb(i) = -0.649176D-2*t16*t21*t193-t186
5208      t198 = t85*rhob*t88
5209      t200 = t67*t92
5210      t203 = t99*t8*t80
5211      t206 = t103*t98*t80
5212      t209 = t16*t108*t80
5213      t212 = t132*t10
5214      t215 = t45*t92
5215      t222 = t16*t21*(rhob*t143+t22*(-0.1111111111111111D0*t212
5216     #*sigmaaa+0.1111111111111111D0*t215*sigmaaa))
5217      t237 = 0.1110812266666667D0*t16/t19/t97*t63
5218      t239 = t88*t8
5219      t243 = 1/t19/t17*t85
5220      t245 = 1/t18
5221      t247 = 1/t84/t7
5222      t248 = t245*t247
5223      t271 = rhob*t245
5224      t285 = 0.649176D-2*t16*t21*(t22*((-0.4378024691358025D-1*t88
5225     #-0.6032098765432099D-1*t239+0.3157803703703704D-1*t243
5226     #-0.3673578308641975D-2*t248)*sigma-1.D0*(-0.6254320987654321D-2
5227     #*t88-0.8617283950617284D-2*t239+0.4511148148148148D-2*t243
5228     #-0.5247969012345679D-3*t248)*t41-0.1111111111111111D0*
5229     #(0.1125777777777778D0*t88+0.1551111111111111D0*t239
5230     #-0.8120066666666667D-1*t243+0.9446344222222222D-2*t248)*t49
5231     #-0.2222222222222222D0*t132*t140-0.1111111111111111D0*t45*(2.D0
5232     #*rhoa*t245*sigmaaa+2.D0*t271*sigmabb))-0.1333333333333333D1
5233     #*sigma+0.1333333333333333D1*sigmabb+0.1333333333333333D1*sigmaaa)
5234      t286 = t96*t17
5235      t287 = 1/t286
5236      t290 = 0.6545136693333333D-2*t103*t287*t63
5237      t293 = 0.4750381445333333D-2*t287*t15*t100
5238      t298 = 0.7628364444444444D-1*t86*rhob/t4/t18
5239      t300 = rhob*t21
5240      t302 = 0.5324598382222222D-2*t247*rhoa*t300
5241      t305 = 0.1096241872D-2*t99*t8*t151
5242      t307 = 1/t4/t286
5243      t308 = t307*t15
5244      t310 = 0.4627967769626667D-4*t308*t100
5245      t313 = 0.1275294711093333D-3*t308*t85*t63
5246      t316 = 0.151041616D-2*t103*t98*t151
5247      t320 = 0.1757117466133333D-3*t15*t247*t307*t63
5248      t323 = 0.4760624D-1*t16*t108*t151
5249      t325 = 0.39344D0*t9*t271
5250      v2rhoa2(i) = -0.4577018666666667D-1*t198+0.39344D0*t200
5251     #-0.1096241872D-2*t203-0.151041616D-2*t206+0.4760624D-1*t209
5252     #-0.1298352D-1*t222-0.649176D-2*t16*t21*(2.D0*rhob*t76
5253     #+0.1620551065722879D3*t71*rhob-2.D0*sigmabb)-t237-t285+t290+t293
5254     #+t298-t302-t305-t310-t313-t316-t320+t323-t325
5255      t335 = t86*t88
5256      t337 = t9*t92
5257      t340 = t99*t8*t166
5258      t343 = t103*t98*t166
5259      t346 = t16*t108*t166
5260      t357 = t16*t21*(rhoa*t143+t22*(-0.1111111111111111D0*t212
5261     #*sigmabb+0.1111111111111111D0*t215*sigmabb))
5262      v2rhob2(i) = -t237-t285+t290+t293+t298-t302-t305-t310-t313-t316
5263     #-t320+t323-0.649176D-2*t16*t21*(2.D0*rhoa*t162
5264     #+0.1620551065722879D3*rhoa*t158-2.D0*sigmaaa)
5265     #-0.4577018666666667D-1*t335+0.39344D0*t337-0.1096241872D-2*t340
5266     #-0.151041616D-2*t343+0.4760624D-1*t346-0.1298352D-1*t357-t325
5267      t377 = 0.19672D0*t337-0.2288509333333333D-1*t335-0.548120936D-3
5268     #*t340-0.75520808D-3*t343+0.2380312D-1*t346-0.19672D0*t8*t10
5269     #-0.649176D-2*t16*t21*(t27+t32+t37-t43-t51+rhob*t162+rhoa*t76)
5270     #-0.649176D-2*t357-0.548120936D-3*t203-0.75520808D-3*t206
5271     #+0.2380312D-1*t209-0.649176D-2*t222-t237
5272      t380 = -t285+t290+t293+t298-t302-t305-t310-t313-t316-t320+t323
5273     #-t325-0.2288509333333333D-1*t198+0.19672D0*t200
5274      v2rhoab(i) = t377+t380
5275      t383 = 0.1111111111111111D0*t22*t73
5276      t390 = 0.548120936D-3*t99*t8*t177
5277      t393 = 0.75520808D-3*t103*t98*t177
5278      t396 = 0.2380312D-1*t16*t108*t177
5279      t397 = 0.4690740740740741D-2*t113
5280      t398 = 0.6462962962962963D-2*t115
5281      t399 = 0.2255574074074074D-2*t119
5282      t407 = 0.1333333333333333D1*rho
5283      t411 = 0.649176D-2*t16*t21*(t22*(-t397-t398+t399
5284     #-0.1111111111111111D0*t132*rhoa*t10+0.1111111111111111D0*t172
5285     #*t92)+t407)
5286      t413 = t16*t300*t36
5287      t414 = 0.649176D-2*t413
5288      t416 = t99*t8*t183
5289      t417 = 0.548120936D-3*t416
5290      t419 = t103*t98*t183
5291      t420 = 0.75520808D-3*t419
5292      t422 = t16*t108*t183
5293      t423 = 0.2380312D-1*t422
5294      t428 = t16*t21*(t22*t121-0.1333333333333333D1*rho)
5295      t429 = 0.649176D-2*t428
5296      v2rhoasigmaaa(i) = -0.649176D-2*t16*t21*(rhob*t175-t383)-t390
5297     #-t393+t396-t411-t414-t417-t420+t423-t429
5298      t431 = 0.1096241872D-2*t416
5299      t432 = 0.151041616D-2*t419
5300      t433 = 0.4760624D-1*t422
5301      t434 = 0.1298352D-1*t428
5302      v2rhoasigmaab(i) = -0.1298352D-1*t413-t431-t432+t433-t434
5303      t443 = 0.548120936D-3*t99*t8*t193
5304      t446 = 0.75520808D-3*t103*t98*t193
5305      t449 = 0.2380312D-1*t16*t108*t193
5306      t460 = 0.649176D-2*t16*t21*(t22*(-t397-t398+t399
5307     #-0.1111111111111111D0*t132*rhob*t10+0.1111111111111111D0*t188
5308     #*t92)+t407)
5309      v2rhoasigmabb(i) = -0.649176D-2*t16*t21*(rhob*t191-2.D0*rhoa)
5310     #-t443-t446+t449-t460-t414-t417-t420+t423-t429
5311      t469 = t16*t21*rhoa*t36
5312      t470 = 0.649176D-2*t469
5313      v2rhobsigmaaa(i) = -0.649176D-2*t16*t21*(rhoa*t175-2.D0*rhob)
5314     #-t390-t393+t396-t411-t470-t417-t420+t423-t429
5315      v2rhobsigmaab(i) = -0.1298352D-1*t469-t431-t432+t433-t434
5316      v2rhobsigmabb(i) = -0.649176D-2*t16*t21*(rhoa*t191-t383)-t443
5317     #-t446+t449-t460-t470-t417-t420+t423-t429
5318      v2sigmaaa2(i) = 0.D0
5319      v2sigmaaaab(i) = 0.D0
5320      v2sigmaaabb(i) = 0.D0
5321      v2sigmaab2(i) = 0.D0
5322      v2sigmaabbb(i) = 0.D0
5323      v2sigmabb2(i) = 0.D0
5324      endif ! rhoa,rhob
5325      else ! rho
5326      zk(i) = 0.0d0
5327      vrhoa(i) = 0.0d0
5328      vrhob(i) = 0.0d0
5329      v2rhoa2(i) = 0.0d0
5330      v2rhob2(i) = 0.0d0
5331      v2rhoab(i) = 0.0d0
5332      vsigmaaa(i) = 0.0d0
5333      vsigmaab(i) = 0.0d0
5334      vsigmabb(i) = 0.0d0
5335      v2rhoasigmaaa(i) = 0.0d0
5336      v2rhoasigmaab(i) = 0.0d0
5337      v2rhoasigmabb(i) = 0.0d0
5338      v2rhobsigmaaa(i) = 0.0d0
5339      v2rhobsigmaab(i) = 0.0d0
5340      v2rhobsigmabb(i) = 0.0d0
5341      v2sigmaaa2(i) = 0.0d0
5342      v2sigmaab2(i) = 0.0d0
5343      v2sigmabb2(i) = 0.0d0
5344      v2sigmaaaab(i) = 0.0d0
5345      v2sigmaaabb(i) = 0.0d0
5346      v2sigmaabbb(i) = 0.0d0
5347      endif ! rho
5348      enddo
5349
5350      endif ! ideriv
5351      return
5352      end
5353
5354
5355      subroutine rks_c_lyp
5356     & (ideriv,npt,rhoa1,sigmaaa1,
5357     &  zk,vrhoa,vsigmaaa,
5358     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
5359c
5360c     C. Lee, W. Yang, and R.G. Parr
5361c     Development of the Colle-Salvetti correlation-energy formula into
5362c     a functional of the electron density
5363c     Phys. Rev. B37 (1988) 785-789
5364c
5365c
5366c     CITATION:
5367c
5368c     Functionals were obtained from the Density Functional Repository
5369c     as developed and distributed by the Quantum Chemistry Group,
5370c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
5371c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
5372c     Paul Sherwood for further information.
5373c
5374c     COPYRIGHT:
5375c
5376c     Users may incorporate the source code into software packages and
5377c     redistribute the source code provided the source code is not
5378c     changed in anyway and is properly cited in any documentation or
5379c     publication related to its use.
5380c
5381c     ACKNOWLEDGEMENT:
5382c
5383c     The source code was generated using Maple 8 through a modified
5384c     version of the dfauto script published in:
5385c
5386c        R. Strange, F.R. Manby, P.J. Knowles
5387c        Automatic code generation in density functional theory
5388c        Comp. Phys. Comm. 136 (2001) 310-318.
5389c
5390      implicit real*8 (a-h,o-z)
5391      integer ideriv,npt
5392      real*8 rhoa1(npt)
5393      real*8 sigmaaa1(npt)
5394      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
5395      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
5396      parameter(tol=1.0d-20)
5397
5398      if(ideriv.eq.0) then
5399
5400      do i=1,npt
5401      rho = dmax1(0.D0,rhoa1(i))
5402      if(rho.gt.tol) then
5403      sigma = dmax1(0.D0,sigmaaa1(i))
5404      t2 = rho**(1.D0/3.D0)
5405      t3 = 1/t2
5406      t6 = 1/(1.D0+0.349D0*t3)
5407      t9 = 0.2533D0*t3
5408      t10 = dexp(-t9)
5409      t12 = rho**2
5410      t14 = t2**2
5411      t20 = t3*t6
5412      zk(i) = -0.4918D-1*t6*rho-0.649176D-2*t10*t6/t14/t12/rho*(0.25D0
5413     #*t12*(0.1148493600075277D2*t14*t12+(0.2611111111111111D1
5414     #-0.9850555555555556D-1*t3-0.1357222222222222D0*t20)*sigma-0.5D0*
5415     #(0.25D1-0.1407222222222222D-1*t3-0.1938888888888889D-1*t20)
5416     #*sigma-0.2777777777777778D-1*(t9+0.349D0*t20-11.D0)*sigma)
5417     #-0.4583333333333333D0*t12*sigma)
5418      else ! rho
5419      zk(i) = 0.0d0
5420      endif ! rho
5421      enddo
5422
5423      else if(ideriv.eq.1) then
5424
5425      do i=1,npt
5426      rho = dmax1(0.D0,rhoa1(i))
5427      if(rho.gt.tol) then
5428      sigma = dmax1(0.D0,sigmaaa1(i))
5429      t2 = rho**(1.D0/3.D0)
5430      t3 = 1/t2
5431      t5 = 1.D0+0.349D0*t3
5432      t6 = 1/t5
5433      t9 = 0.2533D0*t3
5434      t10 = dexp(-t9)
5435      t11 = t10*t6
5436      t12 = rho**2
5437      t14 = t2**2
5438      t16 = 1/t14/t12/rho
5439      t20 = t3*t6
5440      t22 = 0.2611111111111111D1-0.9850555555555556D-1*t3
5441     #-0.1357222222222222D0*t20
5442      t30 = t9+0.349D0*t20-11.D0
5443      t33 = 0.1148493600075277D2*t14*t12+t22*sigma-0.5D0*(0.25D1
5444     #-0.1407222222222222D-1*t3-0.1938888888888889D-1*t20)*sigma
5445     #-0.2777777777777778D-1*t30*sigma
5446      t38 = 0.25D0*t12*t33-0.4583333333333333D0*t12*sigma
5447      zk(i) = -0.4918D-1*t6*rho-0.649176D-2*t11*t16*t38
5448      t45 = t14*rho
5449      t49 = t30/rho*sigma
5450      t54 = rho*sigma
5451      t60 = t5**2
5452      t61 = 1/t60
5453      t64 = t12**2
5454      t66 = 1/t64/rho
5455      t81 = 1/t2/rho
5456      t83 = t81*t6
5457      t85 = 1/t45
5458      t86 = t85*t61
5459      vrhoa(i) = -0.4918D-1*t6-0.649176D-2*t11*t16*(0.5D0*rho*t33
5460     #+0.25D0*t12*(0.3062649600200738D2*t45-0.2777777777777778D-1*t49)
5461     #-0.25D0*t54)-0.5721273333333333D-2*t61*t3-0.548120936D-3*t66*t10
5462     #*t6*t38-0.75520808D-3*t10*t61*t66*t38+0.2380312D-1*t11/t14/t64
5463     #*t38-0.649176D-2*t11*t16*(0.25D0*t12*((0.3283518518518519D-1*t81
5464     #+0.4524074074074074D-1*t83-0.1578901851851852D-1*t86)*sigma
5465     #-0.5D0*(0.4690740740740741D-2*t81+0.6462962962962963D-2*t83
5466     #-0.2255574074074074D-2*t86)*sigma-0.2777777777777778D-1*(
5467     #-0.8443333333333333D-1*t81-0.1163333333333333D0*t83
5468     #+0.4060033333333333D-1*t86)*sigma+0.2777777777777778D-1*t49)
5469     #-0.6666666666666667D0*t54)
5470      vsigmaaa(i) = 0.7213066666666667D-3*t11*t85-0.2596704D-1*t11*t16
5471     #*(0.25D0*t12*t22-0.6666666666666667D0*t12)
5472      else ! rho
5473      zk(i) = 0.0d0
5474      vrhoa(i) = 0.0d0
5475      vsigmaaa(i) = 0.0d0
5476      endif ! rho
5477      enddo
5478
5479      else if(ideriv.eq.2) then
5480
5481      do i=1,npt
5482      rho = dmax1(0.D0,rhoa1(i))
5483      if(rho.gt.tol) then
5484      sigma = dmax1(0.D0,sigmaaa1(i))
5485      t2 = rho**(1.D0/3.D0)
5486      t3 = 1/t2
5487      t5 = 1.D0+0.349D0*t3
5488      t6 = 1/t5
5489      t9 = 0.2533D0*t3
5490      t10 = dexp(-t9)
5491      t11 = t10*t6
5492      t12 = rho**2
5493      t13 = t12*rho
5494      t14 = t2**2
5495      t16 = 1/t14/t13
5496      t17 = t14*t12
5497      t18 = 0.1148493600075277D2*t17
5498      t20 = t3*t6
5499      t22 = 0.2611111111111111D1-0.9850555555555556D-1*t3
5500     #-0.1357222222222222D0*t20
5501      t23 = t22*sigma
5502      t28 = 0.5D0*(0.25D1-0.1407222222222222D-1*t3
5503     #-0.1938888888888889D-1*t20)*sigma
5504      t30 = t9+0.349D0*t20-11.D0
5505      t32 = 0.2777777777777778D-1*t30*sigma
5506      t33 = t18+t23-t28-t32
5507      t38 = 0.25D0*t12*t33-0.4583333333333333D0*t12*sigma
5508      zk(i) = -0.4918D-1*t6*rho-0.649176D-2*t11*t16*t38
5509      t45 = t14*rho
5510      t47 = 1/rho
5511      t48 = t30*t47
5512      t49 = t48*sigma
5513      t51 = 0.3062649600200738D2*t45-0.2777777777777778D-1*t49
5514      t54 = rho*sigma
5515      t56 = 0.5D0*rho*t33+0.25D0*t12*t51-0.25D0*t54
5516      t60 = t5**2
5517      t61 = 1/t60
5518      t64 = t12**2
5519      t65 = t64*rho
5520      t66 = 1/t65
5521      t67 = t66*t10
5522      t68 = t6*t38
5523      t71 = t10*t61
5524      t76 = 1/t14/t64
5525      t81 = 1/t2/rho
5526      t83 = t81*t6
5527      t85 = 1/t45
5528      t86 = t85*t61
5529      t88 = 0.3283518518518519D-1*t81+0.4524074074074074D-1*t83
5530     #-0.1578901851851852D-1*t86
5531      t99 = -0.8443333333333333D-1*t81-0.1163333333333333D0*t83
5532     #+0.4060033333333333D-1*t86
5533      t103 = t88*sigma-0.5D0*(0.4690740740740741D-2*t81
5534     #+0.6462962962962963D-2*t83-0.2255574074074074D-2*t86)*sigma
5535     #-0.2777777777777778D-1*t99*sigma+0.2777777777777778D-1*t49
5536      t107 = 0.25D0*t12*t103-0.6666666666666667D0*t54
5537      vrhoa(i) = -0.4918D-1*t6-0.649176D-2*t11*t16*t56
5538     #-0.5721273333333333D-2*t61*t3-0.548120936D-3*t67*t68
5539     #-0.75520808D-3*t71*t66*t38+0.2380312D-1*t11*t76*t38-0.649176D-2
5540     #*t11*t16*t107
5541      t116 = 0.25D0*t12*t22-0.6666666666666667D0*t12
5542      vsigmaaa(i) = 0.7213066666666667D-3*t11*t85-0.2596704D-1*t11*t16
5543     #*t116
5544      t121 = 1/t60/t5
5545      t126 = t64*t12
5546      t127 = 1/t126
5547      t137 = t99*t47*sigma
5548      t141 = t30/t12*sigma
5549      t150 = rho*t51
5550      t165 = 1/t2/t126
5551      t166 = t165*t10
5552      t188 = 1/t2/t12
5553      t190 = t188*t6
5554      t192 = 1/t17
5555      t193 = t192*t61
5556      t195 = 1/t13
5557      t196 = t195*t121
5558      s1 = -0.2662299191111111D-2*t121*t85-0.7628364444444444D-2*t61
5559     #*t81+0.9500762890666667D-2*t127*t10*t68+0.9521248D-1*t11*t76*t56
5560     #-0.2596704D-1*t11*t16*(0.5D0*rho*t103+0.25D0*t12*(
5561     #-0.2777777777777778D-1*t137+0.2777777777777778D-1*t141))
5562     #-0.649176D-2*t11*t16*(t18+t23-t28-t32+t150)+0.9521248D-1*t11*t76
5563     #*t107-0.2192483744D-2*t67*t6*t56-0.302083232D-2*t71*t66*t56
5564      s2 = s1-0.2550589422186667D-3*t166*t61*t38-0.302083232D-2*t71
5565     #*t66*t107-0.3514234932266667D-3*t10*t121*t165*t38
5566     #-0.2192483744D-2*t67*t6*t107
5567      v2rhoa2(i) = s2-0.9255935539253333D-4*t166*t68
5568     #-0.2221624533333333D0*t11/t14/t65*t38-0.1298352D-1*t11*t16*
5569     #(0.25D0*t12*((-0.4378024691358025D-1*t188-0.6032098765432099D-1
5570     #*t190+0.3157803703703704D-1*t193-0.3673578308641975D-2*t196)
5571     #*sigma-0.5D0*(-0.6254320987654321D-2*t188-0.8617283950617284D-2
5572     #*t190+0.4511148148148148D-2*t193-0.5247969012345679D-3*t196)
5573     #*sigma-0.2777777777777778D-1*(0.1125777777777778D0*t188
5574     #+0.1551111111111111D0*t190-0.8120066666666667D-1*t193
5575     #+0.9446344222222222D-2*t196)*sigma+0.5555555555555556D-1*t137
5576     #-0.5555555555555556D-1*t141)-0.6666666666666667D0*sigma)
5577     #-0.649176D-2*t11*t16*(0.1D1*t150+0.2552208000167282D2*t17-0.5D0
5578     #*sigma)+0.1309027338666667D-1*t71*t127*t38
5579      v2rhoasigmaaa(i) = -0.649176D-2*t11*t16*(-0.9444444444444444D0
5580     #*rho-0.2777777777777778D-1*rho*t30)+0.6090232622222222D-4*t195
5581     #*t10*t6+0.8391200888888889D-4*t71*t195+0.9978075555555556D-2*t11
5582     #*t192-0.1298352D-1*t11*t16*(0.25D0*t12*(-0.3D-22*t83+0.1D-22*t86
5583     #+0.5555555555555556D-1*t48)+0.1333333333333333D1*rho)
5584     #-0.1298352D-1*t11*t192*t22-0.2192483744D-2*t67*t6*t116
5585     #-0.302083232D-2*t71*t66*t116+0.9521248D-1*t11*t76*t116
5586     #-0.2596704D-1*t11*t16*(0.25D0*t12*t88-0.1333333333333333D1*rho)
5587      v2sigmaaa2(i) = 0.D0
5588      else ! rho
5589      zk(i) = 0.0d0
5590      vrhoa(i) = 0.0d0
5591      v2rhoa2(i) = 0.0d0
5592      vsigmaaa(i) = 0.0d0
5593      v2rhoasigmaaa(i) = 0.0d0
5594      v2sigmaaa2(i) = 0.0d0
5595      endif ! rho
5596      enddo
5597
5598      endif ! ideriv
5599      return
5600      end
5601
5602
5603      subroutine uks_c_pw91
5604     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
5605     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
5606     &  v2rhoa2,v2rhob2,v2rhoab,
5607     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
5608     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
5609     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
5610     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
5611c
5612c     J.P. Perdew, J.A. Chevary, S.H. Vosko, K.A. Jackson,
5613c     M.R. Pederson, D.J. Singh, C. Fiolhais
5614c     Atoms, molecules, solids and surfaces:
5615c     Applications of the generalized gradient approximation
5616c     for exchange and correlation
5617c     Phys. Rev. B 46 (1992) 6671--6687
5618c
5619c
5620c     CITATION:
5621c
5622c     Functionals were obtained from the Density Functional Repository
5623c     as developed and distributed by the Quantum Chemistry Group,
5624c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
5625c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
5626c     Paul Sherwood for further information.
5627c
5628c     COPYRIGHT:
5629c
5630c     Users may incorporate the source code into software packages and
5631c     redistribute the source code provided the source code is not
5632c     changed in anyway and is properly cited in any documentation or
5633c     publication related to its use.
5634c
5635c     ACKNOWLEDGEMENT:
5636c
5637c     The source code was generated using Maple 8 through a modified
5638c     version of the dfauto script published in:
5639c
5640c        R. Strange, F.R. Manby, P.J. Knowles
5641c        Automatic code generation in density functional theory
5642c        Comp. Phys. Comm. 136 (2001) 310-318.
5643c
5644      implicit real*8 (a-h,o-z)
5645      integer ideriv,npt
5646      real*8 rhoa1(npt),rhob1(npt)
5647      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
5648      real*8 zk(npt),vrhoa(npt),vrhob(npt)
5649      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
5650      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
5651      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
5652      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
5653      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
5654      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
5655      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
5656      parameter(tol=1.0d-20)
5657
5658      if (ideriv.eq.0) then
5659
5660      do i=1,npt
5661      rhoa = dmax1(0.D0,rhoa1(i))
5662      rhob = dmax1(0.D0,rhob1(i))
5663      rho = rhoa+rhob
5664      if(rho.gt.tol) then
5665      if(rhoa.lt.tol) then
5666      rho = rhob
5667      sigmabb = dmax1(0.D0,sigmabb1(i))
5668      sigma = sigmabb
5669      t2 = 1/rhob
5670      t3 = t2**(1.D0/3.D0)
5671      t6 = t2**(1.D0/6.D0)
5672      t9 = dsqrt(t2)
5673      t11 = t3**2
5674      t17 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t6
5675     #+0.3844746237447211D1*t3+0.1644733775567609D1*t9
5676     #+0.2405871291288192D0*t11))
5677      t18 = (1.D0+0.1274696188700087D0*t3)*t17
5678      t20 = rhob**2
5679      t21 = rhob**(1.D0/3.D0)
5680      t23 = 1/t21/t20
5681      t27 = dexp(0.2513789108010112D1*t18)
5682      t28 = t27-1.D0
5683      t29 = 1/t28
5684      t30 = sigmabb**2
5685      t32 = t20**2
5686      t33 = t21**2
5687      t35 = 1/t33/t32
5688      t42 = t28**2
5689      t52 = dlog(1.D0+0.2697586091519874D1*(0.1007494971260294D0
5690     #*sigmabb*t23+0.2738174287780083D-1*t29*t30*t35)/(1.D0
5691     #+0.2717804421747983D0*t29*sigmabb*t23+0.7386460874872889D-1/t42
5692     #*t30*t35))
5693      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmabb)
5694      zk(i) = rhob*(-0.3109D-1*t18+0.1236778371778789D-1*t52
5695     #+0.7937005259840997D0*(0.1D-2*(0.2568D1+0.1443307452126544D2*t3
5696     #+0.2843543831490386D-2*t11)/(1.D0+0.5411317332115466D1*t3
5697     #+0.1816419932959077D0*t11+0.1763993811759022D-1*t2)
5698     #-0.1853571428571429D-2)*sigmabb*t23*t70)
5699      elseif(rhob.lt.tol) then
5700      rho = rhoa
5701      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5702      sigma = sigmaaa
5703      t2 = 1/rhoa
5704      t3 = t2**(1.D0/3.D0)
5705      t6 = t2**(1.D0/6.D0)
5706      t9 = dsqrt(t2)
5707      t11 = t3**2
5708      t17 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t6
5709     #+0.3844746237447211D1*t3+0.1644733775567609D1*t9
5710     #+0.2405871291288192D0*t11))
5711      t18 = (1.D0+0.1274696188700087D0*t3)*t17
5712      t20 = rhoa**2
5713      t21 = rhoa**(1.D0/3.D0)
5714      t23 = 1/t21/t20
5715      t27 = dexp(0.2513789108010112D1*t18)
5716      t28 = t27-1.D0
5717      t29 = 1/t28
5718      t30 = sigmaaa**2
5719      t32 = t20**2
5720      t33 = t21**2
5721      t35 = 1/t33/t32
5722      t42 = t28**2
5723      t52 = dlog(1.D0+0.2697586091519874D1*(0.1007494971260294D0
5724     #*sigmaaa*t23+0.2738174287780083D-1*t29*t30*t35)/(1.D0
5725     #+0.2717804421747983D0*t29*sigmaaa*t23+0.7386460874872889D-1/t42
5726     #*t30*t35))
5727      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmaaa)
5728      zk(i) = rhoa*(-0.3109D-1*t18+0.1236778371778789D-1*t52
5729     #+0.7937005259840997D0*(0.1D-2*(0.2568D1+0.1443307452126544D2*t3
5730     #+0.2843543831490386D-2*t11)/(1.D0+0.5411317332115466D1*t3
5731     #+0.1816419932959077D0*t11+0.1763993811759022D-1*t2)
5732     #-0.1853571428571429D-2)*sigmaaa*t23*t70)
5733      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
5734      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5735      sigmaab = sigmaab1(i)
5736      sigmabb = dmax1(0.D0,sigmabb1(i))
5737      sigma = sigmaaa+sigmabb+2.D0*sigmaab
5738      t4 = 1/rho
5739      t5 = t4**(1.D0/3.D0)
5740      t8 = t4**(1.D0/6.D0)
5741      t11 = dsqrt(t4)
5742      t13 = t5**2
5743      t19 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t8
5744     #+0.2225569421150687D1*t5+0.8004286349993634D0*t11
5745     #+0.1897004325747559D0*t13))
5746      t21 = 0.62182D-1*(1.D0+0.1325688999052018D0*t5)*t19
5747      t32 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t8
5748     #+0.2247591863577616D1*t5+0.4300972471276643D0*t11
5749     #+0.1911512595127338D0*t13))
5750      t35 = rhoa-1.D0*rhob
5751      t36 = t35*t4
5752      t37 = 1.D0+t36
5753      t38 = t37**(1.D0/3.D0)
5754      t41 = 1.D0-1.D0*t36
5755      t42 = t41**(1.D0/3.D0)
5756      t44 = t38*t37+t42*t41-2.D0
5757      t45 = t35**2
5758      t46 = t45**2
5759      t47 = rho**2
5760      t48 = t47**2
5761      t50 = t46/t48
5762      t55 = 0.3799574853701528D-1*(1.D0+0.6901399211255825D-1*t5)*t32
5763     #*t44*(1.D0-1.D0*t50)
5764      t66 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t8
5765     #+0.3844746237447211D1*t5+0.1644733775567609D1*t11
5766     #+0.2405871291288192D0*t13))
5767      t72 = 0.1923661050931536D1*(-0.3109D-1*(1.D0
5768     #+0.1274696188700087D0*t5)*t66+t21)*t44*t50
5769      t73 = t38**2
5770      t75 = t42**2
5771      t77 = 0.5D0*t73+0.5D0*t75
5772      t78 = t77**2
5773      t79 = t78*t77
5774      t80 = 1/t78
5775      t82 = rho**(1.D0/3.D0)
5776      t84 = 1/t82/t47
5777      t91 = dexp(-0.4042761511756372D2*(-t21+t55+t72)/t79)
5778      t92 = t91-1.D0
5779      t93 = 1/t92
5780      t94 = sigma**2
5781      t96 = t78**2
5782      t98 = t82**2
5783      t101 = 1/t96/t98/t48
5784      t109 = t92**2
5785      t119 = dlog(1.D0+0.2697586091519874D1*(0.634682060977037D-1
5786     #*sigma*t80*t84+0.1086645186223595D-1*t93*t94*t101)/(1.D0
5787     #+0.1712109500228824D0*t93*sigma*t80*t84+0.2931318940773793D-1
5788     #/t109*t94*t101))
5789      t140 = dexp(-0.261211729852336D1*t78/t98/t47*sigma)
5790      zk(i) = rho*(-t21+t55+t72+0.2473556743557577D-1*t79*t119+0.1D1*
5791     #(0.1D-2*(0.2568D1+0.1443307452126544D2*t5+0.2843543831490386D-2
5792     #*t13)/(1.D0+0.5411317332115466D1*t5+0.1816419932959077D0*t13
5793     #+0.1763993811759022D-1*t4)-0.1853571428571429D-2)*t77*sigma*t84
5794     #*t140)
5795      endif ! rhoa,rhob
5796      else ! rho
5797      zk(i) = 0.0d0
5798      endif ! rho
5799      enddo
5800
5801      else if(ideriv.eq.1) then
5802
5803      do i=1,npt
5804      rhoa = dmax1(0.D0,rhoa1(i))
5805      rhob = dmax1(0.D0,rhob1(i))
5806      rho = rhoa+rhob
5807      if(rho.gt.tol) then
5808      if(rhoa.lt.tol) then
5809      rho = rhob
5810      sigmabb = dmax1(0.D0,sigmabb1(i))
5811      sigma = sigmabb
5812      t2 = 1/rhob
5813      t3 = t2**(1.D0/3.D0)
5814      t5 = 1.D0+0.1274696188700087D0*t3
5815      t6 = t2**(1.D0/6.D0)
5816      t9 = dsqrt(t2)
5817      t11 = t3**2
5818      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
5819     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
5820      t16 = 1.D0+0.321646831778707D2/t13
5821      t17 = dlog(t16)
5822      t18 = t5*t17
5823      t19 = 0.3109D-1*t18
5824      t20 = rhob**2
5825      t21 = rhob**(1.D0/3.D0)
5826      t23 = 1/t21/t20
5827      t27 = dexp(0.2513789108010112D1*t18)
5828      t28 = t27-1.D0
5829      t29 = 1/t28
5830      t30 = sigmabb**2
5831      t31 = t29*t30
5832      t32 = t20**2
5833      t33 = t21**2
5834      t35 = 1/t33/t32
5835      t38 = 0.1007494971260294D0*sigmabb*t23+0.2738174287780083D-1*t31
5836     #*t35
5837      t39 = t29*sigmabb
5838      t42 = t28**2
5839      t43 = 1/t42
5840      t44 = t43*t30
5841      t47 = 1.D0+0.2717804421747983D0*t39*t23+0.7386460874872889D-1
5842     #*t44*t35
5843      t48 = 1/t47
5844      t51 = 1.D0+0.2697586091519874D1*t38*t48
5845      t52 = dlog(t51)
5846      t53 = 0.1236778371778789D-1*t52
5847      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
5848      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
5849     #+0.1763993811759022D-1*t2
5850      t61 = 1/t60
5851      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
5852      t65 = t64*sigmabb
5853      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmabb)
5854      t71 = t23*t70
5855      t73 = 0.7937005259840997D0*t65*t71
5856      zk(i) = rhob*(-t19+t53+t73)
5857      vrhoa(i) = 0.D0
5858      t76 = 1/t20
5859      t77 = 1/t11*t76
5860      t79 = 0.1321010150222857D-2*t77*t17
5861      t80 = t13**2
5862      t83 = t6**2
5863      t84 = t83**2
5864      t94 = 1/t3*t76
5865      t100 = 0.1D1*t5/t80*(-0.1853395810515781D1/t84/t6*t76
5866     #-0.128158207914907D1*t77-0.8223668877838045D0/t9*t76
5867     #-0.1603914194192128D0*t94)/t16
5868      t103 = 1/t21/t20/rhob
5869      t106 = t79+t100
5870      t108 = t35*t106*t27
5871      t111 = t32*rhob
5872      t113 = 1/t33/t111
5873      t119 = t47**2
5874      t121 = t38/t119
5875      t122 = t43*sigmabb
5876      t140 = 1/t51
5877      t148 = t60**2
5878      vrhob(i) = -t19+t53+t73+rhob*(t79+t100+0.1236778371778789D-1*
5879     #(0.2697586091519874D1*(-0.2350821599607352D0*sigmabb*t103
5880     #+0.2213957124623647D1*t44*t108-0.1277814667630705D0*t31*t113)
5881     #*t48-0.2697586091519874D1*t121*(0.2197487022544806D2*t122*t23
5882     #*t106*t27-0.6341543650745294D0*t39*t103+0.1194467989321217D2/t42
5883     #/t28*t30*t108-0.3447015074940681D0*t44*t113))*t140
5884     #+0.7937005259840997D0*(0.1D-2*(-0.4811024840421814D1*t77
5885     #-0.1895695887660258D-2*t94)*t61-0.1D-2*t56/t148*(
5886     #-0.1803772444038489D1*t77-0.1210946621972718D0*t94
5887     #-0.1763993811759022D-1*t76))*sigmabb*t71-0.1851967893962899D1
5888     #*t65*t103*t70+0.3482823064697813D1*t64*t30/t32/t20*t70)
5889      vsigmaaa(i) = 0.D0
5890      vsigmaab(i) = 0.D0
5891      vsigmabb(i) = rhob*(0.1236778371778789D-1*(0.2697586091519874D1*
5892     #(0.1007494971260294D0*t23+0.5476348575560166D-1*t39*t35)*t48
5893     #-0.2697586091519874D1*t121*(0.2717804421747983D0*t29*t23
5894     #+0.1477292174974578D0*t122*t35))*t140+0.7937005259840997D0*t64
5895     #*t23*t70-0.130605864926168D1*t65/t111*t70)
5896      elseif(rhob.lt.tol) then
5897      rho = rhoa
5898      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5899      sigma = sigmaaa
5900      t2 = 1/rhoa
5901      t3 = t2**(1.D0/3.D0)
5902      t5 = 1.D0+0.1274696188700087D0*t3
5903      t6 = t2**(1.D0/6.D0)
5904      t9 = dsqrt(t2)
5905      t11 = t3**2
5906      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
5907     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
5908      t16 = 1.D0+0.321646831778707D2/t13
5909      t17 = dlog(t16)
5910      t18 = t5*t17
5911      t19 = 0.3109D-1*t18
5912      t20 = rhoa**2
5913      t21 = rhoa**(1.D0/3.D0)
5914      t23 = 1/t21/t20
5915      t27 = dexp(0.2513789108010112D1*t18)
5916      t28 = t27-1.D0
5917      t29 = 1/t28
5918      t30 = sigmaaa**2
5919      t31 = t29*t30
5920      t32 = t20**2
5921      t33 = t21**2
5922      t35 = 1/t33/t32
5923      t38 = 0.1007494971260294D0*sigmaaa*t23+0.2738174287780083D-1*t31
5924     #*t35
5925      t39 = t29*sigmaaa
5926      t42 = t28**2
5927      t43 = 1/t42
5928      t44 = t43*t30
5929      t47 = 1.D0+0.2717804421747983D0*t39*t23+0.7386460874872889D-1
5930     #*t44*t35
5931      t48 = 1/t47
5932      t51 = 1.D0+0.2697586091519874D1*t38*t48
5933      t52 = dlog(t51)
5934      t53 = 0.1236778371778789D-1*t52
5935      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
5936      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
5937     #+0.1763993811759022D-1*t2
5938      t61 = 1/t60
5939      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
5940      t65 = t64*sigmaaa
5941      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmaaa)
5942      t71 = t23*t70
5943      t73 = 0.7937005259840997D0*t65*t71
5944      zk(i) = rhoa*(-t19+t53+t73)
5945      t76 = 1/t20
5946      t77 = 1/t11*t76
5947      t79 = 0.1321010150222857D-2*t77*t17
5948      t80 = t13**2
5949      t83 = t6**2
5950      t84 = t83**2
5951      t94 = 1/t3*t76
5952      t100 = 0.1D1*t5/t80*(-0.1853395810515781D1/t84/t6*t76
5953     #-0.128158207914907D1*t77-0.8223668877838045D0/t9*t76
5954     #-0.1603914194192128D0*t94)/t16
5955      t103 = 1/t21/t20/rhoa
5956      t106 = t79+t100
5957      t108 = t35*t106*t27
5958      t111 = t32*rhoa
5959      t113 = 1/t33/t111
5960      t119 = t47**2
5961      t121 = t38/t119
5962      t122 = t43*sigmaaa
5963      t140 = 1/t51
5964      t148 = t60**2
5965      vrhoa(i) = -t19+t53+t73+rhoa*(t79+t100+0.1236778371778789D-1*
5966     #(0.2697586091519874D1*(-0.2350821599607352D0*sigmaaa*t103
5967     #+0.2213957124623647D1*t44*t108-0.1277814667630705D0*t31*t113)
5968     #*t48-0.2697586091519874D1*t121*(0.2197487022544806D2*t122*t23
5969     #*t106*t27-0.6341543650745294D0*t39*t103+0.1194467989321217D2/t42
5970     #/t28*t30*t108-0.3447015074940681D0*t44*t113))*t140
5971     #+0.7937005259840997D0*(0.1D-2*(-0.4811024840421814D1*t77
5972     #-0.1895695887660258D-2*t94)*t61-0.1D-2*t56/t148*(
5973     #-0.1803772444038489D1*t77-0.1210946621972718D0*t94
5974     #-0.1763993811759022D-1*t76))*sigmaaa*t71-0.1851967893962899D1
5975     #*t65*t103*t70+0.3482823064697813D1*t64*t30/t32/t20*t70)
5976      vrhob(i) = 0.D0
5977      vsigmaaa(i) = rhoa*(0.1236778371778789D-1*(0.2697586091519874D1*
5978     #(0.1007494971260294D0*t23+0.5476348575560166D-1*t39*t35)*t48
5979     #-0.2697586091519874D1*t121*(0.2717804421747983D0*t29*t23
5980     #+0.1477292174974578D0*t122*t35))*t140+0.7937005259840997D0*t64
5981     #*t23*t70-0.130605864926168D1*t65/t111*t70)
5982      vsigmaab(i) = 0.D0
5983      vsigmabb(i) = 0.D0
5984      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
5985      sigmaaa = dmax1(0.D0,sigmaaa1(i))
5986      sigmaab = sigmaab1(i)
5987      sigmabb = dmax1(0.D0,sigmabb1(i))
5988      sigma = sigmaaa+sigmabb+2.D0*sigmaab
5989      t4 = 1/rho
5990      t5 = t4**(1.D0/3.D0)
5991      t7 = 1.D0+0.1325688999052018D0*t5
5992      t8 = t4**(1.D0/6.D0)
5993      t11 = dsqrt(t4)
5994      t13 = t5**2
5995      t15 = 0.598255043577108D1*t8+0.2225569421150687D1*t5
5996     #+0.8004286349993634D0*t11+0.1897004325747559D0*t13
5997      t18 = 1.D0+0.160818243221511D2/t15
5998      t19 = dlog(t18)
5999      t21 = 0.62182D-1*t7*t19
6000      t23 = 1.D0+0.6901399211255825D-1*t5
6001      t28 = 0.8157414703487641D1*t8+0.2247591863577616D1*t5
6002     #+0.4300972471276643D0*t11+0.1911512595127338D0*t13
6003      t31 = 1.D0+0.2960857464321668D2/t28
6004      t32 = dlog(t31)
6005      t33 = t23*t32
6006      t35 = rhoa-1.D0*rhob
6007      t36 = t35*t4
6008      t37 = 1.D0+t36
6009      t38 = t37**(1.D0/3.D0)
6010      t41 = 1.D0-1.D0*t36
6011      t42 = t41**(1.D0/3.D0)
6012      t44 = t38*t37+t42*t41-2.D0
6013      t45 = t35**2
6014      t46 = t45**2
6015      t47 = rho**2
6016      t48 = t47**2
6017      t49 = 1/t48
6018      t50 = t46*t49
6019      t52 = 1.D0-1.D0*t50
6020      t55 = 0.3799574853701528D-1*t33*t44*t52
6021      t57 = 1.D0+0.1274696188700087D0*t5
6022      t62 = 0.1112037486309468D2*t8+0.3844746237447211D1*t5
6023     #+0.1644733775567609D1*t11+0.2405871291288192D0*t13
6024      t65 = 1.D0+0.321646831778707D2/t62
6025      t66 = dlog(t65)
6026      t69 = -0.3109D-1*t57*t66+t21
6027      t70 = t69*t44
6028      t72 = 0.1923661050931536D1*t70*t50
6029      t73 = t38**2
6030      t75 = t42**2
6031      t77 = 0.5D0*t73+0.5D0*t75
6032      t78 = t77**2
6033      t79 = t78*t77
6034      t80 = 1/t78
6035      t81 = sigma*t80
6036      t82 = rho**(1.D0/3.D0)
6037      t84 = 1/t82/t47
6038      t87 = -t21+t55+t72
6039      t88 = 1/t79
6040      t91 = dexp(-0.4042761511756372D2*t87*t88)
6041      t92 = t91-1.D0
6042      t93 = 1/t92
6043      t94 = sigma**2
6044      t95 = t93*t94
6045      t96 = t78**2
6046      t97 = 1/t96
6047      t98 = t82**2
6048      t100 = 1/t98/t48
6049      t101 = t97*t100
6050      t104 = 0.634682060977037D-1*t81*t84+0.1086645186223595D-1*t95*t101
6051      t105 = t93*sigma
6052      t106 = t80*t84
6053      t109 = t92**2
6054      t110 = 1/t109
6055      t111 = t110*t94
6056      t114 = 1.D0+0.1712109500228824D0*t105*t106+0.2931318940773793D-1
6057     #*t111*t101
6058      t115 = 1/t114
6059      t118 = 1.D0+0.2697586091519874D1*t104*t115
6060      t119 = dlog(t118)
6061      t121 = 0.2473556743557577D-1*t79*t119
6062      t124 = 0.2568D1+0.1443307452126544D2*t5+0.2843543831490386D-2*t13
6063      t128 = 1.D0+0.5411317332115466D1*t5+0.1816419932959077D0*t13
6064     #+0.1763993811759022D-1*t4
6065      t129 = 1/t128
6066      t132 = 0.1D-2*t124*t129-0.1853571428571429D-2
6067      t133 = t132*t77
6068      t136 = 1/t98/t47
6069      t140 = dexp(-0.261211729852336D1*t78*t136*sigma)
6070      t141 = sigma*t84*t140
6071      t143 = 0.1D1*t133*t141
6072      zk(i) = rho*(-t21+t55+t72+t121+t143)
6073      t149 = 0.1333333333333333D1*t38*t4-0.1333333333333333D1*t42*t4
6074      t152 = 0.3799574853701528D-1*t33*t149*t52
6075      t153 = t45*t35
6076      t156 = t33*t44*t153*t49
6077      t157 = 0.1519829941480611D0*t156
6078      t160 = 0.1923661050931536D1*t69*t149*t50
6079      t162 = t70*t153*t49
6080      t163 = 0.7694644203726145D1*t162
6081      t164 = t78*t119
6082      t165 = 1/t38
6083      t168 = 1/t42
6084      t171 = 0.3333333333333333D0*t165*t4-0.3333333333333333D0*t168*t4
6085      t174 = sigma*t88
6086      t178 = t111*t97
6087      t182 = t87*t97
6088      t185 = -0.4042761511756372D2*(t152-t157+t160+t163)*t88
6089     #+0.1212828453526912D3*t182*t171
6090      t187 = t100*t185*t91
6091      t192 = 1/t96/t77*t100
6092      t193 = t192*t171
6093      t199 = t114**2
6094      t201 = t104/t199
6095      t202 = t110*sigma
6096      t203 = t202*t80
6097      t208 = t88*t84
6098      t215 = 1/t109/t92*t94*t97
6099      t225 = 1/t118
6100      t232 = t132*t78*t94
6101      t233 = t48*rho
6102      t234 = 1/t233
6103      t242 = 1/t47
6104      t243 = 1/t13*t242
6105      t244 = t243*t19
6106      t245 = 0.2747799777968419D-2*t244
6107      t246 = t15**2
6108      t249 = t8**2
6109      t250 = t249**2
6110      t253 = 1/t250/t8*t242
6111      t257 = 1/t11*t242
6112      t260 = 1/t5*t242
6113      t265 = t7/t246*(-0.99709173929518D0*t253-0.7418564737168958D0
6114     #*t243-0.4002143174996817D0*t257-0.1264669550498372D0*t260)/t18
6115      t266 = 0.1D1*t265
6116      t270 = 0.8740794299481065D-3*t243*t32*t44*t52
6117      t271 = t28**2
6118      t284 = 0.1124999956683108D1*t23/t271*(-0.135956911724794D1*t253
6119     #-0.7491972878592054D0*t243-0.2150486235638321D0*t257
6120     #-0.1274341730084892D0*t260)/t31*t44*t52
6121      t291 = -0.1333333333333333D1*t38*t35*t242+0.1333333333333333D1
6122     #*t42*t35*t242
6123      t294 = 0.3799574853701528D-1*t33*t291*t52
6124      t298 = 0.1519829941480611D0*t33*t44*t46*t234
6125      t301 = t62**2
6126      t318 = 0.1923661050931536D1*(0.1321010150222857D-2*t243*t66
6127     #+0.1D1*t57/t301*(-0.1853395810515781D1*t253-0.128158207914907D1
6128     #*t243-0.8223668877838045D0*t257-0.1603914194192128D0*t260)/t65
6129     #-0.2747799777968419D-2*t244-0.1D1*t265)*t44*t50
6130      t321 = 0.1923661050931536D1*t69*t291*t50
6131      t324 = 0.7694644203726145D1*t70*t46*t234
6132      t331 = -0.3333333333333333D0*t165*t35*t242+0.3333333333333333D0
6133     #*t168*t35*t242
6134      t337 = t47*rho
6135      t339 = 1/t82/t337
6136      t347 = -0.4042761511756372D2*(t245+t266-t270-t284+t294+t298+t318
6137     #+t321-t324)*t88+0.1212828453526912D3*t182*t331
6138      t349 = t100*t347*t91
6139      t352 = t192*t331
6140      t357 = t97/t98/t233
6141      t391 = t128**2
6142      s1 = t245+t266-t270-t284+t294+t298+t318
6143      s2 = s1+t321-t324+0.7420670230672731D-1*t164*t331
6144      s3 = s2+0.2473556743557577D-1*t79*(0.2697586091519874D1*(
6145     #-0.1269364121954074D0*t174*t84*t331-0.148092480894642D0*t81*t339
6146     #-0.1086645186223595D-1*t178*t349-0.4346580744894379D-1*t95*t352
6147     #-0.5071010869043442D-1*t95*t357)*t115-0.2697586091519874D1*t201*
6148     #(-0.1712109500228824D0*t203*t84*t347*t91-0.3424219000457648D0
6149     #*t105*t208*t331-0.3994922167200589D0*t105*t80*t339
6150     #-0.5862637881547585D-1*t215*t349-0.1172527576309517D0*t111*t352
6151     #-0.136794883902777D0*t111*t357))*t225+0.1D1*(0.1D-2*(
6152     #-0.4811024840421814D1*t243-0.1895695887660258D-2*t260)*t129
6153     #-0.1D-2*t124/t391*(-0.1803772444038489D1*t243
6154     #-0.1210946621972718D0*t260-0.1763993811759022D-1*t242))*t77*t141
6155      t426 = s3+0.1D1*t132*t331*t141-0.2333333333333333D1*t133*sigma
6156     #*t339*t140+0.1D1*t133*sigma*t84*(-0.522423459704672D1*t77*t136
6157     #*sigma*t331+0.6965646129395627D1*t78/t98/t337*sigma)*t140
6158      t427 = rho*t426
6159      vrhoa(i) = rho*(t152-t157+t160+t163+0.7420670230672731D-1*t164
6160     #*t171+0.2473556743557577D-1*t79*(0.2697586091519874D1*(
6161     #-0.1269364121954074D0*t174*t84*t171-0.1086645186223595D-1*t178
6162     #*t187-0.4346580744894379D-1*t95*t193)*t115-0.2697586091519874D1
6163     #*t201*(-0.1712109500228824D0*t203*t84*t185*t91
6164     #-0.3424219000457648D0*t105*t208*t171-0.5862637881547585D-1*t215
6165     #*t187-0.1172527576309517D0*t111*t193))*t225+0.1D1*t132*t171*t141
6166     #-0.522423459704672D1*t232*t234*t171*t140)-t21+t55+t72+t121+t143
6167     #+t427
6168      t428 = -t149
6169      t431 = 0.3799574853701528D-1*t33*t428*t52
6170      t432 = 0.1519829941480611D0*t156
6171      t435 = 0.1923661050931536D1*t69*t428*t50
6172      t436 = 0.7694644203726145D1*t162
6173      t437 = -t171
6174      t448 = -0.4042761511756372D2*(t431+t432+t435-t436)*t88
6175     #+0.1212828453526912D3*t182*t437
6176      t450 = t100*t448*t91
6177      t453 = t192*t437
6178      vrhob(i) = rho*(t431+t432+t435-t436+0.7420670230672731D-1*t164
6179     #*t437+0.2473556743557577D-1*t79*(0.2697586091519874D1*(
6180     #-0.1269364121954074D0*t174*t84*t437-0.1086645186223595D-1*t178
6181     #*t450-0.4346580744894379D-1*t95*t453)*t115-0.2697586091519874D1
6182     #*t201*(-0.1712109500228824D0*t203*t84*t448*t91
6183     #-0.3424219000457648D0*t105*t208*t437-0.5862637881547585D-1*t215
6184     #*t450-0.1172527576309517D0*t111*t453))*t225+0.1D1*t132*t437*t141
6185     #-0.522423459704672D1*t232*t234*t437*t140)-t21+t55+t72+t121+t143
6186     #+t427
6187      vsigmaaa(i) = rho*(0.2473556743557577D-1*t79*
6188     #(0.2697586091519874D1*(0.634682060977037D-1*t106
6189     #+0.2173290372447189D-1*t105*t101)*t115-0.2697586091519874D1*t201
6190     #*(0.1712109500228824D0*t93*t80*t84+0.5862637881547585D-1*t202
6191     #*t101))*t225+0.1D1*t133*t84*t140-0.261211729852336D1*t132*t79
6192     #*sigma*t234*t140)
6193      vsigmaab(i) = 2.D0*vsigmaaa(i)
6194      vsigmabb(i) = vsigmaaa(i)
6195      endif ! rhoa,rhob
6196      else ! rho
6197      zk(i) = 0.0d0
6198      vrhoa(i) = 0.0d0
6199      vrhob(i) = 0.0d0
6200      vsigmaaa(i) = 0.0d0
6201      vsigmaab(i) = 0.0d0
6202      vsigmabb(i) = 0.0d0
6203      endif ! rho
6204      enddo
6205
6206      else if(ideriv.eq.2) then
6207
6208      do i=1,npt
6209      rhoa = dmax1(0.D0,rhoa1(i))
6210      rhob = dmax1(0.D0,rhob1(i))
6211      rho = rhoa+rhob
6212      if(rho.gt.tol) then
6213      if(rhoa.lt.tol) then
6214      rho = rhob
6215      sigmabb = dmax1(0.D0,sigmabb1(i))
6216      sigma = sigmabb
6217      t2 = 1/rhob
6218      t3 = t2**(1.D0/3.D0)
6219      t5 = 1.D0+0.1274696188700087D0*t3
6220      t6 = t2**(1.D0/6.D0)
6221      t9 = dsqrt(t2)
6222      t11 = t3**2
6223      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
6224     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
6225      t16 = 1.D0+0.321646831778707D2/t13
6226      t17 = dlog(t16)
6227      t18 = t5*t17
6228      t19 = 0.3109D-1*t18
6229      t20 = rhob**2
6230      t21 = rhob**(1.D0/3.D0)
6231      t23 = 1/t21/t20
6232      t27 = dexp(0.2513789108010112D1*t18)
6233      t28 = t27-1.D0
6234      t29 = 1/t28
6235      t30 = sigmabb**2
6236      t31 = t29*t30
6237      t32 = t20**2
6238      t33 = t21**2
6239      t35 = 1/t33/t32
6240      t38 = 0.1007494971260294D0*sigmabb*t23+0.2738174287780083D-1*t31
6241     #*t35
6242      t39 = t29*sigmabb
6243      t42 = t28**2
6244      t43 = 1/t42
6245      t44 = t43*t30
6246      t47 = 1.D0+0.2717804421747983D0*t39*t23+0.7386460874872889D-1
6247     #*t44*t35
6248      t48 = 1/t47
6249      t51 = 1.D0+0.2697586091519874D1*t38*t48
6250      t52 = dlog(t51)
6251      t53 = 0.1236778371778789D-1*t52
6252      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
6253      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
6254     #+0.1763993811759022D-1*t2
6255      t61 = 1/t60
6256      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
6257      t65 = t64*sigmabb
6258      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmabb)
6259      t71 = t23*t70
6260      t73 = 0.7937005259840997D0*t65*t71
6261      zk(i) = rhob*(-t19+t53+t73)
6262      vrhoa(i) = 0.D0
6263      t75 = 1/t11
6264      t76 = 1/t20
6265      t77 = t75*t76
6266      t78 = t77*t17
6267      t79 = 0.1321010150222857D-2*t78
6268      t80 = t13**2
6269      t81 = 1/t80
6270      t82 = t5*t81
6271      t83 = t6**2
6272      t84 = t83**2
6273      t85 = t84*t6
6274      t86 = 1/t85
6275      t90 = 1/t9
6276      t93 = 1/t3
6277      t94 = t93*t76
6278      t96 = -0.1853395810515781D1*t86*t76-0.128158207914907D1*t77
6279     #-0.8223668877838045D0*t90*t76-0.1603914194192128D0*t94
6280      t97 = 1/t16
6281      t99 = t82*t96*t97
6282      t100 = 0.1D1*t99
6283      t101 = t20*rhob
6284      t103 = 1/t21/t101
6285      t106 = t79+t100
6286      t108 = t35*t106*t27
6287      t111 = t32*rhob
6288      t113 = 1/t33/t111
6289      t116 = -0.2350821599607352D0*sigmabb*t103+0.2213957124623647D1
6290     #*t44*t108-0.1277814667630705D0*t31*t113
6291      t119 = t47**2
6292      t120 = 1/t119
6293      t121 = t38*t120
6294      t122 = t43*sigmabb
6295      t130 = 1/t42/t28
6296      t131 = t130*t30
6297      t136 = 0.2197487022544806D2*t122*t23*t106*t27
6298     #-0.6341543650745294D0*t39*t103+0.1194467989321217D2*t131*t108
6299     #-0.3447015074940681D0*t44*t113
6300      t139 = 0.2697586091519874D1*t116*t48-0.2697586091519874D1*t121
6301     #*t136
6302      t140 = 1/t51
6303      t141 = t139*t140
6304      t145 = -0.4811024840421814D1*t77-0.1895695887660258D-2*t94
6305      t148 = t60**2
6306      t149 = 1/t148
6307      t150 = t56*t149
6308      t154 = -0.1803772444038489D1*t77-0.1210946621972718D0*t94
6309     #-0.1763993811759022D-1*t76
6310      t157 = 0.1D-2*t145*t61-0.1D-2*t150*t154
6311      t158 = t157*sigmabb
6312      t159 = t158*t71
6313      t161 = t103*t70
6314      t162 = t65*t161
6315      t164 = t64*t30
6316      t165 = t32*t20
6317      t167 = 1/t165*t70
6318      t168 = t164*t167
6319      vrhob(i) = -t19+t53+t73+rhob*(t79+t100+0.1236778371778789D-1
6320     #*t141+0.7937005259840997D0*t159-0.1851967893962899D1*t162
6321     #+0.3482823064697813D1*t168)
6322      vsigmaaa(i) = 0.D0
6323      vsigmaab(i) = 0.D0
6324      t175 = 0.1007494971260294D0*t23+0.5476348575560166D-1*t39*t35
6325      t182 = 0.2717804421747983D0*t29*t23+0.1477292174974578D0*t122*t35
6326      t185 = 0.2697586091519874D1*t175*t48-0.2697586091519874D1*t121
6327     #*t182
6328      t191 = 1/t111
6329      vsigmabb(i) = rhob*(0.1236778371778789D-1*t185*t140
6330     #+0.7937005259840997D0*t64*t23*t70-0.130605864926168D1*t65*t191
6331     #*t70)
6332      v2rhoa2(i) = 0.D0
6333      v2rhoab(i) = 0.D0
6334      t204 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t6
6335     #+0.2225569421150687D1*t3+0.8004286349993634D0*t9
6336     #+0.1897004325747559D0*t11))
6337      t215 = 1/t32
6338      t216 = 1/t11/t2*t215
6339      t218 = 1/t101
6340      t219 = t75*t218
6341      t223 = 1/t3/t2*t215
6342      t225 = t93*t218
6343      t236 = t154**2
6344      t253 = t32**2
6345      t260 = t32*t101
6346      t266 = 1/t21/t32
6347      t275 = t139**2
6348      t276 = t51**2
6349      t277 = 1/t276
6350      t282 = t106**2
6351      t283 = t35*t282
6352      t285 = dexp(0.5027578216020225D1*t18)
6353      t286 = t283*t285
6354      t290 = t113*t106*t27
6355      t294 = 0.1D-22*t219*t204
6356      t296 = 0.8806734334819047D-3*t216*t17
6357      t298 = 0.2642020300445714D-2*t219*t17
6358      t302 = 0.8497974591333914D-1*t77*t81*t96*t97
6359      t306 = t96**2
6360      t309 = 0.2D1*t5/t80/t13*t306*t97
6361      t329 = 0.1D1*t82*(-0.1544496508763151D1/t85/t2*t215
6362     #+0.3706791621031562D1*t86*t218-0.854388052766047D0*t216
6363     #+0.2563164158298141D1*t219-0.4111834438919023D0/t9/t2*t215
6364     #+0.1644733775567609D1*t90*t218-0.5346380647307093D-1*t223
6365     #+0.3207828388384256D0*t225)*t97
6366      t330 = t80**2
6367      t333 = t16**2
6368      t337 = 0.321646831778707D2*t5/t330*t306/t333
6369      t338 = -t294+t296-t298-t302-t309+t329+t337
6370      t340 = t35*t338*t27
6371      t343 = t283*t27
6372      t347 = 1/t33/t165
6373      t358 = t38/t119/t47
6374      t359 = t136**2
6375      t363 = t23*t282
6376      t380 = t42**2
6377      s1 = 0.7937005259840997D0*(0.1D-2*(-0.3207349893614542D1*t216
6378     #+0.9622049680843627D1*t219-0.6318986292200858D-3*t223
6379     #+0.3791391775320515D-2*t225)*t61-0.2D-2*t145*t149*t154+0.2D-2
6380     #*t56/t148/t60*t236-0.1D-2*t150*(-0.1202514962692326D1*t216
6381     #+0.3607544888076978D1*t219-0.4036488739909061D-1*t223
6382     #+0.2421893243945437D0*t225+0.3527987623518044D-1*t218))*sigmabb
6383     #*t71+0.1528291352075288D2*t64*t30*sigmabb/t33/t253/rhob*t70
6384     #-0.2902352553914844D2*t164/t260*t70+0.6173226313209665D1*t65
6385     #*t266*t70-0.3703935787925799D1*t158*t161+0.6965646129395627D1
6386     #*t157*t30*t167-0.1236778371778789D-1*t275*t277
6387      t399 = s1+0.1236778371778789D-1*(0.2697586091519874D1*
6388     #(0.7836071998691172D0*sigmabb*t266+0.3580200260842915D3*t131
6389     #*t286-0.2066359982982071D2*t44*t290+0.2213957124623647D1*t44
6390     #*t340-0.1790100130421458D3*t44*t343+0.7240949783240664D0*t31
6391     #*t347)*t48-0.5395172183039748D1*t116*t120*t136
6392     #+0.5395172183039748D1*t358*t359-0.2697586091519874D1*t121*
6393     #(0.35535663829313D4*t130*sigmabb*t363*t285-0.1025493943854243D3
6394     #*t122*t103*t106*t27+0.2197487022544806D2*t122*t23*t338*t27
6395     #-0.177678319146565D4*t122*t363*t27+0.2113847883581765D1*t39*t266
6396     #+0.2897369528551702D4/t380*t30*t286-0.1114836790033136D3*t131
6397     #*t290+0.1194467989321217D2*t131*t340-0.9657898428505673D3*t131
6398     #*t343+0.1953308542466386D1*t44*t347))*t140+t337+t329-t294+t296
6399     #-t298-t309-t302
6400      v2rhob2(i) = -0.1D-22*t77*t204+0.2642020300445714D-2*t78+0.2D1
6401     #*t99+0.2473556743557577D-1*t141+0.1587401051968199D1*t159
6402     #-0.3703935787925799D1*t162+0.6965646129395627D1*t168+rhob*t399
6403      v2sigmaaa2(i) = 0.D0
6404      v2sigmaaaab(i) = 0.D0
6405      v2sigmaaabb(i) = 0.D0
6406      v2sigmaab2(i) = 0.D0
6407      v2sigmaabbb(i) = 0.D0
6408      t407 = t182**2
6409      t416 = t185**2
6410      v2sigmabb2(i) = rhob*(0.1236778371778789D-1*
6411     #(0.1477292174974578D0*t29*t35*t48-0.5395172183039748D1*t175*t120
6412     #*t182+0.5395172183039748D1*t358*t407-0.3985122824322565D0*t121
6413     #*t43*t35)*t140-0.1236778371778789D-1*t416*t277
6414     #-0.261211729852336D1*t64*t191*t70+0.2149159713855873D1*t65/t33
6415     #/t260*t70)
6416      elseif(rhob.lt.tol) then
6417      rho = rhoa
6418      sigmaaa = dmax1(0.D0,sigmaaa1(i))
6419      sigma = sigmaaa
6420      t2 = 1/rhoa
6421      t3 = t2**(1.D0/3.D0)
6422      t5 = 1.D0+0.1274696188700087D0*t3
6423      t6 = t2**(1.D0/6.D0)
6424      t9 = dsqrt(t2)
6425      t11 = t3**2
6426      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
6427     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
6428      t16 = 1.D0+0.321646831778707D2/t13
6429      t17 = dlog(t16)
6430      t18 = t5*t17
6431      t19 = 0.3109D-1*t18
6432      t20 = rhoa**2
6433      t21 = rhoa**(1.D0/3.D0)
6434      t23 = 1/t21/t20
6435      t27 = dexp(0.2513789108010112D1*t18)
6436      t28 = t27-1.D0
6437      t29 = 1/t28
6438      t30 = sigmaaa**2
6439      t31 = t29*t30
6440      t32 = t20**2
6441      t33 = t21**2
6442      t35 = 1/t33/t32
6443      t38 = 0.1007494971260294D0*sigmaaa*t23+0.2738174287780083D-1*t31
6444     #*t35
6445      t39 = t29*sigmaaa
6446      t42 = t28**2
6447      t43 = 1/t42
6448      t44 = t43*t30
6449      t47 = 1.D0+0.2717804421747983D0*t39*t23+0.7386460874872889D-1
6450     #*t44*t35
6451      t48 = 1/t47
6452      t51 = 1.D0+0.2697586091519874D1*t38*t48
6453      t52 = dlog(t51)
6454      t53 = 0.1236778371778789D-1*t52
6455      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
6456      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
6457     #+0.1763993811759022D-1*t2
6458      t61 = 1/t60
6459      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
6460      t65 = t64*sigmaaa
6461      t70 = dexp(-0.1645530784602056D1/t33/t20*sigmaaa)
6462      t71 = t23*t70
6463      t73 = 0.7937005259840997D0*t65*t71
6464      zk(i) = rhoa*(-t19+t53+t73)
6465      t75 = 1/t11
6466      t76 = 1/t20
6467      t77 = t75*t76
6468      t78 = t77*t17
6469      t79 = 0.1321010150222857D-2*t78
6470      t80 = t13**2
6471      t81 = 1/t80
6472      t82 = t5*t81
6473      t83 = t6**2
6474      t84 = t83**2
6475      t85 = t84*t6
6476      t86 = 1/t85
6477      t90 = 1/t9
6478      t93 = 1/t3
6479      t94 = t93*t76
6480      t96 = -0.1853395810515781D1*t86*t76-0.128158207914907D1*t77
6481     #-0.8223668877838045D0*t90*t76-0.1603914194192128D0*t94
6482      t97 = 1/t16
6483      t99 = t82*t96*t97
6484      t100 = 0.1D1*t99
6485      t101 = t20*rhoa
6486      t103 = 1/t21/t101
6487      t106 = t79+t100
6488      t108 = t35*t106*t27
6489      t111 = t32*rhoa
6490      t113 = 1/t33/t111
6491      t116 = -0.2350821599607352D0*sigmaaa*t103+0.2213957124623647D1
6492     #*t44*t108-0.1277814667630705D0*t31*t113
6493      t119 = t47**2
6494      t120 = 1/t119
6495      t121 = t38*t120
6496      t122 = t43*sigmaaa
6497      t130 = 1/t42/t28
6498      t131 = t130*t30
6499      t136 = 0.2197487022544806D2*t122*t23*t106*t27
6500     #-0.6341543650745294D0*t39*t103+0.1194467989321217D2*t131*t108
6501     #-0.3447015074940681D0*t44*t113
6502      t139 = 0.2697586091519874D1*t116*t48-0.2697586091519874D1*t121
6503     #*t136
6504      t140 = 1/t51
6505      t141 = t139*t140
6506      t145 = -0.4811024840421814D1*t77-0.1895695887660258D-2*t94
6507      t148 = t60**2
6508      t149 = 1/t148
6509      t150 = t56*t149
6510      t154 = -0.1803772444038489D1*t77-0.1210946621972718D0*t94
6511     #-0.1763993811759022D-1*t76
6512      t157 = 0.1D-2*t145*t61-0.1D-2*t150*t154
6513      t158 = t157*sigmaaa
6514      t159 = t158*t71
6515      t161 = t103*t70
6516      t162 = t65*t161
6517      t164 = t64*t30
6518      t165 = t32*t20
6519      t167 = 1/t165*t70
6520      t168 = t164*t167
6521      vrhoa(i) = -t19+t53+t73+rhoa*(t79+t100+0.1236778371778789D-1
6522     #*t141+0.7937005259840997D0*t159-0.1851967893962899D1*t162
6523     #+0.3482823064697813D1*t168)
6524      vrhob(i) = 0.D0
6525      t175 = 0.1007494971260294D0*t23+0.5476348575560166D-1*t39*t35
6526      t182 = 0.2717804421747983D0*t29*t23+0.1477292174974578D0*t122*t35
6527      t185 = 0.2697586091519874D1*t175*t48-0.2697586091519874D1*t121
6528     #*t182
6529      t191 = 1/t111
6530      vsigmaaa(i) = rhoa*(0.1236778371778789D-1*t185*t140
6531     #+0.7937005259840997D0*t64*t23*t70-0.130605864926168D1*t65*t191
6532     #*t70)
6533      vsigmaab(i) = 0.D0
6534      vsigmabb(i) = 0.D0
6535      t204 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t6
6536     #+0.2225569421150687D1*t3+0.8004286349993634D0*t9
6537     #+0.1897004325747559D0*t11))
6538      t215 = 1/t32
6539      t216 = 1/t11/t2*t215
6540      t218 = 1/t101
6541      t219 = t75*t218
6542      t223 = 1/t3/t2*t215
6543      t225 = t93*t218
6544      t236 = t154**2
6545      t253 = t32**2
6546      t260 = t32*t101
6547      t266 = 1/t21/t32
6548      t275 = t139**2
6549      t276 = t51**2
6550      t277 = 1/t276
6551      t282 = t106**2
6552      t283 = t35*t282
6553      t285 = dexp(0.5027578216020225D1*t18)
6554      t286 = t283*t285
6555      t290 = t113*t106*t27
6556      t294 = 0.1D-22*t219*t204
6557      t296 = 0.8806734334819047D-3*t216*t17
6558      t298 = 0.2642020300445714D-2*t219*t17
6559      t302 = 0.8497974591333914D-1*t77*t81*t96*t97
6560      t306 = t96**2
6561      t309 = 0.2D1*t5/t80/t13*t306*t97
6562      t329 = 0.1D1*t82*(-0.1544496508763151D1/t85/t2*t215
6563     #+0.3706791621031562D1*t86*t218-0.854388052766047D0*t216
6564     #+0.2563164158298141D1*t219-0.4111834438919023D0/t9/t2*t215
6565     #+0.1644733775567609D1*t90*t218-0.5346380647307093D-1*t223
6566     #+0.3207828388384256D0*t225)*t97
6567      t330 = t80**2
6568      t333 = t16**2
6569      t337 = 0.321646831778707D2*t5/t330*t306/t333
6570      t338 = -t294+t296-t298-t302-t309+t329+t337
6571      t340 = t35*t338*t27
6572      t343 = t283*t27
6573      t347 = 1/t33/t165
6574      t358 = t38/t119/t47
6575      t359 = t136**2
6576      t363 = t23*t282
6577      t380 = t42**2
6578      s1 = 0.7937005259840997D0*(0.1D-2*(-0.3207349893614542D1*t216
6579     #+0.9622049680843627D1*t219-0.6318986292200858D-3*t223
6580     #+0.3791391775320515D-2*t225)*t61-0.2D-2*t145*t149*t154+0.2D-2
6581     #*t56/t148/t60*t236-0.1D-2*t150*(-0.1202514962692326D1*t216
6582     #+0.3607544888076978D1*t219-0.4036488739909061D-1*t223
6583     #+0.2421893243945437D0*t225+0.3527987623518044D-1*t218))*sigmaaa
6584     #*t71+0.1528291352075288D2*t64*t30*sigmaaa/t33/t253/rhoa*t70
6585     #-0.2902352553914844D2*t164/t260*t70+0.6173226313209665D1*t65
6586     #*t266*t70-0.3703935787925799D1*t158*t161+0.6965646129395627D1
6587     #*t157*t30*t167-0.1236778371778789D-1*t275*t277
6588      t399 = s1+0.1236778371778789D-1*(0.2697586091519874D1*
6589     #(0.7836071998691172D0*sigmaaa*t266+0.3580200260842915D3*t131
6590     #*t286-0.2066359982982071D2*t44*t290+0.2213957124623647D1*t44
6591     #*t340-0.1790100130421458D3*t44*t343+0.7240949783240664D0*t31
6592     #*t347)*t48-0.5395172183039748D1*t116*t120*t136
6593     #+0.5395172183039748D1*t358*t359-0.2697586091519874D1*t121*
6594     #(0.35535663829313D4*t130*sigmaaa*t363*t285-0.1025493943854243D3
6595     #*t122*t103*t106*t27+0.2197487022544806D2*t122*t23*t338*t27
6596     #-0.177678319146565D4*t122*t363*t27+0.2113847883581765D1*t39*t266
6597     #+0.2897369528551702D4/t380*t30*t286-0.1114836790033136D3*t131
6598     #*t290+0.1194467989321217D2*t131*t340-0.9657898428505673D3*t131
6599     #*t343+0.1953308542466386D1*t44*t347))*t140+t337+t329-t294+t296
6600     #-t298-t309-t302
6601      v2rhoa2(i) = -0.1D-22*t77*t204+0.2642020300445714D-2*t78+0.2D1
6602     #*t99+0.2473556743557577D-1*t141+0.1587401051968199D1*t159
6603     #-0.3703935787925799D1*t162+0.6965646129395627D1*t168+rhoa*t399
6604      v2rhob2(i) = 0.D0
6605      v2rhoab(i) = 0.D0
6606      t407 = t182**2
6607      t416 = t185**2
6608      v2sigmaaa2(i) = rhoa*(0.1236778371778789D-1*
6609     #(0.1477292174974578D0*t29*t35*t48-0.5395172183039748D1*t175*t120
6610     #*t182+0.5395172183039748D1*t358*t407-0.3985122824322565D0*t121
6611     #*t43*t35)*t140-0.1236778371778789D-1*t416*t277
6612     #-0.261211729852336D1*t64*t191*t70+0.2149159713855873D1*t65/t33
6613     #/t260*t70)
6614      v2sigmaaaab(i) = 0.D0
6615      v2sigmaaabb(i) = 0.D0
6616      v2sigmaab2(i) = 0.D0
6617      v2sigmaabbb(i) = 0.D0
6618      v2sigmabb2(i) = 0.D0
6619      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
6620      sigmaaa = dmax1(0.D0,sigmaaa1(i))
6621      sigmaab = sigmaab1(i)
6622      sigmabb = dmax1(0.D0,sigmabb1(i))
6623      sigma = sigmaaa+sigmabb+2.D0*sigmaab
6624      t4 = 1/rho
6625      t5 = t4**(1.D0/3.D0)
6626      t7 = 1.D0+0.1325688999052018D0*t5
6627      t8 = t4**(1.D0/6.D0)
6628      t11 = dsqrt(t4)
6629      t13 = t5**2
6630      t15 = 0.598255043577108D1*t8+0.2225569421150687D1*t5
6631     #+0.8004286349993634D0*t11+0.1897004325747559D0*t13
6632      t18 = 1.D0+0.160818243221511D2/t15
6633      t19 = dlog(t18)
6634      t21 = 0.62182D-1*t7*t19
6635      t23 = 1.D0+0.6901399211255825D-1*t5
6636      t28 = 0.8157414703487641D1*t8+0.2247591863577616D1*t5
6637     #+0.4300972471276643D0*t11+0.1911512595127338D0*t13
6638      t31 = 1.D0+0.2960857464321668D2/t28
6639      t32 = dlog(t31)
6640      t33 = t23*t32
6641      t35 = rhoa-1.D0*rhob
6642      t36 = t35*t4
6643      t37 = 1.D0+t36
6644      t38 = t37**(1.D0/3.D0)
6645      t39 = t38*t37
6646      t41 = 1.D0-1.D0*t36
6647      t42 = t41**(1.D0/3.D0)
6648      t43 = t42*t41
6649      t44 = t39+t43-2.D0
6650      t45 = t35**2
6651      t46 = t45**2
6652      t47 = rho**2
6653      t48 = t47**2
6654      t49 = 1/t48
6655      t50 = t46*t49
6656      t52 = 1.D0-1.D0*t50
6657      t53 = t44*t52
6658      t55 = 0.3799574853701528D-1*t33*t53
6659      t57 = 1.D0+0.1274696188700087D0*t5
6660      t62 = 0.1112037486309468D2*t8+0.3844746237447211D1*t5
6661     #+0.1644733775567609D1*t11+0.2405871291288192D0*t13
6662      t65 = 1.D0+0.321646831778707D2/t62
6663      t66 = dlog(t65)
6664      t69 = -0.3109D-1*t57*t66+t21
6665      t70 = t69*t44
6666      t72 = 0.1923661050931536D1*t70*t50
6667      t73 = t38**2
6668      t75 = t42**2
6669      t77 = 0.5D0*t73+0.5D0*t75
6670      t78 = t77**2
6671      t79 = t78*t77
6672      t80 = 1/t78
6673      t81 = sigma*t80
6674      t82 = rho**(1.D0/3.D0)
6675      t84 = 1/t82/t47
6676      t87 = -t21+t55+t72
6677      t88 = 1/t79
6678      t89 = t87*t88
6679      t91 = dexp(-0.4042761511756372D2*t89)
6680      t92 = t91-1.D0
6681      t93 = 1/t92
6682      t94 = sigma**2
6683      t95 = t93*t94
6684      t96 = t78**2
6685      t97 = 1/t96
6686      t98 = t82**2
6687      t100 = 1/t98/t48
6688      t101 = t97*t100
6689      t104 = 0.634682060977037D-1*t81*t84+0.1086645186223595D-1*t95*t101
6690      t105 = t93*sigma
6691      t106 = t80*t84
6692      t109 = t92**2
6693      t110 = 1/t109
6694      t111 = t110*t94
6695      t114 = 1.D0+0.1712109500228824D0*t105*t106+0.2931318940773793D-1
6696     #*t111*t101
6697      t115 = 1/t114
6698      t118 = 1.D0+0.2697586091519874D1*t104*t115
6699      t119 = dlog(t118)
6700      t121 = 0.2473556743557577D-1*t79*t119
6701      t124 = 0.2568D1+0.1443307452126544D2*t5+0.2843543831490386D-2*t13
6702      t128 = 1.D0+0.5411317332115466D1*t5+0.1816419932959077D0*t13
6703     #+0.1763993811759022D-1*t4
6704      t129 = 1/t128
6705      t132 = 0.1D-2*t124*t129-0.1853571428571429D-2
6706      t133 = t132*t77
6707      t136 = 1/t98/t47
6708      t140 = dexp(-0.261211729852336D1*t78*t136*sigma)
6709      t141 = sigma*t84*t140
6710      t143 = 0.1D1*t133*t141
6711      zk(i) = rho*(-t21+t55+t72+t121+t143)
6712      t149 = 0.1333333333333333D1*t38*t4-0.1333333333333333D1*t42*t4
6713      t151 = t33*t149*t52
6714      t152 = 0.3799574853701528D-1*t151
6715      t153 = t45*t35
6716      t154 = t44*t153
6717      t156 = t33*t154*t49
6718      t157 = 0.1519829941480611D0*t156
6719      t158 = t69*t149
6720      t159 = t158*t50
6721      t160 = 0.1923661050931536D1*t159
6722      t161 = t153*t49
6723      t162 = t70*t161
6724      t163 = 0.7694644203726145D1*t162
6725      t164 = t78*t119
6726      t165 = 1/t38
6727      t168 = 1/t42
6728      t171 = 0.3333333333333333D0*t165*t4-0.3333333333333333D0*t168*t4
6729      t172 = t164*t171
6730      t173 = 0.7420670230672731D-1*t172
6731      t174 = sigma*t88
6732      t175 = t84*t171
6733      t178 = t111*t97
6734      t179 = t152-t157+t160+t163
6735      t182 = t87*t97
6736      t185 = -0.4042761511756372D2*t179*t88+0.1212828453526912D3*t182
6737     #*t171
6738      t186 = t100*t185
6739      t187 = t186*t91
6740      t190 = t96*t77
6741      t191 = 1/t190
6742      t192 = t191*t100
6743      t193 = t192*t171
6744      t196 = -0.1269364121954074D0*t174*t175-0.1086645186223595D-1
6745     #*t178*t187-0.4346580744894379D-1*t95*t193
6746      t199 = t114**2
6747      t200 = 1/t199
6748      t201 = t104*t200
6749      t202 = t110*sigma
6750      t203 = t202*t80
6751      t204 = t84*t185
6752      t205 = t204*t91
6753      t208 = t88*t84
6754      t209 = t208*t171
6755      t213 = 1/t109/t92
6756      t214 = t213*t94
6757      t215 = t214*t97
6758      t220 = -0.1712109500228824D0*t203*t205-0.3424219000457648D0*t105
6759     #*t209-0.5862637881547585D-1*t215*t187-0.1172527576309517D0*t111
6760     #*t193
6761      t223 = 0.2697586091519874D1*t196*t115-0.2697586091519874D1*t201
6762     #*t220
6763      t224 = t79*t223
6764      t225 = 1/t118
6765      t226 = t224*t225
6766      t227 = 0.2473556743557577D-1*t226
6767      t228 = t132*t171
6768      t229 = t228*t141
6769      t230 = 0.1D1*t229
6770      t232 = t132*t78*t94
6771      t233 = t48*rho
6772      t234 = 1/t233
6773      t236 = t234*t171*t140
6774      t237 = t232*t236
6775      t238 = 0.522423459704672D1*t237
6776      t241 = 1/t13
6777      t242 = 1/t47
6778      t243 = t241*t242
6779      t244 = t243*t19
6780      t245 = 0.2747799777968419D-2*t244
6781      t246 = t15**2
6782      t247 = 1/t246
6783      t248 = t7*t247
6784      t249 = t8**2
6785      t250 = t249**2
6786      t251 = t250*t8
6787      t252 = 1/t251
6788      t253 = t252*t242
6789      t256 = 1/t11
6790      t257 = t256*t242
6791      t259 = 1/t5
6792      t260 = t259*t242
6793      t262 = -0.99709173929518D0*t253-0.7418564737168958D0*t243
6794     #-0.4002143174996817D0*t257-0.1264669550498372D0*t260
6795      t263 = 1/t18
6796      t265 = t248*t262*t263
6797      t266 = 0.1D1*t265
6798      t267 = t32*t44
6799      t268 = t267*t52
6800      t269 = t243*t268
6801      t270 = 0.8740794299481065D-3*t269
6802      t271 = t28**2
6803      t272 = 1/t271
6804      t273 = t23*t272
6805      t278 = -0.135956911724794D1*t253-0.7491972878592054D0*t243
6806     #-0.2150486235638321D0*t257-0.1274341730084892D0*t260
6807      t279 = t273*t278
6808      t280 = 1/t31
6809      t281 = t280*t44
6810      t282 = t281*t52
6811      t283 = t279*t282
6812      t284 = 0.1124999956683108D1*t283
6813      t285 = t38*t35
6814      t288 = t42*t35
6815      t291 = -0.1333333333333333D1*t285*t242+0.1333333333333333D1*t288
6816     #*t242
6817      t293 = t33*t291*t52
6818      t294 = 0.3799574853701528D-1*t293
6819      t295 = t44*t46
6820      t297 = t33*t295*t234
6821      t298 = 0.1519829941480611D0*t297
6822      t301 = t62**2
6823      t302 = 1/t301
6824      t303 = t57*t302
6825      t308 = -0.1853395810515781D1*t253-0.128158207914907D1*t243
6826     #-0.8223668877838045D0*t257-0.1603914194192128D0*t260
6827      t309 = 1/t65
6828      t315 = 0.1321010150222857D-2*t243*t66+0.1D1*t303*t308*t309
6829     #-0.2747799777968419D-2*t244-0.1D1*t265
6830      t316 = t315*t44
6831      t317 = t316*t50
6832      t318 = 0.1923661050931536D1*t317
6833      t319 = t69*t291
6834      t320 = t319*t50
6835      t321 = 0.1923661050931536D1*t320
6836      t322 = t46*t234
6837      t323 = t70*t322
6838      t324 = 0.7694644203726145D1*t323
6839      t325 = t165*t35
6840      t328 = t168*t35
6841      t331 = -0.3333333333333333D0*t325*t242+0.3333333333333333D0*t328
6842     #*t242
6843      t332 = t164*t331
6844      t334 = t84*t331
6845      t337 = t47*rho
6846      t339 = 1/t82/t337
6847      t342 = t245+t266-t270-t284+t294+t298+t318+t321-t324
6848      t347 = -0.4042761511756372D2*t342*t88+0.1212828453526912D3*t182
6849     #*t331
6850      t348 = t100*t347
6851      t349 = t348*t91
6852      t352 = t192*t331
6853      t356 = 1/t98/t233
6854      t357 = t97*t356
6855      t360 = -0.1269364121954074D0*t174*t334-0.148092480894642D0*t81
6856     #*t339-0.1086645186223595D-1*t178*t349-0.4346580744894379D-1*t95
6857     #*t352-0.5071010869043442D-1*t95*t357
6858      t363 = t84*t347
6859      t364 = t363*t91
6860      t367 = t208*t331
6861      t370 = t80*t339
6862      t379 = -0.1712109500228824D0*t203*t364-0.3424219000457648D0*t105
6863     #*t367-0.3994922167200589D0*t105*t370-0.5862637881547585D-1*t215
6864     #*t349-0.1172527576309517D0*t111*t352-0.136794883902777D0*t111*t357
6865      t382 = 0.2697586091519874D1*t360*t115-0.2697586091519874D1*t201
6866     #*t379
6867      t383 = t79*t382
6868      t384 = t383*t225
6869      t388 = -0.4811024840421814D1*t243-0.1895695887660258D-2*t260
6870      t391 = t128**2
6871      t392 = 1/t391
6872      t393 = t124*t392
6873      t397 = -0.1803772444038489D1*t243-0.1210946621972718D0*t260
6874     #-0.1763993811759022D-1*t242
6875      t400 = 0.1D-2*t388*t129-0.1D-2*t393*t397
6876      t401 = t400*t77
6877      t402 = t401*t141
6878      t404 = t132*t331
6879      t405 = t404*t141
6880      t408 = sigma*t339*t140
6881      t409 = t133*t408
6882      t411 = t133*sigma
6883      t412 = t77*t136
6884      t413 = sigma*t331
6885      t417 = 1/t98/t337
6886      t418 = t78*t417
6887      t421 = -0.522423459704672D1*t412*t413+0.6965646129395627D1*t418
6888     #*sigma
6889      t423 = t84*t421*t140
6890      t424 = t411*t423
6891      t426 = t245+t266-t270-t284+t294+t298+t318+t321-t324
6892     #+0.7420670230672731D-1*t332+0.2473556743557577D-1*t384+0.1D1
6893     #*t402+0.1D1*t405-0.2333333333333333D1*t409+0.1D1*t424
6894      t427 = rho*t426
6895      vrhoa(i) = rho*(t152-t157+t160+t163+t173+t227+t230-t238)-t21+t55
6896     #+t72+t121+t143+t427
6897      t428 = -t149
6898      t430 = t33*t428*t52
6899      t431 = 0.3799574853701528D-1*t430
6900      t432 = 0.1519829941480611D0*t156
6901      t433 = t69*t428
6902      t434 = t433*t50
6903      t435 = 0.1923661050931536D1*t434
6904      t436 = 0.7694644203726145D1*t162
6905      t437 = -t171
6906      t438 = t164*t437
6907      t439 = 0.7420670230672731D-1*t438
6908      t440 = t84*t437
6909      t443 = t431+t432+t435-t436
6910      t448 = -0.4042761511756372D2*t443*t88+0.1212828453526912D3*t182
6911     #*t437
6912      t449 = t100*t448
6913      t450 = t449*t91
6914      t453 = t192*t437
6915      t456 = -0.1269364121954074D0*t174*t440-0.1086645186223595D-1
6916     #*t178*t450-0.4346580744894379D-1*t95*t453
6917      t459 = t84*t448
6918      t460 = t459*t91
6919      t463 = t208*t437
6920      t470 = -0.1712109500228824D0*t203*t460-0.3424219000457648D0*t105
6921     #*t463-0.5862637881547585D-1*t215*t450-0.1172527576309517D0*t111
6922     #*t453
6923      t473 = 0.2697586091519874D1*t456*t115-0.2697586091519874D1*t201
6924     #*t470
6925      t474 = t79*t473
6926      t475 = t474*t225
6927      t476 = 0.2473556743557577D-1*t475
6928      t477 = t132*t437
6929      t478 = t477*t141
6930      t479 = 0.1D1*t478
6931      t481 = t234*t437*t140
6932      t482 = t232*t481
6933      t483 = 0.522423459704672D1*t482
6934      vrhob(i) = rho*(t431+t432+t435-t436+t439+t476+t479-t483)-t21+t55
6935     #+t72+t121+t143+t427
6936      t489 = 0.634682060977037D-1*t106+0.2173290372447189D-1*t105*t101
6937      t492 = t93*t80
6938      t497 = 0.1712109500228824D0*t492*t84+0.5862637881547585D-1*t202
6939     #*t101
6940      t500 = 0.2697586091519874D1*t489*t115-0.2697586091519874D1*t201
6941     #*t497
6942      t502 = t79*t500*t225
6943      t503 = 0.2473556743557577D-1*t502
6944      t504 = t84*t140
6945      t505 = t133*t504
6946      t506 = 0.1D1*t505
6947      t507 = t132*t79
6948      t509 = sigma*t234*t140
6949      t510 = t507*t509
6950      t511 = 0.261211729852336D1*t510
6951      vsigmaaa(i) = rho*(t503+t506-t511)
6952      vsigmaab(i) = 2.D0*vsigmaaa(i)
6953      vsigmabb(i) = vsigmaaa(i)
6954      t516 = 0.2D1*t265
6955      t517 = 0.7599149707403056D-1*t293
6956      t520 = 1/t73
6957      t523 = 1/t75
6958      t526 = 0.4444444444444444D0*t520*t242+0.4444444444444444D0*t523
6959     #*t242
6960      t529 = 0.3799574853701528D-1*t33*t526*t52
6961      t532 = t33*t149*t153*t49
6962      t533 = 0.3039659882961223D0*t532
6963      t536 = t33*t44*t45*t49
6964      t537 = 0.4559489824441834D0*t536
6965      t540 = 0.1923661050931536D1*t69*t526*t50
6966      t541 = t158*t161
6967      t542 = 0.1538928840745229D2*t541
6968      t544 = t70*t45*t49
6969      t545 = 0.2308393261117844D2*t544
6970      t546 = t77*t119
6971      t547 = t171**2
6972      t550 = t78*t223
6973      t551 = t225*t171
6974      t554 = 1/t39
6975      t557 = 1/t43
6976      t560 = -0.1111111111111111D0*t554*t242-0.1111111111111111D0*t557
6977     #*t242
6978      t562 = 0.7420670230672731D-1*t164*t560
6979      t563 = sigma*t97
6980      t569 = 0.1269364121954074D0*t174*t84*t560
6981      t570 = t185**2
6982      t571 = t100*t570
6983      t573 = dexp(-0.8085523023512745D2*t89)
6984      t574 = t571*t573
6985      t577 = t111*t191
6986      t578 = t91*t171
6987      t579 = t186*t578
6988      t585 = t179*t97
6989      t588 = t87*t191
6990      t592 = 0.1212828453526912D3*t182*t560
6991      t593 = -0.4042761511756372D2*(t529-t533-t537+t540+t542+t545)*t88
6992     #+0.2425656907053823D3*t585*t171-0.4851313814107647D3*t588*t547
6993     #+t592
6994      t595 = t100*t593*t91
6995      t598 = t571*t91
6996      t602 = 1/t96/t78
6997      t603 = t602*t100
6998      t604 = t603*t547
6999      t607 = t192*t560
7000      t609 = 0.4346580744894379D-1*t95*t607
7001      t613 = t196*t200
7002      t618 = t104/t199/t114
7003      t619 = t220**2
7004      t622 = t213*sigma
7005      t623 = t622*t80
7006      t624 = t84*t570
7007      t628 = t202*t88
7008      t639 = t97*t84
7009      t645 = 0.3424219000457648D0*t105*t208*t560
7010      t646 = t109**2
7011      t649 = 1/t646*t94*t97
7012      t652 = t214*t191
7013      t662 = 0.1172527576309517D0*t111*t607
7014      t663 = 0.3424219000457648D0*t623*t624*t573+0.6848438000915295D0
7015     #*t628*t204*t578-0.1712109500228824D0*t203*t84*t593*t91
7016     #-0.1712109500228824D0*t203*t624*t91+0.1027265700137294D1*t105
7017     #*t639*t547-t645+0.1758791364464276D0*t649*t574
7018     #+0.4690110305238068D0*t652*t579-0.5862637881547585D-1*t215*t595
7019     #-0.5862637881547585D-1*t215*t598+0.5862637881547585D0*t111*t604
7020     #-t662
7021      t670 = t223**2
7022      t672 = t118**2
7023      t673 = 1/t672
7024      t678 = 0.1D1*t132*t560*t141
7025      t681 = t234*t77
7026      t682 = t681*t140
7027      t688 = 0.522423459704672D1*t232*t234*t560*t140
7028      t690 = t507*t94*sigma
7029      t691 = t48*t337
7030      t693 = 1/t98/t691
7031      t698 = t529-t533-t537+t540+t542+t545+0.1484134046134546D0*t546
7032     #*t547+0.1484134046134546D0*t550*t551+t562+0.2473556743557577D-1
7033     #*t79*(0.2697586091519874D1*(0.3808092365862222D0*t563*t84*t547
7034     #-t569+0.2173290372447189D-1*t215*t574+0.8693161489788758D-1*t577
7035     #*t579-0.1086645186223595D-1*t178*t595-0.1086645186223595D-1*t178
7036     #*t598+0.2173290372447189D0*t95*t604-t609)*t115
7037     #-0.5395172183039748D1*t613*t220+0.5395172183039748D1*t618*t619
7038     #-0.2697586091519874D1*t201*t663)*t225-0.2473556743557577D-1*t79
7039     #*t670*t673+t678-0.1567270379114016D2*t132*t547*t94*t682-t688
7040     #+0.272926271249799D2*t690*t693*t547*t140
7041      t701 = 0.5495599555936838D-2*t244
7042      t702 = 0.1484134046134546D0*t332
7043      t705 = 0.7599149707403056D-1*t151+0.3847322101863073D1*t159
7044     #+0.1538928840745229D2*t162+t516+t517+0.1484134046134546D0*t172
7045     #-0.3039659882961223D0*t156+rho*t698+0.4947113487115154D-1*t226
7046     #+t701+t702+0.2D1*t229-0.1044846919409344D2*t237
7047      t706 = 0.3039659882961223D0*t297
7048      t707 = 0.3847322101863073D1*t317
7049      t708 = 0.3847322101863073D1*t320
7050      t709 = 0.1748158859896213D-2*t269
7051      t710 = 0.2249999913366216D1*t283
7052      t711 = 0.1538928840745229D2*t323
7053      t712 = 0.4947113487115154D-1*t384
7054      t713 = 0.4666666666666667D1*t409
7055      t714 = 0.2D1*t424
7056      t715 = 0.2D1*t405
7057      t716 = 0.2D1*t402
7058      t717 = t78*t382
7059      t718 = t225*t331
7060      t724 = t278**2
7061      t727 = 0.2249999913366216D1*t23/t271/t28*t724*t282
7062      t728 = t382**2
7063      t738 = 1/t82/t48
7064      t743 = t421**2
7065      t752 = t331**2
7066      t756 = t77*t417
7067      t762 = 1/t337
7068      t770 = -0.1111111111111111D0*t554*t45*t49+0.6666666666666667D0
7069     #*t325*t762-0.1111111111111111D0*t557*t45*t49
7070     #-0.6666666666666667D0*t328*t762
7071      t782 = t404*sigma
7072      t792 = 1/t13/t4*t49
7073      t794 = t241*t762
7074      t798 = 1/t5/t4*t49
7075      t800 = t259*t762
7076      t811 = t397**2
7077      t841 = t356*t347*t91
7078      t844 = t91*t331
7079      t845 = t348*t844
7080      t851 = t262**2
7081      t853 = t7/t246/t15*t851*t263
7082      t854 = 0.2D1*t853
7083      t857 = 1/t251/t4*t49
7084      t859 = t252*t762
7085      t865 = 1/t11/t4*t49
7086      t867 = t256*t762
7087      t873 = t248*(-0.8309097827459833D0*t857+0.199418347859036D1*t859
7088     #-0.4945709824779306D0*t792+0.1483712947433792D1*t794
7089     #-0.2001071587498409D0*t865+0.8004286349993634D0*t867
7090     #-0.4215565168327908D-1*t798+0.2529339100996745D0*t800)*t263
7091      t874 = 0.1D1*t873
7092      t875 = t246**2
7093      t878 = t18**2
7094      t881 = t7/t875*t851/t878
7095      t882 = 0.160818243221511D2*t881
7096      t894 = t308**2
7097      t910 = t301**2
7098      t913 = t65**2
7099      t918 = t792*t19
7100      t920 = t794*t19
7101      t924 = t243*t247*t262*t263
7102      t929 = 0.8806734334819047D-3*t792*t66-0.2642020300445714D-2*t794
7103     #*t66-0.8497974591333914D-1*t243*t302*t308*t309-0.2D1*t57/t301
7104     #/t62*t894*t309+0.1D1*t303*(-0.1544496508763151D1*t857
7105     #+0.3706791621031562D1*t859-0.854388052766047D0*t792
7106     #+0.2563164158298141D1*t794-0.4111834438919023D0*t865
7107     #+0.1644733775567609D1*t867-0.5346380647307093D-1*t798
7108     #+0.3207828388384256D0*t800)*t309+0.321646831778707D2*t57/t910
7109     #*t894/t913-0.1831866518645613D-2*t918+0.5495599555936838D-2*t920
7110     #+0.8837926660346786D-1*t924+0.2D1*t853-0.1D1*t873
7111     #-0.160818243221511D2*t881
7112      t932 = 0.1923661050931536D1*t929*t44*t50
7113      t943 = 0.4444444444444444D0*t520*t45*t49+0.2666666666666667D1
7114     #*t285*t762+0.4444444444444444D0*t523*t45*t49
7115     #-0.2666666666666667D1*t288*t762
7116      t946 = 0.3799574853701528D-1*t33*t943*t52
7117      t947 = 0.8837926660346786D-1*t924
7118      t948 = t271**2
7119      t952 = t31**2
7120      t957 = 0.3330964519106732D2*t23/t948*t724/t952*t44*t52
7121      t969 = 0.1124999956683108D1*t273*(-0.1132974264373283D1*t857
7122     #+0.271913823449588D1*t859-0.4994648585728036D0*t792
7123     #+0.1498394575718411D1*t794-0.1075243117819161D0*t865
7124     #+0.4300972471276643D0*t867-0.4247805766949639D-1*t798
7125     #+0.2548683460169784D0*t800)*t282
7126      t970 = 0.1831866518645613D-2*t918
7127      t972 = 0.1748158859896213D-2*t794*t268
7128      t976 = 0.2249999913366216D1*t279*t280*t291*t52
7129      t977 = t727-t854+t874+t882+t932+t946-t947-t957-t969+t970+t972-t976
7130      t978 = 0.5495599555936838D-2*t920
7131      t982 = 0.3039659882961223D0*t33*t291*t46*t234
7132      t985 = 0.8999999653464862D1*t279*t281*t322
7133      t986 = t48*t47
7134      t987 = 1/t986
7135      t990 = 0.3847322101863073D2*t70*t46*t987
7136      t992 = 0.1538928840745229D2*t319*t322
7137      t995 = 0.3847322101863073D1*t315*t291*t50
7138      t997 = 0.1538928840745229D2*t316*t322
7139      t1000 = 0.1923661050931536D1*t69*t943*t50
7140      t1003 = 0.7599149707403056D0*t33*t295*t987
7141      t1007 = 0.1748158859896213D-2*t243*t32*t291*t52
7142      t1009 = 0.5827196199654043D-3*t792*t268
7143      t1014 = 0.5176049209143758D-1*t243*t272*t278*t280*t53
7144      t1019 = 0.6992635439584852D-2*t241/t691*t267*t46
7145      t1020 = -t978+t982-t985+t990-t992+t995-t997+t1000-t1003-t1007
7146     #-t1009+t1014-t1019
7147      t1024 = t342*t97
7148      t1031 = -0.4042761511756372D2*(t977+t1020)*t88
7149     #+0.2425656907053823D3*t1024*t331-0.4851313814107647D3*t588*t752
7150     #+0.1212828453526912D3*t182*t770
7151      t1033 = t100*t1031*t91
7152      t1036 = t347**2
7153      t1037 = t100*t1036
7154      t1038 = t1037*t573
7155      t1041 = t1037*t91
7156      t1046 = t97/t98/t986
7157      t1049 = t603*t752
7158      t1052 = t191*t356
7159      t1053 = t1052*t331
7160      t1056 = t192*t770
7161      t1059 = 0.3808092365862222D0*t563*t84*t752+0.5923699235785679D0
7162     #*t174*t339*t331-0.1269364121954074D0*t174*t84*t770
7163     #+0.4936416029821399D0*t81*t738+0.1014202173808688D0*t178*t841
7164     #+0.8693161489788758D-1*t577*t845-0.1086645186223595D-1*t178
7165     #*t1033+0.2173290372447189D-1*t215*t1038-0.1086645186223595D-1
7166     #*t178*t1041+0.2873572825791284D0*t95*t1046+0.2173290372447189D0
7167     #*t95*t1049+0.4056808695234754D0*t95*t1053-0.4346580744894379D-1
7168     #*t95*t1056
7169      t1062 = t360*t200
7170      t1065 = t379**2
7171      t1085 = t84*t1036
7172      t1100 = t88*t339
7173      t1117 = -0.5862637881547585D-1*t215*t1041+0.6848438000915295D0
7174     #*t628*t363*t844+0.7989844334401178D0*t203*t339*t347*t91
7175     #+0.4690110305238068D0*t652*t845-0.1712109500228824D0*t203*t84
7176     #*t1031*t91-0.5862637881547585D-1*t215*t1033+0.3424219000457648D0
7177     #*t623*t1085*t573+0.1331640722400196D1*t105*t80*t738
7178     #-0.1712109500228824D0*t203*t1085*t91+0.547179535611108D0*t215
7179     #*t841+0.1027265700137294D1*t105*t639*t752+0.1597968866880236D1
7180     #*t105*t1100*t331-0.3424219000457648D0*t105*t208*t770
7181     #+0.1758791364464276D0*t649*t1038+0.7751710087824029D0*t111*t1046
7182     #+0.5862637881547585D0*t111*t1049+0.1094359071222216D1*t111*t1053
7183     #-0.1172527576309517D0*t111*t1056
7184      s1 = 0.1484134046134546D0*t717*t718+t727-0.2473556743557577D-1
7185     #*t79*t728*t673-0.4666666666666667D1*t401*t408+0.2D1*t400*t331
7186     #*t141+0.7777777777777778D1*t133*sigma*t738*t140+0.1D1*t411*t84
7187     #*t743*t140-0.4666666666666667D1*t411*t339*t421*t140+0.1D1*t411
7188     #*t84*(-0.522423459704672D1*t752*t136*sigma+0.2786258451758251D2
7189     #*t756*t413-0.522423459704672D1*t412*sigma*t770
7190     #-0.2554070247445063D2*t78*t100*sigma)*t140+0.2D1*t782*t423
7191      t1126 = s1-0.4666666666666667D1*t404*t408+0.2D1*t401*sigma*t423
7192     #+0.1D1*(0.1D-2*(-0.3207349893614542D1*t792+0.9622049680843627D1
7193     #*t794-0.6318986292200858D-3*t798+0.3791391775320515D-2*t800)
7194     #*t129-0.2D-2*t388*t392*t397+0.2D-2*t124/t391/t128*t811-0.1D-2
7195     #*t393*(-0.1202514962692326D1*t792+0.3607544888076978D1*t794
7196     #-0.4036488739909061D-1*t798+0.2421893243945437D0*t800
7197     #+0.3527987623518044D-1*t762))*t77*t141+0.1D1*t132*t770*t141
7198     #+0.2473556743557577D-1*t79*(0.2697586091519874D1*t1059*t115
7199     #-0.5395172183039748D1*t1062*t379+0.5395172183039748D1*t618*t1065
7200     #-0.2697586091519874D1*t201*t1117)*t225+0.1484134046134546D0*t546
7201     #*t752-t854+t874+t882+t932
7202      t1130 = -t985+t990-t992+t995-t997+t1000-t1003-t1007-t1009+t1014
7203     #-t1019
7204      t1133 = rho*(t1126+t946-t947-t957+0.7420670230672731D-1*t164
7205     #*t770-t969+t970+t972-t976-t978+t982+t1130)
7206      t1137 = 0.1519829941480611D0*t33*t149*t46*t234
7207      t1139 = t33*t154*t234
7208      t1140 = 0.6079319765922445D0*t1139
7209      t1151 = -0.4444444444444444D0*t520*t35*t762-0.1333333333333333D1
7210     #*t38*t242-0.4444444444444444D0*t523*t35*t762
7211     #+0.1333333333333333D1*t42*t242
7212      t1154 = 0.3799574853701528D-1*t33*t1151*t52
7213      t1157 = 0.1923661050931536D1*t315*t149*t50
7214      t1158 = t316*t161
7215      t1159 = 0.7694644203726145D1*t1158
7216      t1162 = 0.1923661050931536D1*t69*t1151*t50
7217      t1164 = t70*t153*t234
7218      t1165 = 0.3077857681490458D2*t1164
7219      t1169 = 0.8740794299481065D-3*t243*t32*t149*t52
7220      t1172 = t241*t987*t267*t153
7221      t1173 = 0.3496317719792426D-2*t1172
7222      t1175 = t279*t281*t161
7223      t1176 = 0.4499999826732431D1*t1175
7224      t1180 = 0.1124999956683108D1*t279*t280*t149*t52
7225      t1183 = t33*t291*t153*t49
7226      t1184 = 0.1519829941480611D0*t1183
7227      t1186 = 0.7694644203726145D1*t158*t322
7228      t1189 = t1137+t1140+t1154+t1157+t1159+t1162-t1165-t1169+t1173
7229     #+t1176-t1180-t1184-t1186+0.7420670230672731D-1*t717*t551
7230      t1200 = 0.1111111111111111D0*t554*t35*t762-0.3333333333333333D0
7231     #*t165*t242+0.1111111111111111D0*t557*t35*t762
7232     #+0.3333333333333333D0*t168*t242
7233      t1202 = 0.7420670230672731D-1*t164*t1200
7234      t1204 = 0.7420670230672731D-1*t550*t718
7235      t1205 = t319*t161
7236      t1206 = 0.7694644203726145D1*t1205
7237      t1207 = t331*t171
7238      t1209 = 0.1484134046134546D0*t546*t1207
7239      t1212 = 0.2473556743557577D-1*t383*t673*t223
7240      t1229 = 0.1D1*t400*t171*t141
7241      t1231 = 0.2333333333333333D1*t228*t408
7242      t1234 = 0.1D1*t132*t1200*t141
7243      t1235 = t404*t94
7244      t1236 = t171*t140
7245      t1238 = t1235*t681*t1236
7246      t1242 = t232*t987*t171*t140
7247      t1245 = t400*t78*t94
7248      t1247 = 0.522423459704672D1*t1245*t236
7249      t1248 = t228*sigma
7250      t1250 = 0.1D1*t1248*t423
7251      t1251 = t234*t421
7252      t1254 = 0.522423459704672D1*t232*t1251*t1236
7253      t1255 = t334*t171
7254      t1264 = t573*t185
7255      t1265 = t348*t1264
7256      t1268 = t348*t578
7257      t1271 = -t1169+t1173-t1180+t1176+t1154-t1184+t1137+t1140+t1157
7258     #+t1159+t1162+t1206-t1186-t1165
7259      t1282 = -0.4042761511756372D2*t1271*t88+0.1212828453526912D3
7260     #*t1024*t171+0.1212828453526912D3*t585*t331-0.4851313814107647D3
7261     #*t588*t1207+0.1212828453526912D3*t182*t1200
7262      t1284 = t100*t1282*t91
7263      t1287 = t185*t91
7264      t1288 = t348*t1287
7265      t1291 = t100*t331
7266      t1292 = t1291*t1287
7267      t1295 = t95*t602
7268      t1296 = t1291*t171
7269      t1299 = t192*t1200
7270      t1303 = t356*t185*t91
7271      t1306 = t1052*t171
7272      t1309 = 0.3808092365862222D0*t563*t1255-0.1269364121954074D0
7273     #*t174*t84*t1200+0.296184961789284D0*t174*t339*t171
7274     #+0.2173290372447189D-1*t215*t1265+0.4346580744894379D-1*t577
7275     #*t1268-0.1086645186223595D-1*t178*t1284-0.1086645186223595D-1
7276     #*t178*t1288+0.4346580744894379D-1*t577*t1292
7277     #+0.2173290372447189D0*t1295*t1296-0.4346580744894379D-1*t95
7278     #*t1299+0.5071010869043442D-1*t178*t1303+0.2028404347617377D0*t95
7279     #*t1306
7280      t1335 = t105*t97
7281      t1358 = t111*t602
7282      t1367 = 0.3424219000457648D0*t623*t363*t1264
7283     #+0.3424219000457648D0*t628*t363*t578-0.1712109500228824D0*t203
7284     #*t84*t1282*t91-0.1712109500228824D0*t203*t363*t1287
7285     #+0.3424219000457648D0*t628*t334*t1287+0.1027265700137294D1*t1335
7286     #*t1255-0.3424219000457648D0*t105*t208*t1200+0.3994922167200589D0
7287     #*t203*t339*t185*t91+0.7989844334401178D0*t105*t1100*t171
7288     #+0.1758791364464276D0*t649*t1265+0.2345055152619034D0*t652*t1268
7289     #-0.5862637881547585D-1*t215*t1284-0.5862637881547585D-1*t215
7290     #*t1288+0.2345055152619034D0*t652*t1292+0.5862637881547585D0
7291     #*t1358*t1296-0.1172527576309517D0*t111*t1299+0.273589767805554D0
7292     #*t215*t1303+0.547179535611108D0*t111*t1306
7293      t1373 = 0.2473556743557577D-1*t79*(0.2697586091519874D1*t1309
7294     #*t115-0.2697586091519874D1*t1062*t220-0.2697586091519874D1*t613
7295     #*t379+0.5395172183039748D1*t618*t379*t220-0.2697586091519874D1
7296     #*t201*t1367)*t225
7297      t1374 = t1202+t1204+t1206+t1209-t1212+0.1D1*t411*t84*(
7298     #-0.522423459704672D1*t171*t136*t413-0.522423459704672D1*t412
7299     #*sigma*t1200+0.1393129225879125D2*t756*sigma*t171)*t140+t1229
7300     #-t1231+t1234-0.522423459704672D1*t1238+0.1218988072644235D2
7301     #*t1242-t1247+t1250-t1254+t1373
7302      t1376 = rho*(t1189+t1374)
7303      t1383 = t1202+t1204+t1206+t1209-t1212+t1229-t1231+t1234
7304     #-0.1044846919409344D2*t1238+0.261211729852336D2*t1242-t1247
7305     #+t1250-t1254-0.522423459704672D1*t232*t234*t1200*t140+t1373
7306      t1385 = rho*(t1189+t1383)
7307      t1386 = t706+t707+t708-t709-t710-t711+t712-t713+t714+t715+t716
7308     #+t1133+t1376+t1385
7309      v2rhoa2(i) = t705+t1386
7310      t1392 = -0.1538928840745229D2*t162+t516+t517
7311     #+0.4947113487115154D-1*t475+0.3039659882961223D0*t156+0.2D1*t478
7312     #-0.1044846919409344D2*t482+t701+t702+t706+t707+t708-t709
7313      t1394 = t225*t437
7314      t1396 = 0.7420670230672731D-1*t717*t1394
7315      t1397 = 0.6079319765922445D0*t1139
7316      t1398 = 0.7694644203726145D1*t1158
7317      t1399 = 0.3077857681490458D2*t1164
7318      t1400 = t673*t473
7319      t1402 = 0.2473556743557577D-1*t383*t1400
7320      t1403 = 0.3496317719792426D-2*t1172
7321      t1404 = 0.4499999826732431D1*t1175
7322      t1405 = 0.1519829941480611D0*t1183
7323      t1406 = -t1200
7324      t1412 = 0.7420670230672731D-1*t164*t1406
7325      t1415 = t232*t987*t437*t140
7326      t1418 = 0.2333333333333333D1*t477*t408
7327      t1419 = t437*t140
7328      t1420 = t681*t1419
7329      t1421 = t1235*t1420
7330      t1423 = t477*sigma
7331      t1425 = 0.1D1*t1423*t423
7332      t1426 = t1396-t1397-t1398+t1399-t1402-t1403-t1404+t1405
7333     #-0.522423459704672D1*t232*t234*t1406*t140+t1412
7334     #+0.261211729852336D2*t1415-t1418-0.1044846919409344D2*t1421+t1425
7335      t1430 = 0.7694644203726145D1*t1205
7336      t1433 = t334*t437
7337      t1442 = t573*t448
7338      t1443 = t348*t1442
7339      t1446 = t91*t437
7340      t1447 = t348*t1446
7341      t1453 = 0.8740794299481065D-3*t243*t32*t428*t52
7342      t1457 = 0.1124999956683108D1*t279*t280*t428*t52
7343      t1458 = -t1151
7344      t1461 = 0.3799574853701528D-1*t33*t1458*t52
7345      t1465 = 0.1519829941480611D0*t33*t428*t46*t234
7346      t1468 = 0.1923661050931536D1*t315*t428*t50
7347      t1471 = 0.1923661050931536D1*t69*t1458*t50
7348      t1473 = 0.7694644203726145D1*t433*t322
7349      t1474 = -t1453-t1403-t1457-t1404+t1461+t1405+t1465-t1397+t1468
7350     #-t1398+t1471-t1430-t1473+t1399
7351      t1479 = t443*t97
7352      t1482 = t331*t437
7353      t1487 = -0.4042761511756372D2*t1474*t88+0.1212828453526912D3
7354     #*t1024*t437+0.1212828453526912D3*t1479*t331-0.4851313814107647D3
7355     #*t588*t1482+0.1212828453526912D3*t182*t1406
7356      t1489 = t100*t1487*t91
7357      t1492 = t448*t91
7358      t1493 = t348*t1492
7359      t1496 = t1291*t1492
7360      t1499 = t1291*t437
7361      t1502 = t192*t1406
7362      t1506 = t356*t448*t91
7363      t1509 = t1052*t437
7364      t1512 = 0.3808092365862222D0*t563*t1433-0.1269364121954074D0
7365     #*t174*t84*t1406+0.296184961789284D0*t174*t339*t437
7366     #+0.2173290372447189D-1*t215*t1443+0.4346580744894379D-1*t577
7367     #*t1447-0.1086645186223595D-1*t178*t1489-0.1086645186223595D-1
7368     #*t178*t1493+0.4346580744894379D-1*t577*t1496
7369     #+0.2173290372447189D0*t1295*t1499-0.4346580744894379D-1*t95
7370     #*t1502+0.5071010869043442D-1*t178*t1506+0.2028404347617377D0*t95
7371     #*t1509
7372      t1517 = t456*t200
7373      t1569 = 0.3424219000457648D0*t623*t363*t1442
7374     #+0.3424219000457648D0*t628*t363*t1446-0.1712109500228824D0*t203
7375     #*t84*t1487*t91-0.1712109500228824D0*t203*t363*t1492
7376     #+0.3424219000457648D0*t628*t334*t1492+0.1027265700137294D1*t1335
7377     #*t1433-0.3424219000457648D0*t105*t208*t1406+0.3994922167200589D0
7378     #*t203*t339*t448*t91+0.7989844334401178D0*t105*t1100*t437
7379     #+0.1758791364464276D0*t649*t1443+0.2345055152619034D0*t652*t1447
7380     #-0.5862637881547585D-1*t215*t1489-0.5862637881547585D-1*t215
7381     #*t1493+0.2345055152619034D0*t652*t1496+0.5862637881547585D0
7382     #*t1358*t1499-0.1172527576309517D0*t111*t1502+0.273589767805554D0
7383     #*t215*t1506+0.547179535611108D0*t111*t1509
7384      t1578 = t78*t473
7385      t1587 = 0.1D1*t132*t1406*t141-t1430-0.522423459704672D1*t1245
7386     #*t481+0.2473556743557577D-1*t79*(0.2697586091519874D1*t1512*t115
7387     #-0.2697586091519874D1*t1062*t470-0.2697586091519874D1*t1517*t379
7388     #+0.5395172183039748D1*t618*t379*t470-0.2697586091519874D1*t201
7389     #*t1569)*t225+0.1484134046134546D0*t546*t1482
7390     #+0.7420670230672731D-1*t1578*t718-0.522423459704672D1*t232*t1251
7391     #*t1419+t1461+t1468+t1471-t1473+0.1D1*t400*t437*t141-t1453-t1457
7392     #+t1465
7393      t1589 = rho*(t1426+t1587)
7394      t1608 = t1396-t1397-t1398+t1399-t1402-t1403-t1404+t1405+t1412
7395     #+0.1218988072644235D2*t1415-t1418-0.522423459704672D1*t1421
7396     #+0.1D1*t411*t84*(-0.522423459704672D1*t437*t136*t413
7397     #-0.522423459704672D1*t412*sigma*t1406+0.1393129225879125D2*t756
7398     #*sigma*t437)*t140+t1425
7399      t1610 = rho*(t1608+t1587)
7400      t1613 = t33*t428*t153*t49
7401      t1614 = 0.3039659882961223D0*t1613
7402      t1615 = t433*t161
7403      t1616 = 0.1538928840745229D2*t1615
7404      t1617 = t437**2
7405      t1625 = t448**2
7406      t1626 = t100*t1625
7407      t1627 = t1626*t573
7408      t1630 = t449*t1446
7409      t1640 = -0.4042761511756372D2*(t529+t1614-t537+t540-t1616+t545)
7410     #*t88+0.2425656907053823D3*t1479*t437-0.4851313814107647D3*t588
7411     #*t1617+t592
7412      t1642 = t100*t1640*t91
7413      t1645 = t1626*t91
7414      t1648 = t603*t1617
7415      t1656 = t470**2
7416      t1659 = t84*t1625
7417      t1686 = 0.3424219000457648D0*t623*t1659*t573
7418     #+0.6848438000915295D0*t628*t459*t1446-0.1712109500228824D0*t203
7419     #*t84*t1640*t91-0.1712109500228824D0*t203*t1659*t91
7420     #+0.1027265700137294D1*t105*t639*t1617-t645+0.1758791364464276D0
7421     #*t649*t1627+0.4690110305238068D0*t652*t1630
7422     #-0.5862637881547585D-1*t215*t1642-0.5862637881547585D-1*t215
7423     #*t1645+0.5862637881547585D0*t111*t1648-t662
7424      t1693 = t473**2
7425      t1705 = t529+t1614-t537+t540-t1616+t545+0.1484134046134546D0
7426     #*t546*t1617+0.1484134046134546D0*t1578*t1394+t562
7427     #+0.2473556743557577D-1*t79*(0.2697586091519874D1*
7428     #(0.3808092365862222D0*t563*t84*t1617-t569+0.2173290372447189D-1
7429     #*t215*t1627+0.8693161489788758D-1*t577*t1630
7430     #-0.1086645186223595D-1*t178*t1642-0.1086645186223595D-1*t178
7431     #*t1645+0.2173290372447189D0*t95*t1648-t609)*t115
7432     #-0.5395172183039748D1*t1517*t470+0.5395172183039748D1*t618*t1656
7433     #-0.2697586091519874D1*t201*t1686)*t225-0.2473556743557577D-1*t79
7434     #*t1693*t673+t678-0.1567270379114016D2*t132*t1617*t94*t682-t688
7435     #+0.272926271249799D2*t690*t693*t1617*t140
7436      t1707 = -t710-t711+t712+0.1484134046134546D0*t438+t1589-t713
7437     #+0.7599149707403056D-1*t430+0.3847322101863073D1*t434+t714+t715
7438     #+t716+t1610+t1133+rho*t1705
7439      v2rhob2(i) = t1392+t1707
7440      t1708 = -t526
7441      t1711 = 0.3799574853701528D-1*t33*t1708*t52
7442      t1712 = 0.1519829941480611D0*t532
7443      t1713 = 0.1519829941480611D0*t1613
7444      t1714 = 0.4559489824441834D0*t536
7445      t1717 = 0.1923661050931536D1*t69*t1708*t50
7446      t1718 = 0.7694644203726145D1*t541
7447      t1719 = 0.7694644203726145D1*t1615
7448      t1720 = 0.2308393261117844D2*t544
7449      t1721 = t171*t437
7450      t1726 = -t560
7451      t1731 = t175*t437
7452      t1737 = t186*t1442
7453      t1740 = t186*t1446
7454      t1754 = -0.4042761511756372D2*(t1711+t1712-t1713+t1714+t1717
7455     #-t1718+t1719-t1720)*t88+0.1212828453526912D3*t585*t437
7456     #+0.1212828453526912D3*t1479*t171-0.4851313814107647D3*t588*t1721
7457     #+0.1212828453526912D3*t182*t1726
7458      t1756 = t100*t1754*t91
7459      t1759 = t186*t1492
7460      t1762 = t100*t171
7461      t1763 = t1762*t1492
7462      t1766 = t1762*t437
7463      t1769 = t192*t1726
7464      t1817 = 0.3424219000457648D0*t623*t204*t1442
7465     #+0.3424219000457648D0*t628*t204*t1446-0.1712109500228824D0*t203
7466     #*t84*t1754*t91-0.1712109500228824D0*t203*t204*t1492
7467     #+0.3424219000457648D0*t628*t175*t1492+0.1027265700137294D1*t1335
7468     #*t1731-0.3424219000457648D0*t105*t208*t1726+0.1758791364464276D0
7469     #*t649*t1737+0.2345055152619034D0*t652*t1740
7470     #-0.5862637881547585D-1*t215*t1756-0.5862637881547585D-1*t215
7471     #*t1759+0.2345055152619034D0*t652*t1763+0.5862637881547585D0
7472     #*t1358*t1766-0.1172527576309517D0*t111*t1769
7473      t1836 = t693*t171
7474      s1 = t1711+t1712-t1713+t1714+t1717-t1718+t1719-t1720
7475     #+0.1484134046134546D0*t546*t1721
7476      s2 = s1+0.7420670230672731D-1*t1578*t551+0.7420670230672731D-1
7477     #*t164*t1726+0.7420670230672731D-1*t550*t1394
7478     #+0.2473556743557577D-1*t79*(0.2697586091519874D1*
7479     #(0.3808092365862222D0*t563*t1731-0.1269364121954074D0*t174*t84
7480     #*t1726+0.2173290372447189D-1*t215*t1737+0.4346580744894379D-1
7481     #*t577*t1740-0.1086645186223595D-1*t178*t1756
7482     #-0.1086645186223595D-1*t178*t1759+0.4346580744894379D-1*t577
7483     #*t1763+0.2173290372447189D0*t1295*t1766-0.4346580744894379D-1
7484     #*t95*t1769)*t115-0.2697586091519874D1*t613*t470
7485     #-0.2697586091519874D1*t1517*t220+0.5395172183039748D1*t618*t220
7486     #*t470-0.2697586091519874D1*t201*t1817)*t225
7487      t1840 = s2-0.2473556743557577D-1*t224*t1400+0.1D1*t132*t1726
7488     #*t141-0.1567270379114016D2*t228*t94*t1420-0.522423459704672D1
7489     #*t232*t234*t1726*t140+0.272926271249799D2*t690*t1836*t1419
7490      t1842 = t152+t160+t516+t517+t173+rho*t1840+t476+t479-t483+t227
7491     #+t701+t702+t230-t238+t706+t707
7492      t1847 = t708-t709-t710-t711+t712+t439+0.5D0*t1589-t713+t431+t435
7493     #+t714+t715+t716+0.5D0*t1610+t1133+0.5D0*t1376+0.5D0*t1385
7494      v2rhoab(i) = t1842+t1847
7495      t1848 = t78*t500
7496      t1852 = t202*t97
7497      t1862 = t489*t200
7498      t1868 = t110*t80
7499      t1871 = t93*t88
7500      t1874 = t622*t97
7501      t1886 = t673*t500
7502      t1892 = t234*t78*t140
7503      t1896 = t132*t96*t94
7504      t1901 = rho*(0.7420670230672731D-1*t1848*t551
7505     #+0.2473556743557577D-1*t79*(0.2697586091519874D1*(
7506     #-0.1269364121954074D0*t209-0.2173290372447189D-1*t1852*t187
7507     #-0.8693161489788758D-1*t105*t193)*t115-0.2697586091519874D1*t613
7508     #*t497-0.2697586091519874D1*t1862*t220+0.5395172183039748D1*t618
7509     #*t220*t497-0.2697586091519874D1*t201*(-0.1712109500228824D0
7510     #*t1868*t205-0.3424219000457648D0*t1871*t175-0.1172527576309517D0
7511     #*t1874*t187-0.2345055152619034D0*t202*t193))*t225
7512     #-0.2473556743557577D-1*t224*t1886+0.1D1*t228*t504
7513     #-0.130605864926168D2*t1248*t1892+0.1364631356248995D2*t1896
7514     #*t1836*t140)
7515      s1 = 0.7420670230672731D-1*t1848*t718+0.2473556743557577D-1*t79*
7516     #(0.2697586091519874D1*(-0.1269364121954074D0*t367
7517     #-0.148092480894642D0*t370-0.2173290372447189D-1*t1852*t349
7518     #-0.8693161489788758D-1*t105*t352-0.1014202173808688D0*t105*t357)
7519     #*t115-0.2697586091519874D1*t1062*t497-0.2697586091519874D1*t1862
7520     #*t379+0.5395172183039748D1*t618*t379*t497-0.2697586091519874D1
7521     #*t201*(-0.1712109500228824D0*t1868*t364-0.3424219000457648D0
7522     #*t1871*t334-0.3994922167200589D0*t492*t339-0.1172527576309517D0
7523     #*t1874*t349-0.2345055152619034D0*t202*t352-0.273589767805554D0
7524     #*t202*t357))*t225-0.2473556743557577D-1*t383*t1886+0.1D1*t401
7525     #*t504-0.261211729852336D1*t400*t79*t509+0.1D1*t404*t504
7526      t1973 = s1-0.261211729852336D1*t782*t1892-0.2333333333333333D1
7527     #*t133*t339*t140+0.6094940363221173D1*t507*sigma*t987*t140+0.1D1
7528     #*t133*t423+0.1D1*t411*t84*(-0.522423459704672D1*t412*t331
7529     #+0.6965646129395627D1*t418)*t140-0.261211729852336D1*t507*sigma
7530     #*t1251*t140
7531      t1974 = rho*t1973
7532      v2rhoasigmaaa(i) = t1901+t503+t506-t511+t1974
7533      t1976 = 0.4947113487115154D-1*t502
7534      t1977 = 0.2D1*t505
7535      t1978 = 0.522423459704672D1*t510
7536      t1979 = 2.D0*t1974
7537      v2rhoasigmaab(i) = 2.D0*t1901+t1976+t1977-t1978+t1979
7538      v2rhoasigmabb(i) = v2rhoasigmaaa(i)
7539      t2023 = rho*(0.7420670230672731D-1*t1848*t1394
7540     #+0.2473556743557577D-1*t79*(0.2697586091519874D1*(
7541     #-0.1269364121954074D0*t463-0.2173290372447189D-1*t1852*t450
7542     #-0.8693161489788758D-1*t105*t453)*t115-0.2697586091519874D1
7543     #*t1517*t497-0.2697586091519874D1*t1862*t470+0.5395172183039748D1
7544     #*t618*t470*t497-0.2697586091519874D1*t201*(-0.1712109500228824D0
7545     #*t1868*t460-0.3424219000457648D0*t1871*t440-0.1172527576309517D0
7546     #*t1874*t450-0.2345055152619034D0*t202*t453))*t225
7547     #-0.2473556743557577D-1*t474*t1886+0.1D1*t477*t504
7548     #-0.130605864926168D2*t1423*t1892+0.1364631356248995D2*t1896*t693
7549     #*t437*t140)
7550      v2rhobsigmaaa(i) = t2023+t503+t506-t511+t1974
7551      v2rhobsigmaab(i) = 2.D0*t2023+t1976+t1977-t1978+t1979
7552      v2rhobsigmabb(i) = v2rhobsigmaaa(i)
7553      t2031 = t497**2
7554      t2042 = t500**2
7555      v2sigmaaa2(i) = rho*(0.2473556743557577D-1*t79*
7556     #(0.5862637881547585D-1*t93*t97*t100*t115-0.5395172183039748D1
7557     #*t1862*t497+0.5395172183039748D1*t618*t2031-0.1581497040888031D0
7558     #*t201*t110*t97*t100)*t225-0.2473556743557577D-1*t79*t2042*t673
7559     #-0.522423459704672D1*t507*t234*t140+0.6823156781244976D1*t132
7560     #*t190*sigma*t693*t140)
7561      v2sigmaaaab(i) = 2.D0*v2sigmaaa2(i)
7562      v2sigmaaabb(i) = v2sigmaaa2(i)
7563      v2sigmaab2(i) = 4.D0*v2sigmaaabb(i)
7564      v2sigmaabbb(i) = v2sigmaaaab(i)
7565      v2sigmabb2(i) = v2sigmaaabb(i)
7566      endif ! rhoa,rhob
7567      else ! rho
7568      zk(i) = 0.0d0
7569      vrhoa(i) = 0.0d0
7570      vrhob(i) = 0.0d0
7571      v2rhoa2(i) = 0.0d0
7572      v2rhob2(i) = 0.0d0
7573      v2rhoab(i) = 0.0d0
7574      vsigmaaa(i) = 0.0d0
7575      vsigmaab(i) = 0.0d0
7576      vsigmabb(i) = 0.0d0
7577      v2rhoasigmaaa(i) = 0.0d0
7578      v2rhoasigmaab(i) = 0.0d0
7579      v2rhoasigmabb(i) = 0.0d0
7580      v2rhobsigmaaa(i) = 0.0d0
7581      v2rhobsigmaab(i) = 0.0d0
7582      v2rhobsigmabb(i) = 0.0d0
7583      v2sigmaaa2(i) = 0.0d0
7584      v2sigmaab2(i) = 0.0d0
7585      v2sigmabb2(i) = 0.0d0
7586      v2sigmaaaab(i) = 0.0d0
7587      v2sigmaaabb(i) = 0.0d0
7588      v2sigmaabbb(i) = 0.0d0
7589      endif ! rho
7590      enddo
7591
7592      endif ! ideriv
7593      return
7594      end
7595
7596
7597      subroutine rks_c_pw91
7598     & (ideriv,npt,rhoa1,sigmaaa1,
7599     &  zk,vrhoa,vsigmaaa,
7600     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
7601c
7602c     J.P. Perdew, J.A. Chevary, S.H. Vosko, K.A. Jackson,
7603c     M.R. Pederson, D.J. Singh, C. Fiolhais
7604c     Atoms, molecules, solids and surfaces:
7605c     Applications of the generalized gradient approximation
7606c     for exchange and correlation
7607c     Phys. Rev. B 46 (1992) 6671--6687
7608c
7609c
7610c     CITATION:
7611c
7612c     Functionals were obtained from the Density Functional Repository
7613c     as developed and distributed by the Quantum Chemistry Group,
7614c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
7615c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
7616c     Paul Sherwood for further information.
7617c
7618c     COPYRIGHT:
7619c
7620c     Users may incorporate the source code into software packages and
7621c     redistribute the source code provided the source code is not
7622c     changed in anyway and is properly cited in any documentation or
7623c     publication related to its use.
7624c
7625c     ACKNOWLEDGEMENT:
7626c
7627c     The source code was generated using Maple 8 through a modified
7628c     version of the dfauto script published in:
7629c
7630c        R. Strange, F.R. Manby, P.J. Knowles
7631c        Automatic code generation in density functional theory
7632c        Comp. Phys. Comm. 136 (2001) 310-318.
7633c
7634      implicit real*8 (a-h,o-z)
7635      integer ideriv,npt
7636      real*8 rhoa1(npt)
7637      real*8 sigmaaa1(npt)
7638      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
7639      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
7640      parameter(tol=1.0d-20)
7641
7642      if(ideriv.eq.0) then
7643
7644      do i=1,npt
7645      rho = dmax1(0.D0,rhoa1(i))
7646      if(rho.gt.tol) then
7647      sigma = dmax1(0.D0,sigmaaa1(i))
7648      t2 = 1/rho
7649      t3 = t2**(1.D0/3.D0)
7650      t6 = t2**(1.D0/6.D0)
7651      t9 = dsqrt(t2)
7652      t11 = t3**2
7653      t17 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t6
7654     #+0.2225569421150687D1*t3+0.8004286349993634D0*t9
7655     #+0.1897004325747559D0*t11))
7656      t18 = (1.D0+0.1325688999052018D0*t3)*t17
7657      t20 = rho**2
7658      t21 = rho**(1.D0/3.D0)
7659      t23 = 1/t21/t20
7660      t27 = dexp(0.2513869963240348D1*t18)
7661      t28 = t27-1.D0
7662      t29 = 1/t28
7663      t30 = sigma**2
7664      t32 = t20**2
7665      t33 = t21**2
7666      t35 = 1/t33/t32
7667      t42 = t28**2
7668      t52 = dlog(1.D0+0.2697586091519874D1*(0.634682060977037D-1*sigma
7669     #*t23+0.1086645186223595D-1*t29*t30*t35)/(1.D0
7670     #+0.1712109500228824D0*t29*sigma*t23+0.2931318940773793D-1/t42
7671     #*t30*t35))
7672      t70 = dexp(-0.261211729852336D1/t33/t20*sigma)
7673      zk(i) = rho*(-0.62182D-1*t18+0.2473556743557577D-1*t52+0.1D1*
7674     #(0.1D-2*(0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2
7675     #*t11)/(1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
7676     #+0.1763993811759022D-1*t2)-0.1853571428571429D-2)*sigma*t23*t70)
7677      else ! rho
7678      zk(i) = 0.0d0
7679      endif ! rho
7680      enddo
7681
7682      else if(ideriv.eq.1) then
7683
7684      do i=1,npt
7685      rho = dmax1(0.D0,rhoa1(i))
7686      if(rho.gt.tol) then
7687      sigma = dmax1(0.D0,sigmaaa1(i))
7688      t2 = 1/rho
7689      t3 = t2**(1.D0/3.D0)
7690      t5 = 1.D0+0.1325688999052018D0*t3
7691      t6 = t2**(1.D0/6.D0)
7692      t9 = dsqrt(t2)
7693      t11 = t3**2
7694      t13 = 0.598255043577108D1*t6+0.2225569421150687D1*t3
7695     #+0.8004286349993634D0*t9+0.1897004325747559D0*t11
7696      t16 = 1.D0+0.160818243221511D2/t13
7697      t17 = dlog(t16)
7698      t18 = t5*t17
7699      t19 = 0.62182D-1*t18
7700      t20 = rho**2
7701      t21 = rho**(1.D0/3.D0)
7702      t23 = 1/t21/t20
7703      t27 = dexp(0.2513869963240348D1*t18)
7704      t28 = t27-1.D0
7705      t29 = 1/t28
7706      t30 = sigma**2
7707      t31 = t29*t30
7708      t32 = t20**2
7709      t33 = t21**2
7710      t35 = 1/t33/t32
7711      t38 = 0.634682060977037D-1*sigma*t23+0.1086645186223595D-1*t31*t35
7712      t39 = t29*sigma
7713      t42 = t28**2
7714      t43 = 1/t42
7715      t44 = t43*t30
7716      t47 = 1.D0+0.1712109500228824D0*t39*t23+0.2931318940773793D-1
7717     #*t44*t35
7718      t48 = 1/t47
7719      t51 = 1.D0+0.2697586091519874D1*t38*t48
7720      t52 = dlog(t51)
7721      t53 = 0.2473556743557577D-1*t52
7722      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
7723      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
7724     #+0.1763993811759022D-1*t2
7725      t61 = 1/t60
7726      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
7727      t65 = t64*sigma
7728      t70 = dexp(-0.261211729852336D1/t33/t20*sigma)
7729      t71 = t23*t70
7730      t73 = 0.1D1*t65*t71
7731      zk(i) = rho*(-t19+t53+t73)
7732      t76 = 1/t20
7733      t77 = 1/t11*t76
7734      t78 = t77*t17
7735      t80 = t13**2
7736      t83 = t6**2
7737      t84 = t83**2
7738      t94 = 1/t3*t76
7739      t99 = t5/t80*(-0.99709173929518D0/t84/t6*t76
7740     #-0.7418564737168958D0*t77-0.4002143174996817D0/t9*t76
7741     #-0.1264669550498372D0*t94)/t16
7742      t103 = 1/t21/t20/rho
7743      t108 = -0.1110869918438343D0*t78-0.4042761511756372D2*t99
7744      t110 = t35*t108*t27
7745      t113 = t32*rho
7746      t115 = 1/t33/t113
7747      t121 = t47**2
7748      t123 = t38/t121
7749      t124 = t43*sigma
7750      t142 = 1/t51
7751      t150 = t60**2
7752      vrhoa(i) = -t19+t53+t73+rho*(0.2747799777968419D-2*t78+0.1D1*t99
7753     #+0.2473556743557577D-1*(0.2697586091519874D1*(
7754     #-0.148092480894642D0*sigma*t103-0.1086645186223595D-1*t44*t110
7755     #-0.5071010869043442D-1*t31*t115)*t48-0.2697586091519874D1*t123*(
7756     #-0.1712109500228824D0*t124*t23*t108*t27-0.3994922167200589D0*t39
7757     #*t103-0.5862637881547585D-1/t42/t28*t30*t110-0.136794883902777D0
7758     #*t44*t115))*t142+0.1D1*(0.1D-2*(-0.4811024840421814D1*t77
7759     #-0.1895695887660258D-2*t94)*t61-0.1D-2*t56/t150*(
7760     #-0.1803772444038489D1*t77-0.1210946621972718D0*t94
7761     #-0.1763993811759022D-1*t76))*sigma*t71-0.2333333333333333D1*t65
7762     #*t103*t70+0.6965646129395627D1*t64*t30/t32/t20*t70)
7763      vsigmaaa(i) = 4.D0*rho*(0.2473556743557577D-1*
7764     #(0.2697586091519874D1*(0.634682060977037D-1*t23
7765     #+0.2173290372447189D-1*t39*t35)*t48-0.2697586091519874D1*t123*
7766     #(0.1712109500228824D0*t29*t23+0.5862637881547585D-1*t124*t35))
7767     #*t142+0.1D1*t64*t23*t70-0.261211729852336D1*t65/t113*t70)
7768      else ! rho
7769      zk(i) = 0.0d0
7770      vrhoa(i) = 0.0d0
7771      vsigmaaa(i) = 0.0d0
7772      endif ! rho
7773      enddo
7774
7775      else if(ideriv.eq.2) then
7776
7777      do i=1,npt
7778      rho = dmax1(0.D0,rhoa1(i))
7779      if(rho.gt.tol) then
7780      sigma = dmax1(0.D0,sigmaaa1(i))
7781      t2 = 1/rho
7782      t3 = t2**(1.D0/3.D0)
7783      t5 = 1.D0+0.1325688999052018D0*t3
7784      t6 = t2**(1.D0/6.D0)
7785      t9 = dsqrt(t2)
7786      t11 = t3**2
7787      t13 = 0.598255043577108D1*t6+0.2225569421150687D1*t3
7788     #+0.8004286349993634D0*t9+0.1897004325747559D0*t11
7789      t16 = 1.D0+0.160818243221511D2/t13
7790      t17 = dlog(t16)
7791      t18 = t5*t17
7792      t19 = 0.62182D-1*t18
7793      t20 = rho**2
7794      t21 = rho**(1.D0/3.D0)
7795      t23 = 1/t21/t20
7796      t27 = dexp(0.2513869963240348D1*t18)
7797      t28 = t27-1.D0
7798      t29 = 1/t28
7799      t30 = sigma**2
7800      t31 = t29*t30
7801      t32 = t20**2
7802      t33 = t21**2
7803      t35 = 1/t33/t32
7804      t38 = 0.634682060977037D-1*sigma*t23+0.1086645186223595D-1*t31*t35
7805      t39 = t29*sigma
7806      t42 = t28**2
7807      t43 = 1/t42
7808      t44 = t43*t30
7809      t47 = 1.D0+0.1712109500228824D0*t39*t23+0.2931318940773793D-1
7810     #*t44*t35
7811      t48 = 1/t47
7812      t51 = 1.D0+0.2697586091519874D1*t38*t48
7813      t52 = dlog(t51)
7814      t53 = 0.2473556743557577D-1*t52
7815      t56 = 0.2568D1+0.1443307452126544D2*t3+0.2843543831490386D-2*t11
7816      t60 = 1.D0+0.5411317332115466D1*t3+0.1816419932959077D0*t11
7817     #+0.1763993811759022D-1*t2
7818      t61 = 1/t60
7819      t64 = 0.1D-2*t56*t61-0.1853571428571429D-2
7820      t65 = t64*sigma
7821      t70 = dexp(-0.261211729852336D1/t33/t20*sigma)
7822      t71 = t23*t70
7823      t73 = 0.1D1*t65*t71
7824      zk(i) = rho*(-t19+t53+t73)
7825      t75 = 1/t11
7826      t76 = 1/t20
7827      t77 = t75*t76
7828      t78 = t77*t17
7829      t80 = t13**2
7830      t81 = 1/t80
7831      t82 = t5*t81
7832      t83 = t6**2
7833      t84 = t83**2
7834      t85 = t84*t6
7835      t86 = 1/t85
7836      t90 = 1/t9
7837      t93 = 1/t3
7838      t94 = t93*t76
7839      t96 = -0.99709173929518D0*t86*t76-0.7418564737168958D0*t77
7840     #-0.4002143174996817D0*t90*t76-0.1264669550498372D0*t94
7841      t97 = 1/t16
7842      t99 = t82*t96*t97
7843      t101 = t20*rho
7844      t103 = 1/t21/t101
7845      t108 = -0.1110869918438343D0*t78-0.4042761511756372D2*t99
7846      t110 = t35*t108*t27
7847      t113 = t32*rho
7848      t115 = 1/t33/t113
7849      t118 = -0.148092480894642D0*sigma*t103-0.1086645186223595D-1*t44
7850     #*t110-0.5071010869043442D-1*t31*t115
7851      t121 = t47**2
7852      t122 = 1/t121
7853      t123 = t38*t122
7854      t124 = t43*sigma
7855      t132 = 1/t42/t28
7856      t133 = t132*t30
7857      t138 = -0.1712109500228824D0*t124*t23*t108*t27
7858     #-0.3994922167200589D0*t39*t103-0.5862637881547585D-1*t133*t110
7859     #-0.136794883902777D0*t44*t115
7860      t141 = 0.2697586091519874D1*t118*t48-0.2697586091519874D1*t123
7861     #*t138
7862      t142 = 1/t51
7863      t143 = t141*t142
7864      t147 = -0.4811024840421814D1*t77-0.1895695887660258D-2*t94
7865      t150 = t60**2
7866      t151 = 1/t150
7867      t152 = t56*t151
7868      t156 = -0.1803772444038489D1*t77-0.1210946621972718D0*t94
7869     #-0.1763993811759022D-1*t76
7870      t159 = 0.1D-2*t147*t61-0.1D-2*t152*t156
7871      t160 = t159*sigma
7872      t161 = t160*t71
7873      t163 = t103*t70
7874      t164 = t65*t163
7875      t166 = t64*t30
7876      t167 = t32*t20
7877      t169 = 1/t167*t70
7878      t170 = t166*t169
7879      vrhoa(i) = -t19+t53+t73+rho*(0.2747799777968419D-2*t78+0.1D1*t99
7880     #+0.2473556743557577D-1*t143+0.1D1*t161-0.2333333333333333D1*t164
7881     #+0.6965646129395627D1*t170)
7882      t177 = 0.634682060977037D-1*t23+0.2173290372447189D-1*t39*t35
7883      t184 = 0.1712109500228824D0*t29*t23+0.5862637881547585D-1*t124*t35
7884      t187 = 0.2697586091519874D1*t177*t48-0.2697586091519874D1*t123
7885     #*t184
7886      t188 = t187*t142
7887      t191 = t64*t23*t70
7888      t193 = 1/t113
7889      t194 = t193*t70
7890      t195 = t65*t194
7891      vsigmaaa(i) = 4.D0*rho*(0.2473556743557577D-1*t188+0.1D1*t191
7892     #-0.261211729852336D1*t195)
7893      t215 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t6
7894     #+0.2247591863577616D1*t3+0.4300972471276643D0*t9
7895     #+0.1911512595127338D0*t11))
7896      t217 = (1.D0+0.6901399211255825D-1*t3)*t215*t76
7897      t219 = t52*t76
7898      t222 = 1/t21/t32
7899      t223 = sigma*t222
7900      t228 = 0.1365402220407279D1*t217-0.1675913308826898D1*t18*t76
7901      t230 = t35*t228*t27
7902      t234 = 1/t33/t167
7903      t235 = t31*t234
7904      t244 = t39*t222
7905      t248 = t44*t234
7906      t258 = t64*t222*sigma*t70
7907      t260 = t32*t101
7908      t263 = t166/t260*t70
7909      t270 = -t228
7910      t272 = t35*t270*t27
7911      t299 = 1/t32
7912      t302 = 1/t101
7913      t307 = 1/t11/t2*t299
7914      t309 = t75*t302
7915      t319 = 1/t3/t2*t299
7916      t321 = t93*t302
7917      t325 = t82*(-0.8309097827459833D0/t85/t2*t299
7918     #+0.199418347859036D1*t86*t302-0.4945709824779306D0*t307
7919     #+0.1483712947433792D1*t309-0.2001071587498409D0/t9/t2*t299
7920     #+0.8004286349993634D0*t90*t302-0.4215565168327908D-1*t319
7921     #+0.2529339100996745D0*t321)*t97
7922      t327 = t80**2
7923      t330 = t96**2
7924      t331 = t16**2
7925      t334 = t5/t327*t330/t331
7926      t336 = t309*t17
7927      t338 = t307*t17
7928      t342 = t77*t81*t96*t97
7929      t348 = t5/t80/t13*t330*t97
7930      t352 = t32**2
7931      t374 = t156**2
7932      t391 = t141**2
7933      t392 = t51**2
7934      t393 = 1/t392
7935      t397 = t115*t108*t27
7936      t406 = -0.4042761511756372D2*t325-0.6501498040842D3*t334
7937     #+0.2221739836876686D0*t336-0.740579945625562D-1*t338
7938     #+0.3572962974617552D1*t342+0.8085523023512745D2*t348
7939      t408 = t35*t406*t27
7940      t411 = t108**2
7941      t412 = t35*t411
7942      t414 = dexp(0.5027739926480695D1*t18)
7943      t415 = t412*t414
7944      t418 = t412*t27
7945      t426 = t118*t122
7946      t431 = t38/t121/t47
7947      t432 = t138**2
7948      t443 = t132*sigma
7949      t444 = t23*t411
7950      t459 = t42**2
7951      s1 = 0.1D1*t325+0.160818243221511D2*t334-0.5495599555936838D-2
7952     #*t336+0.1831866518645613D-2*t338-0.8837926660346786D-1*t342
7953     #-0.2D1*t348+0.4852022599996427D2*t64*t30*sigma/t33/t352/rho*t70
7954      s2 = s1-0.5804705107829689D2*t263+0.7777777777777778D1*t258
7955     #+0.1D1*(0.1D-2*(-0.3207349893614542D1*t307+0.9622049680843627D1
7956     #*t309-0.6318986292200858D-3*t319+0.3791391775320515D-2*t321)*t61
7957     #-0.2D-2*t147*t151*t156+0.2D-2*t56/t150/t60*t374-0.1D-2*t152*(
7958     #-0.1202514962692326D1*t307+0.3607544888076978D1*t309
7959     #-0.4036488739909061D-1*t319+0.2421893243945437D0*t321
7960     #+0.3527987623518044D-1*t302))*sigma*t71
7961      t473 = s2-0.4666666666666667D1*t160*t163-0.2473556743557577D-1
7962     #*t391*t393+0.2473556743557577D-1*(0.2697586091519874D1*
7963     #(0.1014202173808688D0*t44*t397-0.1086645186223595D-1*t44*t408
7964     #+0.2173290372447189D-1*t133*t415-0.1086645186223595D-1*t44*t418
7965     #+0.2873572825791284D0*t235+0.4936416029821399D0*t223)*t48
7966     #-0.5395172183039748D1*t426*t138+0.5395172183039748D1*t431*t432
7967     #-0.2697586091519874D1*t123*(-0.1712109500228824D0*t124*t23*t406
7968     #*t27+0.7989844334401178D0*t124*t103*t108*t27
7969     #+0.3424219000457648D0*t443*t444*t414-0.1712109500228824D0*t124
7970     #*t444*t27+0.1331640722400196D1*t244+0.547179535611108D0*t133
7971     #*t397-0.5862637881547585D-1*t133*t408-0.5862637881547585D-1*t133
7972     #*t418+0.7751710087824029D0*t248+0.1758791364464276D0/t459*t30
7973     #*t415))*t142+0.1393129225879125D2*t159*t30*t169
7974      s1 = 0.2786258451758251D2*t170-0.9333333333333333D1*t164
7975     #+0.9894226974230308D-1*t143+0.4D1*t161
7976      s2 = s1+0.1099119911187368D-1*t78+0.4D1*t99
7977      s3 = s2+rho*(-0.3377399869956914D-1*t217+0.1649037829038385D-1
7978     #*t219+0.2473556743557577D-1*(0.2697586091519874D1*(
7979     #-0.2820809159897942D-1*t223-0.1086645186223595D-1*t44*t230
7980     #-0.9659068321987509D-2*t235)*t48-0.2697586091519874D1*t123*(
7981     #-0.1712109500228824D0*t124*t23*t228*t27-0.760937555657255D-1
7982     #*t244-0.5862637881547585D-1*t133*t230-0.2605616836243371D-1*t248
7983     #))*t142+0.2222222222222222D0*t258-0.1160941021565938D1*t263)
7984      v2rhoa2(i) = s3+rho*(0.3377399869956914D-1*t217
7985     #-0.1649037829038385D-1*t219+0.2473556743557577D-1*
7986     #(0.2697586091519874D1*(0.2820809159897942D-1*t223
7987     #-0.1086645186223595D-1*t44*t272+0.9659068321987509D-2*t235)*t48
7988     #-0.2697586091519874D1*t123*(-0.1712109500228824D0*t124*t23*t270
7989     #*t27+0.760937555657255D-1*t244-0.5862637881547585D-1*t133*t272
7990     #+0.2605616836243371D-1*t248))*t142-0.2222222222222222D0*t258
7991     #+0.1160941021565938D1*t263)+2.D0*rho*t473
7992      t489 = t177*t122
7993      v2rhoasigmaaa(i) = 0.9894226974230308D-1*t188+0.4D1*t191
7994     #-0.1044846919409344D2*t195+4.D0*rho*(0.2473556743557577D-1*
7995     #(0.2697586091519874D1*(-0.148092480894642D0*t103
7996     #-0.2173290372447189D-1*t124*t110-0.1014202173808688D0*t39*t115)
7997     #*t48-0.2697586091519874D1*t426*t184-0.2697586091519874D1*t489
7998     #*t138+0.5395172183039748D1*t431*t138*t184-0.2697586091519874D1
7999     #*t123*(-0.1712109500228824D0*t43*t23*t108*t27
8000     #-0.3994922167200589D0*t29*t103-0.1172527576309517D0*t443*t110
8001     #-0.273589767805554D0*t124*t115))*t142-0.2473556743557577D-1*t141
8002     #*t393*t187+0.1D1*t159*t23*t70-0.261211729852336D1*t160*t194
8003     #-0.2333333333333333D1*t64*t103*t70+0.2002623262201243D2*t65*t169
8004     #-0.181950847499866D2*t166/t33/t352*t70)
8005      t537 = t184**2
8006      t546 = t187**2
8007      v2sigmaaa2(i) = 16.D0*rho*(0.2473556743557577D-1*
8008     #(0.5862637881547585D-1*t29*t35*t48-0.5395172183039748D1*t489
8009     #*t184+0.5395172183039748D1*t431*t537-0.1581497040888031D0*t123
8010     #*t43*t35)*t142-0.2473556743557577D-1*t546*t393
8011     #-0.522423459704672D1*t64*t193*t70+0.6823156781244976D1*t65/t33
8012     #/t260*t70)
8013      else ! rho
8014      zk(i) = 0.0d0
8015      vrhoa(i) = 0.0d0
8016      v2rhoa2(i) = 0.0d0
8017      vsigmaaa(i) = 0.0d0
8018      v2rhoasigmaaa(i) = 0.0d0
8019      v2sigmaaa2(i) = 0.0d0
8020      endif ! rho
8021      enddo
8022
8023      endif ! ideriv
8024      return
8025      end
8026
8027
8028      subroutine uks_c_pbe
8029     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
8030     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
8031     &  v2rhoa2,v2rhob2,v2rhoab,
8032     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
8033     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
8034     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
8035     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
8036c
8037c     J.P. Perdew, K. Burke, and M. Ernzerhof
8038c     Generalized gradient approximation made simple
8039c     Phys. Rev. Lett. 77 (1996) 3865-3868
8040c
8041c
8042c     CITATION:
8043c
8044c     Functionals were obtained from the Density Functional Repository
8045c     as developed and distributed by the Quantum Chemistry Group,
8046c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
8047c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
8048c     Paul Sherwood for further information.
8049c
8050c     COPYRIGHT:
8051c
8052c     Users may incorporate the source code into software packages and
8053c     redistribute the source code provided the source code is not
8054c     changed in anyway and is properly cited in any documentation or
8055c     publication related to its use.
8056c
8057c     ACKNOWLEDGEMENT:
8058c
8059c     The source code was generated using Maple 8 through a modified
8060c     version of the dfauto script published in:
8061c
8062c        R. Strange, F.R. Manby, P.J. Knowles
8063c        Automatic code generation in density functional theory
8064c        Comp. Phys. Comm. 136 (2001) 310-318.
8065c
8066      implicit real*8 (a-h,o-z)
8067      integer ideriv,npt
8068      real*8 rhoa1(npt),rhob1(npt)
8069      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
8070      real*8 zk(npt),vrhoa(npt),vrhob(npt)
8071      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
8072      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
8073      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
8074      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
8075      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
8076      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
8077      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
8078      parameter(tol=1.0d-20)
8079
8080      if (ideriv.eq.0) then
8081
8082      do i=1,npt
8083      rhoa = dmax1(0.D0,rhoa1(i))
8084      rhob = dmax1(0.D0,rhob1(i))
8085      rho = rhoa+rhob
8086      if(rho.gt.tol) then
8087      if(rhoa.lt.tol) then
8088      rho = rhob
8089      sigmabb = dmax1(0.D0,sigmabb1(i))
8090      sigma = sigmabb
8091      t2 = 1/rhob
8092      t3 = t2**(1.D0/3.D0)
8093      t6 = t2**(1.D0/6.D0)
8094      t9 = dsqrt(t2)
8095      t11 = t3**2
8096      t17 = dlog(1.D0+0.3216395899738507D2/(0.1112037486309468D2*t6
8097     #+0.3844746237447211D1*t3+0.1644733775567609D1*t9
8098     #+0.2405871291288192D0*t11))
8099      t18 = (1.D0+0.1274696188700087D0*t3)*t17
8100      t20 = rhob**2
8101      t21 = rhob**(1.D0/3.D0)
8102      t23 = 1/t21/t20
8103      t26 = dexp(0.2000000587336264D1*t18)
8104      t27 = t26-1.D0
8105      t31 = 0.2162211495206379D0/t27*sigmabb*t23
8106      t33 = t27**2
8107      t35 = sigmabb**2
8108      t37 = t20**2
8109      t38 = t21**2
8110      t49 = dlog(1.D0+0.2162211495206379D0*sigmabb*t23*(1.D0+t31)/
8111     #(1.D0+t31+0.4675158550002605D-1/t33*t35/t38/t37))
8112      zk(i) = rhob*(-0.310907D-1*t18+0.1554534543482745D-1*t49)
8113      elseif(rhob.lt.tol) then
8114      rho = rhoa
8115      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8116      sigma = sigmaaa
8117      t2 = 1/rhoa
8118      t3 = t2**(1.D0/3.D0)
8119      t6 = t2**(1.D0/6.D0)
8120      t9 = dsqrt(t2)
8121      t11 = t3**2
8122      t17 = dlog(1.D0+0.3216395899738507D2/(0.1112037486309468D2*t6
8123     #+0.3844746237447211D1*t3+0.1644733775567609D1*t9
8124     #+0.2405871291288192D0*t11))
8125      t18 = (1.D0+0.1274696188700087D0*t3)*t17
8126      t20 = rhoa**2
8127      t21 = rhoa**(1.D0/3.D0)
8128      t23 = 1/t21/t20
8129      t26 = dexp(0.2000000587336264D1*t18)
8130      t27 = t26-1.D0
8131      t31 = 0.2162211495206379D0/t27*sigmaaa*t23
8132      t33 = t27**2
8133      t35 = sigmaaa**2
8134      t37 = t20**2
8135      t38 = t21**2
8136      t49 = dlog(1.D0+0.2162211495206379D0*sigmaaa*t23*(1.D0+t31)/
8137     #(1.D0+t31+0.4675158550002605D-1/t33*t35/t38/t37))
8138      zk(i) = rhoa*(-0.310907D-1*t18+0.1554534543482745D-1*t49)
8139      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
8140      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8141      sigmaab = sigmaab1(i)
8142      sigmabb = dmax1(0.D0,sigmabb1(i))
8143      sigma = sigmaaa+sigmabb+2.D0*sigmaab
8144      t4 = 1/rho
8145      t5 = t4**(1.D0/3.D0)
8146      t8 = t4**(1.D0/6.D0)
8147      t11 = dsqrt(t4)
8148      t13 = t5**2
8149      t19 = dlog(1.D0+0.1608197949869254D2/(0.598255043577108D1*t8
8150     #+0.2225569421150687D1*t5+0.8004286349993634D0*t11
8151     #+0.1897004325747559D0*t13))
8152      t21 = 0.621814D-1*(1.D0+0.1325688999052018D0*t5)*t19
8153      t32 = dlog(1.D0+0.2960874997779344D2/(0.8157414703487641D1*t8
8154     #+0.2247591863577616D1*t5+0.4300972471276643D0*t11
8155     #+0.1911512595127338D0*t13))
8156      t35 = rhoa-1.D0*rhob
8157      t36 = t35*t4
8158      t37 = 1.D0+t36
8159      t38 = t37**(1.D0/3.D0)
8160      t41 = 1.D0-1.D0*t36
8161      t42 = t41**(1.D0/3.D0)
8162      t44 = t38*t37+t42*t41-2.D0
8163      t45 = t35**2
8164      t46 = t45**2
8165      t47 = rho**2
8166      t48 = t47**2
8167      t50 = t46/t48
8168      t55 = 0.37995525D-1*(1.D0+0.6901399211255825D-1*t5)*t32*t44*
8169     #(1.D0-1.D0*t50)
8170      t66 = dlog(1.D0+0.3216395899738507D2/(0.1112037486309468D2*t8
8171     #+0.3844746237447211D1*t5+0.1644733775567609D1*t11
8172     #+0.2405871291288192D0*t13))
8173      t72 = 0.1923661050931536D1*(-0.310907D-1*(1.D0
8174     #+0.1274696188700087D0*t5)*t66+t21)*t44*t50
8175      t73 = t38**2
8176      t75 = t42**2
8177      t77 = 0.5D0*t73+0.5D0*t75
8178      t78 = t77**2
8179      t79 = t78*t77
8180      t80 = 1/t78
8181      t82 = rho**(1.D0/3.D0)
8182      t84 = 1/t82/t47
8183      t89 = dexp(-0.3216396844291482D2*(-t21+t55+t72)/t79)
8184      t90 = t89-1.D0
8185      t95 = 0.1362107888567592D0/t90*sigma*t80*t84
8186      t98 = t90**2
8187      t100 = sigma**2
8188      t102 = t78**2
8189      t104 = t82**2
8190      t116 = dlog(1.D0+0.1362107888567592D0*sigma*t80*t84*(1.D0+t95)/
8191     #(1.D0+t95+0.1855337900098064D-1/t98*t100/t102/t104/t48))
8192      zk(i) = rho*(-t21+t55+t72+0.310906908696549D-1*t79*t116)
8193      endif ! rhoa,rhob
8194      else ! rho
8195      zk(i) = 0.0d0
8196      endif ! rho
8197      enddo
8198
8199      else if(ideriv.eq.1) then
8200
8201      do i=1,npt
8202      rhoa = dmax1(0.D0,rhoa1(i))
8203      rhob = dmax1(0.D0,rhob1(i))
8204      rho = rhoa+rhob
8205      if(rho.gt.tol) then
8206      if(rhoa.lt.tol) then
8207      rho = rhob
8208      sigmabb = dmax1(0.D0,sigmabb1(i))
8209      sigma = sigmabb
8210      t2 = 1/rhob
8211      t3 = t2**(1.D0/3.D0)
8212      t5 = 1.D0+0.1274696188700087D0*t3
8213      t6 = t2**(1.D0/6.D0)
8214      t9 = dsqrt(t2)
8215      t11 = t3**2
8216      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
8217     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
8218      t16 = 1.D0+0.3216395899738507D2/t13
8219      t17 = dlog(t16)
8220      t18 = t5*t17
8221      t19 = 0.310907D-1*t18
8222      t20 = rhob**2
8223      t21 = rhob**(1.D0/3.D0)
8224      t23 = 1/t21/t20
8225      t24 = sigmabb*t23
8226      t26 = dexp(0.2000000587336264D1*t18)
8227      t27 = t26-1.D0
8228      t28 = 1/t27
8229      t29 = t28*sigmabb
8230      t31 = 0.2162211495206379D0*t29*t23
8231      t32 = 1.D0+t31
8232      t33 = t27**2
8233      t34 = 1/t33
8234      t35 = sigmabb**2
8235      t36 = t34*t35
8236      t37 = t20**2
8237      t38 = t21**2
8238      t40 = 1/t38/t37
8239      t41 = t36*t40
8240      t43 = 1.D0+t31+0.4675158550002605D-1*t41
8241      t44 = 1/t43
8242      t45 = t32*t44
8243      t48 = 1.D0+0.2162211495206379D0*t24*t45
8244      t49 = dlog(t48)
8245      t50 = 0.1554534543482745D-1*t49
8246      zk(i) = rhob*(-t19+t50)
8247      vrhoa(i) = 0.D0
8248      t54 = 1/t21/t20/rhob
8249      t60 = 1/t38/t37/rhob
8250      t62 = t28*t44
8251      t65 = t43**2
8252      t67 = t32/t65
8253      t78 = 1/t48
8254      t82 = 1/t20
8255      t83 = 1/t11*t82
8256      t84 = t83*t17
8257      t86 = t13**2
8258      t89 = t6**2
8259      t90 = t89**2
8260      t105 = t5/t86*(-0.1853395810515781D1/t90/t6*t82
8261     #-0.128158207914907D1*t83-0.8223668877838045D0/t9*t82
8262     #-0.1603914194192128D0/t3*t82)/t16
8263      t109 = -0.8497977086918237D-1*t84-0.6432793688582964D2*t105
8264      t114 = t34*sigmabb
8265      vrhob(i) = -t19+t50+0.1554534543482745D-1*rhob*(
8266     #-0.5045160155481551D0*sigmabb*t54*t45-0.1090870328333941D0*t35
8267     #*t60*t62-0.2162211495206379D0*t24*t67*(-0.5045160155481551D0*t29
8268     #*t54-0.2181740656667882D0*t36*t60))*t78+rhob*
8269     #(0.1321039893133927D-2*t84+0.1D1*t105+0.1554534543482745D-1*(
8270     #-0.4675158550002605D-1*t41*t109*t26*t44-0.2162211495206379D0*t24
8271     #*t67*(-0.2162211495206379D0*t114*t23*t109*t26
8272     #-0.935031710000521D-1/t33/t27*t35*t40*t109*t26))*t78)
8273      vsigmaaa(i) = 0.D0
8274      vsigmaab(i) = 0.D0
8275      vsigmabb(i) = 0.1554534543482745D-1*rhob*(0.2162211495206379D0
8276     #*t23*t32*t44+0.4675158550002605D-1*sigmabb*t40*t62
8277     #-0.2162211495206379D0*t24*t67*(0.2162211495206379D0*t28*t23
8278     #+0.935031710000521D-1*t114*t40))*t78
8279      elseif(rhob.lt.tol) then
8280      rho = rhoa
8281      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8282      sigma = sigmaaa
8283      t2 = 1/rhoa
8284      t3 = t2**(1.D0/3.D0)
8285      t5 = 1.D0+0.1274696188700087D0*t3
8286      t6 = t2**(1.D0/6.D0)
8287      t9 = dsqrt(t2)
8288      t11 = t3**2
8289      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
8290     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
8291      t16 = 1.D0+0.3216395899738507D2/t13
8292      t17 = dlog(t16)
8293      t18 = t5*t17
8294      t19 = 0.310907D-1*t18
8295      t20 = rhoa**2
8296      t21 = rhoa**(1.D0/3.D0)
8297      t23 = 1/t21/t20
8298      t24 = sigmaaa*t23
8299      t26 = dexp(0.2000000587336264D1*t18)
8300      t27 = t26-1.D0
8301      t28 = 1/t27
8302      t29 = t28*sigmaaa
8303      t31 = 0.2162211495206379D0*t29*t23
8304      t32 = 1.D0+t31
8305      t33 = t27**2
8306      t34 = 1/t33
8307      t35 = sigmaaa**2
8308      t36 = t34*t35
8309      t37 = t20**2
8310      t38 = t21**2
8311      t40 = 1/t38/t37
8312      t41 = t36*t40
8313      t43 = 1.D0+t31+0.4675158550002605D-1*t41
8314      t44 = 1/t43
8315      t45 = t32*t44
8316      t48 = 1.D0+0.2162211495206379D0*t24*t45
8317      t49 = dlog(t48)
8318      t50 = 0.1554534543482745D-1*t49
8319      zk(i) = rhoa*(-t19+t50)
8320      t54 = 1/t21/t20/rhoa
8321      t60 = 1/t38/t37/rhoa
8322      t62 = t28*t44
8323      t65 = t43**2
8324      t67 = t32/t65
8325      t78 = 1/t48
8326      t82 = 1/t20
8327      t83 = 1/t11*t82
8328      t84 = t83*t17
8329      t86 = t13**2
8330      t89 = t6**2
8331      t90 = t89**2
8332      t105 = t5/t86*(-0.1853395810515781D1/t90/t6*t82
8333     #-0.128158207914907D1*t83-0.8223668877838045D0/t9*t82
8334     #-0.1603914194192128D0/t3*t82)/t16
8335      t109 = -0.8497977086918237D-1*t84-0.6432793688582964D2*t105
8336      t114 = t34*sigmaaa
8337      vrhoa(i) = -t19+t50+0.1554534543482745D-1*rhoa*(
8338     #-0.5045160155481551D0*sigmaaa*t54*t45-0.1090870328333941D0*t35
8339     #*t60*t62-0.2162211495206379D0*t24*t67*(-0.5045160155481551D0*t29
8340     #*t54-0.2181740656667882D0*t36*t60))*t78+rhoa*
8341     #(0.1321039893133927D-2*t84+0.1D1*t105+0.1554534543482745D-1*(
8342     #-0.4675158550002605D-1*t41*t109*t26*t44-0.2162211495206379D0*t24
8343     #*t67*(-0.2162211495206379D0*t114*t23*t109*t26
8344     #-0.935031710000521D-1/t33/t27*t35*t40*t109*t26))*t78)
8345      vrhob(i) = 0.D0
8346      vsigmaaa(i) = 0.1554534543482745D-1*rhoa*(0.2162211495206379D0
8347     #*t23*t32*t44+0.4675158550002605D-1*sigmaaa*t40*t62
8348     #-0.2162211495206379D0*t24*t67*(0.2162211495206379D0*t28*t23
8349     #+0.935031710000521D-1*t114*t40))*t78
8350      vsigmaab(i) = 0.D0
8351      vsigmabb(i) = 0.D0
8352      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
8353      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8354      sigmaab = sigmaab1(i)
8355      sigmabb = dmax1(0.D0,sigmabb1(i))
8356      sigma = sigmaaa+sigmabb+2.D0*sigmaab
8357      t4 = 1/rho
8358      t5 = t4**(1.D0/3.D0)
8359      t7 = 1.D0+0.1325688999052018D0*t5
8360      t8 = t4**(1.D0/6.D0)
8361      t11 = dsqrt(t4)
8362      t13 = t5**2
8363      t15 = 0.598255043577108D1*t8+0.2225569421150687D1*t5
8364     #+0.8004286349993634D0*t11+0.1897004325747559D0*t13
8365      t18 = 1.D0+0.1608197949869254D2/t15
8366      t19 = dlog(t18)
8367      t21 = 0.621814D-1*t7*t19
8368      t23 = 1.D0+0.6901399211255825D-1*t5
8369      t28 = 0.8157414703487641D1*t8+0.2247591863577616D1*t5
8370     #+0.4300972471276643D0*t11+0.1911512595127338D0*t13
8371      t31 = 1.D0+0.2960874997779344D2/t28
8372      t32 = dlog(t31)
8373      t33 = t23*t32
8374      t35 = rhoa-1.D0*rhob
8375      t36 = t35*t4
8376      t37 = 1.D0+t36
8377      t38 = t37**(1.D0/3.D0)
8378      t41 = 1.D0-1.D0*t36
8379      t42 = t41**(1.D0/3.D0)
8380      t44 = t38*t37+t42*t41-2.D0
8381      t45 = t35**2
8382      t46 = t45**2
8383      t47 = rho**2
8384      t48 = t47**2
8385      t49 = 1/t48
8386      t50 = t46*t49
8387      t52 = 1.D0-1.D0*t50
8388      t55 = 0.37995525D-1*t33*t44*t52
8389      t57 = 1.D0+0.1274696188700087D0*t5
8390      t62 = 0.1112037486309468D2*t8+0.3844746237447211D1*t5
8391     #+0.1644733775567609D1*t11+0.2405871291288192D0*t13
8392      t65 = 1.D0+0.3216395899738507D2/t62
8393      t66 = dlog(t65)
8394      t69 = -0.310907D-1*t57*t66+t21
8395      t70 = t69*t44
8396      t72 = 0.1923661050931536D1*t70*t50
8397      t73 = t38**2
8398      t75 = t42**2
8399      t77 = 0.5D0*t73+0.5D0*t75
8400      t78 = t77**2
8401      t79 = t78*t77
8402      t80 = 1/t78
8403      t81 = sigma*t80
8404      t82 = rho**(1.D0/3.D0)
8405      t84 = 1/t82/t47
8406      t85 = -t21+t55+t72
8407      t86 = 1/t79
8408      t89 = dexp(-0.3216396844291482D2*t85*t86)
8409      t90 = t89-1.D0
8410      t91 = 1/t90
8411      t92 = t91*sigma
8412      t93 = t80*t84
8413      t95 = 0.1362107888567592D0*t92*t93
8414      t96 = 1.D0+t95
8415      t98 = t90**2
8416      t99 = 1/t98
8417      t100 = sigma**2
8418      t101 = t99*t100
8419      t102 = t78**2
8420      t103 = 1/t102
8421      t104 = t82**2
8422      t106 = 1/t104/t48
8423      t107 = t103*t106
8424      t110 = 1.D0+t95+0.1855337900098064D-1*t101*t107
8425      t111 = 1/t110
8426      t115 = 1.D0+0.1362107888567592D0*t81*t84*t96*t111
8427      t116 = dlog(t115)
8428      t118 = 0.310906908696549D-1*t79*t116
8429      zk(i) = rho*(-t21+t55+t72+t118)
8430      t124 = 0.1333333333333333D1*t38*t4-0.1333333333333333D1*t42*t4
8431      t127 = 0.37995525D-1*t33*t124*t52
8432      t128 = t45*t35
8433      t131 = t33*t44*t128*t49
8434      t132 = 0.1519821D0*t131
8435      t135 = 0.1923661050931536D1*t69*t124*t50
8436      t137 = t70*t128*t49
8437      t138 = 0.7694644203726145D1*t137
8438      t139 = t78*t116
8439      t140 = 1/t38
8440      t143 = 1/t42
8441      t146 = 0.3333333333333333D0*t140*t4-0.3333333333333333D0*t143*t4
8442      t150 = sigma*t86*t84
8443      t151 = t96*t111
8444      t155 = t99*sigma
8445      t156 = t155*t80
8446      t160 = t85*t103
8447      t163 = -0.3216396844291482D2*(t127-t132+t135+t138)*t86
8448     #+0.9649190532874446D2*t160*t146
8449      t167 = 0.1362107888567592D0*t156*t84*t163*t89
8450      t168 = t86*t84
8451      t171 = 0.2724215777135184D0*t92*t168*t146
8452      t177 = t81*t84
8453      t178 = t110**2
8454      t180 = t96/t178
8455      t184 = 1/t98/t90*t100*t103
8456      t191 = 1/t102/t77*t106
8457      t201 = 1/t115
8458      t207 = 1/t47
8459      t208 = 1/t13*t207
8460      t209 = t208*t19
8461      t210 = 0.2747773264188438D-2*t209
8462      t211 = t15**2
8463      t214 = t8**2
8464      t215 = t214**2
8465      t218 = 1/t215/t8*t207
8466      t222 = 1/t11*t207
8467      t225 = 1/t5*t207
8468      t230 = t7/t211*(-0.99709173929518D0*t218-0.7418564737168958D0
8469     #*t208-0.4002143174996817D0*t222-0.1264669550498372D0*t225)/t18
8470      t231 = 0.1D1*t230
8471      t235 = 0.87407428755417D-3*t208*t32*t44*t52
8472      t236 = t28**2
8473      t249 = 0.1125D1*t23/t236*(-0.135956911724794D1*t218
8474     #-0.7491972878592054D0*t208-0.2150486235638321D0*t222
8475     #-0.1274341730084892D0*t225)/t31*t44*t52
8476      t256 = -0.1333333333333333D1*t38*t35*t207+0.1333333333333333D1
8477     #*t42*t35*t207
8478      t259 = 0.37995525D-1*t33*t256*t52
8479      t261 = t48*rho
8480      t262 = 1/t261
8481      t265 = 0.1519821D0*t33*t44*t46*t262
8482      t268 = t62**2
8483      t285 = 0.1923661050931536D1*(0.1321039893133927D-2*t208*t66
8484     #+0.1D1*t57/t268*(-0.1853395810515781D1*t218-0.128158207914907D1
8485     #*t208-0.8223668877838045D0*t222-0.1603914194192128D0*t225)/t65
8486     #-0.2747773264188438D-2*t209-0.1D1*t230)*t44*t50
8487      t288 = 0.1923661050931536D1*t69*t256*t50
8488      t291 = 0.7694644203726145D1*t70*t46*t262
8489      t298 = -0.3333333333333333D0*t140*t35*t207+0.3333333333333333D0
8490     #*t143*t35*t207
8491      t306 = 1/t82/t47/rho
8492      t316 = -0.3216396844291482D2*(t210+t231-t235-t249+t259+t265+t285
8493     #+t288-t291)*t86+0.9649190532874446D2*t160*t298
8494      t320 = 0.1362107888567592D0*t156*t84*t316*t89
8495      t323 = 0.2724215777135184D0*t92*t168*t298
8496      t326 = 0.3178251739991049D0*t92*t80*t306
8497      t352 = t210+t231-t235-t249+t259+t265+t285+t288-t291
8498     #+0.9327207260896469D-1*t139*t298+0.310906908696549D-1*t79*(
8499     #-0.2724215777135184D0*t150*t151*t298-0.3178251739991049D0*t81
8500     #*t306*t96*t111+0.1362107888567592D0*t81*t84*(-t320-t323-t326)
8501     #*t111-0.1362107888567592D0*t177*t180*(-t320-t323-t326
8502     #-0.3710675800196129D-1*t184*t106*t316*t89-0.7421351600392257D-1
8503     #*t101*t191*t298-0.8658243533790967D-1*t101*t103/t104/t261))*t201
8504      t353 = rho*t352
8505      vrhoa(i) = rho*(t127-t132+t135+t138+0.9327207260896469D-1*t139
8506     #*t146+0.310906908696549D-1*t79*(-0.2724215777135184D0*t150*t151
8507     #*t146+0.1362107888567592D0*t81*t84*(-t167-t171)*t111
8508     #-0.1362107888567592D0*t177*t180*(-t167-t171
8509     #-0.3710675800196129D-1*t184*t106*t163*t89-0.7421351600392257D-1
8510     #*t101*t191*t146))*t201)-t21+t55+t72+t118+t353
8511      t354 = -t124
8512      t357 = 0.37995525D-1*t33*t354*t52
8513      t358 = 0.1519821D0*t131
8514      t361 = 0.1923661050931536D1*t69*t354*t50
8515      t362 = 0.7694644203726145D1*t137
8516      t363 = -t146
8517      t374 = -0.3216396844291482D2*(t357+t358+t361-t362)*t86
8518     #+0.9649190532874446D2*t160*t363
8519      t378 = 0.1362107888567592D0*t156*t84*t374*t89
8520      t381 = 0.2724215777135184D0*t92*t168*t363
8521      vrhob(i) = rho*(t357+t358+t361-t362+0.9327207260896469D-1*t139
8522     #*t363+0.310906908696549D-1*t79*(-0.2724215777135184D0*t150*t151
8523     #*t363+0.1362107888567592D0*t81*t84*(-t378-t381)*t111
8524     #-0.1362107888567592D0*t177*t180*(-t378-t381
8525     #-0.3710675800196129D-1*t184*t106*t374*t89-0.7421351600392257D-1
8526     #*t101*t191*t363))*t201)-t21+t55+t72+t118+t353
8527      t423 = rho*t79*(0.1362107888567592D0*t93*t151
8528     #+0.1855337900098064D-1*sigma*t103*t106*t91*t111
8529     #-0.1362107888567592D0*t177*t180*(0.1362107888567592D0*t91*t80
8530     #*t84+0.3710675800196129D-1*t155*t107))*t201
8531      vsigmaaa(i) = 0.310906908696549D-1*t423
8532      vsigmaab(i) = 0.6218138173930979D-1*t423
8533      vsigmabb(i) = vsigmaaa(i)
8534      endif ! rhoa,rhob
8535      else ! rho
8536      zk(i) = 0.0d0
8537      vrhoa(i) = 0.0d0
8538      vrhob(i) = 0.0d0
8539      vsigmaaa(i) = 0.0d0
8540      vsigmaab(i) = 0.0d0
8541      vsigmabb(i) = 0.0d0
8542      endif ! rho
8543      enddo
8544
8545      else if(ideriv.eq.2) then
8546
8547      do i=1,npt
8548      rhoa = dmax1(0.D0,rhoa1(i))
8549      rhob = dmax1(0.D0,rhob1(i))
8550      rho = rhoa+rhob
8551      if(rho.gt.tol) then
8552      if(rhoa.lt.tol) then
8553      rho = rhob
8554      sigmabb = dmax1(0.D0,sigmabb1(i))
8555      sigma = sigmabb
8556      t2 = 1/rhob
8557      t3 = t2**(1.D0/3.D0)
8558      t5 = 1.D0+0.1274696188700087D0*t3
8559      t6 = t2**(1.D0/6.D0)
8560      t9 = dsqrt(t2)
8561      t11 = t3**2
8562      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
8563     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
8564      t16 = 1.D0+0.3216395899738507D2/t13
8565      t17 = dlog(t16)
8566      t18 = t5*t17
8567      t19 = 0.310907D-1*t18
8568      t20 = rhob**2
8569      t21 = rhob**(1.D0/3.D0)
8570      t23 = 1/t21/t20
8571      t24 = sigmabb*t23
8572      t26 = dexp(0.2000000587336264D1*t18)
8573      t27 = t26-1.D0
8574      t28 = 1/t27
8575      t29 = t28*sigmabb
8576      t31 = 0.2162211495206379D0*t29*t23
8577      t32 = 1.D0+t31
8578      t33 = t27**2
8579      t34 = 1/t33
8580      t35 = sigmabb**2
8581      t36 = t34*t35
8582      t37 = t20**2
8583      t38 = t21**2
8584      t40 = 1/t38/t37
8585      t41 = t36*t40
8586      t43 = 1.D0+t31+0.4675158550002605D-1*t41
8587      t44 = 1/t43
8588      t45 = t32*t44
8589      t48 = 1.D0+0.2162211495206379D0*t24*t45
8590      t49 = dlog(t48)
8591      t50 = 0.1554534543482745D-1*t49
8592      zk(i) = rhob*(-t19+t50)
8593      vrhoa(i) = 0.D0
8594      t52 = t20*rhob
8595      t54 = 1/t21/t52
8596      t55 = sigmabb*t54
8597      t60 = 1/t38/t37/rhob
8598      t61 = t35*t60
8599      t62 = t28*t44
8600      t65 = t43**2
8601      t66 = 1/t65
8602      t67 = t32*t66
8603      t70 = t36*t60
8604      t72 = -0.5045160155481551D0*t29*t54-0.2181740656667882D0*t70
8605      t73 = t67*t72
8606      t76 = -0.5045160155481551D0*t55*t45-0.1090870328333941D0*t61*t62
8607     #-0.2162211495206379D0*t24*t73
8608      t77 = rhob*t76
8609      t78 = 1/t48
8610      t81 = 1/t11
8611      t82 = 1/t20
8612      t83 = t81*t82
8613      t84 = t83*t17
8614      t86 = t13**2
8615      t87 = 1/t86
8616      t88 = t5*t87
8617      t89 = t6**2
8618      t90 = t89**2
8619      t91 = t90*t6
8620      t92 = 1/t91
8621      t96 = 1/t9
8622      t99 = 1/t3
8623      t102 = -0.1853395810515781D1*t92*t82-0.128158207914907D1*t83
8624     #-0.8223668877838045D0*t96*t82-0.1603914194192128D0*t99*t82
8625      t103 = 1/t16
8626      t105 = t88*t102*t103
8627      t109 = -0.8497977086918237D-1*t84-0.6432793688582964D2*t105
8628      t110 = t109*t26
8629      t111 = t110*t44
8630      t114 = t34*sigmabb
8631      t120 = 1/t33/t27
8632      t121 = t120*t35
8633      t126 = -0.2162211495206379D0*t114*t23*t109*t26
8634     #-0.935031710000521D-1*t121*t40*t109*t26
8635      t127 = t67*t126
8636      t130 = -0.4675158550002605D-1*t41*t111-0.2162211495206379D0*t24
8637     #*t127
8638      t131 = t130*t78
8639      vrhob(i) = -t19+t50+0.1554534543482745D-1*t77*t78+rhob*
8640     #(0.1321039893133927D-2*t84+0.1D1*t105+0.1554534543482745D-1*t131)
8641      vsigmaaa(i) = 0.D0
8642      vsigmaab(i) = 0.D0
8643      t135 = t23*t32
8644      t138 = sigmabb*t40
8645      t145 = 0.2162211495206379D0*t28*t23+0.935031710000521D-1*t114*t40
8646      t149 = 0.2162211495206379D0*t135*t44+0.4675158550002605D-1*t138
8647     #*t62-0.2162211495206379D0*t24*t67*t145
8648      vsigmabb(i) = 0.1554534543482745D-1*rhob*t149*t78
8649      v2rhoa2(i) = 0.D0
8650      v2rhoab(i) = 0.D0
8651      t155 = 1/t21/t37
8652      t161 = 1/t38/t37/t20
8653      t167 = t28*t66
8654      t172 = 1/t65/t43
8655      t173 = t32*t172
8656      t174 = t72**2
8657      t190 = t76**2
8658      t192 = t48**2
8659      t193 = 1/t192
8660      t199 = t70*t111
8661      t204 = 0.4675158550002605D-1*t41*t110*t66*t72
8662      t206 = 0.5045160155481551D0*t55*t127
8663      t209 = 0.1090870328333941D0*t61*t167*t126
8664      t214 = 0.4324422990412758D0*t24*t32*t172*t126*t72
8665      t226 = 0.2162211495206379D0*t24*t67*(0.5045160155481551D0*t114
8666     #*t54*t109*t26+0.4363481313335765D0*t121*t60*t109*t26)
8667      t230 = t130*t193
8668      t244 = 1/t37
8669      t245 = 1/t11/t2*t244
8670      t246 = t245*t17
8671      t248 = 1/t52
8672      t249 = t81*t248
8673      t250 = t249*t17
8674      t254 = t83*t87*t102*t103
8675      t259 = t102**2
8676      t261 = t5/t86/t13*t259*t103
8677      t285 = t88*(-0.1544496508763151D1/t91/t2*t244
8678     #+0.3706791621031562D1*t92*t248-0.854388052766047D0*t245
8679     #+0.2563164158298141D1*t249-0.4111834438919023D0/t9/t2*t244
8680     #+0.1644733775567609D1*t96*t248-0.5346380647307093D-1/t3/t2*t244
8681     #+0.3207828388384256D0*t99*t248)*t103
8682      t287 = t86**2
8683      t290 = t16**2
8684      t293 = t5/t287*t259/t290
8685      t297 = t109**2
8686      t298 = t26**2
8687      t309 = -0.5665318057945491D-1*t246+0.1699595417383647D0*t250
8688     #+0.546657173168712D1*t254+0.1286558737716593D3*t261
8689     #-0.6432793688582964D2*t285-0.2069041124382199D4*t293
8690      t322 = t126**2
8691      t327 = t23*t297
8692      t338 = t33**2
8693      t341 = t40*t297
8694      t359 = t130**2
8695      s1 = 0.310906908696549D-1*t76*t78+0.1554534543482745D-1*rhob*
8696     #(0.1681720051827184D1*sigmabb*t155*t45+0.8726962626671529D0*t35
8697     #*t161*t62+0.100903203109631D1*t55*t73+0.2181740656667882D0*t61
8698     #*t167*t72+0.4324422990412758D0*t24*t173*t174
8699     #-0.2162211495206379D0*t24*t67*(0.1681720051827184D1*t29*t155
8700     #+0.1236319705445133D1*t36*t161))*t78-0.1554534543482745D-1*rhob
8701     #*t190*t193+0.2642079786267853D-2*t84+0.2D1*t105
8702      s2 = s1+0.310906908696549D-1*t131+rhob*(0.1554534543482745D-1*
8703     #(0.2181740656667882D0*t199+t204+t206+t209+t214-t226)*t78
8704     #-0.1554534543482745D-1*t230*t76)
8705      s3 = s2+0.1554534543482745D-1*rhob*(0.2181740656667882D0*t199
8706     #+t206+t209+t204+t214-t226)*t78
8707      v2rhob2(i) = s3-0.1554534543482745D-1*t77*t230+rhob*
8708     #(0.8806932620892844D-3*t246-0.2642079786267853D-2*t250
8709     #-0.8497974591333914D-1*t254-0.2D1*t261+0.1D1*t285
8710     #+0.3216395899738507D2*t293+0.1554534543482745D-1*
8711     #(0.935031710000521D-1*t35*t40*t120*t297*t298*t44
8712     #-0.4675158550002605D-1*t41*t309*t26*t44-0.4675158550002605D-1
8713     #*t41*t297*t26*t44+0.935031710000521D-1*t41*t110*t66*t126
8714     #+0.4324422990412758D0*t24*t173*t322-0.2162211495206379D0*t24*t67
8715     #*(0.4324422990412758D0*t120*sigmabb*t327*t298
8716     #-0.2162211495206379D0*t114*t23*t309*t26-0.2162211495206379D0
8717     #*t114*t327*t26+0.2805095130001563D0/t338*t35*t341*t298
8718     #-0.935031710000521D-1*t121*t40*t309*t26-0.935031710000521D-1
8719     #*t121*t341*t26))*t78-0.1554534543482745D-1*t359*t193)
8720      v2sigmaaa2(i) = 0.D0
8721      v2sigmaaaab(i) = 0.D0
8722      v2sigmaaabb(i) = 0.D0
8723      v2sigmaab2(i) = 0.D0
8724      v2sigmaabbb(i) = 0.D0
8725      t373 = t145**2
8726      t387 = t149**2
8727      v2sigmabb2(i) = 0.1554534543482745D-1*rhob*(0.935031710000521D-1
8728     #*t40*t28*t44-0.4324422990412758D0*t135*t66*t145
8729     #-0.935031710000521D-1*t138*t167*t145+0.4324422990412758D0*t24
8730     #*t173*t373-0.2021736311745604D-1*sigmabb/t37/t52*t67*t34)*t78
8731     #-0.1554534543482745D-1*rhob*t387*t193
8732      elseif(rhob.lt.tol) then
8733      rho = rhoa
8734      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8735      sigma = sigmaaa
8736      t2 = 1/rhoa
8737      t3 = t2**(1.D0/3.D0)
8738      t5 = 1.D0+0.1274696188700087D0*t3
8739      t6 = t2**(1.D0/6.D0)
8740      t9 = dsqrt(t2)
8741      t11 = t3**2
8742      t13 = 0.1112037486309468D2*t6+0.3844746237447211D1*t3
8743     #+0.1644733775567609D1*t9+0.2405871291288192D0*t11
8744      t16 = 1.D0+0.3216395899738507D2/t13
8745      t17 = dlog(t16)
8746      t18 = t5*t17
8747      t19 = 0.310907D-1*t18
8748      t20 = rhoa**2
8749      t21 = rhoa**(1.D0/3.D0)
8750      t23 = 1/t21/t20
8751      t24 = sigmaaa*t23
8752      t26 = dexp(0.2000000587336264D1*t18)
8753      t27 = t26-1.D0
8754      t28 = 1/t27
8755      t29 = t28*sigmaaa
8756      t31 = 0.2162211495206379D0*t29*t23
8757      t32 = 1.D0+t31
8758      t33 = t27**2
8759      t34 = 1/t33
8760      t35 = sigmaaa**2
8761      t36 = t34*t35
8762      t37 = t20**2
8763      t38 = t21**2
8764      t40 = 1/t38/t37
8765      t41 = t36*t40
8766      t43 = 1.D0+t31+0.4675158550002605D-1*t41
8767      t44 = 1/t43
8768      t45 = t32*t44
8769      t48 = 1.D0+0.2162211495206379D0*t24*t45
8770      t49 = dlog(t48)
8771      t50 = 0.1554534543482745D-1*t49
8772      zk(i) = rhoa*(-t19+t50)
8773      t52 = t20*rhoa
8774      t54 = 1/t21/t52
8775      t55 = sigmaaa*t54
8776      t60 = 1/t38/t37/rhoa
8777      t61 = t35*t60
8778      t62 = t28*t44
8779      t65 = t43**2
8780      t66 = 1/t65
8781      t67 = t32*t66
8782      t70 = t36*t60
8783      t72 = -0.5045160155481551D0*t29*t54-0.2181740656667882D0*t70
8784      t73 = t67*t72
8785      t76 = -0.5045160155481551D0*t55*t45-0.1090870328333941D0*t61*t62
8786     #-0.2162211495206379D0*t24*t73
8787      t77 = rhoa*t76
8788      t78 = 1/t48
8789      t81 = 1/t11
8790      t82 = 1/t20
8791      t83 = t81*t82
8792      t84 = t83*t17
8793      t86 = t13**2
8794      t87 = 1/t86
8795      t88 = t5*t87
8796      t89 = t6**2
8797      t90 = t89**2
8798      t91 = t90*t6
8799      t92 = 1/t91
8800      t96 = 1/t9
8801      t99 = 1/t3
8802      t102 = -0.1853395810515781D1*t92*t82-0.128158207914907D1*t83
8803     #-0.8223668877838045D0*t96*t82-0.1603914194192128D0*t99*t82
8804      t103 = 1/t16
8805      t105 = t88*t102*t103
8806      t109 = -0.8497977086918237D-1*t84-0.6432793688582964D2*t105
8807      t110 = t109*t26
8808      t111 = t110*t44
8809      t114 = t34*sigmaaa
8810      t120 = 1/t33/t27
8811      t121 = t120*t35
8812      t126 = -0.2162211495206379D0*t114*t23*t109*t26
8813     #-0.935031710000521D-1*t121*t40*t109*t26
8814      t127 = t67*t126
8815      t130 = -0.4675158550002605D-1*t41*t111-0.2162211495206379D0*t24
8816     #*t127
8817      t131 = t130*t78
8818      vrhoa(i) = -t19+t50+0.1554534543482745D-1*t77*t78+rhoa*
8819     #(0.1321039893133927D-2*t84+0.1D1*t105+0.1554534543482745D-1*t131)
8820      vrhob(i) = 0.D0
8821      t135 = t23*t32
8822      t138 = sigmaaa*t40
8823      t145 = 0.2162211495206379D0*t28*t23+0.935031710000521D-1*t114*t40
8824      t149 = 0.2162211495206379D0*t135*t44+0.4675158550002605D-1*t138
8825     #*t62-0.2162211495206379D0*t24*t67*t145
8826      vsigmaaa(i) = 0.1554534543482745D-1*rhoa*t149*t78
8827      vsigmaab(i) = 0.D0
8828      vsigmabb(i) = 0.D0
8829      t155 = 1/t21/t37
8830      t161 = 1/t38/t37/t20
8831      t167 = t28*t66
8832      t172 = 1/t65/t43
8833      t173 = t32*t172
8834      t174 = t72**2
8835      t190 = t76**2
8836      t192 = t48**2
8837      t193 = 1/t192
8838      t199 = t70*t111
8839      t204 = 0.4675158550002605D-1*t41*t110*t66*t72
8840      t206 = 0.5045160155481551D0*t55*t127
8841      t209 = 0.1090870328333941D0*t61*t167*t126
8842      t214 = 0.4324422990412758D0*t24*t32*t172*t126*t72
8843      t226 = 0.2162211495206379D0*t24*t67*(0.5045160155481551D0*t114
8844     #*t54*t109*t26+0.4363481313335765D0*t121*t60*t109*t26)
8845      t230 = t130*t193
8846      t244 = 1/t37
8847      t245 = 1/t11/t2*t244
8848      t246 = t245*t17
8849      t248 = 1/t52
8850      t249 = t81*t248
8851      t250 = t249*t17
8852      t254 = t83*t87*t102*t103
8853      t259 = t102**2
8854      t261 = t5/t86/t13*t259*t103
8855      t285 = t88*(-0.1544496508763151D1/t91/t2*t244
8856     #+0.3706791621031562D1*t92*t248-0.854388052766047D0*t245
8857     #+0.2563164158298141D1*t249-0.4111834438919023D0/t9/t2*t244
8858     #+0.1644733775567609D1*t96*t248-0.5346380647307093D-1/t3/t2*t244
8859     #+0.3207828388384256D0*t99*t248)*t103
8860      t287 = t86**2
8861      t290 = t16**2
8862      t293 = t5/t287*t259/t290
8863      t297 = t109**2
8864      t298 = t26**2
8865      t309 = -0.5665318057945491D-1*t246+0.1699595417383647D0*t250
8866     #+0.546657173168712D1*t254+0.1286558737716593D3*t261
8867     #-0.6432793688582964D2*t285-0.2069041124382199D4*t293
8868      t322 = t126**2
8869      t327 = t23*t297
8870      t338 = t33**2
8871      t341 = t40*t297
8872      t359 = t130**2
8873      s1 = 0.310906908696549D-1*t76*t78+0.1554534543482745D-1*rhoa*
8874     #(0.1681720051827184D1*sigmaaa*t155*t45+0.8726962626671529D0*t35
8875     #*t161*t62+0.100903203109631D1*t55*t73+0.2181740656667882D0*t61
8876     #*t167*t72+0.4324422990412758D0*t24*t173*t174
8877     #-0.2162211495206379D0*t24*t67*(0.1681720051827184D1*t29*t155
8878     #+0.1236319705445133D1*t36*t161))*t78-0.1554534543482745D-1*rhoa
8879     #*t190*t193+0.2642079786267853D-2*t84+0.2D1*t105
8880      s2 = s1+0.310906908696549D-1*t131+rhoa*(0.1554534543482745D-1*
8881     #(0.2181740656667882D0*t199+t204+t206+t209+t214-t226)*t78
8882     #-0.1554534543482745D-1*t230*t76)
8883      s3 = s2+0.1554534543482745D-1*rhoa*(0.2181740656667882D0*t199
8884     #+t206+t209+t204+t214-t226)*t78
8885      v2rhoa2(i) = s3-0.1554534543482745D-1*t77*t230+rhoa*
8886     #(0.8806932620892844D-3*t246-0.2642079786267853D-2*t250
8887     #-0.8497974591333914D-1*t254-0.2D1*t261+0.1D1*t285
8888     #+0.3216395899738507D2*t293+0.1554534543482745D-1*
8889     #(0.935031710000521D-1*t35*t40*t120*t297*t298*t44
8890     #-0.4675158550002605D-1*t41*t309*t26*t44-0.4675158550002605D-1
8891     #*t41*t297*t26*t44+0.935031710000521D-1*t41*t110*t66*t126
8892     #+0.4324422990412758D0*t24*t173*t322-0.2162211495206379D0*t24*t67
8893     #*(0.4324422990412758D0*t120*sigmaaa*t327*t298
8894     #-0.2162211495206379D0*t114*t23*t309*t26-0.2162211495206379D0
8895     #*t114*t327*t26+0.2805095130001563D0/t338*t35*t341*t298
8896     #-0.935031710000521D-1*t121*t40*t309*t26-0.935031710000521D-1
8897     #*t121*t341*t26))*t78-0.1554534543482745D-1*t359*t193)
8898      v2rhob2(i) = 0.D0
8899      v2rhoab(i) = 0.D0
8900      t373 = t145**2
8901      t387 = t149**2
8902      v2sigmaaa2(i) = 0.1554534543482745D-1*rhoa*(0.935031710000521D-1
8903     #*t40*t28*t44-0.4324422990412758D0*t135*t66*t145
8904     #-0.935031710000521D-1*t138*t167*t145+0.4324422990412758D0*t24
8905     #*t173*t373-0.2021736311745604D-1*sigmaaa/t37/t52*t67*t34)*t78
8906     #-0.1554534543482745D-1*rhoa*t387*t193
8907      v2sigmaaaab(i) = 0.D0
8908      v2sigmaaabb(i) = 0.D0
8909      v2sigmaab2(i) = 0.D0
8910      v2sigmaabbb(i) = 0.D0
8911      v2sigmabb2(i) = 0.D0
8912      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
8913      sigmaaa = dmax1(0.D0,sigmaaa1(i))
8914      sigmaab = sigmaab1(i)
8915      sigmabb = dmax1(0.D0,sigmabb1(i))
8916      sigma = sigmaaa+sigmabb+2.D0*sigmaab
8917      t4 = 1/rho
8918      t5 = t4**(1.D0/3.D0)
8919      t7 = 1.D0+0.1325688999052018D0*t5
8920      t8 = t4**(1.D0/6.D0)
8921      t11 = dsqrt(t4)
8922      t13 = t5**2
8923      t15 = 0.598255043577108D1*t8+0.2225569421150687D1*t5
8924     #+0.8004286349993634D0*t11+0.1897004325747559D0*t13
8925      t18 = 1.D0+0.1608197949869254D2/t15
8926      t19 = dlog(t18)
8927      t21 = 0.621814D-1*t7*t19
8928      t23 = 1.D0+0.6901399211255825D-1*t5
8929      t28 = 0.8157414703487641D1*t8+0.2247591863577616D1*t5
8930     #+0.4300972471276643D0*t11+0.1911512595127338D0*t13
8931      t31 = 1.D0+0.2960874997779344D2/t28
8932      t32 = dlog(t31)
8933      t33 = t23*t32
8934      t35 = rhoa-1.D0*rhob
8935      t36 = t35*t4
8936      t37 = 1.D0+t36
8937      t38 = t37**(1.D0/3.D0)
8938      t39 = t38*t37
8939      t41 = 1.D0-1.D0*t36
8940      t42 = t41**(1.D0/3.D0)
8941      t43 = t42*t41
8942      t44 = t39+t43-2.D0
8943      t45 = t35**2
8944      t46 = t45**2
8945      t47 = rho**2
8946      t48 = t47**2
8947      t49 = 1/t48
8948      t50 = t46*t49
8949      t52 = 1.D0-1.D0*t50
8950      t53 = t44*t52
8951      t55 = 0.37995525D-1*t33*t53
8952      t57 = 1.D0+0.1274696188700087D0*t5
8953      t62 = 0.1112037486309468D2*t8+0.3844746237447211D1*t5
8954     #+0.1644733775567609D1*t11+0.2405871291288192D0*t13
8955      t65 = 1.D0+0.3216395899738507D2/t62
8956      t66 = dlog(t65)
8957      t69 = -0.310907D-1*t57*t66+t21
8958      t70 = t69*t44
8959      t72 = 0.1923661050931536D1*t70*t50
8960      t73 = t38**2
8961      t75 = t42**2
8962      t77 = 0.5D0*t73+0.5D0*t75
8963      t78 = t77**2
8964      t79 = t78*t77
8965      t80 = 1/t78
8966      t81 = sigma*t80
8967      t82 = rho**(1.D0/3.D0)
8968      t84 = 1/t82/t47
8969      t85 = -t21+t55+t72
8970      t86 = 1/t79
8971      t89 = dexp(-0.3216396844291482D2*t85*t86)
8972      t90 = t89-1.D0
8973      t91 = 1/t90
8974      t92 = t91*sigma
8975      t93 = t80*t84
8976      t95 = 0.1362107888567592D0*t92*t93
8977      t96 = 1.D0+t95
8978      t98 = t90**2
8979      t99 = 1/t98
8980      t100 = sigma**2
8981      t101 = t99*t100
8982      t102 = t78**2
8983      t103 = 1/t102
8984      t104 = t82**2
8985      t106 = 1/t104/t48
8986      t107 = t103*t106
8987      t110 = 1.D0+t95+0.1855337900098064D-1*t101*t107
8988      t111 = 1/t110
8989      t115 = 1.D0+0.1362107888567592D0*t81*t84*t96*t111
8990      t116 = dlog(t115)
8991      t118 = 0.310906908696549D-1*t79*t116
8992      zk(i) = rho*(-t21+t55+t72+t118)
8993      t124 = 0.1333333333333333D1*t38*t4-0.1333333333333333D1*t42*t4
8994      t126 = t33*t124*t52
8995      t127 = 0.37995525D-1*t126
8996      t128 = t45*t35
8997      t129 = t44*t128
8998      t131 = t33*t129*t49
8999      t132 = 0.1519821D0*t131
9000      t133 = t69*t124
9001      t134 = t133*t50
9002      t135 = 0.1923661050931536D1*t134
9003      t136 = t128*t49
9004      t137 = t70*t136
9005      t138 = 0.7694644203726145D1*t137
9006      t139 = t78*t116
9007      t140 = 1/t38
9008      t143 = 1/t42
9009      t146 = 0.3333333333333333D0*t140*t4-0.3333333333333333D0*t143*t4
9010      t147 = t139*t146
9011      t148 = 0.9327207260896469D-1*t147
9012      t149 = sigma*t86
9013      t150 = t149*t84
9014      t151 = t96*t111
9015      t152 = t151*t146
9016      t155 = t99*sigma
9017      t156 = t155*t80
9018      t157 = t127-t132+t135+t138
9019      t160 = t85*t103
9020      t163 = -0.3216396844291482D2*t157*t86+0.9649190532874446D2*t160
9021     #*t146
9022      t164 = t84*t163
9023      t165 = t164*t89
9024      t167 = 0.1362107888567592D0*t156*t165
9025      t168 = t86*t84
9026      t171 = 0.2724215777135184D0*t92*t168*t146
9027      t172 = -t167-t171
9028      t177 = t81*t84
9029      t178 = t110**2
9030      t179 = 1/t178
9031      t180 = t96*t179
9032      t182 = 1/t98/t90
9033      t183 = t182*t100
9034      t184 = t183*t103
9035      t185 = t106*t163
9036      t186 = t185*t89
9037      t190 = 1/t102/t77
9038      t191 = t190*t106
9039      t192 = t191*t146
9040      t195 = -t167-t171-0.3710675800196129D-1*t184*t186
9041     #-0.7421351600392257D-1*t101*t192
9042      t196 = t180*t195
9043      t199 = -0.2724215777135184D0*t150*t152+0.1362107888567592D0*t81
9044     #*t84*t172*t111-0.1362107888567592D0*t177*t196
9045      t200 = t79*t199
9046      t201 = 1/t115
9047      t202 = t200*t201
9048      t203 = 0.310906908696549D-1*t202
9049      t206 = 1/t13
9050      t207 = 1/t47
9051      t208 = t206*t207
9052      t209 = t208*t19
9053      t210 = 0.2747773264188438D-2*t209
9054      t211 = t15**2
9055      t212 = 1/t211
9056      t213 = t7*t212
9057      t214 = t8**2
9058      t215 = t214**2
9059      t216 = t215*t8
9060      t217 = 1/t216
9061      t218 = t217*t207
9062      t221 = 1/t11
9063      t222 = t221*t207
9064      t224 = 1/t5
9065      t225 = t224*t207
9066      t227 = -0.99709173929518D0*t218-0.7418564737168958D0*t208
9067     #-0.4002143174996817D0*t222-0.1264669550498372D0*t225
9068      t228 = 1/t18
9069      t230 = t213*t227*t228
9070      t231 = 0.1D1*t230
9071      t232 = t32*t44
9072      t233 = t232*t52
9073      t234 = t208*t233
9074      t235 = 0.87407428755417D-3*t234
9075      t236 = t28**2
9076      t237 = 1/t236
9077      t238 = t23*t237
9078      t243 = -0.135956911724794D1*t218-0.7491972878592054D0*t208
9079     #-0.2150486235638321D0*t222-0.1274341730084892D0*t225
9080      t244 = t238*t243
9081      t245 = 1/t31
9082      t246 = t245*t44
9083      t247 = t246*t52
9084      t248 = t244*t247
9085      t249 = 0.1125D1*t248
9086      t250 = t38*t35
9087      t253 = t42*t35
9088      t256 = -0.1333333333333333D1*t250*t207+0.1333333333333333D1*t253
9089     #*t207
9090      t258 = t33*t256*t52
9091      t259 = 0.37995525D-1*t258
9092      t260 = t44*t46
9093      t261 = t48*rho
9094      t262 = 1/t261
9095      t264 = t33*t260*t262
9096      t265 = 0.1519821D0*t264
9097      t268 = t62**2
9098      t269 = 1/t268
9099      t270 = t57*t269
9100      t275 = -0.1853395810515781D1*t218-0.128158207914907D1*t208
9101     #-0.8223668877838045D0*t222-0.1603914194192128D0*t225
9102      t276 = 1/t65
9103      t282 = 0.1321039893133927D-2*t208*t66+0.1D1*t270*t275*t276
9104     #-0.2747773264188438D-2*t209-0.1D1*t230
9105      t283 = t282*t44
9106      t284 = t283*t50
9107      t285 = 0.1923661050931536D1*t284
9108      t286 = t69*t256
9109      t287 = t286*t50
9110      t288 = 0.1923661050931536D1*t287
9111      t289 = t46*t262
9112      t290 = t70*t289
9113      t291 = 0.7694644203726145D1*t290
9114      t292 = t140*t35
9115      t295 = t143*t35
9116      t298 = -0.3333333333333333D0*t292*t207+0.3333333333333333D0*t295
9117     #*t207
9118      t299 = t139*t298
9119      t301 = t151*t298
9120      t304 = t47*rho
9121      t306 = 1/t82/t304
9122      t311 = t210+t231-t235-t249+t259+t265+t285+t288-t291
9123      t316 = -0.3216396844291482D2*t311*t86+0.9649190532874446D2*t160
9124     #*t298
9125      t317 = t84*t316
9126      t318 = t317*t89
9127      t320 = 0.1362107888567592D0*t156*t318
9128      t323 = 0.2724215777135184D0*t92*t168*t298
9129      t324 = t80*t306
9130      t326 = 0.3178251739991049D0*t92*t324
9131      t327 = -t320-t323-t326
9132      t332 = t106*t316
9133      t333 = t332*t89
9134      t336 = t191*t298
9135      t340 = 1/t104/t261
9136      t341 = t103*t340
9137      t344 = -t320-t323-t326-0.3710675800196129D-1*t184*t333
9138     #-0.7421351600392257D-1*t101*t336-0.8658243533790967D-1*t101*t341
9139      t345 = t180*t344
9140      t348 = -0.2724215777135184D0*t150*t301-0.3178251739991049D0*t81
9141     #*t306*t96*t111+0.1362107888567592D0*t81*t84*t327*t111
9142     #-0.1362107888567592D0*t177*t345
9143      t349 = t79*t348
9144      t350 = t349*t201
9145      t352 = t210+t231-t235-t249+t259+t265+t285+t288-t291
9146     #+0.9327207260896469D-1*t299+0.310906908696549D-1*t350
9147      t353 = rho*t352
9148      vrhoa(i) = rho*(t127-t132+t135+t138+t148+t203)-t21+t55+t72+t118
9149     #+t353
9150      t354 = -t124
9151      t356 = t33*t354*t52
9152      t357 = 0.37995525D-1*t356
9153      t358 = 0.1519821D0*t131
9154      t359 = t69*t354
9155      t360 = t359*t50
9156      t361 = 0.1923661050931536D1*t360
9157      t362 = 0.7694644203726145D1*t137
9158      t363 = -t146
9159      t364 = t139*t363
9160      t365 = 0.9327207260896469D-1*t364
9161      t366 = t151*t363
9162      t369 = t357+t358+t361-t362
9163      t374 = -0.3216396844291482D2*t369*t86+0.9649190532874446D2*t160
9164     #*t363
9165      t375 = t84*t374
9166      t376 = t375*t89
9167      t378 = 0.1362107888567592D0*t156*t376
9168      t381 = 0.2724215777135184D0*t92*t168*t363
9169      t382 = -t378-t381
9170      t387 = t106*t374
9171      t388 = t387*t89
9172      t391 = t191*t363
9173      t394 = -t378-t381-0.3710675800196129D-1*t184*t388
9174     #-0.7421351600392257D-1*t101*t391
9175      t395 = t180*t394
9176      t398 = -0.2724215777135184D0*t150*t366+0.1362107888567592D0*t81
9177     #*t84*t382*t111-0.1362107888567592D0*t177*t395
9178      t399 = t79*t398
9179      t400 = t399*t201
9180      t401 = 0.310906908696549D-1*t400
9181      vrhob(i) = rho*(t357+t358+t361-t362+t365+t401)-t21+t55+t72+t118
9182     #+t353
9183      t404 = rho*t79
9184      t407 = sigma*t103
9185      t412 = t91*t80
9186      t417 = 0.1362107888567592D0*t412*t84+0.3710675800196129D-1*t155
9187     #*t107
9188      t418 = t180*t417
9189      t421 = 0.1362107888567592D0*t93*t151+0.1855337900098064D-1*t407
9190     #*t106*t91*t111-0.1362107888567592D0*t177*t418
9191      t423 = t404*t421*t201
9192      vsigmaaa(i) = 0.310906908696549D-1*t423
9193      vsigmaab(i) = 0.6218138173930979D-1*t423
9194      vsigmabb(i) = vsigmaaa(i)
9195      t427 = 0.87407428755417D-3*t208*t32*t124*t52
9196      t428 = t48*t47
9197      t429 = 1/t428
9198      t432 = t206*t429*t232*t128
9199      t433 = 0.349629715021668D-2*t432
9200      t437 = 0.1125D1*t244*t245*t124*t52
9201      t439 = t244*t246*t136
9202      t440 = 0.45D1*t439
9203      t441 = 1/t73
9204      t443 = 1/t304
9205      t448 = 1/t75
9206      t454 = -0.4444444444444444D0*t441*t35*t443-0.1333333333333333D1
9207     #*t38*t207-0.4444444444444444D0*t448*t35*t443
9208     #+0.1333333333333333D1*t42*t207
9209      t457 = 0.37995525D-1*t33*t454*t52
9210      t460 = t33*t256*t128*t49
9211      t461 = 0.1519821D0*t460
9212      t465 = 0.1519821D0*t33*t124*t46*t262
9213      t467 = t33*t129*t262
9214      t468 = 0.6079284D0*t467
9215      t471 = 0.1923661050931536D1*t282*t124*t50
9216      t472 = t283*t136
9217      t473 = 0.7694644203726145D1*t472
9218      t476 = 0.1923661050931536D1*t69*t454*t50
9219      t477 = t286*t136
9220      t478 = 0.7694644203726145D1*t477
9221      t480 = 0.7694644203726145D1*t133*t289
9222      t482 = t70*t128*t262
9223      t483 = 0.3077857681490458D2*t482
9224      t484 = t77*t116
9225      t485 = t298*t146
9226      t487 = 0.1865441452179294D0*t484*t485
9227      t488 = t78*t199
9228      t489 = t201*t298
9229      t491 = 0.9327207260896469D-1*t488*t489
9230      t492 = 1/t39
9231      t498 = 1/t43
9232      t504 = 0.1111111111111111D0*t492*t35*t443-0.3333333333333333D0
9233     #*t140*t207+0.1111111111111111D0*t498*t35*t443
9234     #+0.3333333333333333D0*t143*t207
9235      t506 = 0.9327207260896469D-1*t139*t504
9236      t507 = t78*t348
9237      t508 = t201*t146
9238      t510 = 0.9327207260896469D-1*t507*t508
9239      t511 = t407*t84
9240      t514 = 0.8172647331405553D0*t511*t151*t485
9241      t515 = t172*t111
9242      t518 = 0.2724215777135184D0*t150*t515*t298
9243      t522 = 0.2724215777135184D0*t150*t180*t298*t195
9244      t525 = 0.2724215777135184D0*t150*t151*t504
9245      t526 = t149*t306
9246      t528 = 0.6356503479982097D0*t526*t152
9247      t532 = 0.3178251739991049D0*t81*t306*t172*t111
9248      t533 = t81*t306
9249      t535 = 0.3178251739991049D0*t533*t196
9250      t536 = t327*t111
9251      t539 = 0.2724215777135184D0*t150*t536*t146
9252      t540 = t182*sigma
9253      t541 = t540*t80
9254      t542 = t89**2
9255      t543 = t542*t163
9256      t546 = 0.2724215777135184D0*t541*t317*t543
9257      t547 = t155*t86
9258      t548 = t89*t146
9259      t551 = 0.2724215777135184D0*t547*t317*t548
9260      t552 = -t427+t433-t437+t440+t457-t461+t465+t468+t471+t473+t476
9261     #+t478-t480-t483
9262      t555 = t311*t103
9263      t557 = 0.9649190532874446D2*t555*t146
9264      t558 = t157*t103
9265      t560 = 0.9649190532874446D2*t558*t298
9266      t561 = t85*t190
9267      t563 = 0.3859676213149779D3*t561*t485
9268      t565 = 0.9649190532874446D2*t160*t504
9269      t566 = -0.3216396844291482D2*t552*t86+t557+t560-t563+t565
9270      t570 = 0.1362107888567592D0*t156*t84*t566*t89
9271      t571 = t163*t89
9272      t574 = 0.1362107888567592D0*t156*t317*t571
9273      t575 = t84*t298
9274      t578 = 0.2724215777135184D0*t547*t575*t571
9275      t579 = t92*t103
9276      t582 = 0.8172647331405553D0*t579*t575*t146
9277      t585 = 0.2724215777135184D0*t92*t168*t504
9278      t589 = 0.3178251739991049D0*t156*t306*t163*t89
9279      t590 = t86*t306
9280      t593 = 0.6356503479982097D0*t92*t590*t146
9281      t599 = t327*t179
9282      t602 = 0.1362107888567592D0*t177*t599*t195
9283      t606 = 0.2724215777135184D0*t150*t180*t344*t146
9284      t607 = t172*t179
9285      t610 = 0.1362107888567592D0*t177*t607*t344
9286      t613 = t96/t178/t110
9287      t617 = 0.2724215777135184D0*t177*t613*t344*t195
9288      t618 = t98**2
9289      t621 = 1/t618*t100*t103
9290      t624 = 0.1113202740058839D0*t621*t332*t543
9291      t625 = t183*t190
9292      t628 = 0.1484270320078451D0*t625*t332*t548
9293      t635 = 0.3710675800196129D-1*t184*t332*t571
9294      t636 = t106*t298
9295      t639 = 0.1484270320078451D0*t625*t636*t571
9296      t641 = 1/t102/t78
9297      t642 = t101*t641
9298      t645 = 0.3710675800196129D0*t642*t636*t146
9299      t648 = 0.7421351600392257D-1*t101*t191*t504
9300      t652 = 0.1731648706758193D0*t184*t340*t163*t89
9301      t653 = t190*t340
9302      t656 = 0.3463297413516387D0*t101*t653*t146
9303      t657 = t546+t551-t570-t574+t578+t582-t585+t589+t593+t624+t628
9304     #-0.3710675800196129D-1*t184*t106*t566*t89-t635+t639+t645-t648
9305     #+t652+t656
9306      t661 = t514-t518+t522-t525+t528-t532+t535-t539
9307     #+0.1362107888567592D0*t81*t84*(t546+t551-t570-t574+t578+t582
9308     #-t585+t589+t593)*t111-t602+t606-t610+t617-0.1362107888567592D0
9309     #*t177*t180*t657
9310      t665 = t115**2
9311      t666 = 1/t665
9312      t669 = 0.310906908696549D-1*t349*t666*t199
9313      t670 = -t427+t433-t437+t440+t457-t461+t465+t468+t471+t473+t476
9314     #+t478-t480-t483+t487+t491+t506+t510+0.310906908696549D-1*t79
9315     #*t661*t201-t669
9316      t671 = rho*t670
9317      t677 = 0.4444444444444444D0*t441*t207+0.4444444444444444D0*t448
9318     #*t207
9319      t680 = 0.37995525D-1*t33*t677*t52
9320      t683 = t33*t124*t128*t49
9321      t684 = 0.3039642D0*t683
9322      t687 = t33*t44*t45*t49
9323      t688 = 0.4559463D0*t687
9324      t691 = 0.1923661050931536D1*t69*t677*t50
9325      t692 = t133*t136
9326      t693 = 0.1538928840745229D2*t692
9327      t695 = t70*t45*t49
9328      t696 = 0.2308393261117844D2*t695
9329      t697 = t146**2
9330      t706 = -0.1111111111111111D0*t492*t207-0.1111111111111111D0*t498
9331     #*t207
9332      t708 = 0.9327207260896469D-1*t139*t706
9333      t721 = 0.2724215777135184D0*t150*t151*t706
9334      t722 = t163**2
9335      t723 = t84*t722
9336      t726 = 0.2724215777135184D0*t541*t723*t542
9337      t729 = 0.5448431554270369D0*t547*t164*t548
9338      t738 = 0.9649190532874446D2*t160*t706
9339      t739 = -0.3216396844291482D2*(t680-t684-t688+t691+t693+t696)*t86
9340     #+0.1929838106574889D3*t558*t146-0.3859676213149779D3*t561*t697
9341     #+t738
9342      t743 = 0.1362107888567592D0*t156*t84*t739*t89
9343      t746 = 0.1362107888567592D0*t156*t723*t89
9344      t747 = t103*t84
9345      t750 = 0.8172647331405553D0*t92*t747*t697
9346      t753 = 0.2724215777135184D0*t92*t168*t706
9347      t762 = t195**2
9348      t766 = t106*t722
9349      t780 = t641*t106
9350      t786 = 0.7421351600392257D-1*t101*t191*t706
9351      t787 = t726+t729-t743-t746+t750-t753+0.1113202740058839D0*t621
9352     #*t766*t542+0.2968540640156903D0*t625*t185*t548
9353     #-0.3710675800196129D-1*t184*t106*t739*t89-0.3710675800196129D-1
9354     #*t184*t766*t89+0.3710675800196129D0*t101*t780*t697-t786
9355      t795 = t199**2
9356      t799 = t680-t684-t688+t691+t693+t696+0.1865441452179294D0*t484
9357     #*t697+0.1865441452179294D0*t488*t508+t708+0.310906908696549D-1
9358     #*t79*(0.8172647331405553D0*t511*t151*t697-0.5448431554270369D0
9359     #*t150*t515*t146+0.5448431554270369D0*t150*t180*t146*t195-t721
9360     #+0.1362107888567592D0*t81*t84*(t726+t729-t743-t746+t750-t753)
9361     #*t111-0.2724215777135184D0*t177*t607*t195+0.2724215777135184D0
9362     #*t177*t613*t762-0.1362107888567592D0*t177*t180*t787)*t201
9363     #-0.310906908696549D-1*t79*t795*t666
9364      t801 = 0.45D1*t439
9365      t802 = -t427-t437+t457+t465+t433+t801-t461+t468+t471+t476-t480
9366     #+t473+t478-t483
9367      t805 = -0.3216396844291482D2*t802*t86+t560+t557-t563+t565
9368      t809 = 0.1362107888567592D0*t156*t84*t805*t89
9369      t819 = t546+t578+t589-t809-t574+t551+t582+t593-t585+t624+t639
9370     #+t652-0.3710675800196129D-1*t184*t106*t805*t89-t635+t628+t645
9371     #+t656-t648
9372      t823 = t514+t528-t539+t606-t525-t518-t532+0.1362107888567592D0
9373     #*t81*t84*(t546+t578+t589-t809-t574+t551+t582+t593-t585)*t111
9374     #-t610+t522+t535-t602+t617-0.1362107888567592D0*t177*t180*t819
9375      t827 = -t427-t437+t457+t465+t433+t801-t461+t468+t471+t476-t480
9376     #+t473+t478-t483+t487+t510+t506+t491+0.310906908696549D-1*t79
9377     #*t823*t201-t669
9378      t828 = rho*t827
9379      t829 = 0.5495546528376876D-2*t209
9380      t831 = 0.2D1*t230
9381      t836 = 0.1538928840745229D2*t290
9382      t837 = 0.1865441452179294D0*t299
9383      t838 = 0.3847322101863073D1*t287
9384      t839 = 0.7599105D-1*t258
9385      t840 = 0.174814857510834D-2*t234
9386      t841 = 0.225D1*t248
9387      t842 = 0.3039642D0*t264
9388      t843 = 0.3847322101863073D1*t284
9389      t844 = 0.6218138173930979D-1*t350
9390      t848 = 1/t13/t4*t49
9391      t849 = t848*t19
9392      t850 = 0.1831848842792292D-2*t849
9393      t851 = t348**2
9394      t858 = t227**2
9395      t860 = t7/t211/t15*t858*t228
9396      t861 = 0.2D1*t860
9397      t864 = 1/t216/t4*t49
9398      t866 = t217*t443
9399      t869 = t206*t443
9400      t873 = 1/t11/t4*t49
9401      t875 = t221*t443
9402      t879 = 1/t5/t4*t49
9403      t881 = t224*t443
9404      t885 = t213*(-0.8309097827459833D0*t864+0.199418347859036D1*t866
9405     #-0.4945709824779306D0*t848+0.1483712947433792D1*t869
9406     #-0.2001071587498409D0*t873+0.8004286349993634D0*t875
9407     #-0.4215565168327908D-1*t879+0.2529339100996745D0*t881)*t228
9408      t886 = 0.1D1*t885
9409      t887 = t211**2
9410      t890 = t18**2
9411      t893 = t7/t887*t858/t890
9412      t894 = 0.1608197949869254D2*t893
9413      t898 = 0.225D1*t244*t245*t256*t52
9414      t900 = 0.174814857510834D-2*t869*t233
9415      t901 = t236**2
9416      t904 = t243**2
9417      t906 = t31**2
9418      t911 = 0.3330984372501762D2*t23/t901*t904/t906*t44*t52
9419      t914 = 0.9D1*t244*t246*t289
9420      t917 = t208*t212*t227*t228
9421      t918 = 0.8837926660346786D-1*t917
9422      t919 = t869*t19
9423      t920 = 0.5495546528376876D-2*t919
9424      t923 = 0.7599105D0*t33*t260*t429
9425      t927 = 0.3039642D0*t33*t256*t46*t262
9426      t939 = t275**2
9427      t955 = t268**2
9428      t958 = t65**2
9429      t969 = 0.8806932620892844D-3*t848*t66-0.2642079786267853D-2*t869
9430     #*t66-0.8497974591333914D-1*t208*t269*t275*t276-0.2D1*t57/t268
9431     #/t62*t939*t276+0.1D1*t270*(-0.1544496508763151D1*t864
9432     #+0.3706791621031562D1*t866-0.854388052766047D0*t848
9433     #+0.2563164158298141D1*t869-0.4111834438919023D0*t873
9434     #+0.1644733775567609D1*t875-0.5346380647307093D-1*t879
9435     #+0.3207828388384256D0*t881)*t276+0.3216395899738507D2*t57/t955
9436     #*t939/t958-0.1831848842792292D-2*t849+0.5495546528376876D-2*t919
9437     #+0.8837926660346786D-1*t917+0.2D1*t860-0.1D1*t885
9438     #-0.1608197949869254D2*t893
9439      t972 = 0.1923661050931536D1*t969*t44*t50
9440      t983 = 0.4444444444444444D0*t441*t45*t49+0.2666666666666667D1
9441     #*t250*t443+0.4444444444444444D0*t448*t45*t49
9442     #-0.2666666666666667D1*t253*t443
9443      t986 = 0.37995525D-1*t33*t983*t52
9444      t987 = t850-0.310906908696549D-1*t79*t851*t666-t861+t886+t894
9445     #-t898+t900-t911-t914-t918-t920-t923+t927+t972+t986
9446      t989 = 0.1538928840745229D2*t286*t289
9447      t992 = 0.1923661050931536D1*t69*t983*t50
9448      t994 = 0.58271619170278D-3*t848*t233
9449      t1006 = 0.1125D1*t238*(-0.1132974264373283D1*t864
9450     #+0.271913823449588D1*t866-0.4994648585728036D0*t848
9451     #+0.1498394575718411D1*t869-0.1075243117819161D0*t873
9452     #+0.4300972471276643D0*t875-0.4247805766949639D-1*t879
9453     #+0.2548683460169784D0*t881)*t247
9454      t1008 = 1/t48/t304
9455      t1012 = 0.699259430043336D-2*t206*t1008*t232*t46
9456      t1017 = 0.5176049408441869D-1*t208*t237*t243*t245*t53
9457      t1023 = 0.225D1*t23/t236/t28*t904*t247
9458      t1024 = t298**2
9459      t1029 = 0.3847322101863073D1*t282*t256*t50
9460      t1031 = 0.1538928840745229D2*t283*t289
9461      t1034 = 0.3847322101863073D2*t70*t46*t429
9462      t1038 = 0.174814857510834D-2*t208*t32*t256*t52
9463      t1054 = 1/t82/t48
9464      t1073 = -0.1111111111111111D0*t492*t45*t49+0.6666666666666667D0
9465     #*t292*t443-0.1111111111111111D0*t498*t45*t49
9466     #-0.6666666666666667D0*t295*t443
9467      t1077 = t316**2
9468      t1078 = t84*t1077
9469      t1081 = 0.2724215777135184D0*t541*t1078*t542
9470      t1082 = t89*t298
9471      t1085 = 0.5448431554270369D0*t547*t317*t1082
9472      t1089 = 0.6356503479982097D0*t156*t306*t316*t89
9473      t1090 = t850-t861+t886+t894-t898+t900-t911-t914-t918-t920-t923
9474     #+t927
9475      t1091 = t972+t986-t989+t992-t994-t1006-t1012+t1017+t1023+t1029
9476     #-t1031+t1034-t1038
9477      t1101 = -0.3216396844291482D2*(t1090+t1091)*t86
9478     #+0.1929838106574889D3*t555*t298-0.3859676213149779D3*t561*t1024
9479     #+0.9649190532874446D2*t160*t1073
9480      t1105 = 0.1362107888567592D0*t156*t84*t1101*t89
9481      t1108 = 0.1362107888567592D0*t156*t1078*t89
9482      t1111 = 0.8172647331405553D0*t92*t747*t1024
9483      t1114 = 0.1271300695996419D1*t92*t590*t298
9484      t1117 = 0.2724215777135184D0*t92*t168*t1073
9485      t1120 = 0.1059417246663683D1*t92*t80*t1054
9486      t1129 = t344**2
9487      t1150 = t106*t1077
9488      t1165 = t1111+t1114-t1117+t1120+t1089+t1081+t1085-t1108-t1105
9489     #+0.3710675800196129D0*t101*t780*t1024+0.6926594827032773D0*t101
9490     #*t653*t298+0.3463297413516387D0*t184*t340*t316*t89
9491     #-0.7421351600392257D-1*t101*t191*t1073-0.3710675800196129D-1
9492     #*t184*t106*t1101*t89+0.1113202740058839D0*t621*t1150*t542
9493     #+0.4906338002481548D0*t101*t103/t104/t428+0.2968540640156903D0
9494     #*t625*t332*t1082-0.3710675800196129D-1*t184*t1150*t89
9495      t1169 = 0.8172647331405553D0*t511*t151*t1024
9496     #+0.1271300695996419D1*t526*t301-0.5448431554270369D0*t150*t536
9497     #*t298+0.5448431554270369D0*t150*t180*t298*t344
9498     #+0.6356503479982097D0*t533*t345+0.1059417246663683D1*t81*t1054
9499     #*t96*t111-0.6356503479982097D0*t81*t306*t327*t111
9500     #-0.2724215777135184D0*t150*t151*t1073+0.1362107888567592D0*t81
9501     #*t84*(t1081+t1085+t1089-t1105-t1108+t1111+t1114-t1117+t1120)
9502     #*t111-0.2724215777135184D0*t177*t599*t344+0.2724215777135184D0
9503     #*t177*t613*t1129-0.1362107888567592D0*t177*t180*t1165
9504      t1177 = -t989+t992-t994-t1006-t1012+t1017+t1023
9505     #+0.1865441452179294D0*t484*t1024+t1029-t1031+t1034-t1038
9506     #+0.310906908696549D-1*t79*t1169*t201+0.1865441452179294D0*t507
9507     #*t489+0.9327207260896469D-1*t139*t1073
9508      t1179 = rho*(t987+t1177)
9509      t1180 = -t836+t837+t838+t839-t840-t841+t842+t843+t844
9510     #+0.3847322101863073D1*t134+t1179
9511      v2rhoa2(i) = t671-0.3039642D0*t131+rho*t799+t828+t829
9512     #+0.6218138173930979D-1*t202+t831+0.1538928840745229D2*t137
9513     #+0.1865441452179294D0*t147+0.7599105D-1*t126+t1180
9514      t1184 = t33*t354*t128*t49
9515      t1185 = 0.3039642D0*t1184
9516      t1186 = t359*t136
9517      t1187 = 0.1538928840745229D2*t1186
9518      t1188 = t363**2
9519      t1191 = t78*t398
9520      t1192 = t201*t363
9521      t1198 = t382*t111
9522      t1206 = t374**2
9523      t1207 = t84*t1206
9524      t1210 = 0.2724215777135184D0*t541*t1207*t542
9525      t1211 = t89*t363
9526      t1214 = 0.5448431554270369D0*t547*t375*t1211
9527      t1218 = t369*t103
9528      t1223 = -0.3216396844291482D2*(t680+t1185-t688+t691-t1187+t696)
9529     #*t86+0.1929838106574889D3*t1218*t363-0.3859676213149779D3*t561
9530     #*t1188+t738
9531      t1227 = 0.1362107888567592D0*t156*t84*t1223*t89
9532      t1230 = 0.1362107888567592D0*t156*t1207*t89
9533      t1233 = 0.8172647331405553D0*t92*t747*t1188
9534      t1239 = t382*t179
9535      t1243 = t394**2
9536      t1247 = t106*t1206
9537      t1264 = t1210+t1214-t1227-t1230+t1233-t753+0.1113202740058839D0
9538     #*t621*t1247*t542+0.2968540640156903D0*t625*t387*t1211
9539     #-0.3710675800196129D-1*t184*t106*t1223*t89-0.3710675800196129D-1
9540     #*t184*t1247*t89+0.3710675800196129D0*t101*t780*t1188-t786
9541      t1272 = t398**2
9542      t1276 = t680+t1185-t688+t691-t1187+t696+0.1865441452179294D0
9543     #*t484*t1188+0.1865441452179294D0*t1191*t1192+t708
9544     #+0.310906908696549D-1*t79*(0.8172647331405553D0*t511*t151*t1188
9545     #-0.5448431554270369D0*t150*t1198*t363+0.5448431554270369D0*t150
9546     #*t180*t363*t394-t721+0.1362107888567592D0*t81*t84*(t1210+t1214
9547     #-t1227-t1230+t1233-t753)*t111-0.2724215777135184D0*t177*t1239
9548     #*t394+0.2724215777135184D0*t177*t613*t1243-0.1362107888567592D0
9549     #*t177*t180*t1264)*t201-0.310906908696549D-1*t79*t1272*t666
9550      t1285 = 0.87407428755417D-3*t208*t32*t354*t52
9551      t1286 = 0.349629715021668D-2*t432
9552      t1290 = 0.1125D1*t244*t245*t354*t52
9553      t1291 = 0.45D1*t439
9554      t1292 = -t454
9555      t1295 = 0.37995525D-1*t33*t1292*t52
9556      t1296 = 0.1519821D0*t460
9557      t1300 = 0.1519821D0*t33*t354*t46*t262
9558      t1301 = 0.6079284D0*t467
9559      t1304 = 0.1923661050931536D1*t282*t354*t50
9560      t1305 = 0.7694644203726145D1*t472
9561      t1308 = 0.1923661050931536D1*t69*t1292*t50
9562      t1309 = 0.7694644203726145D1*t477
9563      t1311 = 0.7694644203726145D1*t359*t289
9564      t1312 = 0.3077857681490458D2*t482
9565      t1313 = t298*t363
9566      t1318 = -t504
9567      t1347 = t542*t374
9568      t1350 = 0.2724215777135184D0*t541*t317*t1347
9569      t1353 = 0.2724215777135184D0*t547*t317*t1211
9570      t1354 = -t1285-t1286-t1290-t1291+t1295+t1296+t1300-t1301+t1304
9571     #-t1305+t1308-t1309-t1311+t1312
9572      t1365 = -0.3216396844291482D2*t1354*t86+0.9649190532874446D2
9573     #*t555*t363+0.9649190532874446D2*t1218*t298-0.3859676213149779D3
9574     #*t561*t1313+0.9649190532874446D2*t160*t1318
9575      t1369 = 0.1362107888567592D0*t156*t84*t1365*t89
9576      t1370 = t374*t89
9577      t1373 = 0.1362107888567592D0*t156*t317*t1370
9578      t1376 = 0.2724215777135184D0*t547*t575*t1370
9579      t1379 = 0.8172647331405553D0*t579*t575*t363
9580      t1382 = 0.2724215777135184D0*t92*t168*t1318
9581      t1386 = 0.3178251739991049D0*t156*t306*t374*t89
9582      t1389 = 0.6356503479982097D0*t92*t590*t363
9583      t1438 = t1350+t1353-t1369-t1373+t1376+t1379-t1382+t1386+t1389
9584     #+0.1113202740058839D0*t621*t332*t1347+0.1484270320078451D0*t625
9585     #*t332*t1211-0.3710675800196129D-1*t184*t106*t1365*t89
9586     #-0.3710675800196129D-1*t184*t332*t1370+0.1484270320078451D0*t625
9587     #*t636*t1370+0.3710675800196129D0*t642*t636*t363
9588     #-0.7421351600392257D-1*t101*t191*t1318+0.1731648706758193D0*t184
9589     #*t340*t374*t89+0.3463297413516387D0*t101*t653*t363
9590      t1442 = 0.8172647331405553D0*t511*t151*t1313
9591     #-0.2724215777135184D0*t150*t1198*t298+0.2724215777135184D0*t150
9592     #*t180*t298*t394-0.2724215777135184D0*t150*t151*t1318
9593     #+0.6356503479982097D0*t526*t366-0.3178251739991049D0*t81*t306
9594     #*t382*t111+0.3178251739991049D0*t533*t395-0.2724215777135184D0
9595     #*t150*t536*t363+0.1362107888567592D0*t81*t84*(t1350+t1353-t1369
9596     #-t1373+t1376+t1379-t1382+t1386+t1389)*t111-0.1362107888567592D0
9597     #*t177*t599*t394+0.2724215777135184D0*t150*t180*t344*t363
9598     #-0.1362107888567592D0*t177*t1239*t344+0.2724215777135184D0*t177
9599     #*t613*t344*t394-0.1362107888567592D0*t177*t180*t1438
9600      t1446 = t666*t398
9601      t1449 = -t1285-t1286-t1290-t1291+t1295+t1296+t1300-t1301+t1304
9602     #-t1305+t1308-t1309-t1311+t1312+0.1865441452179294D0*t484*t1313
9603     #+0.9327207260896469D-1*t1191*t489+0.9327207260896469D-1*t139
9604     #*t1318+0.9327207260896469D-1*t507*t1192+0.310906908696549D-1*t79
9605     #*t1442*t201-0.310906908696549D-1*t349*t1446
9606      t1450 = rho*t1449
9607      v2rhob2(i) = 0.3039642D0*t131+t829+rho*t1276+t831
9608     #-0.1538928840745229D2*t137-t836+t837+t838+t839-t840-t841+t842
9609     #+t843+t844+0.3847322101863073D1*t360+0.7599105D-1*t356+2*t1450
9610     #+t1179+0.6218138173930979D-1*t400+0.1865441452179294D0*t364
9611      t1455 = -t677
9612      t1458 = 0.37995525D-1*t33*t1455*t52
9613      t1459 = 0.1519821D0*t683
9614      t1460 = 0.1519821D0*t1184
9615      t1461 = 0.4559463D0*t687
9616      t1464 = 0.1923661050931536D1*t69*t1455*t50
9617      t1465 = 0.7694644203726145D1*t692
9618      t1466 = 0.7694644203726145D1*t1186
9619      t1467 = 0.2308393261117844D2*t695
9620      t1468 = t146*t363
9621      t1473 = -t706
9622      t1496 = 0.2724215777135184D0*t541*t164*t1347
9623      t1499 = 0.2724215777135184D0*t547*t164*t1211
9624      t1511 = -0.3216396844291482D2*(t1458+t1459-t1460+t1461+t1464
9625     #-t1465+t1466-t1467)*t86+0.9649190532874446D2*t558*t363
9626     #+0.9649190532874446D2*t1218*t146-0.3859676213149779D3*t561*t1468
9627     #+0.9649190532874446D2*t160*t1473
9628      t1515 = 0.1362107888567592D0*t156*t84*t1511*t89
9629      t1518 = 0.1362107888567592D0*t156*t164*t1370
9630      t1519 = t84*t146
9631      t1522 = 0.2724215777135184D0*t547*t1519*t1370
9632      t1525 = 0.8172647331405553D0*t579*t1519*t363
9633      t1528 = 0.2724215777135184D0*t92*t168*t1473
9634      t1561 = t106*t146
9635      t1571 = t1496+t1499-t1515-t1518+t1522+t1525-t1528
9636     #+0.1113202740058839D0*t621*t185*t1347+0.1484270320078451D0*t625
9637     #*t185*t1211-0.3710675800196129D-1*t184*t106*t1511*t89
9638     #-0.3710675800196129D-1*t184*t185*t1370+0.1484270320078451D0*t625
9639     #*t1561*t1370+0.3710675800196129D0*t642*t1561*t363
9640     #-0.7421351600392257D-1*t101*t191*t1473
9641      t1575 = 0.8172647331405553D0*t511*t151*t1468
9642     #-0.2724215777135184D0*t150*t1198*t146+0.2724215777135184D0*t150
9643     #*t180*t146*t394-0.2724215777135184D0*t150*t151*t1473
9644     #-0.2724215777135184D0*t150*t515*t363+0.1362107888567592D0*t81
9645     #*t84*(t1496+t1499-t1515-t1518+t1522+t1525-t1528)*t111
9646     #-0.1362107888567592D0*t177*t607*t394+0.2724215777135184D0*t150
9647     #*t180*t195*t363-0.1362107888567592D0*t177*t1239*t195
9648     #+0.2724215777135184D0*t177*t613*t195*t394-0.1362107888567592D0
9649     #*t177*t180*t1571
9650      t1581 = t1458+t1459-t1460+t1461+t1464-t1465+t1466-t1467
9651     #+0.1865441452179294D0*t484*t1468+0.9327207260896469D-1*t1191
9652     #*t508+0.9327207260896469D-1*t139*t1473+0.9327207260896469D-1
9653     #*t488*t1192+0.310906908696549D-1*t79*t1575*t201
9654     #-0.310906908696549D-1*t200*t1446
9655      t1584 = t829+0.5D0*t671-t840+t148-t841+rho*t1581+t842+t1179+t831
9656     #+t839+t843+0.5D0*t828
9657      t1586 = -t836+t838+t203+t844+t357+t361+t365+t401+0.1D1*t1450
9658     #+t127+t135+t837
9659      v2rhoab(i) = t1584+t1586
9660      t1587 = t78*t421
9661      t1593 = sigma*t190*t106
9662      t1594 = t91*t111
9663      t1604 = t99*t80
9664      t1606 = 0.1362107888567592D0*t1604*t165
9665      t1607 = t91*t86
9666      t1609 = 0.2724215777135184D0*t1607*t1519
9667      t1620 = t407*t106
9668      t1621 = t91*t179
9669      t1629 = t540*t103
9670      t1642 = t666*t421
9671      t1646 = rho*(0.9327207260896469D-1*t1587*t508
9672     #+0.310906908696549D-1*t79*(-0.2724215777135184D0*t168*t152
9673     #-0.3710675800196129D-1*t1593*t1594*t146+0.2724215777135184D0
9674     #*t150*t180*t146*t417+0.1362107888567592D0*t93*t515
9675     #+0.1362107888567592D0*t81*t84*(-t1606-t1609)*t111
9676     #-0.1362107888567592D0*t177*t607*t417-0.1362107888567592D0*t93
9677     #*t196-0.1855337900098064D-1*t1620*t1621*t195
9678     #+0.2724215777135184D0*t177*t613*t195*t417-0.1362107888567592D0
9679     #*t177*t180*(-t1606-t1609-0.7421351600392257D-1*t1629*t186
9680     #-0.1484270320078451D0*t155*t192))*t201-0.310906908696549D-1*t200
9681     #*t1642)
9682      t1648 = t79*t421*t201
9683      t1649 = 0.310906908696549D-1*t1648
9684      t1672 = 0.1362107888567592D0*t1604*t318
9685      t1674 = 0.2724215777135184D0*t1607*t575
9686      t1676 = 0.3178251739991049D0*t412*t306
9687      t1704 = -0.2724215777135184D0*t168*t301-0.3710675800196129D-1
9688     #*t1593*t1594*t298+0.2724215777135184D0*t150*t180*t298*t417
9689     #-0.3178251739991049D0*t324*t151-0.4329121766895483D-1*t407*t340
9690     #*t91*t111+0.3178251739991049D0*t533*t418+0.1362107888567592D0
9691     #*t93*t536+0.1362107888567592D0*t81*t84*(-t1672-t1674-t1676)*t111
9692     #-0.1362107888567592D0*t177*t599*t417-0.1362107888567592D0*t93
9693     #*t345-0.1855337900098064D-1*t1620*t1621*t344
9694     #+0.2724215777135184D0*t177*t613*t344*t417-0.1362107888567592D0
9695     #*t177*t180*(-t1672-t1674-t1676-0.7421351600392257D-1*t1629*t333
9696     #-0.1484270320078451D0*t155*t336-0.1731648706758193D0*t155*t341)
9697      t1711 = rho*(0.9327207260896469D-1*t1587*t489
9698     #+0.310906908696549D-1*t79*t1704*t201-0.310906908696549D-1*t349
9699     #*t1642)
9700      v2rhoasigmaaa(i) = t1646+t1649+t1711
9701      t1713 = 0.6218138173930979D-1*t1648
9702      t1714 = 2.D0*t1711
9703      v2rhoasigmaab(i) = 2.D0*t1646+t1713+t1714
9704      v2rhoasigmabb(i) = v2rhoasigmaaa(i)
9705      t1729 = 0.1362107888567592D0*t1604*t376
9706      t1732 = 0.2724215777135184D0*t1607*t84*t363
9707      t1765 = rho*(0.9327207260896469D-1*t1587*t1192
9708     #+0.310906908696549D-1*t79*(-0.2724215777135184D0*t168*t366
9709     #-0.3710675800196129D-1*t1593*t1594*t363+0.2724215777135184D0
9710     #*t150*t180*t363*t417+0.1362107888567592D0*t93*t1198
9711     #+0.1362107888567592D0*t81*t84*(-t1729-t1732)*t111
9712     #-0.1362107888567592D0*t177*t1239*t417-0.1362107888567592D0*t93
9713     #*t395-0.1855337900098064D-1*t1620*t1621*t394
9714     #+0.2724215777135184D0*t177*t613*t394*t417-0.1362107888567592D0
9715     #*t177*t180*(-t1729-t1732-0.7421351600392257D-1*t1629*t388
9716     #-0.1484270320078451D0*t155*t391))*t201-0.310906908696549D-1*t399
9717     #*t1642)
9718      v2rhobsigmaaa(i) = t1765+t1649+t1711
9719      v2rhobsigmaab(i) = 2.D0*t1765+t1713+t1714
9720      v2rhobsigmabb(i) = v2rhobsigmaaa(i)
9721      t1774 = t417**2
9722      t1785 = t404*(0.3710675800196129D-1*t107*t1594
9723     #-0.2724215777135184D0*t93*t418-0.3710675800196129D-1*t1620*t1621
9724     #*t417+0.2724215777135184D0*t177*t613*t1774-0.5054340779364009D-2
9725     #*sigma*t641*t1008*t180*t99)*t201
9726      t1787 = t421**2
9727      t1789 = t404*t1787*t666
9728      v2sigmaaa2(i) = 0.310906908696549D-1*t1785-0.310906908696549D-1
9729     #*t1789
9730      v2sigmaaaab(i) = 0.6218138173930979D-1*t1785
9731     #-0.6218138173930979D-1*t1789
9732      v2sigmaaabb(i) = v2sigmaaa2(i)
9733      v2sigmaab2(i) = 0.1243627634786196D0*t1785-0.1243627634786196D0
9734     #*t1789
9735      v2sigmaabbb(i) = v2sigmaaaab(i)
9736      v2sigmabb2(i) = v2sigmaaabb(i)
9737      endif ! rhoa,rhob
9738      else ! rho
9739      zk(i) = 0.0d0
9740      vrhoa(i) = 0.0d0
9741      vrhob(i) = 0.0d0
9742      v2rhoa2(i) = 0.0d0
9743      v2rhob2(i) = 0.0d0
9744      v2rhoab(i) = 0.0d0
9745      vsigmaaa(i) = 0.0d0
9746      vsigmaab(i) = 0.0d0
9747      vsigmabb(i) = 0.0d0
9748      v2rhoasigmaaa(i) = 0.0d0
9749      v2rhoasigmaab(i) = 0.0d0
9750      v2rhoasigmabb(i) = 0.0d0
9751      v2rhobsigmaaa(i) = 0.0d0
9752      v2rhobsigmaab(i) = 0.0d0
9753      v2rhobsigmabb(i) = 0.0d0
9754      v2sigmaaa2(i) = 0.0d0
9755      v2sigmaab2(i) = 0.0d0
9756      v2sigmabb2(i) = 0.0d0
9757      v2sigmaaaab(i) = 0.0d0
9758      v2sigmaaabb(i) = 0.0d0
9759      v2sigmaabbb(i) = 0.0d0
9760      endif ! rho
9761      enddo
9762
9763      endif ! ideriv
9764      return
9765      end
9766
9767
9768      subroutine rks_c_pbe
9769     & (ideriv,npt,rhoa1,sigmaaa1,
9770     &  zk,vrhoa,vsigmaaa,
9771     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
9772c
9773c     J.P. Perdew, K. Burke, and M. Ernzerhof
9774c     Generalized gradient approximation made simple
9775c     Phys. Rev. Lett. 77 (1996) 3865-3868
9776c
9777c
9778c     CITATION:
9779c
9780c     Functionals were obtained from the Density Functional Repository
9781c     as developed and distributed by the Quantum Chemistry Group,
9782c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
9783c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
9784c     Paul Sherwood for further information.
9785c
9786c     COPYRIGHT:
9787c
9788c     Users may incorporate the source code into software packages and
9789c     redistribute the source code provided the source code is not
9790c     changed in anyway and is properly cited in any documentation or
9791c     publication related to its use.
9792c
9793c     ACKNOWLEDGEMENT:
9794c
9795c     The source code was generated using Maple 8 through a modified
9796c     version of the dfauto script published in:
9797c
9798c        R. Strange, F.R. Manby, P.J. Knowles
9799c        Automatic code generation in density functional theory
9800c        Comp. Phys. Comm. 136 (2001) 310-318.
9801c
9802      implicit real*8 (a-h,o-z)
9803      integer ideriv,npt
9804      real*8 rhoa1(npt)
9805      real*8 sigmaaa1(npt)
9806      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
9807      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
9808      parameter(tol=1.0d-20)
9809
9810      if(ideriv.eq.0) then
9811
9812      do i=1,npt
9813      rho = dmax1(0.D0,rhoa1(i))
9814      if(rho.gt.tol) then
9815      sigma = dmax1(0.D0,sigmaaa1(i))
9816      t2 = 1/rho
9817      t3 = t2**(1.D0/3.D0)
9818      t6 = t2**(1.D0/6.D0)
9819      t9 = dsqrt(t2)
9820      t11 = t3**2
9821      t17 = dlog(1.D0+0.1608197949869254D2/(0.598255043577108D1*t6
9822     #+0.2225569421150687D1*t3+0.8004286349993634D0*t9
9823     #+0.1897004325747559D0*t11))
9824      t18 = (1.D0+0.1325688999052018D0*t3)*t17
9825      t20 = rho**2
9826      t21 = rho**(1.D0/3.D0)
9827      t23 = 1/t21/t20
9828      t26 = dexp(0.2000000587336264D1*t18)
9829      t27 = t26-1.D0
9830      t31 = 0.1362107888567592D0/t27*sigma*t23
9831      t33 = t27**2
9832      t35 = sigma**2
9833      t37 = t20**2
9834      t38 = t21**2
9835      t49 = dlog(1.D0+0.1362107888567592D0*sigma*t23*(1.D0+t31)/(1.D0
9836     #+t31+0.1855337900098064D-1/t33*t35/t38/t37))
9837      zk(i) = rho*(-0.621814D-1*t18+0.310906908696549D-1*t49)
9838      else ! rho
9839      zk(i) = 0.0d0
9840      endif ! rho
9841      enddo
9842
9843      else if(ideriv.eq.1) then
9844
9845      do i=1,npt
9846      rho = dmax1(0.D0,rhoa1(i))
9847      if(rho.gt.tol) then
9848      sigma = dmax1(0.D0,sigmaaa1(i))
9849      t2 = 1/rho
9850      t3 = t2**(1.D0/3.D0)
9851      t5 = 1.D0+0.1325688999052018D0*t3
9852      t6 = t2**(1.D0/6.D0)
9853      t9 = dsqrt(t2)
9854      t11 = t3**2
9855      t13 = 0.598255043577108D1*t6+0.2225569421150687D1*t3
9856     #+0.8004286349993634D0*t9+0.1897004325747559D0*t11
9857      t16 = 1.D0+0.1608197949869254D2/t13
9858      t17 = dlog(t16)
9859      t18 = t5*t17
9860      t19 = 0.621814D-1*t18
9861      t20 = rho**2
9862      t21 = rho**(1.D0/3.D0)
9863      t23 = 1/t21/t20
9864      t24 = sigma*t23
9865      t26 = dexp(0.2000000587336264D1*t18)
9866      t27 = t26-1.D0
9867      t28 = 1/t27
9868      t29 = t28*sigma
9869      t31 = 0.1362107888567592D0*t29*t23
9870      t32 = 1.D0+t31
9871      t33 = t27**2
9872      t34 = 1/t33
9873      t35 = sigma**2
9874      t36 = t34*t35
9875      t37 = t20**2
9876      t38 = t21**2
9877      t40 = 1/t38/t37
9878      t43 = 1.D0+t31+0.1855337900098064D-1*t36*t40
9879      t44 = 1/t43
9880      t45 = t32*t44
9881      t48 = 1.D0+0.1362107888567592D0*t24*t45
9882      t49 = dlog(t48)
9883      t50 = 0.310906908696549D-1*t49
9884      zk(i) = rho*(-t19+t50)
9885      t53 = 1/t20
9886      t54 = 1/t11*t53
9887      t56 = 0.2747773264188438D-2*t54*t17
9888      t57 = t13**2
9889      t60 = t6**2
9890      t61 = t60**2
9891      t77 = 0.1D1*t5/t57*(-0.99709173929518D0/t61/t6*t53
9892     #-0.7418564737168958D0*t54-0.4002143174996817D0/t9*t53
9893     #-0.1264669550498372D0/t3*t53)/t16
9894      t80 = 1/t21/t20/rho
9895      t84 = t34*sigma
9896      t85 = t56+t77
9897      t89 = 0.4381079514373337D1*t84*t23*t85*t26
9898      t91 = 0.3178251739991049D0*t29*t80
9899      t96 = t43**2
9900      t98 = t32/t96
9901      t116 = 1/t48
9902      vrhoa(i) = -t19+t50+rho*(t56+t77+0.310906908696549D-1*(
9903     #-0.3178251739991049D0*sigma*t80*t45+0.1362107888567592D0*t24*
9904     #(t89-t91)*t44-0.1362107888567592D0*t24*t98*(t89-t91
9905     #+0.119350059339396D1/t33/t27*t35*t40*t85*t26
9906     #-0.8658243533790967D-1*t36/t38/t37/rho))*t116)
9907      vsigmaaa(i) = 0.1243627634786196D0*rho*(0.1362107888567592D0*t23
9908     #*t32*t44+0.1855337900098064D-1*sigma*t40*t28*t44
9909     #-0.1362107888567592D0*t24*t98*(0.1362107888567592D0*t28*t23
9910     #+0.3710675800196129D-1*t84*t40))*t116
9911      else ! rho
9912      zk(i) = 0.0d0
9913      vrhoa(i) = 0.0d0
9914      vsigmaaa(i) = 0.0d0
9915      endif ! rho
9916      enddo
9917
9918      else if(ideriv.eq.2) then
9919
9920      do i=1,npt
9921      rho = dmax1(0.D0,rhoa1(i))
9922      if(rho.gt.tol) then
9923      sigma = dmax1(0.D0,sigmaaa1(i))
9924      t2 = 1/rho
9925      t3 = t2**(1.D0/3.D0)
9926      t5 = 1.D0+0.1325688999052018D0*t3
9927      t6 = t2**(1.D0/6.D0)
9928      t9 = dsqrt(t2)
9929      t11 = t3**2
9930      t13 = 0.598255043577108D1*t6+0.2225569421150687D1*t3
9931     #+0.8004286349993634D0*t9+0.1897004325747559D0*t11
9932      t16 = 1.D0+0.1608197949869254D2/t13
9933      t17 = dlog(t16)
9934      t18 = t5*t17
9935      t19 = 0.621814D-1*t18
9936      t20 = rho**2
9937      t21 = rho**(1.D0/3.D0)
9938      t23 = 1/t21/t20
9939      t24 = sigma*t23
9940      t26 = dexp(0.2000000587336264D1*t18)
9941      t27 = t26-1.D0
9942      t28 = 1/t27
9943      t29 = t28*sigma
9944      t31 = 0.1362107888567592D0*t29*t23
9945      t32 = 1.D0+t31
9946      t33 = t27**2
9947      t34 = 1/t33
9948      t35 = sigma**2
9949      t36 = t34*t35
9950      t37 = t20**2
9951      t38 = t21**2
9952      t40 = 1/t38/t37
9953      t43 = 1.D0+t31+0.1855337900098064D-1*t36*t40
9954      t44 = 1/t43
9955      t45 = t32*t44
9956      t48 = 1.D0+0.1362107888567592D0*t24*t45
9957      t49 = dlog(t48)
9958      t50 = 0.310906908696549D-1*t49
9959      zk(i) = rho*(-t19+t50)
9960      t52 = 1/t11
9961      t53 = 1/t20
9962      t54 = t52*t53
9963      t55 = t54*t17
9964      t56 = 0.2747773264188438D-2*t55
9965      t57 = t13**2
9966      t58 = 1/t57
9967      t59 = t5*t58
9968      t60 = t6**2
9969      t61 = t60**2
9970      t62 = t61*t6
9971      t63 = 1/t62
9972      t67 = 1/t9
9973      t70 = 1/t3
9974      t73 = -0.99709173929518D0*t63*t53-0.7418564737168958D0*t54
9975     #-0.4002143174996817D0*t67*t53-0.1264669550498372D0*t70*t53
9976      t74 = 1/t16
9977      t76 = t59*t73*t74
9978      t77 = 0.1D1*t76
9979      t78 = t20*rho
9980      t80 = 1/t21/t78
9981      t81 = sigma*t80
9982      t84 = t34*sigma
9983      t85 = t56+t77
9984      t89 = 0.4381079514373337D1*t84*t23*t85*t26
9985      t91 = 0.3178251739991049D0*t29*t80
9986      t92 = t89-t91
9987      t93 = t92*t44
9988      t96 = t43**2
9989      t97 = 1/t96
9990      t98 = t32*t97
9991      t100 = 1/t33/t27
9992      t101 = t100*t35
9993      t103 = t40*t85*t26
9994      t108 = 1/t38/t37/rho
9995      t111 = t89-t91+0.119350059339396D1*t101*t103
9996     #-0.8658243533790967D-1*t36*t108
9997      t112 = t98*t111
9998      t115 = -0.3178251739991049D0*t81*t45+0.1362107888567592D0*t24
9999     #*t93-0.1362107888567592D0*t24*t112
10000      t116 = 1/t48
10001      t117 = t115*t116
10002      vrhoa(i) = -t19+t50+rho*(t56+t77+0.310906908696549D-1*t117)
10003      t121 = t23*t32
10004      t124 = sigma*t40
10005      t125 = t28*t44
10006      t132 = 0.1362107888567592D0*t28*t23+0.3710675800196129D-1*t84*t40
10007      t133 = t98*t132
10008      t136 = 0.1362107888567592D0*t121*t44+0.1855337900098064D-1*t124
10009     #*t125-0.1362107888567592D0*t24*t133
10010      vsigmaaa(i) = 0.1243627634786196D0*rho*t136*t116
10011      t151 = dlog(1.D0+0.2960874997779344D2/(0.8157414703487641D1*t6
10012     #+0.2247591863577616D1*t3+0.4300972471276643D0*t9
10013     #+0.1911512595127338D0*t11))
10014      t153 = (1.D0+0.6901399211255825D-1*t3)*t151*t53
10015      t155 = t49*t53
10016      t158 = 1/t21/t37
10017      t160 = sigma*t158*t45
10018      t165 = -0.1086299437397317D1*t153+0.1333333724890842D1*t18*t53
10019      t169 = 0.1362107888567592D0*t84*t23*t165*t26
10020      t170 = t29*t158
10021      t171 = 0.6053812838078188D-1*t170
10022      t183 = t36/t38/t37/t20
10023      t197 = -t165
10024      t201 = 0.1362107888567592D0*t84*t23*t197*t26
10025      t202 = 0.6053812838078188D-1*t170
10026      t223 = 1/t37
10027      t226 = 1/t78
10028      t231 = 1/t11/t2*t223
10029      t233 = t52*t226
10030      t250 = 0.1D1*t59*(-0.8309097827459833D0/t62/t2*t223
10031     #+0.199418347859036D1*t63*t226-0.4945709824779306D0*t231
10032     #+0.1483712947433792D1*t233-0.2001071587498409D0/t9/t2*t223
10033     #+0.8004286349993634D0*t67*t226-0.4215565168327908D-1/t3/t2*t223
10034     #+0.2529339100996745D0*t70*t226)*t74
10035      t251 = t57**2
10036      t254 = t73**2
10037      t255 = t16**2
10038      t259 = 0.1608197949869254D2*t5/t251*t254/t255
10039      t261 = 0.1831848842792292D-2*t231*t17
10040      t265 = 0.8837926660346786D-1*t54*t58*t73*t74
10041      t271 = 0.2D1*t5/t57/t13*t254*t74
10042      t273 = 0.5495546528376876D-2*t233*t17
10043      t274 = t115**2
10044      t275 = t48**2
10045      t276 = 1/t275
10046      t282 = t92*t97
10047      t287 = 1/t96/t43
10048      t288 = t32*t287
10049      t289 = t111**2
10050      t293 = t250+t259+t261-t265-t271-t273
10051      t297 = 0.4381079514373337D1*t84*t23*t293*t26
10052      t298 = t85**2
10053      t299 = t23*t298
10054      t302 = 0.1409129032462046D3*t84*t299*t26
10055      t311 = t33**2
10056      t314 = t40*t298
10057      t315 = t26**2
10058      t325 = 0.2044503773374224D2*t84*t80*t85*t26
10059      t326 = t100*sigma
10060      t329 = 0.2818258064924092D3*t326*t299*t315
10061      t330 = 0.1059417246663683D1*t170
10062      s1 = 0.1099109305675375D-1*t55+0.4D1*t76+rho*(0.337738D-1*t153
10063     #-0.207271272464366D-1*t155+0.310906908696549D-1*
10064     #(0.6053812838078188D-1*t160+0.1362107888567592D0*t24*(-t169+t171
10065     #)*t44-0.1362107888567592D0*t24*t98*(-t169+t171
10066     #-0.3710675800196129D-1*t101*t40*t165*t26+0.1649189244531613D-1
10067     #*t183))*t116)
10068      s2 = s1+rho*(-0.337738D-1*t153+0.207271272464366D-1*t155
10069     #+0.310906908696549D-1*(-0.6053812838078188D-1*t160
10070     #+0.1362107888567592D0*t24*(-t201-t202)*t44-0.1362107888567592D0
10071     #*t24*t98*(-t201-t202-0.3710675800196129D-1*t101*t40*t197*t26
10072     #-0.1649189244531613D-1*t183))*t116)
10073      v2rhoa2(i) = s2+2.D0*rho*(t250+t259+t261-t265-t271-t273
10074     #-0.310906908696549D-1*t274*t276+0.310906908696549D-1*
10075     #(0.1059417246663683D1*t160-0.6356503479982097D0*t81*t93
10076     #-0.2724215777135184D0*t24*t282*t111+0.2724215777135184D0*t24
10077     #*t288*t289-0.1362107888567592D0*t24*t98*(t297-t302
10078     #-0.1113933887167696D2*t101*t108*t85*t26+0.119350059339396D1*t101
10079     #*t40*t293*t26+0.1151631462675703D3/t311*t35*t314*t315
10080     #-0.3838771542252344D2*t101*t314*t26-t325+t329+t330
10081     #+0.4906338002481548D0*t183)+0.6356503479982097D0*t81*t112
10082     #+0.1362107888567592D0*t24*(t329-t325+t297-t302+t330)*t44)*t116)
10083     #+0.1243627634786196D0*t117
10084      t365 = 0.4381079514373337D1*t34*t23*t85*t26
10085      t367 = 0.3178251739991049D0*t28*t80
10086      t378 = t28*t97
10087      v2rhoasigmaaa(i) = 0.1243627634786196D0*t136*t116+4.D0*rho*
10088     #(0.310906908696549D-1*(-0.3178251739991049D0*t80*t32*t44
10089     #-0.4329121766895483D-1*sigma*t108*t125+0.3178251739991049D0*t81
10090     #*t133+0.1362107888567592D0*t23*t92*t44+0.1362107888567592D0*t24*
10091     #(t365-t367)*t44-0.1362107888567592D0*t24*t282*t132
10092     #-0.1362107888567592D0*t121*t97*t111-0.1855337900098064D-1*t124
10093     #*t378*t111+0.2724215777135184D0*t24*t32*t287*t111*t132
10094     #-0.1362107888567592D0*t24*t98*(t365-t367+0.238700118678792D1
10095     #*t326*t103-0.1731648706758193D0*t84*t108))*t116
10096     #-0.310906908696549D-1*t115*t276*t136)
10097      t413 = t132**2
10098      t427 = t136**2
10099      v2sigmaaa2(i) = 0.4974510539144783D0*rho*(0.3710675800196129D-1
10100     #*t40*t28*t44-0.2724215777135184D0*t121*t97*t132
10101     #-0.3710675800196129D-1*t124*t378*t132+0.2724215777135184D0*t24
10102     #*t288*t413-0.5054340779364009D-2*sigma/t37/t78*t98*t34)*t116
10103     #-0.4974510539144783D0*rho*t427*t276
10104      else ! rho
10105      zk(i) = 0.0d0
10106      vrhoa(i) = 0.0d0
10107      v2rhoa2(i) = 0.0d0
10108      vsigmaaa(i) = 0.0d0
10109      v2rhoasigmaaa(i) = 0.0d0
10110      v2sigmaaa2(i) = 0.0d0
10111      endif ! rho
10112      enddo
10113
10114      endif ! ideriv
10115      return
10116      end
10117
10118
10119      subroutine uks_xc_b97
10120     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
10121     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
10122     &  v2rhoa2,v2rhob2,v2rhoab,
10123     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
10124     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
10125     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
10126     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
10127c
10128c     A.D. Becke
10129c     Density-functional thermochemistry. V. Systematic optimization of
10130c     exchange-correlation functionals
10131c     J. Chem. Phys. 107 (1997) 8554-8560
10132c
10133c
10134c     CITATION:
10135c
10136c     Functionals were obtained from the Density Functional Repository
10137c     as developed and distributed by the Quantum Chemistry Group,
10138c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
10139c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
10140c     Paul Sherwood for further information.
10141c
10142c     COPYRIGHT:
10143c
10144c     Users may incorporate the source code into software packages and
10145c     redistribute the source code provided the source code is not
10146c     changed in anyway and is properly cited in any documentation or
10147c     publication related to its use.
10148c
10149c     ACKNOWLEDGEMENT:
10150c
10151c     The source code was generated using Maple 8 through a modified
10152c     version of the dfauto script published in:
10153c
10154c        R. Strange, F.R. Manby, P.J. Knowles
10155c        Automatic code generation in density functional theory
10156c        Comp. Phys. Comm. 136 (2001) 310-318.
10157c
10158      implicit real*8 (a-h,o-z)
10159      integer ideriv,npt
10160      real*8 rhoa1(npt),rhob1(npt)
10161      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
10162      real*8 zk(npt),vrhoa(npt),vrhob(npt)
10163      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
10164      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
10165      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
10166      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
10167      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
10168      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
10169      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
10170      parameter(tol=1.0d-20)
10171
10172      if (ideriv.eq.0) then
10173
10174      do i=1,npt
10175      rhoa = dmax1(0.D0,rhoa1(i))
10176      rhob = dmax1(0.D0,rhob1(i))
10177      rho = rhoa+rhob
10178      if(rho.gt.tol) then
10179      if(rhoa.lt.tol) then
10180      rho = rhob
10181      sigmabb = dmax1(0.D0,sigmabb1(i))
10182      sigma = sigmabb
10183      t2 = rhob**(1.D0/3.D0)
10184      t4 = rhob**2
10185      t5 = t2**2
10186      t8 = sigmabb/t5/t4
10187      t10 = 1.D0+0.4D-2*t8
10188      t14 = sigmabb**2
10189      t15 = t4**2
10190      t19 = t14/t2/t15/rhob
10191      t20 = t10**2
10192      t27 = 1/rhob
10193      t28 = t27**(1.D0/3.D0)
10194      t32 = t27**(1.D0/6.D0)
10195      t35 = dsqrt(t27)
10196      t37 = t28**2
10197      t43 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t32
10198     #+0.3844746237447211D1*t28+0.1644733775567609D1*t35
10199     #+0.2405871291288192D0*t37))
10200      t45 = 1.D0+0.2D0*t8
10201      t49 = t45**2
10202      zk(i) = -0.9305257363491D0*t2*rhob*(0.8094D0+0.20292D-2*t8/t10
10203     #+0.119696D-4*t19/t20)-0.3109D-1*rhob*(1.D0+0.1274696188700087D0
10204     #*t28)*t43*(0.1737D0+0.46974D0*t8/t45-0.99472D-1*t19/t49)
10205      elseif(rhob.lt.tol) then
10206      rho = rhoa
10207      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10208      sigma = sigmaaa
10209      t2 = rhoa**(1.D0/3.D0)
10210      t4 = rhoa**2
10211      t5 = t2**2
10212      t8 = sigmaaa/t5/t4
10213      t10 = 1.D0+0.4D-2*t8
10214      t14 = sigmaaa**2
10215      t15 = t4**2
10216      t19 = t14/t2/t15/rhoa
10217      t20 = t10**2
10218      t27 = 1/rhoa
10219      t28 = t27**(1.D0/3.D0)
10220      t32 = t27**(1.D0/6.D0)
10221      t35 = dsqrt(t27)
10222      t37 = t28**2
10223      t43 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t32
10224     #+0.3844746237447211D1*t28+0.1644733775567609D1*t35
10225     #+0.2405871291288192D0*t37))
10226      t45 = 1.D0+0.2D0*t8
10227      t49 = t45**2
10228      zk(i) = -0.9305257363491D0*t2*rhoa*(0.8094D0+0.20292D-2*t8/t10
10229     #+0.119696D-4*t19/t20)-0.3109D-1*rhoa*(1.D0+0.1274696188700087D0
10230     #*t28)*t43*(0.1737D0+0.46974D0*t8/t45-0.99472D-1*t19/t49)
10231      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
10232      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10233      sigmaab = sigmaab1(i)
10234      sigmabb = dmax1(0.D0,sigmabb1(i))
10235      sigma = sigmaaa+sigmabb+2.D0*sigmaab
10236      t4 = rhoa**(1.D0/3.D0)
10237      t6 = rhoa**2
10238      t7 = t4**2
10239      t10 = sigmaaa/t7/t6
10240      t12 = 1.D0+0.4D-2*t10
10241      t16 = sigmaaa**2
10242      t17 = t6**2
10243      t21 = t16/t4/t17/rhoa
10244      t22 = t12**2
10245      t29 = 1/rhoa
10246      t30 = t29**(1.D0/3.D0)
10247      t33 = rhoa*(1.D0+0.1274696188700087D0*t30)
10248      t34 = t29**(1.D0/6.D0)
10249      t37 = dsqrt(t29)
10250      t39 = t30**2
10251      t45 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t34
10252     #+0.3844746237447211D1*t30+0.1644733775567609D1*t37
10253     #+0.2405871291288192D0*t39))
10254      t47 = 1.D0+0.2D0*t10
10255      t51 = t47**2
10256      t59 = rhob**(1.D0/3.D0)
10257      t61 = rhob**2
10258      t62 = t59**2
10259      t65 = sigmabb/t62/t61
10260      t67 = 1.D0+0.4D-2*t65
10261      t71 = sigmabb**2
10262      t72 = t61**2
10263      t76 = t71/t59/t72/rhob
10264      t77 = t67**2
10265      t84 = 1/rhob
10266      t85 = t84**(1.D0/3.D0)
10267      t88 = rhob*(1.D0+0.1274696188700087D0*t85)
10268      t89 = t84**(1.D0/6.D0)
10269      t92 = dsqrt(t84)
10270      t94 = t85**2
10271      t100 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t89
10272     #+0.3844746237447211D1*t85+0.1644733775567609D1*t92
10273     #+0.2405871291288192D0*t94))
10274      t102 = 1.D0+0.2D0*t65
10275      t106 = t102**2
10276      t114 = rhoa+rhob
10277      t115 = 1/t114
10278      t116 = t115**(1.D0/3.D0)
10279      t119 = t115**(1.D0/6.D0)
10280      t122 = dsqrt(t115)
10281      t124 = t116**2
10282      t130 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t119
10283     #+0.2225569421150687D1*t116+0.8004286349993634D0*t122
10284     #+0.1897004325747559D0*t124))
10285      t132 = 0.62182D-1*(1.D0+0.1325688999052018D0*t116)*t130
10286      t143 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t119
10287     #+0.2247591863577616D1*t116+0.4300972471276643D0*t122
10288     #+0.1911512595127338D0*t124))
10289      t146 = rhoa-1.D0*rhob
10290      t147 = t146*t115
10291      t148 = 1.D0+t147
10292      t149 = t148**(1.D0/3.D0)
10293      t152 = 1.D0-1.D0*t147
10294      t153 = t152**(1.D0/3.D0)
10295      t155 = t149*t148+t153*t152-2.D0
10296      t156 = t146**2
10297      t157 = t156**2
10298      t158 = t114**2
10299      t159 = t158**2
10300      t161 = t157/t159
10301      t177 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t119
10302     #+0.3844746237447211D1*t116+0.1644733775567609D1*t122
10303     #+0.2405871291288192D0*t124))
10304      t193 = 0.5D0*t10+0.5D0*t65
10305      t196 = 1.D0+0.3D-2*t10+0.3D-2*t65
10306      t200 = t193**2
10307      t201 = t196**2
10308      zk(i) = -0.9305257363491D0*t4*rhoa*(0.8094D0+0.20292D-2*t10/t12
10309     #+0.119696D-4*t21/t22)-0.3109D-1*t33*t45*(0.1737D0+0.46974D0*t10
10310     #/t47-0.99472D-1*t21/t51)-0.9305257363491D0*t59*rhob*(0.8094D0
10311     #+0.20292D-2*t65/t67+0.119696D-4*t76/t77)-0.3109D-1*t88*t100*
10312     #(0.1737D0+0.46974D0*t65/t102-0.99472D-1*t76/t106)+(t114*(-t132
10313     #+0.3799574853701528D-1*(1.D0+0.6901399211255825D-1*t116)*t143
10314     #*t155*(1.D0-1.D0*t161)+0.1923661050931536D1*(-0.3109D-1*(1.D0
10315     #+0.1274696188700087D0*t116)*t177+t132)*t155*t161)+0.3109D-1*t33
10316     #*t45+0.3109D-1*t88*t100)*(0.9454D0+0.44826D-2*t193/t196
10317     #-0.1654596D-3*t200/t201)
10318      endif ! rhoa,rhob
10319      else ! rho
10320      zk(i) = 0.0d0
10321      endif ! rho
10322      enddo
10323
10324      else if(ideriv.eq.1) then
10325
10326      do i=1,npt
10327      rhoa = dmax1(0.D0,rhoa1(i))
10328      rhob = dmax1(0.D0,rhob1(i))
10329      rho = rhoa+rhob
10330      if(rho.gt.tol) then
10331      if(rhoa.lt.tol) then
10332      rho = rhob
10333      sigmabb = dmax1(0.D0,sigmabb1(i))
10334      sigma = sigmabb
10335      t2 = rhob**(1.D0/3.D0)
10336      t3 = t2*rhob
10337      t4 = rhob**2
10338      t5 = t2**2
10339      t7 = 1/t5/t4
10340      t8 = sigmabb*t7
10341      t10 = 1.D0+0.4D-2*t8
10342      t11 = 1/t10
10343      t14 = sigmabb**2
10344      t15 = t4**2
10345      t18 = 1/t2/t15/rhob
10346      t19 = t14*t18
10347      t20 = t10**2
10348      t21 = 1/t20
10349      t24 = 0.8094D0+0.20292D-2*t8*t11+0.119696D-4*t19*t21
10350      t27 = 1/rhob
10351      t28 = t27**(1.D0/3.D0)
10352      t30 = 1.D0+0.1274696188700087D0*t28
10353      t31 = rhob*t30
10354      t32 = t27**(1.D0/6.D0)
10355      t35 = dsqrt(t27)
10356      t37 = t28**2
10357      t39 = 0.1112037486309468D2*t32+0.3844746237447211D1*t28
10358     #+0.1644733775567609D1*t35+0.2405871291288192D0*t37
10359      t42 = 1.D0+0.321646831778707D2/t39
10360      t43 = dlog(t42)
10361      t45 = 1.D0+0.2D0*t8
10362      t46 = 1/t45
10363      t49 = t45**2
10364      t50 = 1/t49
10365      t53 = 0.1737D0+0.46974D0*t8*t46-0.99472D-1*t19*t50
10366      t54 = t43*t53
10367      zk(i) = -0.9305257363491D0*t3*t24-0.3109D-1*t31*t54
10368      vrhoa(i) = 0.D0
10369      t62 = sigmabb/t5/t4/rhob
10370      t68 = t14/t2/t15/t4
10371      t72 = t15**2
10372      t75 = t14*sigmabb/t72/rhob
10373      t77 = 1/t20/t10
10374      t86 = 1/t37
10375      t90 = t39**2
10376      t93 = t32**2
10377      t94 = t93**2
10378      t97 = 1/t4
10379      t119 = 1/t49/t45
10380      vrhob(i) = -0.12407009817988D1*t2*t24-0.9305257363491D0*t3*(
10381     #-0.54112D-2*t62*t11-0.4219306666666667D-4*t68*t21
10382     #+0.2553514666666667D-6*t75*t77)-0.3109D-1*t30*t43*t53
10383     #+0.1321010150222857D-2*t27*t86*t54+0.1D1*t31/t90*(
10384     #-0.1853395810515781D1/t94/t32*t97-0.128158207914907D1*t86*t97
10385     #-0.8223668877838045D0/t35*t97-0.1603914194192128D0/t28*t97)/t42
10386     #*t53-0.3109D-1*t31*t43*(-0.125264D1*t62*t46+0.7810453333333333D0
10387     #*t68*t50-0.1061034666666667D0*t75*t119)
10388      vsigmaaa(i) = 0.D0
10389      vsigmaab(i) = 0.D0
10390      t128 = sigmabb*t18
10391      t132 = t14/t72
10392      vsigmabb(i) = -0.9305257363491D0*t3*(0.20292D-2*t7*t11
10393     #+0.158224D-4*t128*t21-0.957568D-7*t132*t77)-0.3109D-1*t31*t43*
10394     #(0.46974D0*t7*t46-0.292892D0*t128*t50+0.397888D-1*t132*t119)
10395      elseif(rhob.lt.tol) then
10396      rho = rhoa
10397      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10398      sigma = sigmaaa
10399      t2 = rhoa**(1.D0/3.D0)
10400      t3 = t2*rhoa
10401      t4 = rhoa**2
10402      t5 = t2**2
10403      t7 = 1/t5/t4
10404      t8 = sigmaaa*t7
10405      t10 = 1.D0+0.4D-2*t8
10406      t11 = 1/t10
10407      t14 = sigmaaa**2
10408      t15 = t4**2
10409      t18 = 1/t2/t15/rhoa
10410      t19 = t14*t18
10411      t20 = t10**2
10412      t21 = 1/t20
10413      t24 = 0.8094D0+0.20292D-2*t8*t11+0.119696D-4*t19*t21
10414      t27 = 1/rhoa
10415      t28 = t27**(1.D0/3.D0)
10416      t30 = 1.D0+0.1274696188700087D0*t28
10417      t31 = rhoa*t30
10418      t32 = t27**(1.D0/6.D0)
10419      t35 = dsqrt(t27)
10420      t37 = t28**2
10421      t39 = 0.1112037486309468D2*t32+0.3844746237447211D1*t28
10422     #+0.1644733775567609D1*t35+0.2405871291288192D0*t37
10423      t42 = 1.D0+0.321646831778707D2/t39
10424      t43 = dlog(t42)
10425      t45 = 1.D0+0.2D0*t8
10426      t46 = 1/t45
10427      t49 = t45**2
10428      t50 = 1/t49
10429      t53 = 0.1737D0+0.46974D0*t8*t46-0.99472D-1*t19*t50
10430      t54 = t43*t53
10431      zk(i) = -0.9305257363491D0*t3*t24-0.3109D-1*t31*t54
10432      t62 = sigmaaa/t5/t4/rhoa
10433      t68 = t14/t2/t15/t4
10434      t72 = t15**2
10435      t75 = t14*sigmaaa/t72/rhoa
10436      t77 = 1/t20/t10
10437      t86 = 1/t37
10438      t90 = t39**2
10439      t93 = t32**2
10440      t94 = t93**2
10441      t97 = 1/t4
10442      t119 = 1/t49/t45
10443      vrhoa(i) = -0.12407009817988D1*t2*t24-0.9305257363491D0*t3*(
10444     #-0.54112D-2*t62*t11-0.4219306666666667D-4*t68*t21
10445     #+0.2553514666666667D-6*t75*t77)-0.3109D-1*t30*t43*t53
10446     #+0.1321010150222857D-2*t27*t86*t54+0.1D1*t31/t90*(
10447     #-0.1853395810515781D1/t94/t32*t97-0.128158207914907D1*t86*t97
10448     #-0.8223668877838045D0/t35*t97-0.1603914194192128D0/t28*t97)/t42
10449     #*t53-0.3109D-1*t31*t43*(-0.125264D1*t62*t46+0.7810453333333333D0
10450     #*t68*t50-0.1061034666666667D0*t75*t119)
10451      vrhob(i) = 0.D0
10452      t128 = sigmaaa*t18
10453      t132 = t14/t72
10454      vsigmaaa(i) = -0.9305257363491D0*t3*(0.20292D-2*t7*t11
10455     #+0.158224D-4*t128*t21-0.957568D-7*t132*t77)-0.3109D-1*t31*t43*
10456     #(0.46974D0*t7*t46-0.292892D0*t128*t50+0.397888D-1*t132*t119)
10457      vsigmaab(i) = 0.D0
10458      vsigmabb(i) = 0.D0
10459      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
10460      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10461      sigmaab = sigmaab1(i)
10462      sigmabb = dmax1(0.D0,sigmabb1(i))
10463      sigma = sigmaaa+sigmabb+2.D0*sigmaab
10464      t4 = rhoa**(1.D0/3.D0)
10465      t5 = t4*rhoa
10466      t6 = rhoa**2
10467      t7 = t4**2
10468      t9 = 1/t7/t6
10469      t10 = sigmaaa*t9
10470      t12 = 1.D0+0.4D-2*t10
10471      t13 = 1/t12
10472      t16 = sigmaaa**2
10473      t17 = t6**2
10474      t20 = 1/t4/t17/rhoa
10475      t21 = t16*t20
10476      t22 = t12**2
10477      t23 = 1/t22
10478      t26 = 0.8094D0+0.20292D-2*t10*t13+0.119696D-4*t21*t23
10479      t29 = 1/rhoa
10480      t30 = t29**(1.D0/3.D0)
10481      t32 = 1.D0+0.1274696188700087D0*t30
10482      t33 = rhoa*t32
10483      t34 = t29**(1.D0/6.D0)
10484      t37 = dsqrt(t29)
10485      t39 = t30**2
10486      t41 = 0.1112037486309468D2*t34+0.3844746237447211D1*t30
10487     #+0.1644733775567609D1*t37+0.2405871291288192D0*t39
10488      t44 = 1.D0+0.321646831778707D2/t41
10489      t45 = dlog(t44)
10490      t47 = 1.D0+0.2D0*t10
10491      t48 = 1/t47
10492      t51 = t47**2
10493      t52 = 1/t51
10494      t55 = 0.1737D0+0.46974D0*t10*t48-0.99472D-1*t21*t52
10495      t56 = t45*t55
10496      t59 = rhob**(1.D0/3.D0)
10497      t60 = t59*rhob
10498      t61 = rhob**2
10499      t62 = t59**2
10500      t64 = 1/t62/t61
10501      t65 = sigmabb*t64
10502      t67 = 1.D0+0.4D-2*t65
10503      t68 = 1/t67
10504      t71 = sigmabb**2
10505      t72 = t61**2
10506      t75 = 1/t59/t72/rhob
10507      t76 = t71*t75
10508      t77 = t67**2
10509      t78 = 1/t77
10510      t81 = 0.8094D0+0.20292D-2*t65*t68+0.119696D-4*t76*t78
10511      t84 = 1/rhob
10512      t85 = t84**(1.D0/3.D0)
10513      t87 = 1.D0+0.1274696188700087D0*t85
10514      t88 = rhob*t87
10515      t89 = t84**(1.D0/6.D0)
10516      t92 = dsqrt(t84)
10517      t94 = t85**2
10518      t96 = 0.1112037486309468D2*t89+0.3844746237447211D1*t85
10519     #+0.1644733775567609D1*t92+0.2405871291288192D0*t94
10520      t99 = 1.D0+0.321646831778707D2/t96
10521      t100 = dlog(t99)
10522      t102 = 1.D0+0.2D0*t65
10523      t103 = 1/t102
10524      t106 = t102**2
10525      t107 = 1/t106
10526      t110 = 0.1737D0+0.46974D0*t65*t103-0.99472D-1*t76*t107
10527      t111 = t100*t110
10528      t114 = rhoa+rhob
10529      t115 = 1/t114
10530      t116 = t115**(1.D0/3.D0)
10531      t118 = 1.D0+0.1325688999052018D0*t116
10532      t119 = t115**(1.D0/6.D0)
10533      t122 = dsqrt(t115)
10534      t124 = t116**2
10535      t126 = 0.598255043577108D1*t119+0.2225569421150687D1*t116
10536     #+0.8004286349993634D0*t122+0.1897004325747559D0*t124
10537      t129 = 1.D0+0.160818243221511D2/t126
10538      t130 = dlog(t129)
10539      t132 = 0.62182D-1*t118*t130
10540      t134 = 1.D0+0.6901399211255825D-1*t116
10541      t139 = 0.8157414703487641D1*t119+0.2247591863577616D1*t116
10542     #+0.4300972471276643D0*t122+0.1911512595127338D0*t124
10543      t142 = 1.D0+0.2960857464321668D2/t139
10544      t143 = dlog(t142)
10545      t144 = t134*t143
10546      t146 = rhoa-1.D0*rhob
10547      t147 = t146*t115
10548      t148 = 1.D0+t147
10549      t149 = t148**(1.D0/3.D0)
10550      t152 = 1.D0-1.D0*t147
10551      t153 = t152**(1.D0/3.D0)
10552      t155 = t149*t148+t153*t152-2.D0
10553      t156 = t146**2
10554      t157 = t156**2
10555      t158 = t114**2
10556      t159 = t158**2
10557      t160 = 1/t159
10558      t161 = t157*t160
10559      t163 = 1.D0-1.D0*t161
10560      t166 = 0.3799574853701528D-1*t144*t155*t163
10561      t168 = 1.D0+0.1274696188700087D0*t116
10562      t173 = 0.1112037486309468D2*t119+0.3844746237447211D1*t116
10563     #+0.1644733775567609D1*t122+0.2405871291288192D0*t124
10564      t176 = 1.D0+0.321646831778707D2/t173
10565      t177 = dlog(t176)
10566      t180 = -0.3109D-1*t168*t177+t132
10567      t181 = t180*t155
10568      t183 = 0.1923661050931536D1*t181*t161
10569      t190 = t114*(-t132+t166+t183)+0.3109D-1*t33*t45+0.3109D-1*t88*t100
10570      t193 = 0.5D0*t10+0.5D0*t65
10571      t196 = 1.D0+0.3D-2*t10+0.3D-2*t65
10572      t197 = 1/t196
10573      t200 = t193**2
10574      t201 = t196**2
10575      t202 = 1/t201
10576      t205 = 0.9454D0+0.44826D-2*t193*t197-0.1654596D-3*t200*t202
10577      zk(i) = -0.9305257363491D0*t5*t26-0.3109D-1*t33*t56
10578     #-0.9305257363491D0*t60*t81-0.3109D-1*t88*t111+t190*t205
10579      t212 = sigmaaa/t7/t6/rhoa
10580      t218 = t16/t4/t17/t6
10581      t222 = t17**2
10582      t225 = t16*sigmaaa/t222/rhoa
10583      t227 = 1/t22/t12
10584      t233 = t32*t45
10585      t236 = 1/t39
10586      t237 = t29*t236
10587      t240 = t41**2
10588      t241 = 1/t240
10589      t243 = t34**2
10590      t244 = t243**2
10591      t247 = 1/t6
10592      t258 = -0.1853395810515781D1/t244/t34*t247-0.128158207914907D1
10593     #*t236*t247-0.8223668877838045D0/t37*t247-0.1603914194192128D0
10594     #/t30*t247
10595      t259 = 1/t44
10596      t269 = 1/t51/t47
10597      t277 = 1/t158
10598      t278 = 1/t124*t277
10599      t279 = t278*t130
10600      t280 = 0.2747799777968419D-2*t279
10601      t281 = t126**2
10602      t284 = t119**2
10603      t285 = t284**2
10604      t288 = 1/t285/t119*t277
10605      t292 = 1/t122*t277
10606      t295 = 1/t116*t277
10607      t300 = t118/t281*(-0.99709173929518D0*t288-0.7418564737168958D0
10608     #*t278-0.4002143174996817D0*t292-0.1264669550498372D0*t295)/t129
10609      t301 = 0.1D1*t300
10610      t305 = 0.8740794299481065D-3*t278*t143*t155*t163
10611      t306 = t139**2
10612      t319 = 0.1124999956683108D1*t134/t306*(-0.135956911724794D1*t288
10613     #-0.7491972878592054D0*t278-0.2150486235638321D0*t292
10614     #-0.1274341730084892D0*t295)/t142*t155*t163
10615      t320 = t146*t277
10616      t321 = 1.D0*t320
10617      t325 = 1.D0*t115
10618      t329 = 0.1333333333333333D1*t149*(t115-t321)
10619     #+0.1333333333333333D1*t153*(-t325+t320)
10620      t334 = t156*t146*t160
10621      t335 = 4.D0*t334
10622      t338 = t157/t159/t114
10623      t339 = 4.D0*t338
10624      t346 = t173**2
10625      t363 = 0.1923661050931536D1*(0.1321010150222857D-2*t278*t177
10626     #+0.1D1*t168/t346*(-0.1853395810515781D1*t288-0.128158207914907D1
10627     #*t278-0.8223668877838045D0*t292-0.1603914194192128D0*t295)/t176
10628     #-0.2747799777968419D-2*t279-0.1D1*t300)*t155*t161
10629      t367 = t181*t334
10630      t370 = 0.7694644203726145D1*t181*t338
10631      t384 = t193*t202
10632      t389 = t200/t201/t196
10633      vrhoa(i) = -0.12407009817988D1*t4*t26-0.9305257363491D0*t5*(
10634     #-0.54112D-2*t212*t13-0.4219306666666667D-4*t218*t23
10635     #+0.2553514666666667D-6*t225*t227)-0.3109D-1*t233*t55
10636     #+0.1321010150222857D-2*t237*t56+0.1D1*t33*t241*t258*t259*t55
10637     #-0.3109D-1*t33*t45*(-0.125264D1*t212*t48+0.7810453333333333D0
10638     #*t218*t52-0.1061034666666667D0*t225*t269)+(-t132+t166+t183+t114*
10639     #(t280+t301-t305-t319+0.3799574853701528D-1*t144*t329*t163
10640     #+0.3799574853701528D-1*t144*t155*(-t335+t339)+t363
10641     #+0.1923661050931536D1*t180*t329*t161+0.7694644203726145D1*t367
10642     #-t370)+0.3109D-1*t233-0.1321010150222857D-2*t237*t45-0.1D1*t33
10643     #*t241*t258*t259)*t205+t190*(-0.59768D-2*t212*t197+0.4770864D-3
10644     #*t384*t212-0.26473536D-5*t389*t212)
10645      t399 = sigmabb/t62/t61/rhob
10646      t405 = t71/t59/t72/t61
10647      t409 = t72**2
10648      t412 = t71*sigmabb/t409/rhob
10649      t414 = 1/t77/t67
10650      t420 = t87*t100
10651      t423 = 1/t94
10652      t424 = t84*t423
10653      t427 = t96**2
10654      t428 = 1/t427
10655      t430 = t89**2
10656      t431 = t430**2
10657      t434 = 1/t61
10658      t445 = -0.1853395810515781D1/t431/t89*t434-0.128158207914907D1
10659     #*t423*t434-0.8223668877838045D0/t92*t434-0.1603914194192128D0
10660     #/t85*t434
10661      t446 = 1/t99
10662      t456 = 1/t106/t102
10663      t469 = 0.1333333333333333D1*t149*(-t325-t321)
10664     #+0.1333333333333333D1*t153*(t115+t320)
10665      s1 = -0.12407009817988D1*t59*t81-0.9305257363491D0*t60*(
10666     #-0.54112D-2*t399*t68-0.4219306666666667D-4*t405*t78
10667     #+0.2553514666666667D-6*t412*t414)-0.3109D-1*t420*t110
10668     #+0.1321010150222857D-2*t424*t111
10669      vrhob(i) = s1+0.1D1*t88*t428*t445*t446*t110-0.3109D-1*t88*t100*(
10670     #-0.125264D1*t399*t103+0.7810453333333333D0*t405*t107
10671     #-0.1061034666666667D0*t412*t456)+(-t132+t166+t183+t114*(t280
10672     #+t301-t305-t319+0.3799574853701528D-1*t144*t469*t163
10673     #+0.3799574853701528D-1*t144*t155*(t335+t339)+t363
10674     #+0.1923661050931536D1*t180*t469*t161-0.7694644203726145D1*t367
10675     #-t370)+0.3109D-1*t420-0.1321010150222857D-2*t424*t100-0.1D1*t88
10676     #*t428*t445*t446)*t205+t190*(-0.59768D-2*t399*t197+0.4770864D-3
10677     #*t384*t399-0.26473536D-5*t389*t399)
10678      t502 = sigmaaa*t20
10679      t506 = t16/t222
10680      vsigmaaa(i) = -0.9305257363491D0*t5*(0.20292D-2*t9*t13
10681     #+0.158224D-4*t502*t23-0.957568D-7*t506*t227)-0.3109D-1*t33*t45*
10682     #(0.46974D0*t9*t48-0.292892D0*t502*t52+0.397888D-1*t506*t269)
10683     #+t190*(0.22413D-2*t9*t197-0.1789074D-3*t384*t9+0.9927576D-6*t389
10684     #*t9)
10685      vsigmaab(i) = 0.D0
10686      t532 = sigmabb*t75
10687      t536 = t71/t409
10688      vsigmabb(i) = -0.9305257363491D0*t60*(0.20292D-2*t64*t68
10689     #+0.158224D-4*t532*t78-0.957568D-7*t536*t414)-0.3109D-1*t88*t100*
10690     #(0.46974D0*t64*t103-0.292892D0*t532*t107+0.397888D-1*t536*t456)
10691     #+t190*(0.22413D-2*t64*t197-0.1789074D-3*t384*t64+0.9927576D-6
10692     #*t389*t64)
10693      endif ! rhoa,rhob
10694      else ! rho
10695      zk(i) = 0.0d0
10696      vrhoa(i) = 0.0d0
10697      vrhob(i) = 0.0d0
10698      vsigmaaa(i) = 0.0d0
10699      vsigmaab(i) = 0.0d0
10700      vsigmabb(i) = 0.0d0
10701      endif ! rho
10702      enddo
10703
10704      else if(ideriv.eq.2) then
10705
10706      do i=1,npt
10707      rhoa = dmax1(0.D0,rhoa1(i))
10708      rhob = dmax1(0.D0,rhob1(i))
10709      rho = rhoa+rhob
10710      if(rho.gt.tol) then
10711      if(rhoa.lt.tol) then
10712      rho = rhob
10713      sigmabb = dmax1(0.D0,sigmabb1(i))
10714      sigma = sigmabb
10715      t2 = rhob**(1.D0/3.D0)
10716      t3 = t2*rhob
10717      t4 = rhob**2
10718      t5 = t2**2
10719      t7 = 1/t5/t4
10720      t8 = sigmabb*t7
10721      t10 = 1.D0+0.4D-2*t8
10722      t11 = 1/t10
10723      t14 = sigmabb**2
10724      t15 = t4**2
10725      t18 = 1/t2/t15/rhob
10726      t19 = t14*t18
10727      t20 = t10**2
10728      t21 = 1/t20
10729      t24 = 0.8094D0+0.20292D-2*t8*t11+0.119696D-4*t19*t21
10730      t27 = 1/rhob
10731      t28 = t27**(1.D0/3.D0)
10732      t30 = 1.D0+0.1274696188700087D0*t28
10733      t31 = rhob*t30
10734      t32 = t27**(1.D0/6.D0)
10735      t35 = dsqrt(t27)
10736      t37 = t28**2
10737      t39 = 0.1112037486309468D2*t32+0.3844746237447211D1*t28
10738     #+0.1644733775567609D1*t35+0.2405871291288192D0*t37
10739      t42 = 1.D0+0.321646831778707D2/t39
10740      t43 = dlog(t42)
10741      t45 = 1.D0+0.2D0*t8
10742      t46 = 1/t45
10743      t49 = t45**2
10744      t50 = 1/t49
10745      t53 = 0.1737D0+0.46974D0*t8*t46-0.99472D-1*t19*t50
10746      t54 = t43*t53
10747      zk(i) = -0.9305257363491D0*t3*t24-0.3109D-1*t31*t54
10748      vrhoa(i) = 0.D0
10749      t59 = t4*rhob
10750      t62 = sigmabb/t5/t59
10751      t68 = t14/t2/t15/t4
10752      t71 = t14*sigmabb
10753      t72 = t15**2
10754      t75 = t71/t72/rhob
10755      t77 = 1/t20/t10
10756      t80 = -0.54112D-2*t62*t11-0.4219306666666667D-4*t68*t21
10757     #+0.2553514666666667D-6*t75*t77
10758      t83 = t30*t43
10759      t86 = 1/t37
10760      t87 = t27*t86
10761      t90 = t39**2
10762      t91 = 1/t90
10763      t92 = t31*t91
10764      t93 = t32**2
10765      t94 = t93**2
10766      t95 = t94*t32
10767      t96 = 1/t95
10768      t97 = 1/t4
10769      t102 = 1/t35
10770      t105 = 1/t28
10771      t108 = -0.1853395810515781D1*t96*t97-0.128158207914907D1*t86*t97
10772     #-0.8223668877838045D0*t102*t97-0.1603914194192128D0*t105*t97
10773      t109 = 1/t42
10774      t110 = t108*t109
10775      t111 = t110*t53
10776      t119 = 1/t49/t45
10777      t122 = -0.125264D1*t62*t46+0.7810453333333333D0*t68*t50
10778     #-0.1061034666666667D0*t75*t119
10779      t123 = t43*t122
10780      vrhob(i) = -0.12407009817988D1*t2*t24-0.9305257363491D0*t3*t80
10781     #-0.3109D-1*t83*t53+0.1321010150222857D-2*t87*t54+0.1D1*t92*t111
10782     #-0.3109D-1*t31*t123
10783      vsigmaaa(i) = 0.D0
10784      vsigmaab(i) = 0.D0
10785      t128 = sigmabb*t18
10786      t131 = 1/t72
10787      t132 = t14*t131
10788      vsigmabb(i) = -0.9305257363491D0*t3*(0.20292D-2*t7*t11
10789     #+0.158224D-4*t128*t21-0.957568D-7*t132*t77)-0.3109D-1*t31*t43*
10790     #(0.46974D0*t7*t46-0.292892D0*t128*t50+0.397888D-1*t132*t119)
10791      v2rhoa2(i) = 0.D0
10792      v2rhoab(i) = 0.D0
10793      t155 = sigmabb/t5/t15
10794      t161 = t14/t2/t15/t59
10795      t164 = t72*t4
10796      t166 = t71/t164
10797      t169 = t14**2
10798      t173 = t169/t5/t72/t15
10799      t174 = t20**2
10800      t175 = 1/t174
10801      t186 = 1/t59
10802      t188 = 1/t37/t27
10803      t200 = t108**2
10804      t207 = 1/t15
10805      t233 = t90**2
10806      t236 = t42**2
10807      t251 = t49**2
10808      t252 = 1/t251
10809      s1 = -0.4135669939329333D0/t5*t24-0.24814019635976D1*t2*t80
10810     #-0.9305257363491D0*t3*(0.1984106666666667D-1*t155*t11
10811     #+0.2095032888888889D-3*t161*t21-0.3198281955555556D-5*t166*t77
10812     #+0.8171246933333333D-8*t173*t175)+0.2D1*t30*t91*t111-0.6218D-1
10813     #*t83*t122+0.8806734334819047D-3*t186*t188*t54
10814      v2rhob2(i) = s1-0.8497974591333914D-1*t87*t91*t111
10815     #+0.2642020300445714D-2*t87*t123-0.2D1*t31/t90/t39*t200*t109*t53
10816     #+0.1D1*t92*(-0.1544496508763151D1/t95/t27*t207
10817     #+0.3706791621031562D1*t96*t186-0.854388052766047D0*t188*t207
10818     #+0.2563164158298141D1*t86*t186-0.4111834438919023D0/t35/t27*t207
10819     #+0.1644733775567609D1*t102*t186-0.5346380647307093D-1/t28/t27
10820     #*t207+0.3207828388384256D0*t105*t186)*t109*t53
10821     #+0.321646831778707D2*t31/t233*t200/t236*t53+0.2D1*t92*t110*t122
10822     #-0.3109D-1*t31*t43*(0.4593013333333333D1*t155*t46
10823     #-0.5614695111111111D1*t161*t50+0.1788046222222222D1*t166*t119
10824     #-0.1697655466666667D0*t173*t252)
10825      v2sigmaaa2(i) = 0.D0
10826      v2sigmaaaab(i) = 0.D0
10827      v2sigmaaabb(i) = 0.D0
10828      v2sigmaab2(i) = 0.D0
10829      v2sigmaabbb(i) = 0.D0
10830      t261 = sigmabb*t131
10831      t266 = t14/t5/t164
10832      v2sigmabb2(i) = -0.9305257363491D0*t3*(0.77056D-5*t18*t21
10833     #-0.3180928D-6*t261*t77+0.11490816D-8*t266*t175)-0.3109D-1*t31
10834     #*t43*(-0.38684D0*t18*t50+0.1967344D0*t261*t119-0.2387328D-1*t266
10835     #*t252)
10836      elseif(rhob.lt.tol) then
10837      rho = rhoa
10838      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10839      sigma = sigmaaa
10840      t2 = rhoa**(1.D0/3.D0)
10841      t3 = t2*rhoa
10842      t4 = rhoa**2
10843      t5 = t2**2
10844      t7 = 1/t5/t4
10845      t8 = sigmaaa*t7
10846      t10 = 1.D0+0.4D-2*t8
10847      t11 = 1/t10
10848      t14 = sigmaaa**2
10849      t15 = t4**2
10850      t18 = 1/t2/t15/rhoa
10851      t19 = t14*t18
10852      t20 = t10**2
10853      t21 = 1/t20
10854      t24 = 0.8094D0+0.20292D-2*t8*t11+0.119696D-4*t19*t21
10855      t27 = 1/rhoa
10856      t28 = t27**(1.D0/3.D0)
10857      t30 = 1.D0+0.1274696188700087D0*t28
10858      t31 = rhoa*t30
10859      t32 = t27**(1.D0/6.D0)
10860      t35 = dsqrt(t27)
10861      t37 = t28**2
10862      t39 = 0.1112037486309468D2*t32+0.3844746237447211D1*t28
10863     #+0.1644733775567609D1*t35+0.2405871291288192D0*t37
10864      t42 = 1.D0+0.321646831778707D2/t39
10865      t43 = dlog(t42)
10866      t45 = 1.D0+0.2D0*t8
10867      t46 = 1/t45
10868      t49 = t45**2
10869      t50 = 1/t49
10870      t53 = 0.1737D0+0.46974D0*t8*t46-0.99472D-1*t19*t50
10871      t54 = t43*t53
10872      zk(i) = -0.9305257363491D0*t3*t24-0.3109D-1*t31*t54
10873      t59 = t4*rhoa
10874      t62 = sigmaaa/t5/t59
10875      t68 = t14/t2/t15/t4
10876      t71 = t14*sigmaaa
10877      t72 = t15**2
10878      t75 = t71/t72/rhoa
10879      t77 = 1/t20/t10
10880      t80 = -0.54112D-2*t62*t11-0.4219306666666667D-4*t68*t21
10881     #+0.2553514666666667D-6*t75*t77
10882      t83 = t30*t43
10883      t86 = 1/t37
10884      t87 = t27*t86
10885      t90 = t39**2
10886      t91 = 1/t90
10887      t92 = t31*t91
10888      t93 = t32**2
10889      t94 = t93**2
10890      t95 = t94*t32
10891      t96 = 1/t95
10892      t97 = 1/t4
10893      t102 = 1/t35
10894      t105 = 1/t28
10895      t108 = -0.1853395810515781D1*t96*t97-0.128158207914907D1*t86*t97
10896     #-0.8223668877838045D0*t102*t97-0.1603914194192128D0*t105*t97
10897      t109 = 1/t42
10898      t110 = t108*t109
10899      t111 = t110*t53
10900      t119 = 1/t49/t45
10901      t122 = -0.125264D1*t62*t46+0.7810453333333333D0*t68*t50
10902     #-0.1061034666666667D0*t75*t119
10903      t123 = t43*t122
10904      vrhoa(i) = -0.12407009817988D1*t2*t24-0.9305257363491D0*t3*t80
10905     #-0.3109D-1*t83*t53+0.1321010150222857D-2*t87*t54+0.1D1*t92*t111
10906     #-0.3109D-1*t31*t123
10907      vrhob(i) = 0.D0
10908      t128 = sigmaaa*t18
10909      t131 = 1/t72
10910      t132 = t14*t131
10911      vsigmaaa(i) = -0.9305257363491D0*t3*(0.20292D-2*t7*t11
10912     #+0.158224D-4*t128*t21-0.957568D-7*t132*t77)-0.3109D-1*t31*t43*
10913     #(0.46974D0*t7*t46-0.292892D0*t128*t50+0.397888D-1*t132*t119)
10914      vsigmaab(i) = 0.D0
10915      vsigmabb(i) = 0.D0
10916      t155 = sigmaaa/t5/t15
10917      t161 = t14/t2/t15/t59
10918      t164 = t72*t4
10919      t166 = t71/t164
10920      t169 = t14**2
10921      t173 = t169/t5/t72/t15
10922      t174 = t20**2
10923      t175 = 1/t174
10924      t186 = 1/t59
10925      t188 = 1/t37/t27
10926      t200 = t108**2
10927      t207 = 1/t15
10928      t233 = t90**2
10929      t236 = t42**2
10930      t251 = t49**2
10931      t252 = 1/t251
10932      s1 = -0.4135669939329333D0/t5*t24-0.24814019635976D1*t2*t80
10933     #-0.9305257363491D0*t3*(0.1984106666666667D-1*t155*t11
10934     #+0.2095032888888889D-3*t161*t21-0.3198281955555556D-5*t166*t77
10935     #+0.8171246933333333D-8*t173*t175)+0.2D1*t30*t91*t111-0.6218D-1
10936     #*t83*t122+0.8806734334819047D-3*t186*t188*t54
10937      v2rhoa2(i) = s1-0.8497974591333914D-1*t87*t91*t111
10938     #+0.2642020300445714D-2*t87*t123-0.2D1*t31/t90/t39*t200*t109*t53
10939     #+0.1D1*t92*(-0.1544496508763151D1/t95/t27*t207
10940     #+0.3706791621031562D1*t96*t186-0.854388052766047D0*t188*t207
10941     #+0.2563164158298141D1*t86*t186-0.4111834438919023D0/t35/t27*t207
10942     #+0.1644733775567609D1*t102*t186-0.5346380647307093D-1/t28/t27
10943     #*t207+0.3207828388384256D0*t105*t186)*t109*t53
10944     #+0.321646831778707D2*t31/t233*t200/t236*t53+0.2D1*t92*t110*t122
10945     #-0.3109D-1*t31*t43*(0.4593013333333333D1*t155*t46
10946     #-0.5614695111111111D1*t161*t50+0.1788046222222222D1*t166*t119
10947     #-0.1697655466666667D0*t173*t252)
10948      v2rhob2(i) = 0.D0
10949      v2rhoab(i) = 0.D0
10950      t261 = sigmaaa*t131
10951      t266 = t14/t5/t164
10952      v2sigmaaa2(i) = -0.9305257363491D0*t3*(0.77056D-5*t18*t21
10953     #-0.3180928D-6*t261*t77+0.11490816D-8*t266*t175)-0.3109D-1*t31
10954     #*t43*(-0.38684D0*t18*t50+0.1967344D0*t261*t119-0.2387328D-1*t266
10955     #*t252)
10956      v2sigmaaaab(i) = 0.D0
10957      v2sigmaaabb(i) = 0.D0
10958      v2sigmaab2(i) = 0.D0
10959      v2sigmaabbb(i) = 0.D0
10960      v2sigmabb2(i) = 0.D0
10961      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
10962      sigmaaa = dmax1(0.D0,sigmaaa1(i))
10963      sigmaab = sigmaab1(i)
10964      sigmabb = dmax1(0.D0,sigmabb1(i))
10965      sigma = sigmaaa+sigmabb+2.D0*sigmaab
10966      t4 = rhoa**(1.D0/3.D0)
10967      t5 = t4*rhoa
10968      t6 = rhoa**2
10969      t7 = t4**2
10970      t9 = 1/t7/t6
10971      t10 = sigmaaa*t9
10972      t12 = 1.D0+0.4D-2*t10
10973      t13 = 1/t12
10974      t16 = sigmaaa**2
10975      t17 = t6**2
10976      t20 = 1/t4/t17/rhoa
10977      t21 = t16*t20
10978      t22 = t12**2
10979      t23 = 1/t22
10980      t26 = 0.8094D0+0.20292D-2*t10*t13+0.119696D-4*t21*t23
10981      t29 = 1/rhoa
10982      t30 = t29**(1.D0/3.D0)
10983      t32 = 1.D0+0.1274696188700087D0*t30
10984      t33 = rhoa*t32
10985      t34 = t29**(1.D0/6.D0)
10986      t37 = dsqrt(t29)
10987      t39 = t30**2
10988      t41 = 0.1112037486309468D2*t34+0.3844746237447211D1*t30
10989     #+0.1644733775567609D1*t37+0.2405871291288192D0*t39
10990      t44 = 1.D0+0.321646831778707D2/t41
10991      t45 = dlog(t44)
10992      t47 = 1.D0+0.2D0*t10
10993      t48 = 1/t47
10994      t51 = t47**2
10995      t52 = 1/t51
10996      t55 = 0.1737D0+0.46974D0*t10*t48-0.99472D-1*t21*t52
10997      t56 = t45*t55
10998      t59 = rhob**(1.D0/3.D0)
10999      t60 = t59*rhob
11000      t61 = rhob**2
11001      t62 = t59**2
11002      t64 = 1/t62/t61
11003      t65 = sigmabb*t64
11004      t67 = 1.D0+0.4D-2*t65
11005      t68 = 1/t67
11006      t71 = sigmabb**2
11007      t72 = t61**2
11008      t75 = 1/t59/t72/rhob
11009      t76 = t71*t75
11010      t77 = t67**2
11011      t78 = 1/t77
11012      t81 = 0.8094D0+0.20292D-2*t65*t68+0.119696D-4*t76*t78
11013      t84 = 1/rhob
11014      t85 = t84**(1.D0/3.D0)
11015      t87 = 1.D0+0.1274696188700087D0*t85
11016      t88 = rhob*t87
11017      t89 = t84**(1.D0/6.D0)
11018      t92 = dsqrt(t84)
11019      t94 = t85**2
11020      t96 = 0.1112037486309468D2*t89+0.3844746237447211D1*t85
11021     #+0.1644733775567609D1*t92+0.2405871291288192D0*t94
11022      t99 = 1.D0+0.321646831778707D2/t96
11023      t100 = dlog(t99)
11024      t102 = 1.D0+0.2D0*t65
11025      t103 = 1/t102
11026      t106 = t102**2
11027      t107 = 1/t106
11028      t110 = 0.1737D0+0.46974D0*t65*t103-0.99472D-1*t76*t107
11029      t111 = t100*t110
11030      t114 = rhoa+rhob
11031      t115 = 1/t114
11032      t116 = t115**(1.D0/3.D0)
11033      t118 = 1.D0+0.1325688999052018D0*t116
11034      t119 = t115**(1.D0/6.D0)
11035      t122 = dsqrt(t115)
11036      t124 = t116**2
11037      t126 = 0.598255043577108D1*t119+0.2225569421150687D1*t116
11038     #+0.8004286349993634D0*t122+0.1897004325747559D0*t124
11039      t129 = 1.D0+0.160818243221511D2/t126
11040      t130 = dlog(t129)
11041      t132 = 0.62182D-1*t118*t130
11042      t134 = 1.D0+0.6901399211255825D-1*t116
11043      t139 = 0.8157414703487641D1*t119+0.2247591863577616D1*t116
11044     #+0.4300972471276643D0*t122+0.1911512595127338D0*t124
11045      t142 = 1.D0+0.2960857464321668D2/t139
11046      t143 = dlog(t142)
11047      t144 = t134*t143
11048      t146 = rhoa-1.D0*rhob
11049      t147 = t146*t115
11050      t148 = 1.D0+t147
11051      t149 = t148**(1.D0/3.D0)
11052      t152 = 1.D0-1.D0*t147
11053      t153 = t152**(1.D0/3.D0)
11054      t155 = t149*t148+t153*t152-2.D0
11055      t156 = t146**2
11056      t157 = t156**2
11057      t158 = t114**2
11058      t159 = t158**2
11059      t160 = 1/t159
11060      t161 = t157*t160
11061      t163 = 1.D0-1.D0*t161
11062      t164 = t155*t163
11063      t166 = 0.3799574853701528D-1*t144*t164
11064      t168 = 1.D0+0.1274696188700087D0*t116
11065      t173 = 0.1112037486309468D2*t119+0.3844746237447211D1*t116
11066     #+0.1644733775567609D1*t122+0.2405871291288192D0*t124
11067      t176 = 1.D0+0.321646831778707D2/t173
11068      t177 = dlog(t176)
11069      t180 = -0.3109D-1*t168*t177+t132
11070      t181 = t180*t155
11071      t183 = 0.1923661050931536D1*t181*t161
11072      t190 = t114*(-t132+t166+t183)+0.3109D-1*t33*t45+0.3109D-1*t88*t100
11073      t193 = 0.5D0*t10+0.5D0*t65
11074      t196 = 1.D0+0.3D-2*t10+0.3D-2*t65
11075      t197 = 1/t196
11076      t200 = t193**2
11077      t201 = t196**2
11078      t202 = 1/t201
11079      t205 = 0.9454D0+0.44826D-2*t193*t197-0.1654596D-3*t200*t202
11080      zk(i) = -0.9305257363491D0*t5*t26-0.3109D-1*t33*t56
11081     #-0.9305257363491D0*t60*t81-0.3109D-1*t88*t111+t190*t205
11082      t209 = t6*rhoa
11083      t211 = 1/t7/t209
11084      t212 = sigmaaa*t211
11085      t217 = 1/t4/t17/t6
11086      t218 = t16*t217
11087      t221 = t16*sigmaaa
11088      t222 = t17**2
11089      t224 = 1/t222/rhoa
11090      t225 = t221*t224
11091      t227 = 1/t22/t12
11092      t230 = -0.54112D-2*t212*t13-0.4219306666666667D-4*t218*t23
11093     #+0.2553514666666667D-6*t225*t227
11094      t233 = t32*t45
11095      t236 = 1/t39
11096      t237 = t29*t236
11097      t240 = t41**2
11098      t241 = 1/t240
11099      t242 = t33*t241
11100      t243 = t34**2
11101      t244 = t243**2
11102      t245 = t244*t34
11103      t246 = 1/t245
11104      t247 = 1/t6
11105      t252 = 1/t37
11106      t255 = 1/t30
11107      t258 = -0.1853395810515781D1*t246*t247-0.128158207914907D1*t236
11108     #*t247-0.8223668877838045D0*t252*t247-0.1603914194192128D0*t255
11109     #*t247
11110      t259 = 1/t44
11111      t260 = t258*t259
11112      t261 = t260*t55
11113      t269 = 1/t51/t47
11114      t272 = -0.125264D1*t212*t48+0.7810453333333333D0*t218*t52
11115     #-0.1061034666666667D0*t225*t269
11116      t273 = t45*t272
11117      t276 = 1/t124
11118      t277 = 1/t158
11119      t278 = t276*t277
11120      t279 = t278*t130
11121      t280 = 0.2747799777968419D-2*t279
11122      t281 = t126**2
11123      t282 = 1/t281
11124      t283 = t118*t282
11125      t284 = t119**2
11126      t285 = t284**2
11127      t286 = t285*t119
11128      t287 = 1/t286
11129      t288 = t287*t277
11130      t291 = 1/t122
11131      t292 = t291*t277
11132      t294 = 1/t116
11133      t295 = t294*t277
11134      t297 = -0.99709173929518D0*t288-0.7418564737168958D0*t278
11135     #-0.4002143174996817D0*t292-0.1264669550498372D0*t295
11136      t298 = 1/t129
11137      t300 = t283*t297*t298
11138      t301 = 0.1D1*t300
11139      t302 = t143*t155
11140      t303 = t302*t163
11141      t304 = t278*t303
11142      t305 = 0.8740794299481065D-3*t304
11143      t306 = t139**2
11144      t307 = 1/t306
11145      t308 = t134*t307
11146      t313 = -0.135956911724794D1*t288-0.7491972878592054D0*t278
11147     #-0.2150486235638321D0*t292-0.1274341730084892D0*t295
11148      t314 = t308*t313
11149      t315 = 1/t142
11150      t316 = t315*t155
11151      t317 = t316*t163
11152      t318 = t314*t317
11153      t319 = 0.1124999956683108D1*t318
11154      t320 = t146*t277
11155      t321 = 1.D0*t320
11156      t322 = t115-t321
11157      t325 = 1.D0*t115
11158      t326 = -t325+t320
11159      t329 = 0.1333333333333333D1*t149*t322+0.1333333333333333D1*t153
11160     #*t326
11161      t331 = t144*t329*t163
11162      t332 = 0.3799574853701528D-1*t331
11163      t333 = t156*t146
11164      t334 = t333*t160
11165      t335 = 4.D0*t334
11166      t337 = 1/t159/t114
11167      t338 = t157*t337
11168      t339 = 4.D0*t338
11169      t340 = -t335+t339
11170      t342 = t144*t155*t340
11171      t343 = 0.3799574853701528D-1*t342
11172      t346 = t173**2
11173      t347 = 1/t346
11174      t348 = t168*t347
11175      t353 = -0.1853395810515781D1*t288-0.128158207914907D1*t278
11176     #-0.8223668877838045D0*t292-0.1603914194192128D0*t295
11177      t354 = 1/t176
11178      t360 = 0.1321010150222857D-2*t278*t177+0.1D1*t348*t353*t354
11179     #-0.2747799777968419D-2*t279-0.1D1*t300
11180      t361 = t360*t155
11181      t362 = t361*t161
11182      t363 = 0.1923661050931536D1*t362
11183      t364 = t180*t329
11184      t365 = t364*t161
11185      t366 = 0.1923661050931536D1*t365
11186      t367 = t181*t334
11187      t369 = t181*t338
11188      t370 = 0.7694644203726145D1*t369
11189      t377 = t241*t258*t259
11190      t380 = -t132+t166+t183+t114*(t280+t301-t305-t319+t332+t343+t363
11191     #+t366+0.7694644203726145D1*t367-t370)+0.3109D-1*t233
11192     #-0.1321010150222857D-2*t237*t45-0.1D1*t33*t377
11193      t384 = t193*t202
11194      t388 = 1/t201/t196
11195      t389 = t200*t388
11196      t392 = -0.59768D-2*t212*t197+0.4770864D-3*t384*t212
11197     #-0.26473536D-5*t389*t212
11198      vrhoa(i) = -0.12407009817988D1*t4*t26-0.9305257363491D0*t5*t230
11199     #-0.3109D-1*t233*t55+0.1321010150222857D-2*t237*t56+0.1D1*t242
11200     #*t261-0.3109D-1*t33*t273+t380*t205+t190*t392
11201      t396 = t61*rhob
11202      t398 = 1/t62/t396
11203      t399 = sigmabb*t398
11204      t404 = 1/t59/t72/t61
11205      t405 = t71*t404
11206      t408 = t71*sigmabb
11207      t409 = t72**2
11208      t411 = 1/t409/rhob
11209      t412 = t408*t411
11210      t414 = 1/t77/t67
11211      t417 = -0.54112D-2*t399*t68-0.4219306666666667D-4*t405*t78
11212     #+0.2553514666666667D-6*t412*t414
11213      t420 = t87*t100
11214      t423 = 1/t94
11215      t424 = t84*t423
11216      t427 = t96**2
11217      t428 = 1/t427
11218      t429 = t88*t428
11219      t430 = t89**2
11220      t431 = t430**2
11221      t432 = t431*t89
11222      t433 = 1/t432
11223      t434 = 1/t61
11224      t439 = 1/t92
11225      t442 = 1/t85
11226      t445 = -0.1853395810515781D1*t433*t434-0.128158207914907D1*t423
11227     #*t434-0.8223668877838045D0*t439*t434-0.1603914194192128D0*t442
11228     #*t434
11229      t446 = 1/t99
11230      t447 = t445*t446
11231      t448 = t447*t110
11232      t456 = 1/t106/t102
11233      t459 = -0.125264D1*t399*t103+0.7810453333333333D0*t405*t107
11234     #-0.1061034666666667D0*t412*t456
11235      t460 = t100*t459
11236      t463 = -t325-t321
11237      t466 = t115+t320
11238      t469 = 0.1333333333333333D1*t149*t463+0.1333333333333333D1*t153
11239     #*t466
11240      t471 = t144*t469*t163
11241      t472 = 0.3799574853701528D-1*t471
11242      t473 = t335+t339
11243      t475 = t144*t155*t473
11244      t476 = 0.3799574853701528D-1*t475
11245      t477 = t180*t469
11246      t478 = t477*t161
11247      t479 = 0.1923661050931536D1*t478
11248      t487 = t428*t445*t446
11249      t490 = -t132+t166+t183+t114*(t280+t301-t305-t319+t472+t476+t363
11250     #+t479-0.7694644203726145D1*t367-t370)+0.3109D-1*t420
11251     #-0.1321010150222857D-2*t424*t100-0.1D1*t88*t487
11252      t498 = -0.59768D-2*t399*t197+0.4770864D-3*t384*t399
11253     #-0.26473536D-5*t389*t399
11254      vrhob(i) = -0.12407009817988D1*t59*t81-0.9305257363491D0*t60
11255     #*t417-0.3109D-1*t420*t110+0.1321010150222857D-2*t424*t111+0.1D1
11256     #*t429*t448-0.3109D-1*t88*t460+t490*t205+t190*t498
11257      t502 = sigmaaa*t20
11258      t505 = 1/t222
11259      t506 = t16*t505
11260      t509 = 0.20292D-2*t9*t13+0.158224D-4*t502*t23-0.957568D-7*t506
11261     #*t227
11262      t518 = 0.46974D0*t9*t48-0.292892D0*t502*t52+0.397888D-1*t506*t269
11263      t519 = t45*t518
11264      t528 = 0.22413D-2*t9*t197-0.1789074D-3*t384*t9+0.9927576D-6*t389
11265     #*t9
11266      vsigmaaa(i) = -0.9305257363491D0*t5*t509-0.3109D-1*t33*t519+t190
11267     #*t528
11268      vsigmaab(i) = 0.D0
11269      t532 = sigmabb*t75
11270      t535 = 1/t409
11271      t536 = t71*t535
11272      t539 = 0.20292D-2*t64*t68+0.158224D-4*t532*t78-0.957568D-7*t536
11273     #*t414
11274      t548 = 0.46974D0*t64*t103-0.292892D0*t532*t107+0.397888D-1*t536
11275     #*t456
11276      t549 = t100*t548
11277      t558 = 0.22413D-2*t64*t197-0.1789074D-3*t384*t64+0.9927576D-6
11278     #*t389*t64
11279      vsigmabb(i) = -0.9305257363491D0*t60*t539-0.3109D-1*t88*t549
11280     #+t190*t558
11281      t562 = t32*t241
11282      t566 = 1/t240/t41
11283      t567 = t258**2
11284      t574 = 1/t209
11285      t576 = 1/t39/t29
11286      t577 = t574*t576
11287      t582 = 1/t17
11288      t603 = -0.1544496508763151D1/t245/t29*t582+0.3706791621031562D1
11289     #*t246*t574-0.854388052766047D0*t576*t582+0.2563164158298141D1
11290     #*t236*t574-0.4111834438919023D0/t37/t29*t582
11291     #+0.1644733775567609D1*t252*t574-0.5346380647307093D-1/t30/t29
11292     #*t582+0.3207828388384256D0*t255*t574
11293      t609 = t240**2
11294      t610 = 1/t609
11295      t612 = t44**2
11296      t613 = 1/t612
11297      t617 = 0.5495599555936838D-2*t279
11298      t618 = 0.2D1*t300
11299      t621 = 0.1538928840745229D2*t369
11300      t623 = 0.1748158859896213D-2*t304
11301      t624 = 0.2249999913366216D1*t318
11302      t625 = 0.3847322101863073D1*t362
11303      t628 = 1/t124/t115*t160
11304      t629 = t628*t130
11305      t630 = 0.1831866518645613D-2*t629
11306      t632 = 1/t158/t114
11307      t633 = t276*t632
11308      t634 = t633*t130
11309      t635 = 0.5495599555936838D-2*t634
11310      t638 = t278*t282*t297*t298
11311      t639 = 0.8837926660346786D-1*t638
11312      t641 = t278*t302*t340
11313      t643 = t281**2
11314      t646 = t297**2
11315      t647 = t129**2
11316      t650 = t118/t643*t646/t647
11317      t651 = 0.160818243221511D2*t650
11318      t652 = t156*t160
11319      t653 = 12.D0*t652
11320      t654 = t333*t337
11321      t655 = 32.D0*t654
11322      t658 = t157/t159/t158
11323      t659 = 20.D0*t658
11324      t664 = t149**2
11325      t665 = 1/t664
11326      t666 = t322**2
11327      t669 = 2.D0*t277
11328      t671 = 2.D0*t146*t632
11329      t672 = -t669+t671
11330      t675 = t153**2
11331      t676 = 1/t675
11332      t677 = t326**2
11333      t683 = 0.4444444444444444D0*t665*t666+0.1333333333333333D1*t149
11334     #*t672+0.4444444444444444D0*t676*t677-0.1333333333333333D1*t153
11335     #*t672
11336      t689 = t278*t143*t329*t163
11337      t692 = 0.5827196199654043D-3*t628*t303
11338      t694 = 0.1748158859896213D-2*t633*t303
11339      t699 = 0.5176049209143758D-1*t278*t307*t313*t315*t164
11340      t703 = t313**2
11341      t706 = 0.2249999913366216D1*t134/t306/t139*t703*t317
11342      t709 = 1/t286/t115*t160
11343      t711 = t287*t632
11344      t717 = 1/t122/t115*t160
11345      t719 = t291*t632
11346      t723 = 1/t116/t115*t160
11347      t725 = t294*t632
11348      t730 = 0.1124999956683108D1*t308*(-0.1132974264373283D1*t709
11349     #+0.271913823449588D1*t711-0.4994648585728036D0*t628
11350     #+0.1498394575718411D1*t633-0.1075243117819161D0*t717
11351     #+0.4300972471276643D0*t719-0.4247805766949639D-1*t723
11352     #+0.2548683460169784D0*t725)*t317
11353      t733 = t314*t315*t329*t163
11354      t735 = t630-t635-t639-0.1748158859896213D-2*t641+t651
11355     #+0.3799574853701528D-1*t144*t155*(-t653+t655-t659)
11356     #+0.3799574853701528D-1*t144*t683*t163-0.1748158859896213D-2*t689
11357     #-t692+t694+t699+t706-t730-0.2249999913366216D1*t733
11358      t737 = t314*t316*t340
11359      t742 = t364*t338
11360      t744 = t364*t334
11361      t746 = t181*t654
11362      t748 = t181*t652
11363      t749 = 0.2308393261117844D2*t748
11364      t761 = t353**2
11365      t777 = t346**2
11366      t780 = t176**2
11367      t792 = t118/t281/t126*t646*t298
11368      t804 = t283*(-0.8309097827459833D0*t709+0.199418347859036D1*t711
11369     #-0.4945709824779306D0*t628+0.1483712947433792D1*t633
11370     #-0.2001071587498409D0*t717+0.8004286349993634D0*t719
11371     #-0.4215565168327908D-1*t723+0.2529339100996745D0*t725)*t298
11372      t807 = 0.8806734334819047D-3*t628*t177-0.2642020300445714D-2
11373     #*t633*t177-0.8497974591333914D-1*t278*t347*t353*t354-0.2D1*t168
11374     #/t346/t173*t761*t354+0.1D1*t348*(-0.1544496508763151D1*t709
11375     #+0.3706791621031562D1*t711-0.854388052766047D0*t628
11376     #+0.2563164158298141D1*t633-0.4111834438919023D0*t717
11377     #+0.1644733775567609D1*t719-0.5346380647307093D-1*t723
11378     #+0.3207828388384256D0*t725)*t354+0.321646831778707D2*t168/t777
11379     #*t761/t780-0.1831866518645613D-2*t629+0.5495599555936838D-2*t634
11380     #+0.8837926660346786D-1*t638+0.2D1*t792-0.1D1*t804
11381     #-0.160818243221511D2*t650
11382      t810 = 0.1923661050931536D1*t807*t155*t161
11383      t812 = 0.3847322101863073D2*t181*t658
11384      t817 = t360*t329*t161
11385      t819 = 0.1D1*t804
11386      t820 = t306**2
11387      t824 = t142**2
11388      t829 = 0.3330964519106732D2*t134/t820*t703/t824*t155*t163
11389      t830 = 0.2D1*t792
11390      t831 = t361*t334
11391      t834 = 0.1538928840745229D2*t361*t338
11392      t835 = -0.2249999913366216D1*t737+0.1923661050931536D1*t180*t683
11393     #*t161-0.1538928840745229D2*t742+0.1538928840745229D2*t744
11394     #-0.6155715362980916D2*t746+t749+t810+t812+0.7599149707403056D-1
11395     #*t144*t329*t340+0.3847322101863073D1*t817+t819-t829-t830
11396     #+0.1538928840745229D2*t831-t834
11397      t838 = -0.2D1*t562*t260+0.2D1*t33*t566*t567*t259
11398     #+0.8497974591333914D-1*t237*t377-0.8806734334819047D-3*t577*t45
11399     #-0.1D1*t33*t241*t603*t259+0.7599149707403056D-1*t331
11400     #-0.321646831778707D2*t33*t610*t567*t613+t617+t618
11401     #+0.3847322101863073D1*t365+0.1538928840745229D2*t367-t621
11402     #+0.7599149707403056D-1*t342-t623-t624+t625+t114*(t735+t835)
11403      t842 = sigmaaa/t7/t17
11404      t848 = t16/t4/t17/t209
11405      t851 = t193*t388
11406      t856 = t201**2
11407      t858 = t200/t856
11408      t876 = t222*t6
11409      t878 = t221/t876
11410      t881 = t16**2
11411      t885 = t881/t7/t222/t17
11412      t886 = t22**2
11413      t887 = 1/t886
11414      t899 = t51**2
11415      t900 = 1/t899
11416      s1 = 2.D0*t380*t392+t838*t205+t190*(0.2191493333333333D-1*t842
11417     #*t197-0.6839296D-3*t848*t202+0.14692992D-4*t851*t848
11418     #-0.17493168D-2*t384*t842-0.635364864D-7*t858*t848+0.97069632D-5
11419     #*t389*t842)-0.6218D-1*t233*t272-0.4135669939329333D0/t7*t26
11420     #-0.24814019635976D1*t4*t230-0.9305257363491D0*t5*
11421     #(0.1984106666666667D-1*t842*t13+0.2095032888888889D-3*t848*t23
11422     #-0.3198281955555556D-5*t878*t227+0.8171246933333333D-8*t885*t887
11423     #)-0.3109D-1*t33*t45*(0.4593013333333333D1*t842*t48
11424     #-0.5614695111111111D1*t848*t52+0.1788046222222222D1*t878*t269
11425     #-0.1697655466666667D0*t885*t900)
11426      v2rhoa2(i) = s1+0.2D1*t562*t261+0.2642020300445714D-2*t237*t273
11427     #+0.8806734334819047D-3*t577*t56-0.8497974591333914D-1*t237*t241
11428     #*t261-0.2D1*t33*t566*t567*t259*t55+0.1D1*t242*t603*t259*t55
11429     #+0.2D1*t242*t260*t272+0.321646831778707D2*t33*t610*t567*t613*t55
11430      t937 = sigmabb/t62/t72
11431      t943 = t71/t59/t72/t396
11432      t962 = t409*t61
11433      t964 = t408/t962
11434      t967 = t71**2
11435      t971 = t967/t62/t409/t72
11436      t972 = t77**2
11437      t973 = 1/t972
11438      t987 = 1/t396
11439      t989 = 1/t94/t84
11440      t990 = t987*t989
11441      t995 = t87*t428
11442      t1000 = 1/t72
11443      t1021 = -0.1544496508763151D1/t432/t84*t1000
11444     #+0.3706791621031562D1*t433*t987-0.854388052766047D0*t989*t1000
11445     #+0.2563164158298141D1*t423*t987-0.4111834438919023D0/t92/t84
11446     #*t1000+0.1644733775567609D1*t439*t987-0.5346380647307093D-1/t85
11447     #/t84*t1000+0.3207828388384256D0*t442*t987
11448      t1027 = 1/t427/t96
11449      t1029 = t445**2
11450      t1034 = t427**2
11451      t1035 = 1/t1034
11452      t1037 = t99**2
11453      t1038 = 1/t1037
11454      t1068 = t477*t338
11455      t1070 = t477*t334
11456      t1073 = -0.1538928840745229D2*t1068-0.1538928840745229D2*t1070
11457     #+t630-t635-t639+t651-t692+t694+t699+t706-t730
11458     #+0.6155715362980916D2*t746+t749+t810
11459      t1078 = t463**2
11460      t1081 = t669+t671
11461      t1084 = t466**2
11462      t1090 = 0.4444444444444444D0*t665*t1078+0.1333333333333333D1
11463     #*t149*t1081+0.4444444444444444D0*t676*t1084-0.1333333333333333D1
11464     #*t153*t1081
11465      t1099 = t360*t469*t161
11466      t1105 = t278*t302*t473
11467      t1109 = t278*t143*t469*t163
11468      t1112 = t314*t316*t473
11469      t1116 = t314*t315*t469*t163
11470      t1118 = t812+t819-t829-t830-0.1538928840745229D2*t831-t834
11471     #+0.7599149707403056D-1*t144*t469*t473+0.3799574853701528D-1*t144
11472     #*t1090*t163+0.3799574853701528D-1*t144*t155*(-t653-t655-t659)
11473     #+0.3847322101863073D1*t1099+0.1923661050931536D1*t180*t1090*t161
11474     #-0.1748158859896213D-2*t1105-0.1748158859896213D-2*t1109
11475     #-0.2249999913366216D1*t1112-0.2249999913366216D1*t1116
11476      t1121 = -0.1D1*t88*t428*t1021*t446+0.2D1*t88*t1027*t1029*t446
11477     #-0.8806734334819047D-3*t990*t100+0.8497974591333914D-1*t424*t487
11478     #-0.2D1*t995*t447-0.321646831778707D2*t88*t1035*t1029*t1038+t617
11479     #+t618-0.1538928840745229D2*t367-t621-t623-t624+t625
11480     #+0.3847322101863073D1*t478+0.7599149707403056D-1*t471
11481     #+0.7599149707403056D-1*t475+t114*(t1073+t1118)
11482      t1129 = t106**2
11483      t1130 = 1/t1129
11484      s1 = 2.D0*t490*t498+t190*(0.2191493333333333D-1*t937*t197
11485     #-0.6839296D-3*t943*t202+0.14692992D-4*t851*t943-0.17493168D-2
11486     #*t384*t937-0.635364864D-7*t858*t943+0.97069632D-5*t389*t937)
11487     #-0.6218D-1*t420*t459-0.9305257363491D0*t60*
11488     #(0.1984106666666667D-1*t937*t68+0.2095032888888889D-3*t943*t78
11489     #-0.3198281955555556D-5*t964*t414+0.8171246933333333D-8*t971*t973
11490     #)-0.24814019635976D1*t59*t417-0.4135669939329333D0/t62*t81
11491     #-0.8497974591333914D-1*t424*t428*t448+0.8806734334819047D-3*t990
11492     #*t111
11493      v2rhob2(i) = s1+0.2642020300445714D-2*t424*t460+0.2D1*t995*t448
11494     #+0.1D1*t429*t1021*t446*t110-0.2D1*t88*t1027*t1029*t446*t110
11495     #+0.321646831778707D2*t88*t1035*t1029*t1038*t110+0.2D1*t429*t447
11496     #*t459+t1121*t205-0.3109D-1*t88*t100*(0.4593013333333333D1*t937
11497     #*t103-0.5614695111111111D1*t943*t107+0.1788046222222222D1*t964
11498     #*t456-0.1697655466666667D0*t971*t1130)
11499      t1160 = 0.4444444444444444D0*t665*t322*t463+0.2666666666666667D1
11500     #*t149*t146*t632+0.4444444444444444D0*t676*t326*t466
11501     #-0.2666666666666667D1*t153*t146*t632
11502      t1170 = -0.7694644203726145D1*t1068+0.7694644203726145D1*t1070
11503     #+t630-t635-t639-0.8740794299481065D-3*t641+t651
11504     #-0.8740794299481065D-3*t689+0.3799574853701528D-1*t144*t469*t340
11505     #+0.3799574853701528D-1*t144*t155*(t653-t659)
11506     #+0.3799574853701528D-1*t144*t1160*t163+0.3799574853701528D-1
11507     #*t144*t329*t473+0.1923661050931536D1*t180*t1160*t161-t692+t694
11508     #+t699+t706
11509      t1182 = -t730-0.1124999956683108D1*t733-0.1124999956683108D1
11510     #*t737-0.7694644203726145D1*t742-0.7694644203726145D1*t744
11511     #-0.2308393261117844D2*t748+t810+t812+0.1923661050931536D1*t817
11512     #+t819-t829-t830-t834+0.1923661050931536D1*t1099
11513     #-0.8740794299481065D-3*t1105-0.8740794299481065D-3*t1109
11514     #-0.1124999956683108D1*t1112-0.1124999956683108D1*t1116
11515      t1185 = t617+t618-t623-t624+t472+t476+t625+t479-t621+t332+t343
11516     #+t366+t114*(t1170+t1182)
11517      t1195 = t211*sigmabb*t398
11518      v2rhoab(i) = t1185*t205+t380*t498+t490*t392+t190*(-0.6839296D-3
11519     #*t212*t202*sigmabb*t398+0.14692992D-4*t851*sigmaaa*t1195
11520     #-0.635364864D-7*t858*sigmaaa*t1195)
11521      t1207 = sigmaaa*t217
11522      t1210 = t16*t224
11523      t1216 = t221/t7/t222/t209
11524      v2rhoasigmaaa(i) = -0.12407009817988D1*t4*t509-0.9305257363491D0
11525     #*t5*(-0.54112D-2*t211*t13-0.6274133333333333D-4*t1207*t23
11526     #+0.1103598933333333D-5*t1210*t227-0.30642176D-8*t1216*t887)
11527     #-0.3109D-1*t233*t518+0.1321010150222857D-2*t237*t519+0.1D1*t242
11528     #*t260*t518-0.3109D-1*t33*t45*(-0.125264D1*t211*t48
11529     #+0.1812618666666667D1*t1207*t52-0.6307285333333333D0*t1210*t269
11530     #+0.6366208D-1*t1216*t900)+t380*t528+t190*(-0.59768D-2*t211*t197
11531     #+0.2564736D-3*t1207*t202-0.5509872D-5*t851*t1207+0.4770864D-3
11532     #*t384*t211+0.238261824D-7*t858*t1207-0.26473536D-5*t389*t211)
11533      v2rhoasigmaab(i) = 0.D0
11534      t1260 = t212*t64
11535      v2rhoasigmabb(i) = t380*t558+t190*(0.2564736D-3*t212*t202*t64
11536     #-0.5509872D-5*t851*t1260+0.238261824D-7*t858*t1260)
11537      t1268 = t202*t9
11538      t1271 = t399*t9
11539      v2rhobsigmaaa(i) = t490*t528+t190*(0.2564736D-3*t399*t1268
11540     #-0.5509872D-5*t851*t1271+0.238261824D-7*t858*t1271)
11541      v2rhobsigmaab(i) = 0.D0
11542      t1282 = sigmabb*t404
11543      t1285 = t71*t411
11544      t1291 = t408/t62/t409/t396
11545      v2rhobsigmabb(i) = -0.12407009817988D1*t59*t539
11546     #-0.9305257363491D0*t60*(-0.54112D-2*t398*t68
11547     #-0.6274133333333333D-4*t1282*t78+0.1103598933333333D-5*t1285
11548     #*t414-0.30642176D-8*t1291*t973)-0.3109D-1*t420*t548
11549     #+0.1321010150222857D-2*t424*t549+0.1D1*t429*t447*t548-0.3109D-1
11550     #*t88*t100*(-0.125264D1*t398*t103+0.1812618666666667D1*t1282*t107
11551     #-0.6307285333333333D0*t1285*t456+0.6366208D-1*t1291*t1130)+t490
11552     #*t558+t190*(-0.59768D-2*t398*t197+0.2564736D-3*t1282*t202
11553     #-0.5509872D-5*t851*t1282+0.4770864D-3*t384*t398+0.238261824D-7
11554     #*t858*t1282-0.26473536D-5*t389*t398)
11555      t1333 = sigmaaa*t505
11556      t1338 = t16/t7/t876
11557      v2sigmaaa2(i) = -0.9305257363491D0*t5*(0.77056D-5*t20*t23
11558     #-0.3180928D-6*t1333*t227+0.11490816D-8*t1338*t887)-0.3109D-1*t33
11559     #*t45*(-0.38684D0*t20*t52+0.1967344D0*t1333*t269-0.2387328D-1
11560     #*t1338*t900)+t190*(-0.961776D-4*t20*t202+0.2066202D-5*t851*t20
11561     #-0.89348184D-8*t858*t20)
11562      v2sigmaaaab(i) = 0.D0
11563      t1364 = t9*t64
11564      v2sigmaaabb(i) = t190*(-0.961776D-4*t1268*t64+0.2066202D-5*t851
11565     #*t1364-0.89348184D-8*t858*t1364)
11566      v2sigmaab2(i) = 0.D0
11567      v2sigmaabbb(i) = 0.D0
11568      t1372 = sigmabb*t535
11569      t1377 = t71/t62/t962
11570      v2sigmabb2(i) = -0.9305257363491D0*t60*(0.77056D-5*t75*t78
11571     #-0.3180928D-6*t1372*t414+0.11490816D-8*t1377*t973)-0.3109D-1*t88
11572     #*t100*(-0.38684D0*t75*t107+0.1967344D0*t1372*t456-0.2387328D-1
11573     #*t1377*t1130)+t190*(-0.961776D-4*t75*t202+0.2066202D-5*t851*t75
11574     #-0.89348184D-8*t858*t75)
11575      endif ! rhoa,rhob
11576      else ! rho
11577      zk(i) = 0.0d0
11578      vrhoa(i) = 0.0d0
11579      vrhob(i) = 0.0d0
11580      v2rhoa2(i) = 0.0d0
11581      v2rhob2(i) = 0.0d0
11582      v2rhoab(i) = 0.0d0
11583      vsigmaaa(i) = 0.0d0
11584      vsigmaab(i) = 0.0d0
11585      vsigmabb(i) = 0.0d0
11586      v2rhoasigmaaa(i) = 0.0d0
11587      v2rhoasigmaab(i) = 0.0d0
11588      v2rhoasigmabb(i) = 0.0d0
11589      v2rhobsigmaaa(i) = 0.0d0
11590      v2rhobsigmaab(i) = 0.0d0
11591      v2rhobsigmabb(i) = 0.0d0
11592      v2sigmaaa2(i) = 0.0d0
11593      v2sigmaab2(i) = 0.0d0
11594      v2sigmabb2(i) = 0.0d0
11595      v2sigmaaaab(i) = 0.0d0
11596      v2sigmaaabb(i) = 0.0d0
11597      v2sigmaabbb(i) = 0.0d0
11598      endif ! rho
11599      enddo
11600
11601      endif ! ideriv
11602      return
11603      end
11604
11605
11606      subroutine rks_xc_b97
11607     & (ideriv,npt,rhoa1,sigmaaa1,
11608     &  zk,vrhoa,vsigmaaa,
11609     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
11610c
11611c     A.D. Becke
11612c     Density-functional thermochemistry. V. Systematic optimization of
11613c     exchange-correlation functionals
11614c     J. Chem. Phys. 107 (1997) 8554-8560
11615c
11616c
11617c     CITATION:
11618c
11619c     Functionals were obtained from the Density Functional Repository
11620c     as developed and distributed by the Quantum Chemistry Group,
11621c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
11622c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
11623c     Paul Sherwood for further information.
11624c
11625c     COPYRIGHT:
11626c
11627c     Users may incorporate the source code into software packages and
11628c     redistribute the source code provided the source code is not
11629c     changed in anyway and is properly cited in any documentation or
11630c     publication related to its use.
11631c
11632c     ACKNOWLEDGEMENT:
11633c
11634c     The source code was generated using Maple 8 through a modified
11635c     version of the dfauto script published in:
11636c
11637c        R. Strange, F.R. Manby, P.J. Knowles
11638c        Automatic code generation in density functional theory
11639c        Comp. Phys. Comm. 136 (2001) 310-318.
11640c
11641      implicit real*8 (a-h,o-z)
11642      integer ideriv,npt
11643      real*8 rhoa1(npt)
11644      real*8 sigmaaa1(npt)
11645      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
11646      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
11647      parameter(tol=1.0d-20)
11648
11649      if(ideriv.eq.0) then
11650
11651      do i=1,npt
11652      rho = dmax1(0.D0,rhoa1(i))
11653      if(rho.gt.tol) then
11654      sigma = dmax1(0.D0,sigmaaa1(i))
11655      t2 = rho**(1.D0/3.D0)
11656      t4 = rho**2
11657      t5 = t2**2
11658      t8 = sigma/t5/t4
11659      t10 = 1.D0+0.6349604207872798D-2*t8
11660      t14 = sigma**2
11661      t15 = t4**2
11662      t19 = t14/t2/t15/rho
11663      t20 = t10**2
11664      t27 = 1/rho
11665      t28 = t27**(1.D0/3.D0)
11666      t31 = rho*(1.D0+0.1606016560364007D0*t28)
11667      t32 = t27**(1.D0/6.D0)
11668      t35 = dsqrt(t27)
11669      t37 = t28**2
11670      t43 = dlog(1.D0+0.321646831778707D2/(0.1248219874679732D2*t32
11671     #+0.4844076716063854D1*t28+0.2326004811900819D1*t35
11672     #+0.3819082618690966D0*t37))
11673      t45 = 1.D0+0.3174802103936399D0*t8
11674      t49 = t45**2
11675      t68 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t32
11676     #+0.2225569421150687D1*t28+0.8004286349993634D0*t35
11677     #+0.1897004325747559D0*t37))
11678      t75 = 1.D0+0.9524406311809197D-2*t8
11679      t79 = t75**2
11680      zk(i) = -0.7385587663820224D0*t2*rho*(0.8094D0
11681     #+0.322115421465387D-2*t8/t10+0.3016150199764335D-4*t19/t20)
11682     #-0.3109D-1*t31*t43*(0.1737D0+0.745665770151542D0*t8/t45
11683     #-0.2506537333502856D0*t19/t49)+(-0.62182D-1*rho*(1.D0
11684     #+0.1325688999052018D0*t28)*t68+0.3109D-1*t31*t43)*(0.9454D0
11685     #+0.7115683955552651D-2*t8/t75-0.4169320658943715D-3*t19/t79)
11686      else ! rho
11687      zk(i) = 0.0d0
11688      endif ! rho
11689      enddo
11690
11691      else if(ideriv.eq.1) then
11692
11693      do i=1,npt
11694      rho = dmax1(0.D0,rhoa1(i))
11695      if(rho.gt.tol) then
11696      sigma = dmax1(0.D0,sigmaaa1(i))
11697      t2 = rho**(1.D0/3.D0)
11698      t3 = t2*rho
11699      t4 = rho**2
11700      t5 = t2**2
11701      t7 = 1/t5/t4
11702      t8 = sigma*t7
11703      t10 = 1.D0+0.6349604207872798D-2*t8
11704      t11 = 1/t10
11705      t14 = sigma**2
11706      t15 = t4**2
11707      t18 = 1/t2/t15/rho
11708      t19 = t14*t18
11709      t20 = t10**2
11710      t21 = 1/t20
11711      t24 = 0.8094D0+0.322115421465387D-2*t8*t11+0.3016150199764335D-4
11712     #*t19*t21
11713      t27 = 1/rho
11714      t28 = t27**(1.D0/3.D0)
11715      t30 = 1.D0+0.1606016560364007D0*t28
11716      t31 = rho*t30
11717      t32 = t27**(1.D0/6.D0)
11718      t35 = dsqrt(t27)
11719      t37 = t28**2
11720      t39 = 0.1248219874679732D2*t32+0.4844076716063854D1*t28
11721     #+0.2326004811900819D1*t35+0.3819082618690966D0*t37
11722      t42 = 1.D0+0.321646831778707D2/t39
11723      t43 = dlog(t42)
11724      t45 = 1.D0+0.3174802103936399D0*t8
11725      t46 = 1/t45
11726      t49 = t45**2
11727      t50 = 1/t49
11728      t53 = 0.1737D0+0.745665770151542D0*t8*t46-0.2506537333502856D0
11729     #*t19*t50
11730      t54 = t43*t53
11731      t58 = 1.D0+0.1325688999052018D0*t28
11732      t64 = 0.598255043577108D1*t32+0.2225569421150687D1*t28
11733     #+0.8004286349993634D0*t35+0.1897004325747559D0*t37
11734      t67 = 1.D0+0.160818243221511D2/t64
11735      t68 = dlog(t67)
11736      t73 = -0.62182D-1*rho*t58*t68+0.3109D-1*t31*t43
11737      t75 = 1.D0+0.9524406311809197D-2*t8
11738      t76 = 1/t75
11739      t79 = t75**2
11740      t80 = 1/t79
11741      t83 = 0.9454D0+0.7115683955552651D-2*t8*t76
11742     #-0.4169320658943715D-3*t19*t80
11743      zk(i) = -0.7385587663820224D0*t3*t24-0.3109D-1*t31*t54+t73*t83
11744      t90 = sigma/t5/t4/rho
11745      t96 = t14/t2/t15/t4
11746      t100 = t15**2
11747      t103 = t14*sigma/t100/rho
11748      t105 = 1/t20/t10
11749      t111 = t30*t43
11750      t114 = 1/t37
11751      t115 = t27*t114
11752      t118 = t39**2
11753      t119 = 1/t118
11754      t121 = t32**2
11755      t122 = t121**2
11756      t125 = 1/t4
11757      t126 = 1/t122/t32*t125
11758      t128 = t114*t125
11759      t131 = 1/t35*t125
11760      t134 = 1/t28*t125
11761      t136 = -0.4160732915599108D1*t126-0.3229384477375903D1*t128
11762     #-0.2326004811900819D1*t131-0.5092110158254621D0*t134
11763      t137 = 1/t42
11764      t147 = 1/t49/t45
11765      t158 = t64**2
11766      t186 = 1/t79/t75
11767      vrhoa(i) = -0.9847450218426965D0*t2*t24-0.3692793831910112D0*t3*
11768     #(-0.1717948914482064D-1*t90*t11-0.2126397314118042D-3*t96*t21
11769     #+0.2042811733333333D-5*t103*t105)-0.3109D-1*t111*t53
11770     #+0.1664368495390566D-2*t115*t54+0.5D0*t31*t119*t136*t137*t53
11771     #-0.15545D-1*t31*t43*(-0.3976884107474891D1*t90*t46
11772     #+0.3936221825555298D1*t96*t50-0.8488277333333333D0*t103*t147)+(
11773     #-0.62182D-1*t58*t68+rho*(0.2747799777968419D-2*t128*t68+0.1D1
11774     #*t58/t158*(-0.99709173929518D0*t126-0.7418564737168958D0*t128
11775     #-0.4002143174996817D0*t131-0.1264669550498372D0*t134)/t67)
11776     #+0.3109D-1*t111-0.1664368495390566D-2*t115*t43-0.5D0*t31*t119
11777     #*t136*t137)*t83+t73*(-0.1897515721480707D-1*t90*t76
11778     #+0.2404364791914262D-2*t96*t80-0.211788288D-4*t103*t186)
11779      t193 = sigma*t18
11780      t197 = t14/t100
11781      vsigmaaa(i) = -0.7385587663820224D0*t3*(0.1288461685861548D-1*t7
11782     #*t11+0.1594797985588531D-3*t193*t21-0.15321088D-5*t197*t105)
11783     #-0.3109D-1*t31*t43*(0.2982663080606168D1*t7*t46
11784     #-0.2952166369166474D1*t193*t50+0.6366208D0*t197*t147)+2.D0*t73*
11785     #(0.142313679111053D-1*t7*t76-0.1803273593935696D-2*t193*t80
11786     #+0.158841216D-4*t197*t186)
11787      else ! rho
11788      zk(i) = 0.0d0
11789      vrhoa(i) = 0.0d0
11790      vsigmaaa(i) = 0.0d0
11791      endif ! rho
11792      enddo
11793
11794      else if(ideriv.eq.2) then
11795
11796      do i=1,npt
11797      rho = dmax1(0.D0,rhoa1(i))
11798      if(rho.gt.tol) then
11799      sigma = dmax1(0.D0,sigmaaa1(i))
11800      t2 = rho**(1.D0/3.D0)
11801      t3 = t2*rho
11802      t4 = rho**2
11803      t5 = t2**2
11804      t7 = 1/t5/t4
11805      t8 = sigma*t7
11806      t10 = 1.D0+0.6349604207872798D-2*t8
11807      t11 = 1/t10
11808      t14 = sigma**2
11809      t15 = t4**2
11810      t18 = 1/t2/t15/rho
11811      t19 = t14*t18
11812      t20 = t10**2
11813      t21 = 1/t20
11814      t24 = 0.8094D0+0.322115421465387D-2*t8*t11+0.3016150199764335D-4
11815     #*t19*t21
11816      t27 = 1/rho
11817      t28 = t27**(1.D0/3.D0)
11818      t30 = 1.D0+0.1606016560364007D0*t28
11819      t31 = rho*t30
11820      t32 = t27**(1.D0/6.D0)
11821      t35 = dsqrt(t27)
11822      t37 = t28**2
11823      t39 = 0.1248219874679732D2*t32+0.4844076716063854D1*t28
11824     #+0.2326004811900819D1*t35+0.3819082618690966D0*t37
11825      t42 = 1.D0+0.321646831778707D2/t39
11826      t43 = dlog(t42)
11827      t45 = 1.D0+0.3174802103936399D0*t8
11828      t46 = 1/t45
11829      t49 = t45**2
11830      t50 = 1/t49
11831      t53 = 0.1737D0+0.745665770151542D0*t8*t46-0.2506537333502856D0
11832     #*t19*t50
11833      t54 = t43*t53
11834      t58 = 1.D0+0.1325688999052018D0*t28
11835      t64 = 0.598255043577108D1*t32+0.2225569421150687D1*t28
11836     #+0.8004286349993634D0*t35+0.1897004325747559D0*t37
11837      t67 = 1.D0+0.160818243221511D2/t64
11838      t68 = dlog(t67)
11839      t73 = -0.62182D-1*rho*t58*t68+0.3109D-1*t31*t43
11840      t75 = 1.D0+0.9524406311809197D-2*t8
11841      t76 = 1/t75
11842      t79 = t75**2
11843      t80 = 1/t79
11844      t83 = 0.9454D0+0.7115683955552651D-2*t8*t76
11845     #-0.4169320658943715D-3*t19*t80
11846      zk(i) = -0.7385587663820224D0*t3*t24-0.3109D-1*t31*t54+t73*t83
11847      t87 = t4*rho
11848      t89 = 1/t5/t87
11849      t90 = sigma*t89
11850      t95 = 1/t2/t15/t4
11851      t96 = t14*t95
11852      t99 = t14*sigma
11853      t100 = t15**2
11854      t102 = 1/t100/rho
11855      t103 = t99*t102
11856      t105 = 1/t20/t10
11857      t108 = -0.1717948914482064D-1*t90*t11-0.2126397314118042D-3*t96
11858     #*t21+0.2042811733333333D-5*t103*t105
11859      t111 = t30*t43
11860      t114 = 1/t37
11861      t115 = t27*t114
11862      t118 = t39**2
11863      t119 = 1/t118
11864      t120 = t31*t119
11865      t121 = t32**2
11866      t122 = t121**2
11867      t123 = t122*t32
11868      t124 = 1/t123
11869      t125 = 1/t4
11870      t126 = t124*t125
11871      t128 = t114*t125
11872      t130 = 1/t35
11873      t131 = t130*t125
11874      t133 = 1/t28
11875      t134 = t133*t125
11876      t136 = -0.4160732915599108D1*t126-0.3229384477375903D1*t128
11877     #-0.2326004811900819D1*t131-0.5092110158254621D0*t134
11878      t137 = 1/t42
11879      t138 = t136*t137
11880      t139 = t138*t53
11881      t147 = 1/t49/t45
11882      t150 = -0.3976884107474891D1*t90*t46+0.3936221825555298D1*t96
11883     #*t50-0.8488277333333333D0*t103*t147
11884      t151 = t43*t150
11885      t156 = t128*t68
11886      t158 = t64**2
11887      t159 = 1/t158
11888      t160 = t58*t159
11889      t165 = -0.99709173929518D0*t126-0.7418564737168958D0*t128
11890     #-0.4002143174996817D0*t131-0.1264669550498372D0*t134
11891      t166 = 1/t67
11892      t168 = t160*t165*t166
11893      t176 = t119*t136*t137
11894      t179 = -0.62182D-1*t58*t68+rho*(0.2747799777968419D-2*t156+0.1D1
11895     #*t168)+0.3109D-1*t111-0.1664368495390566D-2*t115*t43-0.5D0*t31
11896     #*t176
11897      t186 = 1/t79/t75
11898      t189 = -0.1897515721480707D-1*t90*t76+0.2404364791914262D-2*t96
11899     #*t80-0.211788288D-4*t103*t186
11900      vrhoa(i) = -0.9847450218426965D0*t2*t24-0.3692793831910112D0*t3
11901     #*t108-0.3109D-1*t111*t53+0.1664368495390566D-2*t115*t54+0.5D0
11902     #*t120*t139-0.15545D-1*t31*t151+t179*t83+t73*t189
11903      t193 = sigma*t18
11904      t196 = 1/t100
11905      t197 = t14*t196
11906      t200 = 0.1288461685861548D-1*t7*t11+0.1594797985588531D-3*t193
11907     #*t21-0.15321088D-5*t197*t105
11908      t209 = 0.2982663080606168D1*t7*t46-0.2952166369166474D1*t193*t50
11909     #+0.6366208D0*t197*t147
11910      t210 = t43*t209
11911      t219 = 0.142313679111053D-1*t7*t76-0.1803273593935696D-2*t193
11912     #*t80+0.158841216D-4*t197*t186
11913      vsigmaaa(i) = -0.7385587663820224D0*t3*t200-0.3109D-1*t31*t210
11914     #+2.D0*t73*t219
11915      t224 = sigma/t5/t15
11916      t230 = t14/t2/t15/t87
11917      t233 = t100*t4
11918      t235 = t99/t233
11919      t238 = t14**2
11920      t242 = t238/t5/t100/t15
11921      t243 = t20**2
11922      t244 = 1/t243
11923      t252 = 1/t87
11924      t254 = 1/t37/t27
11925      t255 = t252*t254
11926      t262 = 1/t118/t39
11927      t264 = t136**2
11928      t271 = t30*t119
11929      t280 = t49**2
11930      t281 = 1/t280
11931      t290 = 1/t15
11932      t291 = 1/t123/t27*t290
11933      t293 = t124*t252
11934      t295 = t254*t290
11935      t297 = t114*t252
11936      t301 = 1/t35/t27*t290
11937      t303 = t130*t252
11938      t307 = 1/t28/t27*t290
11939      t309 = t133*t252
11940      t311 = -0.6934554859331846D1*t291+0.1664293166239643D2*t293
11941     #-0.4305845969834537D1*t295+0.1291753790950361D2*t297
11942     #-0.2326004811900819D1*t301+0.9304019247603276D1*t303
11943     #-0.3394740105503081D0*t307+0.2036844063301848D1*t309
11944      t321 = 0.5495599555936838D-2*t156
11945      t322 = 0.2D1*t168
11946      t333 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t32
11947     #+0.2247591863577616D1*t28+0.4300972471276643D0*t35
11948     #+0.1911512595127338D0*t37))
11949      t335 = (1.D0+0.6901399211255825D-1*t28)*t333*t125
11950      t340 = 0.8837926660346786D-1*t128*t159*t165*t166
11951      t342 = 0.5495599555936838D-2*t297*t68
11952      t344 = 0.1831866518645613D-2*t295*t68
11953      t345 = t158**2
11954      t348 = t165**2
11955      t349 = t67**2
11956      t353 = 0.160818243221511D2*t58/t345*t348/t349
11957      t365 = 0.1D1*t160*(-0.8309097827459833D0*t291
11958     #+0.199418347859036D1*t293-0.4945709824779306D0*t295
11959     #+0.1483712947433792D1*t297-0.2001071587498409D0*t301
11960     #+0.8004286349993634D0*t303-0.4215565168327908D-1*t307
11961     #+0.2529339100996745D0*t309)*t166
11962      t371 = 0.2D1*t58/t158/t64*t348*t166
11963      t380 = t118**2
11964      t381 = 1/t380
11965      t383 = t42**2
11966      t384 = 1/t383
11967      t410 = t230*t80
11968      t412 = t235*t186
11969      t414 = t79**2
11970      t415 = 1/t414
11971      t417 = 0.1613726165595571D-5*t242*t415
11972      s1 = -0.3692793831910112D0*t3*(0.1259829203953514D0*t224*t11
11973     #+0.2111660829546542D-2*t230*t21-0.5117251128888889D-4*t235*t105
11974     #+0.2075367356458441D-6*t242*t244)-0.6218D-1*t111*t150
11975     #+0.2219157993854088D-2*t255*t54-0.1070677706909338D0*t115*t119
11976     #*t139-0.1D1*t31*t262*t264*t137*t53+0.3328736990781132D-2*t115
11977     #*t151+0.2D1*t271*t139-0.15545D-1*t31*t43*(0.291638167881492D2
11978     #*t224*t46-0.5659258047384578D2*t230*t50+0.2860873955555556D2
11979     #*t235*t147-0.431177611786597D1*t242*t281)+0.5D0*t120*t311*t137*t53
11980      v2rhoa2(i) = s1-0.6564966812284644D0/t5*t24-0.1969490043685393D1
11981     #*t2*t108+(t321+t322+rho*(0.3377399869956914D-1*t335-t340-t342
11982     #+t344+t353+t365-t371)-0.2219157993854088D-2*t255*t43
11983     #+0.1070677706909338D0*t115*t176-0.2D1*t271*t138
11984     #-0.1608234158893535D2*t31*t381*t264*t384-0.5D0*t31*t119*t311
11985     #*t137+0.1D1*t31*t262*t264*t137)*t83+0.1608234158893535D2*t31
11986     #*t381*t264*t384*t53+0.1D1*t120*t138*t150+4.D0*t179*t189+t73*
11987     #(0.1391511529085852D0*t224*t76-0.2452558687152736D-1*t410
11988     #+0.3903992832D-3*t412-t417)+(t321+t322+rho*(
11989     #-0.3377399869956914D-1*t335-t340-t342+t344+t353+t365-t371))*t83
11990     #+t73*(-0.6893578397489445D-2*t410+0.235087872D-3*t412-t417)
11991      t433 = sigma*t95
11992      t436 = t14*t102
11993      t442 = t99/t5/t100/t87
11994      t471 = t433*t80
11995      t473 = t436*t186
11996      t476 = 0.1210294624196678D-5*t442*t415
11997      v2rhoasigmaaa(i) = -0.9847450218426965D0*t2*t200
11998     #-0.3692793831910112D0*t3*(-0.6871795657928257D-1*t89*t11
11999     #-0.1264786025042201D-2*t433*t21+0.3531516586666667D-4*t436*t105
12000     #-0.1556525517343831D-6*t442*t244)-0.3109D-1*t111*t209
12001     #+0.1664368495390566D-2*t115*t210+0.5D0*t120*t138*t209-0.15545D-1
12002     #*t31*t43*(-0.1590753642989956D2*t89*t46+0.3654010261705139D2
12003     #*t433*t50-0.2018331306666667D2*t436*t147+0.3233832088399478D1
12004     #*t442*t281)+2.D0*t179*t219+t73*(-0.7590062885922828D-1*t89*t76
12005     #+0.1478764296577413D-1*t471-0.2610312192D-3*t473+t476)+t73*
12006     #(0.5170183798117084D-2*t471-0.176315904D-3*t473+t476)
12007      t485 = sigma*t196
12008      t490 = t14/t5/t233
12009      v2sigmaaa2(i) = -0.7385587663820224D0*t3*(0.3106703245462379D-3
12010     #*t18*t21-0.203579392D-4*t485*t105+0.1167394138007873D-6*t490
12011     #*t244)-0.3109D-1*t31*t43*(-0.1559641148612265D2*t18*t50
12012     #+0.125910016D2*t485*t147-0.2425374066299608D1*t490*t281)+4.D0
12013     #*t73*(-0.3877637848587813D-2*t18*t80+0.132236928D-3*t485*t186
12014     #-0.9077209681475088D-6*t490*t415)
12015      else ! rho
12016      zk(i) = 0.0d0
12017      vrhoa(i) = 0.0d0
12018      v2rhoa2(i) = 0.0d0
12019      vsigmaaa(i) = 0.0d0
12020      v2rhoasigmaaa(i) = 0.0d0
12021      v2sigmaaa2(i) = 0.0d0
12022      endif ! rho
12023      enddo
12024
12025      endif ! ideriv
12026      return
12027      end
12028
12029
12030      subroutine uks_xc_hcth407
12031     & (ideriv,npt,rhoa1,rhob1,sigmaaa1,sigmabb1,sigmaab1,
12032     &  zk,vrhoa,vrhob,vsigmaaa,vsigmabb,vsigmaab,
12033     &  v2rhoa2,v2rhob2,v2rhoab,
12034     &  v2rhoasigmaaa,v2rhoasigmaab,v2rhoasigmabb,
12035     &  v2rhobsigmabb,v2rhobsigmaab,v2rhobsigmaaa,
12036     &  v2sigmaaa2,v2sigmaaaab,v2sigmaaabb,
12037     &  v2sigmaab2,v2sigmaabbb,v2sigmabb2)
12038c
12039c     A.D. Boese, N.C. Handy
12040c     A new parametriztion of exchange-correlation generalized gradient
12041c     approximation functionals
12042c     J. Chem. Phys. 114 (2001) 5497-5503.
12043c
12044c
12045c     CITATION:
12046c
12047c     Functionals were obtained from the Density Functional Repository
12048c     as developed and distributed by the Quantum Chemistry Group,
12049c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
12050c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
12051c     Paul Sherwood for further information.
12052c
12053c     COPYRIGHT:
12054c
12055c     Users may incorporate the source code into software packages and
12056c     redistribute the source code provided the source code is not
12057c     changed in anyway and is properly cited in any documentation or
12058c     publication related to its use.
12059c
12060c     ACKNOWLEDGEMENT:
12061c
12062c     The source code was generated using Maple 8 through a modified
12063c     version of the dfauto script published in:
12064c
12065c        R. Strange, F.R. Manby, P.J. Knowles
12066c        Automatic code generation in density functional theory
12067c        Comp. Phys. Comm. 136 (2001) 310-318.
12068c
12069      implicit real*8 (a-h,o-z)
12070      integer ideriv,npt
12071      real*8 rhoa1(npt),rhob1(npt)
12072      real*8 sigmaaa1(npt),sigmabb1(npt),sigmaab1(npt)
12073      real*8 zk(npt),vrhoa(npt),vrhob(npt)
12074      real*8 vsigmaaa(npt),vsigmabb(npt),vsigmaab(npt)
12075      real*8 v2rhoa2(npt),v2rhob2(npt),v2rhoab(npt)
12076      real*8 v2rhoasigmaaa(npt),v2rhoasigmaab(npt)
12077      real*8 v2rhoasigmabb(npt),v2rhobsigmabb(npt)
12078      real*8 v2rhobsigmaab(npt),v2rhobsigmaaa(npt)
12079      real*8 v2sigmaaa2(npt),v2sigmaaaab(npt),v2sigmaaabb(npt)
12080      real*8 v2sigmaab2(npt),v2sigmaabbb(npt),v2sigmabb2(npt)
12081      parameter(tol=1.0d-20)
12082
12083      if (ideriv.eq.0) then
12084
12085      do i=1,npt
12086      rhoa = dmax1(0.D0,rhoa1(i))
12087      rhob = dmax1(0.D0,rhob1(i))
12088      rho = rhoa+rhob
12089      if(rho.gt.tol) then
12090      if(rhoa.lt.tol) then
12091      rho = rhob
12092      sigmabb = dmax1(0.D0,sigmabb1(i))
12093      sigma = sigmabb
12094      t2 = rhob**(1.D0/3.D0)
12095      t4 = rhob**2
12096      t5 = t2**2
12097      t8 = sigmabb/t5/t4
12098      t10 = 1.D0+0.4D-2*t8
12099      t14 = sigmabb**2
12100      t15 = t4**2
12101      t19 = t14/t2/t15/rhob
12102      t20 = t10**2
12103      t25 = t15**2
12104      t27 = t14*sigmabb/t25
12105      t32 = t14**2
12106      t36 = t32/t5/t25/t4
12107      t37 = t20**2
12108      t44 = 1/rhob
12109      t45 = t44**(1.D0/3.D0)
12110      t49 = t44**(1.D0/6.D0)
12111      t52 = dsqrt(t44)
12112      t54 = t45**2
12113      t60 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t49
12114     #+0.3844746237447211D1*t45+0.1644733775567609D1*t52
12115     #+0.2405871291288192D0*t54))
12116      t62 = 1.D0+0.2D0*t8
12117      t66 = t62**2
12118      t74 = t66**2
12119      zk(i) = -0.9305257363491D0*t2*rhob*(0.108184D1-0.2073356D-2*t8
12120     #/t10+0.5480992D-4*t19/t20-0.16825664D-6*t27/t20/t10+0.5858688D-9
12121     #*t36/t37)-0.3109D-1*rhob*(1.D0+0.1274696188700087D0*t45)*t60*
12122     #(0.118777D1-0.480584D0*t8/t62+0.2246964D0*t19/t66-0.7343384D-1
12123     #*t27/t66/t62+0.9996768D-2*t36/t74)
12124      elseif(rhob.lt.tol) then
12125      rho = rhoa
12126      sigmaaa = dmax1(0.D0,sigmaaa1(i))
12127      sigma = sigmaaa
12128      t2 = rhoa**(1.D0/3.D0)
12129      t4 = rhoa**2
12130      t5 = t2**2
12131      t8 = sigmaaa/t5/t4
12132      t10 = 1.D0+0.4D-2*t8
12133      t14 = sigmaaa**2
12134      t15 = t4**2
12135      t19 = t14/t2/t15/rhoa
12136      t20 = t10**2
12137      t25 = t15**2
12138      t27 = t14*sigmaaa/t25
12139      t32 = t14**2
12140      t36 = t32/t5/t25/t4
12141      t37 = t20**2
12142      t44 = 1/rhoa
12143      t45 = t44**(1.D0/3.D0)
12144      t49 = t44**(1.D0/6.D0)
12145      t52 = dsqrt(t44)
12146      t54 = t45**2
12147      t60 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t49
12148     #+0.3844746237447211D1*t45+0.1644733775567609D1*t52
12149     #+0.2405871291288192D0*t54))
12150      t62 = 1.D0+0.2D0*t8
12151      t66 = t62**2
12152      t74 = t66**2
12153      zk(i) = -0.9305257363491D0*t2*rhoa*(0.108184D1-0.2073356D-2*t8
12154     #/t10+0.5480992D-4*t19/t20-0.16825664D-6*t27/t20/t10+0.5858688D-9
12155     #*t36/t37)-0.3109D-1*rhoa*(1.D0+0.1274696188700087D0*t45)*t60*
12156     #(0.118777D1-0.480584D0*t8/t62+0.2246964D0*t19/t66-0.7343384D-1
12157     #*t27/t66/t62+0.9996768D-2*t36/t74)
12158      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
12159      sigmaaa = dmax1(0.D0,sigmaaa1(i))
12160      sigmaab = sigmaab1(i)
12161      sigmabb = dmax1(0.D0,sigmabb1(i))
12162      sigma = sigmaaa+sigmabb+2.D0*sigmaab
12163      t4 = rhoa**(1.D0/3.D0)
12164      t6 = rhoa**2
12165      t7 = t4**2
12166      t10 = sigmaaa/t7/t6
12167      t12 = 1.D0+0.4D-2*t10
12168      t16 = sigmaaa**2
12169      t17 = t6**2
12170      t21 = t16/t4/t17/rhoa
12171      t22 = t12**2
12172      t27 = t17**2
12173      t29 = t16*sigmaaa/t27
12174      t34 = t16**2
12175      t38 = t34/t7/t27/t6
12176      t39 = t22**2
12177      t46 = 1/rhoa
12178      t47 = t46**(1.D0/3.D0)
12179      t50 = rhoa*(1.D0+0.1274696188700087D0*t47)
12180      t51 = t46**(1.D0/6.D0)
12181      t54 = dsqrt(t46)
12182      t56 = t47**2
12183      t62 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t51
12184     #+0.3844746237447211D1*t47+0.1644733775567609D1*t54
12185     #+0.2405871291288192D0*t56))
12186      t64 = 1.D0+0.2D0*t10
12187      t68 = t64**2
12188      t76 = t68**2
12189      t84 = rhob**(1.D0/3.D0)
12190      t86 = rhob**2
12191      t87 = t84**2
12192      t90 = sigmabb/t87/t86
12193      t92 = 1.D0+0.4D-2*t90
12194      t96 = sigmabb**2
12195      t97 = t86**2
12196      t101 = t96/t84/t97/rhob
12197      t102 = t92**2
12198      t107 = t97**2
12199      t109 = t96*sigmabb/t107
12200      t114 = t96**2
12201      t118 = t114/t87/t107/t86
12202      t119 = t102**2
12203      t126 = 1/rhob
12204      t127 = t126**(1.D0/3.D0)
12205      t130 = rhob*(1.D0+0.1274696188700087D0*t127)
12206      t131 = t126**(1.D0/6.D0)
12207      t134 = dsqrt(t126)
12208      t136 = t127**2
12209      t142 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t131
12210     #+0.3844746237447211D1*t127+0.1644733775567609D1*t134
12211     #+0.2405871291288192D0*t136))
12212      t144 = 1.D0+0.2D0*t90
12213      t148 = t144**2
12214      t156 = t148**2
12215      t164 = rhoa+rhob
12216      t165 = 1/t164
12217      t166 = t165**(1.D0/3.D0)
12218      t169 = t165**(1.D0/6.D0)
12219      t172 = dsqrt(t165)
12220      t174 = t166**2
12221      t180 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t169
12222     #+0.2225569421150687D1*t166+0.8004286349993634D0*t172
12223     #+0.1897004325747559D0*t174))
12224      t182 = 0.62182D-1*(1.D0+0.1325688999052018D0*t166)*t180
12225      t193 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t169
12226     #+0.2247591863577616D1*t166+0.4300972471276643D0*t172
12227     #+0.1911512595127338D0*t174))
12228      t196 = rhoa-1.D0*rhob
12229      t197 = t196*t165
12230      t198 = 1.D0+t197
12231      t199 = t198**(1.D0/3.D0)
12232      t202 = 1.D0-1.D0*t197
12233      t203 = t202**(1.D0/3.D0)
12234      t205 = t199*t198+t203*t202-2.D0
12235      t206 = t196**2
12236      t207 = t206**2
12237      t208 = t164**2
12238      t209 = t208**2
12239      t211 = t207/t209
12240      t227 = dlog(1.D0+0.321646831778707D2/(0.1112037486309468D2*t169
12241     #+0.3844746237447211D1*t166+0.1644733775567609D1*t172
12242     #+0.2405871291288192D0*t174))
12243      t243 = 0.5D0*t10+0.5D0*t90
12244      t246 = 1.D0+0.3D-2*t10+0.3D-2*t90
12245      t250 = t243**2
12246      t251 = t246**2
12247      t260 = t250**2
12248      t261 = t251**2
12249      s1 = -0.9305257363491D0*t4*rhoa*(0.108184D1-0.2073356D-2*t10/t12
12250     #+0.5480992D-4*t21/t22-0.16825664D-6*t29/t22/t12+0.5858688D-9*t38
12251     #/t39)-0.3109D-1*t50*t62*(0.118777D1-0.480584D0*t10/t64
12252     #+0.2246964D0*t21/t68-0.7343384D-1*t29/t68/t64+0.9996768D-2*t38
12253     #/t76)
12254      s2 = s1-0.9305257363491D0*t84*rhob*(0.108184D1-0.2073356D-2*t90
12255     #/t92+0.5480992D-4*t101/t102-0.16825664D-6*t109/t102/t92
12256     #+0.5858688D-9*t118/t119)
12257      zk(i) = s2-0.3109D-1*t130*t142*(0.118777D1-0.480584D0*t90/t144
12258     #+0.2246964D0*t101/t148-0.7343384D-1*t109/t148/t144+0.9996768D-2
12259     #*t118/t156)+(t164*(-t182+0.3799574853701528D-1*(1.D0
12260     #+0.6901399211255825D-1*t166)*t193*t205*(1.D0-1.D0*t211)
12261     #+0.1923661050931536D1*(-0.3109D-1*(1.D0+0.1274696188700087D0
12262     #*t166)*t227+t182)*t205*t211)+0.3109D-1*t50*t62+0.3109D-1*t130
12263     #*t142)*(0.589076D0+0.2654244D-1*t243/t246-0.6919848D-3*t250/t251
12264     #+0.91955736D-5*t250*t243/t251/t246-0.544387392D-7*t260/t261)
12265      endif ! rhoa,rhob
12266      else ! rho
12267      zk(i) = 0.0d0
12268      endif ! rho
12269      enddo
12270
12271      else if(ideriv.eq.1) then
12272
12273      do i=1,npt
12274      rhoa = dmax1(0.D0,rhoa1(i))
12275      rhob = dmax1(0.D0,rhob1(i))
12276      rho = rhoa+rhob
12277      if(rho.gt.tol) then
12278      if(rhoa.lt.tol) then
12279      rho = rhob
12280      sigmabb = dmax1(0.D0,sigmabb1(i))
12281      sigma = sigmabb
12282      t2 = rhob**(1.D0/3.D0)
12283      t3 = t2*rhob
12284      t4 = rhob**2
12285      t5 = t2**2
12286      t7 = 1/t5/t4
12287      t8 = sigmabb*t7
12288      t10 = 1.D0+0.4D-2*t8
12289      t11 = 1/t10
12290      t14 = sigmabb**2
12291      t15 = t4**2
12292      t16 = t15*rhob
12293      t18 = 1/t2/t16
12294      t19 = t14*t18
12295      t20 = t10**2
12296      t21 = 1/t20
12297      t24 = t14*sigmabb
12298      t25 = t15**2
12299      t26 = 1/t25
12300      t27 = t24*t26
12301      t29 = 1/t20/t10
12302      t32 = t14**2
12303      t35 = 1/t5/t25/t4
12304      t36 = t32*t35
12305      t37 = t20**2
12306      t38 = 1/t37
12307      t41 = 0.108184D1-0.2073356D-2*t8*t11+0.5480992D-4*t19*t21
12308     #-0.16825664D-6*t27*t29+0.5858688D-9*t36*t38
12309      t44 = 1/rhob
12310      t45 = t44**(1.D0/3.D0)
12311      t47 = 1.D0+0.1274696188700087D0*t45
12312      t48 = rhob*t47
12313      t49 = t44**(1.D0/6.D0)
12314      t52 = dsqrt(t44)
12315      t54 = t45**2
12316      t56 = 0.1112037486309468D2*t49+0.3844746237447211D1*t45
12317     #+0.1644733775567609D1*t52+0.2405871291288192D0*t54
12318      t59 = 1.D0+0.321646831778707D2/t56
12319      t60 = dlog(t59)
12320      t62 = 1.D0+0.2D0*t8
12321      t63 = 1/t62
12322      t66 = t62**2
12323      t67 = 1/t66
12324      t71 = 1/t66/t62
12325      t74 = t66**2
12326      t75 = 1/t74
12327      t78 = 0.118777D1-0.480584D0*t8*t63+0.2246964D0*t19*t67
12328     #-0.7343384D-1*t27*t71+0.9996768D-2*t36*t75
12329      t79 = t60*t78
12330      zk(i) = -0.9305257363491D0*t3*t41-0.3109D-1*t48*t79
12331      vrhoa(i) = 0.D0
12332      t84 = t4*rhob
12333      t87 = sigmabb/t5/t84
12334      t90 = t15*t4
12335      t93 = t14/t2/t90
12336      t98 = t24/t25/rhob
12337      t104 = t32/t5/t25/t84
12338      t111 = t32*sigmabb/t2/t25/t90
12339      t113 = 1/t37/t10
12340      t122 = 1/t54
12341      t126 = t56**2
12342      t129 = t49**2
12343      t130 = t129**2
12344      t133 = 1/t4
12345      t159 = 1/t74/t62
12346      vrhob(i) = -0.12407009817988D1*t2*t41-0.9305257363491D0*t3*
12347     #(0.5528949333333333D-2*t87*t11-0.3144353706666667D-3*t93*t21
12348     #+0.2515331413333333D-5*t98*t29-0.1163347968D-7*t104*t38
12349     #+0.249970688D-10*t111*t113)-0.3109D-1*t47*t60*t78
12350     #+0.1321010150222857D-2*t44*t122*t79+0.1D1*t48/t126*(
12351     #-0.1853395810515781D1/t130/t49*t133-0.128158207914907D1*t122
12352     #*t133-0.8223668877838045D0/t52*t133-0.1603914194192128D0/t45
12353     #*t133)/t59*t78-0.3109D-1*t48*t60*(0.1281557333333333D1*t87*t63
12354     #-0.1454692266666667D1*t93*t67+0.82714688D0*t98*t71-0.224126336D0
12355     #*t104*t75+0.213264384D-1*t111*t159)
12356      vsigmaaa(i) = 0.D0
12357      vsigmaab(i) = 0.D0
12358      t168 = sigmabb*t18
12359      t171 = t14*t26
12360      t174 = t24*t35
12361      t180 = t32/t2/t25/t16
12362      vsigmabb(i) = -0.9305257363491D0*t3*(-0.2073356D-2*t7*t11
12363     #+0.117913264D-3*t168*t21-0.94324928D-6*t171*t29+0.436255488D-8
12364     #*t174*t38-0.93739008D-11*t180*t113)-0.3109D-1*t48*t60*(
12365     #-0.480584D0*t7*t63+0.5455096D0*t168*t67-0.31018008D0*t171*t71
12366     #+0.84047376D-1*t174*t75-0.79974144D-2*t180*t159)
12367      elseif(rhob.lt.tol) then
12368      rho = rhoa
12369      sigmaaa = dmax1(0.D0,sigmaaa1(i))
12370      sigma = sigmaaa
12371      t2 = rhoa**(1.D0/3.D0)
12372      t3 = t2*rhoa
12373      t4 = rhoa**2
12374      t5 = t2**2
12375      t7 = 1/t5/t4
12376      t8 = sigmaaa*t7
12377      t10 = 1.D0+0.4D-2*t8
12378      t11 = 1/t10
12379      t14 = sigmaaa**2
12380      t15 = t4**2
12381      t16 = t15*rhoa
12382      t18 = 1/t2/t16
12383      t19 = t14*t18
12384      t20 = t10**2
12385      t21 = 1/t20
12386      t24 = t14*sigmaaa
12387      t25 = t15**2
12388      t26 = 1/t25
12389      t27 = t24*t26
12390      t29 = 1/t20/t10
12391      t32 = t14**2
12392      t35 = 1/t5/t25/t4
12393      t36 = t32*t35
12394      t37 = t20**2
12395      t38 = 1/t37
12396      t41 = 0.108184D1-0.2073356D-2*t8*t11+0.5480992D-4*t19*t21
12397     #-0.16825664D-6*t27*t29+0.5858688D-9*t36*t38
12398      t44 = 1/rhoa
12399      t45 = t44**(1.D0/3.D0)
12400      t47 = 1.D0+0.1274696188700087D0*t45
12401      t48 = rhoa*t47
12402      t49 = t44**(1.D0/6.D0)
12403      t52 = dsqrt(t44)
12404      t54 = t45**2
12405      t56 = 0.1112037486309468D2*t49+0.3844746237447211D1*t45
12406     #+0.1644733775567609D1*t52+0.2405871291288192D0*t54
12407      t59 = 1.D0+0.321646831778707D2/t56
12408      t60 = dlog(t59)
12409      t62 = 1.D0+0.2D0*t8
12410      t63 = 1/t62
12411      t66 = t62**2
12412      t67 = 1/t66
12413      t71 = 1/t66/t62
12414      t74 = t66**2
12415      t75 = 1/t74
12416      t78 = 0.118777D1-0.480584D0*t8*t63+0.2246964D0*t19*t67
12417     #-0.7343384D-1*t27*t71+0.9996768D-2*t36*t75
12418      t79 = t60*t78
12419      zk(i) = -0.9305257363491D0*t3*t41-0.3109D-1*t48*t79
12420      t84 = t4*rhoa
12421      t87 = sigmaaa/t5/t84
12422      t90 = t15*t4
12423      t93 = t14/t2/t90
12424      t98 = t24/t25/rhoa
12425      t104 = t32/t5/t25/t84
12426      t111 = t32*sigmaaa/t2/t25/t90
12427      t113 = 1/t37/t10
12428      t122 = 1/t54
12429      t126 = t56**2
12430      t129 = t49**2
12431      t130 = t129**2
12432      t133 = 1/t4
12433      t159 = 1/t74/t62
12434      vrhoa(i) = -0.12407009817988D1*t2*t41-0.9305257363491D0*t3*
12435     #(0.5528949333333333D-2*t87*t11-0.3144353706666667D-3*t93*t21
12436     #+0.2515331413333333D-5*t98*t29-0.1163347968D-7*t104*t38
12437     #+0.249970688D-10*t111*t113)-0.3109D-1*t47*t60*t78
12438     #+0.1321010150222857D-2*t44*t122*t79+0.1D1*t48/t126*(
12439     #-0.1853395810515781D1/t130/t49*t133-0.128158207914907D1*t122
12440     #*t133-0.8223668877838045D0/t52*t133-0.1603914194192128D0/t45
12441     #*t133)/t59*t78-0.3109D-1*t48*t60*(0.1281557333333333D1*t87*t63
12442     #-0.1454692266666667D1*t93*t67+0.82714688D0*t98*t71-0.224126336D0
12443     #*t104*t75+0.213264384D-1*t111*t159)
12444      vrhob(i) = 0.D0
12445      t168 = sigmaaa*t18
12446      t171 = t14*t26
12447      t174 = t24*t35
12448      t180 = t32/t2/t25/t16
12449      vsigmaaa(i) = -0.9305257363491D0*t3*(-0.2073356D-2*t7*t11
12450     #+0.117913264D-3*t168*t21-0.94324928D-6*t171*t29+0.436255488D-8
12451     #*t174*t38-0.93739008D-11*t180*t113)-0.3109D-1*t48*t60*(
12452     #-0.480584D0*t7*t63+0.5455096D0*t168*t67-0.31018008D0*t171*t71
12453     #+0.84047376D-1*t174*t75-0.79974144D-2*t180*t159)
12454      vsigmaab(i) = 0.D0
12455      vsigmabb(i) = 0.D0
12456      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
12457      sigmaaa = dmax1(0.D0,sigmaaa1(i))
12458      sigmaab = sigmaab1(i)
12459      sigmabb = dmax1(0.D0,sigmabb1(i))
12460      sigma = sigmaaa+sigmabb+2.D0*sigmaab
12461      t4 = rhoa**(1.D0/3.D0)
12462      t5 = t4*rhoa
12463      t6 = rhoa**2
12464      t7 = t4**2
12465      t9 = 1/t7/t6
12466      t10 = sigmaaa*t9
12467      t12 = 1.D0+0.4D-2*t10
12468      t13 = 1/t12
12469      t16 = sigmaaa**2
12470      t17 = t6**2
12471      t18 = t17*rhoa
12472      t20 = 1/t4/t18
12473      t21 = t16*t20
12474      t22 = t12**2
12475      t23 = 1/t22
12476      t26 = t16*sigmaaa
12477      t27 = t17**2
12478      t28 = 1/t27
12479      t29 = t26*t28
12480      t31 = 1/t22/t12
12481      t34 = t16**2
12482      t37 = 1/t7/t27/t6
12483      t38 = t34*t37
12484      t39 = t22**2
12485      t40 = 1/t39
12486      t43 = 0.108184D1-0.2073356D-2*t10*t13+0.5480992D-4*t21*t23
12487     #-0.16825664D-6*t29*t31+0.5858688D-9*t38*t40
12488      t46 = 1/rhoa
12489      t47 = t46**(1.D0/3.D0)
12490      t49 = 1.D0+0.1274696188700087D0*t47
12491      t50 = rhoa*t49
12492      t51 = t46**(1.D0/6.D0)
12493      t54 = dsqrt(t46)
12494      t56 = t47**2
12495      t58 = 0.1112037486309468D2*t51+0.3844746237447211D1*t47
12496     #+0.1644733775567609D1*t54+0.2405871291288192D0*t56
12497      t61 = 1.D0+0.321646831778707D2/t58
12498      t62 = dlog(t61)
12499      t64 = 1.D0+0.2D0*t10
12500      t65 = 1/t64
12501      t68 = t64**2
12502      t69 = 1/t68
12503      t73 = 1/t68/t64
12504      t76 = t68**2
12505      t77 = 1/t76
12506      t80 = 0.118777D1-0.480584D0*t10*t65+0.2246964D0*t21*t69
12507     #-0.7343384D-1*t29*t73+0.9996768D-2*t38*t77
12508      t81 = t62*t80
12509      t84 = rhob**(1.D0/3.D0)
12510      t85 = t84*rhob
12511      t86 = rhob**2
12512      t87 = t84**2
12513      t89 = 1/t87/t86
12514      t90 = sigmabb*t89
12515      t92 = 1.D0+0.4D-2*t90
12516      t93 = 1/t92
12517      t96 = sigmabb**2
12518      t97 = t86**2
12519      t98 = t97*rhob
12520      t100 = 1/t84/t98
12521      t101 = t96*t100
12522      t102 = t92**2
12523      t103 = 1/t102
12524      t106 = t96*sigmabb
12525      t107 = t97**2
12526      t108 = 1/t107
12527      t109 = t106*t108
12528      t111 = 1/t102/t92
12529      t114 = t96**2
12530      t117 = 1/t87/t107/t86
12531      t118 = t114*t117
12532      t119 = t102**2
12533      t120 = 1/t119
12534      t123 = 0.108184D1-0.2073356D-2*t90*t93+0.5480992D-4*t101*t103
12535     #-0.16825664D-6*t109*t111+0.5858688D-9*t118*t120
12536      t126 = 1/rhob
12537      t127 = t126**(1.D0/3.D0)
12538      t129 = 1.D0+0.1274696188700087D0*t127
12539      t130 = rhob*t129
12540      t131 = t126**(1.D0/6.D0)
12541      t134 = dsqrt(t126)
12542      t136 = t127**2
12543      t138 = 0.1112037486309468D2*t131+0.3844746237447211D1*t127
12544     #+0.1644733775567609D1*t134+0.2405871291288192D0*t136
12545      t141 = 1.D0+0.321646831778707D2/t138
12546      t142 = dlog(t141)
12547      t144 = 1.D0+0.2D0*t90
12548      t145 = 1/t144
12549      t148 = t144**2
12550      t149 = 1/t148
12551      t153 = 1/t148/t144
12552      t156 = t148**2
12553      t157 = 1/t156
12554      t160 = 0.118777D1-0.480584D0*t90*t145+0.2246964D0*t101*t149
12555     #-0.7343384D-1*t109*t153+0.9996768D-2*t118*t157
12556      t161 = t142*t160
12557      t164 = rhoa+rhob
12558      t165 = 1/t164
12559      t166 = t165**(1.D0/3.D0)
12560      t168 = 1.D0+0.1325688999052018D0*t166
12561      t169 = t165**(1.D0/6.D0)
12562      t172 = dsqrt(t165)
12563      t174 = t166**2
12564      t176 = 0.598255043577108D1*t169+0.2225569421150687D1*t166
12565     #+0.8004286349993634D0*t172+0.1897004325747559D0*t174
12566      t179 = 1.D0+0.160818243221511D2/t176
12567      t180 = dlog(t179)
12568      t182 = 0.62182D-1*t168*t180
12569      t184 = 1.D0+0.6901399211255825D-1*t166
12570      t189 = 0.8157414703487641D1*t169+0.2247591863577616D1*t166
12571     #+0.4300972471276643D0*t172+0.1911512595127338D0*t174
12572      t192 = 1.D0+0.2960857464321668D2/t189
12573      t193 = dlog(t192)
12574      t194 = t184*t193
12575      t196 = rhoa-1.D0*rhob
12576      t197 = t196*t165
12577      t198 = 1.D0+t197
12578      t199 = t198**(1.D0/3.D0)
12579      t202 = 1.D0-1.D0*t197
12580      t203 = t202**(1.D0/3.D0)
12581      t205 = t199*t198+t203*t202-2.D0
12582      t206 = t196**2
12583      t207 = t206**2
12584      t208 = t164**2
12585      t209 = t208**2
12586      t210 = 1/t209
12587      t211 = t207*t210
12588      t213 = 1.D0-1.D0*t211
12589      t216 = 0.3799574853701528D-1*t194*t205*t213
12590      t218 = 1.D0+0.1274696188700087D0*t166
12591      t223 = 0.1112037486309468D2*t169+0.3844746237447211D1*t166
12592     #+0.1644733775567609D1*t172+0.2405871291288192D0*t174
12593      t226 = 1.D0+0.321646831778707D2/t223
12594      t227 = dlog(t226)
12595      t230 = -0.3109D-1*t218*t227+t182
12596      t231 = t230*t205
12597      t233 = 0.1923661050931536D1*t231*t211
12598      t240 = t164*(-t182+t216+t233)+0.3109D-1*t50*t62+0.3109D-1*t130
12599     #*t142
12600      t243 = 0.5D0*t10+0.5D0*t90
12601      t246 = 1.D0+0.3D-2*t10+0.3D-2*t90
12602      t247 = 1/t246
12603      t250 = t243**2
12604      t251 = t246**2
12605      t252 = 1/t251
12606      t255 = t250*t243
12607      t257 = 1/t251/t246
12608      t260 = t250**2
12609      t261 = t251**2
12610      t262 = 1/t261
12611      t265 = 0.589076D0+0.2654244D-1*t243*t247-0.6919848D-3*t250*t252
12612     #+0.91955736D-5*t255*t257-0.544387392D-7*t260*t262
12613      zk(i) = -0.9305257363491D0*t5*t43-0.3109D-1*t50*t81
12614     #-0.9305257363491D0*t85*t123-0.3109D-1*t130*t161+t240*t265
12615      t269 = t6*rhoa
12616      t272 = sigmaaa/t7/t269
12617      t275 = t17*t6
12618      t278 = t16/t4/t275
12619      t283 = t26/t27/rhoa
12620      t289 = t34/t7/t27/t269
12621      t296 = t34*sigmaaa/t4/t27/t275
12622      t298 = 1/t39/t12
12623      t304 = t49*t62
12624      t307 = 1/t56
12625      t308 = t46*t307
12626      t311 = t58**2
12627      t312 = 1/t311
12628      t314 = t51**2
12629      t315 = t314**2
12630      t318 = 1/t6
12631      t329 = -0.1853395810515781D1/t315/t51*t318-0.128158207914907D1
12632     #*t307*t318-0.8223668877838045D0/t54*t318-0.1603914194192128D0
12633     #/t47*t318
12634      t330 = 1/t61
12635      t344 = 1/t76/t64
12636      t352 = 1/t208
12637      t353 = 1/t174*t352
12638      t354 = t353*t180
12639      t355 = 0.2747799777968419D-2*t354
12640      t356 = t176**2
12641      t359 = t169**2
12642      t360 = t359**2
12643      t363 = 1/t360/t169*t352
12644      t367 = 1/t172*t352
12645      t370 = 1/t166*t352
12646      t375 = t168/t356*(-0.99709173929518D0*t363-0.7418564737168958D0
12647     #*t353-0.4002143174996817D0*t367-0.1264669550498372D0*t370)/t179
12648      t376 = 0.1D1*t375
12649      t380 = 0.8740794299481065D-3*t353*t193*t205*t213
12650      t381 = t189**2
12651      t394 = 0.1124999956683108D1*t184/t381*(-0.135956911724794D1*t363
12652     #-0.7491972878592054D0*t353-0.2150486235638321D0*t367
12653     #-0.1274341730084892D0*t370)/t192*t205*t213
12654      t395 = t196*t352
12655      t396 = 1.D0*t395
12656      t400 = 1.D0*t165
12657      t404 = 0.1333333333333333D1*t199*(t165-t396)
12658     #+0.1333333333333333D1*t203*(-t400+t395)
12659      t409 = t206*t196*t210
12660      t410 = 4.D0*t409
12661      t413 = t207/t209/t164
12662      t414 = 4.D0*t413
12663      t421 = t223**2
12664      t438 = 0.1923661050931536D1*(0.1321010150222857D-2*t353*t227
12665     #+0.1D1*t218/t421*(-0.1853395810515781D1*t363-0.128158207914907D1
12666     #*t353-0.8223668877838045D0*t367-0.1603914194192128D0*t370)/t226
12667     #-0.2747799777968419D-2*t354-0.1D1*t375)*t205*t211
12668      t442 = t231*t409
12669      t445 = 0.7694644203726145D1*t231*t413
12670      t459 = t243*t252
12671      t462 = t250*t257
12672      t465 = t255*t262
12673      t470 = t260/t261/t246
12674      s1 = -0.12407009817988D1*t4*t43-0.9305257363491D0*t5*
12675     #(0.5528949333333333D-2*t272*t13-0.3144353706666667D-3*t278*t23
12676     #+0.2515331413333333D-5*t283*t31-0.1163347968D-7*t289*t40
12677     #+0.249970688D-10*t296*t298)-0.3109D-1*t304*t80
12678     #+0.1321010150222857D-2*t308*t81
12679      vrhoa(i) = s1+0.1D1*t50*t312*t329*t330*t80-0.3109D-1*t50*t62*
12680     #(0.1281557333333333D1*t272*t65-0.1454692266666667D1*t278*t69
12681     #+0.82714688D0*t283*t73-0.224126336D0*t289*t77+0.213264384D-1
12682     #*t296*t344)+(-t182+t216+t233+t164*(t355+t376-t380-t394
12683     #+0.3799574853701528D-1*t194*t404*t213+0.3799574853701528D-1*t194
12684     #*t205*(-t410+t414)+t438+0.1923661050931536D1*t230*t404*t211
12685     #+0.7694644203726145D1*t442-t445)+0.3109D-1*t304
12686     #-0.1321010150222857D-2*t308*t62-0.1D1*t50*t312*t329*t330)*t265
12687     #+t240*(-0.3538992D-1*t272*t247+0.205763232D-2*t459*t272
12688     #-0.478540512D-4*t462*t272+0.5110337088D-6*t465*t272
12689     #-0.17420396544D-8*t470*t272)
12690      t477 = t86*rhob
12691      t480 = sigmabb/t87/t477
12692      t483 = t97*t86
12693      t486 = t96/t84/t483
12694      t491 = t106/t107/rhob
12695      t497 = t114/t87/t107/t477
12696      t504 = t114*sigmabb/t84/t107/t483
12697      t506 = 1/t119/t92
12698      t512 = t129*t142
12699      t515 = 1/t136
12700      t516 = t126*t515
12701      t519 = t138**2
12702      t520 = 1/t519
12703      t522 = t131**2
12704      t523 = t522**2
12705      t526 = 1/t86
12706      t537 = -0.1853395810515781D1/t523/t131*t526-0.128158207914907D1
12707     #*t515*t526-0.8223668877838045D0/t134*t526-0.1603914194192128D0
12708     #/t127*t526
12709      t538 = 1/t141
12710      t552 = 1/t156/t144
12711      t565 = 0.1333333333333333D1*t199*(-t400-t396)
12712     #+0.1333333333333333D1*t203*(t165+t395)
12713      s1 = -0.12407009817988D1*t84*t123-0.9305257363491D0*t85*
12714     #(0.5528949333333333D-2*t480*t93-0.3144353706666667D-3*t486*t103
12715     #+0.2515331413333333D-5*t491*t111-0.1163347968D-7*t497*t120
12716     #+0.249970688D-10*t504*t506)-0.3109D-1*t512*t160
12717     #+0.1321010150222857D-2*t516*t161
12718      vrhob(i) = s1+0.1D1*t130*t520*t537*t538*t160-0.3109D-1*t130*t142
12719     #*(0.1281557333333333D1*t480*t145-0.1454692266666667D1*t486*t149
12720     #+0.82714688D0*t491*t153-0.224126336D0*t497*t157+0.213264384D-1
12721     #*t504*t552)+(-t182+t216+t233+t164*(t355+t376-t380-t394
12722     #+0.3799574853701528D-1*t194*t565*t213+0.3799574853701528D-1*t194
12723     #*t205*(t410+t414)+t438+0.1923661050931536D1*t230*t565*t211
12724     #-0.7694644203726145D1*t442-t445)+0.3109D-1*t512
12725     #-0.1321010150222857D-2*t516*t142-0.1D1*t130*t520*t537*t538)*t265
12726     #+t240*(-0.3538992D-1*t480*t247+0.205763232D-2*t459*t480
12727     #-0.478540512D-4*t462*t480+0.5110337088D-6*t465*t480
12728     #-0.17420396544D-8*t470*t480)
12729      t602 = sigmaaa*t20
12730      t605 = t16*t28
12731      t608 = t26*t37
12732      t614 = t34/t4/t27/t18
12733      vsigmaaa(i) = -0.9305257363491D0*t5*(-0.2073356D-2*t9*t13
12734     #+0.117913264D-3*t602*t23-0.94324928D-6*t605*t31+0.436255488D-8
12735     #*t608*t40-0.93739008D-11*t614*t298)-0.3109D-1*t50*t62*(
12736     #-0.480584D0*t9*t65+0.5455096D0*t602*t69-0.31018008D0*t605*t73
12737     #+0.84047376D-1*t608*t77-0.79974144D-2*t614*t344)+t240*
12738     #(0.1327122D-1*t9*t247-0.77161212D-3*t459*t9+0.179452692D-4*t462
12739     #*t9-0.1916376408D-6*t465*t9+0.6532648704D-9*t470*t9)
12740      vsigmaab(i) = 0.D0
12741      t648 = sigmabb*t100
12742      t651 = t96*t108
12743      t654 = t106*t117
12744      t660 = t114/t84/t107/t98
12745      vsigmabb(i) = -0.9305257363491D0*t85*(-0.2073356D-2*t89*t93
12746     #+0.117913264D-3*t648*t103-0.94324928D-6*t651*t111+0.436255488D-8
12747     #*t654*t120-0.93739008D-11*t660*t506)-0.3109D-1*t130*t142*(
12748     #-0.480584D0*t89*t145+0.5455096D0*t648*t149-0.31018008D0*t651
12749     #*t153+0.84047376D-1*t654*t157-0.79974144D-2*t660*t552)+t240*
12750     #(0.1327122D-1*t89*t247-0.77161212D-3*t459*t89+0.179452692D-4
12751     #*t462*t89-0.1916376408D-6*t465*t89+0.6532648704D-9*t470*t89)
12752      endif ! rhoa,rhob
12753      else ! rho
12754      zk(i) = 0.0d0
12755      vrhoa(i) = 0.0d0
12756      vrhob(i) = 0.0d0
12757      vsigmaaa(i) = 0.0d0
12758      vsigmaab(i) = 0.0d0
12759      vsigmabb(i) = 0.0d0
12760      endif ! rho
12761      enddo
12762
12763      else if(ideriv.eq.2) then
12764
12765      do i=1,npt
12766      rhoa = dmax1(0.D0,rhoa1(i))
12767      rhob = dmax1(0.D0,rhob1(i))
12768      rho = rhoa+rhob
12769      if(rho.gt.tol) then
12770      if(rhoa.lt.tol) then
12771      rho = rhob
12772      sigmabb = dmax1(0.D0,sigmabb1(i))
12773      sigma = sigmabb
12774      t2 = rhob**(1.D0/3.D0)
12775      t3 = t2*rhob
12776      t4 = rhob**2
12777      t5 = t2**2
12778      t7 = 1/t5/t4
12779      t8 = sigmabb*t7
12780      t10 = 1.D0+0.4D-2*t8
12781      t11 = 1/t10
12782      t14 = sigmabb**2
12783      t15 = t4**2
12784      t16 = t15*rhob
12785      t18 = 1/t2/t16
12786      t19 = t14*t18
12787      t20 = t10**2
12788      t21 = 1/t20
12789      t24 = t14*sigmabb
12790      t25 = t15**2
12791      t26 = 1/t25
12792      t27 = t24*t26
12793      t29 = 1/t20/t10
12794      t32 = t14**2
12795      t33 = t25*t4
12796      t35 = 1/t5/t33
12797      t36 = t32*t35
12798      t37 = t20**2
12799      t38 = 1/t37
12800      t41 = 0.108184D1-0.2073356D-2*t8*t11+0.5480992D-4*t19*t21
12801     #-0.16825664D-6*t27*t29+0.5858688D-9*t36*t38
12802      t44 = 1/rhob
12803      t45 = t44**(1.D0/3.D0)
12804      t47 = 1.D0+0.1274696188700087D0*t45
12805      t48 = rhob*t47
12806      t49 = t44**(1.D0/6.D0)
12807      t52 = dsqrt(t44)
12808      t54 = t45**2
12809      t56 = 0.1112037486309468D2*t49+0.3844746237447211D1*t45
12810     #+0.1644733775567609D1*t52+0.2405871291288192D0*t54
12811      t59 = 1.D0+0.321646831778707D2/t56
12812      t60 = dlog(t59)
12813      t62 = 1.D0+0.2D0*t8
12814      t63 = 1/t62
12815      t66 = t62**2
12816      t67 = 1/t66
12817      t71 = 1/t66/t62
12818      t74 = t66**2
12819      t75 = 1/t74
12820      t78 = 0.118777D1-0.480584D0*t8*t63+0.2246964D0*t19*t67
12821     #-0.7343384D-1*t27*t71+0.9996768D-2*t36*t75
12822      t79 = t60*t78
12823      zk(i) = -0.9305257363491D0*t3*t41-0.3109D-1*t48*t79
12824      vrhoa(i) = 0.D0
12825      t84 = t4*rhob
12826      t87 = sigmabb/t5/t84
12827      t90 = t15*t4
12828      t93 = t14/t2/t90
12829      t98 = t24/t25/rhob
12830      t104 = t32/t5/t25/t84
12831      t107 = t32*sigmabb
12832      t111 = t107/t2/t25/t90
12833      t113 = 1/t37/t10
12834      t116 = 0.5528949333333333D-2*t87*t11-0.3144353706666667D-3*t93
12835     #*t21+0.2515331413333333D-5*t98*t29-0.1163347968D-7*t104*t38
12836     #+0.249970688D-10*t111*t113
12837      t119 = t47*t60
12838      t122 = 1/t54
12839      t123 = t44*t122
12840      t126 = t56**2
12841      t127 = 1/t126
12842      t128 = t48*t127
12843      t129 = t49**2
12844      t130 = t129**2
12845      t131 = t130*t49
12846      t132 = 1/t131
12847      t133 = 1/t4
12848      t138 = 1/t52
12849      t141 = 1/t45
12850      t144 = -0.1853395810515781D1*t132*t133-0.128158207914907D1*t122
12851     #*t133-0.8223668877838045D0*t138*t133-0.1603914194192128D0*t141
12852     #*t133
12853      t145 = 1/t59
12854      t146 = t144*t145
12855      t147 = t146*t78
12856      t159 = 1/t74/t62
12857      t162 = 0.1281557333333333D1*t87*t63-0.1454692266666667D1*t93*t67
12858     #+0.82714688D0*t98*t71-0.224126336D0*t104*t75+0.213264384D-1*t111
12859     #*t159
12860      t163 = t60*t162
12861      vrhob(i) = -0.12407009817988D1*t2*t41-0.9305257363491D0*t3*t116
12862     #-0.3109D-1*t119*t78+0.1321010150222857D-2*t123*t79+0.1D1*t128
12863     #*t147-0.3109D-1*t48*t163
12864      vsigmaaa(i) = 0.D0
12865      vsigmaab(i) = 0.D0
12866      t168 = sigmabb*t18
12867      t171 = t14*t26
12868      t174 = t24*t35
12869      t179 = 1/t2/t25/t16
12870      t180 = t32*t179
12871      vsigmabb(i) = -0.9305257363491D0*t3*(-0.2073356D-2*t7*t11
12872     #+0.117913264D-3*t168*t21-0.94324928D-6*t171*t29+0.436255488D-8
12873     #*t174*t38-0.93739008D-11*t180*t113)-0.3109D-1*t48*t60*(
12874     #-0.480584D0*t7*t63+0.5455096D0*t168*t67-0.31018008D0*t171*t71
12875     #+0.84047376D-1*t174*t75-0.79974144D-2*t180*t159)
12876      v2rhoa2(i) = 0.D0
12877      v2rhoab(i) = 0.D0
12878      t207 = sigmabb/t5/t15
12879      t210 = t15*t84
12880      t213 = t14/t2/t210
12881      t217 = t24/t33
12882      t223 = t32/t5/t25/t15
12883      t229 = t107/t2/t25/t210
12884      t233 = t25**2
12885      t236 = t32*t14/t233/t4
12886      t238 = 1/t37/t20
12887      t249 = 1/t84
12888      t251 = 1/t54/t44
12889      t263 = t144**2
12890      t270 = 1/t15
12891      t296 = t126**2
12892      t299 = t59**2
12893      t319 = 1/t74/t66
12894      s1 = -0.4135669939329333D0/t5*t41-0.24814019635976D1*t2*t116
12895     #-0.9305257363491D0*t3*(-0.2027281422222222D-1*t207*t11
12896     #+0.2050399473777778D-2*t213*t21-0.2934593729422222D-4*t217*t29
12897     #+0.2162145348266667D-6*t223*t38-0.8546531191466667D-9*t229*t113
12898     #+0.1333177002666667D-11*t236*t238)+0.2D1*t47*t127*t147-0.6218D-1
12899     #*t119*t162+0.8806734334819047D-3*t249*t251*t79
12900      v2rhob2(i) = s1-0.8497974591333914D-1*t123*t127*t147
12901     #+0.2642020300445714D-2*t123*t163-0.2D1*t48/t126/t56*t263*t145
12902     #*t78+0.1D1*t128*(-0.1544496508763151D1/t131/t44*t270
12903     #+0.3706791621031562D1*t132*t249-0.854388052766047D0*t251*t270
12904     #+0.2563164158298141D1*t122*t249-0.4111834438919023D0/t52/t44
12905     #*t270+0.1644733775567609D1*t138*t249-0.5346380647307093D-1/t45
12906     #/t44*t270+0.3207828388384256D0*t141*t249)*t145*t78
12907     #+0.321646831778707D2*t48/t296*t263/t299*t78+0.2D1*t128*t146*t162
12908     #-0.3109D-1*t48*t60*(-0.4699043555555556D1*t207*t63
12909     #+0.9896548266666667D1*t213*t67-0.8995993671111111D1*t217*t71
12910     #+0.3938242261333333D1*t223*t75-0.7838151338666667D0*t229*t159
12911     #+0.568705024D-1*t236*t319)
12912      v2sigmaaa2(i) = 0.D0
12913      v2sigmaaaab(i) = 0.D0
12914      v2sigmaaabb(i) = 0.D0
12915      v2sigmaab2(i) = 0.D0
12916      v2sigmaabbb(i) = 0.D0
12917      t328 = sigmabb*t26
12918      t331 = t14*t35
12919      t334 = t24*t179
12920      t338 = t32/t233
12921      v2sigmabb2(i) = -0.9305257363491D0*t3*(0.126206688D-3*t18*t21
12922     #-0.2829804672D-5*t328*t29+0.24406656D-7*t331*t38
12923     #-0.10729648128D-9*t334*t113+0.187478016D-12*t338*t238)-0.3109D-1
12924     #*t48*t60*(0.6416264D0*t18*t67-0.838564D0*t328*t71+0.438250176D0
12925     #*t331*t75-0.992275584D-1*t334*t159+0.79974144D-2*t338*t319)
12926      elseif(rhob.lt.tol) then
12927      rho = rhoa
12928      sigmaaa = dmax1(0.D0,sigmaaa1(i))
12929      sigma = sigmaaa
12930      t2 = rhoa**(1.D0/3.D0)
12931      t3 = t2*rhoa
12932      t4 = rhoa**2
12933      t5 = t2**2
12934      t7 = 1/t5/t4
12935      t8 = sigmaaa*t7
12936      t10 = 1.D0+0.4D-2*t8
12937      t11 = 1/t10
12938      t14 = sigmaaa**2
12939      t15 = t4**2
12940      t16 = t15*rhoa
12941      t18 = 1/t2/t16
12942      t19 = t14*t18
12943      t20 = t10**2
12944      t21 = 1/t20
12945      t24 = t14*sigmaaa
12946      t25 = t15**2
12947      t26 = 1/t25
12948      t27 = t24*t26
12949      t29 = 1/t20/t10
12950      t32 = t14**2
12951      t33 = t25*t4
12952      t35 = 1/t5/t33
12953      t36 = t32*t35
12954      t37 = t20**2
12955      t38 = 1/t37
12956      t41 = 0.108184D1-0.2073356D-2*t8*t11+0.5480992D-4*t19*t21
12957     #-0.16825664D-6*t27*t29+0.5858688D-9*t36*t38
12958      t44 = 1/rhoa
12959      t45 = t44**(1.D0/3.D0)
12960      t47 = 1.D0+0.1274696188700087D0*t45
12961      t48 = rhoa*t47
12962      t49 = t44**(1.D0/6.D0)
12963      t52 = dsqrt(t44)
12964      t54 = t45**2
12965      t56 = 0.1112037486309468D2*t49+0.3844746237447211D1*t45
12966     #+0.1644733775567609D1*t52+0.2405871291288192D0*t54
12967      t59 = 1.D0+0.321646831778707D2/t56
12968      t60 = dlog(t59)
12969      t62 = 1.D0+0.2D0*t8
12970      t63 = 1/t62
12971      t66 = t62**2
12972      t67 = 1/t66
12973      t71 = 1/t66/t62
12974      t74 = t66**2
12975      t75 = 1/t74
12976      t78 = 0.118777D1-0.480584D0*t8*t63+0.2246964D0*t19*t67
12977     #-0.7343384D-1*t27*t71+0.9996768D-2*t36*t75
12978      t79 = t60*t78
12979      zk(i) = -0.9305257363491D0*t3*t41-0.3109D-1*t48*t79
12980      t84 = t4*rhoa
12981      t87 = sigmaaa/t5/t84
12982      t90 = t15*t4
12983      t93 = t14/t2/t90
12984      t98 = t24/t25/rhoa
12985      t104 = t32/t5/t25/t84
12986      t107 = t32*sigmaaa
12987      t111 = t107/t2/t25/t90
12988      t113 = 1/t37/t10
12989      t116 = 0.5528949333333333D-2*t87*t11-0.3144353706666667D-3*t93
12990     #*t21+0.2515331413333333D-5*t98*t29-0.1163347968D-7*t104*t38
12991     #+0.249970688D-10*t111*t113
12992      t119 = t47*t60
12993      t122 = 1/t54
12994      t123 = t44*t122
12995      t126 = t56**2
12996      t127 = 1/t126
12997      t128 = t48*t127
12998      t129 = t49**2
12999      t130 = t129**2
13000      t131 = t130*t49
13001      t132 = 1/t131
13002      t133 = 1/t4
13003      t138 = 1/t52
13004      t141 = 1/t45
13005      t144 = -0.1853395810515781D1*t132*t133-0.128158207914907D1*t122
13006     #*t133-0.8223668877838045D0*t138*t133-0.1603914194192128D0*t141
13007     #*t133
13008      t145 = 1/t59
13009      t146 = t144*t145
13010      t147 = t146*t78
13011      t159 = 1/t74/t62
13012      t162 = 0.1281557333333333D1*t87*t63-0.1454692266666667D1*t93*t67
13013     #+0.82714688D0*t98*t71-0.224126336D0*t104*t75+0.213264384D-1*t111
13014     #*t159
13015      t163 = t60*t162
13016      vrhoa(i) = -0.12407009817988D1*t2*t41-0.9305257363491D0*t3*t116
13017     #-0.3109D-1*t119*t78+0.1321010150222857D-2*t123*t79+0.1D1*t128
13018     #*t147-0.3109D-1*t48*t163
13019      vrhob(i) = 0.D0
13020      t168 = sigmaaa*t18
13021      t171 = t14*t26
13022      t174 = t24*t35
13023      t179 = 1/t2/t25/t16
13024      t180 = t32*t179
13025      vsigmaaa(i) = -0.9305257363491D0*t3*(-0.2073356D-2*t7*t11
13026     #+0.117913264D-3*t168*t21-0.94324928D-6*t171*t29+0.436255488D-8
13027     #*t174*t38-0.93739008D-11*t180*t113)-0.3109D-1*t48*t60*(
13028     #-0.480584D0*t7*t63+0.5455096D0*t168*t67-0.31018008D0*t171*t71
13029     #+0.84047376D-1*t174*t75-0.79974144D-2*t180*t159)
13030      vsigmaab(i) = 0.D0
13031      vsigmabb(i) = 0.D0
13032      t207 = sigmaaa/t5/t15
13033      t210 = t15*t84
13034      t213 = t14/t2/t210
13035      t217 = t24/t33
13036      t223 = t32/t5/t25/t15
13037      t229 = t107/t2/t25/t210
13038      t233 = t25**2
13039      t236 = t32*t14/t233/t4
13040      t238 = 1/t37/t20
13041      t249 = 1/t84
13042      t251 = 1/t54/t44
13043      t263 = t144**2
13044      t270 = 1/t15
13045      t296 = t126**2
13046      t299 = t59**2
13047      t319 = 1/t74/t66
13048      s1 = -0.4135669939329333D0/t5*t41-0.24814019635976D1*t2*t116
13049     #-0.9305257363491D0*t3*(-0.2027281422222222D-1*t207*t11
13050     #+0.2050399473777778D-2*t213*t21-0.2934593729422222D-4*t217*t29
13051     #+0.2162145348266667D-6*t223*t38-0.8546531191466667D-9*t229*t113
13052     #+0.1333177002666667D-11*t236*t238)+0.2D1*t47*t127*t147-0.6218D-1
13053     #*t119*t162+0.8806734334819047D-3*t249*t251*t79
13054      v2rhoa2(i) = s1-0.8497974591333914D-1*t123*t127*t147
13055     #+0.2642020300445714D-2*t123*t163-0.2D1*t48/t126/t56*t263*t145
13056     #*t78+0.1D1*t128*(-0.1544496508763151D1/t131/t44*t270
13057     #+0.3706791621031562D1*t132*t249-0.854388052766047D0*t251*t270
13058     #+0.2563164158298141D1*t122*t249-0.4111834438919023D0/t52/t44
13059     #*t270+0.1644733775567609D1*t138*t249-0.5346380647307093D-1/t45
13060     #/t44*t270+0.3207828388384256D0*t141*t249)*t145*t78
13061     #+0.321646831778707D2*t48/t296*t263/t299*t78+0.2D1*t128*t146*t162
13062     #-0.3109D-1*t48*t60*(-0.4699043555555556D1*t207*t63
13063     #+0.9896548266666667D1*t213*t67-0.8995993671111111D1*t217*t71
13064     #+0.3938242261333333D1*t223*t75-0.7838151338666667D0*t229*t159
13065     #+0.568705024D-1*t236*t319)
13066      v2rhob2(i) = 0.D0
13067      v2rhoab(i) = 0.D0
13068      t328 = sigmaaa*t26
13069      t331 = t14*t35
13070      t334 = t24*t179
13071      t338 = t32/t233
13072      v2sigmaaa2(i) = -0.9305257363491D0*t3*(0.126206688D-3*t18*t21
13073     #-0.2829804672D-5*t328*t29+0.24406656D-7*t331*t38
13074     #-0.10729648128D-9*t334*t113+0.187478016D-12*t338*t238)-0.3109D-1
13075     #*t48*t60*(0.6416264D0*t18*t67-0.838564D0*t328*t71+0.438250176D0
13076     #*t331*t75-0.992275584D-1*t334*t159+0.79974144D-2*t338*t319)
13077      v2sigmaaaab(i) = 0.D0
13078      v2sigmaaabb(i) = 0.D0
13079      v2sigmaab2(i) = 0.D0
13080      v2sigmaabbb(i) = 0.D0
13081      v2sigmabb2(i) = 0.D0
13082      else ! (.not.(rhoa.lt.tol).and..not.(rhob.lt.tol))
13083      sigmaaa = dmax1(0.D0,sigmaaa1(i))
13084      sigmaab = sigmaab1(i)
13085      sigmabb = dmax1(0.D0,sigmabb1(i))
13086      sigma = sigmaaa+sigmabb+2.D0*sigmaab
13087      t4 = rhoa**(1.D0/3.D0)
13088      t5 = t4*rhoa
13089      t6 = rhoa**2
13090      t7 = t4**2
13091      t9 = 1/t7/t6
13092      t10 = sigmaaa*t9
13093      t12 = 1.D0+0.4D-2*t10
13094      t13 = 1/t12
13095      t16 = sigmaaa**2
13096      t17 = t6**2
13097      t18 = t17*rhoa
13098      t20 = 1/t4/t18
13099      t21 = t16*t20
13100      t22 = t12**2
13101      t23 = 1/t22
13102      t26 = t16*sigmaaa
13103      t27 = t17**2
13104      t28 = 1/t27
13105      t29 = t26*t28
13106      t31 = 1/t22/t12
13107      t34 = t16**2
13108      t35 = t27*t6
13109      t37 = 1/t7/t35
13110      t38 = t34*t37
13111      t39 = t22**2
13112      t40 = 1/t39
13113      t43 = 0.108184D1-0.2073356D-2*t10*t13+0.5480992D-4*t21*t23
13114     #-0.16825664D-6*t29*t31+0.5858688D-9*t38*t40
13115      t46 = 1/rhoa
13116      t47 = t46**(1.D0/3.D0)
13117      t49 = 1.D0+0.1274696188700087D0*t47
13118      t50 = rhoa*t49
13119      t51 = t46**(1.D0/6.D0)
13120      t54 = dsqrt(t46)
13121      t56 = t47**2
13122      t58 = 0.1112037486309468D2*t51+0.3844746237447211D1*t47
13123     #+0.1644733775567609D1*t54+0.2405871291288192D0*t56
13124      t61 = 1.D0+0.321646831778707D2/t58
13125      t62 = dlog(t61)
13126      t64 = 1.D0+0.2D0*t10
13127      t65 = 1/t64
13128      t68 = t64**2
13129      t69 = 1/t68
13130      t73 = 1/t68/t64
13131      t76 = t68**2
13132      t77 = 1/t76
13133      t80 = 0.118777D1-0.480584D0*t10*t65+0.2246964D0*t21*t69
13134     #-0.7343384D-1*t29*t73+0.9996768D-2*t38*t77
13135      t81 = t62*t80
13136      t84 = rhob**(1.D0/3.D0)
13137      t85 = t84*rhob
13138      t86 = rhob**2
13139      t87 = t84**2
13140      t89 = 1/t87/t86
13141      t90 = sigmabb*t89
13142      t92 = 1.D0+0.4D-2*t90
13143      t93 = 1/t92
13144      t96 = sigmabb**2
13145      t97 = t86**2
13146      t98 = t97*rhob
13147      t100 = 1/t84/t98
13148      t101 = t96*t100
13149      t102 = t92**2
13150      t103 = 1/t102
13151      t106 = t96*sigmabb
13152      t107 = t97**2
13153      t108 = 1/t107
13154      t109 = t106*t108
13155      t111 = 1/t102/t92
13156      t114 = t96**2
13157      t115 = t107*t86
13158      t117 = 1/t87/t115
13159      t118 = t114*t117
13160      t119 = t102**2
13161      t120 = 1/t119
13162      t123 = 0.108184D1-0.2073356D-2*t90*t93+0.5480992D-4*t101*t103
13163     #-0.16825664D-6*t109*t111+0.5858688D-9*t118*t120
13164      t126 = 1/rhob
13165      t127 = t126**(1.D0/3.D0)
13166      t129 = 1.D0+0.1274696188700087D0*t127
13167      t130 = rhob*t129
13168      t131 = t126**(1.D0/6.D0)
13169      t134 = dsqrt(t126)
13170      t136 = t127**2
13171      t138 = 0.1112037486309468D2*t131+0.3844746237447211D1*t127
13172     #+0.1644733775567609D1*t134+0.2405871291288192D0*t136
13173      t141 = 1.D0+0.321646831778707D2/t138
13174      t142 = dlog(t141)
13175      t144 = 1.D0+0.2D0*t90
13176      t145 = 1/t144
13177      t148 = t144**2
13178      t149 = 1/t148
13179      t153 = 1/t148/t144
13180      t156 = t148**2
13181      t157 = 1/t156
13182      t160 = 0.118777D1-0.480584D0*t90*t145+0.2246964D0*t101*t149
13183     #-0.7343384D-1*t109*t153+0.9996768D-2*t118*t157
13184      t161 = t142*t160
13185      t164 = rhoa+rhob
13186      t165 = 1/t164
13187      t166 = t165**(1.D0/3.D0)
13188      t168 = 1.D0+0.1325688999052018D0*t166
13189      t169 = t165**(1.D0/6.D0)
13190      t172 = dsqrt(t165)
13191      t174 = t166**2
13192      t176 = 0.598255043577108D1*t169+0.2225569421150687D1*t166
13193     #+0.8004286349993634D0*t172+0.1897004325747559D0*t174
13194      t179 = 1.D0+0.160818243221511D2/t176
13195      t180 = dlog(t179)
13196      t182 = 0.62182D-1*t168*t180
13197      t184 = 1.D0+0.6901399211255825D-1*t166
13198      t189 = 0.8157414703487641D1*t169+0.2247591863577616D1*t166
13199     #+0.4300972471276643D0*t172+0.1911512595127338D0*t174
13200      t192 = 1.D0+0.2960857464321668D2/t189
13201      t193 = dlog(t192)
13202      t194 = t184*t193
13203      t196 = rhoa-1.D0*rhob
13204      t197 = t196*t165
13205      t198 = 1.D0+t197
13206      t199 = t198**(1.D0/3.D0)
13207      t202 = 1.D0-1.D0*t197
13208      t203 = t202**(1.D0/3.D0)
13209      t205 = t199*t198+t203*t202-2.D0
13210      t206 = t196**2
13211      t207 = t206**2
13212      t208 = t164**2
13213      t209 = t208**2
13214      t210 = 1/t209
13215      t211 = t207*t210
13216      t213 = 1.D0-1.D0*t211
13217      t214 = t205*t213
13218      t216 = 0.3799574853701528D-1*t194*t214
13219      t218 = 1.D0+0.1274696188700087D0*t166
13220      t223 = 0.1112037486309468D2*t169+0.3844746237447211D1*t166
13221     #+0.1644733775567609D1*t172+0.2405871291288192D0*t174
13222      t226 = 1.D0+0.321646831778707D2/t223
13223      t227 = dlog(t226)
13224      t230 = -0.3109D-1*t218*t227+t182
13225      t231 = t230*t205
13226      t233 = 0.1923661050931536D1*t231*t211
13227      t240 = t164*(-t182+t216+t233)+0.3109D-1*t50*t62+0.3109D-1*t130
13228     #*t142
13229      t243 = 0.5D0*t10+0.5D0*t90
13230      t246 = 1.D0+0.3D-2*t10+0.3D-2*t90
13231      t247 = 1/t246
13232      t250 = t243**2
13233      t251 = t246**2
13234      t252 = 1/t251
13235      t255 = t250*t243
13236      t257 = 1/t251/t246
13237      t260 = t250**2
13238      t261 = t251**2
13239      t262 = 1/t261
13240      t265 = 0.589076D0+0.2654244D-1*t243*t247-0.6919848D-3*t250*t252
13241     #+0.91955736D-5*t255*t257-0.544387392D-7*t260*t262
13242      zk(i) = -0.9305257363491D0*t5*t43-0.3109D-1*t50*t81
13243     #-0.9305257363491D0*t85*t123-0.3109D-1*t130*t161+t240*t265
13244      t269 = t6*rhoa
13245      t271 = 1/t7/t269
13246      t272 = sigmaaa*t271
13247      t275 = t17*t6
13248      t277 = 1/t4/t275
13249      t278 = t16*t277
13250      t282 = 1/t27/rhoa
13251      t283 = t26*t282
13252      t288 = 1/t7/t27/t269
13253      t289 = t34*t288
13254      t292 = t34*sigmaaa
13255      t295 = 1/t4/t27/t275
13256      t296 = t292*t295
13257      t298 = 1/t39/t12
13258      t301 = 0.5528949333333333D-2*t272*t13-0.3144353706666667D-3*t278
13259     #*t23+0.2515331413333333D-5*t283*t31-0.1163347968D-7*t289*t40
13260     #+0.249970688D-10*t296*t298
13261      t304 = t49*t62
13262      t307 = 1/t56
13263      t308 = t46*t307
13264      t311 = t58**2
13265      t312 = 1/t311
13266      t313 = t50*t312
13267      t314 = t51**2
13268      t315 = t314**2
13269      t316 = t315*t51
13270      t317 = 1/t316
13271      t318 = 1/t6
13272      t323 = 1/t54
13273      t326 = 1/t47
13274      t329 = -0.1853395810515781D1*t317*t318-0.128158207914907D1*t307
13275     #*t318-0.8223668877838045D0*t323*t318-0.1603914194192128D0*t326
13276     #*t318
13277      t330 = 1/t61
13278      t331 = t329*t330
13279      t332 = t331*t80
13280      t344 = 1/t76/t64
13281      t347 = 0.1281557333333333D1*t272*t65-0.1454692266666667D1*t278
13282     #*t69+0.82714688D0*t283*t73-0.224126336D0*t289*t77+0.213264384D-1
13283     #*t296*t344
13284      t348 = t62*t347
13285      t351 = 1/t174
13286      t352 = 1/t208
13287      t353 = t351*t352
13288      t354 = t353*t180
13289      t355 = 0.2747799777968419D-2*t354
13290      t356 = t176**2
13291      t357 = 1/t356
13292      t358 = t168*t357
13293      t359 = t169**2
13294      t360 = t359**2
13295      t361 = t360*t169
13296      t362 = 1/t361
13297      t363 = t362*t352
13298      t366 = 1/t172
13299      t367 = t366*t352
13300      t369 = 1/t166
13301      t370 = t369*t352
13302      t372 = -0.99709173929518D0*t363-0.7418564737168958D0*t353
13303     #-0.4002143174996817D0*t367-0.1264669550498372D0*t370
13304      t373 = 1/t179
13305      t375 = t358*t372*t373
13306      t376 = 0.1D1*t375
13307      t377 = t193*t205
13308      t378 = t377*t213
13309      t379 = t353*t378
13310      t380 = 0.8740794299481065D-3*t379
13311      t381 = t189**2
13312      t382 = 1/t381
13313      t383 = t184*t382
13314      t388 = -0.135956911724794D1*t363-0.7491972878592054D0*t353
13315     #-0.2150486235638321D0*t367-0.1274341730084892D0*t370
13316      t389 = t383*t388
13317      t390 = 1/t192
13318      t391 = t390*t205
13319      t392 = t391*t213
13320      t393 = t389*t392
13321      t394 = 0.1124999956683108D1*t393
13322      t395 = t196*t352
13323      t396 = 1.D0*t395
13324      t397 = t165-t396
13325      t400 = 1.D0*t165
13326      t401 = -t400+t395
13327      t404 = 0.1333333333333333D1*t199*t397+0.1333333333333333D1*t203
13328     #*t401
13329      t406 = t194*t404*t213
13330      t407 = 0.3799574853701528D-1*t406
13331      t408 = t206*t196
13332      t409 = t408*t210
13333      t410 = 4.D0*t409
13334      t412 = 1/t209/t164
13335      t413 = t207*t412
13336      t414 = 4.D0*t413
13337      t415 = -t410+t414
13338      t417 = t194*t205*t415
13339      t418 = 0.3799574853701528D-1*t417
13340      t421 = t223**2
13341      t422 = 1/t421
13342      t423 = t218*t422
13343      t428 = -0.1853395810515781D1*t363-0.128158207914907D1*t353
13344     #-0.8223668877838045D0*t367-0.1603914194192128D0*t370
13345      t429 = 1/t226
13346      t435 = 0.1321010150222857D-2*t353*t227+0.1D1*t423*t428*t429
13347     #-0.2747799777968419D-2*t354-0.1D1*t375
13348      t436 = t435*t205
13349      t437 = t436*t211
13350      t438 = 0.1923661050931536D1*t437
13351      t439 = t230*t404
13352      t440 = t439*t211
13353      t441 = 0.1923661050931536D1*t440
13354      t442 = t231*t409
13355      t444 = t231*t413
13356      t445 = 0.7694644203726145D1*t444
13357      t452 = t312*t329*t330
13358      t455 = -t182+t216+t233+t164*(t355+t376-t380-t394+t407+t418+t438
13359     #+t441+0.7694644203726145D1*t442-t445)+0.3109D-1*t304
13360     #-0.1321010150222857D-2*t308*t62-0.1D1*t50*t452
13361      t459 = t243*t252
13362      t462 = t250*t257
13363      t465 = t255*t262
13364      t469 = 1/t261/t246
13365      t470 = t260*t469
13366      t473 = -0.3538992D-1*t272*t247+0.205763232D-2*t459*t272
13367     #-0.478540512D-4*t462*t272+0.5110337088D-6*t465*t272
13368     #-0.17420396544D-8*t470*t272
13369      vrhoa(i) = -0.12407009817988D1*t4*t43-0.9305257363491D0*t5*t301
13370     #-0.3109D-1*t304*t80+0.1321010150222857D-2*t308*t81+0.1D1*t313
13371     #*t332-0.3109D-1*t50*t348+t455*t265+t240*t473
13372      t477 = t86*rhob
13373      t479 = 1/t87/t477
13374      t480 = sigmabb*t479
13375      t483 = t97*t86
13376      t485 = 1/t84/t483
13377      t486 = t96*t485
13378      t490 = 1/t107/rhob
13379      t491 = t106*t490
13380      t496 = 1/t87/t107/t477
13381      t497 = t114*t496
13382      t500 = t114*sigmabb
13383      t503 = 1/t84/t107/t483
13384      t504 = t500*t503
13385      t506 = 1/t119/t92
13386      t509 = 0.5528949333333333D-2*t480*t93-0.3144353706666667D-3*t486
13387     #*t103+0.2515331413333333D-5*t491*t111-0.1163347968D-7*t497*t120
13388     #+0.249970688D-10*t504*t506
13389      t512 = t129*t142
13390      t515 = 1/t136
13391      t516 = t126*t515
13392      t519 = t138**2
13393      t520 = 1/t519
13394      t521 = t130*t520
13395      t522 = t131**2
13396      t523 = t522**2
13397      t524 = t523*t131
13398      t525 = 1/t524
13399      t526 = 1/t86
13400      t531 = 1/t134
13401      t534 = 1/t127
13402      t537 = -0.1853395810515781D1*t525*t526-0.128158207914907D1*t515
13403     #*t526-0.8223668877838045D0*t531*t526-0.1603914194192128D0*t534
13404     #*t526
13405      t538 = 1/t141
13406      t539 = t537*t538
13407      t540 = t539*t160
13408      t552 = 1/t156/t144
13409      t555 = 0.1281557333333333D1*t480*t145-0.1454692266666667D1*t486
13410     #*t149+0.82714688D0*t491*t153-0.224126336D0*t497*t157
13411     #+0.213264384D-1*t504*t552
13412      t556 = t142*t555
13413      t559 = -t400-t396
13414      t562 = t165+t395
13415      t565 = 0.1333333333333333D1*t199*t559+0.1333333333333333D1*t203
13416     #*t562
13417      t567 = t194*t565*t213
13418      t568 = 0.3799574853701528D-1*t567
13419      t569 = t410+t414
13420      t571 = t194*t205*t569
13421      t572 = 0.3799574853701528D-1*t571
13422      t573 = t230*t565
13423      t574 = t573*t211
13424      t575 = 0.1923661050931536D1*t574
13425      t583 = t520*t537*t538
13426      t586 = -t182+t216+t233+t164*(t355+t376-t380-t394+t568+t572+t438
13427     #+t575-0.7694644203726145D1*t442-t445)+0.3109D-1*t512
13428     #-0.1321010150222857D-2*t516*t142-0.1D1*t130*t583
13429      t598 = -0.3538992D-1*t480*t247+0.205763232D-2*t459*t480
13430     #-0.478540512D-4*t462*t480+0.5110337088D-6*t465*t480
13431     #-0.17420396544D-8*t470*t480
13432      vrhob(i) = -0.12407009817988D1*t84*t123-0.9305257363491D0*t85
13433     #*t509-0.3109D-1*t512*t160+0.1321010150222857D-2*t516*t161+0.1D1
13434     #*t521*t540-0.3109D-1*t130*t556+t586*t265+t240*t598
13435      t602 = sigmaaa*t20
13436      t605 = t16*t28
13437      t608 = t26*t37
13438      t613 = 1/t4/t27/t18
13439      t614 = t34*t613
13440      t617 = -0.2073356D-2*t9*t13+0.117913264D-3*t602*t23
13441     #-0.94324928D-6*t605*t31+0.436255488D-8*t608*t40-0.93739008D-11
13442     #*t614*t298
13443      t630 = -0.480584D0*t9*t65+0.5455096D0*t602*t69-0.31018008D0*t605
13444     #*t73+0.84047376D-1*t608*t77-0.79974144D-2*t614*t344
13445      t631 = t62*t630
13446      t644 = 0.1327122D-1*t9*t247-0.77161212D-3*t459*t9+0.179452692D-4
13447     #*t462*t9-0.1916376408D-6*t465*t9+0.6532648704D-9*t470*t9
13448      vsigmaaa(i) = -0.9305257363491D0*t5*t617-0.3109D-1*t50*t631+t240
13449     #*t644
13450      vsigmaab(i) = 0.D0
13451      t648 = sigmabb*t100
13452      t651 = t96*t108
13453      t654 = t106*t117
13454      t659 = 1/t84/t107/t98
13455      t660 = t114*t659
13456      t663 = -0.2073356D-2*t89*t93+0.117913264D-3*t648*t103
13457     #-0.94324928D-6*t651*t111+0.436255488D-8*t654*t120-0.93739008D-11
13458     #*t660*t506
13459      t676 = -0.480584D0*t89*t145+0.5455096D0*t648*t149-0.31018008D0
13460     #*t651*t153+0.84047376D-1*t654*t157-0.79974144D-2*t660*t552
13461      t677 = t142*t676
13462      t690 = 0.1327122D-1*t89*t247-0.77161212D-3*t459*t89
13463     #+0.179452692D-4*t462*t89-0.1916376408D-6*t465*t89
13464     #+0.6532648704D-9*t470*t89
13465      vsigmabb(i) = -0.9305257363491D0*t85*t663-0.3109D-1*t130*t677
13466     #+t240*t690
13467      t696 = sigmaaa/t7/t17
13468      t699 = t17*t269
13469      t702 = t16/t4/t699
13470      t705 = t243*t257
13471      t710 = t250*t262
13472      t715 = t255*t469
13473      t722 = t260/t261/t251
13474      t739 = t26/t35
13475      t745 = t34/t7/t27/t17
13476      t751 = t292/t4/t27/t699
13477      t755 = t27**2
13478      t758 = t34*t16/t755/t6
13479      t760 = 1/t39/t22
13480      t768 = t49*t312
13481      t774 = 1/t311/t58
13482      t776 = t329**2
13483      t781 = 1/t269
13484      t783 = 1/t56/t46
13485      t784 = t781*t783
13486      t792 = 1/t17
13487      t813 = -0.1544496508763151D1/t316/t46*t792+0.3706791621031562D1
13488     #*t317*t781-0.854388052766047D0*t783*t792+0.2563164158298141D1
13489     #*t307*t781-0.4111834438919023D0/t54/t46*t792
13490     #+0.1644733775567609D1*t323*t781-0.5346380647307093D-1/t47/t46
13491     #*t792+0.3207828388384256D0*t326*t781
13492      t821 = t311**2
13493      t822 = 1/t821
13494      t824 = t61**2
13495      t825 = 1/t824
13496      t841 = 1/t76/t68
13497      t848 = 0.2D1*t375
13498      t849 = 0.5495599555936838D-2*t354
13499      t851 = 0.1748158859896213D-2*t379
13500      t852 = 0.2249999913366216D1*t393
13501      t853 = 0.3847322101863073D1*t437
13502      t856 = 0.1538928840745229D2*t444
13503      t877 = 1/t208/t164
13504      t878 = t351*t877
13505      t879 = t878*t180
13506      t880 = 0.5495599555936838D-2*t879
13507      t883 = 1/t174/t165*t210
13508      t885 = 0.5827196199654043D-3*t883*t378
13509      t886 = t883*t180
13510      t887 = 0.1831866518645613D-2*t886
13511      t888 = t408*t412
13512      t889 = t231*t888
13513      t892 = t435*t404*t211
13514      t895 = t353*t377*t415
13515      t898 = 0.1748158859896213D-2*t878*t378
13516      t901 = t353*t193*t404*t213
13517      t903 = t199**2
13518      t904 = 1/t903
13519      t905 = t397**2
13520      t908 = 2.D0*t352
13521      t910 = 2.D0*t196*t877
13522      t911 = -t908+t910
13523      t914 = t203**2
13524      t915 = 1/t914
13525      t916 = t401**2
13526      t922 = 0.4444444444444444D0*t904*t905+0.1333333333333333D1*t199
13527     #*t911+0.4444444444444444D0*t915*t916-0.1333333333333333D1*t203
13528     #*t911
13529      t928 = t389*t390*t404*t213
13530      t932 = t353*t357*t372*t373
13531      t933 = 0.8837926660346786D-1*t932
13532      t935 = t389*t391*t415
13533      t937 = t381**2
13534      t940 = t388**2
13535      t942 = t192**2
13536      t947 = 0.3330964519106732D2*t184/t937*t940/t942*t205*t213
13537      t950 = 1/t361/t165*t210
13538      t952 = t362*t877
13539      t958 = 1/t172/t165*t210
13540      t960 = t366*t877
13541      t964 = 1/t166/t165*t210
13542      t966 = t369*t877
13543      t971 = 0.1124999956683108D1*t383*(-0.1132974264373283D1*t950
13544     #+0.271913823449588D1*t952-0.4994648585728036D0*t883
13545     #+0.1498394575718411D1*t878-0.1075243117819161D0*t958
13546     #+0.4300972471276643D0*t960-0.4247805766949639D-1*t964
13547     #+0.2548683460169784D0*t966)*t392
13548      t972 = -t880-t885+t887-0.6155715362980916D2*t889
13549     #+0.3847322101863073D1*t892-0.1748158859896213D-2*t895+t898
13550     #-0.1748158859896213D-2*t901+0.3799574853701528D-1*t194*t922*t213
13551     #-0.2249999913366216D1*t928-t933-0.2249999913366216D1*t935-t947
13552     #-t971
13553      t977 = 0.5176049209143758D-1*t353*t382*t388*t390*t214
13554      t983 = 0.2249999913366216D1*t184/t381/t189*t940*t392
13555      t987 = t372**2
13556      t989 = t168/t356/t176*t987*t373
13557      t990 = 0.2D1*t989
13558      t1001 = t358*(-0.8309097827459833D0*t950+0.199418347859036D1
13559     #*t952-0.4945709824779306D0*t883+0.1483712947433792D1*t878
13560     #-0.2001071587498409D0*t958+0.8004286349993634D0*t960
13561     #-0.4215565168327908D-1*t964+0.2529339100996745D0*t966)*t373
13562      t1002 = 0.1D1*t1001
13563      t1003 = t356**2
13564      t1006 = t179**2
13565      t1009 = t168/t1003*t987/t1006
13566      t1010 = 0.160818243221511D2*t1009
13567      t1022 = t428**2
13568      t1038 = t421**2
13569      t1041 = t226**2
13570      t1052 = 0.8806734334819047D-3*t883*t227-0.2642020300445714D-2
13571     #*t878*t227-0.8497974591333914D-1*t353*t422*t428*t429-0.2D1*t218
13572     #/t421/t223*t1022*t429+0.1D1*t423*(-0.1544496508763151D1*t950
13573     #+0.3706791621031562D1*t952-0.854388052766047D0*t883
13574     #+0.2563164158298141D1*t878-0.4111834438919023D0*t958
13575     #+0.1644733775567609D1*t960-0.5346380647307093D-1*t964
13576     #+0.3207828388384256D0*t966)*t429+0.321646831778707D2*t218/t1038
13577     #*t1022/t1041-0.1831866518645613D-2*t886+0.5495599555936838D-2
13578     #*t879+0.8837926660346786D-1*t932+0.2D1*t989-0.1D1*t1001
13579     #-0.160818243221511D2*t1009
13580      t1055 = 0.1923661050931536D1*t1052*t205*t211
13581      t1056 = t436*t409
13582      t1061 = t439*t409
13583      t1063 = t206*t210
13584      t1064 = 12.D0*t1063
13585      t1065 = 32.D0*t888
13586      t1068 = t207/t209/t208
13587      t1069 = 20.D0*t1068
13588      t1075 = 0.3847322101863073D2*t231*t1068
13589      t1076 = t439*t413
13590      t1078 = t231*t1063
13591      t1079 = 0.2308393261117844D2*t1078
13592      t1084 = 0.1538928840745229D2*t436*t413
13593      t1085 = t977+t983-t990+t1002+t1010+t1055+0.1538928840745229D2
13594     #*t1056+0.1923661050931536D1*t230*t922*t211+0.1538928840745229D2
13595     #*t1061+0.3799574853701528D-1*t194*t205*(-t1064+t1065-t1069)
13596     #+t1075-0.1538928840745229D2*t1076+t1079+0.7599149707403056D-1
13597     #*t194*t404*t415-t1084
13598      t1088 = t848+t849+0.7599149707403056D-1*t417-t851-t852+t853
13599     #+0.7599149707403056D-1*t406+0.1538928840745229D2*t442-t856
13600     #+0.3847322101863073D1*t440-0.2D1*t768*t331-0.321646831778707D2
13601     #*t50*t822*t776*t825-0.1D1*t50*t312*t813*t330
13602     #-0.8806734334819047D-3*t784*t62+0.8497974591333914D-1*t308*t452
13603     #+0.2D1*t50*t774*t776*t330+t164*(t972+t1085)
13604      s1 = 2.D0*t455*t473+t240*(0.12976304D0*t696*t247-0.302662912D-2
13605     #*t702*t252+0.16053292032D-3*t705*t702-0.754465184D-2*t459*t696
13606     #-0.3192632064D-5*t710*t702+0.1754648544D-3*t462*t696
13607     #+0.256439568384D-7*t715*t702-0.18737902656D-5*t465*t696
13608     #-0.69681586176D-10*t722*t702+0.63874787328D-8*t470*t696)
13609     #-0.4135669939329333D0/t7*t43-0.24814019635976D1*t4*t301
13610     #-0.9305257363491D0*t5*(-0.2027281422222222D-1*t696*t13
13611     #+0.2050399473777778D-2*t702*t23-0.2934593729422222D-4*t739*t31
13612     #+0.2162145348266667D-6*t745*t40-0.8546531191466667D-9*t751*t298
13613     #+0.1333177002666667D-11*t758*t760)-0.6218D-1*t304*t347+0.2D1
13614     #*t768*t332+0.2642020300445714D-2*t308*t348
13615      v2rhoa2(i) = s1-0.2D1*t50*t774*t776*t330*t80
13616     #+0.8806734334819047D-3*t784*t81-0.8497974591333914D-1*t308*t312
13617     #*t332+0.1D1*t313*t813*t330*t80+0.2D1*t313*t331*t347
13618     #+0.321646831778707D2*t50*t822*t776*t825*t80-0.3109D-1*t50*t62*(
13619     #-0.4699043555555556D1*t696*t65+0.9896548266666667D1*t702*t69
13620     #-0.8995993671111111D1*t739*t73+0.3938242261333333D1*t745*t77
13621     #-0.7838151338666667D0*t751*t344+0.568705024D-1*t758*t841)+t1088
13622     #*t265
13623      t1097 = sigmabb/t87/t97
13624      t1100 = t97*t477
13625      t1103 = t96/t84/t1100
13626      t1107 = t106/t115
13627      t1113 = t114/t87/t107/t97
13628      t1119 = t500/t84/t107/t1100
13629      t1123 = t107**2
13630      t1126 = t114*t96/t1123/t86
13631      t1128 = 1/t119/t102
13632      t1139 = t519**2
13633      t1140 = 1/t1139
13634      t1142 = t537**2
13635      t1143 = t141**2
13636      t1144 = 1/t1143
13637      t1154 = t559**2
13638      t1157 = t908+t910
13639      t1160 = t562**2
13640      t1166 = 0.4444444444444444D0*t904*t1154+0.1333333333333333D1
13641     #*t199*t1157+0.4444444444444444D0*t915*t1160-0.1333333333333333D1
13642     #*t203*t1157
13643      t1171 = t435*t565*t211
13644      t1173 = -t880-t885+t887+0.6155715362980916D2*t889+t898-t933-t947
13645     #-t971+t977+t983-t990+t1002+0.3799574853701528D-1*t194*t1166*t213
13646     #+0.3847322101863073D1*t1171
13647      t1184 = t573*t413
13648      t1186 = t573*t409
13649      t1189 = t389*t391*t569
13650      t1194 = t353*t193*t565*t213
13651      t1197 = t353*t377*t569
13652      t1201 = t389*t390*t565*t213
13653      t1203 = 0.7599149707403056D-1*t194*t565*t569
13654     #+0.1923661050931536D1*t230*t1166*t211+0.3799574853701528D-1*t194
13655     #*t205*(-t1064-t1065-t1069)-0.1538928840745229D2*t1184+t1010
13656     #+t1055-0.1538928840745229D2*t1186-0.2249999913366216D1*t1189
13657     #-0.1538928840745229D2*t1056-0.1748158859896213D-2*t1194
13658     #-0.1748158859896213D-2*t1197-0.2249999913366216D1*t1201+t1075
13659     #+t1079-t1084
13660      t1206 = t129*t520
13661      t1209 = 1/t477
13662      t1211 = 1/t136/t126
13663      t1212 = t1209*t1211
13664      t1218 = 1/t519/t138
13665      t1225 = 1/t97
13666      t1246 = -0.1544496508763151D1/t524/t126*t1225
13667     #+0.3706791621031562D1*t525*t1209-0.854388052766047D0*t1211*t1225
13668     #+0.2563164158298141D1*t515*t1209-0.4111834438919023D0/t134/t126
13669     #*t1225+0.1644733775567609D1*t531*t1209-0.5346380647307093D-1
13670     #/t127/t126*t1225+0.3207828388384256D0*t534*t1209
13671      t1255 = t848+t849-t851-t852+t853-0.1538928840745229D2*t442-t856
13672     #+0.7599149707403056D-1*t567+0.7599149707403056D-1*t571
13673     #+0.3847322101863073D1*t574+t164*(t1173+t1203)-0.2D1*t1206*t539
13674     #-0.8806734334819047D-3*t1212*t142+0.8497974591333914D-1*t516
13675     #*t583+0.2D1*t130*t1218*t1142*t538-0.1D1*t130*t520*t1246*t538
13676     #-0.321646831778707D2*t130*t1140*t1142*t1144
13677      t1272 = 1/t156/t148
13678      s1 = -0.4135669939329333D0/t87*t123-0.24814019635976D1*t84*t509
13679     #-0.9305257363491D0*t85*(-0.2027281422222222D-1*t1097*t93
13680     #+0.2050399473777778D-2*t1103*t103-0.2934593729422222D-4*t1107
13681     #*t111+0.2162145348266667D-6*t1113*t120-0.8546531191466667D-9
13682     #*t1119*t506+0.1333177002666667D-11*t1126*t1128)-0.6218D-1*t512
13683     #*t555+0.2D1*t521*t539*t555+0.321646831778707D2*t130*t1140*t1142
13684     #*t1144*t160+t1255*t265+0.2D1*t1206*t540
13685      s2 = s1+0.2642020300445714D-2*t516*t556-0.3109D-1*t130*t142*(
13686     #-0.4699043555555556D1*t1097*t145+0.9896548266666667D1*t1103*t149
13687     #-0.8995993671111111D1*t1107*t153+0.3938242261333333D1*t1113*t157
13688     #-0.7838151338666667D0*t1119*t552+0.568705024D-1*t1126*t1272)
13689     #+0.8806734334819047D-3*t1212*t161
13690      v2rhob2(i) = s2-0.8497974591333914D-1*t516*t520*t540-0.2D1*t130
13691     #*t1218*t1142*t538*t160+0.1D1*t521*t1246*t538*t160+2.D0*t586*t598
13692     #+t240*(0.12976304D0*t1097*t247-0.302662912D-2*t1103*t252
13693     #+0.16053292032D-3*t705*t1103-0.754465184D-2*t459*t1097
13694     #-0.3192632064D-5*t710*t1103+0.1754648544D-3*t462*t1097
13695     #+0.256439568384D-7*t715*t1103-0.18737902656D-5*t465*t1097
13696     #-0.69681586176D-10*t722*t1103+0.63874787328D-8*t470*t1097)
13697      t1323 = -t880-t885+t887+0.1923661050931536D1*t892
13698     #-0.8740794299481065D-3*t895+t898-0.8740794299481065D-3*t901
13699     #-0.1124999956683108D1*t928-t933-0.1124999956683108D1*t935-t947
13700     #-t971+t977+t983-t990+t1002+0.1923661050931536D1*t1171
13701      t1352 = 0.4444444444444444D0*t904*t397*t559+0.2666666666666667D1
13702     #*t199*t196*t877+0.4444444444444444D0*t915*t401*t562
13703     #-0.2666666666666667D1*t203*t196*t877
13704      t1362 = -0.7694644203726145D1*t1184+t1010+t1055
13705     #+0.7694644203726145D1*t1186-0.1124999956683108D1*t1189
13706     #+0.3799574853701528D-1*t194*t205*(t1064-t1069)
13707     #-0.7694644203726145D1*t1061-0.8740794299481065D-3*t1194
13708     #-0.8740794299481065D-3*t1197-0.1124999956683108D1*t1201
13709     #+0.3799574853701528D-1*t194*t404*t569+t1075-0.7694644203726145D1
13710     #*t1076-0.2308393261117844D2*t1078-t1084+0.3799574853701528D-1
13711     #*t194*t1352*t213+0.3799574853701528D-1*t194*t565*t415
13712     #+0.1923661050931536D1*t230*t1352*t211
13713      t1365 = t849+t848-t851-t852+t568+t572+t853+t575-t856+t407+t418
13714     #+t441+t164*(t1323+t1362)
13715      t1375 = t271*sigmabb*t479
13716      v2rhoab(i) = t1365*t265+t455*t598+t586*t473+t240*(
13717     #-0.302662912D-2*t272*t252*sigmabb*t479+0.16053292032D-3*t705
13718     #*sigmaaa*t1375-0.3192632064D-5*t710*sigmaaa*t1375
13719     #+0.256439568384D-7*t715*sigmaaa*t1375-0.69681586176D-10*t722
13720     #*sigmaaa*t1375)
13721      t1393 = sigmaaa*t277
13722      t1396 = t16*t282
13723      t1399 = t26*t288
13724      t1402 = t34*t295
13725      t1407 = t292/t755/rhoa
13726      s1 = -0.12407009817988D1*t4*t617-0.9305257363491D0*t5*
13727     #(0.5528949333333333D-2*t271*t13-0.6509865386666667D-3*t1393*t23
13728     #+0.1006147720533333D-4*t1396*t31-0.7671789568D-7*t1399*t40
13729     #+0.31112101888D-9*t1402*t298-0.499941376D-12*t1407*t760)
13730     #-0.3109D-1*t304*t630+0.1321010150222857D-2*t308*t631
13731      v2rhoasigmaaa(i) = s1+0.1D1*t313*t331*t630-0.3109D-1*t50*t62*
13732     #(0.1281557333333333D1*t271*t65-0.3165696D1*t1393*t69
13733     #+0.3063317546666667D1*t1396*t73-0.1392793472D1*t1399*t77
13734     #+0.2859332608D0*t1402*t344-0.213264384D-1*t1407*t841)+t455*t644
13735     #+t240*(-0.3538992D-1*t271*t247+0.113498592D-2*t1393*t252
13736     #-0.6019984512D-4*t705*t1393+0.205763232D-2*t459*t271
13737     #+0.1197237024D-5*t710*t1393-0.478540512D-4*t462*t271
13738     #-0.96164838144D-8*t715*t1393+0.5110337088D-6*t465*t271
13739     #+0.26130594816D-10*t722*t1393-0.17420396544D-8*t470*t271)
13740      v2rhoasigmaab(i) = 0.D0
13741      t1463 = t272*t89
13742      v2rhoasigmabb(i) = t455*t690+t240*(0.113498592D-2*t272*t252*t89
13743     #-0.6019984512D-4*t705*t1463+0.1197237024D-5*t710*t1463
13744     #-0.96164838144D-8*t715*t1463+0.26130594816D-10*t722*t1463)
13745      t1475 = t252*t9
13746      t1478 = t480*t9
13747      v2rhobsigmaaa(i) = t586*t644+t240*(0.113498592D-2*t480*t1475
13748     #-0.6019984512D-4*t705*t1478+0.1197237024D-5*t710*t1478
13749     #-0.96164838144D-8*t715*t1478+0.26130594816D-10*t722*t1478)
13750      v2rhobsigmaab(i) = 0.D0
13751      t1493 = sigmabb*t485
13752      t1496 = t96*t490
13753      t1499 = t106*t496
13754      t1502 = t114*t503
13755      t1507 = t500/t1123/rhob
13756      s1 = -0.12407009817988D1*t84*t663-0.9305257363491D0*t85*
13757     #(0.5528949333333333D-2*t479*t93-0.6509865386666667D-3*t1493*t103
13758     #+0.1006147720533333D-4*t1496*t111-0.7671789568D-7*t1499*t120
13759     #+0.31112101888D-9*t1502*t506-0.499941376D-12*t1507*t1128)
13760     #-0.3109D-1*t512*t676+0.1321010150222857D-2*t516*t677
13761      v2rhobsigmabb(i) = s1+0.1D1*t521*t539*t676-0.3109D-1*t130*t142*
13762     #(0.1281557333333333D1*t479*t145-0.3165696D1*t1493*t149
13763     #+0.3063317546666667D1*t1496*t153-0.1392793472D1*t1499*t157
13764     #+0.2859332608D0*t1502*t552-0.213264384D-1*t1507*t1272)+t586*t690
13765     #+t240*(-0.3538992D-1*t479*t247+0.113498592D-2*t1493*t252
13766     #-0.6019984512D-4*t705*t1493+0.205763232D-2*t459*t479
13767     #+0.1197237024D-5*t710*t1493-0.478540512D-4*t462*t479
13768     #-0.96164838144D-8*t715*t1493+0.5110337088D-6*t465*t479
13769     #+0.26130594816D-10*t722*t1493-0.17420396544D-8*t470*t479)
13770      t1561 = sigmaaa*t28
13771      t1564 = t16*t37
13772      t1567 = t26*t613
13773      t1571 = t34/t755
13774      v2sigmaaa2(i) = -0.9305257363491D0*t5*(0.126206688D-3*t20*t23
13775     #-0.2829804672D-5*t1561*t31+0.24406656D-7*t1564*t40
13776     #-0.10729648128D-9*t1567*t298+0.187478016D-12*t1571*t760)
13777     #-0.3109D-1*t50*t62*(0.6416264D0*t20*t69-0.838564D0*t1561*t73
13778     #+0.438250176D0*t1564*t77-0.992275584D-1*t1567*t344+0.79974144D-2
13779     #*t1571*t841)+t240*(-0.42561972D-3*t20*t252+0.2257494192D-4*t705
13780     #*t20-0.448963884D-6*t710*t20+0.36061814304D-8*t715*t20
13781     #-0.9798973056D-11*t722*t20)
13782      v2sigmaaaab(i) = 0.D0
13783      t1605 = t9*t89
13784      v2sigmaaabb(i) = t240*(-0.42561972D-3*t1475*t89+0.2257494192D-4
13785     #*t705*t1605-0.448963884D-6*t710*t1605+0.36061814304D-8*t715
13786     #*t1605-0.9798973056D-11*t722*t1605)
13787      v2sigmaab2(i) = 0.D0
13788      v2sigmaabbb(i) = 0.D0
13789      t1617 = sigmabb*t108
13790      t1620 = t96*t117
13791      t1623 = t106*t659
13792      t1627 = t114/t1123
13793      v2sigmabb2(i) = -0.9305257363491D0*t85*(0.126206688D-3*t100*t103
13794     #-0.2829804672D-5*t1617*t111+0.24406656D-7*t1620*t120
13795     #-0.10729648128D-9*t1623*t506+0.187478016D-12*t1627*t1128)
13796     #-0.3109D-1*t130*t142*(0.6416264D0*t100*t149-0.838564D0*t1617
13797     #*t153+0.438250176D0*t1620*t157-0.992275584D-1*t1623*t552
13798     #+0.79974144D-2*t1627*t1272)+t240*(-0.42561972D-3*t100*t252
13799     #+0.2257494192D-4*t705*t100-0.448963884D-6*t710*t100
13800     #+0.36061814304D-8*t715*t100-0.9798973056D-11*t722*t100)
13801      endif ! rhoa,rhob
13802      else ! rho
13803      zk(i) = 0.0d0
13804      vrhoa(i) = 0.0d0
13805      vrhob(i) = 0.0d0
13806      v2rhoa2(i) = 0.0d0
13807      v2rhob2(i) = 0.0d0
13808      v2rhoab(i) = 0.0d0
13809      vsigmaaa(i) = 0.0d0
13810      vsigmaab(i) = 0.0d0
13811      vsigmabb(i) = 0.0d0
13812      v2rhoasigmaaa(i) = 0.0d0
13813      v2rhoasigmaab(i) = 0.0d0
13814      v2rhoasigmabb(i) = 0.0d0
13815      v2rhobsigmaaa(i) = 0.0d0
13816      v2rhobsigmaab(i) = 0.0d0
13817      v2rhobsigmabb(i) = 0.0d0
13818      v2sigmaaa2(i) = 0.0d0
13819      v2sigmaab2(i) = 0.0d0
13820      v2sigmabb2(i) = 0.0d0
13821      v2sigmaaaab(i) = 0.0d0
13822      v2sigmaaabb(i) = 0.0d0
13823      v2sigmaabbb(i) = 0.0d0
13824      endif ! rho
13825      enddo
13826
13827      endif ! ideriv
13828      return
13829      end
13830
13831
13832      subroutine rks_xc_hcth407
13833     & (ideriv,npt,rhoa1,sigmaaa1,
13834     &  zk,vrhoa,vsigmaaa,
13835     &  v2rhoa2,v2rhoasigmaaa,v2sigmaaa2)
13836c
13837c     A.D. Boese, N.C. Handy
13838c     A new parametriztion of exchange-correlation generalized gradient
13839c     approximation functionals
13840c     J. Chem. Phys. 114 (2001) 5497-5503.
13841c
13842c
13843c     CITATION:
13844c
13845c     Functionals were obtained from the Density Functional Repository
13846c     as developed and distributed by the Quantum Chemistry Group,
13847c     CCLRC Daresbury Laboratory, Daresbury, Cheshire, WA4 4AD
13848c     United Kingdom. Contact Huub van Dam (h.j.j.vandam@dl.ac.uk) or
13849c     Paul Sherwood for further information.
13850c
13851c     COPYRIGHT:
13852c
13853c     Users may incorporate the source code into software packages and
13854c     redistribute the source code provided the source code is not
13855c     changed in anyway and is properly cited in any documentation or
13856c     publication related to its use.
13857c
13858c     ACKNOWLEDGEMENT:
13859c
13860c     The source code was generated using Maple 8 through a modified
13861c     version of the dfauto script published in:
13862c
13863c        R. Strange, F.R. Manby, P.J. Knowles
13864c        Automatic code generation in density functional theory
13865c        Comp. Phys. Comm. 136 (2001) 310-318.
13866c
13867      implicit real*8 (a-h,o-z)
13868      integer ideriv,npt
13869      real*8 rhoa1(npt)
13870      real*8 sigmaaa1(npt)
13871      real*8 zk(npt),vrhoa(npt),vsigmaaa(npt)
13872      real*8 v2rhoa2(npt),v2rhoasigmaaa(npt),v2sigmaaa2(npt)
13873      parameter(tol=1.0d-20)
13874
13875      if(ideriv.eq.0) then
13876
13877      do i=1,npt
13878      rho = dmax1(0.D0,rhoa1(i))
13879      if(rho.gt.tol) then
13880      sigma = dmax1(0.D0,sigmaaa1(i))
13881      t2 = rho**(1.D0/3.D0)
13882      t4 = rho**2
13883      t5 = t2**2
13884      t8 = sigma/t5/t4
13885      t10 = 1.D0+0.6349604207872798D-2*t8
13886      t14 = sigma**2
13887      t15 = t4**2
13888      t19 = t14/t2/t15/rho
13889      t20 = t10**2
13890      t25 = t15**2
13891      t27 = t14*sigma/t25
13892      t32 = t14**2
13893      t36 = t32/t5/t25/t4
13894      t37 = t20**2
13895      t44 = 1/rho
13896      t45 = t44**(1.D0/3.D0)
13897      t48 = rho*(1.D0+0.1606016560364007D0*t45)
13898      t49 = t44**(1.D0/6.D0)
13899      t52 = dsqrt(t44)
13900      t54 = t45**2
13901      t60 = dlog(1.D0+0.321646831778707D2/(0.1248219874679732D2*t49
13902     #+0.4844076716063854D1*t45+0.2326004811900819D1*t52
13903     #+0.3819082618690966D0*t54))
13904      t62 = 1.D0+0.3174802103936399D0*t8
13905      t66 = t62**2
13906      t74 = t66**2
13907      t93 = dlog(1.D0+0.160818243221511D2/(0.598255043577108D1*t49
13908     #+0.2225569421150687D1*t45+0.8004286349993634D0*t52
13909     #+0.1897004325747559D0*t54))
13910      t100 = 1.D0+0.9524406311809197D-2*t8
13911      t104 = t100**2
13912      t112 = t104**2
13913      zk(i) = -0.7385587663820224D0*t2*rho*(0.108184D1
13914     #-0.3291247495504578D-2*t8/t10+0.138112343902108D-3*t19/t20
13915     #-0.67302656D-6*t27/t20/t10+0.3720034997741387D-8*t36/t37)
13916     #-0.3109D-1*t48*t60*(0.118777D1-0.7628795471590852D0*t8/t62
13917     #+0.5661994483911968D0*t19/t66-0.29373536D0*t27/t66/t62
13918     #+0.6347552015792813D-1*t36/t74)+(-0.62182D-1*rho*(1.D0
13919     #+0.1325688999052018D0*t45)*t93+0.3109D-1*t48*t60)*(0.589076D0
13920     #+0.4213349717780282D-1*t8/t100-0.1743692431454588D-2*t19/t104
13921     #+0.367822944D-4*t27/t104/t100-0.3456644474956098D-6*t36/t112)
13922      else ! rho
13923      zk(i) = 0.0d0
13924      endif ! rho
13925      enddo
13926
13927      else if(ideriv.eq.1) then
13928
13929      do i=1,npt
13930      rho = dmax1(0.D0,rhoa1(i))
13931      if(rho.gt.tol) then
13932      sigma = dmax1(0.D0,sigmaaa1(i))
13933      t2 = rho**(1.D0/3.D0)
13934      t3 = t2*rho
13935      t4 = rho**2
13936      t5 = t2**2
13937      t7 = 1/t5/t4
13938      t8 = sigma*t7
13939      t10 = 1.D0+0.6349604207872798D-2*t8
13940      t11 = 1/t10
13941      t14 = sigma**2
13942      t15 = t4**2
13943      t16 = t15*rho
13944      t18 = 1/t2/t16
13945      t19 = t14*t18
13946      t20 = t10**2
13947      t21 = 1/t20
13948      t24 = t14*sigma
13949      t25 = t15**2
13950      t26 = 1/t25
13951      t27 = t24*t26
13952      t29 = 1/t20/t10
13953      t32 = t14**2
13954      t35 = 1/t5/t25/t4
13955      t36 = t32*t35
13956      t37 = t20**2
13957      t38 = 1/t37
13958      t41 = 0.108184D1-0.3291247495504578D-2*t8*t11
13959     #+0.138112343902108D-3*t19*t21-0.67302656D-6*t27*t29
13960     #+0.3720034997741387D-8*t36*t38
13961      t44 = 1/rho
13962      t45 = t44**(1.D0/3.D0)
13963      t47 = 1.D0+0.1606016560364007D0*t45
13964      t48 = rho*t47
13965      t49 = t44**(1.D0/6.D0)
13966      t52 = dsqrt(t44)
13967      t54 = t45**2
13968      t56 = 0.1248219874679732D2*t49+0.4844076716063854D1*t45
13969     #+0.2326004811900819D1*t52+0.3819082618690966D0*t54
13970      t59 = 1.D0+0.321646831778707D2/t56
13971      t60 = dlog(t59)
13972      t62 = 1.D0+0.3174802103936399D0*t8
13973      t63 = 1/t62
13974      t66 = t62**2
13975      t67 = 1/t66
13976      t71 = 1/t66/t62
13977      t74 = t66**2
13978      t75 = 1/t74
13979      t78 = 0.118777D1-0.7628795471590852D0*t8*t63
13980     #+0.5661994483911968D0*t19*t67-0.29373536D0*t27*t71
13981     #+0.6347552015792813D-1*t36*t75
13982      t79 = t60*t78
13983      t83 = 1.D0+0.1325688999052018D0*t45
13984      t89 = 0.598255043577108D1*t49+0.2225569421150687D1*t45
13985     #+0.8004286349993634D0*t52+0.1897004325747559D0*t54
13986      t92 = 1.D0+0.160818243221511D2/t89
13987      t93 = dlog(t92)
13988      t98 = -0.62182D-1*rho*t83*t93+0.3109D-1*t48*t60
13989      t100 = 1.D0+0.9524406311809197D-2*t8
13990      t101 = 1/t100
13991      t104 = t100**2
13992      t105 = 1/t104
13993      t109 = 1/t104/t100
13994      t112 = t104**2
13995      t113 = 1/t112
13996      t116 = 0.589076D0+0.4213349717780282D-1*t8*t101
13997     #-0.1743692431454588D-2*t19*t105+0.367822944D-4*t27*t109
13998     #-0.3456644474956098D-6*t36*t113
13999      zk(i) = -0.7385587663820224D0*t3*t41-0.3109D-1*t48*t79+t98*t116
14000      t120 = t4*rho
14001      t123 = sigma/t5/t120
14002      t126 = t15*t4
14003      t129 = t14/t2/t126
14004      t134 = t24/t25/rho
14005      t140 = t32/t5/t25/t120
14006      t147 = t32*sigma/t2/t25/t126
14007      t149 = 1/t37/t10
14008      t155 = t47*t60
14009      t158 = 1/t54
14010      t159 = t44*t158
14011      t162 = t56**2
14012      t163 = 1/t162
14013      t165 = t49**2
14014      t166 = t165**2
14015      t169 = 1/t4
14016      t170 = 1/t166/t49*t169
14017      t172 = t158*t169
14018      t175 = 1/t52*t169
14019      t178 = 1/t45*t169
14020      t180 = -0.4160732915599108D1*t170-0.3229384477375903D1*t172
14021     #-0.2326004811900819D1*t175-0.5092110158254621D0*t178
14022      t181 = 1/t59
14023      t195 = 1/t74/t62
14024      t206 = t89**2
14025      t238 = 1/t112/t100
14026      s1 = -0.9847450218426965D0*t2*t41-0.3692793831910112D0*t3*
14027     #(0.1755331997602442D-1*t123*t11-0.1584654969337721D-2*t129*t21
14028     #+0.2012265130666667D-4*t134*t29-0.1477359830566614D-6*t140*t38
14029     #+0.503909330668646D-9*t147*t149)-0.3109D-1*t155*t78
14030     #+0.1664368495390566D-2*t159*t79
14031      vrhoa(i) = s1+0.5D0*t48*t163*t180*t181*t78-0.15545D-1*t48*t60*
14032     #(0.4068690918181788D1*t123*t63-0.7331189631570478D1*t129*t67
14033     #+0.661717504D1*t134*t71-0.2846227052321425D1*t140*t75
14034     #+0.4299140585511414D0*t147*t195)+(-0.62182D-1*t83*t93+rho*
14035     #(0.2747799777968419D-2*t172*t93+0.1D1*t83/t206*(
14036     #-0.99709173929518D0*t170-0.7418564737168958D0*t172
14037     #-0.4002143174996817D0*t175-0.1264669550498372D0*t178)/t92)
14038     #+0.3109D-1*t155-0.1664368495390566D-2*t159*t60-0.5D0*t48*t163
14039     #*t180*t181)*t116+t98*(-0.1123559924741408D0*t123*t101
14040     #+0.1036981709164809D-1*t129*t105-0.3828324096D-3*t134*t109
14041     #+0.6489723575522644D-5*t140*t113-0.351173188852824D-7*t147*t238)
14042      t245 = sigma*t18
14043      t248 = t14*t26
14044      t251 = t24*t35
14045      t257 = t32/t2/t25/t16
14046      vsigmaaa(i) = -0.7385587663820224D0*t3*(-0.1316498998201831D-1
14047     #*t7*t11+0.1188491227003291D-2*t245*t21-0.1509198848D-4*t248*t29
14048     #+0.110801987292496D-6*t251*t38-0.3779319980014845D-9*t257*t149)
14049     #-0.3109D-1*t48*t60*(-0.3051518188636341D1*t7*t63
14050     #+0.5498392223677858D1*t245*t67-0.496288128D1*t248*t71
14051     #+0.2134670289241069D1*t251*t75-0.3224355439133561D0*t257*t195)
14052     #+2.D0*t98*(0.8426699435560563D-1*t7*t101-0.7777362818736071D-2
14053     #*t245*t105+0.2871243072D-3*t248*t109-0.4867292681641983D-5*t251
14054     #*t113+0.263379891639618D-7*t257*t238)
14055      else ! rho
14056      zk(i) = 0.0d0
14057      vrhoa(i) = 0.0d0
14058      vsigmaaa(i) = 0.0d0
14059      endif ! rho
14060      enddo
14061
14062      else if(ideriv.eq.2) then
14063
14064      do i=1,npt
14065      rho = dmax1(0.D0,rhoa1(i))
14066      if(rho.gt.tol) then
14067      sigma = dmax1(0.D0,sigmaaa1(i))
14068      t2 = rho**(1.D0/3.D0)
14069      t3 = t2*rho
14070      t4 = rho**2
14071      t5 = t2**2
14072      t7 = 1/t5/t4
14073      t8 = sigma*t7
14074      t10 = 1.D0+0.6349604207872798D-2*t8
14075      t11 = 1/t10
14076      t14 = sigma**2
14077      t15 = t4**2
14078      t16 = t15*rho
14079      t18 = 1/t2/t16
14080      t19 = t14*t18
14081      t20 = t10**2
14082      t21 = 1/t20
14083      t24 = t14*sigma
14084      t25 = t15**2
14085      t26 = 1/t25
14086      t27 = t24*t26
14087      t29 = 1/t20/t10
14088      t32 = t14**2
14089      t33 = t25*t4
14090      t35 = 1/t5/t33
14091      t36 = t32*t35
14092      t37 = t20**2
14093      t38 = 1/t37
14094      t41 = 0.108184D1-0.3291247495504578D-2*t8*t11
14095     #+0.138112343902108D-3*t19*t21-0.67302656D-6*t27*t29
14096     #+0.3720034997741387D-8*t36*t38
14097      t44 = 1/rho
14098      t45 = t44**(1.D0/3.D0)
14099      t47 = 1.D0+0.1606016560364007D0*t45
14100      t48 = rho*t47
14101      t49 = t44**(1.D0/6.D0)
14102      t52 = dsqrt(t44)
14103      t54 = t45**2
14104      t56 = 0.1248219874679732D2*t49+0.4844076716063854D1*t45
14105     #+0.2326004811900819D1*t52+0.3819082618690966D0*t54
14106      t59 = 1.D0+0.321646831778707D2/t56
14107      t60 = dlog(t59)
14108      t62 = 1.D0+0.3174802103936399D0*t8
14109      t63 = 1/t62
14110      t66 = t62**2
14111      t67 = 1/t66
14112      t71 = 1/t66/t62
14113      t74 = t66**2
14114      t75 = 1/t74
14115      t78 = 0.118777D1-0.7628795471590852D0*t8*t63
14116     #+0.5661994483911968D0*t19*t67-0.29373536D0*t27*t71
14117     #+0.6347552015792813D-1*t36*t75
14118      t79 = t60*t78
14119      t83 = 1.D0+0.1325688999052018D0*t45
14120      t89 = 0.598255043577108D1*t49+0.2225569421150687D1*t45
14121     #+0.8004286349993634D0*t52+0.1897004325747559D0*t54
14122      t92 = 1.D0+0.160818243221511D2/t89
14123      t93 = dlog(t92)
14124      t98 = -0.62182D-1*rho*t83*t93+0.3109D-1*t48*t60
14125      t100 = 1.D0+0.9524406311809197D-2*t8
14126      t101 = 1/t100
14127      t104 = t100**2
14128      t105 = 1/t104
14129      t109 = 1/t104/t100
14130      t112 = t104**2
14131      t113 = 1/t112
14132      t116 = 0.589076D0+0.4213349717780282D-1*t8*t101
14133     #-0.1743692431454588D-2*t19*t105+0.367822944D-4*t27*t109
14134     #-0.3456644474956098D-6*t36*t113
14135      zk(i) = -0.7385587663820224D0*t3*t41-0.3109D-1*t48*t79+t98*t116
14136      t120 = t4*rho
14137      t122 = 1/t5/t120
14138      t123 = sigma*t122
14139      t126 = t15*t4
14140      t128 = 1/t2/t126
14141      t129 = t14*t128
14142      t133 = 1/t25/rho
14143      t134 = t24*t133
14144      t139 = 1/t5/t25/t120
14145      t140 = t32*t139
14146      t143 = t32*sigma
14147      t146 = 1/t2/t25/t126
14148      t147 = t143*t146
14149      t149 = 1/t37/t10
14150      t152 = 0.1755331997602442D-1*t123*t11-0.1584654969337721D-2*t129
14151     #*t21+0.2012265130666667D-4*t134*t29-0.1477359830566614D-6*t140
14152     #*t38+0.503909330668646D-9*t147*t149
14153      t155 = t47*t60
14154      t158 = 1/t54
14155      t159 = t44*t158
14156      t162 = t56**2
14157      t163 = 1/t162
14158      t164 = t48*t163
14159      t165 = t49**2
14160      t166 = t165**2
14161      t167 = t166*t49
14162      t168 = 1/t167
14163      t169 = 1/t4
14164      t170 = t168*t169
14165      t172 = t158*t169
14166      t174 = 1/t52
14167      t175 = t174*t169
14168      t177 = 1/t45
14169      t178 = t177*t169
14170      t180 = -0.4160732915599108D1*t170-0.3229384477375903D1*t172
14171     #-0.2326004811900819D1*t175-0.5092110158254621D0*t178
14172      t181 = 1/t59
14173      t182 = t180*t181
14174      t183 = t182*t78
14175      t195 = 1/t74/t62
14176      t198 = 0.4068690918181788D1*t123*t63-0.7331189631570478D1*t129
14177     #*t67+0.661717504D1*t134*t71-0.2846227052321425D1*t140*t75
14178     #+0.4299140585511414D0*t147*t195
14179      t199 = t60*t198
14180      t204 = t172*t93
14181      t206 = t89**2
14182      t207 = 1/t206
14183      t208 = t83*t207
14184      t213 = -0.99709173929518D0*t170-0.7418564737168958D0*t172
14185     #-0.4002143174996817D0*t175-0.1264669550498372D0*t178
14186      t214 = 1/t92
14187      t216 = t208*t213*t214
14188      t224 = t163*t180*t181
14189      t227 = -0.62182D-1*t83*t93+rho*(0.2747799777968419D-2*t204+0.1D1
14190     #*t216)+0.3109D-1*t155-0.1664368495390566D-2*t159*t60-0.5D0*t48
14191     #*t224
14192      t230 = 0.1123559924741408D0*t123*t101
14193      t232 = 0.1036981709164809D-1*t129*t105
14194      t234 = 0.3828324096D-3*t134*t109
14195      t235 = t140*t113
14196      t238 = 1/t112/t100
14197      t240 = 0.351173188852824D-7*t147*t238
14198      t241 = -t230+t232-t234+0.6489723575522644D-5*t235-t240
14199      vrhoa(i) = -0.9847450218426965D0*t2*t41-0.3692793831910112D0*t3
14200     #*t152-0.3109D-1*t155*t78+0.1664368495390566D-2*t159*t79+0.5D0
14201     #*t164*t183-0.15545D-1*t48*t199+t227*t116+t98*t241
14202      t245 = sigma*t18
14203      t248 = t14*t26
14204      t251 = t24*t35
14205      t256 = 1/t2/t25/t16
14206      t257 = t32*t256
14207      t260 = -0.1316498998201831D-1*t7*t11+0.1188491227003291D-2*t245
14208     #*t21-0.1509198848D-4*t248*t29+0.110801987292496D-6*t251*t38
14209     #-0.3779319980014845D-9*t257*t149
14210      t273 = -0.3051518188636341D1*t7*t63+0.5498392223677858D1*t245
14211     #*t67-0.496288128D1*t248*t71+0.2134670289241069D1*t251*t75
14212     #-0.3224355439133561D0*t257*t195
14213      t274 = t60*t273
14214      t287 = 0.8426699435560563D-1*t7*t101-0.7777362818736071D-2*t245
14215     #*t105+0.2871243072D-3*t248*t109-0.4867292681641983D-5*t251*t113
14216     #+0.263379891639618D-7*t257*t238
14217      vsigmaaa(i) = -0.7385587663820224D0*t3*t260-0.3109D-1*t48*t274
14218     #+2.D0*t98*t287
14219      t294 = sigma/t5/t15
14220      t297 = t15*t120
14221      t300 = t14/t2/t297
14222      t301 = t300*t105
14223      t304 = t24/t33
14224      t305 = t304*t109
14225      t310 = t32/t5/t25/t15
14226      t311 = t310*t113
14227      t316 = t143/t2/t25/t297
14228      t317 = t316*t238
14229      t320 = t25**2
14230      t323 = t32*t14/t320/t4
14231      t325 = 1/t112/t104
14232      t327 = 0.4459621515264D-8*t323*t325
14233      t330 = t47*t163
14234      t346 = 1/t37/t20
14235      t357 = t162**2
14236      t358 = 1/t357
14237      t360 = t180**2
14238      t361 = t59**2
14239      t362 = 1/t361
14240      t381 = 1/t74/t66
14241      t390 = 1/t15
14242      t391 = 1/t167/t44*t390
14243      t393 = 1/t120
14244      t394 = t168*t393
14245      t397 = 1/t54/t44
14246      t398 = t397*t390
14247      t400 = t158*t393
14248      t404 = 1/t52/t44*t390
14249      t406 = t174*t393
14250      t410 = 1/t45/t44*t390
14251      t412 = t177*t393
14252      t414 = -0.6934554859331846D1*t391+0.1664293166239643D2*t394
14253     #-0.4305845969834537D1*t398+0.1291753790950361D2*t400
14254     #-0.2326004811900819D1*t404+0.9304019247603276D1*t406
14255     #-0.3394740105503081D0*t410+0.2036844063301848D1*t412
14256      t419 = t393*t397
14257      t426 = 1/t162/t56
14258      t452 = 0.5495599555936838D-2*t204
14259      t453 = 0.2D1*t216
14260      t457 = t213**2
14261      t460 = 0.2D1*t83/t206/t89*t457*t214
14262      t472 = 0.1D1*t208*(-0.8309097827459833D0*t391
14263     #+0.199418347859036D1*t394-0.4945709824779306D0*t398
14264     #+0.1483712947433792D1*t400-0.2001071587498409D0*t404
14265     #+0.8004286349993634D0*t406-0.4215565168327908D-1*t410
14266     #+0.2529339100996745D0*t412)*t214
14267      t473 = t206**2
14268      t476 = t92**2
14269      t480 = 0.160818243221511D2*t83/t473*t457/t476
14270      t482 = 0.1831866518645613D-2*t398*t93
14271      t484 = 0.5495599555936838D-2*t400*t93
14272      t495 = dlog(1.D0+0.2960857464321668D2/(0.8157414703487641D1*t49
14273     #+0.2247591863577616D1*t45+0.4300972471276643D0*t52
14274     #+0.1911512595127338D0*t54))
14275      t497 = (1.D0+0.6901399211255825D-1*t45)*t495*t169
14276      t502 = 0.8837926660346786D-1*t172*t207*t213*t214
14277      s1 = 3.D0*t227*t241+t98*(0.8239439448103662D0*t294*t101
14278     #-0.1065518352468551D0*t301+0.537596439552D-2*t305
14279     #-0.1286791061715555D-3*t311+0.1291426557904201D-5*t317-t327)
14280     #+0.2D1*t330*t183-0.6218D-1*t155*t198-0.3692793831910112D0*t3*(
14281     #-0.1287243464908457D0*t294*t11+0.2066673166164795D-1*t300*t21
14282     #-0.4695349967075556D-3*t304*t29+0.5491506880554649D-5*t310*t38
14283     #-0.3445745456547828D-7*t316*t149+0.8532332817066667D-10*t323
14284     #*t346)-0.6564966812284644D0/t5*t41-0.1969490043685393D1*t2*t152
14285     #+0.1608234158893535D2*t48*t358*t360*t362*t78+0.1D1*t164*t182*t198
14286      s2 = s1-0.15545D-1*t48*t60*(-0.2983706673333311D2*t294*t63
14287     #+0.9975095585979163D2*t300*t67-0.1439358987377778D3*t304*t71
14288     #+0.1000251185367385D3*t310*t75-0.31601445964313D2*t316*t195
14289     #+0.36397121536D1*t323*t381)+0.5D0*t164*t414*t181*t78
14290     #+0.2219157993854088D-2*t419*t79-0.1070677706909338D0*t159*t163
14291     #*t183
14292      v2rhoa2(i) = s2-0.1D1*t48*t426*t360*t181*t78
14293     #+0.3328736990781132D-2*t159*t199+(-0.2D1*t330*t182+0.1D1*t48
14294     #*t426*t360*t181-0.2219157993854088D-2*t419*t60
14295     #+0.1070677706909338D0*t159*t224-0.1608234158893535D2*t48*t358
14296     #*t360*t362-0.5D0*t48*t163*t414*t181+t452+t453+rho*(-t460+t472
14297     #+t480+t482-t484+0.3377399869956914D-1*t497-t502))*t116+(t452
14298     #+t453+rho*(-t460+t472+t480+t482-t484-0.3377399869956914D-1*t497
14299     #-t502))*t116+t227*(-t230+t232-t234+0.6489723575522644D-5*t235
14300     #-t240)+t98*(-0.3050650990810237D-1*t301+0.256852672512D-2*t305
14301     #-0.8108779995105606D-4*t311+0.1033899552745464D-5*t317-t327)
14302      t525 = sigma*t128
14303      t528 = t14*t133
14304      t531 = t24*t139
14305      t534 = t32*t146
14306      t539 = t143/t320/rho
14307      t572 = t525*t105
14308      t574 = t528*t109
14309      t576 = t531*t113
14310      t578 = t534*t238
14311      t581 = 0.3344716136448D-8*t539*t325
14312      s1 = -0.9847450218426965D0*t2*t260-0.3692793831910112D0*t3*
14313     #(0.7021327990409767D-1*t122*t11-0.1312306629222938D-1*t525*t21
14314     #+0.3219672705706667D-3*t528*t29-0.3897026185830995D-5*t531*t38
14315     #+0.2508722692810574D-7*t534*t149-0.63992496128D-10*t539*t346)
14316     #-0.3109D-1*t155*t273+0.1664368495390566D-2*t159*t274
14317      v2rhoasigmaaa(i) = s1+0.5D0*t164*t182*t273-0.15545D-1*t48*t60*
14318     #(0.1627476367272715D2*t122*t63-0.6381643244748801D2*t525*t67
14319     #+0.9802616149333333D2*t528*t71-0.7074949832407171D2*t531*t75
14320     #+0.2305621338540804D2*t534*t195-0.27297841152D1*t539*t381)+2.D0
14321     #*t227*t287+t98*(-0.4494239698965634D0*t122*t101
14322     #+0.6435915079766915D-1*t572-0.345772468224D-2*t574
14323     #+0.8677474426538262D-4*t576-0.9158939401002274D-6*t578+t581)+t98
14324     #*(0.2287988243107678D-1*t572-0.192639504384D-2*t574
14325     #+0.6081584996329205D-4*t576-0.7754246645590978D-6*t578+t581)
14326      t592 = sigma*t26
14327      t595 = t14*t35
14328      t598 = t24*t256
14329      t602 = t32/t320
14330      v2sigmaaa2(i) = -0.7385587663820224D0*t3*(0.508833481115887D-2
14331     #*t18*t21-0.181107499008D-3*t592*t29+0.2479561690203262D-5*t595
14332     #*t38-0.1730369220407337D-7*t598*t149+0.47994372096D-10*t602*t346
14333     #)-0.3109D-1*t48*t60*(0.2586875544090457D2*t18*t67-0.53668096D2
14334     #*t592*t71+0.4452344258608951D2*t595*t75-0.160024178634026D2*t598
14335     #*t195+0.20473380864D1*t602*t381)+4.D0*t98*(
14336     #-0.1715991182330758D-1*t18*t105+0.144479628288D-2*t592*t109
14337     #-0.4561188747246904D-4*t595*t113+0.5815684984193233D-6*t598*t238
14338     #-0.2508537102336D-8*t602*t325)
14339      else ! rho
14340      zk(i) = 0.0d0
14341      vrhoa(i) = 0.0d0
14342      v2rhoa2(i) = 0.0d0
14343      vsigmaaa(i) = 0.0d0
14344      v2rhoasigmaaa(i) = 0.0d0
14345      v2sigmaaa2(i) = 0.0d0
14346      endif ! rho
14347      enddo
14348
14349      endif ! ideriv
14350      return
14351      end