8 / VERSION 5A 4-27-77 PT
22 FPI2SN, 1 /PI DIVIDED BY 2
66 FLDA% BPSIN,1 /ADDR OF X
70 LDX -1,0 /SET SIGN TO POSITIVE.
71 JGT SINMOD /IF POSITIVE BYPASS FUDGE.
72 JEQ SINRTN /IF ZERO EXIT.
73 FNEG /NEGATIVE. NEGATE AC. SIN(-X)=-SIN(X)
74 LDX 0,0 /SET SIGN TO MINUS.
75 SINMOD, JAL SINER /IF SIGN CAN T INT, THEN ERROR.
76 FDIV F2PISN /REDUCE TO BELOW TWO PI.
77 FSTA SIN1 /SAVE IN A TEMP.
81 FADD SIN1 /RECALL NUMBER. AC NOW <0
82 FMUL F2PISN /NOW MULTIPLY BACK.
83 FSTA SIN2 /AND SAVE AWAY.
84 FSUB FPISIN /SUBTRACT OFF PI.
85 JLT SINP /LESS THEN PI.
86 FSTA SIN2 /RESTORE AS 2.
87 XTA 0 /INVERT THE SIGN.
89 FSUB F1SIN /SIN(X-PI)=-SIN(X)
92 SINP, FLDA SIN2 /RECALL MAGIC GOODY.
93 FSUB FPI2SN /TEST TO SEE IF X<PI/2
96 FLDA FPISIN /SIN(X)=SIN(PI-X)
98 FSTA SIN2 /AND STORE IT BACK.
100 SINPP, FLDA SIN2 /GET THE MAGIC NUMBER.
101 FSUB SINTST /SEE IF ITS CLOSE TO AN EDGE
102 JGT SINPPP /IT IS NOT
103 FLDA SIN2 /RECALL NUMBER IF TOO SMALE
104 JXN SINRTN,0 /EXIT IF SAME SIGN.
105 FNEG /ELSE NEGATE IT.
107 SINPPP, FLDA SIN2 /RECALL NUMBER TO BE WORKED ON.
108 FDIV FPI2SN /DIVIDE BY PI OVER TWO.
109 FSTA SIN2 /AND STORE BACK.
110 FMUL SIN2 /MULTIPLY OUT.
112 FMUL SINC9 /NOW DO THE STANDARD ITERATION.
119 FADD FPI2SN /ADD IN PI OVER 2
120 FMUL SIN2 /DO THE FINAL MULTIPLY.
121 JXN SINRTN,0 /SHALL WE NEGATE
123 JA SINRTN /AND RETURN.