123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683 |
- /*
- * Math library
- *
- * Copyright (C) 2016 Intel Corporation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * Author Name <jingwei.zhang@intel.com>
- * History:
- * 03-14-2016 Initial version. numerics svn rev. 12864
- */
- .file "tanl.c"
- .text
- ..TXTST0:
- # -- Begin tanl
- .text
- .align 16,0x90
- .globl tanl
- tanl:
- # parameter 1: 8 + %ebp
- ..B1.1:
- ..L1:
- pushl %ebp
- movl %esp, %ebp
- andl $-64, %esp
- pushl %esi
- pushl %edi
- pushl %ebx
- subl $116, %esp
- movl %gs:20, %eax
- xorl %esp, %eax
- movl %eax, 88(%esp)
- ..B1.2:
- fnstcw 14(%esp)
- ..B1.3:
- movzwl 16(%ebp), %edi
- andl $32767, %edi
- movzwl 14(%esp), %eax
- cmpl $16373, %edi
- call ..L2
- ..L2:
- popl %ebx
- lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
- jge ..B1.41
- ..B1.4:
- cmpl $16371, %edi
- jge ..B1.33
- ..B1.5:
- cmpl $16364, %edi
- jge ..B1.25
- ..B1.6:
- cmpl $16308, %edi
- jge ..B1.17
- ..B1.7:
- movl %eax, %edx
- andl $768, %edx
- cmpl $768, %edx
- je ..B1.87
- ..B1.8:
- orl $-64768, %eax
- movw %ax, 12(%esp)
- ..B1.9:
- fldcw 12(%esp)
- ..B1.10:
- movzwl 16(%ebp), %edi
- movl $1, %esi
- andl $32767, %edi
- ..B1.11:
- testl %edi, %edi
- jle ..B1.83
- ..B1.12:
- fldt 8(%ebp)
- fldl _TWO_75@GOTOFF(%ebx)
- fmul %st(1), %st
- faddp %st, %st(1)
- fmull 8+_TWO_75@GOTOFF(%ebx)
- fstpt 16(%esp)
- ..B1.13:
- testl %esi, %esi
- je ..B1.15
- ..B1.14:
- fldcw 14(%esp)
- ..B1.15:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.16:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.17:
- movl %eax, %edx
- andl $768, %edx
- cmpl $768, %edx
- je ..B1.89
- ..B1.18:
- orl $-64768, %eax
- movw %ax, 12(%esp)
- ..B1.19:
- fldcw 12(%esp)
- ..B1.20:
- movl $1, %eax
- ..B1.21:
- fldt 8(%ebp)
- testl %eax, %eax
- fld %st(0)
- fmul %st(1), %st
- fldt _P3@GOTOFF(%ebx)
- fmulp %st, %st(1)
- fmul %st(1), %st
- faddp %st, %st(1)
- fstpt 16(%esp)
- je ..B1.23
- ..B1.22:
- fldcw 14(%esp)
- ..B1.23:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.24:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.25:
- movl %eax, %edx
- andl $768, %edx
- cmpl $768, %edx
- je ..B1.91
- ..B1.26:
- orl $-64768, %eax
- movw %ax, 12(%esp)
- ..B1.27:
- fldcw 12(%esp)
- ..B1.28:
- movl $1, %eax
- ..B1.29:
- fldt 8(%ebp)
- testl %eax, %eax
- fld %st(0)
- fmul %st(1), %st
- fldt 12+_P2@GOTOFF(%ebx)
- fmul %st(1), %st
- fldt _P2@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmulp %st, %st(1)
- fmul %st(1), %st
- faddp %st, %st(1)
- fstpt 16(%esp)
- je ..B1.31
- ..B1.30:
- fldcw 14(%esp)
- ..B1.31:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.32:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.33:
- movl %eax, %edx
- andl $768, %edx
- cmpl $768, %edx
- je ..B1.93
- ..B1.34:
- orl $-64768, %eax
- movw %ax, 12(%esp)
- ..B1.35:
- fldcw 12(%esp)
- ..B1.36:
- movl $1, %eax
- ..B1.37:
- fldt 8(%ebp)
- testl %eax, %eax
- fld %st(0)
- fmul %st(1), %st
- fld %st(0)
- fmul %st(1), %st
- fldt 36+_P1@GOTOFF(%ebx)
- fmul %st(1), %st
- fldt 12+_P1@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmul %st(1), %st
- fldt 24+_P1@GOTOFF(%ebx)
- fmulp %st, %st(2)
- fldt _P1@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(2)
- fmulp %st, %st(1)
- faddp %st, %st(1)
- fmul %st(1), %st
- faddp %st, %st(1)
- fstpt 16(%esp)
- je ..B1.39
- ..B1.38:
- fldcw 14(%esp)
- ..B1.39:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.40:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.41:
- movl %eax, %edx
- andl $768, %edx
- cmpl $768, %edx
- je ..B1.99
- ..B1.42:
- orl $-64768, %eax
- movw %ax, 12(%esp)
- ..B1.43:
- fldcw 12(%esp)
- ..B1.44:
- movzwl 16(%ebp), %edi
- movl $1, %esi
- andl $32767, %edi
- ..B1.45:
- movzbl 17(%ebp), %eax
- andl $128, %eax
- shrl $7, %eax
- cmpl $16413, %edi
- jge ..B1.52
- ..B1.46:
- fldt 8(%ebp)
- fldl _Pi4Inv@GOTOFF(%ebx)
- fldl _ones@GOTOFF(%ebx,%eax,8)
- fld %st(0)
- fmul %st(3), %st
- fmul %st, %st(2)
- fxch %st(2)
- fstpt 60(%esp)
- movzwl 68(%esp), %ecx
- andl $32767, %ecx
- cmpl $16383, %ecx
- jge ..B1.48
- ..B1.47:
- fstp %st(0)
- fstp %st(0)
- fldl _TWO_48H@GOTOFF(%ebx)
- fld %st(1)
- fmul %st(1), %st
- fld %st(2)
- movl $1, %edx
- fadd %st(1), %st
- fsubp %st, %st(1)
- fld %st(2)
- fsub %st(1), %st
- fldt _KPi04@GOTOFF(%ebx)
- fmul %st(4), %st
- fstpt 60(%esp)
- fxch %st(3)
- jmp ..B1.63
- ..B1.48:
- fstp %st(2)
- fldl _TWO_32H@GOTOFF(%ebx)
- negl %ecx
- addl $30, %ecx
- movl 64(%esp), %edx
- shrl %cl, %edx
- incl %edx
- movl %edx, %eax
- andl $-2, %eax
- movl %eax, 16(%esp)
- cmpl $16400, %edi
- fildl 16(%esp)
- jge ..B1.50
- ..B1.49:
- fldl _Pi04x3@GOTOFF(%ebx)
- fmul %st(1), %st
- fsubrp %st, %st(3)
- fxch %st(1)
- fmul %st(2), %st
- fld %st(2)
- fadd %st(1), %st
- fsubp %st, %st(1)
- fld %st(0)
- fxch %st(1)
- fsubr %st, %st(3)
- fldl 8+_Pi04x3@GOTOFF(%ebx)
- fmul %st(3), %st
- fsubr %st, %st(2)
- fxch %st(1)
- fsub %st(2), %st
- fsubp %st, %st(1)
- faddp %st, %st(3)
- fldl 16+_Pi04x3@GOTOFF(%ebx)
- fmulp %st, %st(2)
- fld %st(1)
- fsubr %st(1), %st
- fsubr %st, %st(1)
- fxch %st(2)
- fsubrp %st, %st(1)
- faddp %st, %st(2)
- jmp ..B1.51
- ..B1.50:
- fldl _Pi04x5@GOTOFF(%ebx)
- fmul %st(1), %st
- fsubrp %st, %st(3)
- fxch %st(1)
- fmul %st(2), %st
- fld %st(2)
- fadd %st(1), %st
- fsubp %st, %st(1)
- fld %st(0)
- fxch %st(1)
- fsubr %st, %st(3)
- fldl 8+_Pi04x5@GOTOFF(%ebx)
- fmul %st(3), %st
- fsubr %st, %st(2)
- fxch %st(1)
- fsub %st(2), %st
- fsubp %st, %st(1)
- faddp %st, %st(3)
- fldl 16+_Pi04x5@GOTOFF(%ebx)
- fmul %st(2), %st
- fld %st(0)
- fsubr %st(2), %st
- fsubr %st, %st(2)
- fxch %st(1)
- fsubrp %st, %st(2)
- fxch %st(3)
- faddp %st, %st(1)
- fldl 24+_Pi04x5@GOTOFF(%ebx)
- fmul %st(2), %st
- fld %st(0)
- fsubr %st(4), %st
- fsubr %st, %st(4)
- fxch %st(1)
- fsubrp %st, %st(4)
- fxch %st(1)
- faddp %st, %st(3)
- fldl 32+_Pi04x5@GOTOFF(%ebx)
- fmulp %st, %st(2)
- fld %st(1)
- fsubr %st(1), %st
- fsubr %st, %st(1)
- fxch %st(2)
- fsubrp %st, %st(1)
- faddp %st, %st(2)
- ..B1.51:
- fldl _TWO_48H@GOTOFF(%ebx)
- fld %st(1)
- fmul %st(1), %st
- fld %st(2)
- fadd %st(1), %st
- fsubp %st, %st(1)
- fsubr %st, %st(2)
- fxch %st(2)
- faddp %st, %st(3)
- fxch %st(2)
- fmul %st(3), %st
- fxch %st(3)
- fmulp %st, %st(1)
- fld %st(0)
- fadd %st(3), %st
- fstpt 8(%ebp)
- fldt 8(%ebp)
- fldt _KPi04@GOTOFF(%ebx)
- fmul %st(1), %st
- fstpt 60(%esp)
- jmp ..B1.63
- ..B1.52:
- cmpl $32767, %edi
- jne ..B1.61
- ..B1.53:
- cmpl $-2147483648, 12(%ebp)
- jne ..B1.56
- ..B1.54:
- cmpl $0, 8(%ebp)
- jne ..B1.56
- ..B1.55:
- fldl _infs@GOTOFF(%ebx)
- fmull _zeros@GOTOFF(%ebx)
- fstpt 16(%esp)
- jmp ..B1.57
- ..B1.56:
- fldt 8(%ebp)
- fmull _ones@GOTOFF(%ebx)
- fstpt 16(%esp)
- ..B1.57:
- testl %esi, %esi
- je ..B1.59
- ..B1.58:
- fldcw 14(%esp)
- ..B1.59:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.60:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.61:
- fldl _ones@GOTOFF(%ebx,%eax,8)
- fstl 16(%esp)
- addl $-32, %esp
- fldt 8(%ebp)
- lea 104(%esp), %eax
- fmulp %st, %st(1)
- fstpt (%esp)
- movl $0, 12(%esp)
- movl %eax, 16(%esp)
- call __libm_reduce_pi04l
- ..B1.102:
- movl %eax, %edx
- addl $32, %esp
- ..B1.62:
- fldl 72(%esp)
- incl %edx
- fld %st(0)
- fldl 16(%esp)
- fldl _TWO_48H@GOTOFF(%ebx)
- fmul %st, %st(2)
- fld %st(2)
- fadd %st(4), %st
- fsubp %st, %st(3)
- fxch %st(2)
- fsubr %st, %st(3)
- fmul %st(1), %st
- fld %st(0)
- fxch %st(4)
- faddl 80(%esp)
- fmulp %st, %st(2)
- fxch %st(1)
- fadd %st, %st(3)
- fxch %st(3)
- fstpt 8(%ebp)
- fldt 8(%ebp)
- fldt _KPi04@GOTOFF(%ebx)
- fmul %st(1), %st
- fstpt 60(%esp)
- ..B1.63:
- movzwl 68(%esp), %ecx
- andl $32767, %ecx
- cmpl $16383, %ecx
- jge ..B1.73
- ..B1.64:
- testb $2, %dl
- je ..B1.69
- ..B1.65:
- fldl 8+_ones@GOTOFF(%ebx)
- testl %esi, %esi
- fdiv %st(1), %st
- fmul %st, %st(3)
- fld %st(2)
- fmul %st(5), %st
- fxch %st(5)
- fstpt 32(%esp)
- fldt 32(%esp)
- fmul %st(2), %st
- faddp %st, %st(5)
- fxch %st(2)
- fstpt 48(%esp)
- fldt 48(%esp)
- fmul %st(0), %st
- faddp %st, %st(4)
- fld %st(3)
- fmul %st(4), %st
- fldt 60+_PG@GOTOFF(%ebx)
- fmul %st(1), %st
- fldt 48+_PG@GOTOFF(%ebx)
- fmul %st(2), %st
- fldt 36+_PG@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmul %st(2), %st
- fldt 24+_PG@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmulp %st, %st(2)
- fld %st(3)
- fadd %st(5), %st
- fsub %st(5), %st
- fldt 12+_PG@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmulp %st, %st(6)
- fldt _PG@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmul %st(2), %st
- fld %st(3)
- fsub %st(2), %st
- fxch %st(6)
- fmulp %st, %st(3)
- faddp %st, %st(2)
- fldt 48(%esp)
- fld %st(0)
- fmul %st(6), %st
- fxch %st(1)
- fmul %st(2), %st
- fldt 32(%esp)
- fmul %st(5), %st
- faddp %st, %st(2)
- faddl _ones@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmulp %st, %st(3)
- fxch %st(2)
- faddp %st, %st(4)
- faddp %st, %st(3)
- faddp %st, %st(2)
- fxch %st(1)
- fstpt 16(%esp)
- je ..B1.107
- ..B1.66:
- fstpt 60(%esp)
- ..B1.103:
- fldcw 14(%esp)
- jmp ..B1.67
- ..B1.107:
- fstp %st(0)
- ..B1.67:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.68:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.69:
- fldt 60+_PT@GOTOFF(%ebx)
- fld %st(1)
- fmul %st(2), %st
- testl %esi, %esi
- fxch %st(3)
- fstpt 48(%esp)
- fld %st(2)
- fmul %st(3), %st
- fmul %st, %st(1)
- fldt 48+_PT@GOTOFF(%ebx)
- fmul %st(1), %st
- fldt 36+_PT@GOTOFF(%ebx)
- faddp %st, %st(3)
- fxch %st(1)
- fmul %st, %st(2)
- fldt 24+_PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fmul %st, %st(1)
- fldt 12+_PT@GOTOFF(%ebx)
- faddp %st, %st(3)
- fmulp %st, %st(2)
- fldt _PT@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmulp %st, %st(3)
- faddp %st, %st(2)
- fxch %st(1)
- fmul %st, %st(2)
- fld %st(0)
- fadd %st(3), %st
- fsubp %st, %st(3)
- fsub %st(2), %st
- fmulp %st, %st(1)
- fld %st(2)
- fmul %st(2), %st
- faddp %st, %st(1)
- faddp %st, %st(2)
- fldt 48(%esp)
- fmul %st, %st(1)
- fld %st(0)
- fadd %st(2), %st
- fsubr %st, %st(1)
- fxch %st(1)
- faddp %st, %st(2)
- fxch %st(1)
- fadd %st, %st(2)
- fxch %st(2)
- faddp %st, %st(1)
- fstpt 16(%esp)
- je ..B1.108
- ..B1.70:
- fstpt 60(%esp)
- ..B1.104:
- fldcw 14(%esp)
- jmp ..B1.71
- ..B1.108:
- fstp %st(0)
- ..B1.71:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.72:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.73:
- fstp %st(0)
- fldl .L_2il0floatpacket.0@GOTOFF(%ebx)
- negl %ecx
- fldl .L_2il0floatpacket.1@GOTOFF(%ebx)
- addl $30, %ecx
- movl 64(%esp), %eax
- shrl %cl, %eax
- movl %eax, %ecx
- movzbl 17(%ebp), %edi
- negl %ecx
- testl $128, %edi
- jne ..L3
- movl %eax, %ecx
- ..L3:
- movl %ecx, 16(%esp)
- testb $2, %dl
- fildl 16(%esp)
- fmul %st, %st(2)
- fxch %st(2)
- fsubrp %st, %st(3)
- fld %st(2)
- fxch %st(1)
- fmulp %st, %st(2)
- fxch %st(1)
- fsubrp %st, %st(4)
- fadd %st(3), %st
- je ..B1.78
- ..B1.74:
- fld %st(1)
- fmul %st(4), %st
- fld %st(4)
- fmul %st(2), %st
- shll $4, %ecx
- faddp %st, %st(1)
- fld %st(2)
- testl %esi, %esi
- fmul %st(3), %st
- faddp %st, %st(1)
- fld %st(0)
- fmul %st(1), %st
- fxch %st(4)
- fstpt 32(%esp)
- fxch %st(1)
- fstpt 8(%ebp)
- fldt 8(%ebp)
- fldt 60+_PT@GOTOFF(%ebx)
- fmul %st(4), %st
- fldt 48+_PT@GOTOFF(%ebx)
- fmul %st(5), %st
- fldt 36+_PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmul %st(5), %st
- fldt 24+_PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmul %st(5), %st
- fldt 12+_PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmulp %st, %st(5)
- fxch %st(1)
- fmul %st, %st(4)
- fldt _PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fmulp %st, %st(2)
- fmulp %st, %st(1)
- faddp %st, %st(2)
- fxch %st(1)
- faddp %st, %st(2)
- fld %st(0)
- fadd %st(2), %st
- fldl 272+_TG@GOTOFF(%ecx,%ebx)
- fld %st(0)
- fmul %st(4), %st
- fxch %st(1)
- fmul %st(3), %st
- fld %st(0)
- fxch %st(5)
- faddl 280+_TT@GOTOFF(%ecx,%ebx)
- fxch %st(3)
- fmull 280+_TG@GOTOFF(%ecx,%ebx)
- faddp %st, %st(2)
- fxch %st(1)
- fadd %st, %st(4)
- fldt 32(%esp)
- fadd %st, %st(5)
- fsubr %st, %st(5)
- fxch %st(2)
- fsub %st(5), %st
- fstpt 48(%esp)
- fldt 48(%esp)
- faddp %st, %st(1)
- fxch %st(3)
- faddl 272+_TT@GOTOFF(%ecx,%ebx)
- fld %st(0)
- fadd %st(3), %st
- fdivrl _ones@GOTOFF(%ebx)
- fld %st(0)
- fadd %st(3), %st
- fsubp %st, %st(3)
- fld %st(0)
- fsub %st(3), %st
- fld %st(0)
- fmul %st(3), %st
- fxch %st(2)
- fmul %st, %st(5)
- fxch %st(5)
- faddp %st, %st(2)
- fxch %st(2)
- fmul %st(3), %st
- fld %st(3)
- fmul %st(6), %st
- fxch %st(6)
- fadd %st(7), %st
- fxch %st(7)
- fmulp %st, %st(4)
- faddl 8+_ones@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmulp %st, %st(3)
- fsubp %st, %st(2)
- fxch %st(3)
- fmulp %st, %st(1)
- faddp %st, %st(1)
- fxch %st(1)
- faddl 272+_GG@GOTOFF(%ecx,%ebx)
- fxch %st(1)
- faddl 280+_GG@GOTOFF(%ecx,%ebx)
- faddp %st, %st(1)
- fstpt 16(%esp)
- fldt 48(%esp)
- je ..B1.109
- ..B1.75:
- fstpt 60(%esp)
- ..B1.105:
- fldcw 14(%esp)
- jmp ..B1.76
- ..B1.109:
- fstp %st(0)
- ..B1.76:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.77:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.78:
- fldt 48+_PT@GOTOFF(%ebx)
- fld %st(1)
- fmul %st(2), %st
- fld %st(0)
- fmul %st(1), %st
- fmul %st, %st(2)
- fxch %st(4)
- fstpt 48(%esp)
- fldt 60+_PT@GOTOFF(%ebx)
- fmul %st(4), %st
- fldt 36+_PT@GOTOFF(%ebx)
- shll $4, %ecx
- faddp %st, %st(1)
- fmul %st(4), %st
- testl %esi, %esi
- fldt 24+_PT@GOTOFF(%ebx)
- faddp %st, %st(3)
- fxch %st(2)
- fmul %st(4), %st
- fldt 12+_PT@GOTOFF(%ebx)
- faddp %st, %st(3)
- fxch %st(2)
- fmulp %st, %st(4)
- fldt _PT@GOTOFF(%ebx)
- faddp %st, %st(2)
- fmulp %st, %st(1)
- faddp %st, %st(2)
- fld %st(1)
- fmul %st(3), %st
- fld %st(2)
- fadd %st(1), %st
- fsubp %st, %st(1)
- fsubr %st, %st(2)
- fxch %st(1)
- fmulp %st, %st(2)
- fld %st(3)
- fmul %st(1), %st
- faddp %st, %st(2)
- fxch %st(1)
- faddp %st, %st(3)
- fldt 48(%esp)
- fmul %st, %st(1)
- faddp %st, %st(1)
- fld %st(0)
- fadd %st(3), %st
- fld %st(0)
- fmul %st(3), %st
- fxch %st(1)
- fstpt 8(%ebp)
- fldt 8(%ebp)
- fadd %st(1), %st
- fsubp %st, %st(1)
- fsubr %st, %st(1)
- fxch %st(3)
- faddp %st, %st(1)
- fld %st(2)
- fadd %st(1), %st
- fldl 272+_TG@GOTOFF(%ecx,%ebx)
- fld %st(0)
- fmul %st(3), %st
- fxch %st(1)
- fmul %st(5), %st
- fxch %st(3)
- faddl 280+_GG@GOTOFF(%ecx,%ebx)
- fxch %st(5)
- faddl 272+_GG@GOTOFF(%ecx,%ebx)
- fxch %st(2)
- fmull 280+_TG@GOTOFF(%ecx,%ebx)
- faddp %st, %st(1)
- fld %st(1)
- fadd %st(5), %st
- fdivrl 8+_ones@GOTOFF(%ebx)
- fmul %st, %st(4)
- fld %st(0)
- fadd %st(5), %st
- fsubp %st, %st(5)
- fld %st(0)
- fsub %st(5), %st
- fld %st(0)
- fmul %st(4), %st
- fxch %st(2)
- fmul %st, %st(7)
- fxch %st(7)
- faddp %st, %st(2)
- fxch %st(3)
- fmul %st(5), %st
- fld %st(5)
- fmul %st(3), %st
- fxch %st(3)
- fadd %st(5), %st
- fxch %st(5)
- fmulp %st, %st(6)
- faddl _ones@GOTOFF(%ebx)
- faddp %st, %st(1)
- fmulp %st, %st(5)
- fxch %st(4)
- faddp %st, %st(1)
- fmulp %st, %st(1)
- faddp %st, %st(2)
- fld %st(0)
- fldl 272+_TT@GOTOFF(%ecx,%ebx)
- fadd %st, %st(1)
- fsubr %st(1), %st
- fsubr %st(2), %st
- fxch %st(3)
- faddl 280+_TT@GOTOFF(%ecx,%ebx)
- faddp %st, %st(3)
- faddp %st, %st(2)
- fxch %st(1)
- fstpt 16(%esp)
- je ..B1.110
- ..B1.79:
- fstpt 60(%esp)
- ..B1.106:
- fldcw 14(%esp)
- jmp ..B1.80
- ..B1.110:
- fstp %st(0)
- ..B1.80:
- movl 88(%esp), %eax
- xorl %esp, %eax
- cmpl %gs:20, %eax
- jne ..B1.82
- ..B1.81:
- fldt 16(%esp)
- addl $116, %esp
- popl %ebx
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
- ..B1.82:
- call __stack_chk_fail@PLT
- ..B1.83:
- cmpl $0, 12(%ebp)
- jne ..B1.85
- ..B1.84:
- cmpl $0, 8(%ebp)
- je ..B1.86
- ..B1.85:
- fldt _small_value_80@GOTOFF(%ebx)
- fldt 8(%ebp)
- fldl _TWO_75@GOTOFF(%ebx)
- fmul %st(1), %st
- movzbl 17(%ebp), %edx
- faddp %st, %st(1)
- fmull 8+_TWO_75@GOTOFF(%ebx)
- andl $128, %edx
- shrl $7, %edx
- fstpt 16(%esp)
- lea (,%edx,8), %eax
- lea (%eax,%edx,4), %ecx
- fldt _small_value_80@GOTOFF(%ebx,%ecx)
- fmulp %st, %st(1)
- fstpt (%esp)
- jmp ..B1.13
- ..B1.86:
- fldt 8(%ebp)
- fstpt 16(%esp)
- jmp ..B1.13
- ..B1.87:
- xorl %esi, %esi
- jmp ..B1.11
- ..B1.89:
- xorl %eax, %eax
- jmp ..B1.21
- ..B1.91:
- xorl %eax, %eax
- jmp ..B1.29
- ..B1.93:
- xorl %eax, %eax
- jmp ..B1.37
- ..B1.99:
- xorl %esi, %esi
- jmp ..B1.45
- .align 16,0x90
- .type tanl,@function
- .size tanl,.-tanl
- .data
- # -- End tanl
- .section .rodata, "a"
- .align 16
- .align 16
- _TWO_75:
- .long 0
- .long 1151336448
- .long 0
- .long 994050048
- .type _TWO_75,@object
- .size _TWO_75,16
- .align 16
- _P3:
- .word 13380
- .word 43827
- .word 43690
- .word 43690
- .word 16381
- .word 0
- .type _P3,@object
- .size _P3,12
- .space 4, 0x00 # pad
- .align 16
- _P2:
- .word 42806
- .word 43690
- .word 43690
- .word 43690
- .word 16381
- .word 0
- .word 23834
- .word 52331
- .word 35007
- .word 34952
- .word 16380
- .word 0
- .type _P2,@object
- .size _P2,24
- .space 8, 0x00 # pad
- .align 16
- _P1:
- .word 43691
- .word 43690
- .word 43690
- .word 43690
- .word 16381
- .word 0
- .word 34953
- .word 34952
- .word 34952
- .word 34952
- .word 16380
- .word 0
- .word 31445
- .word 3491
- .word 53469
- .word 56589
- .word 16378
- .word 0
- .word 16733
- .word 58542
- .word 44372
- .word 45863
- .word 16377
- .word 0
- .type _P1,@object
- .size _P1,48
- .align 16
- _Pi4Inv:
- .long 1841940611
- .long 1072979760
- .type _Pi4Inv,@object
- .size _Pi4Inv,8
- .space 8, 0x00 # pad
- .align 16
- _ones:
- .long 0
- .long 1072693248
- .long 0
- .long 3220176896
- .type _ones,@object
- .size _ones,16
- .align 16
- _TWO_48H:
- .long 0
- .long 1123549184
- .type _TWO_48H,@object
- .size _TWO_48H,8
- .space 8, 0x00 # pad
- .align 16
- _KPi04:
- .word 5418
- .word 20036
- .word 33646
- .word 41721
- .word 16387
- .word 0
- .type _KPi04,@object
- .size _KPi04,12
- .space 4, 0x00 # pad
- .align 16
- _TWO_32H:
- .long 0
- .long 1106771968
- .type _TWO_32H,@object
- .size _TWO_32H,8
- .space 8, 0x00 # pad
- .align 16
- _Pi04x3:
- .long 1413754112
- .long 1072243195
- .long 2563527040
- .long 1021855384
- .long 3417685868
- .long 3118450936
- .type _Pi04x3,@object
- .size _Pi04x3,24
- .space 8, 0x00 # pad
- .align 16
- _Pi04x5:
- .long 1413480448
- .long 1072243195
- .long 442499072
- .long 1036039265
- .long 771751936
- .long 999496074
- .long 622854144
- .long 963347354
- .long 1396597664
- .long 922906692
- .type _Pi04x5,@object
- .size _Pi04x5,40
- .space 8, 0x00 # pad
- .align 16
- _infs:
- .long 0
- .long 2146435072
- .long 0
- .long 4293918720
- .type _infs,@object
- .size _infs,16
- .align 16
- _zeros:
- .long 0
- .long 0
- .long 0
- .long 2147483648
- .type _zeros,@object
- .size _zeros,16
- .align 16
- _PG:
- .word 43691
- .word 43690
- .word 43690
- .word 43690
- .word 16381
- .word 0
- .word 46604
- .word 2912
- .word 24758
- .word 46603
- .word 16377
- .word 0
- .word 64867
- .word 2218
- .word 21984
- .word 35507
- .word 16374
- .word 0
- .word 37428
- .word 49066
- .word 48281
- .word 56811
- .word 16370
- .word 0
- .word 28819
- .word 40692
- .word 30466
- .word 45908
- .word 16367
- .word 0
- .word 58229
- .word 57025
- .word 27882
- .word 37211
- .word 16364
- .word 0
- .type _PG,@object
- .size _PG,72
- .space 8, 0x00 # pad
- .align 16
- _PT:
- .word 43691
- .word 43690
- .word 43690
- .word 43690
- .word 16381
- .word 0
- .word 35260
- .word 34952
- .word 34952
- .word 34952
- .word 16380
- .word 0
- .word 59431
- .word 3445
- .word 53469
- .word 56589
- .word 16378
- .word 0
- .word 60805
- .word 19035
- .word 42054
- .word 45863
- .word 16377
- .word 0
- .word 32963
- .word 17667
- .word 64505
- .word 37174
- .word 16376
- .word 0
- .word 33271
- .word 14204
- .word 52730
- .word 60442
- .word 16374
- .word 0
- .type _PT,@object
- .size _PT,72
- .space 8, 0x00 # pad
- .align 16
- _TG:
- .long 2684354560
- .long 3221230545
- .long 1980244105
- .long 1046278452
- .long 0
- .long 3221225472
- .long 0
- .long 0
- .long 2684354560
- .long 3221230545
- .long 1980244105
- .long 1046278452
- .long 3758096384
- .long 3221246014
- .long 1513286675
- .long 1048381067
- .long 0
- .long 3221272655
- .long 4057975187
- .long 3193921290
- .long 2147483648
- .long 3221311866
- .long 2902494488
- .long 1046516509
- .long 3221225472
- .long 3221365863
- .long 1948335328
- .long 3196126810
- .long 2684354560
- .long 3221438007
- .long 3744091947
- .long 3192783219
- .long 2684354560
- .long 3221533379
- .long 3860423252
- .long 1047335024
- .long 2147483648
- .long 3221659806
- .long 862942416
- .long 1049198788
- .long 0
- .long 3221829776
- .long 543592927
- .long 3195468420
- .long 0
- .long 3222064283
- .long 2814267453
- .long 1048596082
- .long 536870912
- .long 3222337673
- .long 2980891112
- .long 3196362141
- .long 2684354560
- .long 3222595502
- .long 141458722
- .long 1049458206
- .long 3221225472
- .long 3223031588
- .long 2120823910
- .long 1049591613
- .long 3221225472
- .long 3223617753
- .long 663882580
- .long 3198186420
- .long 2147483648
- .long 3224659859
- .long 3051968734
- .long 3194791707
- .long 0
- .long 0
- .long 0
- .long 0
- .long 2147483648
- .long 1077176211
- .long 3051968734
- .long 1047308059
- .long 3221225472
- .long 1076134105
- .long 663882580
- .long 1050702772
- .long 3221225472
- .long 1075547940
- .long 2120823910
- .long 3197075261
- .long 2684354560
- .long 1075111854
- .long 141458722
- .long 3196941854
- .long 536870912
- .long 1074854025
- .long 2980891112
- .long 1048878493
- .long 0
- .long 1074580635
- .long 2814267453
- .long 3196079730
- .long 0
- .long 1074346128
- .long 543592927
- .long 1047984772
- .long 2147483648
- .long 1074176158
- .long 862942416
- .long 3196682436
- .long 2684354560
- .long 1074049731
- .long 3860423252
- .long 3194818672
- .long 2684354560
- .long 1073954359
- .long 3744091947
- .long 1045299571
- .long 3221225472
- .long 1073882215
- .long 1948335328
- .long 1048643162
- .long 2147483648
- .long 1073828218
- .long 2902494488
- .long 3194000157
- .long 0
- .long 1073789007
- .long 4057975187
- .long 1046437642
- .long 3758096384
- .long 1073762366
- .long 1513286675
- .long 3195864715
- .long 2684354560
- .long 1073746897
- .long 1980244105
- .long 3193762100
- .long 0
- .long 1073741824
- .long 0
- .long 0
- .long 2684354560
- .long 1073746897
- .long 1980244105
- .long 3193762100
- .type _TG,@object
- .size _TG,560
- .align 16
- _TT:
- .long 1610612736
- .long 3220285245
- .long 1765132704
- .long 1046851815
- .long 0
- .long 3220176896
- .long 0
- .long 0
- .long 3221225472
- .long 3219980491
- .long 3100042604
- .long 3192709428
- .long 1073741824
- .long 3219800832
- .long 2956254064
- .long 1046813655
- .long 0
- .long 3219635098
- .long 829070670
- .long 1046664815
- .long 0
- .long 3219481016
- .long 3358544266
- .long 3195362300
- .long 2147483648
- .long 3219336728
- .long 4185368031
- .long 3193047295
- .long 536870912
- .long 3219200695
- .long 1373988029
- .long 1045159724
- .long 0
- .long 3219014926
- .long 4104169752
- .long 3192540796
- .long 2147483648
- .long 3218768505
- .long 843197631
- .long 3193568495
- .long 0
- .long 3218531914
- .long 1839318447
- .long 1044402419
- .long 1073741824
- .long 3218303496
- .long 1215676724
- .long 1044727608
- .long 1610612736
- .long 3218081786
- .long 2922073518
- .long 3193275942
- .long 0
- .long 3217651190
- .long 2818065035
- .long 1045408462
- .long 2147483648
- .long 3217226924
- .long 2142552361
- .long 1043903475
- .long 2147483648
- .long 3216586427
- .long 1153689642
- .long 3190339163
- .long 2147483648
- .long 3215533863
- .long 3288774277
- .long 3189012002
- .long 0
- .long 0
- .long 0
- .long 0
- .long 2147483648
- .long 1068050215
- .long 3288774277
- .long 1041528354
- .long 2147483648
- .long 1069102779
- .long 1153689642
- .long 1042855515
- .long 2147483648
- .long 1069743276
- .long 2142552361
- .long 3191387123
- .long 0
- .long 1070167542
- .long 2818065035
- .long 3192892110
- .long 1610612736
- .long 1070598138
- .long 2922073518
- .long 1045792294
- .long 1073741824
- .long 1070819848
- .long 1215676724
- .long 3192211256
- .long 0
- .long 1071048266
- .long 1839318447
- .long 3191886067
- .long 2147483648
- .long 1071284857
- .long 843197631
- .long 1046084847
- .long 0
- .long 1071531278
- .long 4104169752
- .long 1045057148
- .long 536870912
- .long 1071717047
- .long 1373988029
- .long 3192643372
- .long 2147483648
- .long 1071853080
- .long 4185368031
- .long 1045563647
- .long 0
- .long 1071997368
- .long 3358544266
- .long 1047878652
- .long 0
- .long 1072151450
- .long 829070670
- .long 3194148463
- .long 1073741824
- .long 1072317184
- .long 2956254064
- .long 3194297303
- .long 3221225472
- .long 1072496843
- .long 3100042604
- .long 1045225780
- .long 0
- .long 1072693248
- .long 0
- .long 0
- .long 1610612736
- .long 1072801597
- .long 1765132704
- .long 3194335463
- .type _TT,@object
- .size _TT,560
- .align 16
- _GG:
- .long 3221225472
- .long 1072496843
- .long 3100042604
- .long 1045225780
- .long 0
- .long 1072693248
- .long 2680413623
- .long 2803148914
- .long 1610612736
- .long 1072801597
- .long 1765132704
- .long 3194335463
- .long 2147483648
- .long 1072922365
- .long 4224648010
- .long 1047203520
- .long 0
- .long 1073058513
- .long 1429029132
- .long 1047610106
- .long 0
- .long 1073213977
- .long 2662307862
- .long 3195905419
- .long 2147483648
- .long 1073394115
- .long 2332932060
- .long 3196140229
- .long 3221225472
- .long 1073606419
- .long 4089189126
- .long 3194062807
- .long 3758096384
- .long 1073801761
- .long 295749197
- .long 3195130376
- .long 1073741824
- .long 1073958991
- .long 862942416
- .long 3195633860
- .long 0
- .long 1074158535
- .long 1551453531
- .long 3197746903
- .long 0
- .long 1074421594
- .long 590804010
- .long 3196516863
- .long 0
- .long 1074786323
- .long 1872593098
- .long 1046983523
- .long 3758096384
- .long 1075059710
- .long 2286165020
- .long 1046614587
- .long 2147483648
- .long 1075509055
- .long 2023416727
- .long 3198791271
- .long 1610612736
- .long 1076121196
- .long 3469402705
- .long 3196752904
- .long 0
- .long 1077172992
- .long 2869016295
- .long 3199393764
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 3224656640
- .long 2869016295
- .long 1051910116
- .long 1610612736
- .long 3223604844
- .long 3469402705
- .long 1049269256
- .long 2147483648
- .long 3222992703
- .long 2023416727
- .long 1051307623
- .long 3758096384
- .long 3222543358
- .long 2286165020
- .long 3194098235
- .long 0
- .long 3222269971
- .long 1872593098
- .long 3194467171
- .long 0
- .long 3221905242
- .long 590804010
- .long 1049033215
- .long 0
- .long 3221642183
- .long 1551453531
- .long 1050263255
- .long 1073741824
- .long 3221442639
- .long 862942416
- .long 1048150212
- .long 3758096384
- .long 3221285409
- .long 295749197
- .long 1047646728
- .long 3221225472
- .long 3221090067
- .long 4089189126
- .long 1046579159
- .long 2147483648
- .long 3220877763
- .long 2332932060
- .long 1048656581
- .long 0
- .long 3220697625
- .long 2662307862
- .long 1048421771
- .long 0
- .long 3220542161
- .long 1429029132
- .long 3195093754
- .long 2147483648
- .long 3220406013
- .long 4224648010
- .long 3194687168
- .long 1610612736
- .long 3220285245
- .long 1765132704
- .long 1046851815
- .long 0
- .long 3220176896
- .long 2680413623
- .long 655665266
- .long 3221225472
- .long 3219980491
- .long 3100042604
- .long 3192709428
- .type _GG,@object
- .size _GG,560
- .align 16
- _small_value_80:
- .word 0
- .word 0
- .word 0
- .word 32768
- .word 6383
- .word 0
- .word 0
- .word 0
- .word 0
- .word 32768
- .word 39151
- .word 0
- .type _small_value_80,@object
- .size _small_value_80,24
- .align 8
- .L_2il0floatpacket.0:
- .long 0x54400000,0x3fa921fb
- .type .L_2il0floatpacket.0,@object
- .size .L_2il0floatpacket.0,8
- .align 8
- .L_2il0floatpacket.1:
- .long 0x1a626331,0x3d80b461
- .type .L_2il0floatpacket.1,@object
- .size .L_2il0floatpacket.1,8
- .data
- .hidden __libm_reduce_pi04l
- .section .note.GNU-stack, ""
- # End
|