dpml_ux_trig.S 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192
  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 "dpml_ux_trig.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin __dpml_ux_radian_reduce__
  41. .text
  42. .align 16,0x90
  43. __dpml_ux_radian_reduce__:
  44. # parameter 1: %rdi
  45. # parameter 2: %rsi
  46. # parameter 3: %rdx
  47. ..B1.1:
  48. .cfi_startproc
  49. ..___tag_value___dpml_ux_radian_reduce__.1:
  50. ..L2:
  51. pushq %r12
  52. .cfi_def_cfa_offset 16
  53. .cfi_offset 12, -16
  54. pushq %r13
  55. .cfi_def_cfa_offset 24
  56. .cfi_offset 13, -24
  57. pushq %r14
  58. .cfi_def_cfa_offset 32
  59. .cfi_offset 14, -32
  60. pushq %r15
  61. .cfi_def_cfa_offset 40
  62. .cfi_offset 15, -40
  63. pushq %rbx
  64. .cfi_def_cfa_offset 48
  65. .cfi_offset 3, -48
  66. pushq %rbp
  67. .cfi_def_cfa_offset 56
  68. .cfi_offset 6, -56
  69. subq $120, %rsp
  70. .cfi_def_cfa_offset 176
  71. movq 8(%rdi), %rax
  72. movq 16(%rdi), %rcx
  73. movl (%rdi), %r8d
  74. movq %rdx, 48(%rsp)
  75. movq %rsi, %rdx
  76. movslq 4(%rdi), %rsi
  77. testq %rsi, %rsi
  78. movq %rax, 80(%rsp)
  79. movq %rcx, 104(%rsp)
  80. movl %r8d, 40(%rsp)
  81. jl ..B1.21
  82. ..B1.2:
  83. addq $8, %rsi
  84. movq %rsi, %rbx
  85. sarq $6, %rbx
  86. movq __four_over_pi@GOTPCREL(%rip), %rax
  87. movq %rbx, 56(%rsp)
  88. lea (%rax,%rbx,8), %rbp
  89. movq 32(%rbp), %rcx
  90. movq (%rbp), %rbx
  91. movq 8(%rbp), %r11
  92. movq 16(%rbp), %rdi
  93. movq 24(%rbp), %rax
  94. addq $40, %rbp
  95. movq %rcx, 8(%rsp)
  96. andq $63, %rsi
  97. movq %rbp, (%rsp)
  98. je ..B1.4
  99. ..B1.3:
  100. movq %rsi, %rbp
  101. movl %esi, %ecx
  102. negq %rbp
  103. movq %r11, %r8
  104. movq %rbp, 56(%rsp)
  105. movq %rdi, %r9
  106. shlq %cl, %rbx
  107. movl %ebp, %ecx
  108. shrq %cl, %r8
  109. movl %esi, %ecx
  110. shlq %cl, %r11
  111. movl %ebp, %ecx
  112. shrq %cl, %r9
  113. movl %esi, %ecx
  114. shlq %cl, %rdi
  115. movl %ebp, %ecx
  116. movq %rax, %r10
  117. orq %r8, %rbx
  118. shrq %cl, %r10
  119. movl %esi, %ecx
  120. shlq %cl, %rax
  121. movl %ebp, %ecx
  122. movq 8(%rsp), %r12
  123. orq %r9, %r11
  124. shrq %cl, %r12
  125. orq %r10, %rdi
  126. orq %r12, %rax
  127. ..B1.4:
  128. movq %rdx, 32(%rsp)
  129. xorl %r13d, %r13d
  130. movl %eax, %edx
  131. movq 104(%rsp), %r10
  132. movq %r10, %r8
  133. movl %r10d, %ebp
  134. movq %rdx, %r15
  135. movq %rbx, 24(%rsp)
  136. movq %rax, %rbx
  137. shrq $32, %r8
  138. movq %rdx, %r12
  139. imulq %rbp, %r15
  140. imulq %r8, %r12
  141. shrq $32, %rbx
  142. movq %rbp, %r9
  143. imulq %rbx, %r9
  144. movq %rsi, 112(%rsp)
  145. movq %r10, %rsi
  146. imulq %rax, %rsi
  147. shrq $32, %r15
  148. movq %r8, %r14
  149. addq %r12, %r15
  150. addq %r15, %r9
  151. cmpq %r15, %r9
  152. movq %r9, %r12
  153. movq 80(%rsp), %r9
  154. setb %r13b
  155. shrq $32, %r12
  156. shlq $32, %r13
  157. movq %rsi, 16(%rsp)
  158. addq %r13, %r12
  159. movl %r9d, %ecx
  160. movq %r9, %rsi
  161. movq %rdx, %r13
  162. movq %rcx, %r15
  163. shrq $32, %rsi
  164. imulq %rcx, %r13
  165. imulq %rsi, %rdx
  166. imulq %rbx, %r15
  167. imulq %rbx, %r14
  168. imulq %r9, %rax
  169. imulq %rsi, %rbx
  170. shrq $32, %r13
  171. addq %r14, %r12
  172. addq %rdx, %r13
  173. addq %rax, %r12
  174. addq %r13, %r15
  175. cmpq %r13, %r15
  176. movq %r15, %rdx
  177. movl $0, %r15d
  178. setb %r15b
  179. cmpq %rax, %r12
  180. movl $0, %eax
  181. setb %al
  182. shrq $32, %rdx
  183. shlq $32, %r15
  184. addq %r15, %rdx
  185. movq %r10, %r15
  186. addq %rbx, %rdx
  187. addq %rax, %rdx
  188. movq %rdi, %rbx
  189. movl %edi, %eax
  190. movq %rax, %r14
  191. movq %rax, %r13
  192. imulq %rbp, %r14
  193. imulq %r8, %r13
  194. imulq %rdi, %r15
  195. imulq %r9, %rdi
  196. shrq $32, %rbx
  197. addq %r15, %r12
  198. movq %rbp, 88(%rsp)
  199. imulq %rbx, %rbp
  200. shrq $32, %r14
  201. addq %r13, %r14
  202. addq %r14, %rbp
  203. cmpq %r14, %rbp
  204. movl $0, %r14d
  205. movq %rbp, %r13
  206. movq %r8, %rbp
  207. setb %r14b
  208. cmpq %r15, %r12
  209. movl $0, %r15d
  210. movq %rcx, 64(%rsp)
  211. setb %r15b
  212. imulq %rbx, %rbp
  213. shrq $32, %r13
  214. shlq $32, %r14
  215. addq %r14, %r13
  216. movq %rax, %r14
  217. imulq %rcx, %r14
  218. imulq %rsi, %rax
  219. imulq %rbx, %rcx
  220. imulq %rsi, %rbx
  221. addq %rbp, %r13
  222. addq %r15, %rdx
  223. xorl %ebp, %ebp
  224. cmpq %r15, %rdx
  225. movq %rsi, 72(%rsp)
  226. setb %bpl
  227. xorl %esi, %esi
  228. addq %r13, %rdx
  229. cmpq %r13, %rdx
  230. movl $0, %r13d
  231. setb %r13b
  232. addq %rdi, %rdx
  233. shrq $32, %r14
  234. addq %rax, %r14
  235. addq %r14, %rcx
  236. addq %r13, %rbp
  237. xorl %r13d, %r13d
  238. cmpq %r14, %rcx
  239. movq %rcx, %r15
  240. setb %r13b
  241. cmpq %rdi, %rdx
  242. movl $0, %edi
  243. setb %dil
  244. movq %r10, %r14
  245. shrq $32, %r15
  246. shlq $32, %r13
  247. addq %r13, %r15
  248. movq %r11, %r13
  249. addq %rbx, %r15
  250. addq %rdi, %r15
  251. addq %rbp, %r15
  252. movl %r11d, %ebp
  253. movq %rbp, %rbx
  254. movq 88(%rsp), %rax
  255. imulq %rax, %rbx
  256. imulq %r8, %rbp
  257. imulq %r11, %r14
  258. imulq %r9, %r11
  259. shrq $32, %r13
  260. addq %r14, %rdx
  261. imulq %r13, %rax
  262. imulq %r8, %r13
  263. shrq $32, %rbx
  264. addq %r15, %r11
  265. addq %rbp, %rbx
  266. xorl %ebp, %ebp
  267. addq %rbx, %rax
  268. cmpq %rbx, %rax
  269. movq %rax, %rdi
  270. movq 32(%rsp), %rbx
  271. movq %rbx, %rcx
  272. setb %sil
  273. cmpq %r14, %rdx
  274. setb %bpl
  275. negq %rcx
  276. shrq $32, %rdi
  277. shlq $32, %rsi
  278. addq %rsi, %rdi
  279. addq %r13, %rdi
  280. addq %rdi, %rbp
  281. addq %r11, %rbp
  282. movq 24(%rsp), %r11
  283. imulq %r10, %r11
  284. cmpl $0, 40(%rsp)
  285. movq %r8, 96(%rsp)
  286. cmovne %rcx, %rbx
  287. addq %r11, %rbp
  288. shlq $61, %rbx
  289. addq %rbx, %rbp
  290. movq 16(%rsp), %r8
  291. xorl %ebx, %ebx
  292. movq (%rsp), %r10
  293. movq 8(%rsp), %r11
  294. jmp ..B1.5
  295. ..B1.9:
  296. movq $0xe000000000000000, %rsi
  297. addq $64, %rbx
  298. andq %rbp, %rsi
  299. movq $0x1fffffffffffffff, %rbp
  300. andq %rdx, %rbp
  301. movq %r12, %rdx
  302. orq %rsi, %rbp
  303. movq %r8, %r12
  304. movq %rcx, %r8
  305. ..B1.5:
  306. movq $0x40000000000000, %rcx
  307. movq $0x3f80000000000000, %rdi
  308. lea (%rcx,%rbp), %rsi
  309. testq %rdi, %rsi
  310. jne ..B1.10
  311. ..B1.6:
  312. movq %r11, %r9
  313. movq 112(%rsp), %rsi
  314. movl %esi, %ecx
  315. movq %r9, %r14
  316. movq (%r10), %r11
  317. movq %r11, %rdi
  318. shlq %cl, %r14
  319. addq $8, %r10
  320. movq 56(%rsp), %rcx
  321. movq 88(%rsp), %rax
  322. movq %rax, %r15
  323. shrq %cl, %rdi
  324. orq %rdi, %r14
  325. testq %rsi, %rsi
  326. movq 96(%rsp), %r13
  327. cmovne %r14, %r9
  328. movq %r13, %r14
  329. movl %r9d, %esi
  330. movq %r9, %rdi
  331. imulq %rsi, %r15
  332. imulq %rsi, %r14
  333. shrq $32, %rdi
  334. imulq %rdi, %rax
  335. imulq %rdi, %r13
  336. shrq $32, %r15
  337. addq %r14, %r15
  338. addq %r15, %rax
  339. cmpq %r15, %rax
  340. movl $0, %r15d
  341. movq %rax, %r14
  342. setb %r15b
  343. shrq $32, %r14
  344. shlq $32, %r15
  345. addq %r15, %r14
  346. addq %r13, %r14
  347. movq 64(%rsp), %r13
  348. movq %r13, %rax
  349. imulq %rsi, %rax
  350. movq 72(%rsp), %r15
  351. addq %r14, %r8
  352. imulq %r15, %rsi
  353. shrq $32, %rax
  354. cmpq %r14, %r8
  355. movq 104(%rsp), %rcx
  356. movl $0, %r14d
  357. setb %r14b
  358. addq %rsi, %rax
  359. movq %r13, %rsi
  360. imulq %rdi, %rsi
  361. imulq %r9, %rcx
  362. imulq 80(%rsp), %r9
  363. imulq %r15, %rdi
  364. addq %rax, %rsi
  365. addq %r14, %r12
  366. movq %rsi, %r13
  367. cmpq %r14, %r12
  368. movl $0, %r14d
  369. setb %r14b
  370. cmpq %rax, %rsi
  371. movl $0, %esi
  372. setb %sil
  373. addq %r9, %r8
  374. cmpq %r9, %r8
  375. movl $0, %r9d
  376. setb %r9b
  377. shrq $32, %r13
  378. shlq $32, %rsi
  379. addq %rsi, %r13
  380. addq %r9, %r12
  381. addq %rdi, %r13
  382. xorl %esi, %esi
  383. cmpq %r9, %r12
  384. setb %sil
  385. addq %r13, %r12
  386. cmpq %r13, %r12
  387. movl $0, %r13d
  388. setb %r13b
  389. addl %r14d, %esi
  390. addl %r13d, %esi
  391. je ..B1.8
  392. ..B1.7:
  393. incq %rdx
  394. lea 1(%rbp), %rsi
  395. cmove %rsi, %rbp
  396. ..B1.8:
  397. movq %rdx, %r9
  398. movq %rbp, %rsi
  399. shrq $55, %r9
  400. shlq $9, %rsi
  401. orq %rsi, %r9
  402. movq %r9, %rdi
  403. sarq $63, %rdi
  404. cmpq %r9, %rdi
  405. je ..B1.9
  406. ..B1.10:
  407. movq %r8, 16(%rsp)
  408. ..B1.11:
  409. lea (,%rbp,4), %rcx
  410. sarq $2, %rcx
  411. movq %rcx, %rsi
  412. subq %rcx, %rbp
  413. sarq $63, %rsi
  414. movq %rcx, %rdi
  415. cmpq %rsi, %rcx
  416. jne ..B1.13
  417. ..B1.12:
  418. movq %rdx, %rcx
  419. movq %r12, %rdx
  420. movq %r8, %r12
  421. addq $64, %rbx
  422. ..B1.13:
  423. movl $-2147483648, %r10d
  424. xorl %esi, %esi
  425. testq %rdi, %rdi
  426. cmovge %esi, %r10d
  427. testl %r10d, %r10d
  428. je ..B1.15
  429. ..B1.14:
  430. notq %r12
  431. movl $1, %edi
  432. incq %r12
  433. notq %rdx
  434. cmove %edi, %esi
  435. xorl %r8d, %r8d
  436. notq %rcx
  437. addq %rsi, %rdx
  438. cmove %edi, %r8d
  439. addq %r8, %rcx
  440. ..B1.15:
  441. movq %rbp, %r8
  442. xorl %esi, %esi
  443. movq 48(%rsp), %rdi
  444. negq %r8
  445. movl 40(%rsp), %r9d
  446. testl %r9d, %r9d
  447. movl $3, 4(%rdi)
  448. cmovne %r8, %rbp
  449. xorl %r9d, %r10d
  450. movl %r10d, (%rdi)
  451. movq %rcx, 8(%rdi)
  452. movq %rdx, 16(%rdi)
  453. ..___tag_value___dpml_ux_radian_reduce__.16:
  454. call __dpml_ffs_and_shift__@PLT
  455. ..___tag_value___dpml_ux_radian_reduce__.17:
  456. ..B1.16:
  457. movq 48(%rsp), %rdx
  458. movslq 4(%rdx), %rsi
  459. movq %rsi, %rcx
  460. addq $-3, %rcx
  461. je ..B1.18
  462. ..B1.17:
  463. shrq %cl, %r12
  464. orq %r12, 16(%rdx)
  465. ..B1.18:
  466. movq %rdx, %rdi
  467. subq %rbx, %rsi
  468. movq %rdi, %rdx
  469. movl %esi, 4(%rdi)
  470. lea 1008+__trig_x_table(%rip), %rsi
  471. ..___tag_value___dpml_ux_radian_reduce__.18:
  472. call __dpml_multiply__@PLT
  473. ..___tag_value___dpml_ux_radian_reduce__.19:
  474. ..B1.19:
  475. shrq $62, %rbp
  476. movq %rbp, %rax
  477. addq $120, %rsp
  478. .cfi_def_cfa_offset 56
  479. .cfi_restore 6
  480. popq %rbp
  481. .cfi_def_cfa_offset 48
  482. .cfi_restore 3
  483. popq %rbx
  484. .cfi_def_cfa_offset 40
  485. .cfi_restore 15
  486. popq %r15
  487. .cfi_def_cfa_offset 32
  488. .cfi_restore 14
  489. popq %r14
  490. .cfi_def_cfa_offset 24
  491. .cfi_restore 13
  492. popq %r13
  493. .cfi_def_cfa_offset 16
  494. .cfi_restore 12
  495. popq %r12
  496. .cfi_def_cfa_offset 8
  497. ret
  498. .cfi_def_cfa_offset 176
  499. .cfi_offset 3, -48
  500. .cfi_offset 6, -56
  501. .cfi_offset 12, -16
  502. .cfi_offset 13, -24
  503. .cfi_offset 14, -32
  504. .cfi_offset 15, -40
  505. ..B1.21:
  506. movl %r8d, %ecx
  507. sarl $31, %ecx
  508. movslq %ecx, %rcx
  509. addq %rdx, %rcx
  510. movq %rcx, %rbx
  511. andq $1, %rbx
  512. addq %rbx, %rcx
  513. movq %rcx, %rbx
  514. sarq $1, %rbx
  515. subq %rcx, %rdx
  516. je ..B1.23
  517. ..B1.22:
  518. shrq $63, %rdx
  519. lea 1008+__trig_x_table(%rip), %rsi
  520. movq 48(%rsp), %rcx
  521. ..___tag_value___dpml_ux_radian_reduce__.40:
  522. call __dpml_addsub__@PLT
  523. ..___tag_value___dpml_ux_radian_reduce__.41:
  524. jmp ..B1.24
  525. ..B1.23:
  526. movq 48(%rsp), %rcx
  527. movl %r8d, %edx
  528. movl %esi, 4(%rcx)
  529. movq %rax, %rsi
  530. movq %rsi, 8(%rcx)
  531. movq 16(%rdi), %rdi
  532. movl %edx, (%rcx)
  533. movq %rdi, 16(%rcx)
  534. ..B1.24:
  535. movq %rbx, %rax
  536. addq $120, %rsp
  537. .cfi_def_cfa_offset 56
  538. .cfi_restore 6
  539. popq %rbp
  540. .cfi_def_cfa_offset 48
  541. .cfi_restore 3
  542. popq %rbx
  543. .cfi_def_cfa_offset 40
  544. .cfi_restore 15
  545. popq %r15
  546. .cfi_def_cfa_offset 32
  547. .cfi_restore 14
  548. popq %r14
  549. .cfi_def_cfa_offset 24
  550. .cfi_restore 13
  551. popq %r13
  552. .cfi_def_cfa_offset 16
  553. .cfi_restore 12
  554. popq %r12
  555. .cfi_def_cfa_offset 8
  556. ret
  557. .align 16,0x90
  558. .cfi_endproc
  559. .type __dpml_ux_radian_reduce__,@function
  560. .size __dpml_ux_radian_reduce__,.-__dpml_ux_radian_reduce__
  561. .data
  562. # -- End __dpml_ux_radian_reduce__
  563. .text
  564. # -- Begin __dpml_ux_degree_reduce__
  565. .text
  566. .align 16,0x90
  567. __dpml_ux_degree_reduce__:
  568. # parameter 1: %rdi
  569. # parameter 2: %rsi
  570. # parameter 3: %rdx
  571. ..B2.1:
  572. .cfi_startproc
  573. ..___tag_value___dpml_ux_degree_reduce__.56:
  574. ..L57:
  575. pushq %r13
  576. .cfi_def_cfa_offset 16
  577. .cfi_offset 13, -16
  578. pushq %r14
  579. .cfi_def_cfa_offset 24
  580. .cfi_offset 14, -24
  581. pushq %r15
  582. .cfi_def_cfa_offset 32
  583. .cfi_offset 15, -32
  584. pushq %rbx
  585. .cfi_def_cfa_offset 40
  586. .cfi_offset 3, -40
  587. pushq %rbp
  588. .cfi_def_cfa_offset 48
  589. .cfi_offset 6, -48
  590. subq $48, %rsp
  591. .cfi_def_cfa_offset 96
  592. movq %rdi, %rbp
  593. movq %rdx, %r13
  594. movq %rsi, %rbx
  595. movl 4(%rbp), %r14d
  596. cmpl $142, %r14d
  597. movl (%rbp), %r15d
  598. jle ..B2.3
  599. ..B2.2:
  600. lea 264+__trig_x_table(%rip), %rax
  601. movslq %r14d, %r8
  602. addq $32641, %r8
  603. movl %r8d, %ecx
  604. movq (%rax), %r9
  605. movq %rcx, %r10
  606. movl %r9d, %esi
  607. shrq $32, %r9
  608. imulq %rsi, %r10
  609. imulq %r9, %rcx
  610. shrq $32, %r8
  611. imulq %r8, %rsi
  612. imulq %r8, %r9
  613. shrq $32, %r10
  614. addq %rcx, %r10
  615. addq %rsi, %r10
  616. shrq $32, %r10
  617. addq %r9, %r10
  618. lea (,%r10,8), %r11d
  619. lea (%r11,%r10,4), %eax
  620. negl %eax
  621. lea 32772(%r14,%rax), %r14d
  622. movl %r14d, 4(%rbp)
  623. ..B2.3:
  624. cmpl $16, %r14d
  625. jl ..B2.25
  626. ..B2.4:
  627. movslq %r14d, %r14
  628. xorl %r8d, %r8d
  629. lea -15(%r14), %rsi
  630. movq %rsi, %rcx
  631. andq $63, %rcx
  632. sarq $6, %rsi
  633. subq %rcx, %r14
  634. testq %rcx, %rcx
  635. je ..B2.6
  636. ..B2.5:
  637. movq 16(%rbp), %rax
  638. movq %rax, %r8
  639. movq %rcx, %r9
  640. shlq %cl, %r8
  641. negq %r9
  642. movq %r8, 16(%rbp)
  643. movq 8(%rbp), %r8
  644. movq %r8, %r10
  645. shlq %cl, %r10
  646. movl %r9d, %ecx
  647. shrq %cl, %rax
  648. movl %r9d, %ecx
  649. orq %rax, %r10
  650. movq %r10, 8(%rbp)
  651. shrq %cl, %r8
  652. ..B2.6:
  653. movq %r8, (%rbp)
  654. lea (%rbp,%rsi,8), %rdi
  655. movq 8(%rdi), %rcx
  656. movq %rcx, %r9
  657. shrq $52, %r9
  658. xorl %r11d, %r11d
  659. testq %rsi, %rsi
  660. jl ..B2.19
  661. ..B2.7:
  662. xorl %eax, %eax
  663. lea 1(%rsi), %rdx
  664. movq %rdx, %rcx
  665. movl $1, %r8d
  666. shrq $63, %rcx
  667. xorl %r10d, %r10d
  668. lea 1(%rsi,%rcx), %rcx
  669. sarq $1, %rcx
  670. testq %rcx, %rcx
  671. jbe ..B2.15
  672. ..B2.8:
  673. movq (%rbp,%rsi,8), %r8
  674. movq %r8, (%rsp)
  675. movq $0xfffffffffffffff, %r8
  676. movq $0, 8(%rsp)
  677. movl %r15d, 32(%rsp)
  678. movq %r13, 16(%rsp)
  679. movq %rbp, 24(%rsp)
  680. movq %rcx, %rbp
  681. movq %r12, 40(%rsp)
  682. .cfi_offset 12, -56
  683. movq (%rsp), %r15
  684. movq 8(%rsp), %r13
  685. ..B2.9:
  686. movq %r8, %r12
  687. andq %r15, %r12
  688. shrq $60, %r15
  689. addq %r15, %r12
  690. addq %r9, %r12
  691. movq $0, (%rdi,%r13)
  692. addq $4, %r11
  693. movq -8(%rdi,%r13), %r15
  694. je ..B2.11
  695. ..B2.10:
  696. movl %r11d, %ecx
  697. movq %r15, %r9
  698. negq %r11
  699. addq $12, %r11
  700. shlq %cl, %r9
  701. movl %r11d, %ecx
  702. andq $4095, %r9
  703. negq %r11
  704. shrq %cl, %r15
  705. addq %r9, %r12
  706. ..B2.11:
  707. movq %r8, %r9
  708. incq %rax
  709. andq %r15, %r9
  710. addq $4, %r11
  711. shrq $60, %r15
  712. addq $-16, %r10
  713. addq %r15, %r9
  714. addq %r12, %r9
  715. movq $0, -8(%rdi,%r13)
  716. cmpq %rbp, %rax
  717. jae ..B2.14
  718. ..B2.12:
  719. movq (%r10,%rdi), %r15
  720. movq %r10, %r13
  721. testq %r11, %r11
  722. je ..B2.9
  723. ..B2.13:
  724. movl %r11d, %ecx
  725. movq %r15, %r12
  726. negq %r11
  727. addq $12, %r11
  728. shlq %cl, %r12
  729. movl %r11d, %ecx
  730. andq $4095, %r12
  731. negq %r11
  732. shrq %cl, %r15
  733. addq %r12, %r9
  734. jmp ..B2.9
  735. ..B2.14:
  736. movl 32(%rsp), %r15d
  737. lea 1(,%rax,2), %r8
  738. movq 24(%rsp), %rbp
  739. movq 16(%rsp), %r13
  740. movq 40(%rsp), %r12
  741. .cfi_restore 12
  742. ..B2.15:
  743. lea -1(%r8), %rax
  744. cmpq %rax, %rdx
  745. jbe ..B2.45
  746. ..B2.16:
  747. subq %r8, %rsi
  748. testq %r11, %r11
  749. movq 8(%rbp,%rsi,8), %rax
  750. je ..B2.18
  751. ..B2.17:
  752. movl %r11d, %ecx
  753. movq %rax, %r8
  754. negq %r11
  755. addq $12, %r11
  756. shlq %cl, %r8
  757. movl %r11d, %ecx
  758. andq $4095, %r8
  759. shrq %cl, %rax
  760. addq %r8, %r9
  761. ..B2.18:
  762. movq $0xfffffffffffffff, %rcx
  763. andq %rax, %rcx
  764. shrq $60, %rax
  765. movq $0, 8(%rbp,%rsi,8)
  766. addq %rax, %rcx
  767. addq %rcx, %r9
  768. movq 8(%rdi), %rcx
  769. ..B2.19:
  770. movq %r9, %rax
  771. shrq $12, %rax
  772. testq %rax, %rax
  773. je ..B2.23
  774. ..B2.21:
  775. andq $4095, %r9
  776. addq %rax, %r9
  777. movq %r9, %rax
  778. shrq $12, %rax
  779. testq %rax, %rax
  780. jne ..B2.21
  781. ..B2.23:
  782. movq $0xfffffffffffff, %rax
  783. xorl %esi, %esi
  784. shlq $52, %r9
  785. andq %rcx, %rax
  786. orq %r9, %rax
  787. movq %rax, 8(%rdi)
  788. movq %rbp, %rdi
  789. movl %r14d, 4(%rbp)
  790. ..___tag_value___dpml_ux_degree_reduce__.71:
  791. call __dpml_ffs_and_shift__@PLT
  792. ..___tag_value___dpml_ux_degree_reduce__.72:
  793. ..B2.24:
  794. subq %rax, %r14
  795. ..B2.25:
  796. movslq %r14d, %r14
  797. movl $0, (%rbp)
  798. addq $-5, %r14
  799. movq 8(%rbp), %r8
  800. jle ..B2.27
  801. ..B2.26:
  802. lea 256+__trig_x_table(%rip), %rsi
  803. movq %r8, %rax
  804. movl %r8d, %ecx
  805. xorl %r11d, %r11d
  806. movq %rcx, %r10
  807. shrq $32, %rax
  808. movq (%rsi), %rdx
  809. movl %edx, %r9d
  810. shrq $32, %rdx
  811. imulq %r9, %r10
  812. imulq %rdx, %rcx
  813. imulq %rax, %r9
  814. imulq %rax, %rdx
  815. shrq $32, %r10
  816. addq %rcx, %r10
  817. addq %r10, %r9
  818. cmpq %r10, %r9
  819. movq %r9, %rsi
  820. setb %r11b
  821. shrq $32, %rsi
  822. shlq $32, %r11
  823. addq %r11, %rsi
  824. addq %rdx, %rsi
  825. jmp ..B2.28
  826. ..B2.27:
  827. movl $1, %r14d
  828. xorl %esi, %esi
  829. ..B2.28:
  830. negq %r14
  831. movq %rbx, %rax
  832. andq $1, %rax
  833. incq %rax
  834. shrq $1, %rbx
  835. lea 63(%r14), %rcx
  836. shlq %cl, %rax
  837. addq %rsi, %rax
  838. movl %r14d, %ecx
  839. movl $1, %esi
  840. shlq %cl, %rsi
  841. movl %r14d, %ecx
  842. decq %rsi
  843. notq %rsi
  844. andq %rsi, %rax
  845. movq %r8, %rsi
  846. movq %rax, %r10
  847. andq $3, %r8
  848. shrq %cl, %r10
  849. movq $0x0b4000000, %rcx
  850. movl %eax, %r11d
  851. movq %r10, %r9
  852. imulq %rcx, %r11
  853. shrq $32, %rax
  854. negq %r9
  855. imulq %rax, %rcx
  856. shrq $2, %rsi
  857. testl %r15d, %r15d
  858. cmovne %r9, %r10
  859. shrq $32, %r11
  860. addq %r10, %rbx
  861. subq %r11, %rsi
  862. subq %rcx, %rsi
  863. lea (,%rsi,4), %rax
  864. orq %rax, %r8
  865. testq %rsi, %rsi
  866. jns ..B2.30
  867. ..B2.29:
  868. movq 16(%rbp), %rax
  869. movl $1, %ecx
  870. xorl %esi, %esi
  871. testq %rax, %rax
  872. cmovne %ecx, %esi
  873. movq %rax, %r9
  874. movslq %r15d, %r15
  875. negq %r9
  876. btcq $31, %r15
  877. addq %rsi, %r8
  878. movq %r9, 16(%rbp)
  879. negq %r8
  880. ..B2.30:
  881. movq %rbp, %rdi
  882. xorl %esi, %esi
  883. movq %r8, 8(%rbp)
  884. ..___tag_value___dpml_ux_degree_reduce__.73:
  885. call __dpml_ffs_and_shift__@PLT
  886. ..___tag_value___dpml_ux_degree_reduce__.74:
  887. ..B2.31:
  888. shlq $3, %rbx
  889. movq 8(%rbp), %rsi
  890. shrl $3, %ebx
  891. movl 4(%rbp), %ecx
  892. testq %rsi, %rsi
  893. jne ..B2.34
  894. ..B2.32:
  895. movq $0x2000000000000000, %rcx
  896. orq %rcx, %rbx
  897. testq $2, %rbx
  898. je ..B2.43
  899. ..B2.33:
  900. movslq (%rbp), %rcx
  901. btcq $31, %rcx
  902. movl %ecx, (%rbp)
  903. jmp ..B2.43
  904. ..B2.34:
  905. cmpl $5, %ecx
  906. jl ..B2.42
  907. ..B2.35:
  908. cmpq $0, 16(%rbp)
  909. jne ..B2.42
  910. ..B2.36:
  911. negl %ecx
  912. movq %rsi, %r9
  913. shrq %cl, %r9
  914. movq %r9, %r8
  915. shlq %cl, %r8
  916. cmpq %r8, %rsi
  917. jne ..B2.42
  918. ..B2.37:
  919. cmpq $30, %r9
  920. jne ..B2.41
  921. ..B2.38:
  922. testq $1, %rbx
  923. jne ..B2.42
  924. ..B2.39:
  925. movq $0x4000000000000000, %rcx
  926. xorl %r15d, (%rbp)
  927. orq %rcx, %rbx
  928. jmp ..B2.43
  929. ..B2.41:
  930. movq $0x8000000000000000, %rcx
  931. orq %rbx, %rcx
  932. cmpq $45, %r9
  933. cmove %rcx, %rbx
  934. ..B2.42:
  935. xorl %r15d, (%rbp)
  936. ..B2.43:
  937. movq %rbp, %rdi
  938. lea 216+__trig_x_table(%rip), %rsi
  939. movq %r13, %rdx
  940. ..___tag_value___dpml_ux_degree_reduce__.75:
  941. call __dpml_multiply__@PLT
  942. ..___tag_value___dpml_ux_degree_reduce__.76:
  943. ..B2.44:
  944. movq %rbx, %rax
  945. addq $48, %rsp
  946. .cfi_def_cfa_offset 48
  947. .cfi_restore 6
  948. popq %rbp
  949. .cfi_def_cfa_offset 40
  950. .cfi_restore 3
  951. popq %rbx
  952. .cfi_def_cfa_offset 32
  953. .cfi_restore 15
  954. popq %r15
  955. .cfi_def_cfa_offset 24
  956. .cfi_restore 14
  957. popq %r14
  958. .cfi_def_cfa_offset 16
  959. .cfi_restore 13
  960. popq %r13
  961. .cfi_def_cfa_offset 8
  962. ret
  963. .cfi_def_cfa_offset 96
  964. .cfi_offset 3, -40
  965. .cfi_offset 6, -48
  966. .cfi_offset 13, -16
  967. .cfi_offset 14, -24
  968. .cfi_offset 15, -32
  969. ..B2.45:
  970. movq 8(%rdi), %rcx
  971. jmp ..B2.19
  972. .align 16,0x90
  973. .cfi_endproc
  974. .type __dpml_ux_degree_reduce__,@function
  975. .size __dpml_ux_degree_reduce__,.-__dpml_ux_degree_reduce__
  976. .data
  977. # -- End __dpml_ux_degree_reduce__
  978. .text
  979. # -- Begin __dpml_ux_sincos
  980. .text
  981. .align 16,0x90
  982. .globl __dpml_ux_sincos
  983. __dpml_ux_sincos:
  984. # parameter 1: %rdi
  985. # parameter 2: %rsi
  986. # parameter 3: %rdx
  987. # parameter 4: %rcx
  988. ..B3.1:
  989. .cfi_startproc
  990. ..___tag_value___dpml_ux_sincos.95:
  991. ..L96:
  992. pushq %r12
  993. .cfi_def_cfa_offset 16
  994. .cfi_offset 12, -16
  995. pushq %r13
  996. .cfi_def_cfa_offset 24
  997. .cfi_offset 13, -24
  998. pushq %r14
  999. .cfi_def_cfa_offset 32
  1000. .cfi_offset 14, -32
  1001. pushq %r15
  1002. .cfi_def_cfa_offset 40
  1003. .cfi_offset 15, -40
  1004. pushq %rbx
  1005. .cfi_def_cfa_offset 48
  1006. .cfi_offset 3, -48
  1007. pushq %rbp
  1008. .cfi_def_cfa_offset 56
  1009. .cfi_offset 6, -56
  1010. subq $136, %rsp
  1011. .cfi_def_cfa_offset 192
  1012. movq %rdx, %r15
  1013. testq $16, %r15
  1014. lea __dpml_ux_degree_reduce__(%rip), %r10
  1015. lea __dpml_ux_radian_reduce__(%rip), %r9
  1016. movq %rcx, %r12
  1017. cmovne %r10, %r9
  1018. movq %rsi, %rbp
  1019. movq %fs:40, %rax
  1020. movq %rdi, %r13
  1021. xorq %rsp, %rax
  1022. movq %rax, 128(%rsp)
  1023. cmpq %r10, %r9
  1024. jne ..B3.54
  1025. ..B3.2:
  1026. movl 4(%r13), %ebx
  1027. cmpl $142, %ebx
  1028. movl (%r13), %r14d
  1029. jle ..B3.4
  1030. ..B3.3:
  1031. lea 264+__trig_x_table(%rip), %rax
  1032. movslq %ebx, %r9
  1033. addq $32641, %r9
  1034. movl %r9d, %ecx
  1035. movq (%rax), %r10
  1036. movq %rcx, %r11
  1037. movl %r10d, %esi
  1038. shrq $32, %r10
  1039. imulq %rsi, %r11
  1040. imulq %r10, %rcx
  1041. shrq $32, %r9
  1042. imulq %r9, %rsi
  1043. imulq %r9, %r10
  1044. shrq $32, %r11
  1045. addq %rcx, %r11
  1046. addq %rsi, %r11
  1047. shrq $32, %r11
  1048. addq %r10, %r11
  1049. lea (,%r11,8), %eax
  1050. lea (%rax,%r11,4), %eax
  1051. negl %eax
  1052. lea 32772(%rbx,%rax), %ebx
  1053. movl %ebx, 4(%r13)
  1054. ..B3.4:
  1055. cmpl $16, %ebx
  1056. jl ..B3.26
  1057. ..B3.5:
  1058. movslq %ebx, %rbx
  1059. xorl %r9d, %r9d
  1060. lea -15(%rbx), %rax
  1061. movq %rax, %rcx
  1062. andq $63, %rcx
  1063. sarq $6, %rax
  1064. subq %rcx, %rbx
  1065. testq %rcx, %rcx
  1066. je ..B3.7
  1067. ..B3.6:
  1068. movq 16(%r13), %rsi
  1069. movq %rsi, %r9
  1070. movq %rcx, %r10
  1071. shlq %cl, %r9
  1072. negq %r10
  1073. movq %r9, 16(%r13)
  1074. movq 8(%r13), %r9
  1075. movq %r9, %r11
  1076. shlq %cl, %r11
  1077. movl %r10d, %ecx
  1078. shrq %cl, %rsi
  1079. movl %r10d, %ecx
  1080. orq %rsi, %r11
  1081. movq %r11, 8(%r13)
  1082. shrq %cl, %r9
  1083. ..B3.7:
  1084. movq %r9, (%r13)
  1085. lea (%r13,%rax,8), %r8
  1086. movq 8(%r8), %rcx
  1087. movq %rcx, %rsi
  1088. shrq $52, %rsi
  1089. xorl %edx, %edx
  1090. testq %rax, %rax
  1091. jl ..B3.20
  1092. ..B3.8:
  1093. xorl %r10d, %r10d
  1094. lea 1(%rax), %rdi
  1095. movq %rdi, %rcx
  1096. movl $1, %r9d
  1097. shrq $63, %rcx
  1098. xorl %r11d, %r11d
  1099. lea 1(%rax,%rcx), %rcx
  1100. sarq $1, %rcx
  1101. testq %rcx, %rcx
  1102. jbe ..B3.16
  1103. ..B3.9:
  1104. movq (%r13,%rax,8), %r9
  1105. movq %r9, (%rsp)
  1106. movq $0xfffffffffffffff, %r9
  1107. movq $0, 8(%rsp)
  1108. movl %r14d, 24(%rsp)
  1109. movq %r13, 32(%rsp)
  1110. movq %rbx, 16(%rsp)
  1111. movq %rcx, %rbx
  1112. movq %r12, 40(%rsp)
  1113. movq (%rsp), %r14
  1114. movq 8(%rsp), %r13
  1115. ..B3.10:
  1116. movq %r9, %r12
  1117. andq %r14, %r12
  1118. shrq $60, %r14
  1119. addq %r14, %r12
  1120. addq %rsi, %r12
  1121. movq $0, (%r8,%r13)
  1122. addq $4, %rdx
  1123. movq -8(%r8,%r13), %r14
  1124. je ..B3.12
  1125. ..B3.11:
  1126. movl %edx, %ecx
  1127. movq %r14, %rsi
  1128. negq %rdx
  1129. addq $12, %rdx
  1130. shlq %cl, %rsi
  1131. movl %edx, %ecx
  1132. andq $4095, %rsi
  1133. negq %rdx
  1134. shrq %cl, %r14
  1135. addq %rsi, %r12
  1136. ..B3.12:
  1137. movq %r9, %rsi
  1138. incq %r10
  1139. andq %r14, %rsi
  1140. addq $4, %rdx
  1141. shrq $60, %r14
  1142. addq $-16, %r11
  1143. addq %r14, %rsi
  1144. addq %r12, %rsi
  1145. movq $0, -8(%r8,%r13)
  1146. cmpq %rbx, %r10
  1147. jae ..B3.15
  1148. ..B3.13:
  1149. movq (%r11,%r8), %r14
  1150. movq %r11, %r13
  1151. testq %rdx, %rdx
  1152. je ..B3.10
  1153. ..B3.14:
  1154. movl %edx, %ecx
  1155. movq %r14, %r12
  1156. negq %rdx
  1157. addq $12, %rdx
  1158. shlq %cl, %r12
  1159. movl %edx, %ecx
  1160. andq $4095, %r12
  1161. negq %rdx
  1162. shrq %cl, %r14
  1163. addq %r12, %rsi
  1164. jmp ..B3.10
  1165. ..B3.15:
  1166. movq 16(%rsp), %rbx
  1167. lea 1(,%r10,2), %r9
  1168. movl 24(%rsp), %r14d
  1169. movq 32(%rsp), %r13
  1170. movq 40(%rsp), %r12
  1171. ..B3.16:
  1172. lea -1(%r9), %rcx
  1173. cmpq %rcx, %rdi
  1174. jbe ..B3.69
  1175. ..B3.17:
  1176. subq %r9, %rax
  1177. testq %rdx, %rdx
  1178. movq 8(%r13,%rax,8), %r9
  1179. je ..B3.19
  1180. ..B3.18:
  1181. movl %edx, %ecx
  1182. movq %r9, %r10
  1183. negq %rdx
  1184. addq $12, %rdx
  1185. shlq %cl, %r10
  1186. movl %edx, %ecx
  1187. andq $4095, %r10
  1188. shrq %cl, %r9
  1189. addq %r10, %rsi
  1190. ..B3.19:
  1191. movq $0xfffffffffffffff, %rcx
  1192. andq %r9, %rcx
  1193. shrq $60, %r9
  1194. movq $0, 8(%r13,%rax,8)
  1195. addq %r9, %rcx
  1196. addq %rcx, %rsi
  1197. movq 8(%r8), %rcx
  1198. ..B3.20:
  1199. movq %rsi, %rax
  1200. shrq $12, %rax
  1201. testq %rax, %rax
  1202. je ..B3.24
  1203. ..B3.22:
  1204. andq $4095, %rsi
  1205. addq %rax, %rsi
  1206. movq %rsi, %rax
  1207. shrq $12, %rax
  1208. testq %rax, %rax
  1209. jne ..B3.22
  1210. ..B3.24:
  1211. movq $0xfffffffffffff, %rax
  1212. movq %r13, %rdi
  1213. shlq $52, %rsi
  1214. andq %rcx, %rax
  1215. orq %rsi, %rax
  1216. xorl %esi, %esi
  1217. movq %rax, 8(%r8)
  1218. movl %ebx, 4(%r13)
  1219. ..___tag_value___dpml_ux_sincos.110:
  1220. call __dpml_ffs_and_shift__@PLT
  1221. ..___tag_value___dpml_ux_sincos.111:
  1222. ..B3.25:
  1223. subq %rax, %rbx
  1224. ..B3.26:
  1225. movslq %ebx, %rbx
  1226. movl $0, (%r13)
  1227. addq $-5, %rbx
  1228. movq 8(%r13), %r9
  1229. jle ..B3.28
  1230. ..B3.27:
  1231. lea 256+__trig_x_table(%rip), %rsi
  1232. movq %r9, %rax
  1233. movl %r9d, %ecx
  1234. movq %rcx, %r11
  1235. shrq $32, %rax
  1236. movq (%rsi), %rdx
  1237. movl %edx, %r10d
  1238. shrq $32, %rdx
  1239. imulq %r10, %r11
  1240. imulq %rdx, %rcx
  1241. imulq %rax, %r10
  1242. imulq %rax, %rdx
  1243. shrq $32, %r11
  1244. addq %rcx, %r11
  1245. xorl %ecx, %ecx
  1246. addq %r11, %r10
  1247. cmpq %r11, %r10
  1248. movq %r10, %rsi
  1249. setb %cl
  1250. shrq $32, %rsi
  1251. shlq $32, %rcx
  1252. addq %rcx, %rsi
  1253. addq %rdx, %rsi
  1254. jmp ..B3.29
  1255. ..B3.28:
  1256. movl $1, %ebx
  1257. xorl %esi, %esi
  1258. ..B3.29:
  1259. negq %rbx
  1260. movq %rbp, %rax
  1261. andq $1, %rax
  1262. incq %rax
  1263. shrq $1, %rbp
  1264. lea 63(%rbx), %rcx
  1265. shlq %cl, %rax
  1266. addq %rsi, %rax
  1267. movl %ebx, %ecx
  1268. movl $1, %esi
  1269. shlq %cl, %rsi
  1270. movl %ebx, %ecx
  1271. decq %rsi
  1272. notq %rsi
  1273. andq %rsi, %rax
  1274. movq $0x0b4000000, %rsi
  1275. movq %rax, %r11
  1276. shrq %cl, %r11
  1277. movl %eax, %ecx
  1278. movq %r11, %r10
  1279. imulq %rsi, %rcx
  1280. shrq $32, %rax
  1281. negq %r10
  1282. imulq %rax, %rsi
  1283. testl %r14d, %r14d
  1284. cmovne %r10, %r11
  1285. movq %r9, %r10
  1286. shrq $2, %r10
  1287. andq $3, %r9
  1288. shrq $32, %rcx
  1289. addq %r11, %rbp
  1290. subq %rcx, %r10
  1291. subq %rsi, %r10
  1292. lea (,%r10,4), %rax
  1293. orq %rax, %r9
  1294. testq %r10, %r10
  1295. jns ..B3.31
  1296. ..B3.30:
  1297. movq 16(%r13), %rax
  1298. movl $1, %ecx
  1299. xorl %esi, %esi
  1300. testq %rax, %rax
  1301. cmovne %ecx, %esi
  1302. movq %rax, %r10
  1303. movslq %r14d, %r14
  1304. negq %r10
  1305. btcq $31, %r14
  1306. addq %rsi, %r9
  1307. movq %r10, 16(%r13)
  1308. negq %r9
  1309. ..B3.31:
  1310. movq %r13, %rdi
  1311. xorl %esi, %esi
  1312. movq %r9, 8(%r13)
  1313. ..___tag_value___dpml_ux_sincos.112:
  1314. call __dpml_ffs_and_shift__@PLT
  1315. ..___tag_value___dpml_ux_sincos.113:
  1316. ..B3.32:
  1317. shlq $3, %rbp
  1318. movq 8(%r13), %rax
  1319. shrl $3, %ebp
  1320. movl 4(%r13), %ecx
  1321. movl %ebp, %ebx
  1322. testq %rax, %rax
  1323. jne ..B3.35
  1324. ..B3.33:
  1325. movq $0x2000000000000000, %rax
  1326. orq %rax, %rbx
  1327. testq $2, %rbx
  1328. je ..B3.44
  1329. ..B3.34:
  1330. movslq (%r13), %rax
  1331. btcq $31, %rax
  1332. movl %eax, (%r13)
  1333. jmp ..B3.44
  1334. ..B3.35:
  1335. cmpl $5, %ecx
  1336. jl ..B3.43
  1337. ..B3.36:
  1338. cmpq $0, 16(%r13)
  1339. jne ..B3.43
  1340. ..B3.37:
  1341. negl %ecx
  1342. movq %rax, %rsi
  1343. shrq %cl, %rsi
  1344. movq %rsi, %rdx
  1345. shlq %cl, %rdx
  1346. cmpq %rdx, %rax
  1347. jne ..B3.43
  1348. ..B3.38:
  1349. cmpq $30, %rsi
  1350. jne ..B3.42
  1351. ..B3.39:
  1352. testq $1, %rbx
  1353. jne ..B3.43
  1354. ..B3.40:
  1355. movq $0x4000000000000000, %rax
  1356. xorl %r14d, (%r13)
  1357. orq %rax, %rbx
  1358. jmp ..B3.44
  1359. ..B3.42:
  1360. movq $0x8000000000000000, %rax
  1361. orq %rbx, %rax
  1362. cmpq $45, %rsi
  1363. cmove %rax, %rbx
  1364. ..B3.43:
  1365. xorl %r14d, (%r13)
  1366. ..B3.44:
  1367. movq %r13, %rdi
  1368. lea 216+__trig_x_table(%rip), %rsi
  1369. lea (%rsp), %rdx
  1370. ..___tag_value___dpml_ux_sincos.114:
  1371. call __dpml_multiply__@PLT
  1372. ..___tag_value___dpml_ux_sincos.115:
  1373. ..B3.46:
  1374. andq $-17, %r15
  1375. movl $3, %ecx
  1376. movl $1, %eax
  1377. cmpq $3, %r15
  1378. movq %rbx, %rdx
  1379. cmove %rax, %rcx
  1380. xorl %r13d, %r13d
  1381. movl $1, %esi
  1382. sarq $61, %rdx
  1383. testq %rcx, %rdx
  1384. movq %rbx, %rcx
  1385. cmove %esi, %r13d
  1386. andq $1, %rcx
  1387. cmpq $3, %r15
  1388. je ..B3.68
  1389. ..B3.47:
  1390. movl $1216, %edx
  1391. testq %rcx, %rcx
  1392. movl $1038, %ecx
  1393. cmovne %rdx, %rcx
  1394. ..B3.48:
  1395. lea 272+__trig_x_table(%rip), %rsi
  1396. lea (%rsp), %rdi
  1397. movl $13, %edx
  1398. movq %r12, %r8
  1399. ..___tag_value___dpml_ux_sincos.116:
  1400. call __dpml_evaluate_rational__@PLT
  1401. ..___tag_value___dpml_ux_sincos.117:
  1402. ..B3.49:
  1403. testq $2, %rbx
  1404. je ..B3.51
  1405. ..B3.50:
  1406. movslq (%r12), %rdx
  1407. btcq $31, %rdx
  1408. movl %edx, (%r12)
  1409. ..B3.51:
  1410. cmpq $3, %r15
  1411. je ..B3.64
  1412. ..B3.52:
  1413. movq 128(%rsp), %rdx
  1414. xorq %rsp, %rdx
  1415. cmpq %fs:40, %rdx
  1416. jne ..B3.63
  1417. ..B3.53:
  1418. movq %r13, %rax
  1419. addq $136, %rsp
  1420. .cfi_def_cfa_offset 56
  1421. .cfi_restore 6
  1422. popq %rbp
  1423. .cfi_def_cfa_offset 48
  1424. .cfi_restore 3
  1425. popq %rbx
  1426. .cfi_def_cfa_offset 40
  1427. .cfi_restore 15
  1428. popq %r15
  1429. .cfi_def_cfa_offset 32
  1430. .cfi_restore 14
  1431. popq %r14
  1432. .cfi_def_cfa_offset 24
  1433. .cfi_restore 13
  1434. popq %r13
  1435. .cfi_def_cfa_offset 16
  1436. .cfi_restore 12
  1437. popq %r12
  1438. .cfi_def_cfa_offset 8
  1439. ret
  1440. .cfi_def_cfa_offset 192
  1441. .cfi_offset 3, -48
  1442. .cfi_offset 6, -56
  1443. .cfi_offset 12, -16
  1444. .cfi_offset 13, -24
  1445. .cfi_offset 14, -32
  1446. .cfi_offset 15, -40
  1447. ..B3.54:
  1448. movq 8(%r13), %r11
  1449. movq 16(%r13), %rax
  1450. movl (%r13), %ecx
  1451. movq %r11, 88(%rsp)
  1452. movslq 4(%r13), %r11
  1453. testq %r11, %r11
  1454. movq %rax, 112(%rsp)
  1455. movl %ecx, 56(%rsp)
  1456. jl ..B3.81
  1457. ..B3.55:
  1458. addq $8, %r11
  1459. movq %r11, %rsi
  1460. sarq $6, %rsi
  1461. movq __four_over_pi@GOTPCREL(%rip), %rax
  1462. movq %rsi, 64(%rsp)
  1463. lea (%rax,%rsi,8), %r10
  1464. movq 32(%r10), %rcx
  1465. movq (%r10), %r9
  1466. movq 8(%r10), %rsi
  1467. movq 16(%r10), %rax
  1468. movq 24(%r10), %rdi
  1469. addq $40, %r10
  1470. movq %rcx, 8(%rsp)
  1471. andq $63, %r11
  1472. movq %r10, (%rsp)
  1473. je ..B3.57
  1474. ..B3.56:
  1475. movq %r11, %r10
  1476. movl %r11d, %ecx
  1477. negq %r10
  1478. movq %rsi, %r13
  1479. movq %r10, 64(%rsp)
  1480. movq %rax, %r14
  1481. shlq %cl, %r9
  1482. movl %r10d, %ecx
  1483. shrq %cl, %r13
  1484. movl %r11d, %ecx
  1485. shlq %cl, %rsi
  1486. movl %r10d, %ecx
  1487. shrq %cl, %r14
  1488. movl %r11d, %ecx
  1489. shlq %cl, %rax
  1490. orq %r13, %r9
  1491. movl %r10d, %ecx
  1492. movq %rdi, %r13
  1493. shrq %cl, %r13
  1494. movl %r11d, %ecx
  1495. shlq %cl, %rdi
  1496. movl %r10d, %ecx
  1497. orq %r13, %rax
  1498. orq %r14, %rsi
  1499. movq 8(%rsp), %r13
  1500. shrq %cl, %r13
  1501. orq %r13, %rdi
  1502. ..B3.57:
  1503. movl %edi, %edx
  1504. movq %r11, 120(%rsp)
  1505. movq %rdx, %r13
  1506. movq 112(%rsp), %r11
  1507. movq %r11, %r8
  1508. movq %r9, 24(%rsp)
  1509. movq %r11, %r9
  1510. movq %r15, 16(%rsp)
  1511. movq %rdx, %r15
  1512. movl %r11d, %ebx
  1513. movq %rbp, 32(%rsp)
  1514. movq %rdi, %rbp
  1515. shrq $32, %r9
  1516. movq %rbx, %r10
  1517. imulq %rbx, %r15
  1518. imulq %r9, %r13
  1519. imulq %rdi, %r8
  1520. shrq $32, %rbp
  1521. movq %r9, %r14
  1522. imulq %rbp, %r10
  1523. imulq %rbp, %r14
  1524. shrq $32, %r15
  1525. addq %r13, %r15
  1526. addq %r15, %r10
  1527. cmpq %r15, %r10
  1528. movq %r10, %r13
  1529. movq %r12, 40(%rsp)
  1530. movl $0, %r12d
  1531. setb %r12b
  1532. shrq $32, %r13
  1533. shlq $32, %r12
  1534. movq 88(%rsp), %r10
  1535. addq %r12, %r13
  1536. movq %r8, 48(%rsp)
  1537. movq %r10, %r8
  1538. movl %r10d, %ecx
  1539. movq %rdx, %r12
  1540. shrq $32, %r8
  1541. movq %rcx, %r15
  1542. imulq %rcx, %r12
  1543. imulq %r8, %rdx
  1544. imulq %rbp, %r15
  1545. imulq %r10, %rdi
  1546. imulq %r8, %rbp
  1547. shrq $32, %r12
  1548. addq %r14, %r13
  1549. addq %rdx, %r12
  1550. addq %rdi, %r13
  1551. addq %r12, %r15
  1552. cmpq %r12, %r15
  1553. movq %r15, %rdx
  1554. movl $0, %r15d
  1555. setb %r15b
  1556. cmpq %rdi, %r13
  1557. movl $0, %edi
  1558. setb %dil
  1559. shrq $32, %rdx
  1560. shlq $32, %r15
  1561. addq %r15, %rdx
  1562. movq %r11, %r15
  1563. addq %rbp, %rdx
  1564. addq %rdi, %rdx
  1565. movq %rax, %rbp
  1566. movl %eax, %edi
  1567. movq %rdi, %r14
  1568. movq %rdi, %r12
  1569. imulq %rbx, %r14
  1570. imulq %r9, %r12
  1571. imulq %rax, %r15
  1572. imulq %r10, %rax
  1573. shrq $32, %rbp
  1574. addq %r15, %r13
  1575. movq %rbx, 96(%rsp)
  1576. imulq %rbp, %rbx
  1577. shrq $32, %r14
  1578. addq %r12, %r14
  1579. addq %r14, %rbx
  1580. cmpq %r14, %rbx
  1581. movl $0, %r14d
  1582. movq %rbx, %r12
  1583. movq %r9, %rbx
  1584. setb %r14b
  1585. cmpq %r15, %r13
  1586. movl $0, %r15d
  1587. movq %rcx, 72(%rsp)
  1588. setb %r15b
  1589. imulq %rbp, %rbx
  1590. shrq $32, %r12
  1591. shlq $32, %r14
  1592. addq %r14, %r12
  1593. movq %rdi, %r14
  1594. imulq %rcx, %r14
  1595. imulq %r8, %rdi
  1596. imulq %rbp, %rcx
  1597. imulq %r8, %rbp
  1598. addq %rbx, %r12
  1599. addq %r15, %rdx
  1600. xorl %ebx, %ebx
  1601. cmpq %r15, %rdx
  1602. movq %r9, 104(%rsp)
  1603. setb %bl
  1604. addq %r12, %rdx
  1605. cmpq %r12, %rdx
  1606. movl $0, %r12d
  1607. setb %r12b
  1608. addq %rax, %rdx
  1609. shrq $32, %r14
  1610. addq %rdi, %r14
  1611. xorl %edi, %edi
  1612. addq %r14, %rcx
  1613. addq %r12, %rbx
  1614. xorl %r12d, %r12d
  1615. cmpq %r14, %rcx
  1616. movq %rcx, %r15
  1617. setb %r12b
  1618. cmpq %rax, %rdx
  1619. movl $0, %eax
  1620. setb %al
  1621. movq %r11, %r14
  1622. shrq $32, %r15
  1623. shlq $32, %r12
  1624. addq %r12, %r15
  1625. movq %rsi, %r12
  1626. addq %rbp, %r15
  1627. addq %rax, %r15
  1628. addq %rbx, %r15
  1629. movl %esi, %ebx
  1630. movq %rbx, %rbp
  1631. movq 96(%rsp), %rcx
  1632. imulq %rcx, %rbp
  1633. imulq %r9, %rbx
  1634. imulq %rsi, %r14
  1635. imulq %r10, %rsi
  1636. shrq $32, %r12
  1637. addq %r14, %rdx
  1638. imulq %r12, %rcx
  1639. imulq %r9, %r12
  1640. shrq $32, %rbp
  1641. addq %r15, %rsi
  1642. addq %rbx, %rbp
  1643. xorl %ebx, %ebx
  1644. addq %rbp, %rcx
  1645. cmpq %rbp, %rcx
  1646. movq %rcx, %rax
  1647. movq 32(%rsp), %rcx
  1648. setb %dil
  1649. cmpq %r14, %rdx
  1650. setb %bl
  1651. xorl %r14d, %r14d
  1652. shrq $32, %rax
  1653. shlq $32, %rdi
  1654. addq %rdi, %rax
  1655. addq %r12, %rax
  1656. addq %rax, %rbx
  1657. movq %rcx, %rax
  1658. addq %rsi, %rbx
  1659. negq %rax
  1660. movq 24(%rsp), %rsi
  1661. imulq %r11, %rsi
  1662. cmpl $0, 56(%rsp)
  1663. movq %r8, 80(%rsp)
  1664. cmovne %rax, %rcx
  1665. addq %rsi, %rbx
  1666. shlq $61, %rcx
  1667. movq 120(%rsp), %r11
  1668. addq %rcx, %rbx
  1669. movq 48(%rsp), %r10
  1670. movq (%rsp), %r8
  1671. movq 8(%rsp), %r9
  1672. jmp ..B3.58
  1673. ..B3.62:
  1674. movq $0xe000000000000000, %rax
  1675. addq $64, %r14
  1676. andq %rbx, %rax
  1677. movq $0x1fffffffffffffff, %rbx
  1678. andq %rdx, %rbx
  1679. movq %r13, %rdx
  1680. orq %rax, %rbx
  1681. movq %r10, %r13
  1682. movq %rcx, %r10
  1683. ..B3.58:
  1684. movq $0x40000000000000, %rax
  1685. movq $0x3f80000000000000, %rsi
  1686. lea (%rax,%rbx), %rcx
  1687. testq %rsi, %rcx
  1688. jne ..B3.70
  1689. ..B3.59:
  1690. movq %r9, %rdi
  1691. movq 120(%rsp), %rax
  1692. movl %eax, %ecx
  1693. movq %rdi, %r12
  1694. movq (%r8), %r9
  1695. movq %r9, %rsi
  1696. shlq %cl, %r12
  1697. addq $8, %r8
  1698. movq 64(%rsp), %rcx
  1699. movq 96(%rsp), %rbp
  1700. movq %rbp, %r15
  1701. shrq %cl, %rsi
  1702. orq %rsi, %r12
  1703. testq %rax, %rax
  1704. movq 104(%rsp), %r11
  1705. cmovne %r12, %rdi
  1706. movq %r11, %r12
  1707. movl %edi, %eax
  1708. movq %rdi, %rsi
  1709. imulq %rax, %r15
  1710. imulq %rax, %r12
  1711. shrq $32, %rsi
  1712. imulq %rsi, %rbp
  1713. imulq %rsi, %r11
  1714. shrq $32, %r15
  1715. addq %r12, %r15
  1716. addq %r15, %rbp
  1717. cmpq %r15, %rbp
  1718. movl $0, %r15d
  1719. movq %rbp, %r12
  1720. setb %r15b
  1721. shrq $32, %r12
  1722. shlq $32, %r15
  1723. addq %r15, %r12
  1724. addq %r11, %r12
  1725. movq 72(%rsp), %r11
  1726. movq %r11, %rbp
  1727. imulq %rax, %rbp
  1728. movq 80(%rsp), %r15
  1729. addq %r12, %r10
  1730. imulq %r15, %rax
  1731. shrq $32, %rbp
  1732. cmpq %r12, %r10
  1733. movq 112(%rsp), %rcx
  1734. movl $0, %r12d
  1735. setb %r12b
  1736. addq %rax, %rbp
  1737. movq %r11, %rax
  1738. imulq %rsi, %rax
  1739. imulq %rdi, %rcx
  1740. imulq 88(%rsp), %rdi
  1741. imulq %r15, %rsi
  1742. addq %rbp, %rax
  1743. addq %r12, %r13
  1744. movq %rax, %r11
  1745. cmpq %r12, %r13
  1746. movl $0, %r12d
  1747. setb %r12b
  1748. cmpq %rbp, %rax
  1749. movl $0, %eax
  1750. setb %al
  1751. addq %rdi, %r10
  1752. cmpq %rdi, %r10
  1753. movl $0, %edi
  1754. setb %dil
  1755. shrq $32, %r11
  1756. shlq $32, %rax
  1757. addq %rax, %r11
  1758. addq %rdi, %r13
  1759. addq %rsi, %r11
  1760. xorl %eax, %eax
  1761. cmpq %rdi, %r13
  1762. setb %al
  1763. addq %r11, %r13
  1764. cmpq %r11, %r13
  1765. movl $0, %r11d
  1766. setb %r11b
  1767. addl %r12d, %eax
  1768. addl %r11d, %eax
  1769. je ..B3.61
  1770. ..B3.60:
  1771. incq %rdx
  1772. lea 1(%rbx), %rax
  1773. cmove %rax, %rbx
  1774. ..B3.61:
  1775. movq %rdx, %rdi
  1776. movq %rbx, %rax
  1777. shrq $55, %rdi
  1778. shlq $9, %rax
  1779. orq %rax, %rdi
  1780. movq %rdi, %rsi
  1781. sarq $63, %rsi
  1782. cmpq %rdi, %rsi
  1783. jne ..B3.70
  1784. jmp ..B3.62
  1785. ..B3.63:
  1786. call __stack_chk_fail@PLT
  1787. ..B3.64:
  1788. cmpq $0, 32(%r12)
  1789. jne ..B3.66
  1790. ..B3.65:
  1791. movl $0, 24(%r12)
  1792. jmp ..B3.52
  1793. ..B3.66:
  1794. incq %rbx
  1795. testq $2, %rbx
  1796. je ..B3.52
  1797. ..B3.67:
  1798. movslq 24(%r12), %rdx
  1799. btcq $31, %rdx
  1800. movl %edx, 24(%r12)
  1801. jmp ..B3.52
  1802. ..B3.68:
  1803. shlq $9, %rcx
  1804. orq $462, %rcx
  1805. jmp ..B3.48
  1806. ..B3.69:
  1807. movq 8(%r8), %rcx
  1808. jmp ..B3.20
  1809. ..B3.70:
  1810. movq 16(%rsp), %r15
  1811. movq 40(%rsp), %r12
  1812. ..B3.71:
  1813. lea (,%rbx,4), %rcx
  1814. sarq $2, %rcx
  1815. movq %rcx, %rax
  1816. subq %rcx, %rbx
  1817. sarq $63, %rax
  1818. movq %rcx, %rsi
  1819. cmpq %rax, %rcx
  1820. jne ..B3.73
  1821. ..B3.72:
  1822. movq %rdx, %rcx
  1823. movq %r13, %rdx
  1824. movq %r10, %r13
  1825. addq $64, %r14
  1826. ..B3.73:
  1827. movl $-2147483648, %eax
  1828. testq %rsi, %rsi
  1829. movl $0, %esi
  1830. cmovge %esi, %eax
  1831. testl %eax, %eax
  1832. je ..B3.75
  1833. ..B3.74:
  1834. notq %r13
  1835. movl $1, %edi
  1836. incq %r13
  1837. notq %rdx
  1838. cmove %edi, %esi
  1839. xorl %r9d, %r9d
  1840. notq %rcx
  1841. addq %rsi, %rdx
  1842. cmove %edi, %r9d
  1843. addq %r9, %rcx
  1844. ..B3.75:
  1845. movq %rbx, %r9
  1846. lea (%rsp), %rdi
  1847. movl 56(%rdi), %r10d
  1848. negq %r9
  1849. testl %r10d, %r10d
  1850. movl $3, 4(%rdi)
  1851. movq %rcx, 8(%rdi)
  1852. cmovne %r9, %rbx
  1853. xorl %esi, %esi
  1854. xorl %r10d, %eax
  1855. movl %eax, (%rdi)
  1856. movq %rdx, 16(%rdi)
  1857. ..___tag_value___dpml_ux_sincos.138:
  1858. call __dpml_ffs_and_shift__@PLT
  1859. ..___tag_value___dpml_ux_sincos.139:
  1860. ..B3.76:
  1861. movslq 4(%rsp), %rax
  1862. movq %rax, %rcx
  1863. addq $-3, %rcx
  1864. je ..B3.78
  1865. ..B3.77:
  1866. shrq %cl, %r13
  1867. orq %r13, 16(%rsp)
  1868. ..B3.78:
  1869. lea 1008+__trig_x_table(%rip), %rsi
  1870. lea (%rsp), %rdi
  1871. movq %rdi, %rdx
  1872. subq %r14, %rax
  1873. movl %eax, 4(%rdi)
  1874. ..___tag_value___dpml_ux_sincos.140:
  1875. call __dpml_multiply__@PLT
  1876. ..___tag_value___dpml_ux_sincos.141:
  1877. ..B3.79:
  1878. shrq $62, %rbx
  1879. jmp ..B3.46
  1880. ..B3.81:
  1881. movl %ecx, %eax
  1882. sarl $31, %eax
  1883. movslq %eax, %rax
  1884. addq %rbp, %rax
  1885. movq %rax, %rcx
  1886. andq $1, %rcx
  1887. addq %rcx, %rax
  1888. movq %rax, %rbx
  1889. sarq $1, %rbx
  1890. subq %rax, %rbp
  1891. je ..B3.83
  1892. ..B3.82:
  1893. shrq $63, %rbp
  1894. movq %r13, %rdi
  1895. lea 1008+__trig_x_table(%rip), %rsi
  1896. movq %rbp, %rdx
  1897. lea (%rsp), %rcx
  1898. ..___tag_value___dpml_ux_sincos.142:
  1899. call __dpml_addsub__@PLT
  1900. ..___tag_value___dpml_ux_sincos.143:
  1901. jmp ..B3.46
  1902. ..B3.83:
  1903. movl 56(%rsp), %eax
  1904. movq 88(%rsp), %rdx
  1905. movq 112(%rsp), %rcx
  1906. movl %eax, (%rsp)
  1907. movl %r11d, 4(%rsp)
  1908. movq %rdx, 8(%rsp)
  1909. movq %rcx, 16(%rsp)
  1910. jmp ..B3.46
  1911. .align 16,0x90
  1912. .cfi_endproc
  1913. .type __dpml_ux_sincos,@function
  1914. .size __dpml_ux_sincos,.-__dpml_ux_sincos
  1915. .data
  1916. # -- End __dpml_ux_sincos
  1917. .section .rodata, "a"
  1918. .align 16
  1919. .align 16
  1920. __trig_x_table:
  1921. .long 15442952
  1922. .long 1678786816
  1923. .long 15709192
  1924. .long 1414612240
  1925. .long 15975432
  1926. .long 1141915904
  1927. .long 16241672
  1928. .long 873463808
  1929. .long 16507912
  1930. .long 609305872
  1931. .long 16774152
  1932. .long 336592896
  1933. .long 2
  1934. .long 0
  1935. .long 103
  1936. .long 0
  1937. .long 22
  1938. .long 0
  1939. .long 104
  1940. .long 0
  1941. .long 107
  1942. .long 0
  1943. .long 23
  1944. .long 0
  1945. .long 105
  1946. .long 0
  1947. .long 15176712
  1948. .long 336609536
  1949. .long 115
  1950. .long 0
  1951. .long 15176712
  1952. .long 336592896
  1953. .long 118
  1954. .long 0
  1955. .long 15176712
  1956. .long 519700480
  1957. .long 28
  1958. .long 0
  1959. .long 29
  1960. .long 0
  1961. .long 30
  1962. .long 0
  1963. .long 15176712
  1964. .long 528281504
  1965. .long 34
  1966. .long 0
  1967. .long 32
  1968. .long 0
  1969. .long 33
  1970. .long 0
  1971. .long 35
  1972. .long 0
  1973. .long 36
  1974. .long 0
  1975. .long 0
  1976. .long 4294967291
  1977. .long 2498349230
  1978. .long 2398762258
  1979. .long 2491794649
  1980. .long 247854702
  1981. .long 0
  1982. .long 0
  1983. .long 0
  1984. .long 1073676288
  1985. .long 95443718
  1986. .long 1527099483
  1987. .long 1431655766
  1988. .long 357913941
  1989. .long 2657305954
  1990. .long 3
  1991. .long 0
  1992. .long 0
  1993. .long 3705764381
  1994. .long 2553
  1995. .long 0
  1996. .long 0
  1997. .long 138031221
  1998. .long 1532340
  1999. .long 0
  2000. .long 0
  2001. .long 2983678984
  2002. .long 775364077
  2003. .long 0
  2004. .long 0
  2005. .long 20739419
  2006. .long 3530365445
  2007. .long 75
  2008. .long 0
  2009. .long 674366505
  2010. .long 499172021
  2011. .long 25931
  2012. .long 0
  2013. .long 1191312077
  2014. .long 2630803580
  2015. .long 7053263
  2016. .long 0
  2017. .long 2382099329
  2018. .long 2712937970
  2019. .long 1481185358
  2020. .long 0
  2021. .long 2412211635
  2022. .long 2311528398
  2023. .long 3431649258
  2024. .long 53
  2025. .long 3364759590
  2026. .long 865053377
  2027. .long 3819263687
  2028. .long 5917
  2029. .long 1745256079
  2030. .long 2154301056
  2031. .long 109078534
  2032. .long 426088
  2033. .long 286331142
  2034. .long 286331153
  2035. .long 286331153
  2036. .long 17895697
  2037. .long 1431655765
  2038. .long 1431655765
  2039. .long 1431655765
  2040. .long 357913941
  2041. .long 0
  2042. .long 0
  2043. .long 0
  2044. .long 2147483648
  2045. .long 1
  2046. .long 0
  2047. .long 2851833826
  2048. .long 97
  2049. .long 0
  2050. .long 0
  2051. .long 1768459388
  2052. .long 63846
  2053. .long 0
  2054. .long 0
  2055. .long 2009193996
  2056. .long 35243820
  2057. .long 0
  2058. .long 0
  2059. .long 1368406537
  2060. .long 3397743743
  2061. .long 3
  2062. .long 0
  2063. .long 3946395699
  2064. .long 2652434014
  2065. .long 1440
  2066. .long 0
  2067. .long 2553743692
  2068. .long 4190957063
  2069. .long 440828
  2070. .long 0
  2071. .long 595011843
  2072. .long 807348040
  2073. .long 105798954
  2074. .long 0
  2075. .long 883371940
  2076. .long 908455249
  2077. .long 2075540478
  2078. .long 4
  2079. .long 761938407
  2080. .long 3951975904
  2081. .long 3388403475
  2082. .long 591
  2083. .long 217841633
  2084. .long 3490513104
  2085. .long 13634816
  2086. .long 53261
  2087. .long 3626846480
  2088. .long 2195205506
  2089. .long 763549741
  2090. .long 2982616
  2091. .long 1431655403
  2092. .long 1431655765
  2093. .long 1431655765
  2094. .long 89478485
  2095. .long 4294967292
  2096. .long 4294967295
  2097. .long 4294967295
  2098. .long 1073741823
  2099. .long 0
  2100. .long 0
  2101. .long 0
  2102. .long 2147483648
  2103. .long 1
  2104. .long 0
  2105. .long 0
  2106. .long 0
  2107. .long 0
  2108. .long 0
  2109. .long 2877741414
  2110. .long 48456580
  2111. .long 4555740
  2112. .long 0
  2113. .long 3312728015
  2114. .long 4268104823
  2115. .long 3744444631
  2116. .long 1
  2117. .long 6483522
  2118. .long 3858350617
  2119. .long 1187701358
  2120. .long 879
  2121. .long 3780777519
  2122. .long 2626127639
  2123. .long 2801410624
  2124. .long 158172
  2125. .long 3864078256
  2126. .long 3316933375
  2127. .long 1275824684
  2128. .long 11667904
  2129. .long 1744149096
  2130. .long 2725495384
  2131. .long 3617949641
  2132. .long 318163395
  2133. .long 0
  2134. .long 0
  2135. .long 0
  2136. .long 2147483648
  2137. .long 1
  2138. .long 0
  2139. .long 3422290646
  2140. .long 426546810
  2141. .long 43450
  2142. .long 0
  2143. .long 3479121894
  2144. .long 3493673009
  2145. .long 236644653
  2146. .long 0
  2147. .long 4247003031
  2148. .long 1084451344
  2149. .long 1285072157
  2150. .long 46
  2151. .long 1927283714
  2152. .long 2972340862
  2153. .long 2243521359
  2154. .long 13184
  2155. .long 739625925
  2156. .long 4125699428
  2157. .long 1446479475
  2158. .long 1522115
  2159. .long 2250255868
  2160. .long 2030226330
  2161. .long 3149913922
  2162. .long 70000510
  2163. .long 312493331
  2164. .long 1293839619
  2165. .long 2186293876
  2166. .long 1033991278
  2167. .long 0
  2168. .long 0
  2169. .long 0
  2170. .long 2147483648
  2171. .long 1
  2172. .long 0
  2173. .long 0
  2174. .long 0
  2175. .long 560513588
  2176. .long 3373259426
  2177. .long 2161908945
  2178. .long 3301335691
  2179. .long 0
  2180. .long 0
  2181. .type __trig_x_table,@object
  2182. .size __trig_x_table,1040
  2183. .data
  2184. .section .note.GNU-stack, ""
  2185. // -- Begin DWARF2 SEGMENT .eh_frame
  2186. .section .eh_frame,"a",@progbits
  2187. .eh_frame_seg:
  2188. .align 1
  2189. # End