%%HP: T(3)A(R)F(.);
\<<
    {
    'POLY'
    \<< \-> v l
      \<< l SIZE \-> n
        \<< 0 n 1 - 0
          FOR i
            l n i - GET v i ^ * +
          -1 STEP
        \>>
      \>>
    \>>
    'SYND'
    \<< \-> A B
      \<< A SIZE B SIZE DUP2 - 1 + OVER 1 -
        \-> n m q r
        \<< 1 n
          FOR i
            A i GET 2 i q - 1 + MAX m
            FOR j
              IF j i \<=
              THEN j PICK B j GET * -
              END
            NEXT
            IF i q \<=
            THEN B 1 GET /
            END
          NEXT
          r \->LIST q 1 + ROLLD q \->LIST
        \>>
      \>>
    \>>
    'BINO'
    \<< \-> v l
      \<< 1 1 l SIZE
        FOR i
            v l i GET - *
        NEXT
      \>>
    \>>
    'EXCO'
    \<<
      DO DUP EXPAN SWAP
      UNTIL OVER SAME
      END
      DO DUP COLCT SWAP
      UNTIL OVER SAME
      END
    \>>
    'REVAL'
    \<<
      DO DUP EVAL SWAP
      UNTIL OVER SAME
      END
    \>>
    'GCD'
    \<<
      WHILE DUP
      REPEAT SWAP OVER MOD
      END DROP
    \>>
    'LCM'
    \<< \-> a b
      \<< a b * a b GCD /
      \>>
    \>>
    'IOTA'
    \<< \-> n
      \<< 0 n
        FOR i i
        NEXT
        n 1 + \->LIST
      \>>
    \>>
    'LINV'
    \<< \-> L
      \<< L SIZE 1
        FOR i
          L i GET
        -1 STEP
        L SIZE \->LIST
      \>>
    \>>
    'LST\->'
    \<< OBJ\-> \-> SZ
      \<< SZ ROLLD SZ \->LIST
      \>>
    \>>
    'LST\<-'
    \<< OBJ\-> \-> SZ
      \<< SZ ROLL SZ \->LIST
      \>>
    \>>
    'LOP'
    \<< \-> l f
      \<< 1 l SIZE
        FOR i
            l i GET f EVAL
        NEXT l
        SIZE \->LIST
      \>>
    \>>
    'LPP'
    \<< \-> A B f
      \<< A SIZE B SIZE MIN
        \-> m
        \<< 1 m
          FOR i
            A i GET B i GET f EVAL
          NEXT m \->LIST
        \>>
      \>>
    \>>
    'LRED'
    \<< \-> L f
      \<< L 1 GET 2 L SIZE
        FOR i
            L i GET f EVAL
        NEXT
      \>>
    \>>
    'LRNG'
    \<< \-> L
      \<< L 1 GET DUP 2 L SIZE
        FOR i L i GET
          \-> m n x                
          \<< m  x MIN n  x MAX
          \>>
        NEXT
      \>>
    \>>
    'LCONVL'
    \<< \-> H X
      \<< X SIZE H SIZE OVER + 1 - \-> N1 N    
        \<< 1 N                                
          FOR n
            0 1 N1
            FOR k
              H n k - 1 +
              IFERR GET                     
              THEN DROP2                    
              ELSE X k GET * +
              END
            NEXT
          NEXT N \->LIST
        \>>
      \>>
    \>>
    'LOOP'
    \<< \-> f n
      \<<
        WHILE 'n' DECR 0 \>=
        REPEAT f EVAL
        END
      \>>
    \>>
    'FROMTO'
    \<< \-> n a b
      \<< n IOTA
        \<< b a - n / * a +
        \>> LOP
      \>>
    \>>
    OBJ\-> 2 / 1 SWAP                  
    START
        SWAP STO
    NEXT
    {
    'PRTPAR'
    { }
    'IOPAR'
    { }
    }
    OBJ\-> 2 / 1 SWAP                   
    START
        SWAP STO
    NEXT
    {
    'EE' 'ETC' 'ECON' 'HELP' 'STATS' 'TMP'
    }
    OBJ\->  1 SWAP                    
    START
        CRDIR
    NEXT
    {
    S
    \<< \-> m y
      \<< PATH ETC m y CALEND EVAL
      \>>
    \>> 13.1                           

    \<< DOC TMENU
    \>>    14.1                         

    \<< PATH ETC TEA EVAL
    \>>    42.1                         

    MKDOC  14.2                         
    EXCO   15.1                         
    FROMTO 16.1                         
    GCD    21.1                         
    IOTA   23.1                         
    LINV   23.2                         
    LOOP   26.1                         
    LOP    33.1                         
    LPP    34.1                         
    LRED   36.1                         
    LRNG   36.2                         
    }
         
    DROP                                
    { # 8081208081050FF2h # 0h }
    DROP                            
\>>