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// This implementation uses the main path for |x| in [2^{-5},2^65). 36// For |x| in [2^{-64},2^{-5}), a secondary path is used. 37// For the biased exponent of X within 3FFH-64 and 3FF+64, we use one branch. 38// We use the following definition of B and X` so that the formula 39// atan(X) = Tau + atan( (X`-B) / (One + BX) ) is correct 40// 41// X = (-1)^s * 2^k * 1. x1 x2 ... x52 42// 43// Define X` = 0 if k >= 5; and X` = |X| otherwise 44// Define One = 0 if k >= 5; and One = 1 otherwise 45// Define B = 0 if k <= -6; B = 2^k * 1.x1 x2 x3 x4 1 if -5 <= k <= 4 46// Define B = 2^5 * 1.0 0 ... 0 if k >= 5 47// 48// Tau is 0 if k <= -6; 49// Tau is atan( B ) if -5 <= k <= 4 50// Tau is pi/2 if k >= 5 51// 52// Special cases: 53// atan(NaN) = quiet NaN 54// atan(+/-INF) = +/-Pi/2 55// atan(+/-0) = +/-0 56// 57/******************************************************************************/ 58 59#include <private/bionic_asm.h> 60# -- Begin atan 61ENTRY(atan) 62# parameter 1: %xmm0 63..B1.1: 64..___tag_value_atan.1: 65 pushq %rsi 66..___tag_value_atan.3: 67 movsd %xmm0, (%rsp) 68..B1.2: 69 movq $0xffff000000000000, %r8 70 movd %r8, %xmm3 71 movq ONEMASK(%rip), %xmm5 72 movq $0x800000000000, %r9 73 movd %r9, %xmm4 74 pextrw $3, %xmm0, %edx 75 andpd %xmm0, %xmm3 76 pshufd $68, %xmm0, %xmm1 77 orpd %xmm4, %xmm3 78 movl %edx, %eax 79 andl $32767, %edx 80 subl $16288, %edx 81 cmpl $159, %edx 82 ja .L_2TAG_PACKET_0.0.1 83 mulsd %xmm3, %xmm1 84 subsd %xmm3, %xmm0 85 addsd %xmm5, %xmm1 86 divsd %xmm1, %xmm0 87 addl $1, %edx 88 movq a2(%rip), %xmm2 89 movq b2(%rip), %xmm4 90 andl $32768, %eax 91 xorpd %xmm7, %xmm7 92 pinsrw $3, %eax, %xmm7 93 addl %edx, %edx 94 lea atan_tbl(%rip), %r8 95 movq (%r8,%rdx,8), %xmm6 96 movq 8(%r8,%rdx,8), %xmm5 97 xorpd %xmm7, %xmm5 98 xorpd %xmm7, %xmm6 99 movq 8+a2(%rip), %xmm7 100 movddup %xmm0, %xmm1 101 mulsd %xmm0, %xmm0 102 movddup %xmm1, %xmm3 103 addsd %xmm6, %xmm1 104 mulsd %xmm0, %xmm2 105 addsd %xmm0, %xmm4 106 subsd %xmm1, %xmm6 107 mulsd %xmm0, %xmm4 108 addsd %xmm7, %xmm2 109 mulsd %xmm3, %xmm0 110 addsd %xmm3, %xmm6 111 mulsd %xmm2, %xmm0 112 addsd 8+b2(%rip), %xmm4 113 addsd %xmm5, %xmm6 114 mulsd %xmm4, %xmm0 115 addsd %xmm6, %xmm0 116 addsd %xmm1, %xmm0 117 jmp .L_2TAG_PACKET_1.0.1 118.L_2TAG_PACKET_0.0.1: 119 addl $944, %edx 120 cmpl $1103, %edx 121 ja .L_2TAG_PACKET_2.0.1 122 movq a2(%rip), %xmm4 123 movq b2(%rip), %xmm7 124 movq (%rsp), %xmm0 125 mulsd %xmm1, %xmm1 126 movq 8+a2(%rip), %xmm2 127 movq 8+b2(%rip), %xmm5 128 mulsd %xmm1, %xmm4 129 addsd %xmm1, %xmm7 130 movq %xmm1, %xmm6 131 mulsd %xmm0, %xmm1 132 addsd %xmm4, %xmm2 133 mulsd %xmm6, %xmm7 134 mulsd %xmm1, %xmm2 135 addsd %xmm5, %xmm7 136 mulsd %xmm7, %xmm2 137 addsd %xmm2, %xmm0 138 jmp .L_2TAG_PACKET_1.0.1 139.L_2TAG_PACKET_2.0.1: 140 addl $15344, %edx 141 cmpl $16368, %edx 142 ja .L_2TAG_PACKET_3.0.1 143 movq (%rsp), %xmm0 144 movq (%rsp), %xmm1 145 cmpl $16, %edx 146 jae .L_2TAG_PACKET_1.0.1 147 mulsd %xmm0, %xmm1 148 jmp .L_2TAG_PACKET_1.0.1 149.L_2TAG_PACKET_3.0.1: 150 cmpl $17392, %edx 151 jae .L_2TAG_PACKET_4.0.1 152 movq $0xbff0000000000000, %r8 153 movd %r8, %xmm1 154 divsd %xmm0, %xmm1 155 movq a2(%rip), %xmm2 156 movq b2(%rip), %xmm4 157 andl $32768, %eax 158 xorpd %xmm7, %xmm7 159 pinsrw $3, %eax, %xmm7 160 addl %edx, %edx 161 movq pi_table(%rip), %xmm6 162 movq 8+pi_table(%rip), %xmm5 163 xorpd %xmm7, %xmm5 164 xorpd %xmm7, %xmm6 165 movq 8+a2(%rip), %xmm7 166 movddup %xmm1, %xmm0 167 mulsd %xmm1, %xmm1 168 movddup %xmm0, %xmm3 169 addsd %xmm6, %xmm0 170 mulsd %xmm1, %xmm2 171 addsd %xmm1, %xmm4 172 subsd %xmm0, %xmm6 173 mulsd %xmm1, %xmm4 174 addsd %xmm7, %xmm2 175 mulsd %xmm3, %xmm1 176 addsd %xmm3, %xmm6 177 mulsd %xmm2, %xmm1 178 addsd 8+b2(%rip), %xmm4 179 addsd %xmm5, %xmm6 180 mulsd %xmm4, %xmm1 181 addsd %xmm6, %xmm1 182 addsd %xmm1, %xmm0 183 jmp .L_2TAG_PACKET_1.0.1 184.L_2TAG_PACKET_4.0.1: 185 movq (%rsp), %xmm4 186 movq SGNMASK(%rip), %xmm0 187 movq pi_table(%rip), %xmm2 188 movq 8+pi_table(%rip), %xmm3 189 movd %xmm1, %eax 190 psrlq $32, %xmm1 191 movd %xmm1, %edx 192 andl $2147483647, %edx 193 cmpl $2146435072, %edx 194 jae .L_2TAG_PACKET_5.0.1 195.L_2TAG_PACKET_6.0.1: 196 andnpd %xmm4, %xmm0 197 orpd %xmm0, %xmm2 198 orpd %xmm3, %xmm0 199 addsd %xmm2, %xmm0 200 jmp .L_2TAG_PACKET_1.0.1 201.L_2TAG_PACKET_5.0.1: 202 subl $2146435072, %edx 203 orl %edx, %eax 204 cmpl $0, %eax 205 je .L_2TAG_PACKET_6.0.1 206 movq %xmm4, %xmm0 207 addsd %xmm0, %xmm0 208.L_2TAG_PACKET_1.0.1: 209..B1.3: 210 popq %rcx 211..___tag_value_atan.4: 212 ret 213..___tag_value_atan.5: 214END(atan) 215# -- End atan 216 .section .rodata, "a" 217 .align 4 218 .align 4 219ONEMASK: 220 .long 0 221 .long 1072693248 222 .type ONEMASK,@object 223 .size ONEMASK,8 224 .align 4 225a2: 226 .long 2006262985 227 .long 1069310863 228 .long 2358449471 229 .long 3217342131 230 .type a2,@object 231 .size a2,16 232 .align 4 233b2: 234 .long 3845454352 235 .long 1069952297 236 .long 2829679149 237 .long 1073771565 238 .type b2,@object 239 .size b2,16 240 .align 4 241atan_tbl: 242 .long 0 243 .long 0 244 .long 0 245 .long 0 246 .long 3819695742 247 .long 1067482761 248 .long 2398680355 249 .long 3155462074 250 .long 2998791009 251 .long 1067548225 252 .long 3868465248 253 .long 3157182472 254 .long 3339424991 255 .long 1067613680 256 .long 3296670360 257 .long 1010752543 258 .long 2710002256 259 .long 1067679126 260 .long 3403896007 261 .long 1010910768 262 .long 3275701428 263 .long 1067744562 264 .long 119959933 265 .long 1011482843 266 .long 2908636881 267 .long 1067809988 268 .long 2464489612 269 .long 1011545526 270 .long 3777889398 271 .long 1067875403 272 .long 3262682165 273 .long 1009703919 274 .long 3759667419 275 .long 1067940807 276 .long 1838130851 277 .long 3157373556 278 .long 732369940 279 .long 1068006200 280 .long 1203428313 281 .long 1010055371 282 .long 1166616461 283 .long 1068071580 284 .long 2901274051 285 .long 3158549977 286 .long 2945472892 287 .long 1068136947 288 .long 3726120658 289 .long 1009762715 290 .long 3954480976 291 .long 1068202301 292 .long 1289173457 293 .long 1009429861 294 .long 2081752829 295 .long 1068267642 296 .long 1836909874 297 .long 1006212095 298 .long 3807999788 299 .long 1068332968 300 .long 2172459940 301 .long 3156162078 302 .long 2731789884 303 .long 1068398280 304 .long 3450718392 305 .long 3159216547 306 .long 1044477961 307 .long 1068463577 308 .long 2230553229 309 .long 1011424339 310 .long 1486930287 311 .long 1068530218 312 .long 2861547474 313 .long 1012041376 314 .long 2293016881 315 .long 1068595466 316 .long 136843272 317 .long 1012684797 318 .long 201518157 319 .long 1068660680 320 .long 63231984 321 .long 1012427198 322 .long 4054234584 323 .long 1068725856 324 .long 3927006960 325 .long 1011878955 326 .long 1246477213 327 .long 1068790995 328 .long 1494265652 329 .long 3155219350 330 .long 678186699 331 .long 1068856093 332 .long 1264361424 333 .long 3159256693 334 .long 2690594995 335 .long 1068921148 336 .long 3906996379 337 .long 1009288267 338 .long 3362611517 339 .long 1068986159 340 .long 1650970041 341 .long 3158331771 342 .long 3102162111 343 .long 1069051124 344 .long 365917035 345 .long 3160264153 346 .long 2352611067 347 .long 1069116041 348 .long 4008970190 349 .long 3159478182 350 .long 1594134794 351 .long 1069180908 352 .long 466690178 353 .long 1012526501 354 .long 1345079306 355 .long 1069245723 356 .long 2268273568 357 .long 3160164092 358 .long 2163300970 359 .long 1069310484 360 .long 2750834800 361 .long 3158113482 362 .long 352522716 363 .long 1069375190 364 .long 1750411372 365 .long 1011790845 366 .long 848541647 367 .long 1069439838 368 .long 2164207573 369 .long 1011698350 370 .long 40647312 371 .long 1069504427 372 .long 2949165434 373 .long 3159107267 374 .long 2216766270 375 .long 1069574357 376 .long 2197920765 377 .long 3161055954 378 .long 1090914384 379 .long 1069638757 380 .long 2330454674 381 .long 1013365998 382 .long 387601244 383 .long 1069703022 384 .long 3185681168 385 .long 1013434071 386 .long 3991640484 387 .long 1069767144 388 .long 1313211590 389 .long 3161087959 390 .long 3322489502 391 .long 1069831118 392 .long 3013977995 393 .long 1013053011 394 .long 3121698570 395 .long 1069894936 396 .long 4069015667 397 .long 1013023362 398 .long 4289964660 399 .long 1069958591 400 .long 1736191156 401 .long 3158266731 402 .long 3903312386 403 .long 1070022077 404 .long 1833592413 405 .long 3159731471 406 .long 3818449864 407 .long 1070085387 408 .long 851036429 409 .long 3159730451 410 .long 2097480306 411 .long 1070148515 412 .long 3506390884 413 .long 3160462302 414 .long 1611694502 415 .long 1070211454 416 .long 2785735540 417 .long 3160465144 418 .long 1464694796 419 .long 1070274198 420 .long 4229277299 421 .long 3159907000 422 .long 1299612775 423 .long 1070336741 424 .long 4116653788 425 .long 3160427739 426 .long 1310544789 427 .long 1070399077 428 .long 1064430331 429 .long 1013218202 430 .long 2253168030 431 .long 1070461200 432 .long 1405044609 433 .long 3157623179 434 .long 1159567373 435 .long 1070523105 436 .long 2353445521 437 .long 3159992176 438 .long 1359373750 439 .long 1070605818 440 .long 1748171336 441 .long 3161879263 442 .long 908341706 443 .long 1070667034 444 .long 3372710815 445 .long 3161775245 446 .long 1743027350 447 .long 1070727765 448 .long 687089934 449 .long 3160507171 450 .long 2055355646 451 .long 1070787992 452 .long 2392855242 453 .long 1013682469 454 .long 690426164 455 .long 1070847697 456 .long 1103926666 457 .long 1014052810 458 .long 1483247847 459 .long 1070906862 460 .long 2082645847 461 .long 3161345479 462 .long 392040270 463 .long 1070965472 464 .long 2407720023 465 .long 1014053754 466 .long 2673846014 467 .long 1071023511 468 .long 1293605532 469 .long 3158464385 470 .long 1384215810 471 .long 1071080967 472 .long 2446095872 473 .long 3159216407 474 .long 3101660631 475 .long 1071137826 476 .long 698040758 477 .long 1014855328 478 .long 2094057058 479 .long 1071194078 480 .long 2282048339 481 .long 1014040385 482 .long 1712750594 483 .long 1071249712 484 .long 1204372378 485 .long 3162276464 486 .long 1411515787 487 .long 1071304719 488 .long 949080808 489 .long 1015006403 490 .long 931538085 491 .long 1071359091 492 .long 3027127039 493 .long 1014307233 494 .long 179139065 495 .long 1071412821 496 .long 4285547492 497 .long 3161934731 498 .long 3387721259 499 .long 1071465902 500 .long 373225773 501 .long 1013486625 502 .long 2132236852 503 .long 1071544299 504 .long 3250533429 505 .long 1014031677 506 .long 1942070284 507 .long 1071645596 508 .long 1237964179 509 .long 3163239113 510 .long 1532707802 511 .long 1071695380 512 .long 330645583 513 .long 1012495610 514 .long 2294184979 515 .long 1071743834 516 .long 3959472897 517 .long 1015833116 518 .long 3805060714 519 .long 1071790961 520 .long 2671256142 521 .long 1013727772 522 .long 2215037898 523 .long 1071836770 524 .long 2683359117 525 .long 1015831902 526 .long 483661594 527 .long 1071881273 528 .long 836288326 529 .long 3162648643 530 .long 1534679894 531 .long 1071924486 532 .long 373258696 533 .long 3162470096 534 .long 1538714628 535 .long 1071966430 536 .long 3199433068 537 .long 1015325501 538 .long 527642555 539 .long 1072007128 540 .long 3636832592 541 .long 3161843145 542 .long 291339150 543 .long 1072046605 544 .long 890169537 545 .long 3160586117 546 .long 2450210201 547 .long 1072084888 548 .long 1636353294 549 .long 3163193400 550 .long 2411367951 551 .long 1072122007 552 .long 374899873 553 .long 1011331750 554 .long 681549971 555 .long 1072157992 556 .long 506411689 557 .long 1015373954 558 .long 1466745541 559 .long 1072192873 560 .long 2143860931 561 .long 1013364334 562 .long 2845622366 563 .long 1072226682 564 .long 2869178209 565 .long 3162423682 566 .long 2838871438 567 .long 1072275456 568 .long 3742223599 569 .long 1014338577 570 .long 4200275274 571 .long 1072337034 572 .long 1566539915 573 .long 3161839550 574 .long 3034733530 575 .long 1072394897 576 .long 652621408 577 .long 3162261964 578 .long 3207412993 579 .long 1072449290 580 .long 3206124665 581 .long 1014408733 582 .long 624461478 583 .long 1072500450 584 .long 932437485 585 .long 1015204343 586 .long 767665908 587 .long 1072548600 588 .long 1037911952 589 .long 3163527627 590 .long 1110773639 591 .long 1072593952 592 .long 2371517912 593 .long 3160465741 594 .long 1940828530 595 .long 1072636704 596 .long 2731408428 597 .long 3162895795 598 .long 1911329388 599 .long 1072677041 600 .long 1773089615 601 .long 3159569267 602 .long 1764715788 603 .long 1072704191 604 .long 691346949 605 .long 3164069946 606 .long 3332979233 607 .long 1072722195 608 .long 3550733983 609 .long 1014770628 610 .long 1321870254 611 .long 1072739231 612 .long 1415315820 613 .long 1016224052 614 .long 3657429030 615 .long 1072755365 616 .long 3910539033 617 .long 1015966402 618 .long 4197624557 619 .long 1072770661 620 .long 2333399254 621 .long 3164546480 622 .long 1512059493 623 .long 1072785177 624 .long 2701510318 625 .long 1016178092 626 .long 453379037 627 .long 1072798965 628 .long 4046344253 629 .long 3162814364 630 .long 1942345162 631 .long 1072818388 632 .long 621134147 633 .long 1016335195 634 .long 4210176273 635 .long 1072842164 636 .long 2701013387 637 .long 3164326619 638 .long 4185644010 639 .long 1072863795 640 .long 4163699341 641 .long 1016203112 642 .long 679688788 643 .long 1072883543 644 .long 4147276762 645 .long 1014066750 646 .long 29432865 647 .long 1072901630 648 .long 970415797 649 .long 1016902063 650 .long 4070721092 651 .long 1072918247 652 .long 2539004411 653 .long 3163736096 654 .long 2252468843 655 .long 1072933561 656 .long 3424082887 657 .long 3163407177 658 .long 2929724825 659 .long 1072947712 660 .long 3661482235 661 .long 3163846989 662 .long 1377513368 663 .long 1072960824 664 .long 3987926680 665 .long 1013647908 666 .long 1031632908 667 .long 1072973003 668 .long 3672217151 669 .long 1016614619 670 .long 2516508130 671 .long 1072984342 672 .long 545855020 673 .long 3162728930 674 .long 3792452178 675 .long 1072994923 676 .long 3420119467 677 .long 1016471430 678 .long 3147791459 679 .long 1073004818 680 .long 1342204979 681 .long 1013937254 682 .long 999189752 683 .long 1073014090 684 .long 1006335472 685 .long 3162850919 686 .long 711011011 687 .long 1073022794 688 .long 4633488 689 .long 3162966895 690 .long 15640363 691 .long 1073030980 692 .long 1686389560 693 .long 3164376226 694 .long 1218463589 695 .long 1073042382 696 .long 1526837110 697 .long 3163533985 698 .long 2538470555 699 .long 1073056144 700 .long 2273304406 701 .long 3163784996 702 .long 1229720947 703 .long 1073068489 704 .long 2971628206 705 .long 3162356540 706 .long 3115427016 707 .long 1073079621 708 .long 4215132957 709 .long 3164282762 710 .long 4030612557 711 .long 1073089709 712 .long 1913251691 713 .long 3163671292 714 .long 2728521257 715 .long 1073098892 716 .long 2861089500 717 .long 1015454459 718 .long 1118696283 719 .long 1073107285 720 .long 1628948053 721 .long 1016179658 722 .long 2682711255 723 .long 1073114984 724 .long 2906306266 725 .long 1014142643 726 .long 2073898081 727 .long 1073122072 728 .long 1322740454 729 .long 3164497217 730 .long 1403700297 731 .long 1073128618 732 .long 416137895 733 .long 3162781466 734 .long 2502685617 735 .long 1073134681 736 .long 3242008732 737 .long 1014593495 738 .long 1531926851 739 .long 1073140313 740 .long 1362708094 741 .long 1016517604 742 .long 3572814411 743 .long 1073145557 744 .long 3709790527 745 .long 1012646874 746 .long 1695536111 747 .long 1073150453 748 .long 3980346340 749 .long 1016705136 750 .long 2363057203 751 .long 1073155033 752 .long 2551194792 753 .long 1012569695 754 .long 2873365682 755 .long 1073159327 756 .long 3181154748 757 .long 1017041450 758 .long 1053384691 759 .long 1073165288 760 .long 3074536879 761 .long 1016965660 762 .long 3270542712 763 .long 1073172451 764 .long 2535319415 765 .long 3163051778 766 .long 1353631484 767 .long 1073178850 768 .long 1173833755 769 .long 1015534537 770 .long 3511218460 771 .long 1073184599 772 .long 1243608109 773 .long 3161592122 774 .long 4121259284 775 .long 1073189793 776 .long 398584912 777 .long 3163829923 778 .long 1193862106 779 .long 1073194509 780 .long 1873745539 781 .long 3163802819 782 .long 3861949790 783 .long 1073198808 784 .long 3841261147 785 .long 1015587248 786 .long 1486904578 787 .long 1073202745 788 .long 1634726776 789 .long 3163847886 790 .long 2879153715 791 .long 1073206362 792 .long 200456242 793 .long 3164138657 794 .long 385353253 795 .long 1073209698 796 .long 1186355517 797 .long 1014887155 798 .long 1125865839 799 .long 1073212783 800 .long 203561262 801 .long 3161244927 802 .long 1221361475 803 .long 1073215645 804 .long 3382476563 805 .long 1014936138 806 .long 2077323573 807 .long 1073218307 808 .long 1005121005 809 .long 3164430752 810 .long 215611373 811 .long 1073220790 812 .long 353198764 813 .long 3164485137 814 .long 2347419265 815 .long 1073223110 816 .long 1103143360 817 .long 1016542137 818 .long 1379112765 819 .long 1073225284 820 .long 381583533 821 .long 3162870833 822 .long 3891198463 823 .long 1073228298 824 .long 1771275754 825 .long 1014654681 826 .long 3395914051 827 .long 1073231917 828 .long 2350900914 829 .long 3164013978 830 .long 2799919478 831 .long 1073235146 832 .long 2893950164 833 .long 3163260901 834 .long 1138673476 835 .long 1073238045 836 .long 2622204785 837 .long 3164174388 838 .long 3408855940 839 .long 1073240661 840 .long 2800881650 841 .long 1016008624 842 .long 2044858738 843 .long 1073243035 844 .long 604544785 845 .long 1017022901 846 .long 2578795176 847 .long 1073245198 848 .long 2557332925 849 .long 1016135165 850 .long 4196285314 851 .long 1073247177 852 .long 2032365307 853 .long 1016194735 854 .long 224877747 855 .long 1073248996 856 .long 497926916 857 .long 1016947111 858 .long 3271386490 859 .long 1073250671 860 .long 2689994846 861 .long 1016631513 862 .long 813635989 863 .long 1073252221 864 .long 747035277 865 .long 3164530136 866 .long 369829519 867 .long 1073253658 868 .long 2182033858 869 .long 3163190340 870 .long 1187679052 871 .long 1073254994 872 .long 673954443 873 .long 1016149821 874 .long 4232586098 875 .long 1073256239 876 .long 497775200 877 .long 3162179015 878 .long 426690558 879 .long 1073257404 880 .long 3063343247 881 .long 1016865578 882 .long 1624065902 883 .long 1073258494 884 .long 1354224996 885 .long 3163503778 886 .long 1413754136 887 .long 1073291771 888 .long 856972295 889 .long 1016178214 890 .type atan_tbl,@object 891 .size atan_tbl,2592 892 .align 4 893pi_table: 894 .long 1413754136 895 .long 1073291771 896 .long 856972295 897 .long 1016178214 898 .type pi_table,@object 899 .size pi_table,16 900 .align 4 901SGNMASK: 902 .long 4294967295 903 .long 2147483647 904 .type SGNMASK,@object 905 .size SGNMASK,8 906 .data 907 .section .note.GNU-stack, "" 908// -- Begin DWARF2 SEGMENT .eh_frame 909 .section .eh_frame,"a",@progbits 910.eh_frame_seg: 911 .align 1 912 .4byte 0x00000014 913 .8byte 0x00527a0100000000 914 .8byte 0x08070c1b01107801 915 .4byte 0x00000190 916 .4byte 0x0000001c 917 .4byte 0x0000001c 918 .4byte ..___tag_value_atan.1-. 919 .4byte ..___tag_value_atan.5-..___tag_value_atan.1 920 .2byte 0x0400 921 .4byte ..___tag_value_atan.3-..___tag_value_atan.1 922 .2byte 0x100e 923 .byte 0x04 924 .4byte ..___tag_value_atan.4-..___tag_value_atan.3 925 .2byte 0x080e 926 .byte 0x00 927# End 928