Annotation of cci/usr/src/usr.lib/libm/sin.s, revision 1.1

1.1     ! root        1: /*     @(#)sin.s       4.1/4.2         10/31/84 CCI-CPG  */
        !             2: 
        !             3: /*
        !             4:        Double-precision floating point sin/cos function.
        !             5:        Calls modf.
        !             6:        Error criterion: absolute but fast!
        !             7:        Coefficients are #3305 from Hart & etc.(18.79D).
        !             8: */
        !             9:        .data
        !            10:        .align  2
        !            11: _twoopi:.long  0x4022f983, 0x6e4e4415 # .double 0.63661977236758134
        !            12:        .align  2
        !            13: _p0:   .long   0x40c90fda, 0xa22168c2 # .double 1.5707963267948966
        !            14:        .align  2
        !            15: _p1:   .long   0xc0255de7, 0x312df289 # .double -0.64596409750624607
        !            16:        .align  2
        !            17: _p2:   .long   0x3ea335e3, 0x3bad4fbb # .double 0.079692626246163792
        !            18:        .align  2
        !            19: _p3:   .long   0xbc996966, 0x731241b3 # .double -0.00468175413529264
        !            20:        .align  2
        !            21: _p4:   .long   0x3a283c1a, 0x41fa6b71 # .double 0.00016044118467438022
        !            22:        .align  2
        !            23: _p5:   .long   0xb77183a6, 0xab14afa2 # .double -3.5988429472773519e-06
        !            24:        .align  2
        !            25: _p6:   .long   0x3474799d, 0x8085b4eb # .double 5.692128547011138e-08
        !            26:        .align  2
        !            27: _p7:   .long   0xb137ba3b, 0xaacb5c1c # .double -6.6839665286786e-10
        !            28:        .align  2
        !            29: _p8:   .long   0x2dce43a2, 0xed891f06 # .double 5.86238129563e-12
        !            30:        .text
        !            31: LL0:   .align  1
        !            32:        .globl  _cos
        !            33:        .set    L22,0x0
        !            34:        .data
        !            35:        .text
        !            36: _cos:  .word   L22
        !            37:        tstl    4(fp)
        !            38:        jgeq    L27
        !            39:        lnd     4(fp)
        !            40:        std     4(fp)
        !            41: L27:   pushl   $1
        !            42:        pushl   8(fp)
        !            43:        pushl   4(fp)
        !            44:        callf   $16,_sinus
        !            45:        ret
        !            46:        .align  1
        !            47:        .globl  _sin
        !            48:        .set    L29,0x0
        !            49:        .data
        !            50:        .text
        !            51:        .data
        !            52:        .align  2
        !            53: L40:   .long   0x47fff800, 0x00000000 # .double 32764
        !            54:        .text
        !            55:        .data
        !            56:        .align  2
        !            57: L41:   .long   0x3f800000, 0x00000000 # .double 0.25
        !            58:        .text
        !            59:        .data
        !            60:        .align  2
        !            61: L42:   .long   0x41800000, 0x00000000 # .double 4
        !            62:        .text
        !            63:        .data
        !            64:        .align  2
        !            65: L45:   .long   0x40800000, 0x00000000 # .double 1
        !            66:        .text
        !            67:        .set    L33,0x0
        !            68:        .data
        !            69:        .text
        !            70: _sin:  .word   L29
        !            71:        pushl   $0
        !            72:        pushl   8(fp)
        !            73:        pushl   4(fp)
        !            74:        callf   $16,_sinus
        !            75:        ret
        !            76:        .align  1
        !            77: _sinus:        .word   L33
        !            78:        subl3   $112,fp,sp
        !            79:        movl    8(fp),-80(fp)
        !            80:        movl    4(fp),-84(fp)
        !            81:        jgeq    L38
        !            82:        lnd     -84(fp)
        !            83:        std     -84(fp)
        !            84:        addl2   $2,12(fp)
        !            85: L38:   ldd     -84(fp)
        !            86:        muld    _twoopi
        !            87:        std     -84(fp)
        !            88:        cmpd2   -84(fp),L40
        !            89:        jleq    L39
        !            90:        subl3   $60,fp,-(sp)
        !            91:        pushl   -80(fp)
        !            92:        pushl   -84(fp)
        !            93:        callf   $16,_modf
        !            94:        movl    r1,-88(fp)
        !            95:        movl    r0,-92(fp)
        !            96:        cvld    12(fp)
        !            97:        addd    -60(fp)
        !            98:        std     -60(fp)
        !            99:        subl3   $68,fp,-(sp)
        !           100:        ldd     L41
        !           101:        muld    -60(fp)
        !           102:        pushd
        !           103:        callf   $16,_modf
        !           104:        ldd     L42
        !           105:        muld    -68(fp)
        !           106:        std     r0
        !           107:        ldd     -60(fp)
        !           108:        subd    r0
        !           109:        cvdl    12(fp)
        !           110:        jbr     L43
        !           111: L39:   ldd     -84(fp)
        !           112:        cvdl    -96(fp)
        !           113:        cvld    -96(fp)
        !           114:        std     r0
        !           115:        ldd     -84(fp)
        !           116:        subd    r0
        !           117:        std     -92(fp)
        !           118:        addl3   -96(fp),12(fp),r0
        !           119:        andl3   $3,r0,12(fp)
        !           120: L43:   bitl    $1,12(fp)
        !           121:        jeql    L44
        !           122:        ldd     L45
        !           123:        subd    -92(fp)
        !           124:        std     -92(fp)
        !           125: L44:   cmpl    12(fp),$1
        !           126:        jleq    L46
        !           127:        lnd     -92(fp)
        !           128:        std     -92(fp)
        !           129: L46:   ldd     -92(fp)
        !           130:        muld    -92(fp)
        !           131:        std     -76(fp)
        !           132:        ldd     _p8
        !           133:        muld    -76(fp)
        !           134:        addd    _p7
        !           135:        muld    -76(fp)
        !           136:        addd    _p6
        !           137:        muld    -76(fp)
        !           138:        addd    _p5
        !           139:        muld    -76(fp)
        !           140:        addd    _p4
        !           141:        muld    -76(fp)
        !           142:        addd    _p3
        !           143:        muld    -76(fp)
        !           144:        addd    _p2
        !           145:        muld    -76(fp)
        !           146:        addd    _p1
        !           147:        muld    -76(fp)
        !           148:        addd    _p0
        !           149:        std     -104(fp)
        !           150:        muld    -92(fp)
        !           151:        std     r0
        !           152:        ret
        !           153: 

unix.superglobalmegacorp.com

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