SetDirectory["e:/job2008/Zurich"];

<<MB/MB.m

(*      Example  4a     *)

F=Gamma[3/2+ep+z] Gamma[-1-2 ep-z] Gamma[4 ep+z]Gamma[-z] Gamma[1/2-ep-z] /Gamma[1-2 ep-z]

(*    Strategy #2    *)

Frules=MBoptimizedRules[F,ep->0,{},{ep}]

(*    Strategy #1    *)

(*   The two residues   *)

-Residue[F,{z,-1-2 ep}]+Residue[F,{z,-4 ep}]

(*   plus an integral with  the first poles of Gamma[4 ep+z]and Gamma[-1-2 ep-z] of the opposite nature     *)

(*  Strategy #2: introduce an auxiliary analytic regularization   *)

F=Gamma[3/2+ep+z] Gamma[-1-2 ep-z+y] Gamma[4 ep+z]Gamma[-z] Gamma[1/2-ep-z] /Gamma[1-2 ep-z]

Step1rules=MBoptimizedRules[F,y->0,{},{ep,y}]

con1=MBcontinue[F,y->0,Step1rules]

exp1=MBexpand[con1,1,{y,0,0}]

con2=Table[MBcontinue[exp1[[i,1]],ep->0,exp1[[i,2]]],{i,Length[exp1]}]

MBmerge[%]

exp2=MBexpand[%,Exp[2ep EulerGamma],{ep,0,0}]

MBmerge[%]

(*      Example  4b     *)

F=Gamma[-1/2+ep+z] Gamma[1+ ep+z] Gamma[3/2-ep-z] Gamma[-z]

(*    Strategy #1:
there are no poles. Expand the integrand in epsilon. However, the contour cannot be a straight line.   *)

(*    Strategy #2        *)

F=Gamma[-1/2+ep+z] Gamma[1+ ep+z] Gamma[3/2-ep-z] Gamma[-z]

Frules=MBoptimizedRules[F,ep->0,{},{ep}]

(*The integral of Gamma[a+s] Gamma[b+s] Gamma[c-s] Gamma[dd-s]*)

Mel40[a_,b_,c_,d_]:=Gamma[a+c] Gamma[a+d] Gamma[b+c] Gamma[b+d]/Gamma[a+b+c+d];

Mel40[-1/2+ep,1+ ep,3/2-ep,0]