s_tan.S revision 5d4f0e6a26b66f1dab8d20a65af4469c6dd7370d
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// Polynomials coefficients and other constants. 36// 37// Note that in this algorithm, there is a different polynomial for 38// each breakpoint, so there are 32 sets of polynomial coefficients 39// as well as 32 instances of the other constants. 40// 41// The polynomial coefficients and constants are offset from the start 42// of the main block as follows: 43// 44// 0: c8 | c0 45// 16: c9 | c1 46// 32: c10 | c2 47// 48: c11 | c3 48// 64: c12 | c4 49// 80: c13 | c5 50// 96: c14 | c6 51// 112: c15 | c7 52// 128: T_hi 53// 136: T_lo 54// 144: Sigma 55// 152: T_hl 56// 160: Tau 57// 168: Mask 58// 176: (end of block) 59// 60// The total table size is therefore 5632 bytes. 61// 62// Note that c0 and c1 are always zero. We could try storing 63// other constants here, and just loading the low part of the 64// SIMD register in these cases, after ensuring the high part 65// is zero. 66// 67// The higher terms of the polynomial are computed in the *low* 68// part of the SIMD register. This is so we can overlap the 69// multiplication by r^8 and the unpacking of the other part. 70// 71// The constants are: 72// T_hi + T_lo = accurate constant term in power series 73// Sigma + T_hl = accurate coefficient of r in power series (Sigma=1 bit) 74// Tau = multiplier for the reciprocal, always -1 or 0 75// 76// The basic reconstruction formula using these constants is: 77// 78// High = tau * recip_hi + t_hi 79// Med = (sgn * r + t_hl * r)_hi 80// Low = (sgn * r + t_hl * r)_lo + 81// tau * recip_lo + T_lo + (T_hl + sigma) * c + pol 82// 83// where pol = c0 + c1 * r + c2 * r^2 + ... + c15 * r^15 84// 85// (c0 = c1 = 0, but using them keeps SIMD regularity) 86// 87// We then do a compensated sum High + Med, add the low parts together 88// and then do the final sum. 89// 90// Here recip_hi + recip_lo is an accurate reciprocal of the remainder 91// modulo pi/2 92// 93// Special cases: 94// tan(NaN) = quiet NaN, and raise invalid exception 95// tan(INF) = NaN and raise invalid exception 96// tan(+/-0) = +/-0 97// 98/******************************************************************************/ 99 100#include <private/bionic_asm.h> 101# -- Begin static_func 102 .text 103 .align __bionic_asm_align 104 .type static_func, @function 105static_func: 106..B1.1: 107 call ..L2 108..L2: 109 popl %eax 110 lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax 111 lea static_const_table@GOTOFF(%eax), %eax 112 ret 113 .size static_func,.-static_func 114# -- End static_func 115 116# -- Begin tan 117ENTRY(tan) 118# parameter 1: 8 + %ebp 119..B2.1: 120..B2.2: 121 pushl %ebp 122 movl %esp, %ebp 123 subl $120, %esp 124 movl %ebx, 56(%esp) 125 call static_func 126 movl %eax, %ebx 127 movsd 128(%esp), %xmm0 128 pextrw $3, %xmm0, %eax 129 andl $32767, %eax 130 subl $14368, %eax 131 cmpl $2216, %eax 132 ja .L_2TAG_PACKET_0.0.2 133 movapd 5840(%ebx), %xmm5 134 movapd 5856(%ebx), %xmm6 135 unpcklpd %xmm0, %xmm0 136 movapd 5712(%ebx), %xmm4 137 andpd %xmm0, %xmm4 138 movapd 5632(%ebx), %xmm1 139 mulpd %xmm0, %xmm1 140 orpd %xmm4, %xmm5 141 addpd %xmm5, %xmm1 142 movapd %xmm1, %xmm7 143 unpckhpd %xmm7, %xmm7 144 cvttsd2si %xmm7, %edx 145 cvttpd2dq %xmm1, %xmm1 146 cvtdq2pd %xmm1, %xmm1 147 mulpd %xmm6, %xmm1 148 movapd 5664(%ebx), %xmm3 149 movsd 5728(%ebx), %xmm5 150 addl $469248, %edx 151 movapd 5680(%ebx), %xmm4 152 mulpd %xmm1, %xmm3 153 andl $31, %edx 154 mulsd %xmm1, %xmm5 155 movl %edx, %ecx 156 mulpd %xmm1, %xmm4 157 shll $1, %ecx 158 subpd %xmm3, %xmm0 159 mulpd 5696(%ebx), %xmm1 160 addl %ecx, %edx 161 shll $2, %ecx 162 addl %ecx, %edx 163 addsd %xmm0, %xmm5 164 movapd %xmm0, %xmm2 165 subpd %xmm4, %xmm0 166 movsd 5744(%ebx), %xmm6 167 shll $4, %edx 168 lea (%ebx), %eax 169 andpd 5776(%ebx), %xmm5 170 movapd %xmm0, %xmm3 171 addl %edx, %eax 172 subpd %xmm0, %xmm2 173 unpckhpd %xmm0, %xmm0 174 divsd %xmm5, %xmm6 175 subpd %xmm4, %xmm2 176 movapd 16(%eax), %xmm7 177 subsd %xmm5, %xmm3 178 mulpd %xmm0, %xmm7 179 subpd %xmm1, %xmm2 180 movapd 48(%eax), %xmm1 181 mulpd %xmm0, %xmm1 182 movapd 96(%eax), %xmm4 183 mulpd %xmm0, %xmm4 184 addsd %xmm3, %xmm2 185 movapd %xmm0, %xmm3 186 mulpd %xmm0, %xmm0 187 addpd (%eax), %xmm7 188 addpd 32(%eax), %xmm1 189 mulpd %xmm0, %xmm1 190 addpd 80(%eax), %xmm4 191 addpd %xmm1, %xmm7 192 movapd 112(%eax), %xmm1 193 mulpd %xmm0, %xmm1 194 mulpd %xmm0, %xmm0 195 addpd %xmm1, %xmm4 196 movapd 64(%eax), %xmm1 197 mulpd %xmm0, %xmm1 198 addpd %xmm1, %xmm7 199 movapd %xmm3, %xmm1 200 mulpd %xmm0, %xmm3 201 mulsd %xmm0, %xmm0 202 mulpd 144(%eax), %xmm1 203 mulpd %xmm3, %xmm4 204 movapd %xmm1, %xmm3 205 addpd %xmm4, %xmm7 206 movapd %xmm1, %xmm4 207 mulsd %xmm7, %xmm0 208 unpckhpd %xmm7, %xmm7 209 addsd %xmm7, %xmm0 210 unpckhpd %xmm1, %xmm1 211 addsd %xmm1, %xmm3 212 subsd %xmm3, %xmm4 213 addsd %xmm4, %xmm1 214 movapd %xmm2, %xmm4 215 movsd 144(%eax), %xmm7 216 unpckhpd %xmm2, %xmm2 217 addsd 152(%eax), %xmm7 218 mulsd %xmm2, %xmm7 219 addsd 136(%eax), %xmm7 220 addsd %xmm1, %xmm7 221 addsd %xmm7, %xmm0 222 movsd 5744(%ebx), %xmm7 223 mulsd %xmm6, %xmm4 224 movsd 168(%eax), %xmm2 225 andpd %xmm6, %xmm2 226 mulsd %xmm2, %xmm5 227 mulsd 160(%eax), %xmm6 228 subsd %xmm5, %xmm7 229 subsd 128(%eax), %xmm2 230 subsd %xmm4, %xmm7 231 mulsd %xmm6, %xmm7 232 movapd %xmm3, %xmm4 233 subsd %xmm2, %xmm3 234 addsd %xmm3, %xmm2 235 subsd %xmm2, %xmm4 236 addsd %xmm4, %xmm0 237 subsd %xmm7, %xmm0 238 addsd %xmm3, %xmm0 239 movsd %xmm0, (%esp) 240 fldl (%esp) 241 jmp .L_2TAG_PACKET_1.0.2 242.L_2TAG_PACKET_0.0.2: 243 jg .L_2TAG_PACKET_2.0.2 244 shrl $4, %eax 245 cmpl $268434558, %eax 246 jne .L_2TAG_PACKET_3.0.2 247 movapd %xmm0, %xmm3 248 mulsd 5808(%ebx), %xmm3 249.L_2TAG_PACKET_3.0.2: 250 movsd 5792(%ebx), %xmm3 251 mulsd %xmm0, %xmm3 252 addsd %xmm0, %xmm3 253 mulsd 5808(%ebx), %xmm3 254 movsd %xmm3, (%esp) 255 fldl (%esp) 256 jmp .L_2TAG_PACKET_1.0.2 257.L_2TAG_PACKET_2.0.2: 258 movq 5712(%ebx), %xmm7 259 andpd %xmm0, %xmm7 260 xorpd %xmm0, %xmm7 261 ucomisd 5760(%ebx), %xmm7 262 je .L_2TAG_PACKET_4.0.2 263 subl $32, %esp 264 movsd %xmm0, (%esp) 265 lea 40(%esp), %eax 266 movl %eax, 8(%esp) 267 movl $2, %eax 268 movl %eax, 12(%esp) 269 call __libm_tancot_huge 270 addl $32, %esp 271 fldl 8(%esp) 272 jmp .L_2TAG_PACKET_1.0.2 273.L_2TAG_PACKET_4.0.2: 274 movq %xmm0, (%esp) 275 fldl (%esp) 276 fsubl (%esp) 277.L_2TAG_PACKET_1.0.2: 278 movl 56(%esp), %ebx 279 movl %ebp, %esp 280 popl %ebp 281 ret 282..B2.3: 283END(tan) 284# -- End tan 285 286# Start file scope ASM 287.weak tanl 288.equ tanl, tan 289# End file scope ASM 290 .section .rodata, "a" 291 .align 16 292 .align 16 293static_const_table: 294 .long 0 295 .long 0 296 .long 0 297 .long 0 298 .long 2284589306 299 .long 1066820852 300 .long 0 301 .long 0 302 .long 0 303 .long 0 304 .long 0 305 .long 0 306 .long 1441186365 307 .long 1065494243 308 .long 1431655765 309 .long 1070945621 310 .long 0 311 .long 0 312 .long 0 313 .long 0 314 .long 236289504 315 .long 1064135997 316 .long 286331153 317 .long 1069617425 318 .long 0 319 .long 0 320 .long 0 321 .long 0 322 .long 1160476131 323 .long 1062722102 324 .long 463583772 325 .long 1068212666 326 .long 0 327 .long 0 328 .long 0 329 .long 0 330 .long 0 331 .long 1072693248 332 .long 0 333 .long 0 334 .long 0 335 .long 0 336 .long 0 337 .long 0 338 .long 1313038235 339 .long 1066745731 340 .long 0 341 .long 0 342 .long 1013878342 343 .long 1067152618 344 .long 0 345 .long 0 346 .long 3663426833 347 .long 1065725283 348 .long 3693284251 349 .long 1069118808 350 .long 650852232 351 .long 1065882376 352 .long 1996245381 353 .long 1071000265 354 .long 2008746170 355 .long 1064664197 356 .long 3055842593 357 .long 1068578846 358 .long 1495406348 359 .long 1064652437 360 .long 2269530157 361 .long 1069711235 362 .long 285563696 363 .long 1063576465 364 .long 1046897440 365 .long 1067705865 366 .long 233429731 367 .long 1063453151 368 .long 522045958 369 .long 1068476590 370 .long 2354785698 371 .long 1069102779 372 .long 1317599141 373 .long 1012432133 374 .long 0 375 .long 1072693248 376 .long 2828230105 377 .long 1065606626 378 .long 0 379 .long 0 380 .long 0 381 .long 0 382 .long 1512545955 383 .long 1068119047 384 .long 0 385 .long 0 386 .long 1127048698 387 .long 1067909459 388 .long 0 389 .long 0 390 .long 2300200450 391 .long 1067254767 392 .long 3593250296 393 .long 1070233561 394 .long 3009365544 395 .long 1066902117 396 .long 1127373050 397 .long 1071173457 398 .long 3046103305 399 .long 1066371299 400 .long 24583402 401 .long 1069723988 402 .long 4082511758 403 .long 1065914199 404 .long 3223889699 405 .long 1070020367 406 .long 548927984 407 .long 1065415756 408 .long 558065897 409 .long 1068949418 410 .long 680073315 411 .long 1064940726 412 .long 388873200 413 .long 1068944270 414 .long 3763679576 415 .long 1070167541 416 .long 1497360404 417 .long 1009710547 418 .long 0 419 .long 1072693248 420 .long 64931152 421 .long 1067729411 422 .long 0 423 .long 0 424 .long 0 425 .long 0 426 .long 2467582782 427 .long 1069256389 428 .long 0 429 .long 0 430 .long 162150096 431 .long 1068946420 432 .long 0 433 .long 0 434 .long 3702794237 435 .long 1068579152 436 .long 3631919291 437 .long 1070936926 438 .long 3456821413 439 .long 1068217218 440 .long 2031366438 441 .long 1071495745 442 .long 1596664020 443 .long 1067799281 444 .long 1509038701 445 .long 1070601643 446 .long 583171477 447 .long 1067510148 448 .long 3785344682 449 .long 1070618476 450 .long 2402036048 451 .long 1067075736 452 .long 3233018412 453 .long 1069913186 454 .long 411280568 455 .long 1066710556 456 .long 1065584192 457 .long 1069747896 458 .long 895247324 459 .long 1070819848 460 .long 500078909 461 .long 3161288781 462 .long 0 463 .long 1072693248 464 .long 729983843 465 .long 1068994194 466 .long 0 467 .long 0 468 .long 0 469 .long 0 470 .long 1458794562 471 .long 1070398550 472 .long 0 473 .long 0 474 .long 2857777489 475 .long 1070137637 476 .long 0 477 .long 0 478 .long 1024359517 479 .long 1069876531 480 .long 2616040238 481 .long 1071582937 482 .long 1609024636 483 .long 1069675088 484 .long 2529240549 485 .long 1071836633 486 .long 1510128600 487 .long 1069440113 488 .long 2251697184 489 .long 1071253687 490 .long 1262761453 491 .long 1069142850 492 .long 1263091857 493 .long 1071190461 494 .long 3043383486 495 .long 1068885191 496 .long 2476932470 497 .long 1070842002 498 .long 3659995028 499 .long 1068669200 500 .long 855891755 501 .long 1070696894 502 .long 2583490354 503 .long 1071284857 504 .long 3062633575 505 .long 1014008623 506 .long 0 507 .long 1072693248 508 .long 2550940471 509 .long 1069938201 510 .long 0 511 .long 0 512 .long 0 513 .long 0 514 .long 3422807297 515 .long 1071640847 516 .long 0 517 .long 0 518 .long 1151658053 519 .long 1071494715 520 .long 0 521 .long 0 522 .long 929607071 523 .long 1071346340 524 .long 1037049034 525 .long 1072037305 526 .long 2786928657 527 .long 1071215282 528 .long 1447406859 529 .long 1072265209 530 .long 3490952107 531 .long 1071090851 532 .long 3205232916 533 .long 1071968658 534 .long 1297344304 535 .long 1070977120 536 .long 1066110976 537 .long 1071946035 538 .long 3803721480 539 .long 1070871082 540 .long 1496754229 541 .long 1071807201 542 .long 2982550683 543 .long 1070773243 544 .long 4014441989 545 .long 1071736222 546 .long 419968236 547 .long 1071717047 548 .long 3451266538 549 .long 3163444811 550 .long 0 551 .long 1072693248 552 .long 2960267235 553 .long 1070745841 554 .long 0 555 .long 0 556 .long 0 557 .long 0 558 .long 724322768 559 .long 1072881308 560 .long 0 561 .long 0 562 .long 643153048 563 .long 1072905816 564 .long 0 565 .long 0 566 .long 4285079458 567 .long 1072928558 568 .long 3912524733 569 .long 1072622983 570 .long 118362272 571 .long 1072952754 572 .long 4107767972 573 .long 1072827408 574 .long 2689502883 575 .long 1072976922 576 .long 946523347 577 .long 1072772766 578 .long 573204189 579 .long 1073001761 580 .long 581531518 581 .long 1072826391 582 .long 1386236526 583 .long 1073026959 584 .long 3718905905 585 .long 1072832823 586 .long 1145558140 587 .long 1073052673 588 .long 513572637 589 .long 1072861969 590 .long 716700048 591 .long 1071997368 592 .long 547126769 593 .long 1015523525 594 .long 0 595 .long 1072693248 596 .long 1097907398 597 .long 1071420120 598 .long 0 599 .long 0 600 .long 0 601 .long 0 602 .long 3349892442 603 .long 1074290212 604 .long 0 605 .long 0 606 .long 3913197405 607 .long 1074501181 608 .long 0 609 .long 0 610 .long 2494034522 611 .long 1074739170 612 .long 1264738763 613 .long 1073084804 614 .long 1520293906 615 .long 1074899632 616 .long 1958936600 617 .long 1073411493 618 .long 2133649635 619 .long 1075052171 620 .long 4270740730 621 .long 1073574708 622 .long 1728930189 623 .long 1075224844 624 .long 1303998552 625 .long 1073799186 626 .long 618611933 627 .long 1075420255 628 .long 1769828046 629 .long 1073938542 630 .long 2200537986 631 .long 1075641421 632 .long 433361110 633 .long 1074105369 634 .long 719595600 635 .long 1072317184 636 .long 294527206 637 .long 3162140088 638 .long 0 639 .long 1073741824 640 .long 3811788216 641 .long 3218400550 642 .long 0 643 .long 0 644 .long 0 645 .long 0 646 .long 1704352102 647 .long 1075943001 648 .long 0 649 .long 0 650 .long 2284589306 651 .long 1076258036 652 .long 0 653 .long 0 654 .long 2211264291 655 .long 1076659010 656 .long 0 657 .long 1073741824 658 .long 1441186365 659 .long 1077028579 660 .long 1431655765 661 .long 1074091349 662 .long 876943673 663 .long 1077353622 664 .long 2863311531 665 .long 1074440874 666 .long 236289504 667 .long 1077767485 668 .long 286331153 669 .long 1074860305 670 .long 2805473311 671 .long 1078115278 672 .long 95443718 673 .long 1075163227 674 .long 1160476131 675 .long 1078450742 676 .long 463583772 677 .long 1075552698 678 .long 0 679 .long 1072693248 680 .long 0 681 .long 0 682 .long 0 683 .long 1073741824 684 .long 0 685 .long 0 686 .long 0 687 .long 0 688 .long 0 689 .long 0 690 .long 1330165971 691 .long 3207850745 692 .long 0 693 .long 0 694 .long 217536623 695 .long 1059109098 696 .long 0 697 .long 0 698 .long 3492120849 699 .long 3205151475 700 .long 602185705 701 .long 3215678092 702 .long 760422958 703 .long 1056312597 704 .long 555127889 705 .long 1067545266 706 .long 3139784124 707 .long 3202470837 708 .long 3690544014 709 .long 3213150171 710 .long 95707915 711 .long 1053635428 712 .long 4003114407 713 .long 1064581412 714 .long 2034926231 715 .long 3199711161 716 .long 3759536023 717 .long 3210559989 718 .long 3826928214 719 .long 1050893819 720 .long 3837960785 721 .long 1061790379 722 .long 1526325248 723 .long 3217967566 724 .long 2356426521 725 .long 1025423456 726 .long 0 727 .long 0 728 .long 457728975 729 .long 1071088276 730 .long 0 731 .long 1072693248 732 .long 0 733 .long 4294967288 734 .long 1398462608 735 .long 3207303968 736 .long 0 737 .long 0 738 .long 26205983 739 .long 1058461213 740 .long 0 741 .long 0 742 .long 56226238 743 .long 3204528612 744 .long 2754706541 745 .long 3215359511 746 .long 2187799823 747 .long 1055634437 748 .long 790323742 749 .long 1067402587 750 .long 1372385848 751 .long 3201651479 752 .long 4097292716 753 .long 3212856302 754 .long 3348210357 755 .long 1052830099 756 .long 2442796466 757 .long 1064337602 758 .long 862608142 759 .long 3198830754 760 .long 170296152 761 .long 3210060867 762 .long 3755571428 763 .long 1049933343 764 .long 3614866008 765 .long 1061361670 766 .long 719978496 767 .long 3217669096 768 .long 1998842465 769 .long 3174703977 770 .long 0 771 .long 0 772 .long 3749156607 773 .long 1071048258 774 .long 0 775 .long 1072693248 776 .long 0 777 .long 4294967288 778 .long 3120498638 779 .long 3206749304 780 .long 0 781 .long 0 782 .long 2773578114 783 .long 1058009312 784 .long 0 785 .long 0 786 .long 2030783676 787 .long 3203817873 788 .long 2223654598 789 .long 3215071936 790 .long 2976134650 791 .long 1054987244 792 .long 706390066 793 .long 1067217386 794 .long 4258437615 795 .long 3200900378 796 .long 1066252975 797 .long 3212391267 798 .long 815777514 799 .long 1051989462 800 .long 3202745457 801 .long 1064010682 802 .long 2493556375 803 .long 3198004753 804 .long 1046243251 805 .long 3209678971 806 .long 2593078846 807 .long 1049017717 808 .long 2763962276 809 .long 1060970161 810 .long 701480960 811 .long 3217377742 812 .long 3205862232 813 .long 3174660915 814 .long 0 815 .long 0 816 .long 2267016812 817 .long 1071015664 818 .long 0 819 .long 1072693248 820 .long 0 821 .long 4294967288 822 .long 2107155798 823 .long 3206166872 824 .long 0 825 .long 0 826 .long 2642992129 827 .long 1057424578 828 .long 0 829 .long 0 830 .long 1936992811 831 .long 3203204426 832 .long 1485063559 833 .long 3214682643 834 .long 1432914553 835 .long 1054319398 836 .long 3996381654 837 .long 1067075828 838 .long 2833029256 839 .long 3200223545 840 .long 2866066872 841 .long 3211982662 842 .long 2432888737 843 .long 1051234178 844 .long 3669764559 845 .long 1063748136 846 .long 2458496952 847 .long 3197170774 848 .long 1948234989 849 .long 3209098147 850 .long 2843698787 851 .long 1048163519 852 .long 3398041407 853 .long 1060559728 854 .long 2829230080 855 .long 3217092115 856 .long 1034046433 857 .long 3174271903 858 .long 0 859 .long 0 860 .long 298675305 861 .long 1070989821 862 .long 0 863 .long 1072693248 864 .long 0 865 .long 4294967288 866 .long 437603223 867 .long 3205589761 868 .long 0 869 .long 0 870 .long 759330352 871 .long 1057048511 872 .long 0 873 .long 0 874 .long 3107463368 875 .long 3202507988 876 .long 3144465176 877 .long 3214191500 878 .long 2290961810 879 .long 1053841035 880 .long 1618153340 881 .long 1066971547 882 .long 3836869393 883 .long 3199400272 884 .long 584032116 885 .long 3211469261 886 .long 1245704358 887 .long 1050626462 888 .long 4247487438 889 .long 1063561943 890 .long 1669034927 891 .long 3196274812 892 .long 3844233498 893 .long 3208626322 894 .long 2706958524 895 .long 1047411374 896 .long 3857199098 897 .long 1060281647 898 .long 3593904128 899 .long 3216590719 900 .long 3267547836 901 .long 3172163321 902 .long 0 903 .long 0 904 .long 4076712227 905 .long 1070970214 906 .long 0 907 .long 1072693248 908 .long 0 909 .long 4294967288 910 .long 3290090340 911 .long 3204793485 912 .long 0 913 .long 0 914 .long 3685760367 915 .long 1056668370 916 .long 0 917 .long 0 918 .long 2655163949 919 .long 3201674917 920 .long 628750575 921 .long 3213566872 922 .long 680140505 923 .long 1053299777 924 .long 2954464709 925 .long 1066900026 926 .long 803201619 927 .long 3198516435 928 .long 1466315631 929 .long 3210837162 930 .long 1611220163 931 .long 1049972438 932 .long 2766187256 933 .long 1063437894 934 .long 1804579484 935 .long 3195331491 936 .long 3695969289 937 .long 3207854418 938 .long 2617238373 939 .long 1046675948 940 .long 3095830084 941 .long 1060095334 942 .long 3789570048 943 .long 3216034914 944 .long 23826559 945 .long 3172048060 946 .long 0 947 .long 0 948 .long 3870939386 949 .long 1070956467 950 .long 0 951 .long 1072693248 952 .long 0 953 .long 4294967288 954 .long 1571758758 955 .long 3203672535 956 .long 0 957 .long 0 958 .long 113026373 959 .long 1056416381 960 .long 0 961 .long 0 962 .long 1913766298 963 .long 3200523326 964 .long 2507068734 965 .long 3212502004 966 .long 4000648818 967 .long 1053003803 968 .long 2446607349 969 .long 1066858259 970 .long 912662124 971 .long 3197333001 972 .long 1349489537 973 .long 3209765608 974 .long 3412972607 975 .long 1049641401 976 .long 1721283327 977 .long 1063366855 978 .long 1466691883 979 .long 3194116746 980 .long 3852528092 981 .long 3206760861 982 .long 285443293 983 .long 1046158380 984 .long 1758739894 985 .long 1059895449 986 .long 1858781184 987 .long 3214984212 988 .long 3447575948 989 .long 1024675855 990 .long 0 991 .long 0 992 .long 2242038011 993 .long 1070948320 994 .long 0 995 .long 1072693248 996 .long 0 997 .long 4294967288 998 .long 0 999 .long 0 1000 .long 0 1001 .long 0 1002 .long 737611454 1003 .long 1056336527 1004 .long 0 1005 .long 0 1006 .long 0 1007 .long 0 1008 .long 0 1009 .long 0 1010 .long 3594790527 1011 .long 1052911621 1012 .long 381774871 1013 .long 1066844524 1014 .long 0 1015 .long 0 1016 .long 0 1017 .long 0 1018 .long 3303051618 1019 .long 1049456050 1020 .long 3154187623 1021 .long 1063343722 1022 .long 0 1023 .long 0 1024 .long 0 1025 .long 0 1026 .long 528061788 1027 .long 1045944910 1028 .long 2469719819 1029 .long 1059831159 1030 .long 0 1031 .long 0 1032 .long 0 1033 .long 0 1034 .long 0 1035 .long 0 1036 .long 1431655765 1037 .long 1070945621 1038 .long 0 1039 .long 1072693248 1040 .long 0 1041 .long 4294967288 1042 .long 1571758758 1043 .long 1056188887 1044 .long 0 1045 .long 0 1046 .long 113026373 1047 .long 1056416381 1048 .long 0 1049 .long 0 1050 .long 1913766298 1051 .long 1053039678 1052 .long 2507068734 1053 .long 1065018356 1054 .long 4000648818 1055 .long 1053003803 1056 .long 2446607349 1057 .long 1066858259 1058 .long 912662124 1059 .long 1049849353 1060 .long 1349489537 1061 .long 1062281960 1062 .long 3412972607 1063 .long 1049641401 1064 .long 1721283327 1065 .long 1063366855 1066 .long 1466691883 1067 .long 1046633098 1068 .long 3852528092 1069 .long 1059277213 1070 .long 285443293 1071 .long 1046158380 1072 .long 1758739894 1073 .long 1059895449 1074 .long 1858781184 1075 .long 1067500564 1076 .long 3447575948 1077 .long 3172159503 1078 .long 0 1079 .long 0 1080 .long 2242038011 1081 .long 1070948320 1082 .long 0 1083 .long 1072693248 1084 .long 0 1085 .long 4294967288 1086 .long 3290090340 1087 .long 1057309837 1088 .long 0 1089 .long 0 1090 .long 3685760367 1091 .long 1056668370 1092 .long 0 1093 .long 0 1094 .long 2655163949 1095 .long 1054191269 1096 .long 628750575 1097 .long 1066083224 1098 .long 680140505 1099 .long 1053299777 1100 .long 2954464709 1101 .long 1066900026 1102 .long 803201619 1103 .long 1051032787 1104 .long 1466315631 1105 .long 1063353514 1106 .long 1611220163 1107 .long 1049972438 1108 .long 2766187256 1109 .long 1063437894 1110 .long 1804579484 1111 .long 1047847843 1112 .long 3695969289 1113 .long 1060370770 1114 .long 2617238373 1115 .long 1046675948 1116 .long 3095830084 1117 .long 1060095334 1118 .long 3789570048 1119 .long 1068551266 1120 .long 23826559 1121 .long 1024564412 1122 .long 0 1123 .long 0 1124 .long 3870939386 1125 .long 1070956467 1126 .long 0 1127 .long 1072693248 1128 .long 0 1129 .long 4294967288 1130 .long 437603223 1131 .long 1058106113 1132 .long 0 1133 .long 0 1134 .long 759330352 1135 .long 1057048511 1136 .long 0 1137 .long 0 1138 .long 3107463368 1139 .long 1055024340 1140 .long 3144465176 1141 .long 1066707852 1142 .long 2290961810 1143 .long 1053841035 1144 .long 1618153340 1145 .long 1066971547 1146 .long 3836869393 1147 .long 1051916624 1148 .long 584032116 1149 .long 1063985613 1150 .long 1245704358 1151 .long 1050626462 1152 .long 4247487438 1153 .long 1063561943 1154 .long 1669034927 1155 .long 1048791164 1156 .long 3844233498 1157 .long 1061142674 1158 .long 2706958524 1159 .long 1047411374 1160 .long 3857199098 1161 .long 1060281647 1162 .long 3593904128 1163 .long 1069107071 1164 .long 3267547836 1165 .long 1024679673 1166 .long 0 1167 .long 0 1168 .long 4076712227 1169 .long 1070970214 1170 .long 0 1171 .long 1072693248 1172 .long 0 1173 .long 4294967288 1174 .long 2107155798 1175 .long 1058683224 1176 .long 0 1177 .long 0 1178 .long 2642992129 1179 .long 1057424578 1180 .long 0 1181 .long 0 1182 .long 1936992811 1183 .long 1055720778 1184 .long 1485063559 1185 .long 1067198995 1186 .long 1432914553 1187 .long 1054319398 1188 .long 3996381654 1189 .long 1067075828 1190 .long 2833029256 1191 .long 1052739897 1192 .long 2866066872 1193 .long 1064499014 1194 .long 2432888737 1195 .long 1051234178 1196 .long 3669764559 1197 .long 1063748136 1198 .long 2458496952 1199 .long 1049687126 1200 .long 1948234989 1201 .long 1061614499 1202 .long 2843698787 1203 .long 1048163519 1204 .long 3398041407 1205 .long 1060559728 1206 .long 2829230080 1207 .long 1069608467 1208 .long 1034046433 1209 .long 1026788255 1210 .long 0 1211 .long 0 1212 .long 298675305 1213 .long 1070989821 1214 .long 0 1215 .long 1072693248 1216 .long 0 1217 .long 4294967288 1218 .long 3120498638 1219 .long 1059265656 1220 .long 0 1221 .long 0 1222 .long 2773578114 1223 .long 1058009312 1224 .long 0 1225 .long 0 1226 .long 2030783676 1227 .long 1056334225 1228 .long 2223654598 1229 .long 1067588288 1230 .long 2976134650 1231 .long 1054987244 1232 .long 706390066 1233 .long 1067217386 1234 .long 4258437615 1235 .long 1053416730 1236 .long 1066252975 1237 .long 1064907619 1238 .long 815777514 1239 .long 1051989462 1240 .long 3202745457 1241 .long 1064010682 1242 .long 2493556375 1243 .long 1050521105 1244 .long 1046243251 1245 .long 1062195323 1246 .long 2593078846 1247 .long 1049017717 1248 .long 2763962276 1249 .long 1060970161 1250 .long 701480960 1251 .long 1069894094 1252 .long 3205862232 1253 .long 1027177267 1254 .long 0 1255 .long 0 1256 .long 2267016812 1257 .long 1071015664 1258 .long 0 1259 .long 1072693248 1260 .long 0 1261 .long 4294967288 1262 .long 1398462608 1263 .long 1059820320 1264 .long 0 1265 .long 0 1266 .long 26205983 1267 .long 1058461213 1268 .long 0 1269 .long 0 1270 .long 56226238 1271 .long 1057044964 1272 .long 2754706541 1273 .long 1067875863 1274 .long 2187799823 1275 .long 1055634437 1276 .long 790323742 1277 .long 1067402587 1278 .long 1372385848 1279 .long 1054167831 1280 .long 4097292716 1281 .long 1065372654 1282 .long 3348210357 1283 .long 1052830099 1284 .long 2442796466 1285 .long 1064337602 1286 .long 862608142 1287 .long 1051347106 1288 .long 170296152 1289 .long 1062577219 1290 .long 3755571428 1291 .long 1049933343 1292 .long 3614866008 1293 .long 1061361670 1294 .long 719978496 1295 .long 1070185448 1296 .long 1998842465 1297 .long 1027220329 1298 .long 0 1299 .long 0 1300 .long 3749156607 1301 .long 1071048258 1302 .long 0 1303 .long 1072693248 1304 .long 0 1305 .long 4294967288 1306 .long 1330165971 1307 .long 1060367097 1308 .long 0 1309 .long 0 1310 .long 217536623 1311 .long 1059109098 1312 .long 0 1313 .long 0 1314 .long 3492120849 1315 .long 1057667827 1316 .long 602185705 1317 .long 1068194444 1318 .long 760422958 1319 .long 1056312597 1320 .long 555127889 1321 .long 1067545266 1322 .long 3139784124 1323 .long 1054987189 1324 .long 3690544014 1325 .long 1065666523 1326 .long 95707915 1327 .long 1053635428 1328 .long 4003114407 1329 .long 1064581412 1330 .long 2034926231 1331 .long 1052227513 1332 .long 3759536023 1333 .long 1063076341 1334 .long 3826928214 1335 .long 1050893819 1336 .long 3837960785 1337 .long 1061790379 1338 .long 1526325248 1339 .long 1070483918 1340 .long 2356426521 1341 .long 3172907104 1342 .long 0 1343 .long 0 1344 .long 457728975 1345 .long 1071088276 1346 .long 0 1347 .long 1072693248 1348 .long 0 1349 .long 4294967288 1350 .long 1704352102 1351 .long 3223426649 1352 .long 0 1353 .long 0 1354 .long 2284589306 1355 .long 1076258036 1356 .long 0 1357 .long 0 1358 .long 2211264291 1359 .long 3224142658 1360 .long 0 1361 .long 3221225472 1362 .long 1441186365 1363 .long 1077028579 1364 .long 1431655765 1365 .long 1074091349 1366 .long 876943673 1367 .long 3224837270 1368 .long 2863311531 1369 .long 3221924522 1370 .long 236289504 1371 .long 1077767485 1372 .long 286331153 1373 .long 1074860305 1374 .long 2805473311 1375 .long 3225598926 1376 .long 95443718 1377 .long 3222646875 1378 .long 1160476131 1379 .long 1078450742 1380 .long 463583772 1381 .long 1075552698 1382 .long 0 1383 .long 3220176896 1384 .long 0 1385 .long 0 1386 .long 0 1387 .long 1073741824 1388 .long 0 1389 .long 0 1390 .long 0 1391 .long 0 1392 .long 0 1393 .long 0 1394 .long 3349892442 1395 .long 3221773860 1396 .long 0 1397 .long 0 1398 .long 3913197405 1399 .long 1074501181 1400 .long 0 1401 .long 0 1402 .long 2494034522 1403 .long 3222222818 1404 .long 1264738763 1405 .long 3220568452 1406 .long 1520293906 1407 .long 1074899632 1408 .long 1958936600 1409 .long 1073411493 1410 .long 2133649635 1411 .long 3222535819 1412 .long 4270740730 1413 .long 3221058356 1414 .long 1728930189 1415 .long 1075224844 1416 .long 1303998552 1417 .long 1073799186 1418 .long 618611933 1419 .long 3222903903 1420 .long 1769828046 1421 .long 3221422190 1422 .long 2200537986 1423 .long 1075641421 1424 .long 433361110 1425 .long 1074105369 1426 .long 719595600 1427 .long 3219800832 1428 .long 294527206 1429 .long 1014656440 1430 .long 0 1431 .long 1073741824 1432 .long 3811788216 1433 .long 3218400550 1434 .long 0 1435 .long 0 1436 .long 0 1437 .long 0 1438 .long 724322768 1439 .long 3220364956 1440 .long 0 1441 .long 0 1442 .long 643153048 1443 .long 1072905816 1444 .long 0 1445 .long 0 1446 .long 4285079458 1447 .long 3220412206 1448 .long 3912524733 1449 .long 3220106631 1450 .long 118362272 1451 .long 1072952754 1452 .long 4107767972 1453 .long 1072827408 1454 .long 2689502883 1455 .long 3220460570 1456 .long 946523347 1457 .long 3220256414 1458 .long 573204189 1459 .long 1073001761 1460 .long 581531518 1461 .long 1072826391 1462 .long 1386236526 1463 .long 3220510607 1464 .long 3718905905 1465 .long 3220316471 1466 .long 1145558140 1467 .long 1073052673 1468 .long 513572637 1469 .long 1072861969 1470 .long 716700048 1471 .long 3219481016 1472 .long 547126769 1473 .long 3163007173 1474 .long 0 1475 .long 1072693248 1476 .long 1097907398 1477 .long 1071420120 1478 .long 0 1479 .long 0 1480 .long 0 1481 .long 0 1482 .long 3422807297 1483 .long 3219124495 1484 .long 0 1485 .long 0 1486 .long 1151658053 1487 .long 1071494715 1488 .long 0 1489 .long 0 1490 .long 929607071 1491 .long 3218829988 1492 .long 1037049034 1493 .long 3219520953 1494 .long 2786928657 1495 .long 1071215282 1496 .long 1447406859 1497 .long 1072265209 1498 .long 3490952107 1499 .long 3218574499 1500 .long 3205232916 1501 .long 3219452306 1502 .long 1297344304 1503 .long 1070977120 1504 .long 1066110976 1505 .long 1071946035 1506 .long 3803721480 1507 .long 3218354730 1508 .long 1496754229 1509 .long 3219290849 1510 .long 2982550683 1511 .long 1070773243 1512 .long 4014441989 1513 .long 1071736222 1514 .long 419968236 1515 .long 3219200695 1516 .long 3451266538 1517 .long 1015961163 1518 .long 0 1519 .long 1072693248 1520 .long 2960267235 1521 .long 1070745841 1522 .long 0 1523 .long 0 1524 .long 0 1525 .long 0 1526 .long 1458794562 1527 .long 3217882198 1528 .long 0 1529 .long 0 1530 .long 2857777489 1531 .long 1070137637 1532 .long 0 1533 .long 0 1534 .long 1024359517 1535 .long 3217360179 1536 .long 2616040238 1537 .long 3219066585 1538 .long 1609024636 1539 .long 1069675088 1540 .long 2529240549 1541 .long 1071836633 1542 .long 1510128600 1543 .long 3216923761 1544 .long 2251697184 1545 .long 3218737335 1546 .long 1262761453 1547 .long 1069142850 1548 .long 1263091857 1549 .long 1071190461 1550 .long 3043383486 1551 .long 3216368839 1552 .long 2476932470 1553 .long 3218325650 1554 .long 3659995028 1555 .long 1068669200 1556 .long 855891755 1557 .long 1070696894 1558 .long 2583490354 1559 .long 3218768505 1560 .long 3062633575 1561 .long 3161492271 1562 .long 0 1563 .long 1072693248 1564 .long 2550940471 1565 .long 1069938201 1566 .long 0 1567 .long 0 1568 .long 0 1569 .long 0 1570 .long 2467582782 1571 .long 3216740037 1572 .long 0 1573 .long 0 1574 .long 162150096 1575 .long 1068946420 1576 .long 0 1577 .long 0 1578 .long 3702794237 1579 .long 3216062800 1580 .long 3631919291 1581 .long 3218420574 1582 .long 3456821413 1583 .long 1068217218 1584 .long 2031366438 1585 .long 1071495745 1586 .long 1596664020 1587 .long 3215282929 1588 .long 1509038701 1589 .long 3218085291 1590 .long 583171477 1591 .long 1067510148 1592 .long 3785344682 1593 .long 1070618476 1594 .long 2402036048 1595 .long 3214559384 1596 .long 3233018412 1597 .long 3217396834 1598 .long 411280568 1599 .long 1066710556 1600 .long 1065584192 1601 .long 1069747896 1602 .long 895247324 1603 .long 3218303496 1604 .long 500078909 1605 .long 1013805133 1606 .long 0 1607 .long 1072693248 1608 .long 729983843 1609 .long 1068994194 1610 .long 0 1611 .long 0 1612 .long 0 1613 .long 0 1614 .long 1512545955 1615 .long 3215602695 1616 .long 0 1617 .long 0 1618 .long 1127048698 1619 .long 1067909459 1620 .long 0 1621 .long 0 1622 .long 2300200450 1623 .long 3214738415 1624 .long 3593250296 1625 .long 3217717209 1626 .long 3009365544 1627 .long 1066902117 1628 .long 1127373050 1629 .long 1071173457 1630 .long 3046103305 1631 .long 3213854947 1632 .long 24583402 1633 .long 3217207636 1634 .long 4082511758 1635 .long 1065914199 1636 .long 3223889699 1637 .long 1070020367 1638 .long 548927984 1639 .long 3212899404 1640 .long 558065897 1641 .long 3216433066 1642 .long 680073315 1643 .long 1064940726 1644 .long 388873200 1645 .long 1068944270 1646 .long 3763679576 1647 .long 3217651189 1648 .long 1497360404 1649 .long 3157194195 1650 .long 0 1651 .long 1072693248 1652 .long 64931152 1653 .long 1067729411 1654 .long 0 1655 .long 0 1656 .long 0 1657 .long 0 1658 .long 1313038235 1659 .long 3214229379 1660 .long 0 1661 .long 0 1662 .long 1013878342 1663 .long 1067152618 1664 .long 0 1665 .long 0 1666 .long 3663426833 1667 .long 3213208931 1668 .long 3693284251 1669 .long 3216602456 1670 .long 650852232 1671 .long 1065882376 1672 .long 1996245381 1673 .long 1071000265 1674 .long 2008746170 1675 .long 3212147845 1676 .long 3055842593 1677 .long 3216062494 1678 .long 1495406348 1679 .long 1064652437 1680 .long 2269530157 1681 .long 1069711235 1682 .long 285563696 1683 .long 3211060113 1684 .long 1046897440 1685 .long 3215189513 1686 .long 233429731 1687 .long 1063453151 1688 .long 522045958 1689 .long 1068476590 1690 .long 2354785698 1691 .long 3216586427 1692 .long 1317599141 1693 .long 3159915781 1694 .long 0 1695 .long 1072693248 1696 .long 2828230105 1697 .long 1065606626 1698 .long 0 1699 .long 0 1700 .long 0 1701 .long 0 1702 .long 1841940611 1703 .long 1071931184 1704 .long 1841940611 1705 .long 1076125488 1706 .long 0 1707 .long 1131937792 1708 .long 0 1709 .long 1127743488 1710 .long 1413758976 1711 .long 1069097467 1712 .long 1413742592 1713 .long 1069097467 1714 .long 1734819840 1715 .long 3174229945 1716 .long 1280049152 1717 .long 1028033571 1718 .long 923219018 1719 .long 984130272 1720 .long 57701189 1721 .long 988383790 1722 .long 0 1723 .long 2147483648 1724 .long 0 1725 .long 2147483648 1726 .long 1734816687 1727 .long 1026746297 1728 .long 0 1729 .long 0 1730 .long 0 1731 .long 1072693248 1732 .long 0 1733 .long 0 1734 .long 0 1735 .long 2146435072 1736 .long 0 1737 .long 0 1738 .long 4294705152 1739 .long 4294967295 1740 .long 0 1741 .long 0 1742 .long 0 1743 .long 1130364928 1744 .long 0 1745 .long 0 1746 .long 0 1747 .long 1015021568 1748 .long 0 1749 .long 0 1750 .long 0 1751 .long 1017118720 1752 .long 0 1753 .long 0 1754 .long 0 1755 .long 1071644672 1756 .long 0 1757 .long 1071644672 1758 .long 0 1759 .long 1076887552 1760 .long 0 1761 .long 1072693248 1762 .type static_const_table,@object 1763 .size static_const_table,5872 1764 .data 1765 .hidden __libm_tancot_huge 1766 .section .note.GNU-stack, "" 1767# End 1768