1/* 2Copyright (c) 2014, Intel Corporation 3All rights reserved. 4 5Redistribution and use in source and binary forms, with or without 6modification, are permitted provided that the following conditions are met: 7 8 * Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 11 * Redistributions in binary form must reproduce the above copyright notice, 12 * this list of conditions and the following disclaimer in the documentation 13 * and/or other materials provided with the distribution. 14 15 * Neither the name of Intel Corporation nor the names of its contributors 16 * may be used to endorse or promote products derived from this software 17 * without specific prior written permission. 18 19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 20ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 23ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 26ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29*/ 30 31/******************************************************************************/ 32// ALGORITHM DESCRIPTION 33// --------------------- 34// 35// 1. RANGE REDUCTION 36// 37// We perform an initial range reduction from X to r with 38// 39// X =~= N * pi/32 + r 40// 41// so that |r| <= pi/64 + epsilon. We restrict inputs to those 42// where |N| <= 932560. Beyond this, the range reduction is 43// insufficiently accurate. For extremely small inputs, 44// denormalization can occur internally, impacting performance. 45// This means that the main path is actually only taken for 46// 2^-252 <= |X| < 90112. 47// 48// To avoid branches, we perform the range reduction to full 49// accuracy each time. 50// 51// X - N * (P_1 + P_2 + P_3) 52// 53// where P_1 and P_2 are 32-bit numbers (so multiplication by N 54// is exact) and P_3 is a 53-bit number. Together, these 55// approximate pi well enough for all cases in the restricted 56// range. 57// 58// The main reduction sequence is: 59// 60// y = 32/pi * x 61// N = integer(y) 62// (computed by adding and subtracting off SHIFTER) 63// 64// m_1 = N * P_1 65// m_2 = N * P_2 66// r_1 = x - m_1 67// r = r_1 - m_2 68// (this r can be used for most of the calculation) 69// 70// c_1 = r_1 - r 71// m_3 = N * P_3 72// c_2 = c_1 - m_2 73// c = c_2 - m_3 74// 75// 2. MAIN ALGORITHM 76// 77// The algorithm uses a table lookup based on B = M * pi / 32 78// where M = N mod 64. The stored values are: 79// sigma closest power of 2 to cos(B) 80// C_hl 53-bit cos(B) - sigma 81// S_hi + S_lo 2 * 53-bit sin(B) 82// 83// The computation is organized as follows: 84// 85// sin(B + r + c) = [sin(B) + sigma * r] + 86// r * (cos(B) - sigma) + 87// sin(B) * [cos(r + c) - 1] + 88// cos(B) * [sin(r + c) - r] 89// 90// which is approximately: 91// 92// [S_hi + sigma * r] + 93// C_hl * r + 94// S_lo + S_hi * [(cos(r) - 1) - r * c] + 95// (C_hl + sigma) * [(sin(r) - r) + c] 96// 97// and this is what is actually computed. We separate this sum 98// into four parts: 99// 100// hi + med + pols + corr 101// 102// where 103// 104// hi = S_hi + sigma r 105// med = C_hl * r 106// pols = S_hi * (cos(r) - 1) + (C_hl + sigma) * (sin(r) - r) 107// corr = S_lo + c * ((C_hl + sigma) - S_hi * r) 108// 109// 3. POLYNOMIAL 110// 111// The polynomial S_hi * (cos(r) - 1) + (C_hl + sigma) * 112// (sin(r) - r) can be rearranged freely, since it is quite 113// small, so we exploit parallelism to the fullest. 114// 115// psc4 = SC_4 * r_1 116// msc4 = psc4 * r 117// r2 = r * r 118// msc2 = SC_2 * r2 119// r4 = r2 * r2 120// psc3 = SC_3 + msc4 121// psc1 = SC_1 + msc2 122// msc3 = r4 * psc3 123// sincospols = psc1 + msc3 124// pols = sincospols * 125// <S_hi * r^2 | (C_hl + sigma) * r^3> 126// 127// 4. CORRECTION TERM 128// 129// This is where the "c" component of the range reduction is 130// taken into account; recall that just "r" is used for most of 131// the calculation. 132// 133// -c = m_3 - c_2 134// -d = S_hi * r - (C_hl + sigma) 135// corr = -c * -d + S_lo 136// 137// 5. COMPENSATED SUMMATIONS 138// 139// The two successive compensated summations add up the high 140// and medium parts, leaving just the low parts to add up at 141// the end. 142// 143// rs = sigma * r 144// res_int = S_hi + rs 145// k_0 = S_hi - res_int 146// k_2 = k_0 + rs 147// med = C_hl * r 148// res_hi = res_int + med 149// k_1 = res_int - res_hi 150// k_3 = k_1 + med 151// 152// 6. FINAL SUMMATION 153// 154// We now add up all the small parts: 155// 156// res_lo = pols(hi) + pols(lo) + corr + k_1 + k_3 157// 158// Now the overall result is just: 159// 160// res_hi + res_lo 161// 162// 7. SMALL ARGUMENTS 163// 164// If |x| < SNN (SNN meaning the smallest normal number), we 165// simply perform 0.1111111 cdots 1111 * x. For SNN <= |x|, we 166// do 2^-55 * (2^55 * x - x). 167// 168// Special cases: 169// sin(NaN) = quiet NaN, and raise invalid exception 170// sin(INF) = NaN and raise invalid exception 171// sin(+/-0) = +/-0 172// 173/******************************************************************************/ 174 175#include <private/bionic_asm.h> 176# -- Begin static_func 177 .text 178 .align __bionic_asm_align 179 .type static_func, @function 180static_func: 181..B1.1: 182 call ..L2 183..L2: 184 popl %eax 185 lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax 186 lea static_const_table@GOTOFF(%eax), %eax 187 ret 188 .size static_func,.-static_func 189# -- End static_func 190 191# -- Begin sin 192ENTRY(sin) 193# parameter 1: 8 + %ebp 194..B2.1: 195..B2.2: 196 pushl %ebp 197 movl %esp, %ebp 198 subl $120, %esp 199 movl %ebx, 56(%esp) 200 call static_func 201 movl %eax, %ebx 202 movsd 128(%esp), %xmm0 203 pextrw $3, %xmm0, %eax 204 andl $32767, %eax 205 subl $12336, %eax 206 cmpl $4293, %eax 207 ja .L_2TAG_PACKET_0.0.2 208 movsd 2160(%ebx), %xmm1 209 mulsd %xmm0, %xmm1 210 movsd 2272(%ebx), %xmm5 211 movapd 2256(%ebx), %xmm4 212 andpd %xmm0, %xmm4 213 orps %xmm4, %xmm5 214 movsd 2128(%ebx), %xmm3 215 movapd 2112(%ebx), %xmm2 216 addpd %xmm5, %xmm1 217 cvttsd2si %xmm1, %edx 218 cvtsi2sdl %edx, %xmm1 219 mulsd %xmm1, %xmm3 220 unpcklpd %xmm1, %xmm1 221 addl $1865216, %edx 222 movapd %xmm0, %xmm4 223 andl $63, %edx 224 movapd 2096(%ebx), %xmm5 225 lea (%ebx), %eax 226 shll $5, %edx 227 addl %edx, %eax 228 mulpd %xmm1, %xmm2 229 subsd %xmm3, %xmm0 230 mulsd 2144(%ebx), %xmm1 231 subsd %xmm3, %xmm4 232 movsd 8(%eax), %xmm7 233 unpcklpd %xmm0, %xmm0 234 movapd %xmm4, %xmm3 235 subsd %xmm2, %xmm4 236 mulpd %xmm0, %xmm5 237 subpd %xmm2, %xmm0 238 movapd 2064(%ebx), %xmm6 239 mulsd %xmm4, %xmm7 240 subsd %xmm4, %xmm3 241 mulpd %xmm0, %xmm5 242 mulpd %xmm0, %xmm0 243 subsd %xmm2, %xmm3 244 movapd (%eax), %xmm2 245 subsd %xmm3, %xmm1 246 movsd 24(%eax), %xmm3 247 addsd %xmm3, %xmm2 248 subsd %xmm2, %xmm7 249 mulsd %xmm4, %xmm2 250 mulpd %xmm0, %xmm6 251 mulsd %xmm4, %xmm3 252 mulpd %xmm0, %xmm2 253 mulpd %xmm0, %xmm0 254 addpd 2080(%ebx), %xmm5 255 mulsd (%eax), %xmm4 256 addpd 2048(%ebx), %xmm6 257 mulpd %xmm0, %xmm5 258 movapd %xmm3, %xmm0 259 addsd 8(%eax), %xmm3 260 mulpd %xmm7, %xmm1 261 movapd %xmm4, %xmm7 262 addsd %xmm3, %xmm4 263 addpd %xmm5, %xmm6 264 movsd 8(%eax), %xmm5 265 subsd %xmm3, %xmm5 266 subsd %xmm4, %xmm3 267 addsd 16(%eax), %xmm1 268 mulpd %xmm2, %xmm6 269 addsd %xmm0, %xmm5 270 addsd %xmm7, %xmm3 271 addsd %xmm5, %xmm1 272 addsd %xmm3, %xmm1 273 addsd %xmm6, %xmm1 274 unpckhpd %xmm6, %xmm6 275 addsd %xmm6, %xmm1 276 addsd %xmm1, %xmm4 277 movsd %xmm4, (%esp) 278 fldl (%esp) 279 jmp .L_2TAG_PACKET_1.0.2 280.L_2TAG_PACKET_0.0.2: 281 jg .L_2TAG_PACKET_2.0.2 282 shrl $4, %eax 283 cmpl $268434685, %eax 284 jne .L_2TAG_PACKET_3.0.2 285 movsd %xmm0, (%esp) 286 fldl (%esp) 287 jmp .L_2TAG_PACKET_1.0.2 288.L_2TAG_PACKET_3.0.2: 289 movsd 2192(%ebx), %xmm3 290 mulsd %xmm0, %xmm3 291 subsd %xmm0, %xmm3 292 mulsd 2208(%ebx), %xmm3 293 movsd %xmm0, (%esp) 294 fldl (%esp) 295 jmp .L_2TAG_PACKET_1.0.2 296.L_2TAG_PACKET_2.0.2: 297 movl 132(%esp), %eax 298 andl $2146435072, %eax 299 cmpl $2146435072, %eax 300 je .L_2TAG_PACKET_4.0.2 301 subl $32, %esp 302 movsd %xmm0, (%esp) 303 lea 40(%esp), %eax 304 movl %eax, 8(%esp) 305 movl $2, %eax 306 movl %eax, 12(%esp) 307 call __libm_sincos_huge 308 addl $32, %esp 309 fldl 16(%esp) 310 jmp .L_2TAG_PACKET_1.0.2 311.L_2TAG_PACKET_4.0.2: 312 fldl 128(%esp) 313 fmull 2240(%ebx) 314.L_2TAG_PACKET_1.0.2: 315 movl 56(%esp), %ebx 316 movl %ebp, %esp 317 popl %ebp 318 ret 319..B2.3: 320END(sin) 321# -- End sin 322 323# Start file scope ASM 324ALIAS_SYMBOL(sinl, sin); 325# End file scope ASM 326 .section .rodata, "a" 327 .align 16 328 .align 16 329static_const_table: 330 .long 0 331 .long 0 332 .long 0 333 .long 0 334 .long 0 335 .long 0 336 .long 0 337 .long 1072693248 338 .long 393047345 339 .long 3212032302 340 .long 3156849708 341 .long 1069094822 342 .long 3758096384 343 .long 3158189848 344 .long 0 345 .long 1072693248 346 .long 18115067 347 .long 3214126342 348 .long 1013556747 349 .long 1070135480 350 .long 3221225472 351 .long 3160567065 352 .long 0 353 .long 1072693248 354 .long 2476548698 355 .long 3215330282 356 .long 785751814 357 .long 1070765062 358 .long 2684354560 359 .long 3161838221 360 .long 0 361 .long 1072693248 362 .long 2255197647 363 .long 3216211105 364 .long 2796464483 365 .long 1071152610 366 .long 3758096384 367 .long 3160878317 368 .long 0 369 .long 1072693248 370 .long 1945768569 371 .long 3216915048 372 .long 939980347 373 .long 1071524701 374 .long 536870912 375 .long 1012796809 376 .long 0 377 .long 1072693248 378 .long 1539668340 379 .long 3217396327 380 .long 967731400 381 .long 1071761211 382 .long 536870912 383 .long 1015752157 384 .long 0 385 .long 1072693248 386 .long 1403757309 387 .long 3217886718 388 .long 621354454 389 .long 1071926515 390 .long 536870912 391 .long 1013450602 392 .long 0 393 .long 1072693248 394 .long 2583490354 395 .long 1070236281 396 .long 1719614413 397 .long 1072079006 398 .long 536870912 399 .long 3163282740 400 .long 0 401 .long 1071644672 402 .long 2485417816 403 .long 1069626316 404 .long 1796544321 405 .long 1072217216 406 .long 536870912 407 .long 3162686945 408 .long 0 409 .long 1071644672 410 .long 2598800519 411 .long 1068266419 412 .long 688824739 413 .long 1072339814 414 .long 3758096384 415 .long 1010431536 416 .long 0 417 .long 1071644672 418 .long 2140183630 419 .long 3214756396 420 .long 4051746225 421 .long 1072445618 422 .long 2147483648 423 .long 3161907377 424 .long 0 425 .long 1071644672 426 .long 1699043957 427 .long 3216902261 428 .long 3476196678 429 .long 1072533611 430 .long 536870912 431 .long 1014257638 432 .long 0 433 .long 1071644672 434 .long 1991047213 435 .long 1067753521 436 .long 1455828442 437 .long 1072602945 438 .long 3758096384 439 .long 1015505073 440 .long 0 441 .long 1070596096 442 .long 240740309 443 .long 3215727903 444 .long 3489094832 445 .long 1072652951 446 .long 536870912 447 .long 1014325783 448 .long 0 449 .long 1070596096 450 .long 257503056 451 .long 3214647653 452 .long 2748392742 453 .long 1072683149 454 .long 1073741824 455 .long 3163061750 456 .long 0 457 .long 1069547520 458 .long 0 459 .long 0 460 .long 0 461 .long 1072693248 462 .long 0 463 .long 0 464 .long 0 465 .long 0 466 .long 257503056 467 .long 1067164005 468 .long 2748392742 469 .long 1072683149 470 .long 1073741824 471 .long 3163061750 472 .long 0 473 .long 3217031168 474 .long 240740309 475 .long 1068244255 476 .long 3489094832 477 .long 1072652951 478 .long 536870912 479 .long 1014325783 480 .long 0 481 .long 3218079744 482 .long 1991047213 483 .long 3215237169 484 .long 1455828442 485 .long 1072602945 486 .long 3758096384 487 .long 1015505073 488 .long 0 489 .long 3218079744 490 .long 1699043957 491 .long 1069418613 492 .long 3476196678 493 .long 1072533611 494 .long 536870912 495 .long 1014257638 496 .long 0 497 .long 3219128320 498 .long 2140183630 499 .long 1067272748 500 .long 4051746225 501 .long 1072445618 502 .long 2147483648 503 .long 3161907377 504 .long 0 505 .long 3219128320 506 .long 2598800519 507 .long 3215750067 508 .long 688824739 509 .long 1072339814 510 .long 3758096384 511 .long 1010431536 512 .long 0 513 .long 3219128320 514 .long 2485417816 515 .long 3217109964 516 .long 1796544321 517 .long 1072217216 518 .long 536870912 519 .long 3162686945 520 .long 0 521 .long 3219128320 522 .long 2583490354 523 .long 3217719929 524 .long 1719614413 525 .long 1072079006 526 .long 536870912 527 .long 3163282740 528 .long 0 529 .long 3219128320 530 .long 1403757309 531 .long 1070403070 532 .long 621354454 533 .long 1071926515 534 .long 536870912 535 .long 1013450602 536 .long 0 537 .long 3220176896 538 .long 1539668340 539 .long 1069912679 540 .long 967731400 541 .long 1071761211 542 .long 536870912 543 .long 1015752157 544 .long 0 545 .long 3220176896 546 .long 1945768569 547 .long 1069431400 548 .long 939980347 549 .long 1071524701 550 .long 536870912 551 .long 1012796809 552 .long 0 553 .long 3220176896 554 .long 2255197647 555 .long 1068727457 556 .long 2796464483 557 .long 1071152610 558 .long 3758096384 559 .long 3160878317 560 .long 0 561 .long 3220176896 562 .long 2476548698 563 .long 1067846634 564 .long 785751814 565 .long 1070765062 566 .long 2684354560 567 .long 3161838221 568 .long 0 569 .long 3220176896 570 .long 18115067 571 .long 1066642694 572 .long 1013556747 573 .long 1070135480 574 .long 3221225472 575 .long 3160567065 576 .long 0 577 .long 3220176896 578 .long 393047345 579 .long 1064548654 580 .long 3156849708 581 .long 1069094822 582 .long 3758096384 583 .long 3158189848 584 .long 0 585 .long 3220176896 586 .long 0 587 .long 0 588 .long 0 589 .long 0 590 .long 0 591 .long 0 592 .long 0 593 .long 3220176896 594 .long 393047345 595 .long 1064548654 596 .long 3156849708 597 .long 3216578470 598 .long 3758096384 599 .long 1010706200 600 .long 0 601 .long 3220176896 602 .long 18115067 603 .long 1066642694 604 .long 1013556747 605 .long 3217619128 606 .long 3221225472 607 .long 1013083417 608 .long 0 609 .long 3220176896 610 .long 2476548698 611 .long 1067846634 612 .long 785751814 613 .long 3218248710 614 .long 2684354560 615 .long 1014354573 616 .long 0 617 .long 3220176896 618 .long 2255197647 619 .long 1068727457 620 .long 2796464483 621 .long 3218636258 622 .long 3758096384 623 .long 1013394669 624 .long 0 625 .long 3220176896 626 .long 1945768569 627 .long 1069431400 628 .long 939980347 629 .long 3219008349 630 .long 536870912 631 .long 3160280457 632 .long 0 633 .long 3220176896 634 .long 1539668340 635 .long 1069912679 636 .long 967731400 637 .long 3219244859 638 .long 536870912 639 .long 3163235805 640 .long 0 641 .long 3220176896 642 .long 1403757309 643 .long 1070403070 644 .long 621354454 645 .long 3219410163 646 .long 536870912 647 .long 3160934250 648 .long 0 649 .long 3220176896 650 .long 2583490354 651 .long 3217719929 652 .long 1719614413 653 .long 3219562654 654 .long 536870912 655 .long 1015799092 656 .long 0 657 .long 3219128320 658 .long 2485417816 659 .long 3217109964 660 .long 1796544321 661 .long 3219700864 662 .long 536870912 663 .long 1015203297 664 .long 0 665 .long 3219128320 666 .long 2598800519 667 .long 3215750067 668 .long 688824739 669 .long 3219823462 670 .long 3758096384 671 .long 3157915184 672 .long 0 673 .long 3219128320 674 .long 2140183630 675 .long 1067272748 676 .long 4051746225 677 .long 3219929266 678 .long 2147483648 679 .long 1014423729 680 .long 0 681 .long 3219128320 682 .long 1699043957 683 .long 1069418613 684 .long 3476196678 685 .long 3220017259 686 .long 536870912 687 .long 3161741286 688 .long 0 689 .long 3219128320 690 .long 1991047213 691 .long 3215237169 692 .long 1455828442 693 .long 3220086593 694 .long 3758096384 695 .long 3162988721 696 .long 0 697 .long 3218079744 698 .long 240740309 699 .long 1068244255 700 .long 3489094832 701 .long 3220136599 702 .long 536870912 703 .long 3161809431 704 .long 0 705 .long 3218079744 706 .long 257503056 707 .long 1067164005 708 .long 2748392742 709 .long 3220166797 710 .long 1073741824 711 .long 1015578102 712 .long 0 713 .long 3217031168 714 .long 0 715 .long 0 716 .long 0 717 .long 3220176896 718 .long 0 719 .long 0 720 .long 0 721 .long 0 722 .long 257503056 723 .long 3214647653 724 .long 2748392742 725 .long 3220166797 726 .long 1073741824 727 .long 1015578102 728 .long 0 729 .long 1069547520 730 .long 240740309 731 .long 3215727903 732 .long 3489094832 733 .long 3220136599 734 .long 536870912 735 .long 3161809431 736 .long 0 737 .long 1070596096 738 .long 1991047213 739 .long 1067753521 740 .long 1455828442 741 .long 3220086593 742 .long 3758096384 743 .long 3162988721 744 .long 0 745 .long 1070596096 746 .long 1699043957 747 .long 3216902261 748 .long 3476196678 749 .long 3220017259 750 .long 536870912 751 .long 3161741286 752 .long 0 753 .long 1071644672 754 .long 2140183630 755 .long 3214756396 756 .long 4051746225 757 .long 3219929266 758 .long 2147483648 759 .long 1014423729 760 .long 0 761 .long 1071644672 762 .long 2598800519 763 .long 1068266419 764 .long 688824739 765 .long 3219823462 766 .long 3758096384 767 .long 3157915184 768 .long 0 769 .long 1071644672 770 .long 2485417816 771 .long 1069626316 772 .long 1796544321 773 .long 3219700864 774 .long 536870912 775 .long 1015203297 776 .long 0 777 .long 1071644672 778 .long 2583490354 779 .long 1070236281 780 .long 1719614413 781 .long 3219562654 782 .long 536870912 783 .long 1015799092 784 .long 0 785 .long 1071644672 786 .long 1403757309 787 .long 3217886718 788 .long 621354454 789 .long 3219410163 790 .long 536870912 791 .long 3160934250 792 .long 0 793 .long 1072693248 794 .long 1539668340 795 .long 3217396327 796 .long 967731400 797 .long 3219244859 798 .long 536870912 799 .long 3163235805 800 .long 0 801 .long 1072693248 802 .long 1945768569 803 .long 3216915048 804 .long 939980347 805 .long 3219008349 806 .long 536870912 807 .long 3160280457 808 .long 0 809 .long 1072693248 810 .long 2255197647 811 .long 3216211105 812 .long 2796464483 813 .long 3218636258 814 .long 3758096384 815 .long 1013394669 816 .long 0 817 .long 1072693248 818 .long 2476548698 819 .long 3215330282 820 .long 785751814 821 .long 3218248710 822 .long 2684354560 823 .long 1014354573 824 .long 0 825 .long 1072693248 826 .long 18115067 827 .long 3214126342 828 .long 1013556747 829 .long 3217619128 830 .long 3221225472 831 .long 1013083417 832 .long 0 833 .long 1072693248 834 .long 393047345 835 .long 3212032302 836 .long 3156849708 837 .long 3216578470 838 .long 3758096384 839 .long 1010706200 840 .long 0 841 .long 1072693248 842 .long 1431655765 843 .long 3217380693 844 .long 0 845 .long 3219128320 846 .long 286331153 847 .long 1065423121 848 .long 1431655765 849 .long 1067799893 850 .long 436314138 851 .long 3207201184 852 .long 381774871 853 .long 3210133868 854 .long 2773927732 855 .long 1053236707 856 .long 436314138 857 .long 1056571808 858 .long 442499072 859 .long 1032893537 860 .long 442499072 861 .long 1032893537 862 .long 1413480448 863 .long 1069097467 864 .long 0 865 .long 0 866 .long 771977331 867 .long 996350346 868 .long 0 869 .long 0 870 .long 1841940611 871 .long 1076125488 872 .long 0 873 .long 0 874 .long 0 875 .long 1127743488 876 .long 0 877 .long 0 878 .long 0 879 .long 1130364928 880 .long 0 881 .long 0 882 .long 0 883 .long 1015021568 884 .long 0 885 .long 0 886 .long 4294967295 887 .long 1072693247 888 .long 0 889 .long 0 890 .long 0 891 .long 2147483648 892 .long 0 893 .long 0 894 .long 0 895 .long 2147483648 896 .long 0 897 .long 2147483648 898 .long 0 899 .long 1071644672 900 .long 0 901 .long 1071644672 902 .type static_const_table,@object 903 .size static_const_table,2288 904 .data 905 .hidden __libm_sincos_huge 906 .section .note.GNU-stack, "" 907# End 908