ctanhl.S 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012
  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 "ctanhl.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin ctanhl
  41. .text
  42. .align 16,0x90
  43. .globl ctanhl
  44. ctanhl:
  45. # parameter 1: 448 + %rsp
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_ctanhl.1:
  49. ..L2:
  50. pushq %r14
  51. .cfi_def_cfa_offset 16
  52. .cfi_offset 14, -16
  53. pushq %r15
  54. .cfi_def_cfa_offset 24
  55. .cfi_offset 15, -24
  56. pushq %rbx
  57. .cfi_def_cfa_offset 32
  58. .cfi_offset 3, -32
  59. pushq %rbp
  60. .cfi_def_cfa_offset 40
  61. .cfi_offset 6, -40
  62. subq $408, %rsp
  63. .cfi_def_cfa_offset 448
  64. xorb %r15b, %r15b
  65. fldt .L_2il0floatpacket.8(%rip)
  66. movq %fs:40, %rax
  67. xorq %rsp, %rax
  68. movq %rax, 400(%rsp)
  69. fstpt 208(%rsp)
  70. fldt 208(%rsp)
  71. fstpt 368(%rsp)
  72. fldt 368(%rsp)
  73. fstpt 384(%rsp)
  74. ..B1.2:
  75. fnstcw 226(%rsp)
  76. ..B1.3:
  77. movzwl 226(%rsp), %edx
  78. movl %edx, %eax
  79. andl $768, %eax
  80. cmpl $768, %eax
  81. je ..B1.7
  82. ..B1.4:
  83. orl $-64768, %edx
  84. movw %dx, 224(%rsp)
  85. ..B1.5:
  86. fldcw 224(%rsp)
  87. ..B1.6:
  88. movb $1, %r15b
  89. ..B1.7:
  90. movzwl 456(%rsp), %edx
  91. andl $32767, %edx
  92. cmpl $32767, %edx
  93. jge ..B1.52
  94. ..B1.8:
  95. movzwl 472(%rsp), %ebp
  96. andl $32767, %ebp
  97. cmpl $32767, %ebp
  98. jge ..B1.52
  99. ..B1.9:
  100. cmpl $0, 452(%rsp)
  101. jne ..B1.11
  102. ..B1.10:
  103. cmpl $0, 448(%rsp)
  104. je ..B1.52
  105. ..B1.11:
  106. cmpl $16396, %edx
  107. jl ..B1.23
  108. ..B1.12:
  109. movb 457(%rsp), %dl
  110. lea _CONSTANTS(%rip), %rax
  111. andb $-128, %dl
  112. lea ones(%rip), %rcx
  113. shrb $7, %dl
  114. fldt (%rax)
  115. movzbl %dl, %ebx
  116. cmpl $0, 468(%rsp)
  117. fldl (%rcx,%rbx,8)
  118. fsub %st(1), %st
  119. fstpt 368(%rsp)
  120. jne ..B1.14
  121. ..B1.13:
  122. cmpl $0, 464(%rsp)
  123. je ..B1.15
  124. ..B1.14:
  125. fmul %st(0), %st
  126. fstpt 384(%rsp)
  127. jmp ..B1.16
  128. ..B1.15:
  129. fstp %st(0)
  130. fldt 208(%rsp)
  131. fstpt 384(%rsp)
  132. ..B1.16:
  133. testl %ebp, %ebp
  134. jle ..B1.76
  135. ..B1.17:
  136. addq $-16, %rsp
  137. .cfi_def_cfa_offset 464
  138. fldt 480(%rsp)
  139. fstpt (%rsp)
  140. call tanl@PLT
  141. ..B1.85:
  142. addq $16, %rsp
  143. .cfi_def_cfa_offset 448
  144. fstpt 192(%rsp)
  145. movb 393(%rsp), %dl
  146. movb 201(%rsp), %al
  147. andb $127, %dl
  148. andb $-128, %al
  149. orb %al, %dl
  150. ..B1.18:
  151. movb %dl, 393(%rsp)
  152. testb %r15b, %r15b
  153. je ..B1.20
  154. ..B1.19:
  155. fldcw 226(%rsp)
  156. ..B1.20:
  157. movq 400(%rsp), %rax
  158. xorq %rsp, %rax
  159. cmpq %fs:40, %rax
  160. jne ..B1.75
  161. ..B1.21:
  162. fldt 368(%rsp)
  163. fldt 384(%rsp)
  164. movq 400(%rsp), %rax
  165. xorq %rsp, %rax
  166. cmpq %fs:40, %rax
  167. jne ..B1.74
  168. ..B1.22:
  169. addq $408, %rsp
  170. .cfi_def_cfa_offset 40
  171. .cfi_restore 6
  172. popq %rbp
  173. .cfi_def_cfa_offset 32
  174. .cfi_restore 3
  175. popq %rbx
  176. .cfi_def_cfa_offset 24
  177. .cfi_restore 15
  178. popq %r15
  179. .cfi_def_cfa_offset 16
  180. .cfi_restore 14
  181. popq %r14
  182. .cfi_def_cfa_offset 8
  183. fxch %st(1)
  184. ret
  185. .cfi_def_cfa_offset 448
  186. .cfi_offset 3, -32
  187. .cfi_offset 6, -40
  188. .cfi_offset 14, -16
  189. .cfi_offset 15, -24
  190. ..B1.23:
  191. addq $-16, %rsp
  192. .cfi_def_cfa_offset 464
  193. fldt 464(%rsp)
  194. lea 288(%rsp), %rdi
  195. fstpt (%rsp)
  196. ..___tag_value_ctanhl.29:
  197. call __libm_coshl_k80@PLT
  198. ..___tag_value_ctanhl.30:
  199. ..B1.86:
  200. addq $16, %rsp
  201. .cfi_def_cfa_offset 448
  202. ..B1.24:
  203. fldt 288(%rsp)
  204. lea 32+_CONSTANTS(%rip), %r14
  205. movzwl 456(%rsp), %eax
  206. andl $32767, %eax
  207. cmpl $16183, %eax
  208. fldt (%r14)
  209. fstpt 32(%rsp)
  210. fldt 32(%rsp)
  211. faddp %st, %st(2)
  212. fxch %st(1)
  213. fstpt (%rsp)
  214. fldt 272(%rsp)
  215. fld %st(0)
  216. movl (%rsp), %r14d
  217. fadd %st(2), %st
  218. fsub %st, %st(1)
  219. fxch %st(1)
  220. fsubrp %st, %st(2)
  221. fxch %st(1)
  222. fstpt 80(%rsp)
  223. jge ..B1.26
  224. ..B1.25:
  225. fldt 448(%rsp)
  226. lea 16+_CONSTANTS(%rip), %rbp
  227. fldt 208(%rsp)
  228. lea 256(%rsp), %rdx
  229. fstpt (%rdx)
  230. fldt (%rbp)
  231. fmulp %st, %st(1)
  232. fstpt -16(%rdx)
  233. movzwl -8(%rdx), %eax
  234. movl %eax, %ebp
  235. andl $-32768, %eax
  236. andl $32767, %ebp
  237. orl $-49153, %eax
  238. addl $-16639, %ebp
  239. movw %ax, -8(%rdx)
  240. jmp ..B1.28
  241. ..B1.26:
  242. addq $-16, %rsp
  243. .cfi_def_cfa_offset 464
  244. fldt 464(%rsp)
  245. lea 256(%rsp), %rdi
  246. fstpt (%rsp)
  247. fstpt 32(%rsp)
  248. ..___tag_value_ctanhl.33:
  249. call __libm_sinhl_k80@PLT
  250. ..___tag_value_ctanhl.34:
  251. ..B1.87:
  252. fldt 32(%rsp)
  253. addq $16, %rsp
  254. .cfi_def_cfa_offset 448
  255. ..B1.27:
  256. fldt 32(%rsp)
  257. lea 256(%rsp), %rdx
  258. faddp %st, %st(2)
  259. fxch %st(1)
  260. fstpt (%rsp)
  261. movl (%rsp), %ebp
  262. ..B1.28:
  263. fldt 240(%rsp)
  264. fld %st(0)
  265. fldt (%rdx)
  266. fadd %st, %st(1)
  267. fxch %st(1)
  268. fstpt 160(%rsp)
  269. fldt 160(%rsp)
  270. addq $-16, %rsp
  271. .cfi_def_cfa_offset 464
  272. fsubp %st, %st(2)
  273. fsubp %st, %st(1)
  274. fldt 480(%rsp)
  275. fstpt (%rsp)
  276. lea 320(%rsp), %rdi
  277. fxch %st(1)
  278. fstpt 32(%rsp)
  279. fstpt 112(%rsp)
  280. ..___tag_value_ctanhl.37:
  281. call __libm_cosl_k80@PLT
  282. ..___tag_value_ctanhl.38:
  283. ..B1.88:
  284. fldt 112(%rsp)
  285. fldt 32(%rsp)
  286. addq $16, %rsp
  287. .cfi_def_cfa_offset 448
  288. ..B1.29:
  289. fldt 304(%rsp)
  290. lea _CONSTANTS(%rip), %rax
  291. fld %st(0)
  292. lea t33(%rip), %rdx
  293. fldt 320(%rsp)
  294. addl %ebp, %r14d
  295. fadd %st, %st(1)
  296. fxch %st(1)
  297. fsub %st, %st(2)
  298. fxch %st(2)
  299. fsubrp %st, %st(1)
  300. fxch %st(1)
  301. fmul %st(4), %st
  302. fxch %st(1)
  303. fmulp %st, %st(4)
  304. fxch %st(3)
  305. fstpt 128(%rsp)
  306. fldt 128(%rsp)
  307. fldt (%rax)
  308. movzwl 168(%rsp), %eax
  309. faddp %st, %st(4)
  310. fxch %st(3)
  311. fstpt 112(%rsp)
  312. fldt 112(%rsp)
  313. andl $32767, %eax
  314. fstpt 144(%rsp)
  315. fld %st(0)
  316. fldt 160(%rsp)
  317. addl %ebp, %eax
  318. fld %st(0)
  319. fxch %st(1)
  320. fstpt 16(%rsp)
  321. fldt 16(%rsp)
  322. fldt (%rdx)
  323. fmul %st, %st(3)
  324. fld %st(0)
  325. fmul %st(2), %st
  326. movzwl 152(%rsp), %edx
  327. fsub %st, %st(3)
  328. andl $32767, %edx
  329. fsubp %st, %st(3)
  330. fxch %st(1)
  331. fsub %st(2), %st
  332. fadd %st(5), %st
  333. fxch %st(1)
  334. fstpt (%rsp)
  335. fld %st(3)
  336. lea 64(%rdx), %ecx
  337. cmpl %ecx, %eax
  338. fsubr %st(3), %st
  339. fsubrp %st, %st(3)
  340. fxch %st(2)
  341. fsubr %st, %st(3)
  342. fldt 80(%rsp)
  343. faddp %st, %st(4)
  344. fld %st(3)
  345. fmul %st(3), %st
  346. fld %st(2)
  347. fmul %st(2), %st
  348. fxch %st(2)
  349. fmulp %st, %st(4)
  350. faddp %st, %st(3)
  351. fxch %st(3)
  352. fmulp %st, %st(1)
  353. faddp %st, %st(1)
  354. fld %st(0)
  355. fadd %st(2), %st
  356. fstpt 48(%rsp)
  357. fldt 48(%rsp)
  358. fsubp %st, %st(2)
  359. fsubp %st, %st(1)
  360. fstpt 64(%rsp)
  361. fldt 112(%rsp)
  362. jge ..B1.35
  363. ..B1.30:
  364. addl $-64, %edx
  365. cmpl %edx, %eax
  366. jle ..B1.34
  367. ..B1.31:
  368. fstpt 112(%rsp)
  369. lea (%rbp,%rbp), %ebx
  370. movzwl 120(%rsp), %eax
  371. movl %eax, %edx
  372. movzwl 136(%rsp), %ecx
  373. subl %ebp, %eax
  374. andl $32767, %ecx
  375. andl $-32768, %edx
  376. andl $32767, %eax
  377. subl %ebp, %ecx
  378. orl %eax, %edx
  379. fxch %st(1)
  380. fstpt 160(%rsp)
  381. testl %ecx, %ecx
  382. movw %dx, 120(%rsp)
  383. jle ..B1.33
  384. ..B1.32:
  385. fldt 112(%rsp)
  386. movzwl 168(%rsp), %eax
  387. movl %eax, %edx
  388. subl %ebp, %eax
  389. andl $-32768, %edx
  390. andl $32767, %eax
  391. orl %eax, %edx
  392. movw %dx, 168(%rsp)
  393. jmp ..B1.38
  394. ..B1.33:
  395. fldt 112(%rsp)
  396. jmp ..B1.38
  397. ..B1.34:
  398. fstp %st(1)
  399. fldt 208(%rsp)
  400. fstpt 112(%rsp)
  401. fldt 112(%rsp)
  402. fstpt 160(%rsp)
  403. ..B1.36:
  404. fldt .L_2il0floatpacket.8(%rip)
  405. fxch %st(1)
  406. fstpt 16(%rsp)
  407. xorl %ebx, %ebx
  408. jmp ..B1.38
  409. ..B1.35:
  410. fldt 208(%rsp)
  411. fstpt 112(%rsp)
  412. fldt 112(%rsp)
  413. fstpt 160(%rsp)
  414. fldt 160(%rsp)
  415. jl ..B1.100
  416. ..B1.37:
  417. fstp %st(3)
  418. fstp %st(0)
  419. lea (%rbp,%rbp), %ebx
  420. fxch %st(1)
  421. ..B1.38:
  422. addq $-32, %rsp
  423. .cfi_def_cfa_offset 480
  424. fldt 48(%rsp)
  425. lea 368(%rsp), %rdi
  426. fstpt (%rsp)
  427. fstpt 16(%rsp)
  428. fstpt 128(%rsp)
  429. ..___tag_value_ctanhl.41:
  430. call __libm_hypot2l_k80@PLT
  431. ..___tag_value_ctanhl.42:
  432. ..B1.89:
  433. fldt 128(%rsp)
  434. addq $32, %rsp
  435. .cfi_def_cfa_offset 448
  436. ..B1.39:
  437. fldt 32(%rsp)
  438. lea t32(%rip), %rbp
  439. movzwl 8+.L_2il0floatpacket.9(%rip), %eax
  440. movl %eax, %ecx
  441. andl $-32768, %ecx
  442. subl %ebx, %r14d
  443. movl %r14d, %edi
  444. faddp %st, %st(2)
  445. fxch %st(1)
  446. fstpt 176(%rsp)
  447. fldt .L_2il0floatpacket.9(%rip)
  448. movl 176(%rsp), %edx
  449. addl %eax, %edx
  450. andl $32767, %edx
  451. fstpt 192(%rsp)
  452. orl %edx, %ecx
  453. fldt 336(%rsp)
  454. fldt 352(%rsp)
  455. fldt 16(%rsp)
  456. fldt 160(%rsp)
  457. fldt .L_2il0floatpacket.10(%rip)
  458. fmul %st, %st(2)
  459. fxch %st(5)
  460. fmulp %st, %st(2)
  461. fldt 112(%rsp)
  462. movw %cx, 200(%rsp)
  463. fmulp %st, %st(5)
  464. fmulp %st, %st(4)
  465. fldt 192(%rsp)
  466. fmul %st, %st(3)
  467. fld %st(3)
  468. fxch %st(1)
  469. fmulp %st, %st(3)
  470. fxch %st(1)
  471. faddp %st, %st(2)
  472. fxch %st(3)
  473. faddp %st, %st(1)
  474. fstpt 352(%rsp)
  475. fldt 352(%rsp)
  476. fxch %st(1)
  477. fstpt 96(%rsp)
  478. fldt 96(%rsp)
  479. fstpt 336(%rsp)
  480. fldt 336(%rsp)
  481. fldt 48(%rsp)
  482. fld %st(0)
  483. fdiv %st(2), %st
  484. fmul %st, %st(3)
  485. fldt (%rbp)
  486. fld %st(0)
  487. fmul %st(2), %st
  488. fld %st(0)
  489. fsubr %st(3), %st
  490. faddp %st, %st(1)
  491. fld %st(0)
  492. fsubr %st(3), %st
  493. fxch %st(2)
  494. fstpt 80(%rsp)
  495. fldt 80(%rsp)
  496. fmul %st(5), %st
  497. fsubr %st, %st(7)
  498. faddp %st, %st(7)
  499. fld %st(6)
  500. fsubrp %st, %st(5)
  501. fld %st(0)
  502. fmul %st(7), %st
  503. fxch %st(2)
  504. fmul %st, %st(7)
  505. fxch %st(1)
  506. fmul %st(5), %st
  507. faddp %st, %st(7)
  508. fld %st(6)
  509. fadd %st(2), %st
  510. fsubr %st, %st(2)
  511. fxch %st(7)
  512. faddp %st, %st(2)
  513. fmulp %st, %st(4)
  514. faddp %st, %st(3)
  515. fxch %st(4)
  516. fsubrp %st, %st(1)
  517. fsubp %st, %st(1)
  518. fldt 64(%rsp)
  519. faddp %st, %st(1)
  520. fsubp %st, %st(1)
  521. fld %st(1)
  522. fldt 96(%rsp)
  523. addq $-32, %rsp
  524. .cfi_def_cfa_offset 480
  525. fdivrp %st, %st(2)
  526. fadd %st(1), %st
  527. fstpt (%rsp)
  528. fldt (%rsp)
  529. fsubrp %st, %st(2)
  530. faddp %st, %st(1)
  531. fstpt 16(%rsp)
  532. ..___tag_value_ctanhl.45:
  533. call __libm_scalbl_k80@PLT
  534. ..___tag_value_ctanhl.46:
  535. ..B1.90:
  536. addq $32, %rsp
  537. .cfi_def_cfa_offset 448
  538. ..B1.40:
  539. fstpt 368(%rsp)
  540. cmpq $0, 464(%rsp)
  541. jne ..B1.46
  542. ..B1.41:
  543. fldt 464(%rsp)
  544. testb %r15b, %r15b
  545. fstpt 384(%rsp)
  546. je ..B1.43
  547. ..B1.42:
  548. fldcw 226(%rsp)
  549. ..B1.43:
  550. movq 400(%rsp), %rax
  551. xorq %rsp, %rax
  552. cmpq %fs:40, %rax
  553. jne ..B1.75
  554. ..B1.44:
  555. fldt 368(%rsp)
  556. fldt 384(%rsp)
  557. movq 400(%rsp), %rax
  558. xorq %rsp, %rax
  559. cmpq %fs:40, %rax
  560. jne ..B1.74
  561. ..B1.45:
  562. addq $408, %rsp
  563. .cfi_def_cfa_offset 40
  564. .cfi_restore 6
  565. popq %rbp
  566. .cfi_def_cfa_offset 32
  567. .cfi_restore 3
  568. popq %rbx
  569. .cfi_def_cfa_offset 24
  570. .cfi_restore 15
  571. popq %r15
  572. .cfi_def_cfa_offset 16
  573. .cfi_restore 14
  574. popq %r14
  575. .cfi_def_cfa_offset 8
  576. fxch %st(1)
  577. ret
  578. .cfi_def_cfa_offset 448
  579. .cfi_offset 3, -32
  580. .cfi_offset 6, -40
  581. .cfi_offset 14, -16
  582. .cfi_offset 15, -24
  583. ..B1.46:
  584. movzwl 472(%rsp), %eax
  585. andl $32767, %eax
  586. cmpl $16183, %eax
  587. jge ..B1.48
  588. ..B1.47:
  589. fldt 464(%rsp)
  590. lea 16+_CONSTANTS(%rip), %rax
  591. fldt 208(%rsp)
  592. fstpt 32(%rsp)
  593. fldt (%rax)
  594. fmulp %st, %st(1)
  595. fstpt 16(%rsp)
  596. movzwl 24(%rsp), %edx
  597. movl %edx, %edi
  598. andl $-32768, %edx
  599. andl $32767, %edi
  600. orl $-49153, %edx
  601. addl $-16639, %edi
  602. movw %dx, 24(%rsp)
  603. fldt 16(%rsp)
  604. jmp ..B1.50
  605. ..B1.48:
  606. addq $-16, %rsp
  607. .cfi_def_cfa_offset 464
  608. fldt 480(%rsp)
  609. lea 32(%rsp), %rdi
  610. fstpt (%rsp)
  611. ..___tag_value_ctanhl.63:
  612. call __libm_sinl_k80@PLT
  613. ..___tag_value_ctanhl.64:
  614. ..B1.91:
  615. addq $16, %rsp
  616. .cfi_def_cfa_offset 448
  617. ..B1.49:
  618. fldt 16(%rsp)
  619. xorl %edi, %edi
  620. fmul %st(1), %st
  621. fstpt 16(%rsp)
  622. fldt 16(%rsp)
  623. fldt 32(%rsp)
  624. fmulp %st, %st(2)
  625. fxch %st(1)
  626. fstpt 208(%rsp)
  627. fldt 208(%rsp)
  628. fstpt 32(%rsp)
  629. ..B1.50:
  630. fldt 208(%rsp)
  631. fld %st(1)
  632. subl %ebx, %edi
  633. fadd %st(1), %st
  634. fsub %st, %st(2)
  635. fxch %st(2)
  636. fsubrp %st, %st(1)
  637. fld %st(1)
  638. fldt (%rsp)
  639. fld %st(0)
  640. fmul %st(4), %st
  641. fsub %st, %st(2)
  642. fsubp %st, %st(2)
  643. fld %st(1)
  644. fxch %st(2)
  645. fsubr %st, %st(4)
  646. fxch %st(3)
  647. faddp %st, %st(4)
  648. fldt 144(%rsp)
  649. fmul %st, %st(1)
  650. fld %st(0)
  651. fsubr %st(2), %st
  652. fsubrp %st, %st(2)
  653. fxch %st(1)
  654. fmul %st, %st(2)
  655. fsubr %st, %st(1)
  656. fstpt 112(%rsp)
  657. fldt 112(%rsp)
  658. fldt 128(%rsp)
  659. faddp %st, %st(2)
  660. fld %st(1)
  661. fmul %st(5), %st
  662. fxch %st(1)
  663. fmulp %st, %st(5)
  664. faddp %st, %st(4)
  665. fmul %st, %st(2)
  666. fxch %st(2)
  667. faddp %st, %st(3)
  668. fld %st(2)
  669. fadd %st(1), %st
  670. fsub %st, %st(1)
  671. fxch %st(1)
  672. fsubrp %st, %st(3)
  673. fxch %st(1)
  674. fstpt 160(%rsp)
  675. fldt 336(%rsp)
  676. fld %st(0)
  677. fdivr %st(2), %st
  678. fld %st(1)
  679. fldt 80(%rsp)
  680. fld %st(0)
  681. fmul %st(3), %st
  682. fld %st(0)
  683. fsubr %st(4), %st
  684. faddp %st, %st(1)
  685. fld %st(0)
  686. fsubr %st(4), %st
  687. fxch %st(2)
  688. fmul %st(5), %st
  689. fsubr %st, %st(3)
  690. faddp %st, %st(3)
  691. fxch %st(2)
  692. fsubr %st, %st(4)
  693. fld %st(2)
  694. fmul %st(1), %st
  695. fxch %st(1)
  696. fmul %st(2), %st
  697. fxch %st(3)
  698. fmul %st(5), %st
  699. faddp %st, %st(3)
  700. fld %st(2)
  701. fadd %st(1), %st
  702. fsubr %st, %st(1)
  703. fxch %st(3)
  704. faddp %st, %st(1)
  705. fxch %st(1)
  706. fmulp %st, %st(4)
  707. faddp %st, %st(3)
  708. fsubrp %st, %st(3)
  709. fxch %st(1)
  710. fsubrp %st, %st(2)
  711. fxch %st(2)
  712. faddp %st, %st(1)
  713. fld %st(1)
  714. fldt 352(%rsp)
  715. fmul %st(3), %st
  716. fsubrp %st, %st(2)
  717. fldt 336(%rsp)
  718. fdivrp %st, %st(2)
  719. addq $-32, %rsp
  720. .cfi_def_cfa_offset 480
  721. fadd %st(1), %st
  722. fstpt (%rsp)
  723. fldt (%rsp)
  724. fsubrp %st, %st(2)
  725. faddp %st, %st(1)
  726. fstpt 16(%rsp)
  727. ..___tag_value_ctanhl.67:
  728. call __libm_scalbl_k80@PLT
  729. ..___tag_value_ctanhl.68:
  730. ..B1.92:
  731. addq $32, %rsp
  732. .cfi_def_cfa_offset 448
  733. ..B1.51:
  734. fstpt 384(%rsp)
  735. jmp ..B1.69
  736. ..B1.52:
  737. cmpq $0, 464(%rsp)
  738. jne ..B1.54
  739. ..B1.53:
  740. movq 448(%rsp), %rbx
  741. jmp ..B1.56
  742. ..B1.54:
  743. movzwl 472(%rsp), %eax
  744. andl $32767, %eax
  745. cmpl $32767, %eax
  746. jge ..B1.60
  747. ..B1.55:
  748. movq 448(%rsp), %rbx
  749. cmpl $32767, %edx
  750. je ..B1.80
  751. ..B1.56:
  752. addq $-16, %rsp
  753. .cfi_def_cfa_offset 464
  754. fldt 464(%rsp)
  755. fstpt (%rsp)
  756. call tanhl@PLT
  757. ..B1.93:
  758. addq $16, %rsp
  759. .cfi_def_cfa_offset 448
  760. fstpt 368(%rsp)
  761. testq %rbx, %rbx
  762. jne ..B1.58
  763. ..B1.57:
  764. addq $-16, %rsp
  765. .cfi_def_cfa_offset 464
  766. fldt 480(%rsp)
  767. fstpt (%rsp)
  768. call tanl@PLT
  769. ..B1.94:
  770. addq $16, %rsp
  771. .cfi_def_cfa_offset 448
  772. fstpt 384(%rsp)
  773. jmp ..B1.69
  774. ..B1.58:
  775. movzwl 472(%rsp), %eax
  776. testl $32767, %eax
  777. jle ..B1.79
  778. ..B1.59:
  779. addq $-16, %rsp
  780. .cfi_def_cfa_offset 464
  781. fldt 480(%rsp)
  782. fstpt (%rsp)
  783. call tanl@PLT
  784. ..B1.95:
  785. addq $16, %rsp
  786. .cfi_def_cfa_offset 448
  787. fldt 208(%rsp)
  788. fmulp %st, %st(1)
  789. fstpt 384(%rsp)
  790. jmp ..B1.69
  791. ..B1.60:
  792. cmpl $32767, %edx
  793. jge ..B1.62
  794. ..B1.61:
  795. addq $-16, %rsp
  796. .cfi_def_cfa_offset 464
  797. fldt 480(%rsp)
  798. fstpt (%rsp)
  799. call tanl@PLT
  800. ..B1.96:
  801. addq $16, %rsp
  802. .cfi_def_cfa_offset 448
  803. fstpt 368(%rsp)
  804. fldt 368(%rsp)
  805. fstpt 384(%rsp)
  806. jmp ..B1.69
  807. ..B1.62:
  808. cmpl $-2147483648, 452(%rsp)
  809. jne ..B1.64
  810. ..B1.63:
  811. cmpl $0, 448(%rsp)
  812. je ..B1.65
  813. ..B1.64:
  814. addq $-16, %rsp
  815. .cfi_def_cfa_offset 464
  816. fldt 464(%rsp)
  817. fstpt (%rsp)
  818. call tanhl@PLT
  819. ..B1.97:
  820. addq $16, %rsp
  821. .cfi_def_cfa_offset 448
  822. fldt 464(%rsp)
  823. fmul %st(1), %st
  824. fstpt 384(%rsp)
  825. fstpt 368(%rsp)
  826. jmp ..B1.69
  827. ..B1.65:
  828. cmpl $-2147483648, 468(%rsp)
  829. jne ..B1.67
  830. ..B1.66:
  831. cmpl $0, 464(%rsp)
  832. je ..B1.68
  833. ..B1.67:
  834. fldt 464(%rsp)
  835. fmul %st(0), %st
  836. fstpt 464(%rsp)
  837. addq $-16, %rsp
  838. .cfi_def_cfa_offset 464
  839. fldt 464(%rsp)
  840. fstpt (%rsp)
  841. call tanhl@PLT
  842. ..B1.98:
  843. addq $16, %rsp
  844. .cfi_def_cfa_offset 448
  845. fldt 208(%rsp)
  846. fstpt 384(%rsp)
  847. fstpt 368(%rsp)
  848. jmp ..B1.69
  849. ..B1.68:
  850. addq $-16, %rsp
  851. .cfi_def_cfa_offset 464
  852. fldt 464(%rsp)
  853. fstpt (%rsp)
  854. call tanhl@PLT
  855. ..B1.99:
  856. addq $16, %rsp
  857. .cfi_def_cfa_offset 448
  858. lea ones(%rip), %rdx
  859. movb 473(%rsp), %al
  860. pxor %xmm0, %xmm0
  861. andb $-128, %al
  862. fstpt 368(%rsp)
  863. shrb $7, %al
  864. movzbl %al, %ecx
  865. mulsd (%rdx,%rcx,8), %xmm0
  866. movsd %xmm0, (%rsp)
  867. fldl (%rsp)
  868. fstpt 384(%rsp)
  869. ..B1.69:
  870. testb %r15b, %r15b
  871. je ..B1.71
  872. ..B1.70:
  873. fldcw 226(%rsp)
  874. ..B1.71:
  875. movq 400(%rsp), %rax
  876. xorq %rsp, %rax
  877. cmpq %fs:40, %rax
  878. jne ..B1.75
  879. ..B1.72:
  880. fldt 368(%rsp)
  881. fldt 384(%rsp)
  882. movq 400(%rsp), %rax
  883. xorq %rsp, %rax
  884. cmpq %fs:40, %rax
  885. jne ..B1.74
  886. ..B1.73:
  887. addq $408, %rsp
  888. .cfi_def_cfa_offset 40
  889. .cfi_restore 6
  890. popq %rbp
  891. .cfi_def_cfa_offset 32
  892. .cfi_restore 3
  893. popq %rbx
  894. .cfi_def_cfa_offset 24
  895. .cfi_restore 15
  896. popq %r15
  897. .cfi_def_cfa_offset 16
  898. .cfi_restore 14
  899. popq %r14
  900. .cfi_def_cfa_offset 8
  901. fxch %st(1)
  902. ret
  903. .cfi_def_cfa_offset 448
  904. .cfi_offset 3, -32
  905. .cfi_offset 6, -40
  906. .cfi_offset 14, -16
  907. .cfi_offset 15, -24
  908. ..B1.74:
  909. fstp %st(1)
  910. fstp %st(0)
  911. call __stack_chk_fail@PLT
  912. ..B1.75:
  913. call __stack_chk_fail@PLT
  914. ..B1.76:
  915. movb 393(%rsp), %dl
  916. movb 473(%rsp), %al
  917. andb $127, %dl
  918. andb $-128, %al
  919. orb %al, %dl
  920. jmp ..B1.18
  921. ..B1.79:
  922. fldt 464(%rsp)
  923. fldt 208(%rsp)
  924. fmulp %st, %st(1)
  925. fstpt 384(%rsp)
  926. jmp ..B1.69
  927. ..B1.80:
  928. movq $0x8000000000000000, %rax
  929. cmpq %rax, %rbx
  930. je ..B1.56
  931. jmp ..B1.60
  932. ..B1.100:
  933. fstp %st(0)
  934. fstp %st(1)
  935. jmp ..B1.36
  936. .align 16,0x90
  937. .cfi_endproc
  938. .type ctanhl,@function
  939. .size ctanhl,.-ctanhl
  940. .data
  941. # -- End ctanhl
  942. .section .rodata, "a"
  943. .align 16
  944. .align 16
  945. .L_2il0floatpacket.8:
  946. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  947. .type .L_2il0floatpacket.8,@object
  948. .size .L_2il0floatpacket.8,16
  949. .align 16
  950. .L_2il0floatpacket.9:
  951. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  952. .type .L_2il0floatpacket.9,@object
  953. .size .L_2il0floatpacket.9,16
  954. .align 16
  955. .L_2il0floatpacket.10:
  956. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  957. .type .L_2il0floatpacket.10,@object
  958. .size .L_2il0floatpacket.10,16
  959. .align 16
  960. t33:
  961. .byte 0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x80,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  962. .byte 0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x80,0x20,0xc0,0x00,0x00,0x00,0x00,0x00,0x00
  963. .type t33,@object
  964. .size t33,32
  965. .align 16
  966. t32:
  967. .byte 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x1f,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  968. .byte 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x1f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00
  969. .type t32,@object
  970. .size t32,32
  971. .align 8
  972. ones:
  973. .long 0x00000000,0x3ff00000
  974. .long 0x00000000,0xbff00000
  975. .type ones,@object
  976. .size ones,16
  977. .align 2
  978. _CONSTANTS:
  979. .word 0
  980. .word 0
  981. .word 0
  982. .word 32768
  983. .word 1
  984. .word 0
  985. .word 0
  986. .word 0
  987. .word 0
  988. .word 0
  989. .word 0
  990. .word 32768
  991. .word 16639
  992. .word 0
  993. .word 0
  994. .word 0
  995. .word 0
  996. .word 0
  997. .word 0
  998. .word 49152
  999. .word 16446
  1000. .word 0
  1001. .word 0
  1002. .word 0
  1003. .type _CONSTANTS,@object
  1004. .size _CONSTANTS,48
  1005. .data
  1006. .section .note.GNU-stack, ""
  1007. // -- Begin DWARF2 SEGMENT .eh_frame
  1008. .section .eh_frame,"a",@progbits
  1009. .eh_frame_seg:
  1010. .align 1
  1011. # End