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

1.1     ! root        1: /*     @(#)exp.s       4.1/4.2         10/31/84  CCI-CPG       */
        !             2: 
        !             3: 
        !             4: /*
        !             5:        Double-precision exponential function recoded with
        !             6:        new algorithm polynomial at CCI-CPG.
        !             7: 
        !             8:        The coefficients are #1067 from Hart and etc. (18.08D)
        !             9: */
        !            10:        .data
        !            11:        .comm   _errno,4
        !            12:        .align  2
        !            13: _p0:    .long  0x45bd3d04, 0x7f734dbd # .double 1513.9067990543389
        !            14:        .align  2
        !            15: _p1:   .long   0x42a19dd4, 0x989f60db # .double 20.202065651286927
        !            16:        .align  2
        !            17: _p2:   .long   0x3dbd2e42, 0xab70bdab # .double 0.023093347753750234
        !            18:        .align  2
        !            19: _q0:   .long   0x468881b1, 0x7c3a652b # .double 4368.2116627275585
        !            20:        .align  2
        !            21: _q1:   .long   0x44692f28, 0x7ae89543 # .double 233.18421142748162
        !            22:        .align  2
        !            23: _q2:   .long   0x40800000, 0x00000000 # .double 1
        !            24:        .align  2
        !            25: _log2e:        .long   0x40b8aa3b, 0x295c17f1 # .double 1.4426950408889634
        !            26:        .align  2
        !            27: _sqrt2:        .long   0x40b504f3, 0x33f9de65 # .double 1.4142135623730951
        !            28:        .align  2
        !            29: _maxf: .long   0x471c4000, 0x00000000 # .double 10000
        !            30:        .text
        !            31: LL0:   .align  1
        !            32:        .globl  _exp
        !            33:        .data
        !            34:        .align  2
        !            35: L56:   .long   0x40800000, 0x00000000 # .double 1
        !            36:        .text
        !            37:        .data
        !            38:        .align  2
        !            39: L59:   .long   0x7ffffffe, 0xfffffffe # .double 1.7014117331926443e+38
        !            40:        .text
        !            41:        .data
        !            42:        .align  2
        !            43: L60:   .long   0x40000000, 0x00000000 # .double 0.5
        !            44:        .text
        !            45:        .set    L51,0xc
        !            46:        .data
        !            47:        .text
        !            48: _exp:  .word   L51
        !            49:        subl3   $88,fp,sp
        !            50:        tstl    4(fp)
        !            51:        jneq    L55
        !            52:        movl    L56+4,r1
        !            53:        movl    L56,r0
        !            54:        ret
        !            55: L55:   lnd     _maxf
        !            56:        cmpd    4(fp)
        !            57:        jleq    L57
        !            58:        clrl    r1
        !            59:        clrl    r0
        !            60:        ret
        !            61: L57:   cmpd2   4(fp),_maxf
        !            62:        jleq    L58
        !            63:        movl    $34,_errno
        !            64:        movl    L59+4,r1
        !            65:        movl    L59,r0
        !            66:        ret
        !            67: L58:   ldd     4(fp)
        !            68:        muld    _log2e
        !            69:        std     4(fp)
        !            70:        pushl   8(fp)
        !            71:        pushl   4(fp)
        !            72:        callf   $12,_floor
        !            73:        ldd     r0
        !            74:        cvdl    -88(fp)
        !            75:        cvld    -88(fp)
        !            76:        std     r0
        !            77:        ldd     4(fp)
        !            78:        subd    r0
        !            79:        subd    L60
        !            80:        std     -60(fp)
        !            81:        muld    -60(fp)
        !            82:        std     -84(fp)
        !            83:        ldd     _p2
        !            84:        muld    -84(fp)
        !            85:        addd    _p1
        !            86:        muld    -84(fp)
        !            87:        addd    _p0
        !            88:        muld    -60(fp)
        !            89:        std     -68(fp)
        !            90:        ldd     _q2
        !            91:        muld    -84(fp)
        !            92:        addd    _q1
        !            93:        muld    -84(fp)
        !            94:        addd    _q0
        !            95:        std     -76(fp)
        !            96:        pushl   -88(fp)
        !            97:        addd    -68(fp)
        !            98:        muld    _sqrt2
        !            99:        std     r0
        !           100:        ldd     -76(fp)
        !           101:        subd    -68(fp)
        !           102:        std     r2
        !           103:        ldd     r0
        !           104:        divd    r2
        !           105:        pushd
        !           106:        callf   $16,_ldexp
        !           107:        ret
        !           108: 

unix.superglobalmegacorp.com

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