************************************************************************

      Program Renorm_1

      Real z(-1:1,-1:1,-1:1,-1:1)
      Integer a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p

      Write(*,*)'Give values for X1, X2, and X3.'
      Read(*,*)X1,X2,X3

      W1=Exp(X1)
      W2=Exp(X2)
      W3=Exp(X3)

      Do 1 I1 = -1, 1, 2
      Do 1 I2 = -1, 1, 2
      Do 1 I3 = -1, 1, 2
      Do 1 I4 = -1, 1, 2

    1 z(I1,I2,I3,I4)=0

      Do 2 a = -1, 1, 2
      Do 2 b = -1, 1, 2
      Do 2 c = -1, 1, 2
      Do 2 d = -1, 1, 2
      Do 2 e = -1, 1, 2
      Do 2 f = -1, 1, 2
      Do 2 g = -1, 1, 2
      Do 2 h = -1, 1, 2
      Do 2 i = -1, 1, 2
      Do 2 j = -1, 1, 2
      Do 2 k = -1, 1, 2
      Do 2 l = -1, 1, 2
      Do 2 m = -1, 1, 2
      Do 2 n = -1, 1, 2
      Do 2 o = -1, 1, 2
      Do 2 p = -1, 1, 2

      nn=a*b+b*e+e*f+c*d+d*g+g*h+i*j+j*m+m*n+k*l+l*o+o*p+a*c+c*i+i*k+
     #   b*d+d*j+j*l+e*g+g*m+m*o+f*h+h*n+n*p

      nnn=a*d+b*c+c*j+d*i+i*l+j*k+b*g+e*d+d*m+g*j+j*o+m*l+e*h+f*g+
     #    g*n+h*m+m*p+n*o

      nsq=a*b*d*c+c*d*j*i+i*j*l*k+b*e*g*d+d*g*m*j+j*m*o*l+e*f*h*g+
     #    g*h*n*m+m*n*p*o

      Weight=W1**nn*W2**nnn*W3**nsq

      I1=Iblock(a,b,c,d)
      I2=Iblock(e,f,g,h)
      I3=Iblock(i,j,k,l)
      I4=Iblock(m,n,o,p)

      z(I1,I2,I3,I4)=z(I1,I2,I3,I4)+Weight

    2 Continue

      Y1=Alog(z(1,1,1,1)/z(1,-1,-1,1))/8
      Y2=Alog(z(1,1,1,1)/z(1,1,-1,-1))/4-Y1
      Y3=Alog(z(1,1,-1,-1)/z(1,1,1,-1))/2+Y2

      Write(*,*)' Y1 =',Y1,' Y2 =',Y2,' Y3 =',Y3

      End

************************************************************************

      Function Iblock(Ia,Ib,Ic,Id)

      Iabcd=Ia+Ib+Ic+Id
      If(Iabcd.EQ.0)then
        Iblock=Ia/Iabs(Ia)
      Else
        Iblock=Iabcd/Iabs(Iabcd)
      End If
      End

************************************************************************	