anchor.diff:            tmpMatrix2 = matmul(tmpMatrix1,integralB%beta)
             tmpMatrix1 = matmul(tmpMatrix1,integralB%alpha)
             call mqc_integral_allocate(integralOut,myLabel,'spin',tmpMatrix1,tmpMatrix2)
  -        case('spin')
  -          tmpVector1 = eigenvaluesA%alpha
  -          tmpVector2 = eigenvaluesA%beta
  -          call tmpVector1%diag(tmpMatrix1)
  -          call tmpVector2%diag(tmpMatrix2)
  -          tmpMatrix1 = matmul(tmpMatrix1,integralB%alpha)
  -          tmpMatrix2 = matmul(tmpMatrix2,integralB%beta)
  -          call mqc_integral_allocate(integralOut,myLabel,'spin',tmpMatrix1,tmpMatrix2)
  -        case('general')
  +        case('spin','general')
             tmpVector1 = eigenvaluesA%alpha
             tmpVector2 = eigenvaluesA%beta
             call tmpVector1%diag(tmpMatrix1)
  
positive.code:       end function mqc_eigenvalues_integral_multiply
  !
  !
  !     PROCEDURE MQC_Eigenvalue_Eigenvalue_Multiply
        function mqc_eigenvalue_eigenvalue_multiply(eigenvalueA,eigenvalueB) result(scalarOut)
  !
  !     This function multiplies a mqc eigenvalue type with an mqc eigenvalue type.
  !
  !     -L. M. Thompson, 2018.
  !
  
negative.code:           tmpMatrix4 = matmul(tmpMatrix1,integralB%betaAlpha)
            tmpMatrix1 = matmul(tmpMatrix1,integralB%alpha)
            call mqc_integral_allocate(integralOut,myLabel,'general',tmpMatrix1,tmpMatrix2,tmpMatrix3,tmpMatrix4)
          case('spin','general')
            tmpVector1 = eigenvaluesA%alpha
            tmpVector2 = eigenvaluesA%beta
            call tmpVector1%diag(tmpMatrix1)
  