--- /dev/null
+/
+/
+/ D S I N
+/ - - -
+/
+/SUBROUTINE DSIN(X)
+/
+/ VERSION 5A 4-27-77 PT
+/
+ SECT DSIN
+ JA #DSIN
+ DPCHK
+ TEXT +DSIN +
+SINXR, SETX XRSIN
+ SETB BPSIN
+FPI2SN, 1 /PI DIVIDED BY 2
+ 3110
+ 3755
+ 2421
+ 0264
+ 3016
+FPISIN, 2 /PI
+ 3110
+ 3755
+ 2421
+ 0264
+ 3016
+F2PISN, 3 /TWO PI
+ 3110
+ 3755
+ 2421
+ 0264
+ 3016
+BPSIN, F 0.0
+XRSIN, F 0.0
+X, F 0.0
+ F 0.0
+ ORG 10*3+BPSIN
+ FNOP
+ JA SINXR
+ 0
+SINRTN, JA .
+SIN1, F 0.0
+ F 0.0
+F3PIB2, 0003 /4.71238898038468986
+ 2266
+ 2761
+ 7714
+ 6207
+ 2212
+F1SIN, F 1.0
+ F 0.0
+/
+SINC17, 7720 /1/17!
+ 3124
+ 5435
+ 6014
+ 1265
+ 1236
+SINC15, 7730 /-1/15!
+ 4506
+ 0060
+ 3063
+ 0437
+ 4133
+SINC13, 7740 /1/13!
+ 2604
+ 4430
+ 2352
+ 0664
+ 1151
+SINC11, 7747 /-1/11!
+ 4506
+ 3352
+ 3002
+ 5354
+ 3710
+SINC9, 7756 /1/9!
+ 2707
+ 3616
+ 4525
+ 5434
+ 6350
+/
+SINC7, 7764 /-1/7!
+ 4577
+ 4577
+ 4577
+ 4577
+ 4636
+/
+SINC5, 7772 /1/5!
+ 2104
+ 2104
+ 2104
+ 2104
+ 2104
+/
+SINC3, 7776 /-1/3!
+ 5252
+ 5252
+ 5252
+ 5252
+ 5244
+/
+SINTST, 7770
+ 2000
+ 0000
+ 0000
+ 0000
+ 0000
+SEVTHR, 0007
+ 2217
+ 7777
+ 7777
+ 7777
+ 7777
+ BASE 0
+#DSIN, STARTD
+ FLDA 10*3
+ FSTA SINRTN
+ FLDA 0
+ SETX XRSIN
+ SETB BPSIN
+ BASE BPSIN
+ LDX 1,1
+ LDX 73,2
+ FSTA BPSIN
+ FLDA% BPSIN,1 /ADDR OF X
+ FSTA BPSIN
+ STARTE
+ FLDA% BPSIN /GET X
+ LDX -1,0 /SET SIGN TO POSITIVE.
+ JGT SINMOD /IF POSITIVE BYPASS FUDGE.
+ JEQ SINRTN /IF ZERO EXIT.
+ FNEG /NEGATIVE. NEGATE AC. SIN(-X)=-SIN(X)
+ LDX 0,0 /SET SIGN TO MINUS.
+SINMOD, FSTA X
+ FDIV F2PISN /X/2PI
+ ALN 2
+ FNORM
+ FMUL F2PISN /*2PI
+ FSTA SIN1
+ FLDA X
+ FSUB SIN1
+ FSTA SIN1
+ FSTA X
+/CHECK FOR QUADRANT
+/1 0-PI/2 SIN(PI/2)=1
+/2 PI/2-PI SIN(PI)=0
+/3 PI-3PI/2 SIN(3PI/2)=-1
+/4 3PI/2-2PI SIN(2PI)=0
+/
+ FLDA FPI2SN /PI/2
+ FSUB SIN1
+ JGT TAYLOR
+ JEQ SPIB2 /=PI/2
+ FLDA FPISIN /PI
+ FSUB SIN1
+ JLT S1
+ JEQ SPI /=PI
+ FLDA FPISIN
+ FSUB SIN1 /SIN(X)=SIN(PI-X)
+ FSTA X
+ JA TAYLOR
+S1, FLDA F3PIB2 /3PI/2
+ FSUB SIN1
+ JLT S2
+ JEQ S3PIB2 /=3PI/2
+ FLDA SIN1
+ FSUB FPISIN
+ FNEG
+ FSTA X /SIN(X)=-SIN(X-PI)
+ JA TAYLOR
+S2, FLDA F2PISN /2PI
+ FSUB SIN1
+ JLT DSNER /ERROR
+ JEQ SPI
+ FNEG
+ FSTA X
+/CALCULATE SIN VIA TAYLOR SERIES
+TAYLOR, FLDA X /RECALL NUMBER TO BE WORKED ON.
+ FMUL X /MULTIPLY OUT.
+ FSTA SIN1
+ FMUL SINC17 /NOW DO THE STANDARD ITERATION.
+ FADD SINC15
+ FMUL SIN1
+ FADD SINC13
+ FMUL SIN1
+ FADD SINC11
+ FMUL SIN1
+ FADD SINC9
+ FMUL SIN1
+ FADD SINC7
+ FMUL SIN1
+ FADD SINC5
+ FMUL SIN1
+ FADD SINC3
+ FMUL SIN1
+ FADD F1SIN /ADD IN 1 FOR SERIES
+ FMUL X /DO THE FINAL MULTIPLY.
+SING, JXN SINRTN,0 /SHALL WE NEGATE
+ FNEG /YEP
+ JA SINRTN /AND RETURN.
+SPIB2, FLDA F1SIN
+ JA SING
+SPI, FCLA
+ JA SINRTN
+S3PIB2, FLDA F1SIN
+ FNEG
+ JA SING
+ EXTERN #ARGER
+DSNER, TRAP4 #ARGER
+\f