|  | /* | 
|  | Copyright (c) 2014, 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. | 
|  | */ | 
|  |  | 
|  | /******************************************************************************/ | 
|  | //                     ALGORITHM DESCRIPTION | 
|  | //                     --------------------- | 
|  | // | 
|  | //     1. RANGE REDUCTION | 
|  | // | 
|  | //     We perform an initial range reduction from X to r with | 
|  | // | 
|  | //          X =~= N * pi/32 + r | 
|  | // | 
|  | //     so that |r| <= pi/64 + epsilon. We restrict inputs to those | 
|  | //     where |N| <= 932560. Beyond this, the range reduction is | 
|  | //     insufficiently accurate. For extremely small inputs, | 
|  | //     denormalization can occur internally, impacting performance. | 
|  | //     This means that the main path is actually only taken for | 
|  | //     2^-252 <= |X| < 90112. | 
|  | // | 
|  | //     To avoid branches, we perform the range reduction to full | 
|  | //     accuracy each time. | 
|  | // | 
|  | //          X - N * (P_1 + P_2 + P_3) | 
|  | // | 
|  | //     where P_1 and P_2 are 32-bit numbers (so multiplication by N | 
|  | //     is exact) and P_3 is a 53-bit number. Together, these | 
|  | //     approximate pi well enough for all cases in the restricted | 
|  | //     range. | 
|  | // | 
|  | //     The main reduction sequence is: | 
|  | // | 
|  | //             y = 32/pi * x | 
|  | //             N = integer(y) | 
|  | //     (computed by adding and subtracting off SHIFTER) | 
|  | // | 
|  | //             m_1 = N * P_1 | 
|  | //             m_2 = N * P_2 | 
|  | //             r_1 = x - m_1 | 
|  | //             r = r_1 - m_2 | 
|  | //     (this r can be used for most of the calculation) | 
|  | // | 
|  | //             c_1 = r_1 - r | 
|  | //             m_3 = N * P_3 | 
|  | //             c_2 = c_1 - m_2 | 
|  | //             c = c_2 - m_3 | 
|  | // | 
|  | //     2. MAIN ALGORITHM | 
|  | // | 
|  | //     The algorithm uses a table lookup based on B = M * pi / 32 | 
|  | //     where M = N mod 64. The stored values are: | 
|  | //       sigma             closest power of 2 to cos(B) | 
|  | //       C_hl              53-bit cos(B) - sigma | 
|  | //       S_hi + S_lo       2 * 53-bit sin(B) | 
|  | // | 
|  | //     The computation is organized as follows: | 
|  | // | 
|  | //          sin(B + r + c) = [sin(B) + sigma * r] + | 
|  | //                           r * (cos(B) - sigma) + | 
|  | //                           sin(B) * [cos(r + c) - 1] + | 
|  | //                           cos(B) * [sin(r + c) - r] | 
|  | // | 
|  | //     which is approximately: | 
|  | // | 
|  | //          [S_hi + sigma * r] + | 
|  | //          C_hl * r + | 
|  | //          S_lo + S_hi * [(cos(r) - 1) - r * c] + | 
|  | //          (C_hl + sigma) * [(sin(r) - r) + c] | 
|  | // | 
|  | //     and this is what is actually computed. We separate this sum | 
|  | //     into four parts: | 
|  | // | 
|  | //          hi + med + pols + corr | 
|  | // | 
|  | //     where | 
|  | // | 
|  | //          hi       = S_hi + sigma r | 
|  | //          med      = C_hl * r | 
|  | //          pols     = S_hi * (cos(r) - 1) + (C_hl + sigma) * (sin(r) - r) | 
|  | //          corr     = S_lo + c * ((C_hl + sigma) - S_hi * r) | 
|  | // | 
|  | //     3. POLYNOMIAL | 
|  | // | 
|  | //     The polynomial S_hi * (cos(r) - 1) + (C_hl + sigma) * | 
|  | //     (sin(r) - r) can be rearranged freely, since it is quite | 
|  | //     small, so we exploit parallelism to the fullest. | 
|  | // | 
|  | //          psc4       =   SC_4 * r_1 | 
|  | //          msc4       =   psc4 * r | 
|  | //          r2         =   r * r | 
|  | //          msc2       =   SC_2 * r2 | 
|  | //          r4         =   r2 * r2 | 
|  | //          psc3       =   SC_3 + msc4 | 
|  | //          psc1       =   SC_1 + msc2 | 
|  | //          msc3       =   r4 * psc3 | 
|  | //          sincospols =   psc1 + msc3 | 
|  | //          pols       =   sincospols * | 
|  | //                         <S_hi * r^2 | (C_hl + sigma) * r^3> | 
|  | // | 
|  | //     4. CORRECTION TERM | 
|  | // | 
|  | //     This is where the "c" component of the range reduction is | 
|  | //     taken into account; recall that just "r" is used for most of | 
|  | //     the calculation. | 
|  | // | 
|  | //          -c   = m_3 - c_2 | 
|  | //          -d   = S_hi * r - (C_hl + sigma) | 
|  | //          corr = -c * -d + S_lo | 
|  | // | 
|  | //     5. COMPENSATED SUMMATIONS | 
|  | // | 
|  | //     The two successive compensated summations add up the high | 
|  | //     and medium parts, leaving just the low parts to add up at | 
|  | //     the end. | 
|  | // | 
|  | //          rs        =  sigma * r | 
|  | //          res_int   =  S_hi + rs | 
|  | //          k_0       =  S_hi - res_int | 
|  | //          k_2       =  k_0 + rs | 
|  | //          med       =  C_hl * r | 
|  | //          res_hi    =  res_int + med | 
|  | //          k_1       =  res_int - res_hi | 
|  | //          k_3       =  k_1 + med | 
|  | // | 
|  | //     6. FINAL SUMMATION | 
|  | // | 
|  | //     We now add up all the small parts: | 
|  | // | 
|  | //          res_lo = pols(hi) + pols(lo) + corr + k_1 + k_3 | 
|  | // | 
|  | //     Now the overall result is just: | 
|  | // | 
|  | //          res_hi + res_lo | 
|  | // | 
|  | //     7. SMALL ARGUMENTS | 
|  | // | 
|  | //     If |x| < SNN (SNN meaning the smallest normal number), we | 
|  | //     simply perform 0.1111111 cdots 1111 * x. For SNN <= |x|, we | 
|  | //     do 2^-55 * (2^55 * x - x). | 
|  | // | 
|  | // Special cases: | 
|  | //  sin(NaN) = quiet NaN, and raise invalid exception | 
|  | //  sin(INF) = NaN and raise invalid exception | 
|  | //  sin(+/-0) = +/-0 | 
|  | // | 
|  | /******************************************************************************/ | 
|  |  | 
|  | #include <private/bionic_asm.h> | 
|  | # -- Begin  static_func | 
|  | .text | 
|  | .align __bionic_asm_align | 
|  | .type static_func, @function | 
|  | static_func: | 
|  | ..B1.1: | 
|  | call      ..L2 | 
|  | ..L2: | 
|  | popl      %eax | 
|  | lea       _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax | 
|  | lea       static_const_table@GOTOFF(%eax), %eax | 
|  | ret | 
|  | .size   static_func,.-static_func | 
|  | # -- End  static_func | 
|  |  | 
|  | # -- Begin  sin | 
|  | ENTRY(sin) | 
|  | # parameter 1: 8 + %ebp | 
|  | ..B2.1: | 
|  | ..B2.2: | 
|  | pushl     %ebp | 
|  | movl      %esp, %ebp | 
|  | subl      $120, %esp | 
|  | movl      %ebx, 56(%esp) | 
|  | call      static_func | 
|  | movl      %eax, %ebx | 
|  | movsd     128(%esp), %xmm0 | 
|  | pextrw    $3, %xmm0, %eax | 
|  | andl      $32767, %eax | 
|  | subl      $12336, %eax | 
|  | cmpl      $4293, %eax | 
|  | ja        .L_2TAG_PACKET_0.0.2 | 
|  | movsd     2160(%ebx), %xmm1 | 
|  | mulsd     %xmm0, %xmm1 | 
|  | movsd     2272(%ebx), %xmm5 | 
|  | movapd    2256(%ebx), %xmm4 | 
|  | andpd     %xmm0, %xmm4 | 
|  | orps      %xmm4, %xmm5 | 
|  | movsd     2128(%ebx), %xmm3 | 
|  | movapd    2112(%ebx), %xmm2 | 
|  | addpd     %xmm5, %xmm1 | 
|  | cvttsd2si %xmm1, %edx | 
|  | cvtsi2sdl %edx, %xmm1 | 
|  | mulsd     %xmm1, %xmm3 | 
|  | unpcklpd  %xmm1, %xmm1 | 
|  | addl      $1865216, %edx | 
|  | movapd    %xmm0, %xmm4 | 
|  | andl      $63, %edx | 
|  | movapd    2096(%ebx), %xmm5 | 
|  | lea       (%ebx), %eax | 
|  | shll      $5, %edx | 
|  | addl      %edx, %eax | 
|  | mulpd     %xmm1, %xmm2 | 
|  | subsd     %xmm3, %xmm0 | 
|  | mulsd     2144(%ebx), %xmm1 | 
|  | subsd     %xmm3, %xmm4 | 
|  | movsd     8(%eax), %xmm7 | 
|  | unpcklpd  %xmm0, %xmm0 | 
|  | movapd    %xmm4, %xmm3 | 
|  | subsd     %xmm2, %xmm4 | 
|  | mulpd     %xmm0, %xmm5 | 
|  | subpd     %xmm2, %xmm0 | 
|  | movapd    2064(%ebx), %xmm6 | 
|  | mulsd     %xmm4, %xmm7 | 
|  | subsd     %xmm4, %xmm3 | 
|  | mulpd     %xmm0, %xmm5 | 
|  | mulpd     %xmm0, %xmm0 | 
|  | subsd     %xmm2, %xmm3 | 
|  | movapd    (%eax), %xmm2 | 
|  | subsd     %xmm3, %xmm1 | 
|  | movsd     24(%eax), %xmm3 | 
|  | addsd     %xmm3, %xmm2 | 
|  | subsd     %xmm2, %xmm7 | 
|  | mulsd     %xmm4, %xmm2 | 
|  | mulpd     %xmm0, %xmm6 | 
|  | mulsd     %xmm4, %xmm3 | 
|  | mulpd     %xmm0, %xmm2 | 
|  | mulpd     %xmm0, %xmm0 | 
|  | addpd     2080(%ebx), %xmm5 | 
|  | mulsd     (%eax), %xmm4 | 
|  | addpd     2048(%ebx), %xmm6 | 
|  | mulpd     %xmm0, %xmm5 | 
|  | movapd    %xmm3, %xmm0 | 
|  | addsd     8(%eax), %xmm3 | 
|  | mulpd     %xmm7, %xmm1 | 
|  | movapd    %xmm4, %xmm7 | 
|  | addsd     %xmm3, %xmm4 | 
|  | addpd     %xmm5, %xmm6 | 
|  | movsd     8(%eax), %xmm5 | 
|  | subsd     %xmm3, %xmm5 | 
|  | subsd     %xmm4, %xmm3 | 
|  | addsd     16(%eax), %xmm1 | 
|  | mulpd     %xmm2, %xmm6 | 
|  | addsd     %xmm0, %xmm5 | 
|  | addsd     %xmm7, %xmm3 | 
|  | addsd     %xmm5, %xmm1 | 
|  | addsd     %xmm3, %xmm1 | 
|  | addsd     %xmm6, %xmm1 | 
|  | unpckhpd  %xmm6, %xmm6 | 
|  | addsd     %xmm6, %xmm1 | 
|  | addsd     %xmm1, %xmm4 | 
|  | movsd     %xmm4, (%esp) | 
|  | fldl      (%esp) | 
|  | jmp       .L_2TAG_PACKET_1.0.2 | 
|  | .L_2TAG_PACKET_0.0.2: | 
|  | jg        .L_2TAG_PACKET_2.0.2 | 
|  | shrl      $4, %eax | 
|  | cmpl      $268434685, %eax | 
|  | jne       .L_2TAG_PACKET_3.0.2 | 
|  | movsd     %xmm0, (%esp) | 
|  | fldl      (%esp) | 
|  | jmp       .L_2TAG_PACKET_1.0.2 | 
|  | .L_2TAG_PACKET_3.0.2: | 
|  | movsd     2192(%ebx), %xmm3 | 
|  | mulsd     %xmm0, %xmm3 | 
|  | subsd     %xmm0, %xmm3 | 
|  | mulsd     2208(%ebx), %xmm3 | 
|  | movsd     %xmm0, (%esp) | 
|  | fldl      (%esp) | 
|  | jmp       .L_2TAG_PACKET_1.0.2 | 
|  | .L_2TAG_PACKET_2.0.2: | 
|  | movl      132(%esp), %eax | 
|  | andl      $2146435072, %eax | 
|  | cmpl      $2146435072, %eax | 
|  | je        .L_2TAG_PACKET_4.0.2 | 
|  | subl      $32, %esp | 
|  | movsd     %xmm0, (%esp) | 
|  | lea       40(%esp), %eax | 
|  | movl      %eax, 8(%esp) | 
|  | movl      $2, %eax | 
|  | movl      %eax, 12(%esp) | 
|  | call      __libm_sincos_huge | 
|  | addl      $32, %esp | 
|  | fldl      16(%esp) | 
|  | jmp       .L_2TAG_PACKET_1.0.2 | 
|  | .L_2TAG_PACKET_4.0.2: | 
|  | fldl      128(%esp) | 
|  | fmull     2240(%ebx) | 
|  | .L_2TAG_PACKET_1.0.2: | 
|  | movl      56(%esp), %ebx | 
|  | movl      %ebp, %esp | 
|  | popl      %ebp | 
|  | ret | 
|  | ..B2.3: | 
|  | END(sin) | 
|  | # -- End  sin | 
|  |  | 
|  | # Start file scope ASM | 
|  | ALIAS_SYMBOL(sinl, sin); | 
|  | # End file scope ASM | 
|  | .section .rodata, "a" | 
|  | .align 16 | 
|  | .align 16 | 
|  | static_const_table: | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	393047345 | 
|  | .long	3212032302 | 
|  | .long	3156849708 | 
|  | .long	1069094822 | 
|  | .long	3758096384 | 
|  | .long	3158189848 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	18115067 | 
|  | .long	3214126342 | 
|  | .long	1013556747 | 
|  | .long	1070135480 | 
|  | .long	3221225472 | 
|  | .long	3160567065 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	2476548698 | 
|  | .long	3215330282 | 
|  | .long	785751814 | 
|  | .long	1070765062 | 
|  | .long	2684354560 | 
|  | .long	3161838221 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	2255197647 | 
|  | .long	3216211105 | 
|  | .long	2796464483 | 
|  | .long	1071152610 | 
|  | .long	3758096384 | 
|  | .long	3160878317 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1945768569 | 
|  | .long	3216915048 | 
|  | .long	939980347 | 
|  | .long	1071524701 | 
|  | .long	536870912 | 
|  | .long	1012796809 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1539668340 | 
|  | .long	3217396327 | 
|  | .long	967731400 | 
|  | .long	1071761211 | 
|  | .long	536870912 | 
|  | .long	1015752157 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1403757309 | 
|  | .long	3217886718 | 
|  | .long	621354454 | 
|  | .long	1071926515 | 
|  | .long	536870912 | 
|  | .long	1013450602 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	2583490354 | 
|  | .long	1070236281 | 
|  | .long	1719614413 | 
|  | .long	1072079006 | 
|  | .long	536870912 | 
|  | .long	3163282740 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2485417816 | 
|  | .long	1069626316 | 
|  | .long	1796544321 | 
|  | .long	1072217216 | 
|  | .long	536870912 | 
|  | .long	3162686945 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2598800519 | 
|  | .long	1068266419 | 
|  | .long	688824739 | 
|  | .long	1072339814 | 
|  | .long	3758096384 | 
|  | .long	1010431536 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2140183630 | 
|  | .long	3214756396 | 
|  | .long	4051746225 | 
|  | .long	1072445618 | 
|  | .long	2147483648 | 
|  | .long	3161907377 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	1699043957 | 
|  | .long	3216902261 | 
|  | .long	3476196678 | 
|  | .long	1072533611 | 
|  | .long	536870912 | 
|  | .long	1014257638 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	1991047213 | 
|  | .long	1067753521 | 
|  | .long	1455828442 | 
|  | .long	1072602945 | 
|  | .long	3758096384 | 
|  | .long	1015505073 | 
|  | .long	0 | 
|  | .long	1070596096 | 
|  | .long	240740309 | 
|  | .long	3215727903 | 
|  | .long	3489094832 | 
|  | .long	1072652951 | 
|  | .long	536870912 | 
|  | .long	1014325783 | 
|  | .long	0 | 
|  | .long	1070596096 | 
|  | .long	257503056 | 
|  | .long	3214647653 | 
|  | .long	2748392742 | 
|  | .long	1072683149 | 
|  | .long	1073741824 | 
|  | .long	3163061750 | 
|  | .long	0 | 
|  | .long	1069547520 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	257503056 | 
|  | .long	1067164005 | 
|  | .long	2748392742 | 
|  | .long	1072683149 | 
|  | .long	1073741824 | 
|  | .long	3163061750 | 
|  | .long	0 | 
|  | .long	3217031168 | 
|  | .long	240740309 | 
|  | .long	1068244255 | 
|  | .long	3489094832 | 
|  | .long	1072652951 | 
|  | .long	536870912 | 
|  | .long	1014325783 | 
|  | .long	0 | 
|  | .long	3218079744 | 
|  | .long	1991047213 | 
|  | .long	3215237169 | 
|  | .long	1455828442 | 
|  | .long	1072602945 | 
|  | .long	3758096384 | 
|  | .long	1015505073 | 
|  | .long	0 | 
|  | .long	3218079744 | 
|  | .long	1699043957 | 
|  | .long	1069418613 | 
|  | .long	3476196678 | 
|  | .long	1072533611 | 
|  | .long	536870912 | 
|  | .long	1014257638 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2140183630 | 
|  | .long	1067272748 | 
|  | .long	4051746225 | 
|  | .long	1072445618 | 
|  | .long	2147483648 | 
|  | .long	3161907377 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2598800519 | 
|  | .long	3215750067 | 
|  | .long	688824739 | 
|  | .long	1072339814 | 
|  | .long	3758096384 | 
|  | .long	1010431536 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2485417816 | 
|  | .long	3217109964 | 
|  | .long	1796544321 | 
|  | .long	1072217216 | 
|  | .long	536870912 | 
|  | .long	3162686945 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2583490354 | 
|  | .long	3217719929 | 
|  | .long	1719614413 | 
|  | .long	1072079006 | 
|  | .long	536870912 | 
|  | .long	3163282740 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	1403757309 | 
|  | .long	1070403070 | 
|  | .long	621354454 | 
|  | .long	1071926515 | 
|  | .long	536870912 | 
|  | .long	1013450602 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	1539668340 | 
|  | .long	1069912679 | 
|  | .long	967731400 | 
|  | .long	1071761211 | 
|  | .long	536870912 | 
|  | .long	1015752157 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	1945768569 | 
|  | .long	1069431400 | 
|  | .long	939980347 | 
|  | .long	1071524701 | 
|  | .long	536870912 | 
|  | .long	1012796809 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	2255197647 | 
|  | .long	1068727457 | 
|  | .long	2796464483 | 
|  | .long	1071152610 | 
|  | .long	3758096384 | 
|  | .long	3160878317 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	2476548698 | 
|  | .long	1067846634 | 
|  | .long	785751814 | 
|  | .long	1070765062 | 
|  | .long	2684354560 | 
|  | .long	3161838221 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	18115067 | 
|  | .long	1066642694 | 
|  | .long	1013556747 | 
|  | .long	1070135480 | 
|  | .long	3221225472 | 
|  | .long	3160567065 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	393047345 | 
|  | .long	1064548654 | 
|  | .long	3156849708 | 
|  | .long	1069094822 | 
|  | .long	3758096384 | 
|  | .long	3158189848 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	393047345 | 
|  | .long	1064548654 | 
|  | .long	3156849708 | 
|  | .long	3216578470 | 
|  | .long	3758096384 | 
|  | .long	1010706200 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	18115067 | 
|  | .long	1066642694 | 
|  | .long	1013556747 | 
|  | .long	3217619128 | 
|  | .long	3221225472 | 
|  | .long	1013083417 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	2476548698 | 
|  | .long	1067846634 | 
|  | .long	785751814 | 
|  | .long	3218248710 | 
|  | .long	2684354560 | 
|  | .long	1014354573 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	2255197647 | 
|  | .long	1068727457 | 
|  | .long	2796464483 | 
|  | .long	3218636258 | 
|  | .long	3758096384 | 
|  | .long	1013394669 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	1945768569 | 
|  | .long	1069431400 | 
|  | .long	939980347 | 
|  | .long	3219008349 | 
|  | .long	536870912 | 
|  | .long	3160280457 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	1539668340 | 
|  | .long	1069912679 | 
|  | .long	967731400 | 
|  | .long	3219244859 | 
|  | .long	536870912 | 
|  | .long	3163235805 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	1403757309 | 
|  | .long	1070403070 | 
|  | .long	621354454 | 
|  | .long	3219410163 | 
|  | .long	536870912 | 
|  | .long	3160934250 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	2583490354 | 
|  | .long	3217719929 | 
|  | .long	1719614413 | 
|  | .long	3219562654 | 
|  | .long	536870912 | 
|  | .long	1015799092 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2485417816 | 
|  | .long	3217109964 | 
|  | .long	1796544321 | 
|  | .long	3219700864 | 
|  | .long	536870912 | 
|  | .long	1015203297 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2598800519 | 
|  | .long	3215750067 | 
|  | .long	688824739 | 
|  | .long	3219823462 | 
|  | .long	3758096384 | 
|  | .long	3157915184 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	2140183630 | 
|  | .long	1067272748 | 
|  | .long	4051746225 | 
|  | .long	3219929266 | 
|  | .long	2147483648 | 
|  | .long	1014423729 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	1699043957 | 
|  | .long	1069418613 | 
|  | .long	3476196678 | 
|  | .long	3220017259 | 
|  | .long	536870912 | 
|  | .long	3161741286 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	1991047213 | 
|  | .long	3215237169 | 
|  | .long	1455828442 | 
|  | .long	3220086593 | 
|  | .long	3758096384 | 
|  | .long	3162988721 | 
|  | .long	0 | 
|  | .long	3218079744 | 
|  | .long	240740309 | 
|  | .long	1068244255 | 
|  | .long	3489094832 | 
|  | .long	3220136599 | 
|  | .long	536870912 | 
|  | .long	3161809431 | 
|  | .long	0 | 
|  | .long	3218079744 | 
|  | .long	257503056 | 
|  | .long	1067164005 | 
|  | .long	2748392742 | 
|  | .long	3220166797 | 
|  | .long	1073741824 | 
|  | .long	1015578102 | 
|  | .long	0 | 
|  | .long	3217031168 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	3220176896 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	257503056 | 
|  | .long	3214647653 | 
|  | .long	2748392742 | 
|  | .long	3220166797 | 
|  | .long	1073741824 | 
|  | .long	1015578102 | 
|  | .long	0 | 
|  | .long	1069547520 | 
|  | .long	240740309 | 
|  | .long	3215727903 | 
|  | .long	3489094832 | 
|  | .long	3220136599 | 
|  | .long	536870912 | 
|  | .long	3161809431 | 
|  | .long	0 | 
|  | .long	1070596096 | 
|  | .long	1991047213 | 
|  | .long	1067753521 | 
|  | .long	1455828442 | 
|  | .long	3220086593 | 
|  | .long	3758096384 | 
|  | .long	3162988721 | 
|  | .long	0 | 
|  | .long	1070596096 | 
|  | .long	1699043957 | 
|  | .long	3216902261 | 
|  | .long	3476196678 | 
|  | .long	3220017259 | 
|  | .long	536870912 | 
|  | .long	3161741286 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2140183630 | 
|  | .long	3214756396 | 
|  | .long	4051746225 | 
|  | .long	3219929266 | 
|  | .long	2147483648 | 
|  | .long	1014423729 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2598800519 | 
|  | .long	1068266419 | 
|  | .long	688824739 | 
|  | .long	3219823462 | 
|  | .long	3758096384 | 
|  | .long	3157915184 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2485417816 | 
|  | .long	1069626316 | 
|  | .long	1796544321 | 
|  | .long	3219700864 | 
|  | .long	536870912 | 
|  | .long	1015203297 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	2583490354 | 
|  | .long	1070236281 | 
|  | .long	1719614413 | 
|  | .long	3219562654 | 
|  | .long	536870912 | 
|  | .long	1015799092 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	1403757309 | 
|  | .long	3217886718 | 
|  | .long	621354454 | 
|  | .long	3219410163 | 
|  | .long	536870912 | 
|  | .long	3160934250 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1539668340 | 
|  | .long	3217396327 | 
|  | .long	967731400 | 
|  | .long	3219244859 | 
|  | .long	536870912 | 
|  | .long	3163235805 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1945768569 | 
|  | .long	3216915048 | 
|  | .long	939980347 | 
|  | .long	3219008349 | 
|  | .long	536870912 | 
|  | .long	3160280457 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	2255197647 | 
|  | .long	3216211105 | 
|  | .long	2796464483 | 
|  | .long	3218636258 | 
|  | .long	3758096384 | 
|  | .long	1013394669 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	2476548698 | 
|  | .long	3215330282 | 
|  | .long	785751814 | 
|  | .long	3218248710 | 
|  | .long	2684354560 | 
|  | .long	1014354573 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	18115067 | 
|  | .long	3214126342 | 
|  | .long	1013556747 | 
|  | .long	3217619128 | 
|  | .long	3221225472 | 
|  | .long	1013083417 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	393047345 | 
|  | .long	3212032302 | 
|  | .long	3156849708 | 
|  | .long	3216578470 | 
|  | .long	3758096384 | 
|  | .long	1010706200 | 
|  | .long	0 | 
|  | .long	1072693248 | 
|  | .long	1431655765 | 
|  | .long	3217380693 | 
|  | .long	0 | 
|  | .long	3219128320 | 
|  | .long	286331153 | 
|  | .long	1065423121 | 
|  | .long	1431655765 | 
|  | .long	1067799893 | 
|  | .long	436314138 | 
|  | .long	3207201184 | 
|  | .long	381774871 | 
|  | .long	3210133868 | 
|  | .long	2773927732 | 
|  | .long	1053236707 | 
|  | .long	436314138 | 
|  | .long	1056571808 | 
|  | .long	442499072 | 
|  | .long	1032893537 | 
|  | .long	442499072 | 
|  | .long	1032893537 | 
|  | .long	1413480448 | 
|  | .long	1069097467 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	771977331 | 
|  | .long	996350346 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1841940611 | 
|  | .long	1076125488 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1127743488 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1130364928 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	1015021568 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	4294967295 | 
|  | .long	1072693247 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	2147483648 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	0 | 
|  | .long	2147483648 | 
|  | .long	0 | 
|  | .long	2147483648 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .long	0 | 
|  | .long	1071644672 | 
|  | .type	static_const_table,@object | 
|  | .size	static_const_table,2288 | 
|  | .data | 
|  | .hidden __libm_sincos_huge | 
|  | .section .note.GNU-stack, "" | 
|  | # End |