12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280 |
- /*
- * 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 "tgammaf.c"
- .text
- ..TXTST0:
- # -- Begin tgammaf
- .text
- .align 16,0x90
- .globl tgammaf
- tgammaf:
- # parameter 1: %xmm0
- ..B1.1:
- .cfi_startproc
- ..___tag_value_tgammaf.1:
- ..L2:
- pushq %r12
- .cfi_def_cfa_offset 16
- .cfi_offset 12, -16
- pushq %r13
- .cfi_def_cfa_offset 24
- .cfi_offset 13, -24
- pushq %r14
- .cfi_def_cfa_offset 32
- .cfi_offset 14, -32
- pushq %rbx
- .cfi_def_cfa_offset 40
- .cfi_offset 3, -40
- pushq %rbp
- .cfi_def_cfa_offset 48
- .cfi_offset 6, -48
- subq $32, %rsp
- .cfi_def_cfa_offset 80
- xorb %r12b, %r12b
- pxor %xmm2, %xmm2
- pxor %xmm1, %xmm1
- movss %xmm0, 24(%rsp)
- movd %xmm0, %r14d
- movss %xmm1, (%rsp)
- movsd %xmm2, 8(%rsp)
- ..___tag_value_tgammaf.14:
- call fegetround@PLT
- ..___tag_value_tgammaf.15:
- ..B1.94:
- movsd 8(%rsp), %xmm2
- movl %eax, %ebp
- ..B1.2:
- testl %ebp, %ebp
- je ..B1.4
- ..B1.3:
- xorl %edi, %edi
- movb $1, %r12b
- movsd %xmm2, 8(%rsp)
- ..___tag_value_tgammaf.16:
- call fesetround@PLT
- ..___tag_value_tgammaf.17:
- ..B1.95:
- movsd 8(%rsp), %xmm2
- ..B1.4:
- movzwl 26(%rsp), %eax
- andl $32640, %eax
- shrl $7, %eax
- movl 24(%rsp), %ebx
- shrl $31, %ebx
- cmpl $255, %eax
- je ..B1.84
- ..B1.5:
- movss 24(%rsp), %xmm5
- andl $2147483647, %r14d
- movl %r14d, 8(%rsp)
- ucomiss (%rsp), %xmm5
- jp ..B1.6
- je ..B1.81
- ..B1.6:
- cmpl $2097152, %r14d
- jle ..B1.78
- ..B1.7:
- testl %ebx, %ebx
- je ..B1.16
- ..B1.8:
- cmpl $150, %eax
- jge ..B1.72
- ..B1.9:
- movss .L_2il0floatpacket.2(%rip), %xmm3
- movss 8(%rsp), %xmm4
- movaps %xmm3, %xmm1
- movss (%rsp), %xmm0
- addss %xmm4, %xmm1
- movss %xmm1, 20(%rsp)
- movss %xmm0, 16(%rsp)
- movss 20(%rsp), %xmm0
- movl 20(%rsp), %r14d
- subss %xmm3, %xmm0
- comiss %xmm4, %xmm0
- jbe ..B1.11
- ..B1.10:
- incl %r14d
- subss .L_2il0floatpacket.11(%rip), %xmm0
- ..B1.11:
- ucomiss %xmm0, %xmm4
- jp ..B1.12
- je ..B1.69
- ..B1.12:
- movss .L_2il0floatpacket.3(%rip), %xmm0
- comiss %xmm5, %xmm0
- jbe ..B1.17
- ..B1.13:
- testb %r12b, %r12b
- je ..B1.15
- ..B1.14:
- movl %ebp, %edi
- ..___tag_value_tgammaf.18:
- call fesetround@PLT
- ..___tag_value_tgammaf.19:
- ..B1.15:
- lea _small_value_32(%rip), %rax
- notl %r14d
- andl $1, %r14d
- movss (%rax,%r14,4), %xmm0
- mulss .L_2il0floatpacket.4(%rip), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.16:
- movss (%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- ..B1.17:
- cvtss2sd %xmm5, %xmm5
- lea _overflow_boundary(%rip), %rdx
- comisd (%rdx), %xmm5
- jae ..B1.75
- ..B1.18:
- movss .L_2il0floatpacket.2(%rip), %xmm9
- testl %ebx, %ebx
- je ..B1.20
- ..B1.19:
- movss 8(%rsp), %xmm8
- movaps %xmm9, %xmm2
- movaps %xmm8, %xmm1
- addss %xmm8, %xmm2
- movss %xmm2, 20(%rsp)
- pxor %xmm2, %xmm2
- movss 20(%rsp), %xmm0
- lea 8+_tgamma_sin_table(%rip), %rcx
- lea 24+_tgamma_sin_table(%rip), %r8
- subss %xmm9, %xmm0
- movsd (%rcx), %xmm7
- subss %xmm0, %xmm1
- movd %xmm1, %edx
- lea 40+_tgamma_sin_table(%rip), %r10
- movsd (%r8), %xmm3
- andl $2147483647, %edx
- lea _tgamma_sin_table(%rip), %rsi
- movl %edx, (%rsp)
- lea 56+_tgamma_sin_table(%rip), %r14
- movsd (%r10), %xmm4
- lea 16+_tgamma_sin_table(%rip), %r9
- lea 32+_tgamma_sin_table(%rip), %r11
- lea 48+_tgamma_sin_table(%rip), %rdx
- cvtss2sd (%rsp), %xmm2
- movaps %xmm2, %xmm6
- mulsd %xmm2, %xmm6
- mulsd %xmm6, %xmm7
- addsd %xmm6, %xmm3
- addsd %xmm6, %xmm4
- mulsd %xmm6, %xmm3
- addsd (%rsi), %xmm7
- mulsd %xmm6, %xmm4
- mulsd %xmm6, %xmm7
- addsd (%r9), %xmm3
- addsd (%r11), %xmm4
- mulsd %xmm3, %xmm7
- movsd (%r14), %xmm5
- mulsd %xmm4, %xmm7
- addsd %xmm6, %xmm5
- mulsd %xmm5, %xmm6
- addsd (%rdx), %xmm6
- mulsd %xmm6, %xmm7
- mulsd %xmm2, %xmm7
- addsd %xmm7, %xmm2
- jmp ..B1.21
- ..B1.20:
- movss 8(%rsp), %xmm8
- ..B1.21:
- movaps %xmm8, %xmm1
- addss %xmm9, %xmm8
- movss %xmm8, 20(%rsp)
- movss 20(%rsp), %xmm0
- movl 20(%rsp), %ecx
- subss %xmm9, %xmm0
- andl $1048575, %ecx
- comiss %xmm1, %xmm0
- jbe ..B1.23
- ..B1.22:
- decl %ecx
- subss .L_2il0floatpacket.11(%rip), %xmm0
- ..B1.23:
- comiss .L_2il0floatpacket.5(%rip), %xmm1
- lea 1(%rcx), %r14d
- jb ..B1.39
- ..B1.24:
- movaps %xmm1, %xmm3
- movl %ecx, %esi
- andl $-8, %esi
- movl %ecx, %edx
- andl $7, %edx
- cmpl $8, %ecx
- movl %esi, %ecx
- lea _tgamma_A_table(%rip), %r8
- subss %xmm0, %xmm3
- cvtss2sd %xmm3, %xmm3
- movaps %xmm3, %xmm8
- lea -2(%rdx), %eax
- mulsd %xmm3, %xmm8
- cmovl %eax, %edx
- sarl $1, %ecx
- addl %esi, %ecx
- sarl $3, %esi
- addl %esi, %ecx
- movslq %ecx, %rcx
- testl %edx, %edx
- movsd (%r8,%rcx,8), %xmm9
- mulsd %xmm3, %xmm9
- movsd 8(%r8,%rcx,8), %xmm0
- addsd %xmm8, %xmm9
- mulsd %xmm3, %xmm0
- addsd 48(%r8,%rcx,8), %xmm9
- addsd %xmm8, %xmm0
- mulsd 96(%r8,%rcx,8), %xmm9
- addsd 56(%r8,%rcx,8), %xmm0
- movsd 16(%r8,%rcx,8), %xmm4
- mulsd %xmm3, %xmm4
- mulsd %xmm0, %xmm9
- addsd %xmm8, %xmm4
- movsd 24(%r8,%rcx,8), %xmm5
- mulsd %xmm3, %xmm5
- addsd 64(%r8,%rcx,8), %xmm4
- movsd 32(%r8,%rcx,8), %xmm6
- addsd %xmm8, %xmm5
- mulsd %xmm3, %xmm6
- mulsd %xmm4, %xmm9
- addsd 72(%r8,%rcx,8), %xmm5
- addsd %xmm8, %xmm6
- mulsd %xmm5, %xmm9
- addsd 80(%r8,%rcx,8), %xmm6
- movsd 40(%r8,%rcx,8), %xmm7
- mulsd %xmm3, %xmm7
- mulsd %xmm6, %xmm9
- addsd %xmm7, %xmm8
- movsd .L_2il0floatpacket.10(%rip), %xmm3
- movsd %xmm3, 8(%rsp)
- addsd 88(%r8,%rcx,8), %xmm8
- mulsd %xmm8, %xmm9
- movsd %xmm9, (%rsp)
- je ..B1.29
- ..B1.25:
- movl $1, %eax
- jle ..B1.29
- ..B1.26:
- pxor %xmm0, %xmm0
- cvtss2sd %xmm1, %xmm0
- ..B1.27:
- pxor %xmm4, %xmm4
- movaps %xmm0, %xmm5
- cvtsi2sd %eax, %xmm4
- incl %eax
- subsd %xmm4, %xmm5
- mulsd %xmm5, %xmm3
- cmpl %edx, %eax
- jle ..B1.27
- ..B1.29:
- testl %ebx, %ebx
- je ..B1.35
- ..B1.30:
- cvtss2sd %xmm1, %xmm1
- mulsd %xmm2, %xmm1
- mulsd (%rsp), %xmm1
- mulsd %xmm3, %xmm1
- movsd 8(%rsp), %xmm0
- divsd %xmm1, %xmm0
- movss .L_2il0floatpacket.6(%rip), %xmm2
- movsd %xmm0, 8(%rsp)
- comiss 24(%rsp), %xmm2
- jbe ..B1.32
- ..B1.31:
- lea _tgamma_A40_inv(%rip), %rax
- mulsd (%rax), %xmm0
- movsd %xmm0, 8(%rsp)
- ..B1.32:
- testb %r12b, %r12b
- je ..B1.34
- ..B1.33:
- movl %ebp, %edi
- ..___tag_value_tgammaf.37:
- call fesetround@PLT
- ..___tag_value_tgammaf.38:
- ..B1.34:
- movsd 8(%rsp), %xmm0
- cvtsd2ss %xmm0, %xmm0
- movd %xmm0, %eax
- shll $31, %r14d
- xorl %r14d, %eax
- movl %eax, 16(%rsp)
- movss 16(%rsp), %xmm0
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.35:
- movsd (%rsp), %xmm0
- testb %r12b, %r12b
- mulsd %xmm3, %xmm0
- movsd %xmm0, (%rsp)
- je ..B1.37
- ..B1.36:
- movl %ebp, %edi
- ..___tag_value_tgammaf.56:
- call fesetround@PLT
- ..___tag_value_tgammaf.57:
- ..B1.37:
- movsd (%rsp), %xmm0
- cvtsd2ss %xmm0, %xmm0
- movss %xmm0, 16(%rsp)
- ..B1.38:
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.39:
- movss .L_2il0floatpacket.11(%rip), %xmm6
- pxor %xmm0, %xmm0
- cvtss2sd %xmm1, %xmm0
- comiss %xmm1, %xmm6
- jbe ..B1.41
- ..B1.40:
- movsd .L_2il0floatpacket.10(%rip), %xmm3
- addsd %xmm0, %xmm3
- jmp ..B1.42
- ..B1.41:
- movaps %xmm0, %xmm3
- ..B1.42:
- comisd .L_2il0floatpacket.7(%rip), %xmm3
- jb ..B1.44
- ..B1.43:
- lea _tgamma_A175_table(%rip), %r13
- subsd .L_2il0floatpacket.10(%rip), %xmm3
- cvtsd2ss %xmm3, %xmm3
- movss %xmm3, (%rsp)
- jmp ..B1.50
- ..B1.44:
- comisd .L_2il0floatpacket.8(%rip), %xmm3
- jb ..B1.46
- ..B1.45:
- lea _tgamma_A150_table(%rip), %r13
- subsd .L_2il0floatpacket.10(%rip), %xmm3
- cvtsd2ss %xmm3, %xmm3
- movss %xmm3, (%rsp)
- jmp ..B1.50
- ..B1.46:
- movsd .L_2il0floatpacket.9(%rip), %xmm4
- comisd %xmm4, %xmm3
- jb ..B1.48
- ..B1.47:
- lea _local_minimum(%rip), %rdx
- lea _tgamma_A125_table(%rip), %r13
- movsd .L_2il0floatpacket.10(%rip), %xmm4
- addsd (%rdx), %xmm4
- subsd %xmm4, %xmm3
- cvtsd2ss %xmm3, %xmm3
- movss %xmm3, (%rsp)
- jmp ..B1.50
- ..B1.48:
- comisd %xmm3, %xmm4
- jbe ..B1.50
- ..B1.49:
- lea _tgamma_A100_table(%rip), %r13
- subsd .L_2il0floatpacket.10(%rip), %xmm3
- cvtsd2ss %xmm3, %xmm3
- movss %xmm3, (%rsp)
- ..B1.50:
- movsd (%r13), %xmm3
- testl %eax, %eax
- movsd %xmm3, 8(%rsp)
- je ..B1.53
- ..B1.51:
- pxor %xmm4, %xmm4
- cvtss2sd (%rsp), %xmm4
- movsd 56(%r13), %xmm3
- mulsd %xmm4, %xmm3
- movsd 8(%rsp), %xmm5
- addsd 48(%r13), %xmm3
- mulsd %xmm4, %xmm3
- addsd 40(%r13), %xmm3
- mulsd %xmm4, %xmm3
- addsd 32(%r13), %xmm3
- mulsd %xmm4, %xmm3
- addsd 24(%r13), %xmm3
- mulsd %xmm4, %xmm3
- addsd 16(%r13), %xmm3
- mulsd %xmm4, %xmm3
- addsd 8(%r13), %xmm3
- mulsd %xmm3, %xmm4
- addsd %xmm4, %xmm5
- movsd %xmm5, 8(%rsp)
- ..B1.53:
- comiss %xmm1, %xmm6
- jbe ..B1.61
- ..B1.54:
- testl %ebx, %ebx
- je ..B1.58
- ..B1.55:
- mulsd 8(%rsp), %xmm2
- testb %r12b, %r12b
- movsd .L_2il0floatpacket.10(%rip), %xmm0
- divsd %xmm2, %xmm0
- movsd %xmm0, (%rsp)
- je ..B1.57
- ..B1.56:
- movl %ebp, %edi
- ..___tag_value_tgammaf.75:
- call fesetround@PLT
- ..___tag_value_tgammaf.76:
- ..B1.57:
- movsd (%rsp), %xmm0
- cvtsd2ss %xmm0, %xmm0
- movd %xmm0, %eax
- shll $31, %r14d
- xorl %r14d, %eax
- movl %eax, 16(%rsp)
- movss 16(%rsp), %xmm0
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.58:
- movsd 8(%rsp), %xmm1
- testb %r12b, %r12b
- divsd %xmm0, %xmm1
- movsd %xmm1, 8(%rsp)
- je ..B1.67
- ..B1.59:
- movl %ebp, %edi
- ..___tag_value_tgammaf.94:
- call fesetround@PLT
- ..___tag_value_tgammaf.95:
- jmp ..B1.67
- ..B1.61:
- testl %ebx, %ebx
- je ..B1.65
- ..B1.62:
- mulsd %xmm0, %xmm2
- testb %r12b, %r12b
- mulsd 8(%rsp), %xmm2
- movsd .L_2il0floatpacket.10(%rip), %xmm1
- divsd %xmm2, %xmm1
- movsd %xmm1, (%rsp)
- je ..B1.64
- ..B1.63:
- movl %ebp, %edi
- ..___tag_value_tgammaf.96:
- call fesetround@PLT
- ..___tag_value_tgammaf.97:
- ..B1.64:
- movsd (%rsp), %xmm0
- cvtsd2ss %xmm0, %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.65:
- testb %r12b, %r12b
- je ..B1.67
- ..B1.66:
- movl %ebp, %edi
- ..___tag_value_tgammaf.115:
- call fesetround@PLT
- ..___tag_value_tgammaf.116:
- ..B1.67:
- movsd 8(%rsp), %xmm0
- cvtsd2ss %xmm0, %xmm0
- movss %xmm0, 16(%rsp)
- ..B1.68:
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.69:
- testb %r12b, %r12b
- je ..B1.71
- ..B1.70:
- movl %ebp, %edi
- ..___tag_value_tgammaf.134:
- call fesetround@PLT
- ..___tag_value_tgammaf.135:
- ..B1.71:
- movss (%rsp), %xmm0
- divss %xmm0, %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.72:
- testb %r12b, %r12b
- je ..B1.74
- ..B1.73:
- movl %ebp, %edi
- ..___tag_value_tgammaf.153:
- call fesetround@PLT
- ..___tag_value_tgammaf.154:
- ..B1.74:
- movss (%rsp), %xmm0
- divss %xmm0, %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.75:
- testb %r12b, %r12b
- je ..B1.77
- ..B1.76:
- movl %ebp, %edi
- ..___tag_value_tgammaf.172:
- call fesetround@PLT
- ..___tag_value_tgammaf.173:
- ..B1.77:
- movl $1904214016, 20(%rsp)
- movss 20(%rsp), %xmm1
- movss 20(%rsp), %xmm0
- mulss %xmm0, %xmm1
- movss %xmm1, 20(%rsp)
- movss 20(%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.78:
- movss (%rsp), %xmm0
- testb %r12b, %r12b
- movss %xmm0, 16(%rsp)
- je ..B1.80
- ..B1.79:
- movl %ebp, %edi
- ..___tag_value_tgammaf.191:
- call fesetround@PLT
- ..___tag_value_tgammaf.192:
- ..B1.80:
- movl %ebx, %ebx
- lea _large_value_32(%rip), %rax
- movl (%rax,%rbx,4), %edx
- movl %edx, 20(%rsp)
- movss 20(%rsp), %xmm0
- mulss .L_2il0floatpacket.0(%rip), %xmm0
- movss %xmm0, 20(%rsp)
- movss 20(%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.81:
- testb %r12b, %r12b
- je ..B1.83
- ..B1.82:
- movl %ebp, %edi
- ..___tag_value_tgammaf.210:
- call fesetround@PLT
- ..___tag_value_tgammaf.211:
- ..B1.83:
- lea _ones(%rip), %rax
- movss (%rax,%rbx,4), %xmm0
- divss (%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.84:
- testb %r12b, %r12b
- je ..B1.86
- ..B1.85:
- movl %ebp, %edi
- ..___tag_value_tgammaf.229:
- call fesetround@PLT
- ..___tag_value_tgammaf.230:
- ..B1.86:
- testl %ebx, %ebx
- je ..B1.89
- ..B1.87:
- testl $8388607, 24(%rsp)
- je ..B1.91
- ..B1.89:
- movss (%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- movl %r14d, 8(%rsp)
- ..B1.90:
- movl 24(%rsp), %eax
- movl %eax, 20(%rsp)
- movss 20(%rsp), %xmm1
- movss 20(%rsp), %xmm0
- addss %xmm0, %xmm1
- movss %xmm1, 20(%rsp)
- movss 20(%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .cfi_def_cfa_offset 80
- .cfi_offset 3, -40
- .cfi_offset 6, -48
- .cfi_offset 12, -16
- .cfi_offset 13, -24
- .cfi_offset 14, -32
- ..B1.91:
- movss .L_2il0floatpacket.1(%rip), %xmm0
- divss (%rsp), %xmm0
- movss %xmm0, 16(%rsp)
- addq $32, %rsp
- .cfi_def_cfa_offset 48
- .cfi_restore 6
- popq %rbp
- .cfi_def_cfa_offset 40
- .cfi_restore 3
- popq %rbx
- .cfi_def_cfa_offset 32
- .cfi_restore 14
- popq %r14
- .cfi_def_cfa_offset 24
- .cfi_restore 13
- popq %r13
- .cfi_def_cfa_offset 16
- .cfi_restore 12
- popq %r12
- .cfi_def_cfa_offset 8
- ret
- .align 16,0x90
- .cfi_endproc
- .type tgammaf,@function
- .size tgammaf,.-tgammaf
- .data
- # -- End tgammaf
- .section .rodata, "a"
- .align 8
- .align 8
- .L_2il0floatpacket.7:
- .long 0x00000000,0x3ffc0000
- .type .L_2il0floatpacket.7,@object
- .size .L_2il0floatpacket.7,8
- .align 8
- .L_2il0floatpacket.8:
- .long 0x00000000,0x3ff80000
- .type .L_2il0floatpacket.8,@object
- .size .L_2il0floatpacket.8,8
- .align 8
- .L_2il0floatpacket.9:
- .long 0x00000000,0x3ff40000
- .type .L_2il0floatpacket.9,@object
- .size .L_2il0floatpacket.9,8
- .align 8
- .L_2il0floatpacket.10:
- .long 0x00000000,0x3ff00000
- .type .L_2il0floatpacket.10,@object
- .size .L_2il0floatpacket.10,8
- .align 4
- .L_2il0floatpacket.0:
- .long 0x71800000
- .type .L_2il0floatpacket.0,@object
- .size .L_2il0floatpacket.0,4
- .align 4
- .L_2il0floatpacket.1:
- .long 0x80000000
- .type .L_2il0floatpacket.1,@object
- .size .L_2il0floatpacket.1,4
- .align 4
- .L_2il0floatpacket.2:
- .long 0x4b400000
- .type .L_2il0floatpacket.2,@object
- .size .L_2il0floatpacket.2,4
- .align 4
- .L_2il0floatpacket.3:
- .long 0xc22c0000
- .type .L_2il0floatpacket.3,@object
- .size .L_2il0floatpacket.3,4
- .align 4
- .L_2il0floatpacket.4:
- .long 0x0d800000
- .type .L_2il0floatpacket.4,@object
- .size .L_2il0floatpacket.4,4
- .align 4
- .L_2il0floatpacket.5:
- .long 0x40000000
- .type .L_2il0floatpacket.5,@object
- .size .L_2il0floatpacket.5,4
- .align 4
- .L_2il0floatpacket.6:
- .long 0xc2200000
- .type .L_2il0floatpacket.6,@object
- .size .L_2il0floatpacket.6,4
- .align 4
- .L_2il0floatpacket.11:
- .long 0x3f800000
- .type .L_2il0floatpacket.11,@object
- .size .L_2il0floatpacket.11,4
- .align 4
- _small_value_32:
- .long 226492416
- .long 2373976064
- .type _small_value_32,@object
- .size _small_value_32,8
- .align 4
- _overflow_boundary:
- .long 0
- .long 1078035746
- .type _overflow_boundary,@object
- .size _overflow_boundary,8
- .align 4
- _tgamma_sin_table:
- .long 1980114658
- .long 3200337074
- .long 804494867
- .long 1049689241
- .long 2884431818
- .long 1079329239
- .long 930502348
- .long 3223780109
- .long 1245824743
- .long 1080878479
- .long 2510431012
- .long 1073721695
- .long 1661126174
- .long 1078219640
- .long 1205599443
- .long 3223573914
- .type _tgamma_sin_table,@object
- .size _tgamma_sin_table,64
- .align 4
- _tgamma_A_table:
- .long 3121394612
- .long 1074393041
- .long 2029996066
- .long 1073722195
- .long 4137005464
- .long 1071238760
- .long 3372276227
- .long 3220751114
- .long 68401302
- .long 3222286887
- .long 1275947047
- .long 3223263002
- .long 4031994882
- .long 1074665426
- .long 1089993416
- .long 1074817170
- .long 427005612
- .long 1075089294
- .long 1508975772
- .long 1075601433
- .long 2111623053
- .long 1076192020
- .long 75538972
- .long 1077100653
- .long 2171869559
- .long 1055005400
- .long 2919987515
- .long 1074143787
- .long 860307162
- .long 1073890599
- .long 2407232453
- .long 1073038722
- .long 1468490975
- .long 3216757264
- .long 846192051
- .long 3221294835
- .long 402234383
- .long 3222573752
- .long 2566208764
- .long 1073763360
- .long 162360449
- .long 1073949715
- .long 1512348533
- .long 1074371728
- .long 2920174397
- .long 1074968946
- .long 3785085665
- .long 1075671857
- .long 1922428759
- .long 1076496000
- .long 2446382284
- .long 1072101083
- .long 42366358
- .long 1073746704
- .long 3587290866
- .long 1073390434
- .long 1169958761
- .long 1072607731
- .long 3891474799
- .long 3217275878
- .long 1452792685
- .long 3221010072
- .long 1006385979
- .long 3222363118
- .long 3663632771
- .long 1072778759
- .long 3212960448
- .long 1073036150
- .long 2202365811
- .long 1073636095
- .long 2023822532
- .long 1074258740
- .long 40477660
- .long 1075053854
- .long 658935515
- .long 1076010306
- .long 932572503
- .long 1105834679
- .long 1233355998
- .long 1073412029
- .long 3033646034
- .long 1073097432
- .long 3149182759
- .long 1072206908
- .long 1726027606
- .long 3217766868
- .long 3439348786
- .long 3220880557
- .long 2080997065
- .long 3222253033
- .long 843307201
- .long 1072200111
- .long 3138702878
- .long 1072613342
- .long 3610734718
- .long 1073142430
- .long 2651617324
- .long 1073914526
- .long 2611481547
- .long 1074796471
- .long 3284459136
- .long 1075745821
- .long 1365755587
- .long 1144167771
- .long 2699624028
- .long 1073212595
- .long 2232824171
- .long 1072922970
- .long 3659224963
- .long 1071959670
- .long 3026238542
- .long 3218100813
- .long 4240441539
- .long 3220810712
- .long 1772362075
- .long 3222132889
- .long 3742687744
- .long 1071863890
- .long 56227394
- .long 1072220001
- .long 969667939
- .long 1072882737
- .long 880059910
- .long 1073714908
- .long 247554419
- .long 1074515829
- .long 48918556
- .long 1075495246
- .long 2601377264
- .long 1185936586
- .long 3625529495
- .long 1073077476
- .long 3298250746
- .long 1072804056
- .long 2971501690
- .long 1071788510
- .long 2950162741
- .long 3218231788
- .long 26528490
- .long 3220765509
- .long 3761284804
- .long 3222050392
- .long 3800626879
- .long 1071658634
- .long 1108715276
- .long 1071977390
- .long 286829382
- .long 1072720005
- .long 3141975933
- .long 1073477575
- .long 4145290123
- .long 1074329952
- .long 2167683451
- .long 1075329952
- .long 0
- .long 1072693248
- .type _tgamma_A_table,@object
- .size _tgamma_A_table,624
- .align 4
- _tgamma_A40_inv:
- .long 3988571200
- .long 914969834
- .type _tgamma_A40_inv,@object
- .size _tgamma_A40_inv,8
- .align 4
- _tgamma_A175_table:
- .long 1682645026
- .long 1072688670
- .long 3753006229
- .long 3219243438
- .long 177700005
- .long 1072453288
- .long 3289039035
- .long 3219374666
- .long 2492560830
- .long 1071326765
- .long 123078934
- .long 3217486055
- .long 3499570675
- .long 1068068407
- .long 1362583934
- .long 3212265128
- .type _tgamma_A175_table,@object
- .size _tgamma_A175_table,64
- .align 4
- _tgamma_A150_table:
- .long 988281800
- .long 1072692321
- .long 502740408
- .long 3219277207
- .long 2058512241
- .long 1072588117
- .long 2109547492
- .long 3219675970
- .long 3371209031
- .long 1071892748
- .long 3191518250
- .long 3218447665
- .long 3816909947
- .long 1069498883
- .long 1366906983
- .long 3214177035
- .type _tgamma_A150_table,@object
- .size _tgamma_A150_table,64
- .align 4
- _local_minimum:
- .long 2371549438
- .long 1071483745
- .type _local_minimum,@object
- .size _local_minimum,8
- .align 4
- _tgamma_A125_table:
- .long 2191760034
- .long 1072453340
- .long 2642694891
- .long 3186525859
- .long 1706815263
- .long 1071344724
- .long 1896485049
- .long 3217079006
- .long 441733475
- .long 1069848224
- .long 978611902
- .long 3216500728
- .long 351495825
- .long 1068442485
- .long 1680249708
- .long 3216253219
- .type _tgamma_A125_table,@object
- .size _tgamma_A125_table,64
- .align 4
- _tgamma_A100_table:
- .long 4293468318
- .long 1072693247
- .long 3444857508
- .long 3219290252
- .long 3510931740
- .long 1072670280
- .long 3644082616
- .long 3219982336
- .long 2685454907
- .long 1072646231
- .long 4151446349
- .long 3220059936
- .long 4004008463
- .long 1072263166
- .long 1217534056
- .long 3218706582
- .type _tgamma_A100_table,@object
- .size _tgamma_A100_table,64
- .align 4
- _large_value_32:
- .long 1904214016
- .long 4051697664
- .type _large_value_32,@object
- .size _large_value_32,8
- .align 4
- _ones:
- .long 1065353216
- .long 3212836864
- .type _ones,@object
- .size _ones,8
- .data
- .section .note.GNU-stack, ""
- // -- Begin DWARF2 SEGMENT .eh_frame
- .section .eh_frame,"a",@progbits
- .eh_frame_seg:
- .align 1
- # End
|