| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365 | /** Math library** Copyright (C) 2016 Intel Corporation. All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:**   * Redistributions of source code must retain the above copyright*     notice, this list of conditions and the following disclaimer.*   * Redistributions in binary form must reproduce the above copyright*     notice, this list of conditions and the following disclaimer in*     the documentation and/or other materials provided with the*     distribution.*   * Neither the name of Intel Corporation nor the names of its*     contributors may be used to endorse or promote products derived*     from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*** Author Name <jingwei.zhang@intel.com>*   History:*   03-14-2016 Initial version. numerics svn rev. 12864*/	.file "dpml_ux_log.c"	.text..TXTST0:# -- Begin  __dpml_ux_log_poly__	.text       .align    16,0x90	.hidden __dpml_ux_log_poly__	.globl __dpml_ux_log_poly____dpml_ux_log_poly__:# parameter 1: 48 + %esp# parameter 2: 52 + %esp..B1.1:..L1:        pushl     %edi        pushl     %ebx        subl      $36, %esp        xorl      %eax, %eax        movl      52(%esp), %edi        addl      $28, %esp        pushl     %edi        call      ..L2..L2:        popl      %ebx        lea       _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx        pushl     %eax        pushl     $6        pushl     %eax        pushl     $17        lea       128+__log_x_table@GOTOFF(%ebx), %edx        pushl     %edx        pushl     44(%esp)        call      __dpml_evaluate_rational__..B1.2:        addl      $12, %esp        lea       472+__log_x_table@GOTOFF(%ebx), %eax        pushl     %edi        pushl     %eax        pushl     %edi        call      __dpml_multiply__..B1.3:        addl      $36, %esp        popl      %ebx        popl      %edi        ret               .align    16,0x90	.type	__dpml_ux_log_poly__,@function	.size	__dpml_ux_log_poly__,.-__dpml_ux_log_poly__	.data# -- End  __dpml_ux_log_poly__	.text# -- Begin  __dpml_ux_log__	.text       .align    16,0x90	.hidden __dpml_ux_log__	.globl __dpml_ux_log____dpml_ux_log__:# parameter 1: 112 + %esp# parameter 2: 116 + %esp# parameter 3: 120 + %esp..B2.1:..L3:        pushl     %esi        pushl     %edi        pushl     %ebx        pushl     %ebp        subl      $92, %esp        movl      112(%esp), %ecx        call      ..L4..L4:        popl      %ebx        lea       _GLOBAL_OFFSET_TABLE_+[. - ..L4](%ebx), %ebx        movl      8(%ecx), %esi        movl      %gs:20, %eax        xorl      %esp, %eax        subl      112+__log_x_table@GOTOFF(%ebx), %esi        movl      12(%ecx), %ebp        movl      4(%ecx), %edx        movl      %edx, %edi        movl      %eax, 80(%esp)        sbbl      116+__log_x_table@GOTOFF(%ebx), %ebp        jb        ..B2.2..B2.19:        orl       %ebp, %esi        jne       ..B2.3..B2.2:        lea       -1(%edx), %edi..B2.3:        addl      $20, %esp        lea       424+__log_x_table@GOTOFF(%ebx), %ebp        subl      %edi, %edx        lea       12(%esp), %esi        pushl     %esi        pushl     $0        pushl     $6        pushl     %ebp        pushl     %ecx        movl      %edx, 4(%ecx)        call      __dpml_addsub__..B2.4:        movl      112(%esp), %ecx        movl      120(%esp), %ebp        addl      $20, %esp        addl      %edi, 4(%ecx)        lea       36(%esp), %edx        pushl     %ebp        pushl     $0        pushl     $2        pushl     %esi        pushl     %edx        call      __dpml_divide__..B2.5:        addl      $28, %esp        xorl      %edx, %edx        pushl     %esi        pushl     %edx        pushl     $6        pushl     %edx        pushl     $17        lea       128+__log_x_table@GOTOFF(%ebx), %ecx        pushl     %ecx        pushl     %ebp        call      __dpml_evaluate_rational__..B2.6:        addl      $12, %esp        movl      %edi, %eax        pushl     $0        pushl     $1        cltd              pushl     %ebp        movl      %edi, 8(%ebp)        movl      %edx, 12(%ebp)        call      __dpml_ffs_and_shift__..B2.7:        addl      $20, %esp        pushl     %ebp        pushl     $0        pushl     $8        pushl     %esi        pushl     %ebp        call      __dpml_addsub__..B2.8:        movl      116(%esp), %esi        testl     %esi, %esi        je        ..B2.10..B2.9:        addl      $12, %esp        pushl     %ebp        pushl     %esi        pushl     %ebp        call      __dpml_multiply__..B2.10:        cmpl      $-262144, 60(%esp)        je        ..B2.15..B2.11:        movl      $1, %eax..B2.12:        movl      80(%esp), %edx        xorl      %esp, %edx        cmpl      %gs:20, %edx        jne       ..B2.14..B2.13:        xorl      %edx, %edx        addl      $92, %esp        popl      %ebp        popl      %ebx        popl      %edi        popl      %esi        ret       ..B2.14:        call      __stack_chk_fail@PLT..B2.15:        testl     %esi, %esi        jne       ..B2.11..B2.16:        xorl      %eax, %eax        jmp       ..B2.12        .align    16,0x90	.type	__dpml_ux_log__,@function	.size	__dpml_ux_log__,.-__dpml_ux_log__	.data# -- End  __dpml_ux_log__	.section .rodata, "a"	.align 4	.align 4__log_x_table:	.long	1088750600	.long	519758862	.long	58	.long	0	.long	59	.long	0	.long	60	.long	0	.long	1088750600	.long	519758862	.long	61	.long	0	.long	62	.long	0	.long	63	.long	0	.long	1088750600	.long	519758862	.long	64	.long	0	.long	65	.long	0	.long	66	.long	0	.long	15008776	.long	336609536	.long	58	.long	0	.long	4192101508	.long	3037000499	.long	4243534402	.long	1518500249	.long	1261892956	.long	1305769775	.long	706307789	.long	114052365	.long	2125978754	.long	1401519948	.long	2628436525	.long	90640697	.long	1075745124	.long	4046945230	.long	850547722	.long	100185346	.long	3858047057	.long	2069326047	.long	3415016796	.long	106820841	.long	196219186	.long	3461778520	.long	1283971156	.long	114747264	.long	133398994	.long	3894487089	.long	1548005786	.long	123926548	.long	4002430868	.long	3905024888	.long	1104860464	.long	134702783	.long	1396868873	.long	2152947579	.long	2102985887	.long	147531619	.long	361329122	.long	2531697111	.long	2794113080	.long	163061263	.long	2117398987	.long	2352680084	.long	3122626672	.long	182244941	.long	299366278	.long	2801833386	.long	1248329477	.long	206544267	.long	99864504	.long	1693623838	.long	1770762254	.long	238320308	.long	959885721	.long	1462617677	.long	2483170600	.long	281651273	.long	2353710846	.long	1786830293	.long	2080549112	.long	344240445	.long	2781107612	.long	1683788319	.long	2061424959	.long	442594858	.long	2924123738	.long	1498310185	.long	3744988402	.long	619632801	.long	2019498699	.long	1065527877	.long	1946680041	.long	1032721336	.long	1763524233	.long	3196583632	.long	1545072827	.long	3098164009	.long	2	.long	0	.long	0	.long	1	.long	0	.long	2147483648	.long	0	.long	0	.long	0	.long	2	.long	0	.long	2147483648	.long	0	.long	0	.long	0	.long	0	.long	3520035243	.long	2977044471	.long	66254511	.long	3387143064	.long	0	.long	4294967295	.long	4224710552	.long	2585827972	.long	192713080	.long	2408143276	.long	0	.long	0	.type	__log_x_table,@object	.size	__log_x_table,528	.data	.hidden __dpml_multiply__	.hidden __dpml_divide__	.hidden __dpml_ffs_and_shift__	.hidden __dpml_addsub__	.hidden __dpml_evaluate_rational__	.section .note.GNU-stack, ""# End
 |