corda/external/sgx_libm/ia32/tanl.S
Angie Chinchilla 9441de4c38 Initial release of Intel SGX for Linux.
This release is used in conjunction with the linux-sgx-driver Intial release:
https://github.com/01org/linux-sgx-driver
commit-id: 0e865ce5e6b297a787bcdc12d98bada8174be6d7

Intel-id: 33399

Signed-off-by: Angie Chinchilla <angie.v.chinchilla@intel.com>
2016-06-23 18:51:53 -04:00

1684 lines
37 KiB
ArmAsm

/*
* 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 "tanl.c"
.text
..TXTST0:
# -- Begin tanl
.text
.align 16,0x90
.globl tanl
tanl:
# parameter 1: 8 + %ebp
..B1.1:
..L1:
pushl %ebp
movl %esp, %ebp
andl $-64, %esp
pushl %esi
pushl %edi
pushl %ebx
subl $116, %esp
movl %gs:20, %eax
xorl %esp, %eax
movl %eax, 88(%esp)
..B1.2:
fnstcw 14(%esp)
..B1.3:
movzwl 16(%ebp), %edi
andl $32767, %edi
movzwl 14(%esp), %eax
cmpl $16373, %edi
call ..L2
..L2:
popl %ebx
lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
jge ..B1.41
..B1.4:
cmpl $16371, %edi
jge ..B1.33
..B1.5:
cmpl $16364, %edi
jge ..B1.25
..B1.6:
cmpl $16308, %edi
jge ..B1.17
..B1.7:
movl %eax, %edx
andl $768, %edx
cmpl $768, %edx
je ..B1.87
..B1.8:
orl $-64768, %eax
movw %ax, 12(%esp)
..B1.9:
fldcw 12(%esp)
..B1.10:
movzwl 16(%ebp), %edi
movl $1, %esi
andl $32767, %edi
..B1.11:
testl %edi, %edi
jle ..B1.83
..B1.12:
fldt 8(%ebp)
fldl _TWO_75@GOTOFF(%ebx)
fmul %st(1), %st
faddp %st, %st(1)
fmull 8+_TWO_75@GOTOFF(%ebx)
fstpt 16(%esp)
..B1.13:
testl %esi, %esi
je ..B1.15
..B1.14:
fldcw 14(%esp)
..B1.15:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.16:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.17:
movl %eax, %edx
andl $768, %edx
cmpl $768, %edx
je ..B1.89
..B1.18:
orl $-64768, %eax
movw %ax, 12(%esp)
..B1.19:
fldcw 12(%esp)
..B1.20:
movl $1, %eax
..B1.21:
fldt 8(%ebp)
testl %eax, %eax
fld %st(0)
fmul %st(1), %st
fldt _P3@GOTOFF(%ebx)
fmulp %st, %st(1)
fmul %st(1), %st
faddp %st, %st(1)
fstpt 16(%esp)
je ..B1.23
..B1.22:
fldcw 14(%esp)
..B1.23:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.24:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.25:
movl %eax, %edx
andl $768, %edx
cmpl $768, %edx
je ..B1.91
..B1.26:
orl $-64768, %eax
movw %ax, 12(%esp)
..B1.27:
fldcw 12(%esp)
..B1.28:
movl $1, %eax
..B1.29:
fldt 8(%ebp)
testl %eax, %eax
fld %st(0)
fmul %st(1), %st
fldt 12+_P2@GOTOFF(%ebx)
fmul %st(1), %st
fldt _P2@GOTOFF(%ebx)
faddp %st, %st(1)
fmulp %st, %st(1)
fmul %st(1), %st
faddp %st, %st(1)
fstpt 16(%esp)
je ..B1.31
..B1.30:
fldcw 14(%esp)
..B1.31:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.32:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.33:
movl %eax, %edx
andl $768, %edx
cmpl $768, %edx
je ..B1.93
..B1.34:
orl $-64768, %eax
movw %ax, 12(%esp)
..B1.35:
fldcw 12(%esp)
..B1.36:
movl $1, %eax
..B1.37:
fldt 8(%ebp)
testl %eax, %eax
fld %st(0)
fmul %st(1), %st
fld %st(0)
fmul %st(1), %st
fldt 36+_P1@GOTOFF(%ebx)
fmul %st(1), %st
fldt 12+_P1@GOTOFF(%ebx)
faddp %st, %st(1)
fmul %st(1), %st
fldt 24+_P1@GOTOFF(%ebx)
fmulp %st, %st(2)
fldt _P1@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(2)
fmulp %st, %st(1)
faddp %st, %st(1)
fmul %st(1), %st
faddp %st, %st(1)
fstpt 16(%esp)
je ..B1.39
..B1.38:
fldcw 14(%esp)
..B1.39:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.40:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.41:
movl %eax, %edx
andl $768, %edx
cmpl $768, %edx
je ..B1.99
..B1.42:
orl $-64768, %eax
movw %ax, 12(%esp)
..B1.43:
fldcw 12(%esp)
..B1.44:
movzwl 16(%ebp), %edi
movl $1, %esi
andl $32767, %edi
..B1.45:
movzbl 17(%ebp), %eax
andl $128, %eax
shrl $7, %eax
cmpl $16413, %edi
jge ..B1.52
..B1.46:
fldt 8(%ebp)
fldl _Pi4Inv@GOTOFF(%ebx)
fldl _ones@GOTOFF(%ebx,%eax,8)
fld %st(0)
fmul %st(3), %st
fmul %st, %st(2)
fxch %st(2)
fstpt 60(%esp)
movzwl 68(%esp), %ecx
andl $32767, %ecx
cmpl $16383, %ecx
jge ..B1.48
..B1.47:
fstp %st(0)
fstp %st(0)
fldl _TWO_48H@GOTOFF(%ebx)
fld %st(1)
fmul %st(1), %st
fld %st(2)
movl $1, %edx
fadd %st(1), %st
fsubp %st, %st(1)
fld %st(2)
fsub %st(1), %st
fldt _KPi04@GOTOFF(%ebx)
fmul %st(4), %st
fstpt 60(%esp)
fxch %st(3)
jmp ..B1.63
..B1.48:
fstp %st(2)
fldl _TWO_32H@GOTOFF(%ebx)
negl %ecx
addl $30, %ecx
movl 64(%esp), %edx
shrl %cl, %edx
incl %edx
movl %edx, %eax
andl $-2, %eax
movl %eax, 16(%esp)
cmpl $16400, %edi
fildl 16(%esp)
jge ..B1.50
..B1.49:
fldl _Pi04x3@GOTOFF(%ebx)
fmul %st(1), %st
fsubrp %st, %st(3)
fxch %st(1)
fmul %st(2), %st
fld %st(2)
fadd %st(1), %st
fsubp %st, %st(1)
fld %st(0)
fxch %st(1)
fsubr %st, %st(3)
fldl 8+_Pi04x3@GOTOFF(%ebx)
fmul %st(3), %st
fsubr %st, %st(2)
fxch %st(1)
fsub %st(2), %st
fsubp %st, %st(1)
faddp %st, %st(3)
fldl 16+_Pi04x3@GOTOFF(%ebx)
fmulp %st, %st(2)
fld %st(1)
fsubr %st(1), %st
fsubr %st, %st(1)
fxch %st(2)
fsubrp %st, %st(1)
faddp %st, %st(2)
jmp ..B1.51
..B1.50:
fldl _Pi04x5@GOTOFF(%ebx)
fmul %st(1), %st
fsubrp %st, %st(3)
fxch %st(1)
fmul %st(2), %st
fld %st(2)
fadd %st(1), %st
fsubp %st, %st(1)
fld %st(0)
fxch %st(1)
fsubr %st, %st(3)
fldl 8+_Pi04x5@GOTOFF(%ebx)
fmul %st(3), %st
fsubr %st, %st(2)
fxch %st(1)
fsub %st(2), %st
fsubp %st, %st(1)
faddp %st, %st(3)
fldl 16+_Pi04x5@GOTOFF(%ebx)
fmul %st(2), %st
fld %st(0)
fsubr %st(2), %st
fsubr %st, %st(2)
fxch %st(1)
fsubrp %st, %st(2)
fxch %st(3)
faddp %st, %st(1)
fldl 24+_Pi04x5@GOTOFF(%ebx)
fmul %st(2), %st
fld %st(0)
fsubr %st(4), %st
fsubr %st, %st(4)
fxch %st(1)
fsubrp %st, %st(4)
fxch %st(1)
faddp %st, %st(3)
fldl 32+_Pi04x5@GOTOFF(%ebx)
fmulp %st, %st(2)
fld %st(1)
fsubr %st(1), %st
fsubr %st, %st(1)
fxch %st(2)
fsubrp %st, %st(1)
faddp %st, %st(2)
..B1.51:
fldl _TWO_48H@GOTOFF(%ebx)
fld %st(1)
fmul %st(1), %st
fld %st(2)
fadd %st(1), %st
fsubp %st, %st(1)
fsubr %st, %st(2)
fxch %st(2)
faddp %st, %st(3)
fxch %st(2)
fmul %st(3), %st
fxch %st(3)
fmulp %st, %st(1)
fld %st(0)
fadd %st(3), %st
fstpt 8(%ebp)
fldt 8(%ebp)
fldt _KPi04@GOTOFF(%ebx)
fmul %st(1), %st
fstpt 60(%esp)
jmp ..B1.63
..B1.52:
cmpl $32767, %edi
jne ..B1.61
..B1.53:
cmpl $-2147483648, 12(%ebp)
jne ..B1.56
..B1.54:
cmpl $0, 8(%ebp)
jne ..B1.56
..B1.55:
fldl _infs@GOTOFF(%ebx)
fmull _zeros@GOTOFF(%ebx)
fstpt 16(%esp)
jmp ..B1.57
..B1.56:
fldt 8(%ebp)
fmull _ones@GOTOFF(%ebx)
fstpt 16(%esp)
..B1.57:
testl %esi, %esi
je ..B1.59
..B1.58:
fldcw 14(%esp)
..B1.59:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.60:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.61:
fldl _ones@GOTOFF(%ebx,%eax,8)
fstl 16(%esp)
addl $-32, %esp
fldt 8(%ebp)
lea 104(%esp), %eax
fmulp %st, %st(1)
fstpt (%esp)
movl $0, 12(%esp)
movl %eax, 16(%esp)
call __libm_reduce_pi04l
..B1.102:
movl %eax, %edx
addl $32, %esp
..B1.62:
fldl 72(%esp)
incl %edx
fld %st(0)
fldl 16(%esp)
fldl _TWO_48H@GOTOFF(%ebx)
fmul %st, %st(2)
fld %st(2)
fadd %st(4), %st
fsubp %st, %st(3)
fxch %st(2)
fsubr %st, %st(3)
fmul %st(1), %st
fld %st(0)
fxch %st(4)
faddl 80(%esp)
fmulp %st, %st(2)
fxch %st(1)
fadd %st, %st(3)
fxch %st(3)
fstpt 8(%ebp)
fldt 8(%ebp)
fldt _KPi04@GOTOFF(%ebx)
fmul %st(1), %st
fstpt 60(%esp)
..B1.63:
movzwl 68(%esp), %ecx
andl $32767, %ecx
cmpl $16383, %ecx
jge ..B1.73
..B1.64:
testb $2, %dl
je ..B1.69
..B1.65:
fldl 8+_ones@GOTOFF(%ebx)
testl %esi, %esi
fdiv %st(1), %st
fmul %st, %st(3)
fld %st(2)
fmul %st(5), %st
fxch %st(5)
fstpt 32(%esp)
fldt 32(%esp)
fmul %st(2), %st
faddp %st, %st(5)
fxch %st(2)
fstpt 48(%esp)
fldt 48(%esp)
fmul %st(0), %st
faddp %st, %st(4)
fld %st(3)
fmul %st(4), %st
fldt 60+_PG@GOTOFF(%ebx)
fmul %st(1), %st
fldt 48+_PG@GOTOFF(%ebx)
fmul %st(2), %st
fldt 36+_PG@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmul %st(2), %st
fldt 24+_PG@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmulp %st, %st(2)
fld %st(3)
fadd %st(5), %st
fsub %st(5), %st
fldt 12+_PG@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmulp %st, %st(6)
fldt _PG@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmul %st(2), %st
fld %st(3)
fsub %st(2), %st
fxch %st(6)
fmulp %st, %st(3)
faddp %st, %st(2)
fldt 48(%esp)
fld %st(0)
fmul %st(6), %st
fxch %st(1)
fmul %st(2), %st
fldt 32(%esp)
fmul %st(5), %st
faddp %st, %st(2)
faddl _ones@GOTOFF(%ebx)
faddp %st, %st(1)
fmulp %st, %st(3)
fxch %st(2)
faddp %st, %st(4)
faddp %st, %st(3)
faddp %st, %st(2)
fxch %st(1)
fstpt 16(%esp)
je ..B1.107
..B1.66:
fstpt 60(%esp)
..B1.103:
fldcw 14(%esp)
jmp ..B1.67
..B1.107:
fstp %st(0)
..B1.67:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.68:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.69:
fldt 60+_PT@GOTOFF(%ebx)
fld %st(1)
fmul %st(2), %st
testl %esi, %esi
fxch %st(3)
fstpt 48(%esp)
fld %st(2)
fmul %st(3), %st
fmul %st, %st(1)
fldt 48+_PT@GOTOFF(%ebx)
fmul %st(1), %st
fldt 36+_PT@GOTOFF(%ebx)
faddp %st, %st(3)
fxch %st(1)
fmul %st, %st(2)
fldt 24+_PT@GOTOFF(%ebx)
faddp %st, %st(2)
fmul %st, %st(1)
fldt 12+_PT@GOTOFF(%ebx)
faddp %st, %st(3)
fmulp %st, %st(2)
fldt _PT@GOTOFF(%ebx)
faddp %st, %st(1)
fmulp %st, %st(3)
faddp %st, %st(2)
fxch %st(1)
fmul %st, %st(2)
fld %st(0)
fadd %st(3), %st
fsubp %st, %st(3)
fsub %st(2), %st
fmulp %st, %st(1)
fld %st(2)
fmul %st(2), %st
faddp %st, %st(1)
faddp %st, %st(2)
fldt 48(%esp)
fmul %st, %st(1)
fld %st(0)
fadd %st(2), %st
fsubr %st, %st(1)
fxch %st(1)
faddp %st, %st(2)
fxch %st(1)
fadd %st, %st(2)
fxch %st(2)
faddp %st, %st(1)
fstpt 16(%esp)
je ..B1.108
..B1.70:
fstpt 60(%esp)
..B1.104:
fldcw 14(%esp)
jmp ..B1.71
..B1.108:
fstp %st(0)
..B1.71:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.72:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.73:
fstp %st(0)
fldl .L_2il0floatpacket.0@GOTOFF(%ebx)
negl %ecx
fldl .L_2il0floatpacket.1@GOTOFF(%ebx)
addl $30, %ecx
movl 64(%esp), %eax
shrl %cl, %eax
movl %eax, %ecx
movzbl 17(%ebp), %edi
negl %ecx
testl $128, %edi
jne ..L3
movl %eax, %ecx
..L3:
movl %ecx, 16(%esp)
testb $2, %dl
fildl 16(%esp)
fmul %st, %st(2)
fxch %st(2)
fsubrp %st, %st(3)
fld %st(2)
fxch %st(1)
fmulp %st, %st(2)
fxch %st(1)
fsubrp %st, %st(4)
fadd %st(3), %st
je ..B1.78
..B1.74:
fld %st(1)
fmul %st(4), %st
fld %st(4)
fmul %st(2), %st
shll $4, %ecx
faddp %st, %st(1)
fld %st(2)
testl %esi, %esi
fmul %st(3), %st
faddp %st, %st(1)
fld %st(0)
fmul %st(1), %st
fxch %st(4)
fstpt 32(%esp)
fxch %st(1)
fstpt 8(%ebp)
fldt 8(%ebp)
fldt 60+_PT@GOTOFF(%ebx)
fmul %st(4), %st
fldt 48+_PT@GOTOFF(%ebx)
fmul %st(5), %st
fldt 36+_PT@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmul %st(5), %st
fldt 24+_PT@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmul %st(5), %st
fldt 12+_PT@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmulp %st, %st(5)
fxch %st(1)
fmul %st, %st(4)
fldt _PT@GOTOFF(%ebx)
faddp %st, %st(2)
fxch %st(1)
fmulp %st, %st(2)
fmulp %st, %st(1)
faddp %st, %st(2)
fxch %st(1)
faddp %st, %st(2)
fld %st(0)
fadd %st(2), %st
fldl 272+_TG@GOTOFF(%ecx,%ebx)
fld %st(0)
fmul %st(4), %st
fxch %st(1)
fmul %st(3), %st
fld %st(0)
fxch %st(5)
faddl 280+_TT@GOTOFF(%ecx,%ebx)
fxch %st(3)
fmull 280+_TG@GOTOFF(%ecx,%ebx)
faddp %st, %st(2)
fxch %st(1)
fadd %st, %st(4)
fldt 32(%esp)
fadd %st, %st(5)
fsubr %st, %st(5)
fxch %st(2)
fsub %st(5), %st
fstpt 48(%esp)
fldt 48(%esp)
faddp %st, %st(1)
fxch %st(3)
faddl 272+_TT@GOTOFF(%ecx,%ebx)
fld %st(0)
fadd %st(3), %st
fdivrl _ones@GOTOFF(%ebx)
fld %st(0)
fadd %st(3), %st
fsubp %st, %st(3)
fld %st(0)
fsub %st(3), %st
fld %st(0)
fmul %st(3), %st
fxch %st(2)
fmul %st, %st(5)
fxch %st(5)
faddp %st, %st(2)
fxch %st(2)
fmul %st(3), %st
fld %st(3)
fmul %st(6), %st
fxch %st(6)
fadd %st(7), %st
fxch %st(7)
fmulp %st, %st(4)
faddl 8+_ones@GOTOFF(%ebx)
faddp %st, %st(1)
fmulp %st, %st(3)
fsubp %st, %st(2)
fxch %st(3)
fmulp %st, %st(1)
faddp %st, %st(1)
fxch %st(1)
faddl 272+_GG@GOTOFF(%ecx,%ebx)
fxch %st(1)
faddl 280+_GG@GOTOFF(%ecx,%ebx)
faddp %st, %st(1)
fstpt 16(%esp)
fldt 48(%esp)
je ..B1.109
..B1.75:
fstpt 60(%esp)
..B1.105:
fldcw 14(%esp)
jmp ..B1.76
..B1.109:
fstp %st(0)
..B1.76:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.77:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.78:
fldt 48+_PT@GOTOFF(%ebx)
fld %st(1)
fmul %st(2), %st
fld %st(0)
fmul %st(1), %st
fmul %st, %st(2)
fxch %st(4)
fstpt 48(%esp)
fldt 60+_PT@GOTOFF(%ebx)
fmul %st(4), %st
fldt 36+_PT@GOTOFF(%ebx)
shll $4, %ecx
faddp %st, %st(1)
fmul %st(4), %st
testl %esi, %esi
fldt 24+_PT@GOTOFF(%ebx)
faddp %st, %st(3)
fxch %st(2)
fmul %st(4), %st
fldt 12+_PT@GOTOFF(%ebx)
faddp %st, %st(3)
fxch %st(2)
fmulp %st, %st(4)
fldt _PT@GOTOFF(%ebx)
faddp %st, %st(2)
fmulp %st, %st(1)
faddp %st, %st(2)
fld %st(1)
fmul %st(3), %st
fld %st(2)
fadd %st(1), %st
fsubp %st, %st(1)
fsubr %st, %st(2)
fxch %st(1)
fmulp %st, %st(2)
fld %st(3)
fmul %st(1), %st
faddp %st, %st(2)
fxch %st(1)
faddp %st, %st(3)
fldt 48(%esp)
fmul %st, %st(1)
faddp %st, %st(1)
fld %st(0)
fadd %st(3), %st
fld %st(0)
fmul %st(3), %st
fxch %st(1)
fstpt 8(%ebp)
fldt 8(%ebp)
fadd %st(1), %st
fsubp %st, %st(1)
fsubr %st, %st(1)
fxch %st(3)
faddp %st, %st(1)
fld %st(2)
fadd %st(1), %st
fldl 272+_TG@GOTOFF(%ecx,%ebx)
fld %st(0)
fmul %st(3), %st
fxch %st(1)
fmul %st(5), %st
fxch %st(3)
faddl 280+_GG@GOTOFF(%ecx,%ebx)
fxch %st(5)
faddl 272+_GG@GOTOFF(%ecx,%ebx)
fxch %st(2)
fmull 280+_TG@GOTOFF(%ecx,%ebx)
faddp %st, %st(1)
fld %st(1)
fadd %st(5), %st
fdivrl 8+_ones@GOTOFF(%ebx)
fmul %st, %st(4)
fld %st(0)
fadd %st(5), %st
fsubp %st, %st(5)
fld %st(0)
fsub %st(5), %st
fld %st(0)
fmul %st(4), %st
fxch %st(2)
fmul %st, %st(7)
fxch %st(7)
faddp %st, %st(2)
fxch %st(3)
fmul %st(5), %st
fld %st(5)
fmul %st(3), %st
fxch %st(3)
fadd %st(5), %st
fxch %st(5)
fmulp %st, %st(6)
faddl _ones@GOTOFF(%ebx)
faddp %st, %st(1)
fmulp %st, %st(5)
fxch %st(4)
faddp %st, %st(1)
fmulp %st, %st(1)
faddp %st, %st(2)
fld %st(0)
fldl 272+_TT@GOTOFF(%ecx,%ebx)
fadd %st, %st(1)
fsubr %st(1), %st
fsubr %st(2), %st
fxch %st(3)
faddl 280+_TT@GOTOFF(%ecx,%ebx)
faddp %st, %st(3)
faddp %st, %st(2)
fxch %st(1)
fstpt 16(%esp)
je ..B1.110
..B1.79:
fstpt 60(%esp)
..B1.106:
fldcw 14(%esp)
jmp ..B1.80
..B1.110:
fstp %st(0)
..B1.80:
movl 88(%esp), %eax
xorl %esp, %eax
cmpl %gs:20, %eax
jne ..B1.82
..B1.81:
fldt 16(%esp)
addl $116, %esp
popl %ebx
popl %edi
popl %esi
movl %ebp, %esp
popl %ebp
ret
..B1.82:
call __stack_chk_fail@PLT
..B1.83:
cmpl $0, 12(%ebp)
jne ..B1.85
..B1.84:
cmpl $0, 8(%ebp)
je ..B1.86
..B1.85:
fldt _small_value_80@GOTOFF(%ebx)
fldt 8(%ebp)
fldl _TWO_75@GOTOFF(%ebx)
fmul %st(1), %st
movzbl 17(%ebp), %edx
faddp %st, %st(1)
fmull 8+_TWO_75@GOTOFF(%ebx)
andl $128, %edx
shrl $7, %edx
fstpt 16(%esp)
lea (,%edx,8), %eax
lea (%eax,%edx,4), %ecx
fldt _small_value_80@GOTOFF(%ebx,%ecx)
fmulp %st, %st(1)
fstpt (%esp)
jmp ..B1.13
..B1.86:
fldt 8(%ebp)
fstpt 16(%esp)
jmp ..B1.13
..B1.87:
xorl %esi, %esi
jmp ..B1.11
..B1.89:
xorl %eax, %eax
jmp ..B1.21
..B1.91:
xorl %eax, %eax
jmp ..B1.29
..B1.93:
xorl %eax, %eax
jmp ..B1.37
..B1.99:
xorl %esi, %esi
jmp ..B1.45
.align 16,0x90
.type tanl,@function
.size tanl,.-tanl
.data
# -- End tanl
.section .rodata, "a"
.align 16
.align 16
_TWO_75:
.long 0
.long 1151336448
.long 0
.long 994050048
.type _TWO_75,@object
.size _TWO_75,16
.align 16
_P3:
.word 13380
.word 43827
.word 43690
.word 43690
.word 16381
.word 0
.type _P3,@object
.size _P3,12
.space 4, 0x00 # pad
.align 16
_P2:
.word 42806
.word 43690
.word 43690
.word 43690
.word 16381
.word 0
.word 23834
.word 52331
.word 35007
.word 34952
.word 16380
.word 0
.type _P2,@object
.size _P2,24
.space 8, 0x00 # pad
.align 16
_P1:
.word 43691
.word 43690
.word 43690
.word 43690
.word 16381
.word 0
.word 34953
.word 34952
.word 34952
.word 34952
.word 16380
.word 0
.word 31445
.word 3491
.word 53469
.word 56589
.word 16378
.word 0
.word 16733
.word 58542
.word 44372
.word 45863
.word 16377
.word 0
.type _P1,@object
.size _P1,48
.align 16
_Pi4Inv:
.long 1841940611
.long 1072979760
.type _Pi4Inv,@object
.size _Pi4Inv,8
.space 8, 0x00 # pad
.align 16
_ones:
.long 0
.long 1072693248
.long 0
.long 3220176896
.type _ones,@object
.size _ones,16
.align 16
_TWO_48H:
.long 0
.long 1123549184
.type _TWO_48H,@object
.size _TWO_48H,8
.space 8, 0x00 # pad
.align 16
_KPi04:
.word 5418
.word 20036
.word 33646
.word 41721
.word 16387
.word 0
.type _KPi04,@object
.size _KPi04,12
.space 4, 0x00 # pad
.align 16
_TWO_32H:
.long 0
.long 1106771968
.type _TWO_32H,@object
.size _TWO_32H,8
.space 8, 0x00 # pad
.align 16
_Pi04x3:
.long 1413754112
.long 1072243195
.long 2563527040
.long 1021855384
.long 3417685868
.long 3118450936
.type _Pi04x3,@object
.size _Pi04x3,24
.space 8, 0x00 # pad
.align 16
_Pi04x5:
.long 1413480448
.long 1072243195
.long 442499072
.long 1036039265
.long 771751936
.long 999496074
.long 622854144
.long 963347354
.long 1396597664
.long 922906692
.type _Pi04x5,@object
.size _Pi04x5,40
.space 8, 0x00 # pad
.align 16
_infs:
.long 0
.long 2146435072
.long 0
.long 4293918720
.type _infs,@object
.size _infs,16
.align 16
_zeros:
.long 0
.long 0
.long 0
.long 2147483648
.type _zeros,@object
.size _zeros,16
.align 16
_PG:
.word 43691
.word 43690
.word 43690
.word 43690
.word 16381
.word 0
.word 46604
.word 2912
.word 24758
.word 46603
.word 16377
.word 0
.word 64867
.word 2218
.word 21984
.word 35507
.word 16374
.word 0
.word 37428
.word 49066
.word 48281
.word 56811
.word 16370
.word 0
.word 28819
.word 40692
.word 30466
.word 45908
.word 16367
.word 0
.word 58229
.word 57025
.word 27882
.word 37211
.word 16364
.word 0
.type _PG,@object
.size _PG,72
.space 8, 0x00 # pad
.align 16
_PT:
.word 43691
.word 43690
.word 43690
.word 43690
.word 16381
.word 0
.word 35260
.word 34952
.word 34952
.word 34952
.word 16380
.word 0
.word 59431
.word 3445
.word 53469
.word 56589
.word 16378
.word 0
.word 60805
.word 19035
.word 42054
.word 45863
.word 16377
.word 0
.word 32963
.word 17667
.word 64505
.word 37174
.word 16376
.word 0
.word 33271
.word 14204
.word 52730
.word 60442
.word 16374
.word 0
.type _PT,@object
.size _PT,72
.space 8, 0x00 # pad
.align 16
_TG:
.long 2684354560
.long 3221230545
.long 1980244105
.long 1046278452
.long 0
.long 3221225472
.long 0
.long 0
.long 2684354560
.long 3221230545
.long 1980244105
.long 1046278452
.long 3758096384
.long 3221246014
.long 1513286675
.long 1048381067
.long 0
.long 3221272655
.long 4057975187
.long 3193921290
.long 2147483648
.long 3221311866
.long 2902494488
.long 1046516509
.long 3221225472
.long 3221365863
.long 1948335328
.long 3196126810
.long 2684354560
.long 3221438007
.long 3744091947
.long 3192783219
.long 2684354560
.long 3221533379
.long 3860423252
.long 1047335024
.long 2147483648
.long 3221659806
.long 862942416
.long 1049198788
.long 0
.long 3221829776
.long 543592927
.long 3195468420
.long 0
.long 3222064283
.long 2814267453
.long 1048596082
.long 536870912
.long 3222337673
.long 2980891112
.long 3196362141
.long 2684354560
.long 3222595502
.long 141458722
.long 1049458206
.long 3221225472
.long 3223031588
.long 2120823910
.long 1049591613
.long 3221225472
.long 3223617753
.long 663882580
.long 3198186420
.long 2147483648
.long 3224659859
.long 3051968734
.long 3194791707
.long 0
.long 0
.long 0
.long 0
.long 2147483648
.long 1077176211
.long 3051968734
.long 1047308059
.long 3221225472
.long 1076134105
.long 663882580
.long 1050702772
.long 3221225472
.long 1075547940
.long 2120823910
.long 3197075261
.long 2684354560
.long 1075111854
.long 141458722
.long 3196941854
.long 536870912
.long 1074854025
.long 2980891112
.long 1048878493
.long 0
.long 1074580635
.long 2814267453
.long 3196079730
.long 0
.long 1074346128
.long 543592927
.long 1047984772
.long 2147483648
.long 1074176158
.long 862942416
.long 3196682436
.long 2684354560
.long 1074049731
.long 3860423252
.long 3194818672
.long 2684354560
.long 1073954359
.long 3744091947
.long 1045299571
.long 3221225472
.long 1073882215
.long 1948335328
.long 1048643162
.long 2147483648
.long 1073828218
.long 2902494488
.long 3194000157
.long 0
.long 1073789007
.long 4057975187
.long 1046437642
.long 3758096384
.long 1073762366
.long 1513286675
.long 3195864715
.long 2684354560
.long 1073746897
.long 1980244105
.long 3193762100
.long 0
.long 1073741824
.long 0
.long 0
.long 2684354560
.long 1073746897
.long 1980244105
.long 3193762100
.type _TG,@object
.size _TG,560
.align 16
_TT:
.long 1610612736
.long 3220285245
.long 1765132704
.long 1046851815
.long 0
.long 3220176896
.long 0
.long 0
.long 3221225472
.long 3219980491
.long 3100042604
.long 3192709428
.long 1073741824
.long 3219800832
.long 2956254064
.long 1046813655
.long 0
.long 3219635098
.long 829070670
.long 1046664815
.long 0
.long 3219481016
.long 3358544266
.long 3195362300
.long 2147483648
.long 3219336728
.long 4185368031
.long 3193047295
.long 536870912
.long 3219200695
.long 1373988029
.long 1045159724
.long 0
.long 3219014926
.long 4104169752
.long 3192540796
.long 2147483648
.long 3218768505
.long 843197631
.long 3193568495
.long 0
.long 3218531914
.long 1839318447
.long 1044402419
.long 1073741824
.long 3218303496
.long 1215676724
.long 1044727608
.long 1610612736
.long 3218081786
.long 2922073518
.long 3193275942
.long 0
.long 3217651190
.long 2818065035
.long 1045408462
.long 2147483648
.long 3217226924
.long 2142552361
.long 1043903475
.long 2147483648
.long 3216586427
.long 1153689642
.long 3190339163
.long 2147483648
.long 3215533863
.long 3288774277
.long 3189012002
.long 0
.long 0
.long 0
.long 0
.long 2147483648
.long 1068050215
.long 3288774277
.long 1041528354
.long 2147483648
.long 1069102779
.long 1153689642
.long 1042855515
.long 2147483648
.long 1069743276
.long 2142552361
.long 3191387123
.long 0
.long 1070167542
.long 2818065035
.long 3192892110
.long 1610612736
.long 1070598138
.long 2922073518
.long 1045792294
.long 1073741824
.long 1070819848
.long 1215676724
.long 3192211256
.long 0
.long 1071048266
.long 1839318447
.long 3191886067
.long 2147483648
.long 1071284857
.long 843197631
.long 1046084847
.long 0
.long 1071531278
.long 4104169752
.long 1045057148
.long 536870912
.long 1071717047
.long 1373988029
.long 3192643372
.long 2147483648
.long 1071853080
.long 4185368031
.long 1045563647
.long 0
.long 1071997368
.long 3358544266
.long 1047878652
.long 0
.long 1072151450
.long 829070670
.long 3194148463
.long 1073741824
.long 1072317184
.long 2956254064
.long 3194297303
.long 3221225472
.long 1072496843
.long 3100042604
.long 1045225780
.long 0
.long 1072693248
.long 0
.long 0
.long 1610612736
.long 1072801597
.long 1765132704
.long 3194335463
.type _TT,@object
.size _TT,560
.align 16
_GG:
.long 3221225472
.long 1072496843
.long 3100042604
.long 1045225780
.long 0
.long 1072693248
.long 2680413623
.long 2803148914
.long 1610612736
.long 1072801597
.long 1765132704
.long 3194335463
.long 2147483648
.long 1072922365
.long 4224648010
.long 1047203520
.long 0
.long 1073058513
.long 1429029132
.long 1047610106
.long 0
.long 1073213977
.long 2662307862
.long 3195905419
.long 2147483648
.long 1073394115
.long 2332932060
.long 3196140229
.long 3221225472
.long 1073606419
.long 4089189126
.long 3194062807
.long 3758096384
.long 1073801761
.long 295749197
.long 3195130376
.long 1073741824
.long 1073958991
.long 862942416
.long 3195633860
.long 0
.long 1074158535
.long 1551453531
.long 3197746903
.long 0
.long 1074421594
.long 590804010
.long 3196516863
.long 0
.long 1074786323
.long 1872593098
.long 1046983523
.long 3758096384
.long 1075059710
.long 2286165020
.long 1046614587
.long 2147483648
.long 1075509055
.long 2023416727
.long 3198791271
.long 1610612736
.long 1076121196
.long 3469402705
.long 3196752904
.long 0
.long 1077172992
.long 2869016295
.long 3199393764
.long 0
.long 0
.long 0
.long 0
.long 0
.long 3224656640
.long 2869016295
.long 1051910116
.long 1610612736
.long 3223604844
.long 3469402705
.long 1049269256
.long 2147483648
.long 3222992703
.long 2023416727
.long 1051307623
.long 3758096384
.long 3222543358
.long 2286165020
.long 3194098235
.long 0
.long 3222269971
.long 1872593098
.long 3194467171
.long 0
.long 3221905242
.long 590804010
.long 1049033215
.long 0
.long 3221642183
.long 1551453531
.long 1050263255
.long 1073741824
.long 3221442639
.long 862942416
.long 1048150212
.long 3758096384
.long 3221285409
.long 295749197
.long 1047646728
.long 3221225472
.long 3221090067
.long 4089189126
.long 1046579159
.long 2147483648
.long 3220877763
.long 2332932060
.long 1048656581
.long 0
.long 3220697625
.long 2662307862
.long 1048421771
.long 0
.long 3220542161
.long 1429029132
.long 3195093754
.long 2147483648
.long 3220406013
.long 4224648010
.long 3194687168
.long 1610612736
.long 3220285245
.long 1765132704
.long 1046851815
.long 0
.long 3220176896
.long 2680413623
.long 655665266
.long 3221225472
.long 3219980491
.long 3100042604
.long 3192709428
.type _GG,@object
.size _GG,560
.align 16
_small_value_80:
.word 0
.word 0
.word 0
.word 32768
.word 6383
.word 0
.word 0
.word 0
.word 0
.word 32768
.word 39151
.word 0
.type _small_value_80,@object
.size _small_value_80,24
.align 8
.L_2il0floatpacket.0:
.long 0x54400000,0x3fa921fb
.type .L_2il0floatpacket.0,@object
.size .L_2il0floatpacket.0,8
.align 8
.L_2il0floatpacket.1:
.long 0x1a626331,0x3d80b461
.type .L_2il0floatpacket.1,@object
.size .L_2il0floatpacket.1,8
.data
.hidden __libm_reduce_pi04l
.section .note.GNU-stack, ""
# End