File Herwig-type-mismatch-fix.patch of Package Herwig
Index: Herwig-7.2.1/Looptools/D/D0func.F
===================================================================
--- Herwig-7.2.1.orig/Looptools/D/D0func.F
+++ Herwig-7.2.1/Looptools/D/D0func.F
@@ -1209,10 +1209,11 @@
& Li2omrat2(q4, s, m3, m4) +
& Li2omrat2(q4, s, -1D0, -1D0)
else if( case .eq. 2 ) then
- dilogs = Li2omrat2(q3, t, x43(4), x43(2)) +
- & Li2omrat2(q3, t, x43(3), x43(1)) +
- & Li2omrat2(q4, s, x43(1), x43(3)) +
- & Li2omrat2(q4, s, x43(2), x43(4))
+* case=2 implies the imaginary part of d, and therefore x43(*), is zeroeps
+ dilogs = Li2omrat2(q3, t, REAL(x43(4)), REAL(x43(2))) +
+ & Li2omrat2(q3, t, REAL(x43(3)), REAL(x43(1))) +
+ & Li2omrat2(q4, s, REAL(x43(1)), REAL(x43(3))) +
+ & Li2omrat2(q4, s, REAL(x43(2)), REAL(x43(4)))
else
r3t = q3/t
s3t = sign(.5D0, q3) - sign(.5D0, t)
@@ -1244,8 +1245,9 @@
dilogs = Li2omrat2(q4, s, m3, m4) +
& Li2omrat2(q4, s, -1D0, -1D0)
else if( case .eq. 2 ) then
- dilogs = Li2omrat2(q4, s, x43(1), x43(3)) +
- & Li2omrat2(q4, s, x43(2), x43(4))
+* case=2 implies the imaginary part of d, and therefore x43(*), is zeroeps
+ dilogs = Li2omrat2(q4, s, REAL(x43(1)), REAL(x43(3))) +
+ & Li2omrat2(q4, s, REAL(x43(2)), REAL(x43(4)))
else
r4s = q4/s
s4s = sign(.5D0, q4) - sign(.5D0, s)
Index: Herwig-7.2.1/Looptools/D/D0funcC.F
===================================================================
--- Herwig-7.2.1.orig/Looptools/D/D0funcC.F
+++ Herwig-7.2.1/Looptools/D/D0funcC.F
@@ -948,7 +948,7 @@ c PRINT '(8F14.2)', Mc(1), Mc(2), Mc(3),
if( case .eq. 1 ) then
dilogs = cLi2omrat2(q4, s, m3, m4) +
- & cLi2omrat2(q4, s, -1D0, -1D0)
+ & cLi2omrat2(q4, s, DCMPLX(-1D0), DCMPLX(-1D0))
else if( case .eq. 2 ) then
dilogs = cLi2omrat2(q4, s, x43(1), x43(3)) +
& cLi2omrat2(q4, s, x43(2), x43(4))