       .TITLE .DC    POLYNOMIAL EVALUATOR (C1X+C3X3+C5X5+....CNXN)
/COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
       .GLOBL .DC,.AP,.AS,.AO,.AQ
/             CALLING SEQUENCE         (DOUBLE PRECISION)
/      JMS*   (.DC)           SUBR CALL (FLOAT ACC HAS X)
/      CAL    ADDR            ADDR OF PARAMETERS
/      NEXT   INSTRUCTION     SUBR RETURN
/             PARAMETERS
/ADDR         -N+1            TWO@S COMP +1 OF NUMBER OF COEFFICIENTS
/      C(N)   (1)             LAST COEFFICIENT (IN DOUBLE FORMAT)
/             (2)
/             (3)
/      C(N-1) (1)             NEXT TO LAST
/             (2)
/             (3)
/        .
/        .
/      C1     (1)            FIRST COEFFICIENT
/             (2)
/             (3)
/
.DC    CAL    0              /ENTRY-EXIT
       LAC*   .DC            /GET PARAM ADDR
       DAC    POLY01         /STORE AS POINTER
       LAC*   POLY01         /PICK UP N
       DAC    POLY02         /STORE AS -N-
       ISZ    POLY01         /BUMP POINTER FOR C(N)
       ISZ    .DC            /BUMP EXIT ADDR
       JMS*   .AP            /STORE DOUBLE (.AP)
       .DSA   POLY04         / (ARG)
       JMS*   .AS            /MULTIPLY DOUBLE (.AS)
       .DSA   POLY04         / (A9GXA9G=A9G2)
       JMS*   .AP            /STORE DOUBLE (.AP)
       .DSA   POLY06         / (ARG2)
       JMS*   .AO            /LOAD DOUBLE (.AO)
       .DSA   POLY01+400000  / (C(N))
POLY09 JMS*   .AS            /MULTIPLY DOUBLE (.AS)
       .DSA   POLY06         / (ARG2*C(N))
       ISZ    POLY01         /POINTER=POINTER+3
       ISZ    POLY01
       ISZ    POLY01
       JMS*   .AQ            /ADD DOUBLE (.AQ)
       .DSA   POLY01+400000  /(C(N-1)+(A9G2XC(N)))
       ISZ    POLY02         /N=N+1
       JMP    POLY09         /MORE TERMS-CYCLE AGAIN
       JMS*   .AS            /DONE-MULTIPLY DOUBLE (.AS)
       .DSA   POLY04         / (ARGXARG2)
       JMP*   .DC            /EXIT
POLY01 CAL    0              /POINTER
POLY02 CAL    0              /N
POLY04 CAL    0              /ARG (1)
       CAL    0              /    (2)
       CAL    0              /    (3)
POLY06 CAL    0              /ARG2 (1)
       CAL    0              /     (2)
       CAL    0              /     (3)
       .END
