1
double complex function qlcLi2omx3(z1,z2,z3,ieps1,ieps2,ieps3)
2
C Calculate Li[2](1-(z1+ieps1)*(z2+ieps2)*(z3+ieps3))
3
C Using +cLi2(1-z1*z2*z3)
5
C and -cLi2(1-1/(z1*z2*z3))-1/2*(ln(z1)+ln(z2)+ln(z3))^2
8
include 'qlconstants.f'
9
double precision ieps1,ieps2,ieps3,ieps
10
double complex arg,lnarg,lnomarg,prod,denspence,z1,z2,z3,cln
13
if (qlzero(dimag(arg))) ieps=
14
.sign(one,dreal(z2*z3)*ieps1+dreal(z1*z3)*ieps2+dreal(z1*z2)*ieps3)
16
if (abs(arg) .le. 1d0) then
17
if (arg .eq. 0d0 .or. arg .eq. 1d0) then
20
lnarg=cln(z1,ieps1)+cln(z2,ieps2)+cln(z3,ieps3)
21
lnomarg=cln(cone-arg,0d0)
24
qlcLi2omx3=dcmplx(pisqo6)-denspence(dcmplx(arg),ieps)-prod
25
elseif (abs(arg) .gt. 1d0) then
27
lnarg=-cln(z1,ieps1)-cln(z2,ieps2)-cln(z3,ieps3)
28
lnomarg=cln(cone-arg,0d0)
29
qlcLi2omx3=-dcmplx(pisqo6)+denspence(dcmplx(arg),ieps)
30
. +lnarg*lnomarg-0.5d0*lnarg**2