<< hexagon.m

Install["LoopTools"]

kinematics = {
p1 . p1 -> p1s, p2 . p2 -> p2s, 
          p3 . p3 -> p3s, p4 . p4 -> p4s, 
          p5 . p5 -> 
            p5s, 
p1 . p2 -> (s12 - p1s - p2s)/
              2, 
p2 . p3 -> (s23 - p2s - p3s)/
              2, 
p3 . p4 -> (s34 - p3s - p4s)/
              2, 
p4 . p5 -> (s45 - p4s - p5s)/
              2, 
p1 . p5 -> (s15 - p1s - p5s)/
              2, 
p3 . 
              p5 -> (s12 - s34 - s45 + p4s)/
              2, 
p1 . 
              p4 -> (s23 - s15 - s45 + p5s)/
              2, 
p2 . 
              p5 -> (s34 - s12 - s15 + p1s)/
              2, 
p1 . 
              p3 -> (s45 - s12 - s23 + p2s)/
              2, 
p2 . 
              p4 -> (s15 - s23 - s34 + p3s)/
              2};
\(\(chords = {
	
          q[n_, 1] -> p1[n], 
	
          q[n_, 2] -> p1[n] + p2[n], 
	
          q[n_, 3] -> p1[n] + p2[n] + p3[n], 
	
          q[n_, 4] -> p1[n] + p2[n] + p3[n] + p4[n]};\)\)

1) Comparison with AMBRE & MB.m

p1s = p2s = p3s = p5s = 1;
p4s = 0;
s12 = -3;
s23 = -6;
s34 = -5;
s45 = -7;
s15 = -2;
m1s = m3s = 0;
m2s = m4s = m5s = 1;

ex1 = 
      RedE3[p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, m3s, 
          m4s, m5s] /. {D4 -> D0, C3 -> C0, 
          B2 -> B0}

num = p1[mu1]*p2[mu2]*p3[mu3];

Expand[num*ex1 /. chords] /. p_[_]^2 -> p . p /. 
          g[mu1_, mu2_]*p_[mu2_] -> p[mu1] //. 
        pa_[n_]*pb_[n_] -> pa . pb /. kinematics

\( (*\ 
\(Output\ of\ AMBRE\  &\)\ MB . 
            m\ 

0.21888490099015612` + 
        0.08324642046370305`\/eps\ 

*) \)

num = p1[mu1]*p1[mu2]*p1[mu3];

Expand[num*ex1 /. chords] /. 
            g[mu1_, mu2_]*p_[mu2_] -> p[mu1] //. 
          pa_[n_]*pb_[n_] -> pa . pb /. p_[_]^2 -> p . p /. 
      kinematics

\( (*\ 
\(Output\ of\ AMBRE\  &\)\ MB . 
            m\ 

0.20857125145140046` + 
        0.04994785227822184`\/eps

*) \)

2) Comparison with LoopTools

p1s = p2s = 0;
p3s = p5s = 49/256;
p4s = 9/100;
s12 = 4;
s23 = -1/5;
s34 = 1/5;
s45 = 3/10;
s15 = -1/2;
m1s = m2s = m3s = 49/256;
m4s = m5s = 81/1600;

RedE0[p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, m3s, 
        m4s, m5s] /. D4 -> D0

E0[p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, m3s, 
      m4s, m5s]

RedEget[rank1, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, 
        m2s, m3s, m4s, m5s] /. D4 -> D0

Part[
      Eget[p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, m3s, 
        m4s, m5s], {2, 3, 4, 5}]

RedEcoef[ee34, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, 
        m2s, m3s, m4s, m5s] /. {D4 -> D0, C3 -> C0}

E0i[ee34, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, 
      m3s, m4s, m5s]

RedEcoef[ee123, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, 
        m2s, m3s, m4s, m5s] /. {D4 -> D0, C3 -> C0, 
        B2 -> B0}

E0i[ee123, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, 
      m3s, m4s, m5s]

RedEcoef[ee002, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, 
        m2s, m3s, m4s, m5s] /. {D4 -> D0, C3 -> C0, 
        B2 -> B0}

E0i[ee002, p1s, p2s, p3s, p4s, p5s, s12, s23, s34, s45, s15, m1s, m2s, 
      m3s, m4s, m5s]