<<PolylogTools`

I51[x_,y_]:=G[y,0,0,0,0,x,1];
I51p[x_,y_]:=I51[x,y]+I51[x,1/y];
L6[x_]:=-G[0,0,0,0,0,1/x,1];

SetAttributes[L6sym,HoldAll];
Options[L6sym]={oneOverY->False,oneMinusOneOverX->False};
L6sym[coeff_,arg_,opts:OptionsPattern[]]:=Module[{oneOverYTF,oneMinusOneOverXTF,coeffs,args},(
oneOverYTF=OptionValue[oneOverY]==True;
oneMinusOneOverXTF=OptionValue[oneMinusOneOverX]==True;

coeffs={Hold[coeff]};
args={Hold[arg]};

If[oneMinusOneOverXTF,
coeffs=Join[coeffs,coeffs, coeffs];
args=Join[args,args/.{x->1-1/x},args/.{x->1/(1-x)}];];

If[oneOverYTF,coeffs=Join[coeffs,coeffs];
args=Join[args,args/.{y->1/y}];];

Return[Plus@@Release[MapThread[#1 L6i[#2]&,{coeffs,args}]]];
)];

L6iinv[arg_]:=If[Sort[Factor[{arg,1/arg}]][[1]]===Factor[arg],L6i[Factor[arg]],-L6i[Factor[1/arg]]];
L6can[expr_]:=expr/.L6i[arg_]:>L6iinv[arg]

(* -------------- *)

li6termsLi3XFull[y_] := 2 I51i[1,y]-L6i[1-x]-L6i[(1/x)]+L6i[((-1+x)/x)]+2 L6i[1-y]+L6i[(1/((-1+x) (-1+y)))]+L6i[((-1+x)/(-1+y))]+L6i[-(1/(x (-1+y)))]+L6i[-((-1+x)/(x (-1+y)))]+L6i[-(x/(-1+y))]+L6i[-(x/((-1+x) (-1+y)))]+(1/9) L6i[-((-1+y)/((-1+x) x (y^2)))]+(1/9) L6i[-(((((-1+x))^2) (-1+y))/(x (y^2)))]+(1/9) L6i[(((x^2) (-1+y))/((-1+x) (y^2)))]-6 L6i[(1/y)]+(5/2) L6i[-(1/((-1+x) y))]-(5/2) L6i[-((-1+x)/y)]-(5/2) L6i[(1/(x y))]+(5/2) L6i[((-1+x)/(x y))]+(5/2) L6i[(x/y)]-(5/2) L6i[(x/((-1+x) y))]-(1/9) L6i[-((-1+x)/((x^2) (-1+y) y))]-(1/9) L6i[(x/((((-1+x))^2) (-1+y) y))]-(1/9) L6i[(((-1+x) x)/((-1+y) y))]+2 L6i[((-1+y)/y)]-L6i[-((-1+y)/((-1+x) y))]-L6i[-(((-1+x) (-1+y))/y)]-L6i[((-1+y)/(x y))]-L6i[(((-1+x) (-1+y))/(x y))]-L6i[((x (-1+y))/y)]-L6i[((x (-1+y))/((-1+x) y))]+(1/18) L6i[-(((-1+x) (((-1+y))^2))/((x^2) y))]+(1/18) L6i[((x (((-1+y))^2))/((((-1+x))^2) y))]+(1/18) L6i[(((-1+x) x (((-1+y))^2))/y)];

li6termsLi3YFull[x_] := -2 I51i[1,x]-2 L6i[1-x]+6 L6i[(1/x)]-2 L6i[((-1+x)/x)]+3 L6i[x]+L6i[1-(1/y)]+5 L6i[x (1-(1/y))]+L6i[(1/(1-y))]+5 L6i[(x/(1-y))]+L6i[1-y]-L6i[(1/((-1+x) (-1+y)))]-(5/2) L6i[-(1/(x (-1+y)))]+L6i[-((-1+x)/(x (-1+y)))]-L6i[((-1+y)/(-1+x))]+(5/2) L6i[-((-1+y)/x)]+L6i[-(((-1+x) (-1+y))/x)]+(1/9) L6i[-((-1+y)/((-1+x) x (y^2)))]-(1/18) L6i[-(((((-1+x))^2) (-1+y))/(x (y^2)))]+L6i[(1/y)]-L6i[-(1/((-1+x) y))]+(5/2) L6i[(1/(x y))]+L6i[((-1+x)/(x y))]-(1/9) L6i[-((-1+x)/((x^2) (-1+y) y))]-L6i[((-1+y)/y)]-L6i[-((-1+y)/((-1+x) y))]-(5/2) L6i[((-1+y)/(x y))]+L6i[(((-1+x) (-1+y))/(x y))]-(1/9) L6i[-(((-1+x) (((-1+y))^2))/((x^2) y))]+L6i[y]-L6i[-(y/(-1+x))]-(5/2) L6i[(y/x)]+L6i[(((-1+x) y)/x)]+5 L6i[x y]+(1/9) L6i[(y/((-1+x) x (((-1+y))^2)))]-(1/18) L6i[(((((-1+x))^2) y)/(x (((-1+y))^2)))]-L6i[-(y/((-1+x) (-1+y)))]+(5/2) L6i[(y/(x (-1+y)))]+L6i[(((-1+x) y)/(x (-1+y)))]+(1/9) L6i[(((-1+y) y)/((-1+x) x))]-(1/18) L6i[(((((-1+x))^2) (-1+y) y)/x)]-(1/9) L6i[(((-1+x) (y^2))/((x^2) (-1+y)))]

FE = li6termsLi3XFull[y] + li6termsLi3XFull[1-1/y] + li6termsLi3XFull[1/(1-y)] +
- (li6termsLi3YFull[x] + li6termsLi3YFull[1-1/x] + li6termsLi3YFull[1/(1-x)])//Simplify

FE/2//L6can//Expand

result = I51i[1,(1/(1-x))]+I51i[1,((-1+x)/x)]+I51i[1,x]-3 L6i[1-x]-3 L6i[(1/x)]+3 L6i[((-1+x)/x)]