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

1.1     ! root        1: /*     @(#)log.s       4.1     12/25/82        */
        !             2: 
        !             3: /*
        !             4:        log returns the natural logarithm of its floating
        !             5:        point argument.
        !             6: 
        !             7:        The coefficients are #2705 from Hart & etc. (19.38D)
        !             8: 
        !             9:        It calls frexp.
        !            10: */
        !            11:        .data
        !            12:        .comm   _errno,4
        !            13:        .align  2
        !            14: _log2: .long   0x40317217, 0xf7d1cf7a # .double 0.69314718055994531
        !            15:        .align  2
        !            16: _ln10: .long   0x41135d8d, 0xddaaa8ac # .double 2.3025850929940457
        !            17:        .align  2
        !            18: _sqrto2:.long  0x403504f3, 0x33f9de65 # .double 0.70710678118654753
        !            19:        .align  2
        !            20: _p0:   .long   0xc2c01c81, 0x046c108e # .double -24.013917955921051
        !            21:        .align  2
        !            22: _p1:   .long   0x42f7a889, 0x23899922 # .double 30.95729282153765
        !            23:        .align  2
        !            24: _p2:   .long   0xc21a33fb, 0x68988b11 # .double -9.6376909337784051
        !            25:        .align  2
        !            26: _p3:   .long   0x3fd798c3, 0x90479865 # .double 0.42108737121797971
        !            27:        .align  2
        !            28: _q0:   .long   0xc2401c81, 0x046c108e # .double -12.006958977960525
        !            29:        .align  2
        !            30: _q1:   .long   0x429bd904, 0xbd2c246c # .double 19.480966070088973
        !            31:        .align  2
        !            32: _q2:   .long   0xc20e93e7, 0x0f647221 # .double -8.9111090279831233
        !            33:        .text
        !            34: LL0:   .align  1
        !            35:        .globl  _log
        !            36:        .data
        !            37:        .align  2
        !            38: L57:   .long   0xfffffffe, 0xfffffffe # .double -1.7014117331926443e+38
        !            39:        .text
        !            40:        .data
        !            41:        .align  2
        !            42: L60:   .long   0x40000000, 0x00000000 # .double 0.5
        !            43:        .text
        !            44:        .data
        !            45:        .align  2
        !            46: L61:   .long   0x41000000, 0x00000000 # .double 2
        !            47:        .text
        !            48:        .data
        !            49:        .align  2
        !            50: L63:   .long   0x41000000, 0x00000000 # .double 2
        !            51:        .text
        !            52:        .data
        !            53:        .align  2
        !            54: L64:   .long   0x40800000, 0x00000000 # .double 1
        !            55:        .align  2
        !            56: L65:   .long   0x40800000, 0x00000000 # .double 1
        !            57:        .text
        !            58:        .data
        !            59:        .align  2
        !            60: L66:   .long   0x40800000, 0x00000000 # .double 1
        !            61:        .text
        !            62:        .set    L52,0xc
        !            63:        .data
        !            64:        .text
        !            65: _log:  .word   L52
        !            66:        subl3   $88,fp,sp
        !            67:        tstl    4(fp)
        !            68:        jgtr    L56
        !            69:        movl    $33,_errno
        !            70:        movl    L57+4,r1
        !            71:        movl    L57,r0
        !            72:        ret
        !            73: L56:   subl3   $88,fp,-(sp)
        !            74:        pushl   8(fp)
        !            75:        pushl   4(fp)
        !            76:        callf   $16,_frexp
        !            77:        movl    r1,-56(fp)
        !            78:        movl    r0,-60(fp)
        !            79:        jbr     L58
        !            80: L2000001:ldd   -60(fp)
        !            81:        muld    L61
        !            82:        std     -60(fp)
        !            83:        subl2   $1,-88(fp)
        !            84: L58:   cmpd2   -60(fp),L60
        !            85:        jlss    L2000001
        !            86:        cmpd2   -60(fp),_sqrto2
        !            87:        jgeq    L62
        !            88:        ldd     L63
        !            89:        muld    -60(fp)
        !            90:        std     -60(fp)
        !            91:        subl2   $1,-88(fp)
        !            92: L62:   ldd     -60(fp)
        !            93:        subd    L64
        !            94:        std     r0
        !            95:        ldd     -60(fp)
        !            96:        addd    L65
        !            97:        std     r2
        !            98:        ldd     r0
        !            99:        divd    r2
        !           100:        std     -68(fp)
        !           101:        muld    -68(fp)
        !           102:        std     -76(fp)
        !           103:        ldd     _p3
        !           104:        muld    -76(fp)
        !           105:        addd    _p2
        !           106:        muld    -76(fp)
        !           107:        addd    _p1
        !           108:        muld    -76(fp)
        !           109:        addd    _p0
        !           110:        std     -84(fp)
        !           111:        ldd     L66
        !           112:        muld    -76(fp)
        !           113:        addd    _q2
        !           114:        muld    -76(fp)
        !           115:        addd    _q1
        !           116:        muld    -76(fp)
        !           117:        addd    _q0
        !           118:        std     r0
        !           119:        ldd     -84(fp)
        !           120:        divd    r0
        !           121:        std     -84(fp)
        !           122:        muld    -68(fp)
        !           123:        std     r0
        !           124:        cvld    -88(fp)
        !           125:        muld    _log2
        !           126:        addd    r0
        !           127:        std     -84(fp)
        !           128:        movl    -80(fp),r1
        !           129:        movl    -84(fp),r0
        !           130:        ret
        !           131:        .align  1
        !           132:        .globl  _log10
        !           133:        .set    L67,0x0
        !           134:        .data
        !           135:        .text
        !           136: _log10:        .word   L67
        !           137:        pushl   8(fp)
        !           138:        pushl   4(fp)
        !           139:        callf   $12,_log
        !           140:        ldd     r0
        !           141:        divd    _ln10
        !           142:        std     r0
        !           143:        ret
        !           144: 

unix.superglobalmegacorp.com

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