      SUBROUTINE VALUE(A,B,C,A44,C44,FN,INF)
      IMPLICIT REAL*8(A-H,O-Z)
      REAL*4 X
      DIMENSION A(2,4),B(2),C(2,4)
C ****** SUBST. MAX. NUMBER OF OBSERVATIONS ******
      COMMON X(13,1800),NOBS,B3
      COMMON/TRAPCODE/ITR
      COMMON /VRNCS/ W1,W2,W3
      ITR=0
C -- COMPUTE EIGENVALUES AND EIGENVECTORS -
      DET=A(1,1)*A(2,2)-A(1,2)*A(2,1)
      HFTRA=0.5*(A(1,1)+A(2,2))
      DISCR=HFTRA**2-DET
      IF(DISCR.GT.0.) GO TO 1
         WRITE(3,11)
   11    FORMAT(' COMPLEX EIGENVALUES')
         INF=1
         RETURN
    1 IF(HFTRA.lt.0.) goto 91
      XL1=HFTRA+DSQRT(DISCR)
 91   continue      
      IF(HFTRA.ge.0.) goto 92
      XL1=HFTRA-DSQRT(DISCR)
 92   continue
      XL2=DET/XL1
      P11=XL1-A(2,2)
      P12=A(1,2)
      P13=(A(1,3)*P11+A(2,3)*P12)/(XL1+1.)
      P14=(A(1,4)*P11+A(2,4)*P12)/(XL1-A44)
      P21=A(2,1)
      P22=XL2-A(1,1)
      P23=(A(1,3)*P21+A(2,3)*P22)/(XL2+1.)
      P24=(A(1,4)*P21+A(2,4)*P22)/(XL2-A44)
C -- COMPUTE LOG-LIKELIHOOD -
      DETC=C(1,1)*C(2,2)-C(1,2)*C(2,1)
      IF(ABS(DETC).GT.0.) GO TO 3
         WRITE(3,33)
   33    FORMAT(' C IS SINGULAR')
         INF=1
         RETURN
    3 DETP=P11*P22-P12*P21
      IF(ABS(DETP).GT.0.) GO TO 4
         WRITE(3,44)
   44    FORMAT(' P IS SINGULAR')
         INF=1
         RETURN
    4 continue
      FN=-DLOG(ABS(DETC*DETP))
      W1=0.
      W2=0.
      W3=0.
      PB1=P11*B(1)+P12*B(2)+P13*B3-P14*A44
      PB2=P21*B(1)+P22*B(2)+P23*B3-P24*A44
C -- LOOP BEGINS -
      DO 10 I=1,NOBS
      IF(ITR.EQ.1) GO TO 2
      Y04=1.0-(1.0-DEXP(X(11,I)*C44))*DEXP(X(12,I)*(-A44))
      Y4=1.0-(1.0-DEXP(X(11,I)*C44))*DEXP(X(13,I)*(-A44))
      ALX04=DLOG(Y04)/C44
      ALX4=DLOG(Y4)/C44
      ALXC1=C(1,1)*X(1,I)+C(1,2)*X(2,I)+C(1,3)*X(3,I)+C(1,4)*ALX4
      ALXC2=C(2,1)*X(1,I)+C(2,2)*X(2,I)+C(2,3)*X(3,I)+C(2,4)*ALX4
      Y1=DEXP(ALXC1)
      Y2=DEXP(ALXC2)
      Y01=DEXP(C(1,1)*X(4,I)+C(1,2)*X(5,I)+C(1,3)*X(6,I)+C(1,4)*ALX04)
      Y02=DEXP(C(2,1)*X(4,I)+C(2,2)*X(5,I)+C(2,3)*X(6,I)+C(2,4)*ALX04)
      EL1T=DEXP(X(7,I)*(-XL1))
      EL2T=DEXP(X(7,I)*(-XL2))
      E1=P11*Y1+P12*Y2+P13*X(8,I)+P14*Y4
     1     -EL1T*(P11*Y01+P12*Y02+P13*X(9,I)+P14*Y04)
      E2=P21*Y1+P22*Y2+P23*X(8,I)+P24*Y4
     1     -EL2T*(P21*Y01+P22*Y02+P23*X(9,I)+P24*Y04)
      IF(ABS(XL1).GT.1.D-22) GO TO 222
         R1=-X(7,I)
         E1=E1-R1*PB1
         GO TO 333
 222  R1=(EL1T*EL1T-1.)/(XL1+XL1)
      E1=E1+(1.-EL1T)/XL1*PB1
 333  IF(ABS(XL2).GT.1.D-22) GO TO 444
         R2=-X(7,I)
         E2=E2-R2*PB2
         GO TO 555
 444  R2=(EL2T*EL2T-1.)/(XL2+XL2)
      E2=E2+(1.-EL2T)/XL2*PB2
 555  R3=(1.-DEXP(2.D0*X(7,I)))*0.5
      W1=W1+E1*E1/R1
      W2=W2+E2*E2/R2
      W3=W3+X(10,I)*X(10,I)/R3
      FN=FN+(0.5*DLOG(R1*R2*R3)-ALXC1-ALXC2)/NOBS
   10 continue
C -- LOOP ENDS -
      FN=FN+0.5*(DLOG(W1*W2*W3))
    2 CONTINUE
      INF=ITR

      RETURN
      END

