anchor.diff:            DO 80 I = 1,M
               HTMPS = ZERO 
               HTMPJ = ZERO 
  +#ifndef HBLAS_USE_COMPLEX
  +            HTMPI = ZERO 
  +            HTMPK = ZERO 
  +#endif
               DO 90 L = 1,K
   C             Hamilton Product (IMPLIED CONJ(A))
  +#ifndef HBLAS_USE_COMPLEX
  +              HTMPS = HTMPS + A(1,L,I)*B(1,L,J) + A(2,L,I)*B(2,L,J) +
  +     $                        A(3,L,I)*B(3,L,J) + A(4,L,I)*B(4,L,J)
  +
  +              HTMPI = HTMPI + A(1,L,I)*B(2,L,J) - A(2,L,I)*B(1,L,J) -
  +     $                        A(3,L,I)*B(4,L,J) + A(4,L,I)*B(3,L,J)
  +
  +              HTMPJ = HTMPJ + A(1,L,I)*B(3,L,J) + A(2,L,I)*B(4,L,J) -
  +     $                        A(3,L,I)*B(1,L,J) - A(4,L,I)*B(2,L,J)
  +
  +              HTMPK = HTMPK + A(1,L,I)*B(4,L,J) - A(2,L,I)*B(3,L,J) +
  +     $                        A(3,L,I)*B(2,L,J) - A(4,L,I)*B(1,L,J)
  +#else
                 HTMPS = HTMPS + 
        $          CONJG(A(1,L,I))*B(1,L,J) + A(2,L,I)*CONJG(B(2,L,J))
                 HTMPJ = HTMPJ + 
        $          CONJG(A(1,L,I))*B(2,L,J) - A(2,L,I)*CONJG(B(1,L,J))
  +#endif
     90        CONTINUE
   C
               IF( BZERO ) THEN
                 C(1,I,J) = ALPHA * HTMPS
  +#ifndef HBLAS_USE_COMPLEX
  +              C(2,I,J) = ALPHA * HTMPI
  +              C(3,I,J) = ALPHA * HTMPJ
  +              C(4,I,J) = ALPHA * HTMPK
  +#else
                 C(2,I,J) = ALPHA * HTMPJ
  +#endif
               ELSE
                 C(1,I,J) = ALPHA * HTMPS + BETA * C(1,I,J)
  +#ifndef HBLAS_USE_COMPLEX
  +              C(2,I,J) = ALPHA * HTMPI + BETA * C(2,I,J)
  +              C(3,I,J) = ALPHA * HTMPJ + BETA * C(3,I,J)
  +              C(4,I,J) = ALPHA * HTMPK + BETA * C(4,I,J)
  +#else
                 C(2,I,J) = ALPHA * HTMPJ + BETA * C(2,I,J)
  +#endif
               ENDIF
     80      CONTINUE
           ELSE
  
positive.code:               DO 180 I = 1,M
                  C(1,I,J) = ZERO
                  C(2,I,J) = ZERO
    180         CONTINUE
              ELSEIF ( .NOT. BONE ) THEN
                DO 190 I = 1,M
                  C(1,I,J) = BETA * C(1,I,J) 
                  C(2,I,J) = BETA * C(2,I,J) 
    190         CONTINUE
              ENDIF
  C
              DO 200 L = 1,K
                HTMPS = ALPHA * B(1,J,L)
                HTMPJ = ALPHA * B(2,J,L)
                DO 210 I = 1,M
  C               Hamilton Product
                  C(1,I,J) = C(1,I,J) + 
       $            A(1,I,L)*HTMPS - A(2,I,L)*CONJG(HTMPJ)
                  C(2,I,J) = C(2,I,J) + 
       $            A(1,I,L)*HTMPJ + A(2,I,L)*CONJG(HTMPS)
    210         CONTINUE
    200       CONTINUE
    170     CONTINUE
  
negative.code:               DO 130 I = 1,M
                  C(1,I,J) = ZERO
                  C(2,I,J) = ZERO
  #ifndef HBLAS_USE_COMPLEX
                  C(3,I,J) = ZERO
                  C(4,I,J) = ZERO
  #endif
    130         CONTINUE
              ELSEIF ( .NOT. BONE ) THEN
                DO 140 I = 1,M
                  C(1,I,J) = BETA * C(1,I,J) 
                  C(2,I,J) = BETA * C(2,I,J) 
  #ifndef HBLAS_USE_COMPLEX
                  C(3,I,J) = BETA * C(3,I,J) 
                  C(4,I,J) = BETA * C(4,I,J) 
  #endif
    140         CONTINUE
              ENDIF
  C
              DO 150 L = 1,K
  #ifndef HBLAS_USE_COMPLEX
                HTMPS =  ALPHA * B(1,J,L)
                HTMPI = -ALPHA * B(2,J,L)
                HTMPJ = -ALPHA * B(3,J,L)
                HTMPK = -ALPHA * B(4,J,L)
  #else
                HTMPS =  ALPHA * CONJG(B(1,J,L))
                HTMPJ = -ALPHA * B(2,J,L)
  #endif
                DO 160 I = 1,M
  C               Hamilton Product
  #ifndef HBLAS_USE_COMPLEX
                  C(1,I,J) = C(1,I,J) + 
       $            A(1,I,L)*HTMPS - A(2,I,L)*HTMPI -
       $            A(3,I,L)*HTMPJ - A(4,I,L)*HTMPK
  
                  C(2,I,J) = C(2,I,J) + 
       $            A(1,I,L)*HTMPI + A(2,I,L)*HTMPS +
       $            A(3,I,L)*HTMPK - A(4,I,L)*HTMPJ
  
                  C(3,I,J) = C(3,I,J) + 
       $            A(1,I,L)*HTMPJ - A(2,I,L)*HTMPK +
       $            A(3,I,L)*HTMPS + A(4,I,L)*HTMPI
  
                  C(4,I,J) = C(4,I,J) + 
       $            A(1,I,L)*HTMPK + A(2,I,L)*HTMPJ -
       $            A(3,I,L)*HTMPI + A(4,I,L)*HTMPS
  #else
                  C(1,I,J) = C(1,I,J) + 
       $            A(1,I,L)*HTMPS - A(2,I,L)*CONJG(HTMPJ)
                  C(2,I,J) = C(2,I,J) + 
       $            A(1,I,L)*HTMPJ + A(2,I,L)*CONJG(HTMPS)
  #endif
    160         CONTINUE
    150       CONTINUE
    120     CONTINUE
  