Annotation of researchv10dc/libnm/sin.s, revision 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.