Annotation of researchv10dc/libnm/sin.s, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.