       .TITLE .EC    POLYNOMIAL EVALUATOR (C1X + C3X3 + C5X5 +...CNXN)
/COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
       .GLOBL .EC,.AH,.AK,.AG,.AI
/             CALLING SEQUENCE         (SINGLE PRECISION)
/      JMS*   (.EC)           SUBR CALL (FLOATACC HAS X)
/      CAL    ADDR            ADDR OF PARAMETERS
/      NEXT   INSTRUCTION     SUBR RETURN
/             PARAMETERS
/ADDR  -N+1                   TWO@S COMP + 1 OF NO OF COEFFICIENTS
/      C(N)   (1)             LAST COEFFICIENT (IN REAL FORMAT)
/             (2)
/      C(N-1) (1)             NEXT TO LAST
/             (2)
/        .
/        .
/      C(1)   (1)             FIRST COEFFICIENT
/             (2)
/
.EC    CAL    0              /ENTRY-EXIT
       LAC*   .EC            /GET PARAM ADDR
       DAC    EC01           /STORE AS POINTER
       LAC*   EC01           /GET 1ST PARAM (N)
       DAC    EC02           /STORE N
       ISZ    EC01           /BUMP POINTER TO 1ST COEFF
       ISZ    .EC            /BUMP EXIT ADDR
       JMS*   .AH            /STORE REAL (.AH)
       .DSA   EC04           / (ARG)
       JMS*   .AK            /MULTIPLY REAL (.AK)
       .DSA   EC04           /(ARG * ARG = ARG2)
       JMS*   .AH            /STORE REAL (.AH)
       .DSA   EC06           / (ARG2)
       JMS*   .AG            /LOAD REAL (.AG)
       .DSA   EC01+400000    / (C(N) AS TERM)
EC09   JMS*   .AK            /MULTIPLY REAL (.AK)
       .DSA   EC06           / (TERM * ARG2)
       ISZ    EC01           /BUMP POINTER FOR NEXT COEFF
       ISZ    EC01
       JMS*   .AI            /ADD REAL (.AI)
       .DSA   EC01+400000    / (CN +(TERM * ARG2) = TERM)
       ISZ    EC02           /BUMP N
       JMP    EC09           /NOT DONE-CYCLE
       JMS*   .AK            /DONE-MULTIPLY REAL (.AK)
       .DSA   EC04           / (TERM * ARG = RESULT)
       JMP*   .EC            /EXIT
EC01   CAL    0              /POINTER
EC02   CAL    0              / N
EC04   CAL    0              /ARG STORAGE (1)
       CAL    0              /           (2)
EC06   CAL    0              /ARG2 STORAGE (1)
       CAL    0              /             (2)
       .END
