anchor.diff:        t(1) = a(1,3)
         t(2) = a(2,3)
         t(3) = a(3,3)
  +
   C Write P, N, and T vectors
         write(soln,1001) p(1),p(2),p(3),o(1),o(2),o(3),t(1),t(2),t(3),
        1                 w(1),w(2),w(3)
  +
  +#else
  +
  +      write(0,*) 'mij2pnt: mtutil not compiled with LAPACK libraries;',
  +     1           ' returning with zeros'
  +      write(soln,1001) 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  +     1                 0.0, 0.0, 0.0
  +
  +#endif
  +
    1001 format(9F7.3,3(1P1E14.6))
         RETURN
         END
  
positive.code:      1             pnt(2,1),pnt(2,2),pnt(2,3),
       2             pnt(3,1),pnt(3,2),pnt(3,3),
       3             eig(1),eig(2),eig(3)
        mxx = eig(1)*pnt(1,1)*pnt(1,1) + eig(2)*pnt(2,1)*pnt(2,1) + 
       1                                          eig(3)*pnt(3,1)*pnt(3,1)
        myy = eig(1)*pnt(1,2)*pnt(1,2) + eig(2)*pnt(2,2)*pnt(2,2) +
       1                                          eig(3)*pnt(3,2)*pnt(3,2)
  
negative.code:       a(3,1) =  m(5)
        a(1,2) = -m(6)     ! mtp = -mxy
        a(1,2) = -m(6)
  
  C Query the optimal workspace
        lwork = -1
        call dsyev('Vectors','Upper',n,a,lda,w,work,lwork,info)
        lwork = min(lwmax,int(work(1)))
  C Solve eigenproblem
        call dsyev('Vectors','Upper',n,a,lda,w,work,lwork,info)
  
  
        p(1) = a(1,1)
        p(2) = a(2,1)
        p(3) = a(3,1)
  