tgammaf.S 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018
  1. /*
  2. * Math library
  3. *
  4. * Copyright (C) 2016 Intel Corporation. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * * Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in
  14. * the documentation and/or other materials provided with the
  15. * distribution.
  16. * * Neither the name of Intel Corporation nor the names of its
  17. * contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. *
  32. *
  33. * Author Name <jingwei.zhang@intel.com>
  34. * History:
  35. * 03-14-2016 Initial version. numerics svn rev. 12864
  36. */
  37. .file "tgammaf.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin tgammaf
  41. .text
  42. .align 16,0x90
  43. .globl tgammaf
  44. tgammaf:
  45. # parameter 1: 8 + %ebp
  46. ..B1.1:
  47. ..L1:
  48. pushl %ebp
  49. movl %esp, %ebp
  50. andl $-16, %esp
  51. pushl %esi
  52. pushl %edi
  53. pushl %ebx
  54. subl $36, %esp
  55. movl 8(%ebp), %edi
  56. call fegetround
  57. ..B1.96:
  58. movl %eax, 32(%esp)
  59. ..B1.2:
  60. cmpl $0, 32(%esp)
  61. jne ..B1.4
  62. ..B1.3:
  63. xorl %ecx, %ecx
  64. jmp ..B1.6
  65. ..B1.4:
  66. addl $4, %esp
  67. pushl $0
  68. call fesetround
  69. ..B1.5:
  70. movl $1, %ecx
  71. ..B1.6:
  72. movzwl 10(%ebp), %edx
  73. andl $32640, %edx
  74. shrl $7, %edx
  75. movl 8(%ebp), %esi
  76. shrl $31, %esi
  77. call ..L2
  78. ..L2:
  79. popl %ebx
  80. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%ebx), %ebx
  81. cmpl $255, %edx
  82. je ..B1.88
  83. ..B1.7:
  84. flds 8(%ebp)
  85. fldz
  86. andl $2147483647, %edi
  87. fucom %st(1)
  88. fnstsw %ax
  89. movl %edi, 20(%esp)
  90. sahf
  91. jp ..B1.8
  92. je ..B1.85
  93. ..B1.8:
  94. cmpl $2097152, %edi
  95. jle ..B1.82
  96. ..B1.9:
  97. testl %esi, %esi
  98. je ..B1.18
  99. ..B1.10:
  100. cmpl $150, %edx
  101. jge ..B1.76
  102. ..B1.11:
  103. flds .L_2il0floatpacket.2@GOTOFF(%ebx)
  104. flds 20(%esp)
  105. fld %st(0)
  106. fadd %st(2), %st
  107. fstps 24(%esp)
  108. flds 24(%esp)
  109. movl 24(%esp), %edi
  110. fsubp %st, %st(2)
  111. movl %edi, 16(%esp)
  112. fcom %st(1)
  113. fnstsw %ax
  114. sahf
  115. jae ..B1.13
  116. jp ..B1.13
  117. ..B1.12:
  118. fld1
  119. incl 16(%esp)
  120. fsubrp %st, %st(2)
  121. ..B1.13:
  122. fucompp
  123. fnstsw %ax
  124. sahf
  125. jp ..B1.14
  126. je ..B1.73
  127. ..B1.14:
  128. flds .L_2il0floatpacket.3@GOTOFF(%ebx)
  129. fcomp %st(2)
  130. fnstsw %ax
  131. sahf
  132. jbe ..B1.18
  133. ..B1.15:
  134. fstp %st(0)
  135. fstp %st(0)
  136. testl %ecx, %ecx
  137. je ..B1.17
  138. ..B1.16:
  139. addl $4, %esp
  140. pushl 28(%esp)
  141. call fesetround
  142. ..B1.17:
  143. movl 16(%esp), %eax
  144. notl %eax
  145. andl $1, %eax
  146. flds _small_value_32@GOTOFF(%ebx,%eax,4)
  147. fmuls .L_2il0floatpacket.5@GOTOFF(%ebx)
  148. addl $36, %esp
  149. popl %ebx
  150. popl %edi
  151. popl %esi
  152. movl %ebp, %esp
  153. popl %ebp
  154. ret
  155. ..B1.18:
  156. fxch %st(1)
  157. fcompl _overflow_boundary@GOTOFF(%ebx)
  158. fnstsw %ax
  159. sahf
  160. jae ..B1.79
  161. ..B1.19:
  162. flds .L_2il0floatpacket.2@GOTOFF(%ebx)
  163. testl %esi, %esi
  164. je ..B1.21
  165. ..B1.20:
  166. fstp %st(1)
  167. flds 20(%esp)
  168. fld %st(1)
  169. fadd %st(1), %st
  170. fstps 24(%esp)
  171. flds 24(%esp)
  172. fsub %st(2), %st
  173. fsubr %st(1), %st
  174. fabs
  175. fld %st(0)
  176. fmul %st(1), %st
  177. fldl 8+_tgamma_sin_table@GOTOFF(%ebx)
  178. fmul %st(1), %st
  179. fldl 24+_tgamma_sin_table@GOTOFF(%ebx)
  180. fadd %st(2), %st
  181. fmul %st(2), %st
  182. fxch %st(1)
  183. faddl _tgamma_sin_table@GOTOFF(%ebx)
  184. fmul %st(2), %st
  185. fxch %st(1)
  186. faddl 16+_tgamma_sin_table@GOTOFF(%ebx)
  187. fmulp %st, %st(1)
  188. fldl 40+_tgamma_sin_table@GOTOFF(%ebx)
  189. fadd %st(2), %st
  190. fmul %st(2), %st
  191. fldl 56+_tgamma_sin_table@GOTOFF(%ebx)
  192. fadd %st(3), %st
  193. fmulp %st, %st(3)
  194. faddl 32+_tgamma_sin_table@GOTOFF(%ebx)
  195. fmulp %st, %st(1)
  196. fxch %st(1)
  197. faddl 48+_tgamma_sin_table@GOTOFF(%ebx)
  198. fmulp %st, %st(1)
  199. fmul %st(1), %st
  200. fadd %st(1), %st
  201. fxch %st(3)
  202. fxch %st(2)
  203. fxch %st(1)
  204. jmp ..B1.22
  205. ..B1.21:
  206. flds 20(%esp)
  207. fld %st(2)
  208. ..B1.22:
  209. fld %st(1)
  210. fxch %st(2)
  211. fadd %st(3), %st
  212. fstps 24(%esp)
  213. flds 24(%esp)
  214. movl 24(%esp), %edi
  215. fsubp %st, %st(3)
  216. andl $1048575, %edi
  217. fxch %st(2)
  218. fcom %st(1)
  219. fnstsw %ax
  220. sahf
  221. jbe ..B1.97
  222. ..B1.23:
  223. fld1
  224. decl %edi
  225. fsubr %st, %st(1)
  226. ..B1.24:
  227. lea 1(%edi), %eax
  228. andl $1, %eax
  229. movl %eax, 28(%esp)
  230. fxch %st(2)
  231. fcoms .L_2il0floatpacket.4@GOTOFF(%ebx)
  232. fnstsw %ax
  233. sahf
  234. jb ..B1.41
  235. ..B1.25:
  236. fstp %st(3)
  237. movl %edi, %eax
  238. fsubr %st(2), %st
  239. movl %esi, 16(%esp)
  240. andl $-8, %eax
  241. movl %edi, %esi
  242. fld %st(0)
  243. andl $7, %esi
  244. cmpl $8, %edi
  245. movl %eax, %edi
  246. fmul %st(1), %st
  247. lea -2(%esi), %edx
  248. jl ..L3
  249. movl %esi, %edx
  250. ..L3:
  251. sarl $1, %edi
  252. addl %eax, %edi
  253. sarl $3, %eax
  254. addl %eax, %edi
  255. movl 16(%esp), %esi
  256. testl %edx, %edx
  257. fldl _tgamma_A_table@GOTOFF(%ebx,%edi,8)
  258. fmul %st(2), %st
  259. fadd %st(1), %st
  260. fldl 8+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  261. fmul %st(3), %st
  262. fadd %st(2), %st
  263. fldl 16+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  264. fmul %st(4), %st
  265. fadd %st(3), %st
  266. fxch %st(2)
  267. faddl 48+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  268. fxch %st(1)
  269. faddl 56+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  270. fxch %st(2)
  271. faddl 64+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  272. fxch %st(1)
  273. fmull 96+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  274. fmulp %st, %st(2)
  275. fmulp %st, %st(1)
  276. fldl 32+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  277. fmul %st(3), %st
  278. fadd %st(2), %st
  279. fldl 24+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  280. fmul %st(4), %st
  281. fadd %st(3), %st
  282. fxch %st(1)
  283. faddl 80+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  284. fxch %st(1)
  285. faddl 72+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  286. fmulp %st, %st(2)
  287. fmulp %st, %st(1)
  288. fldl 40+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  289. fmulp %st, %st(3)
  290. fxch %st(2)
  291. faddp %st, %st(1)
  292. faddl 88+_tgamma_A_table@GOTOFF(%ebx,%edi,8)
  293. fmulp %st, %st(1)
  294. je ..B1.30
  295. ..B1.26:
  296. fld %st(1)
  297. jle ..B1.31
  298. ..B1.27:
  299. movl $1, %eax
  300. ..B1.28:
  301. movl %eax, 16(%esp)
  302. incl %eax
  303. fildl 16(%esp)
  304. cmpl %edx, %eax
  305. fsubr %st(4), %st
  306. fmulp %st, %st(1)
  307. jle ..B1.28
  308. jmp ..B1.31
  309. ..B1.30:
  310. fld %st(1)
  311. ..B1.31:
  312. testl %esi, %esi
  313. je ..B1.38
  314. ..B1.32:
  315. fxch %st(4)
  316. fmulp %st, %st(3)
  317. fmulp %st, %st(2)
  318. fxch %st(2)
  319. fmulp %st, %st(1)
  320. fdivrp %st, %st(1)
  321. flds .L_2il0floatpacket.7@GOTOFF(%ebx)
  322. fcomps 8(%ebp)
  323. fnstsw %ax
  324. sahf
  325. jbe ..B1.34
  326. ..B1.33:
  327. fldt _tgamma_A40_inv@GOTOFF(%ebx)
  328. fmulp %st, %st(1)
  329. ..B1.34:
  330. testl %ecx, %ecx
  331. je ..B1.36
  332. ..B1.35:
  333. addl $4, %esp
  334. pushl 28(%esp)
  335. fstpl 16(%esp)
  336. call fesetround
  337. ..B1.103:
  338. fldl 16(%esp)
  339. ..B1.36:
  340. cmpl $0, 28(%esp)
  341. je ..B1.40
  342. ..B1.37:
  343. fchs
  344. jmp ..B1.40
  345. ..B1.38:
  346. fstp %st(4)
  347. fstp %st(2)
  348. fstp %st(0)
  349. testl %ecx, %ecx
  350. fmulp %st, %st(1)
  351. je ..B1.40
  352. ..B1.39:
  353. addl $4, %esp
  354. pushl 28(%esp)
  355. fstpl 16(%esp)
  356. call fesetround
  357. ..B1.102:
  358. fldl 16(%esp)
  359. ..B1.40:
  360. addl $36, %esp
  361. popl %ebx
  362. popl %edi
  363. popl %esi
  364. movl %ebp, %esp
  365. popl %ebp
  366. ret
  367. ..B1.41:
  368. fstp %st(1)
  369. fcom %st(1)
  370. fnstsw %ax
  371. sahf
  372. jae ..B1.43
  373. jp ..B1.43
  374. ..B1.42:
  375. fld %st(0)
  376. fadd %st(2), %st
  377. jmp ..B1.44
  378. ..B1.43:
  379. fld %st(0)
  380. ..B1.44:
  381. fcoml .L_2il0floatpacket.6@GOTOFF(%ebx)
  382. fnstsw %ax
  383. sahf
  384. jb ..B1.46
  385. ..B1.45:
  386. fstp %st(3)
  387. lea _tgamma_A175_table@GOTOFF(%ebx), %eax
  388. fxch %st(1)
  389. fsubr %st, %st(2)
  390. fxch %st(1)
  391. jmp ..B1.53
  392. ..B1.46:
  393. fcoml .L_2il0floatpacket.8@GOTOFF(%ebx)
  394. fnstsw %ax
  395. sahf
  396. jb ..B1.48
  397. ..B1.47:
  398. fstp %st(3)
  399. lea _tgamma_A150_table@GOTOFF(%ebx), %eax
  400. fxch %st(1)
  401. fsubr %st, %st(2)
  402. fxch %st(1)
  403. jmp ..B1.53
  404. ..B1.48:
  405. fldl .L_2il0floatpacket.9@GOTOFF(%ebx)
  406. fcom %st(1)
  407. fnstsw %ax
  408. sahf
  409. ja ..B1.50
  410. jp ..B1.50
  411. ..B1.49:
  412. fstp %st(0)
  413. fstp %st(3)
  414. fld %st(1)
  415. lea _tgamma_A125_table@GOTOFF(%ebx), %eax
  416. faddl _local_minimum@GOTOFF(%ebx)
  417. fsubrp %st, %st(3)
  418. jmp ..B1.53
  419. ..B1.50:
  420. fcomp %st(1)
  421. fnstsw %ax
  422. sahf
  423. jbe ..B1.52
  424. ..B1.51:
  425. fstp %st(3)
  426. lea _tgamma_A100_table@GOTOFF(%ebx), %eax
  427. fxch %st(1)
  428. fsubr %st, %st(2)
  429. fxch %st(1)
  430. jmp ..B1.53
  431. ..B1.52:
  432. fstp %st(0)
  433. ..B1.53:
  434. fldl (%eax)
  435. testl %edx, %edx
  436. je ..B1.55
  437. ..B1.54:
  438. fldl 56(%eax)
  439. fmul %st(4), %st
  440. faddl 48(%eax)
  441. fmul %st(4), %st
  442. faddl 40(%eax)
  443. fmul %st(4), %st
  444. faddl 32(%eax)
  445. fmul %st(4), %st
  446. faddl 24(%eax)
  447. fmul %st(4), %st
  448. faddl 16(%eax)
  449. fmul %st(4), %st
  450. faddl 8(%eax)
  451. fmulp %st, %st(4)
  452. faddp %st, %st(3)
  453. jmp ..B1.56
  454. ..B1.55:
  455. fstp %st(3)
  456. ..B1.56:
  457. fcom %st(1)
  458. fnstsw %ax
  459. sahf
  460. jae ..B1.65
  461. jp ..B1.65
  462. ..B1.57:
  463. testl %esi, %esi
  464. je ..B1.62
  465. ..B1.58:
  466. fstp %st(0)
  467. fxch %st(1)
  468. fmulp %st, %st(2)
  469. fdivp %st, %st(1)
  470. testl %ecx, %ecx
  471. je ..B1.60
  472. ..B1.59:
  473. addl $4, %esp
  474. pushl 28(%esp)
  475. fstpl 16(%esp)
  476. call fesetround
  477. ..B1.101:
  478. fldl 16(%esp)
  479. ..B1.60:
  480. cmpl $0, 28(%esp)
  481. je ..B1.72
  482. ..B1.61:
  483. fchs
  484. jmp ..B1.72
  485. ..B1.62:
  486. fstp %st(3)
  487. fstp %st(0)
  488. fdivp %st, %st(1)
  489. testl %ecx, %ecx
  490. jne ..B1.70
  491. jmp ..B1.72
  492. ..B1.65:
  493. testl %esi, %esi
  494. je ..B1.69
  495. ..B1.66:
  496. fmulp %st, %st(3)
  497. testl %ecx, %ecx
  498. fxch %st(1)
  499. fmulp %st, %st(2)
  500. fdivp %st, %st(1)
  501. jne ..B1.70
  502. jmp ..B1.72
  503. ..B1.69:
  504. fstp %st(3)
  505. fstp %st(2)
  506. fstp %st(1)
  507. testl %ecx, %ecx
  508. je ..B1.72
  509. ..B1.70:
  510. addl $4, %esp
  511. pushl 28(%esp)
  512. fstpl 16(%esp)
  513. call fesetround
  514. ..B1.98:
  515. fldl 16(%esp)
  516. ..B1.72:
  517. addl $36, %esp
  518. popl %ebx
  519. popl %edi
  520. popl %esi
  521. movl %ebp, %esp
  522. popl %ebp
  523. ret
  524. ..B1.73:
  525. fstp %st(1)
  526. testl %ecx, %ecx
  527. je ..B1.75
  528. ..B1.74:
  529. addl $4, %esp
  530. pushl 28(%esp)
  531. fstpl 16(%esp)
  532. call fesetround
  533. ..B1.106:
  534. fldl 16(%esp)
  535. ..B1.75:
  536. fdiv %st(0), %st
  537. addl $36, %esp
  538. popl %ebx
  539. popl %edi
  540. popl %esi
  541. movl %ebp, %esp
  542. popl %ebp
  543. ret
  544. ..B1.76:
  545. fstp %st(1)
  546. testl %ecx, %ecx
  547. je ..B1.78
  548. ..B1.77:
  549. addl $4, %esp
  550. pushl 28(%esp)
  551. fstpl 16(%esp)
  552. call fesetround
  553. ..B1.105:
  554. fldl 16(%esp)
  555. ..B1.78:
  556. fdiv %st(0), %st
  557. addl $36, %esp
  558. popl %ebx
  559. popl %edi
  560. popl %esi
  561. movl %ebp, %esp
  562. popl %ebp
  563. ret
  564. ..B1.79:
  565. fstp %st(0)
  566. testl %ecx, %ecx
  567. je ..B1.81
  568. ..B1.80:
  569. addl $4, %esp
  570. pushl 28(%esp)
  571. call fesetround
  572. ..B1.81:
  573. flds .L_2il0floatpacket.0@GOTOFF(%ebx)
  574. fmul %st(0), %st
  575. addl $36, %esp
  576. popl %ebx
  577. popl %edi
  578. popl %esi
  579. movl %ebp, %esp
  580. popl %ebp
  581. ret
  582. ..B1.82:
  583. fstp %st(0)
  584. fstp %st(0)
  585. testl %ecx, %ecx
  586. je ..B1.84
  587. ..B1.83:
  588. addl $4, %esp
  589. pushl 28(%esp)
  590. call fesetround
  591. ..B1.84:
  592. flds _large_value_32@GOTOFF(%ebx,%esi,4)
  593. fmuls .L_2il0floatpacket.0@GOTOFF(%ebx)
  594. addl $36, %esp
  595. popl %ebx
  596. popl %edi
  597. popl %esi
  598. movl %ebp, %esp
  599. popl %ebp
  600. ret
  601. ..B1.85:
  602. fstp %st(1)
  603. testl %ecx, %ecx
  604. je ..B1.87
  605. ..B1.86:
  606. addl $4, %esp
  607. pushl 28(%esp)
  608. fstpl 16(%esp)
  609. call fesetround
  610. ..B1.104:
  611. fldl 16(%esp)
  612. ..B1.87:
  613. fdivrs _ones@GOTOFF(%ebx,%esi,4)
  614. addl $36, %esp
  615. popl %ebx
  616. popl %edi
  617. popl %esi
  618. movl %ebp, %esp
  619. popl %ebp
  620. ret
  621. ..B1.88:
  622. testl %ecx, %ecx
  623. je ..B1.90
  624. ..B1.89:
  625. addl $4, %esp
  626. pushl 28(%esp)
  627. call fesetround
  628. ..B1.90:
  629. testl %esi, %esi
  630. je ..B1.92
  631. ..B1.91:
  632. testl $8388607, 8(%ebp)
  633. je ..B1.93
  634. ..B1.92:
  635. flds 8(%ebp)
  636. addl $36, %esp
  637. popl %ebx
  638. popl %edi
  639. popl %esi
  640. movl %ebp, %esp
  641. popl %ebp
  642. ret
  643. ..B1.93:
  644. fldz
  645. fdivrs .L_2il0floatpacket.1@GOTOFF(%ebx)
  646. addl $36, %esp
  647. popl %ebx
  648. popl %edi
  649. popl %esi
  650. movl %ebp, %esp
  651. popl %ebp
  652. ret
  653. ..B1.97:
  654. fld1
  655. jmp ..B1.24
  656. .align 16,0x90
  657. .type tgammaf,@function
  658. .size tgammaf,.-tgammaf
  659. .data
  660. # -- End tgammaf
  661. .section .rodata, "a"
  662. .align 8
  663. .align 8
  664. .L_2il0floatpacket.6:
  665. .long 0x00000000,0x3ffc0000
  666. .type .L_2il0floatpacket.6,@object
  667. .size .L_2il0floatpacket.6,8
  668. .align 8
  669. .L_2il0floatpacket.8:
  670. .long 0x00000000,0x3ff80000
  671. .type .L_2il0floatpacket.8,@object
  672. .size .L_2il0floatpacket.8,8
  673. .align 8
  674. .L_2il0floatpacket.9:
  675. .long 0x00000000,0x3ff40000
  676. .type .L_2il0floatpacket.9,@object
  677. .size .L_2il0floatpacket.9,8
  678. .align 4
  679. .L_2il0floatpacket.0:
  680. .long 0x71800000
  681. .type .L_2il0floatpacket.0,@object
  682. .size .L_2il0floatpacket.0,4
  683. .align 4
  684. .L_2il0floatpacket.1:
  685. .long 0x80000000
  686. .type .L_2il0floatpacket.1,@object
  687. .size .L_2il0floatpacket.1,4
  688. .align 4
  689. .L_2il0floatpacket.2:
  690. .long 0x4b400000
  691. .type .L_2il0floatpacket.2,@object
  692. .size .L_2il0floatpacket.2,4
  693. .align 4
  694. .L_2il0floatpacket.3:
  695. .long 0xc22c0000
  696. .type .L_2il0floatpacket.3,@object
  697. .size .L_2il0floatpacket.3,4
  698. .align 4
  699. .L_2il0floatpacket.4:
  700. .long 0x40000000
  701. .type .L_2il0floatpacket.4,@object
  702. .size .L_2il0floatpacket.4,4
  703. .align 4
  704. .L_2il0floatpacket.5:
  705. .long 0x0d800000
  706. .type .L_2il0floatpacket.5,@object
  707. .size .L_2il0floatpacket.5,4
  708. .align 4
  709. .L_2il0floatpacket.7:
  710. .long 0xc2200000
  711. .type .L_2il0floatpacket.7,@object
  712. .size .L_2il0floatpacket.7,4
  713. .align 4
  714. _small_value_32:
  715. .long 226492416
  716. .long 2373976064
  717. .type _small_value_32,@object
  718. .size _small_value_32,8
  719. .align 4
  720. _overflow_boundary:
  721. .long 0
  722. .long 1078035746
  723. .type _overflow_boundary,@object
  724. .size _overflow_boundary,8
  725. .align 4
  726. _tgamma_sin_table:
  727. .long 1980114658
  728. .long 3200337074
  729. .long 804494867
  730. .long 1049689241
  731. .long 2884431818
  732. .long 1079329239
  733. .long 930502348
  734. .long 3223780109
  735. .long 1245824743
  736. .long 1080878479
  737. .long 2510431012
  738. .long 1073721695
  739. .long 1661126174
  740. .long 1078219640
  741. .long 1205599443
  742. .long 3223573914
  743. .type _tgamma_sin_table,@object
  744. .size _tgamma_sin_table,64
  745. .align 4
  746. _tgamma_A_table:
  747. .long 3121394612
  748. .long 1074393041
  749. .long 2029996066
  750. .long 1073722195
  751. .long 4137005464
  752. .long 1071238760
  753. .long 3372276227
  754. .long 3220751114
  755. .long 68401302
  756. .long 3222286887
  757. .long 1275947047
  758. .long 3223263002
  759. .long 4031994882
  760. .long 1074665426
  761. .long 1089993416
  762. .long 1074817170
  763. .long 427005612
  764. .long 1075089294
  765. .long 1508975772
  766. .long 1075601433
  767. .long 2111623053
  768. .long 1076192020
  769. .long 75538972
  770. .long 1077100653
  771. .long 2171869559
  772. .long 1055005400
  773. .long 2919987515
  774. .long 1074143787
  775. .long 860307162
  776. .long 1073890599
  777. .long 2407232453
  778. .long 1073038722
  779. .long 1468490975
  780. .long 3216757264
  781. .long 846192051
  782. .long 3221294835
  783. .long 402234383
  784. .long 3222573752
  785. .long 2566208764
  786. .long 1073763360
  787. .long 162360449
  788. .long 1073949715
  789. .long 1512348533
  790. .long 1074371728
  791. .long 2920174397
  792. .long 1074968946
  793. .long 3785085665
  794. .long 1075671857
  795. .long 1922428759
  796. .long 1076496000
  797. .long 2446382284
  798. .long 1072101083
  799. .long 42366358
  800. .long 1073746704
  801. .long 3587290866
  802. .long 1073390434
  803. .long 1169958761
  804. .long 1072607731
  805. .long 3891474799
  806. .long 3217275878
  807. .long 1452792685
  808. .long 3221010072
  809. .long 1006385979
  810. .long 3222363118
  811. .long 3663632771
  812. .long 1072778759
  813. .long 3212960448
  814. .long 1073036150
  815. .long 2202365811
  816. .long 1073636095
  817. .long 2023822532
  818. .long 1074258740
  819. .long 40477660
  820. .long 1075053854
  821. .long 658935515
  822. .long 1076010306
  823. .long 932572503
  824. .long 1105834679
  825. .long 1233355998
  826. .long 1073412029
  827. .long 3033646034
  828. .long 1073097432
  829. .long 3149182759
  830. .long 1072206908
  831. .long 1726027606
  832. .long 3217766868
  833. .long 3439348786
  834. .long 3220880557
  835. .long 2080997065
  836. .long 3222253033
  837. .long 843307201
  838. .long 1072200111
  839. .long 3138702878
  840. .long 1072613342
  841. .long 3610734718
  842. .long 1073142430
  843. .long 2651617324
  844. .long 1073914526
  845. .long 2611481547
  846. .long 1074796471
  847. .long 3284459136
  848. .long 1075745821
  849. .long 1365755587
  850. .long 1144167771
  851. .long 2699624028
  852. .long 1073212595
  853. .long 2232824171
  854. .long 1072922970
  855. .long 3659224963
  856. .long 1071959670
  857. .long 3026238542
  858. .long 3218100813
  859. .long 4240441539
  860. .long 3220810712
  861. .long 1772362075
  862. .long 3222132889
  863. .long 3742687744
  864. .long 1071863890
  865. .long 56227394
  866. .long 1072220001
  867. .long 969667939
  868. .long 1072882737
  869. .long 880059910
  870. .long 1073714908
  871. .long 247554419
  872. .long 1074515829
  873. .long 48918556
  874. .long 1075495246
  875. .long 2601377264
  876. .long 1185936586
  877. .long 3625529495
  878. .long 1073077476
  879. .long 3298250746
  880. .long 1072804056
  881. .long 2971501690
  882. .long 1071788510
  883. .long 2950162741
  884. .long 3218231788
  885. .long 26528490
  886. .long 3220765509
  887. .long 3761284804
  888. .long 3222050392
  889. .long 3800626879
  890. .long 1071658634
  891. .long 1108715276
  892. .long 1071977390
  893. .long 286829382
  894. .long 1072720005
  895. .long 3141975933
  896. .long 1073477575
  897. .long 4145290123
  898. .long 1074329952
  899. .long 2167683451
  900. .long 1075329952
  901. .long 0
  902. .long 1072693248
  903. .type _tgamma_A_table,@object
  904. .size _tgamma_A_table,624
  905. .align 4
  906. _tgamma_A175_table:
  907. .long 1682645026
  908. .long 1072688670
  909. .long 3753006229
  910. .long 3219243438
  911. .long 177700005
  912. .long 1072453288
  913. .long 3289039035
  914. .long 3219374666
  915. .long 2492560830
  916. .long 1071326765
  917. .long 123078934
  918. .long 3217486055
  919. .long 3499570675
  920. .long 1068068407
  921. .long 1362583934
  922. .long 3212265128
  923. .type _tgamma_A175_table,@object
  924. .size _tgamma_A175_table,64
  925. .align 4
  926. _tgamma_A150_table:
  927. .long 988281800
  928. .long 1072692321
  929. .long 502740408
  930. .long 3219277207
  931. .long 2058512241
  932. .long 1072588117
  933. .long 2109547492
  934. .long 3219675970
  935. .long 3371209031
  936. .long 1071892748
  937. .long 3191518250
  938. .long 3218447665
  939. .long 3816909947
  940. .long 1069498883
  941. .long 1366906983
  942. .long 3214177035
  943. .type _tgamma_A150_table,@object
  944. .size _tgamma_A150_table,64
  945. .align 4
  946. _tgamma_A125_table:
  947. .long 2191760034
  948. .long 1072453340
  949. .long 2642694891
  950. .long 3186525859
  951. .long 1706815263
  952. .long 1071344724
  953. .long 1896485049
  954. .long 3217079006
  955. .long 441733475
  956. .long 1069848224
  957. .long 978611902
  958. .long 3216500728
  959. .long 351495825
  960. .long 1068442485
  961. .long 1680249708
  962. .long 3216253219
  963. .type _tgamma_A125_table,@object
  964. .size _tgamma_A125_table,64
  965. .align 4
  966. _local_minimum:
  967. .long 2371549438
  968. .long 1071483745
  969. .type _local_minimum,@object
  970. .size _local_minimum,8
  971. .align 4
  972. _tgamma_A100_table:
  973. .long 4293468318
  974. .long 1072693247
  975. .long 3444857508
  976. .long 3219290252
  977. .long 3510931740
  978. .long 1072670280
  979. .long 3644082616
  980. .long 3219982336
  981. .long 2685454907
  982. .long 1072646231
  983. .long 4151446349
  984. .long 3220059936
  985. .long 4004008463
  986. .long 1072263166
  987. .long 1217534056
  988. .long 3218706582
  989. .type _tgamma_A100_table,@object
  990. .size _tgamma_A100_table,64
  991. .align 4
  992. _large_value_32:
  993. .long 1904214016
  994. .long 4051697664
  995. .type _large_value_32,@object
  996. .size _large_value_32,8
  997. .align 4
  998. _ones:
  999. .long 1065353216
  1000. .long 3212836864
  1001. .type _ones,@object
  1002. .size _ones,8
  1003. .align 2
  1004. _tgamma_A40_inv:
  1005. .word 64725
  1006. .word 58913
  1007. .word 22381
  1008. .word 51879
  1009. .word 16232
  1010. .word 0
  1011. .type _tgamma_A40_inv,@object
  1012. .size _tgamma_A40_inv,12
  1013. .data
  1014. .hidden fesetround
  1015. .hidden fegetround
  1016. .section .note.GNU-stack, ""
  1017. # End