/* * 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 * History: * 03-14-2016 Initial version. numerics svn rev. 12864 */ .file "libm_atan2_k64.c" .text ..TXTST0: # -- Begin __libm_atan2_k64 .text .align 16,0x90 .globl __libm_atan2_k64 __libm_atan2_k64: # parameter 1: %rdi # parameter 2: %rsi # parameter 3: %rdx ..B1.1: .cfi_startproc ..___tag_value___libm_atan2_k64.1: ..L2: pushq %r13 .cfi_def_cfa_offset 16 .cfi_offset 13, -16 movq %rsi, %r9 movq %rdx, %rax movzwl 6(%r9), %r11d andl $32752, %r11d movb 7(%r9), %sil movb 7(%rax), %dl andb $-128, %sil movzwl 6(%rax), %r10d andb $-128, %dl andl $32752, %r10d shrl $4, %r11d shrb $7, %sil shrb $7, %dl shrl $4, %r10d cmpl $2047, %r11d jge ..B1.34 ..B1.2: cmpl $2047, %r10d jge ..B1.35 ..B1.3: testl %r11d, %r11d jne ..B1.6 ..B1.4: testl $1048575, 4(%r9) jne ..B1.6 ..B1.5: cmpl $0, (%r9) je ..B1.29 ..B1.6: testl %r10d, %r10d jne ..B1.9 ..B1.7: testl $1048575, 4(%rax) jne ..B1.9 ..B1.8: cmpl $0, (%rax) je ..B1.27 ..B1.9: movzbl %sil, %r8d lea _dAtan2Tab(%rip), %rcx movsd (%r9), %xmm4 testl %r11d, %r11d movsd 8(%r9), %xmm6 movzbl %dl, %r9d movsd 1904(%rcx,%r8,8), %xmm9 movsd (%rax), %xmm3 mulsd %xmm9, %xmm4 movaps %xmm3, %xmm2 mulsd %xmm9, %xmm6 movsd 8(%rax), %xmm9 movsd 1904(%rcx,%r9,8), %xmm0 mulsd %xmm0, %xmm2 mulsd %xmm0, %xmm9 jle ..B1.47 ..B1.10: lea 1888+_dAtan2Tab(%rip), %rax lea -1023(%r11), %r9d movl %r9d, %r13d negl %r13d addl $1023, %r13d movq (%rax), %r8 andl $2047, %r13d movq %r8, -32(%rsp) shrq $48, %r8 shll $4, %r13d andl $-32753, %r8d movsd %xmm4, -24(%rsp) orl %r13d, %r8d movw %r8w, -26(%rsp) movzwl -18(%rsp), %eax andl $-32753, %eax movsd -32(%rsp), %xmm0 orl $-49168, %eax movw %ax, -18(%rsp) mulsd %xmm0, %xmm6 ..B1.11: testl %r10d, %r10d jle ..B1.46 ..B1.12: lea 1888+_dAtan2Tab(%rip), %rax lea -1023(%r10), %r8d movsd %xmm2, -16(%rsp) movq (%rax), %r13 movl %r8d, %eax negl %eax addl $1023, %eax movq %r13, -32(%rsp) andl $2047, %eax shrq $48, %r13 shll $4, %eax andl $-32753, %r13d orl %eax, %r13d movw %r13w, -26(%rsp) movzwl -10(%rsp), %eax andl $-32753, %eax movsd -32(%rsp), %xmm0 orl $-49168, %eax movw %ax, -10(%rsp) mulsd %xmm0, %xmm9 ..B1.13: movl %r9d, %eax subl %r8d, %eax cmpl $-54, %eax jle ..B1.24 ..B1.14: cmpl $54, %eax jge ..B1.21 ..B1.15: testb %dl, %dl jne ..B1.17 ..B1.16: lea 1992+_dAtan2Tab(%rip), %rax movsd (%rax), %xmm12 movaps %xmm12, %xmm13 jmp ..B1.18 ..B1.17: lea 1952+_dAtan2Tab(%rip), %rax lea 1960+_dAtan2Tab(%rip), %r10 movsd (%rax), %xmm12 movsd (%r10), %xmm13 ..B1.18: negl %r9d lea 1888+_dAtan2Tab(%rip), %rax movsd -16(%rsp), %xmm8 lea 1880+_dAtan2Tab(%rip), %r11 movzwl 6(%rax), %r10d lea 1023(%r8,%r9), %r8d andl $2047, %r8d andl $-32753, %r10d movsd (%rax), %xmm10 lea 2016+_dAtan2Tab(%rip), %r9 shll $4, %r8d movaps %xmm10, %xmm1 movsd %xmm10, -64(%rsp) orl %r8d, %r10d movw %r10w, -58(%rsp) movsd -64(%rsp), %xmm4 mulsd %xmm4, %xmm8 mulsd %xmm4, %xmm9 movsd -24(%rsp), %xmm4 movsd (%r9), %xmm11 movaps %xmm4, %xmm5 mulsd %xmm11, %xmm5 movaps %xmm4, %xmm7 movaps %xmm5, %xmm3 subsd %xmm4, %xmm3 subsd %xmm3, %xmm5 movaps %xmm11, %xmm3 mulsd %xmm8, %xmm3 subsd %xmm5, %xmm7 movaps %xmm3, %xmm2 addsd %xmm6, %xmm7 subsd %xmm8, %xmm2 subsd %xmm2, %xmm3 movaps %xmm8, %xmm2 divsd %xmm3, %xmm1 movaps %xmm1, %xmm15 movaps %xmm3, %xmm0 mulsd %xmm11, %xmm15 subsd %xmm3, %xmm2 movaps %xmm15, %xmm14 addsd %xmm9, %xmm2 subsd %xmm1, %xmm14 subsd %xmm14, %xmm15 movaps %xmm10, %xmm14 mulsd %xmm15, %xmm0 movaps %xmm15, %xmm1 mulsd %xmm2, %xmm1 subsd %xmm0, %xmm14 subsd %xmm1, %xmm14 movaps %xmm15, %xmm1 mulsd %xmm5, %xmm1 movaps %xmm14, %xmm0 addsd %xmm10, %xmm0 mulsd %xmm0, %xmm14 movaps %xmm7, %xmm0 mulsd %xmm15, %xmm14 mulsd %xmm7, %xmm15 mulsd %xmm14, %xmm0 mulsd %xmm5, %xmm14 addsd %xmm14, %xmm0 addsd %xmm15, %xmm0 movaps %xmm0, %xmm14 addsd %xmm1, %xmm14 comisd (%r11), %xmm14 subsd %xmm14, %xmm1 addsd %xmm0, %xmm1 jb ..B1.20 ..B1.19: movsd %xmm14, -64(%rsp) lea 1984+_dAtan2Tab(%rip), %r9 movl -60(%rsp), %r8d lea 1872+_dAtan2Tab(%rip), %r10 andl $-524288, %r8d lea 1864+_dAtan2Tab(%rip), %r11 orl $262144, %r8d lea 1856+_dAtan2Tab(%rip), %r13 movl $0, -64(%rsp) movl %r8d, -60(%rsp) lea 1848+_dAtan2Tab(%rip), %r8 movsd -64(%rsp), %xmm1 mulsd %xmm1, %xmm3 mulsd %xmm1, %xmm2 mulsd %xmm1, %xmm5 mulsd %xmm1, %xmm7 movsd (%r9), %xmm0 movaps %xmm11, %xmm1 mulsd %xmm0, %xmm3 lea 1840+_dAtan2Tab(%rip), %r9 mulsd %xmm2, %xmm0 movsd %xmm14, -40(%rsp) movaps %xmm3, %xmm14 movaps %xmm4, %xmm2 addsd %xmm0, %xmm14 movl -36(%rsp), %eax subsd %xmm14, %xmm3 andl $2147483647, %eax addsd %xmm3, %xmm0 movaps %xmm14, %xmm3 addl $-1069547520, %eax sarl $18, %eax addsd %xmm4, %xmm3 andl $-2, %eax subsd %xmm3, %xmm2 movslq %eax, %rax addsd %xmm2, %xmm14 addsd %xmm3, %xmm2 subsd %xmm2, %xmm4 addsd %xmm4, %xmm14 movaps %xmm3, %xmm4 mulsd %xmm11, %xmm4 addsd %xmm14, %xmm6 movaps %xmm4, %xmm15 addsd %xmm0, %xmm6 subsd %xmm3, %xmm15 movaps %xmm5, %xmm0 subsd %xmm15, %xmm4 addsd %xmm7, %xmm0 subsd %xmm4, %xmm3 subsd %xmm0, %xmm5 addsd %xmm6, %xmm3 addsd %xmm5, %xmm7 movaps %xmm0, %xmm5 movaps %xmm8, %xmm6 addsd %xmm8, %xmm5 subsd %xmm5, %xmm6 addsd %xmm6, %xmm0 addsd %xmm5, %xmm6 subsd %xmm6, %xmm8 addsd %xmm8, %xmm0 addsd %xmm0, %xmm9 movaps %xmm5, %xmm0 mulsd %xmm11, %xmm0 addsd %xmm7, %xmm9 movaps %xmm0, %xmm7 subsd %xmm5, %xmm7 subsd %xmm7, %xmm0 movsd (%r10), %xmm7 lea 1832+_dAtan2Tab(%rip), %r10 subsd %xmm0, %xmm5 addsd %xmm9, %xmm5 movaps %xmm10, %xmm9 divsd %xmm0, %xmm9 mulsd %xmm9, %xmm1 movaps %xmm1, %xmm8 subsd %xmm9, %xmm8 movaps %xmm10, %xmm9 subsd %xmm8, %xmm1 movaps %xmm12, %xmm8 mulsd %xmm1, %xmm0 movaps %xmm1, %xmm2 mulsd %xmm1, %xmm5 mulsd %xmm4, %xmm2 subsd %xmm0, %xmm9 subsd %xmm5, %xmm9 movaps %xmm2, %xmm5 addsd %xmm9, %xmm10 mulsd %xmm10, %xmm9 movaps %xmm3, %xmm10 mulsd %xmm1, %xmm9 mulsd %xmm3, %xmm1 mulsd %xmm9, %xmm10 mulsd %xmm9, %xmm4 addsd %xmm4, %xmm10 addsd %xmm1, %xmm10 addsd %xmm10, %xmm5 movaps %xmm5, %xmm3 movaps %xmm5, %xmm15 mulsd %xmm5, %xmm3 subsd %xmm5, %xmm2 mulsd %xmm11, %xmm15 mulsd %xmm3, %xmm7 addsd %xmm2, %xmm10 movaps %xmm15, %xmm4 addsd (%r11), %xmm7 subsd %xmm5, %xmm4 mulsd %xmm3, %xmm7 subsd %xmm4, %xmm15 addsd (%r13), %xmm7 subsd %xmm15, %xmm5 mulsd %xmm3, %xmm7 addsd %xmm5, %xmm10 addsd (%r8), %xmm7 mulsd %xmm3, %xmm7 lea 1824+_dAtan2Tab(%rip), %r11 movaps %xmm10, %xmm0 addsd (%r9), %xmm7 mulsd %xmm3, %xmm7 movsd (%rcx,%rax,8), %xmm4 addsd (%r10), %xmm7 mulsd %xmm3, %xmm7 addsd (%r11), %xmm7 mulsd %xmm3, %xmm7 mulsd %xmm7, %xmm11 movaps %xmm11, %xmm6 subsd %xmm7, %xmm6 subsd %xmm6, %xmm11 movaps %xmm11, %xmm14 subsd %xmm11, %xmm7 mulsd %xmm15, %xmm14 mulsd %xmm10, %xmm11 mulsd %xmm7, %xmm0 mulsd %xmm15, %xmm7 addsd %xmm11, %xmm0 movaps %xmm14, %xmm2 movaps %xmm14, %xmm11 addsd %xmm15, %xmm2 addsd %xmm7, %xmm0 subsd %xmm2, %xmm11 movaps %xmm2, %xmm3 movaps %xmm2, %xmm1 addsd %xmm11, %xmm15 addsd %xmm2, %xmm11 addsd %xmm4, %xmm3 subsd %xmm11, %xmm14 subsd %xmm3, %xmm1 addsd %xmm14, %xmm15 addsd %xmm1, %xmm4 addsd %xmm3, %xmm1 addsd %xmm15, %xmm10 subsd %xmm1, %xmm2 addsd %xmm0, %xmm10 addsd %xmm2, %xmm4 movsd %xmm3, -56(%rsp) addsd %xmm10, %xmm4 addsd 8(%rcx,%rax,8), %xmm4 movb %dl, %cl shlb $7, %cl movsd %xmm4, -48(%rsp) movb -49(%rsp), %al andb $127, %al orb %cl, %al movb %al, -49(%rsp) movsd -56(%rsp), %xmm7 movaps %xmm7, %xmm5 addsd %xmm7, %xmm8 movb -41(%rsp), %r8b movb %r8b, %r9b shrb $7, %r8b subsd %xmm8, %xmm5 movaps %xmm8, %xmm6 addsd %xmm5, %xmm12 addsd %xmm5, %xmm6 xorb %r8b, %dl andb $127, %r9b shlb $7, %dl subsd %xmm6, %xmm7 movsd %xmm8, -56(%rsp) addsd %xmm7, %xmm12 orb %dl, %r9b movb %r9b, -41(%rsp) movsd -48(%rsp), %xmm9 movb -49(%rsp), %dl movb %dl, %al shrb $7, %dl addsd %xmm12, %xmm9 movsd %xmm12, -32(%rsp) addsd %xmm13, %xmm9 movsd %xmm9, -48(%rsp) xorb %sil, %dl movb -41(%rsp), %cl movb %cl, %r8b shrb $7, %cl andb $127, %al shlb $7, %dl xorb %sil, %cl andb $127, %r8b shlb $7, %cl orb %dl, %al orb %cl, %r8b movb %al, -49(%rsp) movb %r8b, -41(%rsp) movq -56(%rsp), %rsi movq -48(%rsp), %rax movq %rsi, (%rdi) movq %rax, 8(%rdi) xorl %eax, %eax .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.20: movaps %xmm14, %xmm0 lea 1872+_dAtan2Tab(%rip), %rax mulsd %xmm14, %xmm0 lea 1864+_dAtan2Tab(%rip), %rcx movsd (%rax), %xmm3 lea 1856+_dAtan2Tab(%rip), %r8 mulsd %xmm0, %xmm3 lea 1848+_dAtan2Tab(%rip), %r9 lea 1840+_dAtan2Tab(%rip), %r10 addsd (%rcx), %xmm3 mulsd %xmm0, %xmm3 lea 1832+_dAtan2Tab(%rip), %r11 movaps %xmm11, %xmm6 movb %dl, %al mulsd %xmm14, %xmm6 addsd (%r8), %xmm3 shlb $7, %al mulsd %xmm0, %xmm3 movaps %xmm6, %xmm2 subsd %xmm14, %xmm2 addsd (%r9), %xmm3 subsd %xmm2, %xmm6 mulsd %xmm0, %xmm3 subsd %xmm6, %xmm14 addsd (%r10), %xmm3 addsd %xmm14, %xmm1 mulsd %xmm0, %xmm3 lea 1824+_dAtan2Tab(%rip), %r13 addsd (%r11), %xmm3 mulsd %xmm0, %xmm3 movaps %xmm6, %xmm5 movaps %xmm12, %xmm9 addsd (%r13), %xmm3 mulsd %xmm0, %xmm3 mulsd %xmm3, %xmm11 movaps %xmm11, %xmm14 subsd %xmm3, %xmm14 subsd %xmm14, %xmm11 movaps %xmm11, %xmm4 subsd %xmm11, %xmm3 mulsd %xmm6, %xmm4 mulsd %xmm1, %xmm11 addsd %xmm4, %xmm5 movaps %xmm3, %xmm7 mulsd %xmm1, %xmm7 mulsd %xmm6, %xmm3 addsd %xmm11, %xmm7 movaps %xmm4, %xmm11 addsd %xmm3, %xmm7 subsd %xmm5, %xmm11 movsd %xmm5, -56(%rsp) addsd %xmm11, %xmm6 addsd %xmm5, %xmm11 movb -49(%rsp), %cl subsd %xmm11, %xmm4 andb $127, %cl addsd %xmm4, %xmm6 orb %al, %cl addsd %xmm6, %xmm1 movb %cl, -49(%rsp) addsd %xmm7, %xmm1 movsd -56(%rsp), %xmm8 movaps %xmm8, %xmm10 addsd %xmm8, %xmm9 movsd %xmm1, -48(%rsp) movaps %xmm9, %xmm1 movb -41(%rsp), %r8b movb %r8b, %r9b shrb $7, %r8b subsd %xmm9, %xmm10 movsd %xmm9, -56(%rsp) addsd %xmm10, %xmm1 addsd %xmm12, %xmm10 subsd %xmm1, %xmm8 xorb %r8b, %dl andb $127, %r9b shlb $7, %dl addsd %xmm8, %xmm10 movsd %xmm10, -32(%rsp) orb %dl, %r9b movb %r9b, -41(%rsp) movsd -48(%rsp), %xmm12 movb -49(%rsp), %dl movb %dl, %al shrb $7, %dl addsd %xmm10, %xmm12 addsd %xmm13, %xmm12 movsd %xmm12, -48(%rsp) xorb %sil, %dl movb -41(%rsp), %cl movb %cl, %r8b shrb $7, %cl andb $127, %al shlb $7, %dl xorb %sil, %cl andb $127, %r8b shlb $7, %cl orb %dl, %al orb %cl, %r8b movb %al, -49(%rsp) movb %r8b, -41(%rsp) movq -56(%rsp), %rsi movq -48(%rsp), %rax movq %rsi, (%rdi) movq %rax, 8(%rdi) xorl %eax, %eax .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.21: subl %r10d, %r11d cmpl $74, %r11d jge ..B1.23 ..B1.22: divsd %xmm4, %xmm3 lea 1944+_dAtan2Tab(%rip), %rax lea 1936+_dAtan2Tab(%rip), %rdx movsd %xmm3, -32(%rsp) movsd (%rax), %xmm0 xorl %eax, %eax movq (%rdx), %rcx subsd %xmm3, %xmm0 movq %rcx, (%rdi) shrq $56, %rcx movsd %xmm0, 8(%rdi) movb 15(%rdi), %r9b movb %cl, %r8b shrb $7, %cl movb %r9b, %r10b shrb $7, %r9b xorb %sil, %cl xorb %sil, %r9b shlb $7, %cl andb $127, %r8b shlb $7, %r9b andb $127, %r10b orb %cl, %r8b orb %r9b, %r10b movb %r8b, 7(%rdi) movb %r10b, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.23: lea 1936+_dAtan2Tab(%rip), %rax lea 1944+_dAtan2Tab(%rip), %rdx movq (%rax), %rcx xorl %eax, %eax movq (%rdx), %r9 movq %rcx, (%rdi) movq %r9, 8(%rdi) shrq $56, %rcx shrq $56, %r9 movb %cl, %r8b shrb $7, %cl movb %r9b, %r10b shrb $7, %r9b xorb %sil, %cl xorb %sil, %r9b shlb $7, %cl andb $127, %r8b shlb $7, %r9b andb $127, %r10b orb %cl, %r8b orb %r9b, %r10b movb %r8b, 7(%rdi) movb %r10b, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.24: testb %dl, %dl jne ..B1.26 ..B1.25: lea 2016+_dAtan2Tab(%rip), %rdx lea 1888+_dAtan2Tab(%rip), %rcx movsd -24(%rsp), %xmm8 movaps %xmm8, %xmm7 movsd -16(%rsp), %xmm3 movsd (%rdx), %xmm10 movaps %xmm3, %xmm2 mulsd %xmm10, %xmm7 mulsd %xmm10, %xmm2 movaps %xmm7, %xmm0 movsd (%rcx), %xmm4 subsd %xmm8, %xmm0 movaps %xmm4, %xmm5 subsd %xmm0, %xmm7 subsd %xmm7, %xmm8 addsd %xmm6, %xmm8 movaps %xmm2, %xmm6 subsd %xmm3, %xmm6 movaps %xmm8, %xmm11 subsd %xmm6, %xmm2 subsd %xmm2, %xmm3 addsd %xmm9, %xmm3 movaps %xmm4, %xmm9 divsd %xmm2, %xmm9 mulsd %xmm9, %xmm10 movaps %xmm10, %xmm1 subsd %xmm9, %xmm1 subsd %xmm1, %xmm10 mulsd %xmm10, %xmm2 movaps %xmm10, %xmm13 mulsd %xmm10, %xmm3 mulsd %xmm7, %xmm13 subsd %xmm2, %xmm5 movsd %xmm10, -56(%rsp) subsd %xmm3, %xmm5 addsd %xmm5, %xmm4 mulsd %xmm4, %xmm5 mulsd %xmm10, %xmm5 mulsd %xmm8, %xmm10 mulsd %xmm5, %xmm11 mulsd %xmm5, %xmm7 movsd %xmm5, -48(%rsp) addsd %xmm7, %xmm11 addsd %xmm10, %xmm11 movaps %xmm11, %xmm12 addsd %xmm13, %xmm12 movsd %xmm12, (%rdi) subsd %xmm12, %xmm13 movsd %xmm13, -32(%rsp) addsd %xmm11, %xmm13 movsd %xmm13, 8(%rdi) movb 7(%rdi), %r8b movb %r8b, %r9b movb 15(%rdi), %r10b movb %r10b, %r11b shrb $7, %r8b andb $127, %r9b shrb $7, %r10b movsd %xmm12, -40(%rsp) xorb %sil, %r8b xorb %sil, %r10b shlb $7, %r8b andb $127, %r11b shlb $7, %r10b orb %r8b, %r9b orb %r10b, %r11b movb %r9b, 7(%rdi) movb %r11b, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.26: lea 1952+_dAtan2Tab(%rip), %rax lea 1960+_dAtan2Tab(%rip), %rdx movq (%rax), %rcx xorl %eax, %eax movq (%rdx), %r9 movq %rcx, (%rdi) movq %r9, 8(%rdi) shrq $56, %rcx shrq $56, %r9 movb %cl, %r8b shrb $7, %cl movb %r9b, %r10b shrb $7, %r9b xorb %sil, %cl xorb %sil, %r9b shlb $7, %cl andb $127, %r8b shlb $7, %r9b andb $127, %r10b orb %cl, %r8b orb %r9b, %r10b movb %r8b, 7(%rdi) movb %r10b, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.27: testl %r11d, %r11d jne ..B1.23 ..B1.28: testl $1048575, 4(%r9) jne ..B1.23 jmp ..B1.57 ..B1.29: jne ..B1.23 ..B1.31: testb %dl, %dl jne ..B1.26 ..B1.32: lea 1992+_dAtan2Tab(%rip), %rax movq (%rax), %rdx xorl %eax, %eax movq %rdx, (%rdi) movq %rdx, 8(%rdi) shrq $56, %rdx movb %dl, %cl shrb $7, %dl andb $127, %cl xorb %sil, %dl shlb $7, %dl orb %dl, %cl movb %cl, 7(%rdi) movb %cl, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.34: je ..B1.51 ..B1.56: cmpl $2047, %r10d ..B1.35: je ..B1.48 ..B1.36: jl ..B1.23 ..B1.38: cmpl $2047, %r11d jge ..B1.42 ..B1.39: testb %dl, %dl je ..B1.32 jmp ..B1.26 ..B1.42: testb %dl, %dl jne ..B1.44 ..B1.43: lea 1920+_dAtan2Tab(%rip), %rax lea 1928+_dAtan2Tab(%rip), %rdx movq (%rax), %rcx xorl %eax, %eax movq (%rdx), %r9 movq %rcx, (%rdi) movq %r9, 8(%rdi) shrq $56, %rcx shrq $56, %r9 movb %cl, %r8b shrb $7, %cl movb %r9b, %r10b shrb $7, %r9b xorb %sil, %cl xorb %sil, %r9b shlb $7, %cl andb $127, %r8b shlb $7, %r9b andb $127, %r10b orb %cl, %r8b orb %r9b, %r10b movb %r8b, 7(%rdi) movb %r10b, 15(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.44: lea 1968+_dAtan2Tab(%rip), %rax lea 1976+_dAtan2Tab(%rip), %rdx movq (%rax), %rcx xorl %eax, %eax movq (%rdx), %r9 movq %rcx, (%rdi) movq %r9, 8(%rdi) shrq $56, %rcx shrq $56, %r9 movb %cl, %r8b shrb $7, %cl movb %r9b, %r10b shrb $7, %r9b xorb %sil, %cl xorb %sil, %r9b shlb $7, %cl andb $127, %r8b shlb $7, %r9b andb $127, %r10b orb %cl, %r8b orb %r9b, %r10b movb %r8b, 7(%rdi) movb %r10b, 15(%rdi) ..B1.45: .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.46: lea 2000+_dAtan2Tab(%rip), %rax movl $-1022, %r8d movsd (%rax), %xmm0 mulsd %xmm0, %xmm2 mulsd %xmm0, %xmm9 movsd %xmm2, -16(%rsp) jmp ..B1.13 ..B1.47: lea 2000+_dAtan2Tab(%rip), %rax movaps %xmm4, %xmm0 movl $-1022, %r9d movsd (%rax), %xmm1 mulsd %xmm1, %xmm0 mulsd %xmm1, %xmm6 movsd %xmm0, -24(%rsp) jmp ..B1.11 ..B1.48: testl $1048575, 4(%rax) jne ..B1.50 ..B1.49: cmpl $0, (%rax) je ..B1.38 ..B1.50: movsd (%r9), %xmm0 addsd (%rax), %xmm0 lea 1992+_dAtan2Tab(%rip), %rax movq (%rax), %rdx xorl %eax, %eax movsd %xmm0, (%rdi) movq %rdx, 8(%rdi) .cfi_restore 13 popq %r13 .cfi_def_cfa_offset 8 ret .cfi_def_cfa_offset 16 .cfi_offset 13, -16 ..B1.51: testl $1048575, 4(%r9) jne ..B1.50 ..B1.52: cmpl $0, (%r9) jne ..B1.50 ..B1.55: cmpl $2047, %r10d je ..B1.48 jmp ..B1.36 ..B1.57: cmpl $0, (%r9) jne ..B1.23 jmp ..B1.31 .align 16,0x90 .cfi_endproc .type __libm_atan2_k64,@function .size __libm_atan2_k64,.-__libm_atan2_k64 .data # -- End __libm_atan2_k64 .section .rodata, "a" .align 16 .align 16 _dAtan2Tab: .long 3892314112 .long 1069799150 .long 2332892550 .long 1039715405 .long 1342177280 .long 1070305495 .long 270726690 .long 1041535749 .long 939524096 .long 1070817911 .long 2253973841 .long 3188654726 .long 3221225472 .long 1071277294 .long 3853927037 .long 1043226911 .long 2818572288 .long 1071767563 .long 2677759107 .long 1044314101 .long 3355443200 .long 1072103591 .long 1636578514 .long 3191094734 .long 1476395008 .long 1072475260 .long 1864703685 .long 3188646936 .long 805306368 .long 1072747407 .long 192551812 .long 3192726267 .long 2013265920 .long 1072892781 .long 2240369452 .long 1043768538 .long 0 .long 1072999953 .long 3665168337 .long 3192705970 .long 402653184 .long 1073084787 .long 1227953434 .long 3192313277 .long 2013265920 .long 1073142981 .long 3853283127 .long 1045277487 .long 805306368 .long 1073187261 .long 1676192264 .long 3192868861 .long 134217728 .long 1073217000 .long 4290763938 .long 1042034855 .long 671088640 .long 1073239386 .long 994303084 .long 3189643768 .long 402653184 .long 1073254338 .long 1878067156 .long 1042652475 .long 1610612736 .long 1073265562 .long 670314820 .long 1045138554 .long 3221225472 .long 1073273048 .long 691126919 .long 3189987794 .long 3489660928 .long 1073278664 .long 1618990832 .long 3188194509 .long 1207959552 .long 1073282409 .long 2198872939 .long 1044806069 .long 3489660928 .long 1073285217 .long 2633982383 .long 1042307894 .long 939524096 .long 1073287090 .long 1059367786 .long 3189114230 .long 2281701376 .long 1073288494 .long 3158525533 .long 1044484961 .long 3221225472 .long 1073289430 .long 286581777 .long 1044893263 .long 4026531840 .long 1073290132 .long 2000245215 .long 3191647611 .long 134217728 .long 1073290601 .long 4205071590 .long 1045035927 .long 536870912 .long 1073290952 .long 2334392229 .long 1043447393 .long 805306368 .long 1073291186 .long 2281458177 .long 3188885569 .long 3087007744 .long 1073291361 .long 691611507 .long 1044733832 .long 3221225472 .long 1073291478 .long 1816229550 .long 1044363390 .long 2281701376 .long 1073291566 .long 1993843750 .long 3189837440 .long 134217728 .long 1073291625 .long 3654754496 .long 1044970837 .long 4026531840 .long 1073291668 .long 3224300229 .long 3191935390 .long 805306368 .long 1073291698 .long 2988777976 .long 3188950659 .long 536870912 .long 1073291720 .long 1030371341 .long 1043402665 .long 3221225472 .long 1073291734 .long 1524463765 .long 1044361356 .long 3087007744 .long 1073291745 .long 2754295320 .long 1044731036 .long 134217728 .long 1073291753 .long 3099629057 .long 1044970710 .long 2281701376 .long 1073291758 .long 962914160 .long 3189838838 .long 805306368 .long 1073291762 .long 3543908206 .long 3188950786 .long 4026531840 .long 1073291764 .long 1849909620 .long 3191935434 .long 3221225472 .long 1073291766 .long 1641333636 .long 1044361352 .long 536870912 .long 1073291768 .long 1373968792 .long 1043402654 .long 134217728 .long 1073291769 .long 2033191599 .long 1044970710 .long 3087007744 .long 1073291769 .long 4117947437 .long 1044731035 .long 805306368 .long 1073291770 .long 315378368 .long 3188950787 .long 2281701376 .long 1073291770 .long 2428571750 .long 3189838838 .long 3221225472 .long 1073291770 .long 1608007466 .long 1044361352 .long 4026531840 .long 1073291770 .long 1895711420 .long 3191935434 .long 134217728 .long 1073291771 .long 2031108713 .long 1044970710 .long 536870912 .long 1073291771 .long 1362518342 .long 1043402654 .long 805306368 .long 1073291771 .long 317461253 .long 3188950787 .long 939524096 .long 1073291771 .long 4117231784 .long 1044731035 .long 1073741824 .long 1073291771 .long 1607942376 .long 1044361352 .long 1207959552 .long 1073291771 .long 2428929577 .long 3189838838 .long 1207959552 .long 1073291771 .long 2031104645 .long 1044970710 .long 1342177280 .long 1073291771 .long 1895722602 .long 3191935434 .long 1342177280 .long 1073291771 .long 317465322 .long 3188950787 .long 1342177280 .long 1073291771 .long 1362515546 .long 1043402654 .long 1342177280 .long 1073291771 .long 1607942248 .long 1044361352 .long 1342177280 .long 1073291771 .long 4117231610 .long 1044731035 .long 1342177280 .long 1073291771 .long 2031104637 .long 1044970710 .long 1342177280 .long 1073291771 .long 1540251232 .long 1045150466 .long 1342177280 .long 1073291771 .long 2644671394 .long 1045270303 .long 1342177280 .long 1073291771 .long 2399244691 .long 1045360181 .long 1342177280 .long 1073291771 .long 803971124 .long 1045420100 .long 1476395008 .long 1073291771 .long 3613709523 .long 3192879152 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192849193 .long 1476395008 .long 1073291771 .long 177735686 .long 3192826724 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192811744 .long 1476395008 .long 1073291771 .long 2754716064 .long 3192800509 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192793019 .long 1476395008 .long 1073291771 .long 1895722605 .long 3192787402 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192783657 .long 1476395008 .long 1073291771 .long 3613709523 .long 3192780848 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192778976 .long 1476395008 .long 1073291771 .long 177735686 .long 3192777572 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192776635 .long 1476395008 .long 1073291771 .long 2754716064 .long 3192775933 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192775465 .long 1476395008 .long 1073291771 .long 1895722605 .long 3192775114 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192774880 .long 1476395008 .long 1073291771 .long 3613709523 .long 3192774704 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192774587 .long 1476395008 .long 1073291771 .long 177735686 .long 3192774500 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192774441 .long 1476395008 .long 1073291771 .long 2754716064 .long 3192774397 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192774368 .long 1476395008 .long 1073291771 .long 1895722605 .long 3192774346 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192774331 .long 1476395008 .long 1073291771 .long 3613709523 .long 3192774320 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192774313 .long 1476395008 .long 1073291771 .long 177735686 .long 3192774308 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192774304 .long 1476395008 .long 1073291771 .long 2754716064 .long 3192774301 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192774299 .long 1476395008 .long 1073291771 .long 1895722605 .long 3192774298 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192774297 .long 1476395008 .long 1073291771 .long 3613709523 .long 3192774296 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192774296 .long 1476395008 .long 1073291771 .long 177735686 .long 3192774296 .long 1476395008 .long 1073291771 .long 3490996172 .long 3192774295 .long 1476395008 .long 1073291771 .long 2754716064 .long 3192774295 .long 1476395008 .long 1073291771 .long 2263862659 .long 3192774295 .long 1476395008 .long 1073291771 .long 1895722605 .long 3192774295 .long 1476395008 .long 1073291771 .long 1650295902 .long 3192774295 .long 1476395008 .long 1073291771 .long 1466225875 .long 3192774295 .long 1476395008 .long 1073291771 .long 1343512524 .long 3192774295 .long 1476395008 .long 1073291771 .long 1251477510 .long 3192774295 .long 1476395008 .long 1073291771 .long 1190120835 .long 3192774295 .long 1476395008 .long 1073291771 .long 1144103328 .long 3192774295 .long 1476395008 .long 1073291771 .long 1113424990 .long 3192774295 .long 1476395008 .long 1073291771 .long 1090416237 .long 3192774295 .long 1476395008 .long 1073291771 .long 1075077068 .long 3192774295 .long 1431655765 .long 3218429269 .long 2576978363 .long 1070176665 .long 2453154343 .long 3217180964 .long 4189149139 .long 1069314502 .long 1775019125 .long 3216459198 .long 273199057 .long 1068739452 .long 874748308 .long 3215993277 .long 0 .long 1069547520 .long 0 .long 1072693248 .long 0 .long 1073741824 .long 0 .long 1072693248 .long 0 .long 3220176896 .long 1413754136 .long 1072243195 .long 856972295 .long 1015129638 .long 1413754136 .long 1073291771 .long 856972295 .long 1016178214 .long 1413754136 .long 1074340347 .long 856972295 .long 1017226790 .long 2134057426 .long 1073928572 .long 1285458442 .long 1016756537 .long 0 .long 3220176896 .long 0 .long 0 .long 0 .long 2144337920 .long 0 .long 1048576 .long 33554432 .long 1101004800 .type _dAtan2Tab,@object .size _dAtan2Tab,2024 .data .section .note.GNU-stack, "" // -- Begin DWARF2 SEGMENT .eh_frame .section .eh_frame,"a",@progbits .eh_frame_seg: .align 1 # End