1*19998Sdist# double float sin(),cos() 2*19998Sdist#coefficients are from Hart & Cheney SIN3370 (18.80D) 3*19998Sdist.text 4*19998Sdist.align 1 5*19998Sdist.globl _sin 6*19998Sdist.globl _cos 7*19998Sdist_sin: 8*19998Sdist .word 0x03c0 9*19998Sdist bispsw $0xe0 10*19998Sdist clrl r9 11*19998Sdist movd 4(ap),r0 12*19998Sdist jgeq range 13*19998Sdist movl $2,r9 14*19998Sdist jbr negarg 15*19998Sdist 16*19998Sdist.align 1 17*19998Sdist_cos: 18*19998Sdist .word 0x0fc0 19*19998Sdist bispsw $0xe0 20*19998Sdist movl $1,r9 21*19998Sdist movd 4(ap),r0 22*19998Sdist jgeq range 23*19998Sdistnegarg: 24*19998Sdist mnegd r0,r0 25*19998Sdist 26*19998Sdistrange: 27*19998Sdist emodd twoopi,twoopix,r0,r8,r6 28*19998Sdist addl2 r9,r8 29*19998Sdist bicb2 $~03,r8 30*19998Sdist caseb r8,$0,$3 31*19998Sdistbse: .word qda-bse,qdb-bse,qdc-bse,qdd-bse 32*19998Sdistqdb: subd3 r6,$0d1.0e+0,r6 33*19998Sdist jbr qda 34*19998Sdistqdc: mnegd r6,r6 35*19998Sdist jbr qda 36*19998Sdistqdd: subd2 $0d1.0e+0,r6 37*19998Sdistqda: 38*19998Sdist muld3 r6,r6,r8 39*19998Sdist polyd r8,$4,pcoef 40*19998Sdist muld2 r0,r6 41*19998Sdist polyd r8,$4,qcoef 42*19998Sdist divd3 r0,r6,r0 43*19998Sdist ret 44*19998Sdist.data 45*19998Sdist.align 2 46*19998Sdisttwoopi:.double 0d6.36619772367581340000e-01 47*19998Sdistqcoef:.double 0d1.00000000000000000000e+00 48*19998Sdist .double 0d1.32653490878613630000e+02 49*19998Sdist .double 0d9.46309610153820810000e+03 50*19998Sdist .double 0d4.08179225234329970000e+05 51*19998Sdist .double 0d8.64455865292253430000e+06 52*19998Sdistpcoef:.double 0d1.45968840666576870000e+02 53*19998Sdist .double 0d-1.38472724998245280000e+04 54*19998Sdist .double 0d4.40103053537526640000e+05 55*19998Sdist .double 0d-4.94290810090284410000e+06 56*19998Sdist .double 0d1.35788409787737560000e+07 57*19998Sdisttwoopix: .byte 0x29 58