%%HP: T(3)A(R)F(.);
\<<
  IF DEPTH 0. \<=
  THEN DATE 100. * FP 10000. * DUP
  ELSE
    \<< \-> ord
      \<< ord EVAL
        IF { 0. 28. } OVER TYPE POS
        THEN
          IF DUP 1582. <
          THEN ord EVAL # 203h DOERR
          END
        ELSE ord EVAL # 202h DOERR
        END ord EVAL
      \>>
    \>> \-> chk
    \<<
      \<<
      \>> chk EVAL
      IF DEPTH 1. ==
      THEN DUP
      ELSE
        \<< SWAP
        \>> chk EVAL
        IF DUP2 <
        THEN SWAP
        END
      END
    \>>
  END
\>>
