dpml_ux_trig.S 108 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138
  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: 176 + %esp
  45. # parameter 2: 180 + %esp
  46. # parameter 3: 188 + %esp
  47. ..B1.1:
  48. ..L1:
  49. pushl %esi
  50. pushl %edi
  51. pushl %ebx
  52. pushl %ebp
  53. subl $156, %esp
  54. call ..L2
  55. ..L2:
  56. popl %eax
  57. lea _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
  58. movl %eax, 76(%esp)
  59. movl 176(%esp), %eax
  60. movl 8(%eax), %edx
  61. movl 12(%eax), %ecx
  62. movl %edx, 108(%esp)
  63. movl %ecx, 104(%esp)
  64. movl 16(%eax), %edx
  65. movl 20(%eax), %ecx
  66. movl 4(%eax), %ebp
  67. testl %ebp, %ebp
  68. movl (%eax), %ebx
  69. movl %edx, 128(%esp)
  70. movl %ecx, 132(%esp)
  71. movl %ebp, 112(%esp)
  72. movl %ebx, 80(%esp)
  73. jl ..B1.120
  74. ..B1.2:
  75. movl %ebp, %eax
  76. xorl %ebp, %ebp
  77. cltd
  78. addl $8, %eax
  79. movl %eax, %edi
  80. adcl $0, %edx
  81. andl $63, %eax
  82. movl 76(%esp), %ebx
  83. shll $26, %edx
  84. shrl $6, %edi
  85. orl %edx, %edi
  86. movl __four_over_pi@GOT(%ebx), %esi
  87. movl %edi, 72(%esp)
  88. movl %eax, 112(%esp)
  89. lea (%esi,%edi,8), %ecx
  90. movl (%ecx), %ebx
  91. movl 4(%ecx), %esi
  92. movl %ebx, 60(%esp)
  93. movl %esi, 56(%esp)
  94. movl 8(%ecx), %edx
  95. movl 12(%ecx), %edi
  96. movl 16(%ecx), %ebx
  97. movl 20(%ecx), %esi
  98. movl %edx, 68(%esp)
  99. movl %edi, 64(%esp)
  100. movl %ebx, 36(%esp)
  101. movl %esi, 32(%esp)
  102. movl 24(%ecx), %ebx
  103. movl 28(%ecx), %esi
  104. movl 32(%ecx), %edx
  105. movl 36(%ecx), %edi
  106. addl $40, %ecx
  107. movl %edx, 120(%esp)
  108. orl %eax, %ebp
  109. movl %edi, 124(%esp)
  110. movl %ecx, 116(%esp)
  111. je ..B1.28
  112. ..B1.3:
  113. movl %eax, %ecx
  114. movl %ecx, %edx
  115. negl %edx
  116. addl $64, %edx
  117. movl %edx, 72(%esp)
  118. cmpl $31, %ecx
  119. jbe ..B1.5
  120. ..B1.4:
  121. xorl %edx, %edx
  122. movl 60(%esp), %ebp
  123. shll %cl, %ebp
  124. movl %ebp, 56(%esp)
  125. jmp ..B1.6
  126. ..B1.5:
  127. movl 56(%esp), %ebp
  128. movl 60(%esp), %edx
  129. shldl %cl, %edx, %ebp
  130. movl %ebp, 56(%esp)
  131. shll %cl, %edx
  132. ..B1.6:
  133. cmpl $31, 72(%esp)
  134. jbe ..B1.8
  135. ..B1.7:
  136. movl 72(%esp), %ecx
  137. xorl %ebp, %ebp
  138. movl 64(%esp), %edi
  139. shrl %cl, %edi
  140. movl %edi, 60(%esp)
  141. jmp ..B1.9
  142. ..B1.8:
  143. movl 72(%esp), %ecx
  144. movl 68(%esp), %edi
  145. movl 64(%esp), %ebp
  146. shrdl %cl, %ebp, %edi
  147. movl %edi, 60(%esp)
  148. shrl %cl, %ebp
  149. ..B1.9:
  150. orl %edx, 60(%esp)
  151. orl %ebp, 56(%esp)
  152. cmpl $31, 112(%esp)
  153. jbe ..B1.11
  154. ..B1.10:
  155. movl %eax, %ecx
  156. xorl %edx, %edx
  157. movl 68(%esp), %ebp
  158. shll %cl, %ebp
  159. movl %ebp, 64(%esp)
  160. jmp ..B1.12
  161. ..B1.11:
  162. movl %eax, %ecx
  163. movl 64(%esp), %ebp
  164. movl 68(%esp), %edx
  165. shldl %cl, %edx, %ebp
  166. movl %ebp, 64(%esp)
  167. shll %cl, %edx
  168. ..B1.12:
  169. cmpl $31, 72(%esp)
  170. jbe ..B1.14
  171. ..B1.13:
  172. movl 72(%esp), %ecx
  173. xorl %ebp, %ebp
  174. movl 32(%esp), %edi
  175. shrl %cl, %edi
  176. movl %edi, 68(%esp)
  177. jmp ..B1.15
  178. ..B1.14:
  179. movl 72(%esp), %ecx
  180. movl 36(%esp), %edi
  181. movl 32(%esp), %ebp
  182. shrdl %cl, %ebp, %edi
  183. movl %edi, 68(%esp)
  184. shrl %cl, %ebp
  185. ..B1.15:
  186. orl %edx, 68(%esp)
  187. orl %ebp, 64(%esp)
  188. cmpl $31, 112(%esp)
  189. jbe ..B1.17
  190. ..B1.16:
  191. movl %eax, %ecx
  192. xorl %edx, %edx
  193. movl 36(%esp), %ebp
  194. shll %cl, %ebp
  195. movl %ebp, 32(%esp)
  196. jmp ..B1.18
  197. ..B1.17:
  198. movl %eax, %ecx
  199. movl 32(%esp), %ebp
  200. movl 36(%esp), %edx
  201. shldl %cl, %edx, %ebp
  202. movl %ebp, 32(%esp)
  203. shll %cl, %edx
  204. ..B1.18:
  205. cmpl $31, 72(%esp)
  206. jbe ..B1.20
  207. ..B1.19:
  208. movl %esi, %edi
  209. xorl %ebp, %ebp
  210. movl 72(%esp), %ecx
  211. shrl %cl, %edi
  212. movl %edi, 36(%esp)
  213. jmp ..B1.21
  214. ..B1.20:
  215. movl %ebx, %ebp
  216. movl 72(%esp), %ecx
  217. shrdl %cl, %esi, %ebp
  218. movl %ebp, 36(%esp)
  219. movl %esi, %ebp
  220. shrl %cl, %ebp
  221. ..B1.21:
  222. orl %edx, 36(%esp)
  223. orl %ebp, 32(%esp)
  224. cmpl $31, 112(%esp)
  225. jbe ..B1.23
  226. ..B1.22:
  227. movl %ebx, %esi
  228. xorl %edx, %edx
  229. movl %eax, %ecx
  230. shll %cl, %esi
  231. jmp ..B1.24
  232. ..B1.23:
  233. movl %ebx, %edx
  234. movl %eax, %ecx
  235. shldl %cl, %ebx, %esi
  236. shll %cl, %edx
  237. ..B1.24:
  238. cmpl $31, 72(%esp)
  239. jbe ..B1.26
  240. ..B1.25:
  241. movl 72(%esp), %ecx
  242. xorl %ebp, %ebp
  243. movl 124(%esp), %ebx
  244. shrl %cl, %ebx
  245. jmp ..B1.27
  246. ..B1.26:
  247. movl 72(%esp), %ecx
  248. movl 120(%esp), %ebx
  249. movl 124(%esp), %ebp
  250. shrdl %cl, %ebp, %ebx
  251. shrl %cl, %ebp
  252. ..B1.27:
  253. orl %edx, %ebx
  254. orl %ebp, %esi
  255. ..B1.28:
  256. movl %ebx, %eax
  257. movl 128(%esp), %ecx
  258. mull %ecx
  259. movl %ebx, %eax
  260. movl %edx, %ebp
  261. mull 132(%esp)
  262. addl %eax, %ebp
  263. movl %ecx, %eax
  264. movl %edx, %edi
  265. adcl $0, %edi
  266. mull %esi
  267. addl %ebp, %eax
  268. movl %edx, %ecx
  269. adcl %edi, %ecx
  270. subl %ebp, %eax
  271. movl %ecx, %edx
  272. sbbl %edi, %edx
  273. jae ..B1.30
  274. ..B1.29:
  275. movl $1, %ebp
  276. jmp ..B1.31
  277. ..B1.30:
  278. xorl %ebp, %ebp
  279. ..B1.31:
  280. movl %esi, %eax
  281. movl 132(%esp), %edi
  282. mull %edi
  283. addl %edx, %ebp
  284. addl %ecx, %eax
  285. movl %esi, %ecx
  286. movl %eax, 88(%esp)
  287. adcl $0, %ebp
  288. movl 128(%esp), %eax
  289. imull %ebx, %edi
  290. imull %eax, %ecx
  291. mull %ebx
  292. addl %ecx, %edi
  293. movl 104(%esp), %ecx
  294. addl %edi, %edx
  295. movl %edx, 100(%esp)
  296. movl %esi, %edi
  297. movl %ecx, %edx
  298. movl %ebp, 92(%esp)
  299. movl 108(%esp), %ebp
  300. imull %ebp, %edi
  301. imull %ebx, %edx
  302. movl %eax, 96(%esp)
  303. movl %ebx, %eax
  304. addl %edx, %edi
  305. mull %ebp
  306. movl %eax, 40(%esp)
  307. movl %ebx, %eax
  308. addl %edi, %edx
  309. movl %edx, 44(%esp)
  310. mull %ebp
  311. movl %ebx, %eax
  312. movl %edx, %edi
  313. mull %ecx
  314. addl %eax, %edi
  315. movl %ebp, %eax
  316. movl %edx, %ebx
  317. adcl $0, %ebx
  318. mull %esi
  319. addl %edi, %eax
  320. movl 92(%esp), %ebp
  321. adcl %ebx, %edx
  322. subl %edi, %eax
  323. movl %edx, 48(%esp)
  324. sbbl %ebx, %edx
  325. movl 88(%esp), %ebx
  326. jae ..B1.33
  327. ..B1.32:
  328. movl $1, %ecx
  329. jmp ..B1.34
  330. ..B1.33:
  331. xorl %ecx, %ecx
  332. ..B1.34:
  333. movl %esi, %eax
  334. mull 104(%esp)
  335. movl %eax, %esi
  336. addl %edx, %ecx
  337. addl 48(%esp), %esi
  338. movl 40(%esp), %eax
  339. adcl $0, %ecx
  340. addl %eax, %ebx
  341. movl %ebx, %edx
  342. movl 44(%esp), %edi
  343. adcl %edi, %ebp
  344. subl %eax, %edx
  345. movl %ebp, %eax
  346. sbbl %edi, %eax
  347. jae ..B1.36
  348. ..B1.35:
  349. movl $1, %eax
  350. jmp ..B1.37
  351. ..B1.36:
  352. xorl %eax, %eax
  353. ..B1.37:
  354. addl %eax, %esi
  355. movl %ebx, 88(%esp)
  356. movl %esi, 84(%esp)
  357. adcl $0, %ecx
  358. movl 132(%esp), %ebx
  359. movl %ebx, %edi
  360. movl 32(%esp), %esi
  361. movl %esi, %edx
  362. movl %ebp, 92(%esp)
  363. movl %ecx, 136(%esp)
  364. movl 36(%esp), %ecx
  365. movl 128(%esp), %ebp
  366. movl %ebp, %eax
  367. imull %ecx, %edi
  368. imull %ebp, %edx
  369. addl %edx, %edi
  370. mull %ecx
  371. movl %eax, 44(%esp)
  372. movl %ebp, %eax
  373. addl %edi, %edx
  374. movl %edx, 48(%esp)
  375. mull %ecx
  376. movl %ecx, %eax
  377. movl %edx, %edi
  378. mull %ebx
  379. addl %eax, %edi
  380. movl %ebp, %eax
  381. movl %edx, %ecx
  382. adcl $0, %ecx
  383. mull %esi
  384. addl %edi, %eax
  385. movl 84(%esp), %esi
  386. adcl %ecx, %edx
  387. subl %edi, %eax
  388. movl %edx, 52(%esp)
  389. movl 88(%esp), %ebx
  390. sbbl %ecx, %edx
  391. movl 136(%esp), %ecx
  392. movl 92(%esp), %ebp
  393. jae ..B1.39
  394. ..B1.38:
  395. movl $1, %edi
  396. jmp ..B1.40
  397. ..B1.39:
  398. xorl %edi, %edi
  399. ..B1.40:
  400. movl 32(%esp), %eax
  401. mull 132(%esp)
  402. addl %edx, %edi
  403. addl 52(%esp), %eax
  404. movl %eax, 40(%esp)
  405. movl 44(%esp), %eax
  406. adcl $0, %edi
  407. addl %eax, %ebx
  408. movl %ebx, %edx
  409. adcl 48(%esp), %ebp
  410. subl %eax, %edx
  411. movl %ebp, %eax
  412. sbbl 48(%esp), %eax
  413. jae ..B1.42
  414. ..B1.41:
  415. movl $1, 44(%esp)
  416. jmp ..B1.43
  417. ..B1.42:
  418. movl $0, 44(%esp)
  419. ..B1.43:
  420. movl 44(%esp), %eax
  421. addl %eax, %esi
  422. movl %esi, %edx
  423. adcl $0, %ecx
  424. subl %eax, %edx
  425. movl $0, %eax
  426. movl %ecx, %edx
  427. sbbl %eax, %edx
  428. jae ..B1.45
  429. ..B1.44:
  430. movl $1, 52(%esp)
  431. jmp ..B1.46
  432. ..B1.45:
  433. movl $0, 52(%esp)
  434. ..B1.46:
  435. movl 40(%esp), %eax
  436. addl %eax, %esi
  437. movl %esi, %edx
  438. adcl %edi, %ecx
  439. subl %eax, %edx
  440. movl %ecx, %eax
  441. sbbl %edi, %eax
  442. jae ..B1.48
  443. ..B1.47:
  444. movl $1, %eax
  445. jmp ..B1.49
  446. ..B1.48:
  447. xorl %eax, %eax
  448. ..B1.49:
  449. movl %esi, 84(%esp)
  450. movl %ebx, 88(%esp)
  451. movl 104(%esp), %ebx
  452. movl %ebx, %edi
  453. movl 32(%esp), %esi
  454. movl %esi, %edx
  455. movl %ebp, 92(%esp)
  456. movl %ecx, 136(%esp)
  457. movl 36(%esp), %ecx
  458. movl 108(%esp), %ebp
  459. imull %ecx, %edi
  460. imull %ebp, %edx
  461. addl %eax, 52(%esp)
  462. movl %ebp, %eax
  463. addl %edx, %edi
  464. mull %ecx
  465. movl %eax, 40(%esp)
  466. movl %ebp, %eax
  467. addl %edi, %edx
  468. movl %edx, 44(%esp)
  469. mull %ecx
  470. movl %ecx, %eax
  471. movl %edx, %edi
  472. mull %ebx
  473. addl %eax, %edi
  474. movl %ebp, %eax
  475. movl %edx, %ecx
  476. adcl $0, %ecx
  477. mull %esi
  478. addl %edi, %eax
  479. movl 88(%esp), %ebx
  480. adcl %ecx, %edx
  481. subl %edi, %eax
  482. movl %edx, 48(%esp)
  483. movl 84(%esp), %esi
  484. sbbl %ecx, %edx
  485. movl 136(%esp), %ecx
  486. movl 92(%esp), %ebp
  487. jae ..B1.51
  488. ..B1.50:
  489. movl $1, %edi
  490. jmp ..B1.52
  491. ..B1.51:
  492. xorl %edi, %edi
  493. ..B1.52:
  494. movl 32(%esp), %eax
  495. mull 104(%esp)
  496. addl %edx, %edi
  497. addl 48(%esp), %eax
  498. movl %eax, 36(%esp)
  499. movl 40(%esp), %eax
  500. adcl $0, %edi
  501. addl %eax, %esi
  502. movl %esi, %edx
  503. adcl 44(%esp), %ecx
  504. subl %eax, %edx
  505. movl %ecx, %eax
  506. sbbl 44(%esp), %eax
  507. jae ..B1.54
  508. ..B1.53:
  509. movl $1, %eax
  510. jmp ..B1.55
  511. ..B1.54:
  512. xorl %eax, %eax
  513. ..B1.55:
  514. movl 52(%esp), %edx
  515. addl 36(%esp), %edx
  516. movl %ebp, 92(%esp)
  517. adcl $0, %edi
  518. addl %eax, %edx
  519. movl %ecx, 136(%esp)
  520. movl 132(%esp), %ecx
  521. adcl $0, %edi
  522. movl 64(%esp), %ebp
  523. movl %esi, 84(%esp)
  524. movl %ecx, %esi
  525. movl %edx, 52(%esp)
  526. movl %ebp, %edx
  527. movl %ebx, 88(%esp)
  528. movl %edi, 48(%esp)
  529. movl 68(%esp), %edi
  530. movl 128(%esp), %ebx
  531. movl %ebx, %eax
  532. imull %edi, %esi
  533. imull %ebx, %edx
  534. addl %edx, %esi
  535. mull %edi
  536. movl %eax, 32(%esp)
  537. movl %ebx, %eax
  538. addl %esi, %edx
  539. movl %edx, 40(%esp)
  540. mull %edi
  541. movl %edi, %eax
  542. movl %edx, %esi
  543. mull %ecx
  544. addl %eax, %esi
  545. movl %ebx, %eax
  546. movl %edx, %edi
  547. adcl $0, %edi
  548. mull %ebp
  549. addl %esi, %eax
  550. movl 88(%esp), %ebx
  551. adcl %edi, %edx
  552. subl %esi, %eax
  553. movl %edx, 44(%esp)
  554. movl 136(%esp), %ecx
  555. sbbl %edi, %edx
  556. movl 48(%esp), %edi
  557. movl 84(%esp), %esi
  558. movl 92(%esp), %ebp
  559. jae ..B1.57
  560. ..B1.56:
  561. movl $1, 48(%esp)
  562. jmp ..B1.58
  563. ..B1.57:
  564. movl $0, 48(%esp)
  565. ..B1.58:
  566. movl 64(%esp), %eax
  567. mull 132(%esp)
  568. movl %ebx, 88(%esp)
  569. movl 48(%esp), %ebx
  570. addl %edx, %ebx
  571. addl 44(%esp), %eax
  572. movl %eax, 36(%esp)
  573. movl 32(%esp), %eax
  574. adcl $0, %ebx
  575. addl %eax, %esi
  576. movl %esi, %edx
  577. movl %ebx, 48(%esp)
  578. movl 40(%esp), %ebx
  579. adcl %ebx, %ecx
  580. subl %eax, %edx
  581. movl %ecx, %eax
  582. sbbl %ebx, %eax
  583. movl 88(%esp), %ebx
  584. jae ..B1.60
  585. ..B1.59:
  586. movl $1, 32(%esp)
  587. jmp ..B1.61
  588. ..B1.60:
  589. movl $0, 32(%esp)
  590. ..B1.61:
  591. movl %esi, 84(%esp)
  592. movl %ebx, 88(%esp)
  593. movl 104(%esp), %esi
  594. movl 68(%esp), %ebx
  595. movl 108(%esp), %eax
  596. movl 64(%esp), %edx
  597. imull %ebx, %esi
  598. imull %eax, %edx
  599. addl %edx, %esi
  600. mull %ebx
  601. movl %ecx, 136(%esp)
  602. movl %eax, %ecx
  603. movl %edx, %ebx
  604. addl %esi, %ebx
  605. addl 52(%esp), %ecx
  606. movl 60(%esp), %esi
  607. movl 56(%esp), %edx
  608. adcl %edi, %ebx
  609. movl 132(%esp), %edi
  610. movl 128(%esp), %eax
  611. imull %esi, %edi
  612. imull %eax, %edx
  613. addl %edx, %edi
  614. mull %esi
  615. addl 36(%esp), %ecx
  616. adcl 48(%esp), %ebx
  617. addl %edi, %edx
  618. addl 32(%esp), %ecx
  619. adcl $0, %ebx
  620. addl %ecx, %eax
  621. movl 180(%esp), %ecx
  622. movl %ecx, %edi
  623. adcl %ebx, %edx
  624. negl %edi
  625. cmpl $0, 80(%esp)
  626. movl %eax, 140(%esp)
  627. jne ..L3
  628. movl %ecx, %edi
  629. ..L3:
  630. xorl %eax, %eax
  631. shll $29, %edi
  632. addl %edi, %edx
  633. movl %eax, 44(%esp)
  634. movl 88(%esp), %ebx
  635. movl %edx, 152(%esp)
  636. movl %eax, 40(%esp)
  637. jmp ..B1.62
  638. ..B1.96:
  639. addl $64, 44(%esp)
  640. movl 152(%esp), %ecx
  641. movl 136(%esp), %edx
  642. movl 84(%esp), %eax
  643. movl 32(%esp), %esi
  644. movl 36(%esp), %edi
  645. movl %ebx, 84(%esp)
  646. movl %ebp, 136(%esp)
  647. movl 96(%esp), %ebx
  648. movl 100(%esp), %ebp
  649. adcl $0, 40(%esp)
  650. andl $-536870912, %ecx
  651. andl $536870911, %edx
  652. orl %edx, %ecx
  653. movl %eax, 140(%esp)
  654. movl %ecx, 152(%esp)
  655. movl %esi, 96(%esp)
  656. movl %edi, 100(%esp)
  657. ..B1.62:
  658. movl 152(%esp), %eax
  659. xorl %edx, %edx
  660. lea 4194304(%eax), %ecx
  661. andl $1065353216, %ecx
  662. orl %edx, %ecx
  663. jne ..B1.119
  664. ..B1.63:
  665. movl 116(%esp), %eax
  666. movl 120(%esp), %esi
  667. movl 124(%esp), %edi
  668. movl (%eax), %edx
  669. movl %edx, 120(%esp)
  670. xorl %edx, %edx
  671. movl 4(%eax), %ecx
  672. addl $8, %eax
  673. movl %ecx, 124(%esp)
  674. movl %eax, 116(%esp)
  675. orl 112(%esp), %edx
  676. je ..B1.71
  677. ..B1.64:
  678. cmpl $31, 112(%esp)
  679. jbe ..B1.66
  680. ..B1.65:
  681. movl %esi, %edi
  682. xorl %edx, %edx
  683. movl 112(%esp), %ecx
  684. shll %cl, %edi
  685. jmp ..B1.67
  686. ..B1.66:
  687. movl %esi, %edx
  688. movl 112(%esp), %ecx
  689. shldl %cl, %esi, %edi
  690. shll %cl, %edx
  691. ..B1.67:
  692. cmpl $31, 72(%esp)
  693. jbe ..B1.69
  694. ..B1.68:
  695. movl 72(%esp), %ecx
  696. xorl %eax, %eax
  697. movl 124(%esp), %esi
  698. shrl %cl, %esi
  699. jmp ..B1.70
  700. ..B1.69:
  701. movl 72(%esp), %ecx
  702. movl 120(%esp), %esi
  703. movl 124(%esp), %eax
  704. shrdl %cl, %eax, %esi
  705. shrl %cl, %eax
  706. ..B1.70:
  707. orl %edx, %esi
  708. orl %eax, %edi
  709. ..B1.71:
  710. movl 132(%esp), %ecx
  711. movl %edi, %edx
  712. movl %ebx, 88(%esp)
  713. movl %ecx, %ebx
  714. movl %ebp, 92(%esp)
  715. movl 128(%esp), %ebp
  716. movl %ebp, %eax
  717. imull %esi, %ebx
  718. imull %ebp, %edx
  719. addl %edx, %ebx
  720. mull %esi
  721. movl %eax, 32(%esp)
  722. movl %ebp, %eax
  723. addl %ebx, %edx
  724. movl %edx, 36(%esp)
  725. mull %esi
  726. movl %esi, %eax
  727. movl %edx, %ebx
  728. mull %ecx
  729. addl %eax, %ebx
  730. movl %ebp, %eax
  731. movl %edx, %ecx
  732. adcl $0, %ecx
  733. mull %edi
  734. addl %ebx, %eax
  735. movl 92(%esp), %ebp
  736. adcl %ecx, %edx
  737. subl %ebx, %eax
  738. movl %edx, 56(%esp)
  739. movl 88(%esp), %ebx
  740. sbbl %ecx, %edx
  741. jae ..B1.73
  742. ..B1.72:
  743. movl $1, %ecx
  744. jmp ..B1.74
  745. ..B1.73:
  746. xorl %ecx, %ecx
  747. ..B1.74:
  748. movl 132(%esp), %eax
  749. mull %edi
  750. addl %edx, %ecx
  751. addl 56(%esp), %eax
  752. movl 96(%esp), %edx
  753. adcl $0, %ecx
  754. addl %eax, %edx
  755. movl %ebx, 88(%esp)
  756. movl 100(%esp), %ebx
  757. adcl %ecx, %ebx
  758. movl %edx, 96(%esp)
  759. subl %eax, %edx
  760. movl %ebx, 100(%esp)
  761. sbbl %ecx, %ebx
  762. movl 88(%esp), %ebx
  763. jae ..B1.76
  764. ..B1.75:
  765. movl $1, %ecx
  766. jmp ..B1.77
  767. ..B1.76:
  768. xorl %ecx, %ecx
  769. ..B1.77:
  770. movl 104(%esp), %edx
  771. addl %ecx, %ebx
  772. movl 108(%esp), %eax
  773. movl %edi, 64(%esp)
  774. adcl $0, %ebp
  775. imull %esi, %edx
  776. imull %eax, %edi
  777. addl %edi, %edx
  778. movl %ebx, %edi
  779. movl %edx, 68(%esp)
  780. mull %esi
  781. addl 68(%esp), %edx
  782. subl %ecx, %edi
  783. movl $0, %ecx
  784. movl %edx, 52(%esp)
  785. movl %ebp, %edx
  786. movl %eax, 48(%esp)
  787. sbbl %ecx, %edx
  788. movl 64(%esp), %edi
  789. jae ..B1.80
  790. ..B1.78:
  791. movl $1, %ecx
  792. ..B1.80:
  793. movl 108(%esp), %eax
  794. mull %esi
  795. movl %esi, %eax
  796. movl %ebx, 88(%esp)
  797. movl %edx, %ebx
  798. mull 104(%esp)
  799. addl %eax, %ebx
  800. movl %edx, %esi
  801. movl 108(%esp), %eax
  802. adcl $0, %esi
  803. mull %edi
  804. addl %ebx, %eax
  805. adcl %esi, %edx
  806. subl %ebx, %eax
  807. movl %edx, 60(%esp)
  808. movl 88(%esp), %ebx
  809. sbbl %esi, %edx
  810. jae ..B1.82
  811. ..B1.81:
  812. movl $1, %esi
  813. jmp ..B1.83
  814. ..B1.82:
  815. xorl %esi, %esi
  816. ..B1.83:
  817. movl 104(%esp), %eax
  818. mull %edi
  819. addl %edx, %esi
  820. addl 60(%esp), %eax
  821. movl %eax, 144(%esp)
  822. movl 48(%esp), %edx
  823. adcl $0, %esi
  824. movl 96(%esp), %eax
  825. addl %edx, %eax
  826. movl %esi, 148(%esp)
  827. movl 52(%esp), %esi
  828. movl 100(%esp), %edi
  829. adcl %esi, %edi
  830. movl %eax, 96(%esp)
  831. subl %edx, %eax
  832. movl %edi, 100(%esp)
  833. movl 144(%esp), %eax
  834. sbbl %esi, %edi
  835. movl 148(%esp), %esi
  836. jae ..B1.85
  837. ..B1.84:
  838. movl $1, %edx
  839. jmp ..B1.86
  840. ..B1.85:
  841. xorl %edx, %edx
  842. ..B1.86:
  843. addl %edx, %ebx
  844. movl %ebx, %edi
  845. adcl $0, %ebp
  846. subl %edx, %edi
  847. movl $0, %edx
  848. movl %ebp, %edi
  849. sbbl %edx, %edi
  850. jae ..B1.89
  851. ..B1.87:
  852. movl $1, %edx
  853. ..B1.89:
  854. addl %eax, %ebx
  855. adcl %esi, %ebp
  856. addl %edx, %ecx
  857. movl %ebx, %edx
  858. subl %eax, %edx
  859. movl %ebp, %eax
  860. sbbl %esi, %eax
  861. jae ..B1.91
  862. ..B1.90:
  863. movl $1, %eax
  864. jmp ..B1.92
  865. ..B1.91:
  866. xorl %eax, %eax
  867. ..B1.92:
  868. addl %eax, %ecx
  869. xorl %eax, %eax
  870. orl %eax, %ecx
  871. je ..B1.95
  872. ..B1.93:
  873. movl 84(%esp), %eax
  874. addl $1, %eax
  875. movl 136(%esp), %edx
  876. adcl $0, %edx
  877. movl %eax, 84(%esp)
  878. orl %edx, %eax
  879. movl %edx, 136(%esp)
  880. jne ..B1.95
  881. ..B1.94:
  882. addl $1, 140(%esp)
  883. adcl $0, 152(%esp)
  884. ..B1.95:
  885. movl 140(%esp), %ecx
  886. movl %ecx, %eax
  887. movl 152(%esp), %esi
  888. shrl $23, %eax
  889. shll $9, %esi
  890. orl %esi, %eax
  891. movl 136(%esp), %edx
  892. movl %eax, %edi
  893. shrl $23, %edx
  894. shll $9, %ecx
  895. sarl $31, %edi
  896. orl %ecx, %edx
  897. xorl %edi, %edx
  898. xorl %edi, %eax
  899. orl %eax, %edx
  900. je ..B1.96
  901. ..B1.97:
  902. movl 136(%esp), %ecx
  903. movl 84(%esp), %esi
  904. movl 152(%esp), %edx
  905. ..B1.98:
  906. movl %ebx, 88(%esp)
  907. lea (,%edx,4), %edi
  908. movl 140(%esp), %ebx
  909. movl %ebx, %eax
  910. sarl $2, %edi
  911. subl %ebx, %eax
  912. movl %eax, 32(%esp)
  913. movl %edi, %eax
  914. sbbl %edi, %edx
  915. sarl $31, %eax
  916. subl %eax, %ebx
  917. negl %eax
  918. addl %edi, %eax
  919. movl %edi, 36(%esp)
  920. orl %eax, %ebx
  921. movl 88(%esp), %ebx
  922. jne ..B1.100
  923. ..B1.99:
  924. movl %esi, 140(%esp)
  925. movl %ebx, %esi
  926. movl %ecx, 36(%esp)
  927. movl %ebp, %ecx
  928. movl 96(%esp), %ebx
  929. movl 100(%esp), %ebp
  930. addl $64, 44(%esp)
  931. ..B1.100:
  932. xorl %eax, %eax
  933. subl %eax, %edi
  934. jge ..B1.103
  935. ..B1.102:
  936. movl $-2147483648, %eax
  937. ..B1.103:
  938. testl %eax, %eax
  939. je ..B1.111
  940. ..B1.104:
  941. notl %ebx
  942. notl %ebp
  943. addl $1, %ebx
  944. notl %esi
  945. movl %ebx, %edi
  946. notl %ecx
  947. adcl $0, %ebp
  948. notl 140(%esp)
  949. orl %ebp, %edi
  950. notl 36(%esp)
  951. jne ..B1.106
  952. ..B1.105:
  953. movl $1, %edi
  954. jmp ..B1.107
  955. ..B1.106:
  956. xorl %edi, %edi
  957. ..B1.107:
  958. addl %edi, %esi
  959. movl %esi, %edi
  960. adcl $0, %ecx
  961. orl %ecx, %edi
  962. jne ..B1.109
  963. ..B1.108:
  964. movl $1, %edi
  965. jmp ..B1.110
  966. ..B1.109:
  967. xorl %edi, %edi
  968. ..B1.110:
  969. addl %edi, 140(%esp)
  970. adcl $0, 36(%esp)
  971. ..B1.111:
  972. movl %ebp, 92(%esp)
  973. xorl %edi, %edi
  974. movl %ebx, 88(%esp)
  975. addl $12, %esp
  976. pushl %edi
  977. pushl %edi
  978. movl 184(%esp), %ebx
  979. xorl %ebp, %ebp
  980. pushl %ebx
  981. subl 32(%esp), %ebp
  982. movl 80(%esp), %ebp
  983. sbbl %edx, %edi
  984. testl %ebp, %ebp
  985. movl $3, 4(%ebx)
  986. jne ..L4
  987. movl %edx, %edi
  988. ..L4:
  989. xorl %ebp, %eax
  990. movl %eax, (%ebx)
  991. movl 140(%esp), %eax
  992. movl 36(%esp), %edx
  993. movl %eax, 8(%ebx)
  994. movl %edx, 12(%ebx)
  995. movl %esi, 16(%ebx)
  996. movl %ecx, 20(%ebx)
  997. movl %edi, 40(%esp)
  998. movl 88(%esp), %ebx
  999. movl 92(%esp), %ebp
  1000. call __dpml_ffs_and_shift__
  1001. ..B1.112:
  1002. movl 188(%esp), %ecx
  1003. movl 4(%ecx), %eax
  1004. movl %eax, %ecx
  1005. cltd
  1006. addl $-3, %ecx
  1007. adcl $-1, %edx
  1008. orl %ecx, %edx
  1009. je ..B1.117
  1010. ..B1.113:
  1011. movl 188(%esp), %esi
  1012. addl $64, %ecx
  1013. cmpl $31, %ecx
  1014. movl 16(%esi), %edx
  1015. movl 20(%esi), %esi
  1016. jbe ..B1.115
  1017. ..B1.114:
  1018. movl %ebp, %ebx
  1019. xorl %edi, %edi
  1020. shrl %cl, %ebx
  1021. jmp ..B1.116
  1022. ..B1.115:
  1023. movl %ebp, %edi
  1024. shrdl %cl, %ebp, %ebx
  1025. shrl %cl, %edi
  1026. ..B1.116:
  1027. movl 188(%esp), %ecx
  1028. orl %ebx, %edx
  1029. orl %edi, %esi
  1030. movl %edx, 16(%ecx)
  1031. movl %esi, 20(%ecx)
  1032. ..B1.117:
  1033. addl $12, %esp
  1034. movl 176(%esp), %ebx
  1035. pushl %ebx
  1036. movl 68(%esp), %edx
  1037. lea 1008+__trig_x_table@GOTOFF(%edx), %ecx
  1038. pushl %ecx
  1039. pushl %ebx
  1040. subl 44(%esp), %eax
  1041. movl %eax, 4(%ebx)
  1042. call __dpml_multiply__
  1043. ..B1.118:
  1044. movl 40(%esp), %eax
  1045. xorl %edx, %edx
  1046. shrl $30, %eax
  1047. addl $156, %esp
  1048. popl %ebp
  1049. popl %ebx
  1050. popl %edi
  1051. popl %esi
  1052. ret
  1053. ..B1.119:
  1054. movl 136(%esp), %ecx
  1055. movl 84(%esp), %esi
  1056. movl %eax, %edx
  1057. jmp ..B1.98
  1058. ..B1.120:
  1059. movl %ebx, %eax
  1060. sarl $31, %eax
  1061. movl 180(%esp), %ecx
  1062. cltd
  1063. addl %ecx, %eax
  1064. movl %eax, %ebp
  1065. movl 184(%esp), %ebx
  1066. adcl %ebx, %edx
  1067. andl $1, %ebp
  1068. addl %ebp, %eax
  1069. movl %eax, %edi
  1070. adcl $0, %edx
  1071. subl %eax, %ecx
  1072. movl %edx, %ebp
  1073. movl %edx, %esi
  1074. sbbl %edx, %ebx
  1075. shll $31, %ebp
  1076. shrl $1, %edi
  1077. sarl $1, %esi
  1078. orl %edi, %ebp
  1079. movl %esi, 32(%esp)
  1080. orl %ebx, %ecx
  1081. movl %ebp, 36(%esp)
  1082. je ..B1.125
  1083. ..B1.121:
  1084. xorl %eax, %eax
  1085. subl %eax, %ebx
  1086. jge ..B1.124
  1087. ..B1.123:
  1088. movl $1, %eax
  1089. ..B1.124:
  1090. addl $20, %esp
  1091. pushl 168(%esp)
  1092. pushl $0
  1093. pushl %eax
  1094. movl 68(%esp), %eax
  1095. lea 1008+__trig_x_table@GOTOFF(%eax), %edx
  1096. pushl %edx
  1097. pushl 172(%esp)
  1098. call __dpml_addsub__
  1099. jmp ..B1.126
  1100. ..B1.125:
  1101. movl 188(%esp), %eax
  1102. movl 176(%esp), %esi
  1103. movl 108(%esp), %ebx
  1104. movl 104(%esp), %ebp
  1105. movl 80(%esp), %edx
  1106. movl %ebx, 8(%eax)
  1107. movl %ebp, 12(%eax)
  1108. movl %edx, (%eax)
  1109. movl 112(%esp), %ecx
  1110. movl 16(%esi), %edi
  1111. movl 20(%esi), %edx
  1112. movl %ecx, 4(%eax)
  1113. movl %edi, 16(%eax)
  1114. movl %edx, 20(%eax)
  1115. ..B1.126:
  1116. movl 36(%esp), %eax
  1117. movl 32(%esp), %edx
  1118. addl $156, %esp
  1119. popl %ebp
  1120. popl %ebx
  1121. popl %edi
  1122. popl %esi
  1123. ret
  1124. .align 16,0x90
  1125. .type __dpml_ux_radian_reduce__,@function
  1126. .size __dpml_ux_radian_reduce__,.-__dpml_ux_radian_reduce__
  1127. .data
  1128. # -- End __dpml_ux_radian_reduce__
  1129. .text
  1130. # -- Begin __dpml_ux_degree_reduce__
  1131. .text
  1132. .align 16,0x90
  1133. __dpml_ux_degree_reduce__:
  1134. # parameter 1: 128 + %esp
  1135. # parameter 2: 132 + %esp
  1136. # parameter 3: 140 + %esp
  1137. ..B2.1:
  1138. ..L5:
  1139. pushl %esi
  1140. pushl %edi
  1141. pushl %ebx
  1142. pushl %ebp
  1143. subl $108, %esp
  1144. movl 128(%esp), %ecx
  1145. call ..L6
  1146. ..L6:
  1147. popl %eax
  1148. lea _GLOBAL_OFFSET_TABLE_+[. - ..L6](%eax), %eax
  1149. movl (%ecx), %edx
  1150. movl 4(%ecx), %ebx
  1151. cmpl $142, %ebx
  1152. movl %eax, 52(%esp)
  1153. movl %edx, 48(%esp)
  1154. jle ..B2.6
  1155. ..B2.2:
  1156. movl %eax, %ebp
  1157. lea 32641(%ebx), %esi
  1158. movl %esi, %eax
  1159. cltd
  1160. movl %edx, %ecx
  1161. mull 264+__trig_x_table@GOTOFF(%ebp)
  1162. movl %esi, %eax
  1163. movl 268+__trig_x_table@GOTOFF(%ebp), %edi
  1164. movl %edx, %ebp
  1165. mull %edi
  1166. movl %edx, %esi
  1167. addl %eax, %ebp
  1168. movl 52(%esp), %edx
  1169. adcl $0, %esi
  1170. movl 264+__trig_x_table@GOTOFF(%edx), %eax
  1171. mull %ecx
  1172. addl %ebp, %eax
  1173. adcl %esi, %edx
  1174. subl %ebp, %eax
  1175. movl %edx, 16(%esp)
  1176. sbbl %esi, %edx
  1177. ..B2.5:
  1178. movl %edi, %eax
  1179. mull %ecx
  1180. addl 16(%esp), %eax
  1181. movl 128(%esp), %edi
  1182. lea (,%eax,8), %ebp
  1183. lea (%ebp,%eax,4), %esi
  1184. negl %esi
  1185. lea 32772(%esi,%ebx), %ebx
  1186. movl %ebx, 4(%edi)
  1187. ..B2.6:
  1188. cmpl $16, %ebx
  1189. jl ..B2.61
  1190. ..B2.7:
  1191. movl %ebx, %eax
  1192. movl %ebx, %ebp
  1193. cltd
  1194. addl $-15, %ebp
  1195. movl %edx, %esi
  1196. movl %ebp, %ecx
  1197. adcl $-1, %esi
  1198. xorl %edx, %edx
  1199. andl $63, %ecx
  1200. movl %esi, %edi
  1201. subl %ecx, %ebx
  1202. shll $26, %edi
  1203. shrl $6, %ebp
  1204. sarl $6, %esi
  1205. orl %ebp, %edi
  1206. movl %edi, 56(%esp)
  1207. orl %ecx, %edx
  1208. je ..B2.21
  1209. ..B2.8:
  1210. movl 128(%esp), %edx
  1211. movl %ecx, %edi
  1212. negl %edi
  1213. addl $64, %edi
  1214. movl 20(%edx), %ebp
  1215. cmpl $31, %ecx
  1216. movl %edi, 28(%esp)
  1217. movl 16(%edx), %edi
  1218. movl %ebp, 16(%esp)
  1219. jbe ..B2.10
  1220. ..B2.9:
  1221. movl %edi, %edx
  1222. xorl %ebp, %ebp
  1223. shll %cl, %edx
  1224. jmp ..B2.11
  1225. ..B2.10:
  1226. movl %edi, %ebp
  1227. movl 16(%esp), %edx
  1228. shldl %cl, %edi, %edx
  1229. shll %cl, %ebp
  1230. ..B2.11:
  1231. movl 128(%esp), %eax
  1232. cmpl $31, %ecx
  1233. movl %ebp, 16(%eax)
  1234. movl 12(%eax), %ebp
  1235. movl %edx, 20(%eax)
  1236. movl 8(%eax), %edx
  1237. movl %ebp, 24(%esp)
  1238. jbe ..B2.13
  1239. ..B2.12:
  1240. movl %edx, %ebp
  1241. movl $0, 32(%esp)
  1242. shll %cl, %ebp
  1243. jmp ..B2.14
  1244. ..B2.13:
  1245. movl %edx, %eax
  1246. shll %cl, %eax
  1247. shldl %cl, %edx, %ebp
  1248. movl %eax, 32(%esp)
  1249. ..B2.14:
  1250. cmpl $31, 28(%esp)
  1251. jbe ..B2.16
  1252. ..B2.15:
  1253. movl 28(%esp), %ecx
  1254. movl 16(%esp), %edi
  1255. movl $0, 20(%esp)
  1256. shrl %cl, %edi
  1257. jmp ..B2.17
  1258. ..B2.16:
  1259. movl 28(%esp), %ecx
  1260. movl 16(%esp), %eax
  1261. shrdl %cl, %eax, %edi
  1262. shrl %cl, %eax
  1263. movl %eax, 20(%esp)
  1264. ..B2.17:
  1265. movl 32(%esp), %eax
  1266. orl %edi, %eax
  1267. movl 128(%esp), %edi
  1268. orl 20(%esp), %ebp
  1269. cmpl $31, 28(%esp)
  1270. movl %eax, 8(%edi)
  1271. movl %ebp, 12(%edi)
  1272. jbe ..B2.19
  1273. ..B2.18:
  1274. xorl %ebp, %ebp
  1275. movl 24(%esp), %edx
  1276. shrl %cl, %edx
  1277. jmp ..B2.22
  1278. ..B2.19:
  1279. movl 24(%esp), %ebp
  1280. shrdl %cl, %ebp, %edx
  1281. shrl %cl, %ebp
  1282. jmp ..B2.22
  1283. ..B2.21:
  1284. xorl %edx, %edx
  1285. xorl %ebp, %ebp
  1286. ..B2.22:
  1287. movl 128(%esp), %edi
  1288. movl %esi, %ecx
  1289. movl %edx, (%edi)
  1290. movl 56(%esp), %edx
  1291. movl %ebp, 4(%edi)
  1292. movl 8(%edi,%edx,8), %eax
  1293. movl 12(%edi,%edx,8), %edi
  1294. movl %edi, %ebp
  1295. xorl %edx, %edx
  1296. shrl $20, %ebp
  1297. subl %edx, %ecx
  1298. jl ..B2.55
  1299. ..B2.23:
  1300. movl 56(%esp), %edi
  1301. addl $1, %edi
  1302. movl %edi, 32(%esp)
  1303. adcl $0, %esi
  1304. movl %esi, %eax
  1305. movl %edi, 72(%esp)
  1306. testl %eax, %eax
  1307. jge ..B2.25
  1308. ..B2.24:
  1309. addl $1, 72(%esp)
  1310. adcl $0, %eax
  1311. ..B2.25:
  1312. movl 72(%esp), %edi
  1313. shrdl $1, %eax, %edi
  1314. sarl $1, %eax
  1315. movl %edi, 72(%esp)
  1316. xorl %edi, %edi
  1317. movl %eax, %ecx
  1318. movl %edi, 28(%esp)
  1319. subl %edi, %ecx
  1320. movl %edi, 24(%esp)
  1321. jb ..B2.104
  1322. ..B2.107:
  1323. orl 72(%esp), %ecx
  1324. je ..B2.104
  1325. ..B2.26:
  1326. xorl %ecx, %ecx
  1327. movl %ecx, 64(%esp)
  1328. movl %ecx, 60(%esp)
  1329. movl %eax, 76(%esp)
  1330. movl %edi, 68(%esp)
  1331. movl %ebx, 20(%esp)
  1332. movl %esi, 16(%esp)
  1333. movl %edi, 80(%esp)
  1334. movl 28(%esp), %ecx
  1335. movl 24(%esp), %eax
  1336. ..B2.27:
  1337. movl 56(%esp), %edi
  1338. movl 64(%esp), %ebx
  1339. movl 128(%esp), %esi
  1340. addl %edi, %ebx
  1341. movl %ebx, 84(%esp)
  1342. movl (%esi,%ebx,8), %edi
  1343. movl %edi, 100(%esp)
  1344. movl 4(%esi,%ebx,8), %edi
  1345. movl %edi, 88(%esp)
  1346. xorl %edi, %edi
  1347. movl %edi, (%esi,%ebx,8)
  1348. movl %edi, 4(%esi,%ebx,8)
  1349. movl %ecx, %esi
  1350. movl 100(%esp), %ebx
  1351. orl %eax, %esi
  1352. je ..B2.35
  1353. ..B2.28:
  1354. cmpl $31, %ecx
  1355. jbe ..B2.30
  1356. ..B2.29:
  1357. xorl %esi, %esi
  1358. jmp ..B2.31
  1359. ..B2.30:
  1360. movl %ebx, %esi
  1361. shll %cl, %esi
  1362. ..B2.31:
  1363. andl $4095, %esi
  1364. xorl %edi, %edi
  1365. addl %esi, %ebp
  1366. adcl $0, %edx
  1367. movl $12, %esi
  1368. subl %ecx, %esi
  1369. sbbl %eax, %edi
  1370. movl %edi, 36(%esp)
  1371. cmpl $31, %esi
  1372. jbe ..B2.33
  1373. ..B2.32:
  1374. movl %esi, %ecx
  1375. xorl %eax, %eax
  1376. movl 88(%esp), %ebx
  1377. shrl %cl, %ebx
  1378. jmp ..B2.34
  1379. ..B2.33:
  1380. movl %esi, %ecx
  1381. movl 88(%esp), %eax
  1382. shrdl %cl, %eax, %ebx
  1383. shrl %cl, %eax
  1384. ..B2.34:
  1385. movl %eax, 88(%esp)
  1386. xorl %eax, %eax
  1387. xorl %ecx, %ecx
  1388. subl %esi, %ecx
  1389. sbbl 36(%esp), %eax
  1390. ..B2.35:
  1391. movl 88(%esp), %edi
  1392. movl %edi, %esi
  1393. shrl $28, %edi
  1394. andl $268435455, %esi
  1395. addl %edi, %ebx
  1396. adcl $0, %esi
  1397. addl %ebp, %ebx
  1398. adcl %edx, %esi
  1399. addl $4, %ecx
  1400. movl %esi, 96(%esp)
  1401. movl 128(%esp), %esi
  1402. adcl $0, %eax
  1403. movl 84(%esp), %edx
  1404. movl -4(%esi,%edx,8), %edi
  1405. movl -8(%esi,%edx,8), %ebp
  1406. movl %edi, 92(%esp)
  1407. xorl %edi, %edi
  1408. movl %edi, -8(%esi,%edx,8)
  1409. movl %edi, -4(%esi,%edx,8)
  1410. movl %ecx, %edx
  1411. orl %eax, %edx
  1412. je ..B2.43
  1413. ..B2.36:
  1414. cmpl $31, %ecx
  1415. jbe ..B2.38
  1416. ..B2.37:
  1417. movl $0, 44(%esp)
  1418. jmp ..B2.39
  1419. ..B2.38:
  1420. movl %ebp, %edx
  1421. shll %cl, %edx
  1422. movl %edx, 44(%esp)
  1423. ..B2.39:
  1424. movl 44(%esp), %edx
  1425. xorl %esi, %esi
  1426. andl $4095, %edx
  1427. addl %edx, %ebx
  1428. adcl $0, 96(%esp)
  1429. movl $12, %edx
  1430. subl %ecx, %edx
  1431. sbbl %eax, %esi
  1432. movl %esi, 40(%esp)
  1433. cmpl $31, %edx
  1434. jbe ..B2.41
  1435. ..B2.40:
  1436. movl %edx, %ecx
  1437. xorl %eax, %eax
  1438. movl 92(%esp), %ebp
  1439. shrl %cl, %ebp
  1440. jmp ..B2.42
  1441. ..B2.41:
  1442. movl %edx, %ecx
  1443. movl 92(%esp), %eax
  1444. shrdl %cl, %eax, %ebp
  1445. shrl %cl, %eax
  1446. ..B2.42:
  1447. movl %eax, 92(%esp)
  1448. xorl %eax, %eax
  1449. xorl %ecx, %ecx
  1450. subl %edx, %ecx
  1451. sbbl 40(%esp), %eax
  1452. ..B2.43:
  1453. movl 92(%esp), %esi
  1454. movl %esi, %edx
  1455. shrl $28, %esi
  1456. andl $268435455, %edx
  1457. addl %esi, %ebp
  1458. movl 68(%esp), %edi
  1459. adcl $0, %edx
  1460. addl %ebx, %ebp
  1461. movl 80(%esp), %ebx
  1462. adcl 96(%esp), %edx
  1463. addl $4, %ecx
  1464. adcl $0, %eax
  1465. addl $-2, 64(%esp)
  1466. adcl $-1, 60(%esp)
  1467. addl $1, %ebx
  1468. movl %ebx, 80(%esp)
  1469. adcl $0, %edi
  1470. subl 72(%esp), %ebx
  1471. movl %edi, 68(%esp)
  1472. sbbl 76(%esp), %edi
  1473. jb ..B2.27
  1474. ..B2.44:
  1475. movl 80(%esp), %edi
  1476. movl %eax, 24(%esp)
  1477. movl %edi, %eax
  1478. movl %ecx, 28(%esp)
  1479. addl %edi, %edi
  1480. movl 68(%esp), %ecx
  1481. shrl $31, %eax
  1482. addl %ecx, %ecx
  1483. orl %ecx, %eax
  1484. addl $1, %edi
  1485. movl 20(%esp), %ebx
  1486. movl 16(%esp), %esi
  1487. adcl $0, %eax
  1488. ..B2.45:
  1489. movl %edi, %ecx
  1490. addl $-1, %ecx
  1491. adcl $-1, %eax
  1492. subl %ecx, 32(%esp)
  1493. sbbl %eax, %esi
  1494. jb ..B2.103
  1495. ..B2.108:
  1496. movl 32(%esp), %eax
  1497. orl %esi, %eax
  1498. je ..B2.103
  1499. ..B2.46:
  1500. negl %edi
  1501. xorl %ecx, %ecx
  1502. addl 56(%esp), %edi
  1503. movl 128(%esp), %eax
  1504. movl 8(%eax,%edi,8), %esi
  1505. movl %esi, 16(%esp)
  1506. movl 12(%eax,%edi,8), %esi
  1507. movl %ecx, 8(%eax,%edi,8)
  1508. movl %ecx, 12(%eax,%edi,8)
  1509. movl 24(%esp), %edi
  1510. orl 28(%esp), %edi
  1511. je ..B2.54
  1512. ..B2.47:
  1513. cmpl $31, 28(%esp)
  1514. jbe ..B2.49
  1515. ..B2.48:
  1516. xorl %edi, %edi
  1517. jmp ..B2.50
  1518. ..B2.49:
  1519. movl 28(%esp), %ecx
  1520. movl 16(%esp), %edi
  1521. shll %cl, %edi
  1522. ..B2.50:
  1523. andl $4095, %edi
  1524. addl %edi, %ebp
  1525. movl 28(%esp), %edi
  1526. adcl $0, %edx
  1527. negl %edi
  1528. addl $12, %edi
  1529. movl %edi, 28(%esp)
  1530. cmpl $31, %edi
  1531. jbe ..B2.52
  1532. ..B2.51:
  1533. movl %edi, %ecx
  1534. xorl %edi, %edi
  1535. shrl %cl, %esi
  1536. movl %esi, 16(%esp)
  1537. jmp ..B2.53
  1538. ..B2.52:
  1539. movl %edi, %ecx
  1540. movl 16(%esp), %edi
  1541. shrdl %cl, %esi, %edi
  1542. movl %edi, 16(%esp)
  1543. movl %esi, %edi
  1544. shrl %cl, %edi
  1545. ..B2.53:
  1546. movl %edi, %esi
  1547. ..B2.54:
  1548. movl %esi, %eax
  1549. shrl $28, %esi
  1550. andl $268435455, %eax
  1551. movl 16(%esp), %edi
  1552. addl %esi, %edi
  1553. movl 128(%esp), %esi
  1554. adcl $0, %eax
  1555. addl %edi, %ebp
  1556. movl 56(%esp), %edi
  1557. adcl %eax, %edx
  1558. movl 8(%esi,%edi,8), %eax
  1559. movl 12(%esi,%edi,8), %edi
  1560. ..B2.55:
  1561. movl %edx, %esi
  1562. movl %ebp, %ecx
  1563. shll $20, %esi
  1564. shrl $12, %ecx
  1565. orl %ecx, %esi
  1566. shrl $12, %edx
  1567. movl %esi, %ecx
  1568. orl %edx, %ecx
  1569. je ..B2.59
  1570. ..B2.57:
  1571. andl $4095, %ebp
  1572. addl %esi, %ebp
  1573. movl %ebp, %ecx
  1574. adcl $0, %edx
  1575. movl %edx, %esi
  1576. shll $20, %esi
  1577. shrl $12, %ecx
  1578. orl %ecx, %esi
  1579. shrl $12, %edx
  1580. movl %esi, %ecx
  1581. orl %edx, %ecx
  1582. jne ..B2.57
  1583. ..B2.59:
  1584. addl $12, %esp
  1585. xorl %esi, %esi
  1586. pushl %esi
  1587. pushl %esi
  1588. movl 124(%esp), %edx
  1589. andl $1048575, %edi
  1590. pushl %edx
  1591. shll $20, %ebp
  1592. orl %ebp, %edi
  1593. movl 56(%esp), %ebp
  1594. movl %ebx, 4(%edx)
  1595. movl %eax, 8(%edx,%ebp,8)
  1596. movl %edi, 12(%edx,%ebp,8)
  1597. call __dpml_ffs_and_shift__
  1598. ..B2.60:
  1599. subl %eax, %ebx
  1600. ..B2.61:
  1601. movl %ebx, %eax
  1602. addl $-5, %ebx
  1603. cltd
  1604. movl 128(%esp), %esi
  1605. adcl $-1, %edx
  1606. xorl %edi, %edi
  1607. subl %edi, %edx
  1608. movl %edi, (%esi)
  1609. movl 8(%esi), %ebp
  1610. movl 12(%esi), %esi
  1611. jl ..B2.66
  1612. ..B2.109:
  1613. orl %ebx, %edx
  1614. je ..B2.66
  1615. ..B2.62:
  1616. movl 52(%esp), %edi
  1617. movl %ebp, %eax
  1618. mull 256+__trig_x_table@GOTOFF(%edi)
  1619. movl %ebp, %eax
  1620. movl 260+__trig_x_table@GOTOFF(%edi), %ecx
  1621. movl %edx, %edi
  1622. mull %ecx
  1623. movl %ecx, 16(%esp)
  1624. movl %edx, %ecx
  1625. movl 52(%esp), %edx
  1626. addl %eax, %edi
  1627. adcl $0, %ecx
  1628. movl 256+__trig_x_table@GOTOFF(%edx), %eax
  1629. mull %esi
  1630. addl %edi, %eax
  1631. adcl %ecx, %edx
  1632. subl %edi, %eax
  1633. movl %edx, 20(%esp)
  1634. sbbl %ecx, %edx
  1635. jae ..B2.64
  1636. ..B2.63:
  1637. movl $1, 28(%esp)
  1638. jmp ..B2.65
  1639. ..B2.64:
  1640. movl $0, 28(%esp)
  1641. ..B2.65:
  1642. movl 16(%esp), %eax
  1643. mull %esi
  1644. movl 28(%esp), %edi
  1645. addl %edx, %edi
  1646. addl 20(%esp), %eax
  1647. movl %eax, 24(%esp)
  1648. adcl $0, %edi
  1649. movl %edi, 28(%esp)
  1650. jmp ..B2.67
  1651. ..B2.66:
  1652. xorl %edx, %edx
  1653. movl $1, %ebx
  1654. movl %edx, 24(%esp)
  1655. movl %edx, 28(%esp)
  1656. ..B2.67:
  1657. negl %ebx
  1658. movl 132(%esp), %eax
  1659. andl $1, %eax
  1660. incl %eax
  1661. lea 64(%ebx), %edx
  1662. addl $63, %ebx
  1663. movl %edx, 16(%esp)
  1664. cmpl $31, %ebx
  1665. jbe ..B2.69
  1666. ..B2.68:
  1667. movl %ebx, %ecx
  1668. movl %eax, %edi
  1669. shll %cl, %edi
  1670. xorl %edx, %edx
  1671. jmp ..B2.70
  1672. ..B2.69:
  1673. movl %ebx, %ecx
  1674. xorl %edi, %edi
  1675. movl %eax, %edx
  1676. shldl %cl, %eax, %edi
  1677. shll %cl, %edx
  1678. ..B2.70:
  1679. addl 24(%esp), %edx
  1680. adcl 28(%esp), %edi
  1681. cmpl $31, 16(%esp)
  1682. jbe ..B2.72
  1683. ..B2.71:
  1684. movl $1, %ebx
  1685. xorl %eax, %eax
  1686. movl 16(%esp), %ecx
  1687. shll %cl, %ebx
  1688. jmp ..B2.73
  1689. ..B2.72:
  1690. xorl %ebx, %ebx
  1691. movl $1, %eax
  1692. movl 16(%esp), %ecx
  1693. shldl %cl, %eax, %ebx
  1694. shll %cl, %eax
  1695. ..B2.73:
  1696. addl $-1, %eax
  1697. notl %eax
  1698. adcl $-1, %ebx
  1699. andl %eax, %edx
  1700. notl %ebx
  1701. andl %ebx, %edi
  1702. cmpl $31, 16(%esp)
  1703. jbe ..B2.75
  1704. ..B2.74:
  1705. movl %edi, %eax
  1706. shrl %cl, %eax
  1707. jmp ..B2.76
  1708. ..B2.75:
  1709. movl %edx, %eax
  1710. shrdl %cl, %edi, %eax
  1711. ..B2.76:
  1712. movl %eax, %ebx
  1713. negl %ebx
  1714. cmpl $0, 48(%esp)
  1715. jne ..L7
  1716. movl %eax, %ebx
  1717. ..L7:
  1718. movl 132(%esp), %eax
  1719. shrl $1, %eax
  1720. addl %ebx, %eax
  1721. movl %eax, 24(%esp)
  1722. movl $-1275068416, %eax
  1723. mull %edx
  1724. movl $-1275068416, %eax
  1725. movl %edx, %ecx
  1726. mull %edi
  1727. movl %edx, %ebx
  1728. movl %esi, %edi
  1729. movl %ebp, %edx
  1730. addl %ecx, %eax
  1731. adcl $0, %ebx
  1732. andl $3, %ebp
  1733. shll $30, %edi
  1734. shrl $2, %edx
  1735. orl %edx, %edi
  1736. shrl $2, %esi
  1737. subl %eax, %edi
  1738. sbbl %ebx, %esi
  1739. movl %edi, %ebx
  1740. shll $2, %edi
  1741. shrl $30, %ebx
  1742. orl %edi, %ebp
  1743. xorl %edi, %edi
  1744. lea (,%esi,4), %ecx
  1745. orl %ecx, %ebx
  1746. subl %edi, %esi
  1747. jl ..B2.99
  1748. ..B2.77:
  1749. addl $12, %esp
  1750. xorl %eax, %eax
  1751. pushl %eax
  1752. pushl %eax
  1753. movl 124(%esp), %edx
  1754. pushl %edx
  1755. movl %ebp, 8(%edx)
  1756. movl %ebx, 12(%edx)
  1757. call __dpml_ffs_and_shift__
  1758. ..B2.78:
  1759. movl 128(%esp), %esi
  1760. xorl %ebx, %ebx
  1761. andl $536870911, 24(%esp)
  1762. movl 8(%esi), %edi
  1763. movl %edi, %eax
  1764. movl 4(%esi), %ecx
  1765. movl 12(%esi), %esi
  1766. orl %esi, %eax
  1767. jne ..B2.81
  1768. ..B2.79:
  1769. movl 24(%esp), %ecx
  1770. xorl %eax, %eax
  1771. andl $2, %ecx
  1772. movl $536870912, %ebx
  1773. orl %eax, %ecx
  1774. je ..B2.97
  1775. ..B2.80:
  1776. movl 128(%esp), %eax
  1777. xorl $-2147483648, (%eax)
  1778. jmp ..B2.97
  1779. ..B2.81:
  1780. cmpl $5, %ecx
  1781. jl ..B2.96
  1782. ..B2.82:
  1783. movl 128(%esp), %eax
  1784. movl 16(%eax), %ebp
  1785. orl 20(%eax), %ebp
  1786. jne ..B2.96
  1787. ..B2.83:
  1788. negl %ecx
  1789. addl $64, %ecx
  1790. cmpl $31, %ecx
  1791. jbe ..B2.85
  1792. ..B2.84:
  1793. movl %esi, %ebp
  1794. movl $0, 16(%esp)
  1795. shrl %cl, %ebp
  1796. jmp ..B2.86
  1797. ..B2.85:
  1798. movl %esi, %eax
  1799. movl %edi, %ebp
  1800. shrl %cl, %eax
  1801. shrdl %cl, %esi, %ebp
  1802. movl %eax, 16(%esp)
  1803. ..B2.86:
  1804. cmpl $31, %ecx
  1805. jbe ..B2.88
  1806. ..B2.87:
  1807. movl %ebp, %eax
  1808. movl $0, 20(%esp)
  1809. shll %cl, %eax
  1810. jmp ..B2.89
  1811. ..B2.88:
  1812. movl %ebp, %edx
  1813. movl 16(%esp), %eax
  1814. shll %cl, %edx
  1815. shldl %cl, %ebp, %eax
  1816. movl %edx, 20(%esp)
  1817. ..B2.89:
  1818. subl 20(%esp), %edi
  1819. subl %eax, %esi
  1820. orl %esi, %edi
  1821. jne ..B2.96
  1822. ..B2.90:
  1823. movl $30, %eax
  1824. negl %eax
  1825. addl %ebp, %eax
  1826. orl 16(%esp), %eax
  1827. jne ..B2.94
  1828. ..B2.91:
  1829. movl 24(%esp), %ecx
  1830. xorl %eax, %eax
  1831. andl $1, %ecx
  1832. orl %eax, %ecx
  1833. jne ..B2.96
  1834. ..B2.92:
  1835. movl 128(%esp), %ecx
  1836. movl $1073741824, %ebx
  1837. movl 48(%esp), %eax
  1838. xorl %eax, (%ecx)
  1839. jmp ..B2.97
  1840. ..B2.94:
  1841. movl $45, %eax
  1842. subl %eax, %ebp
  1843. orl 16(%esp), %ebp
  1844. jne ..B2.96
  1845. ..B2.95:
  1846. movl $-2147483648, %ebx
  1847. ..B2.96:
  1848. movl 128(%esp), %ecx
  1849. movl 48(%esp), %eax
  1850. xorl %eax, (%ecx)
  1851. ..B2.97:
  1852. addl $12, %esp
  1853. pushl 128(%esp)
  1854. movl 44(%esp), %eax
  1855. lea 216+__trig_x_table@GOTOFF(%eax), %ecx
  1856. pushl %ecx
  1857. pushl 124(%esp)
  1858. call __dpml_multiply__
  1859. ..B2.98:
  1860. movl 24(%esp), %eax
  1861. movl %ebx, %edx
  1862. addl $108, %esp
  1863. popl %ebp
  1864. popl %ebx
  1865. popl %edi
  1866. popl %esi
  1867. ret
  1868. ..B2.99:
  1869. movl 128(%esp), %edx
  1870. xorl %eax, %eax
  1871. xorl $-2147483648, 48(%esp)
  1872. movl 16(%edx), %ecx
  1873. movl 20(%edx), %esi
  1874. xorl %edx, %edx
  1875. subl %ecx, %edx
  1876. sbbl %esi, %eax
  1877. orl %esi, %ecx
  1878. je ..B2.101
  1879. ..B2.100:
  1880. movl $1, %ecx
  1881. jmp ..B2.102
  1882. ..B2.101:
  1883. xorl %ecx, %ecx
  1884. ..B2.102:
  1885. movl 128(%esp), %esi
  1886. addl %ecx, %ebp
  1887. adcl $0, %ebx
  1888. movl %edx, 16(%esi)
  1889. xorl %edx, %edx
  1890. movl %eax, 20(%esi)
  1891. movl %ebp, %eax
  1892. xorl %ebp, %ebp
  1893. movl %ebx, %ecx
  1894. xorl %ebx, %ebx
  1895. subl %eax, %ebp
  1896. sbbl %ecx, %ebx
  1897. jmp ..B2.77
  1898. ..B2.103:
  1899. movl 56(%esp), %edi
  1900. movl 128(%esp), %esi
  1901. movl 8(%esi,%edi,8), %eax
  1902. movl 12(%esi,%edi,8), %edi
  1903. jmp ..B2.55
  1904. ..B2.104:
  1905. movl $1, %edi
  1906. xorl %eax, %eax
  1907. jmp ..B2.45
  1908. .align 16,0x90
  1909. .type __dpml_ux_degree_reduce__,@function
  1910. .size __dpml_ux_degree_reduce__,.-__dpml_ux_degree_reduce__
  1911. .data
  1912. # -- End __dpml_ux_degree_reduce__
  1913. .text
  1914. # -- Begin __dpml_ux_sincos
  1915. .text
  1916. .align 16,0x90
  1917. .hidden __dpml_ux_sincos
  1918. .globl __dpml_ux_sincos
  1919. __dpml_ux_sincos:
  1920. # parameter 1: 192 + %esp
  1921. # parameter 2: 196 + %esp
  1922. # parameter 3: 204 + %esp
  1923. # parameter 4: 212 + %esp
  1924. ..B3.1:
  1925. ..L8:
  1926. pushl %esi
  1927. pushl %edi
  1928. pushl %ebx
  1929. pushl %ebp
  1930. subl $172, %esp
  1931. xorl %ecx, %ecx
  1932. call ..L9
  1933. ..L9:
  1934. popl %eax
  1935. lea _GLOBAL_OFFSET_TABLE_+[. - ..L9](%eax), %eax
  1936. movl %eax, 148(%esp)
  1937. movl 204(%esp), %eax
  1938. andl $16, %eax
  1939. movl %gs:20, %edx
  1940. xorl %esp, %edx
  1941. movl %edx, 156(%esp)
  1942. orl %ecx, %eax
  1943. je ..B3.3
  1944. ..B3.2:
  1945. movl 148(%esp), %eax
  1946. lea __dpml_ux_degree_reduce__@GOTOFF(%eax), %edx
  1947. movl %edx, %eax
  1948. jmp ..B3.4
  1949. ..B3.3:
  1950. movl 148(%esp), %eax
  1951. lea __dpml_ux_radian_reduce__@GOTOFF(%eax), %edx
  1952. lea __dpml_ux_degree_reduce__@GOTOFF(%eax), %eax
  1953. ..B3.4:
  1954. cmpl %eax, %edx
  1955. jne ..B3.119
  1956. ..B3.5:
  1957. movl 192(%esp), %edx
  1958. movl (%edx), %eax
  1959. movl 4(%edx), %ebx
  1960. cmpl $142, %ebx
  1961. movl %eax, 68(%esp)
  1962. jle ..B3.10
  1963. ..B3.6:
  1964. movl 148(%esp), %ebp
  1965. lea 32641(%ebx), %esi
  1966. movl %esi, %eax
  1967. cltd
  1968. movl %edx, %ecx
  1969. mull 264+__trig_x_table@GOTOFF(%ebp)
  1970. movl %esi, %eax
  1971. movl 268+__trig_x_table@GOTOFF(%ebp), %edi
  1972. movl %edx, %ebp
  1973. mull %edi
  1974. movl %edx, %esi
  1975. addl %eax, %ebp
  1976. movl 148(%esp), %edx
  1977. adcl $0, %esi
  1978. movl 264+__trig_x_table@GOTOFF(%edx), %eax
  1979. mull %ecx
  1980. addl %ebp, %eax
  1981. adcl %esi, %edx
  1982. subl %ebp, %eax
  1983. movl %edx, 32(%esp)
  1984. sbbl %esi, %edx
  1985. ..B3.9:
  1986. movl %edi, %eax
  1987. mull %ecx
  1988. addl 32(%esp), %eax
  1989. movl 192(%esp), %edi
  1990. lea (,%eax,8), %ebp
  1991. lea (%ebp,%eax,4), %esi
  1992. negl %esi
  1993. lea 32772(%esi,%ebx), %ebx
  1994. movl %ebx, 4(%edi)
  1995. ..B3.10:
  1996. cmpl $16, %ebx
  1997. jl ..B3.65
  1998. ..B3.11:
  1999. movl %ebx, %eax
  2000. movl %ebx, %ebp
  2001. cltd
  2002. addl $-15, %ebp
  2003. movl %edx, %esi
  2004. movl %ebp, %ecx
  2005. adcl $-1, %esi
  2006. xorl %edx, %edx
  2007. andl $63, %ecx
  2008. movl %esi, %edi
  2009. subl %ecx, %ebx
  2010. shll $26, %edi
  2011. shrl $6, %ebp
  2012. sarl $6, %esi
  2013. orl %ebp, %edi
  2014. movl %edi, 72(%esp)
  2015. orl %ecx, %edx
  2016. je ..B3.25
  2017. ..B3.12:
  2018. movl 192(%esp), %edx
  2019. movl %ecx, %edi
  2020. negl %edi
  2021. addl $64, %edi
  2022. movl 20(%edx), %ebp
  2023. cmpl $31, %ecx
  2024. movl %edi, 44(%esp)
  2025. movl 16(%edx), %edi
  2026. movl %ebp, 32(%esp)
  2027. jbe ..B3.14
  2028. ..B3.13:
  2029. movl %edi, %edx
  2030. xorl %ebp, %ebp
  2031. shll %cl, %edx
  2032. jmp ..B3.15
  2033. ..B3.14:
  2034. movl %edi, %ebp
  2035. movl 32(%esp), %edx
  2036. shldl %cl, %edi, %edx
  2037. shll %cl, %ebp
  2038. ..B3.15:
  2039. movl 192(%esp), %eax
  2040. cmpl $31, %ecx
  2041. movl %ebp, 16(%eax)
  2042. movl 12(%eax), %ebp
  2043. movl %edx, 20(%eax)
  2044. movl 8(%eax), %edx
  2045. movl %ebp, 40(%esp)
  2046. jbe ..B3.17
  2047. ..B3.16:
  2048. movl %edx, %ebp
  2049. movl $0, 48(%esp)
  2050. shll %cl, %ebp
  2051. jmp ..B3.18
  2052. ..B3.17:
  2053. movl %edx, %eax
  2054. shll %cl, %eax
  2055. shldl %cl, %edx, %ebp
  2056. movl %eax, 48(%esp)
  2057. ..B3.18:
  2058. cmpl $31, 44(%esp)
  2059. jbe ..B3.20
  2060. ..B3.19:
  2061. movl 44(%esp), %ecx
  2062. movl 32(%esp), %edi
  2063. movl $0, 36(%esp)
  2064. shrl %cl, %edi
  2065. jmp ..B3.21
  2066. ..B3.20:
  2067. movl 44(%esp), %ecx
  2068. movl 32(%esp), %eax
  2069. shrdl %cl, %eax, %edi
  2070. shrl %cl, %eax
  2071. movl %eax, 36(%esp)
  2072. ..B3.21:
  2073. movl 48(%esp), %eax
  2074. orl %edi, %eax
  2075. movl 192(%esp), %edi
  2076. orl 36(%esp), %ebp
  2077. cmpl $31, 44(%esp)
  2078. movl %eax, 8(%edi)
  2079. movl %ebp, 12(%edi)
  2080. jbe ..B3.23
  2081. ..B3.22:
  2082. xorl %ebp, %ebp
  2083. movl 40(%esp), %edx
  2084. shrl %cl, %edx
  2085. jmp ..B3.26
  2086. ..B3.23:
  2087. movl 40(%esp), %ebp
  2088. shrdl %cl, %ebp, %edx
  2089. shrl %cl, %ebp
  2090. jmp ..B3.26
  2091. ..B3.25:
  2092. xorl %edx, %edx
  2093. xorl %ebp, %ebp
  2094. ..B3.26:
  2095. movl 192(%esp), %edi
  2096. movl %edx, (%edi)
  2097. movl 72(%esp), %edx
  2098. movl %ebp, 4(%edi)
  2099. movl 8(%edi,%edx,8), %eax
  2100. movl 12(%edi,%edx,8), %edi
  2101. movl %edi, %ebp
  2102. shrl $20, %ebp
  2103. xorl %edx, %edx
  2104. movl %ebp, 48(%esp)
  2105. movl %esi, %ebp
  2106. subl %edx, %ebp
  2107. jl ..B3.59
  2108. ..B3.27:
  2109. movl 72(%esp), %eax
  2110. addl $1, %eax
  2111. movl %eax, 52(%esp)
  2112. adcl $0, %esi
  2113. movl %esi, %ebp
  2114. testl %ebp, %ebp
  2115. jge ..B3.29
  2116. ..B3.28:
  2117. addl $1, %eax
  2118. adcl $0, %ebp
  2119. ..B3.29:
  2120. shrdl $1, %ebp, %eax
  2121. sarl $1, %ebp
  2122. xorl %edi, %edi
  2123. movl %ebp, %ecx
  2124. movl %edi, 44(%esp)
  2125. subl %edi, %ecx
  2126. movl %edi, 40(%esp)
  2127. jb ..B3.229
  2128. ..B3.262:
  2129. orl %eax, %ecx
  2130. je ..B3.229
  2131. ..B3.30:
  2132. xorl %ecx, %ecx
  2133. movl %ecx, 80(%esp)
  2134. movl %ecx, 76(%esp)
  2135. movl %ebp, 92(%esp)
  2136. movl %eax, 88(%esp)
  2137. movl %edi, 84(%esp)
  2138. movl %ebx, 32(%esp)
  2139. movl %esi, 36(%esp)
  2140. movl %edi, 100(%esp)
  2141. movl 44(%esp), %ecx
  2142. movl 40(%esp), %eax
  2143. movl 48(%esp), %ebp
  2144. ..B3.31:
  2145. movl 72(%esp), %edi
  2146. movl 80(%esp), %ebx
  2147. movl 192(%esp), %esi
  2148. addl %edi, %ebx
  2149. movl %ebx, 96(%esp)
  2150. movl (%esi,%ebx,8), %edi
  2151. movl %edi, 116(%esp)
  2152. movl 4(%esi,%ebx,8), %edi
  2153. movl %edi, 104(%esp)
  2154. xorl %edi, %edi
  2155. movl %edi, (%esi,%ebx,8)
  2156. movl %edi, 4(%esi,%ebx,8)
  2157. movl %ecx, %esi
  2158. movl 116(%esp), %ebx
  2159. orl %eax, %esi
  2160. je ..B3.39
  2161. ..B3.32:
  2162. cmpl $31, %ecx
  2163. jbe ..B3.34
  2164. ..B3.33:
  2165. xorl %esi, %esi
  2166. jmp ..B3.35
  2167. ..B3.34:
  2168. movl %ebx, %esi
  2169. shll %cl, %esi
  2170. ..B3.35:
  2171. andl $4095, %esi
  2172. xorl %edi, %edi
  2173. addl %esi, %ebp
  2174. adcl $0, %edx
  2175. movl $12, %esi
  2176. subl %ecx, %esi
  2177. sbbl %eax, %edi
  2178. movl %edi, 56(%esp)
  2179. cmpl $31, %esi
  2180. jbe ..B3.37
  2181. ..B3.36:
  2182. movl %esi, %ecx
  2183. xorl %eax, %eax
  2184. movl 104(%esp), %ebx
  2185. shrl %cl, %ebx
  2186. jmp ..B3.38
  2187. ..B3.37:
  2188. movl %esi, %ecx
  2189. movl 104(%esp), %eax
  2190. shrdl %cl, %eax, %ebx
  2191. shrl %cl, %eax
  2192. ..B3.38:
  2193. movl %eax, 104(%esp)
  2194. xorl %eax, %eax
  2195. xorl %ecx, %ecx
  2196. subl %esi, %ecx
  2197. sbbl 56(%esp), %eax
  2198. ..B3.39:
  2199. movl 104(%esp), %edi
  2200. movl %edi, %esi
  2201. shrl $28, %edi
  2202. andl $268435455, %esi
  2203. addl %edi, %ebx
  2204. adcl $0, %esi
  2205. addl %ebp, %ebx
  2206. adcl %edx, %esi
  2207. addl $4, %ecx
  2208. movl %esi, 112(%esp)
  2209. movl 192(%esp), %esi
  2210. adcl $0, %eax
  2211. movl 96(%esp), %edx
  2212. movl -4(%esi,%edx,8), %edi
  2213. movl -8(%esi,%edx,8), %ebp
  2214. movl %edi, 108(%esp)
  2215. xorl %edi, %edi
  2216. movl %edi, -8(%esi,%edx,8)
  2217. movl %edi, -4(%esi,%edx,8)
  2218. movl %ecx, %edx
  2219. orl %eax, %edx
  2220. je ..B3.47
  2221. ..B3.40:
  2222. cmpl $31, %ecx
  2223. jbe ..B3.42
  2224. ..B3.41:
  2225. movl $0, 64(%esp)
  2226. jmp ..B3.43
  2227. ..B3.42:
  2228. movl %ebp, %edx
  2229. shll %cl, %edx
  2230. movl %edx, 64(%esp)
  2231. ..B3.43:
  2232. movl 64(%esp), %edx
  2233. xorl %esi, %esi
  2234. andl $4095, %edx
  2235. addl %edx, %ebx
  2236. adcl $0, 112(%esp)
  2237. movl $12, %edx
  2238. subl %ecx, %edx
  2239. sbbl %eax, %esi
  2240. movl %esi, 60(%esp)
  2241. cmpl $31, %edx
  2242. jbe ..B3.45
  2243. ..B3.44:
  2244. movl %edx, %ecx
  2245. xorl %eax, %eax
  2246. movl 108(%esp), %ebp
  2247. shrl %cl, %ebp
  2248. jmp ..B3.46
  2249. ..B3.45:
  2250. movl %edx, %ecx
  2251. movl 108(%esp), %eax
  2252. shrdl %cl, %eax, %ebp
  2253. shrl %cl, %eax
  2254. ..B3.46:
  2255. movl %eax, 108(%esp)
  2256. xorl %eax, %eax
  2257. xorl %ecx, %ecx
  2258. subl %edx, %ecx
  2259. sbbl 60(%esp), %eax
  2260. ..B3.47:
  2261. movl 108(%esp), %esi
  2262. movl %esi, %edx
  2263. shrl $28, %esi
  2264. andl $268435455, %edx
  2265. addl %esi, %ebp
  2266. movl 84(%esp), %edi
  2267. adcl $0, %edx
  2268. addl %ebx, %ebp
  2269. movl 100(%esp), %ebx
  2270. adcl 112(%esp), %edx
  2271. addl $4, %ecx
  2272. adcl $0, %eax
  2273. addl $-2, 80(%esp)
  2274. adcl $-1, 76(%esp)
  2275. addl $1, %ebx
  2276. movl %ebx, 100(%esp)
  2277. adcl $0, %edi
  2278. subl 88(%esp), %ebx
  2279. movl %edi, 84(%esp)
  2280. sbbl 92(%esp), %edi
  2281. jb ..B3.31
  2282. ..B3.48:
  2283. movl 100(%esp), %edi
  2284. movl %eax, 40(%esp)
  2285. movl %edi, %eax
  2286. movl %ebp, 48(%esp)
  2287. addl %edi, %edi
  2288. movl 84(%esp), %ebp
  2289. shrl $31, %eax
  2290. addl %ebp, %ebp
  2291. orl %ebp, %eax
  2292. addl $1, %edi
  2293. movl 32(%esp), %ebx
  2294. movl 36(%esp), %esi
  2295. adcl $0, %eax
  2296. movl %ecx, 44(%esp)
  2297. ..B3.49:
  2298. movl %edi, %ebp
  2299. addl $-1, %ebp
  2300. adcl $-1, %eax
  2301. subl %ebp, 52(%esp)
  2302. sbbl %eax, %esi
  2303. jb ..B3.228
  2304. ..B3.263:
  2305. movl 52(%esp), %ebp
  2306. orl %esi, %ebp
  2307. je ..B3.228
  2308. ..B3.50:
  2309. negl %edi
  2310. xorl %esi, %esi
  2311. addl 72(%esp), %edi
  2312. movl 192(%esp), %eax
  2313. movl 8(%eax,%edi,8), %ebp
  2314. movl %ebp, 32(%esp)
  2315. movl 12(%eax,%edi,8), %ebp
  2316. movl %esi, 8(%eax,%edi,8)
  2317. movl %esi, 12(%eax,%edi,8)
  2318. movl 40(%esp), %edi
  2319. orl 44(%esp), %edi
  2320. je ..B3.58
  2321. ..B3.51:
  2322. cmpl $31, 44(%esp)
  2323. ja ..B3.54
  2324. ..B3.53:
  2325. movl 44(%esp), %ecx
  2326. movl 32(%esp), %esi
  2327. shll %cl, %esi
  2328. ..B3.54:
  2329. andl $4095, %esi
  2330. addl %esi, 48(%esp)
  2331. movl 44(%esp), %esi
  2332. adcl $0, %edx
  2333. negl %esi
  2334. addl $12, %esi
  2335. movl %esi, 44(%esp)
  2336. cmpl $31, %esi
  2337. jbe ..B3.56
  2338. ..B3.55:
  2339. movl %esi, %ecx
  2340. xorl %esi, %esi
  2341. shrl %cl, %ebp
  2342. movl %ebp, 32(%esp)
  2343. jmp ..B3.57
  2344. ..B3.56:
  2345. movl %esi, %ecx
  2346. movl 32(%esp), %esi
  2347. shrdl %cl, %ebp, %esi
  2348. movl %esi, 32(%esp)
  2349. movl %ebp, %esi
  2350. shrl %cl, %esi
  2351. ..B3.57:
  2352. movl %esi, %ebp
  2353. ..B3.58:
  2354. movl %ebp, %edi
  2355. shrl $28, %ebp
  2356. andl $268435455, %edi
  2357. movl 32(%esp), %esi
  2358. addl %ebp, %esi
  2359. movl 192(%esp), %ebp
  2360. adcl $0, %edi
  2361. addl %esi, 48(%esp)
  2362. movl 72(%esp), %esi
  2363. adcl %edi, %edx
  2364. movl 8(%ebp,%esi,8), %eax
  2365. movl 12(%ebp,%esi,8), %edi
  2366. ..B3.59:
  2367. movl %edx, %esi
  2368. movl 48(%esp), %ebp
  2369. shll $20, %esi
  2370. shrl $12, %ebp
  2371. orl %ebp, %esi
  2372. shrl $12, %edx
  2373. movl %esi, %ebp
  2374. orl %edx, %ebp
  2375. je ..B3.63
  2376. ..B3.60:
  2377. movl 48(%esp), %ebp
  2378. ..B3.61:
  2379. andl $4095, %ebp
  2380. addl %esi, %ebp
  2381. movl %ebp, %ecx
  2382. adcl $0, %edx
  2383. movl %edx, %esi
  2384. shll $20, %esi
  2385. shrl $12, %ecx
  2386. orl %ecx, %esi
  2387. shrl $12, %edx
  2388. movl %esi, %ecx
  2389. orl %edx, %ecx
  2390. jne ..B3.61
  2391. ..B3.62:
  2392. movl %ebp, 48(%esp)
  2393. ..B3.63:
  2394. addl $12, %esp
  2395. xorl %ebp, %ebp
  2396. pushl %ebp
  2397. pushl %ebp
  2398. movl 188(%esp), %edx
  2399. andl $1048575, %edi
  2400. pushl %edx
  2401. movl 48(%esp), %esi
  2402. shll $20, %esi
  2403. orl %esi, %edi
  2404. movl 72(%esp), %esi
  2405. movl %ebx, 4(%edx)
  2406. movl %eax, 8(%edx,%esi,8)
  2407. movl %edi, 12(%edx,%esi,8)
  2408. call __dpml_ffs_and_shift__
  2409. ..B3.64:
  2410. subl %eax, %ebx
  2411. ..B3.65:
  2412. movl %ebx, %eax
  2413. addl $-5, %ebx
  2414. cltd
  2415. movl 192(%esp), %esi
  2416. adcl $-1, %edx
  2417. xorl %edi, %edi
  2418. subl %edi, %edx
  2419. movl %edi, (%esi)
  2420. movl 8(%esi), %ebp
  2421. movl 12(%esi), %esi
  2422. jl ..B3.70
  2423. ..B3.264:
  2424. orl %ebx, %edx
  2425. je ..B3.70
  2426. ..B3.66:
  2427. movl 148(%esp), %edi
  2428. movl %ebp, %eax
  2429. mull 256+__trig_x_table@GOTOFF(%edi)
  2430. movl %ebp, %eax
  2431. movl 260+__trig_x_table@GOTOFF(%edi), %ecx
  2432. movl %edx, %edi
  2433. mull %ecx
  2434. movl %ecx, 32(%esp)
  2435. movl %edx, %ecx
  2436. movl 148(%esp), %edx
  2437. addl %eax, %edi
  2438. adcl $0, %ecx
  2439. movl 256+__trig_x_table@GOTOFF(%edx), %eax
  2440. mull %esi
  2441. addl %edi, %eax
  2442. adcl %ecx, %edx
  2443. subl %edi, %eax
  2444. movl %edx, 36(%esp)
  2445. sbbl %ecx, %edx
  2446. jae ..B3.68
  2447. ..B3.67:
  2448. movl $1, 44(%esp)
  2449. jmp ..B3.69
  2450. ..B3.68:
  2451. movl $0, 44(%esp)
  2452. ..B3.69:
  2453. movl 32(%esp), %eax
  2454. mull %esi
  2455. movl 44(%esp), %edi
  2456. addl %edx, %edi
  2457. addl 36(%esp), %eax
  2458. movl %eax, 40(%esp)
  2459. adcl $0, %edi
  2460. movl %edi, 44(%esp)
  2461. jmp ..B3.71
  2462. ..B3.70:
  2463. xorl %edx, %edx
  2464. movl $1, %ebx
  2465. movl %edx, 40(%esp)
  2466. movl %edx, 44(%esp)
  2467. ..B3.71:
  2468. negl %ebx
  2469. movl 196(%esp), %eax
  2470. andl $1, %eax
  2471. incl %eax
  2472. lea 64(%ebx), %edx
  2473. addl $63, %ebx
  2474. movl %edx, 32(%esp)
  2475. cmpl $31, %ebx
  2476. jbe ..B3.73
  2477. ..B3.72:
  2478. movl %ebx, %ecx
  2479. movl %eax, %edi
  2480. shll %cl, %edi
  2481. xorl %edx, %edx
  2482. jmp ..B3.74
  2483. ..B3.73:
  2484. movl %ebx, %ecx
  2485. xorl %edi, %edi
  2486. movl %eax, %edx
  2487. shldl %cl, %eax, %edi
  2488. shll %cl, %edx
  2489. ..B3.74:
  2490. addl 40(%esp), %edx
  2491. adcl 44(%esp), %edi
  2492. cmpl $31, 32(%esp)
  2493. jbe ..B3.76
  2494. ..B3.75:
  2495. movl $1, %ebx
  2496. xorl %eax, %eax
  2497. movl 32(%esp), %ecx
  2498. shll %cl, %ebx
  2499. jmp ..B3.77
  2500. ..B3.76:
  2501. xorl %ebx, %ebx
  2502. movl $1, %eax
  2503. movl 32(%esp), %ecx
  2504. shldl %cl, %eax, %ebx
  2505. shll %cl, %eax
  2506. ..B3.77:
  2507. addl $-1, %eax
  2508. notl %eax
  2509. adcl $-1, %ebx
  2510. andl %eax, %edx
  2511. notl %ebx
  2512. andl %ebx, %edi
  2513. cmpl $31, 32(%esp)
  2514. jbe ..B3.79
  2515. ..B3.78:
  2516. movl %edi, %eax
  2517. shrl %cl, %eax
  2518. jmp ..B3.80
  2519. ..B3.79:
  2520. movl %edx, %eax
  2521. shrdl %cl, %edi, %eax
  2522. ..B3.80:
  2523. movl %eax, %ebx
  2524. negl %ebx
  2525. cmpl $0, 68(%esp)
  2526. jne ..L10
  2527. movl %eax, %ebx
  2528. ..L10:
  2529. movl 196(%esp), %eax
  2530. shrl $1, %eax
  2531. addl %ebx, %eax
  2532. movl %eax, 44(%esp)
  2533. movl $-1275068416, %eax
  2534. mull %edx
  2535. movl $-1275068416, %eax
  2536. movl %edx, %ecx
  2537. mull %edi
  2538. movl %edx, %ebx
  2539. movl %esi, %edi
  2540. movl %ebp, %edx
  2541. addl %ecx, %eax
  2542. adcl $0, %ebx
  2543. andl $3, %ebp
  2544. shll $30, %edi
  2545. shrl $2, %edx
  2546. orl %edx, %edi
  2547. shrl $2, %esi
  2548. subl %eax, %edi
  2549. sbbl %ebx, %esi
  2550. movl %edi, %ebx
  2551. shll $2, %edi
  2552. shrl $30, %ebx
  2553. orl %edi, %ebp
  2554. xorl %edi, %edi
  2555. lea (,%esi,4), %ecx
  2556. orl %ecx, %ebx
  2557. subl %edi, %esi
  2558. jl ..B3.224
  2559. ..B3.81:
  2560. addl $12, %esp
  2561. xorl %eax, %eax
  2562. pushl %eax
  2563. pushl %eax
  2564. movl 188(%esp), %edx
  2565. pushl %edx
  2566. movl %ebp, 8(%edx)
  2567. movl %ebx, 12(%edx)
  2568. call __dpml_ffs_and_shift__
  2569. ..B3.82:
  2570. movl 192(%esp), %ebp
  2571. xorl %ebx, %ebx
  2572. movl 8(%ebp), %esi
  2573. movl %esi, %eax
  2574. movl 4(%ebp), %ecx
  2575. movl 12(%ebp), %ebp
  2576. orl %ebp, %eax
  2577. jne ..B3.85
  2578. ..B3.83:
  2579. movl 44(%esp), %edx
  2580. xorl %eax, %eax
  2581. andl $2, %edx
  2582. movl $536870912, %ebx
  2583. orl %eax, %edx
  2584. je ..B3.101
  2585. ..B3.84:
  2586. movl 192(%esp), %eax
  2587. xorl $-2147483648, (%eax)
  2588. jmp ..B3.101
  2589. ..B3.85:
  2590. cmpl $5, %ecx
  2591. jl ..B3.100
  2592. ..B3.86:
  2593. movl 192(%esp), %eax
  2594. movl 16(%eax), %edx
  2595. orl 20(%eax), %edx
  2596. jne ..B3.100
  2597. ..B3.87:
  2598. negl %ecx
  2599. addl $64, %ecx
  2600. cmpl $31, %ecx
  2601. jbe ..B3.89
  2602. ..B3.88:
  2603. movl %ebp, %edx
  2604. movl $0, 32(%esp)
  2605. shrl %cl, %edx
  2606. jmp ..B3.90
  2607. ..B3.89:
  2608. movl %ebp, %eax
  2609. movl %esi, %edx
  2610. shrl %cl, %eax
  2611. shrdl %cl, %ebp, %edx
  2612. movl %eax, 32(%esp)
  2613. ..B3.90:
  2614. cmpl $31, %ecx
  2615. jbe ..B3.92
  2616. ..B3.91:
  2617. movl %edx, %eax
  2618. movl $0, 36(%esp)
  2619. shll %cl, %eax
  2620. jmp ..B3.93
  2621. ..B3.92:
  2622. movl %edx, %edi
  2623. movl 32(%esp), %eax
  2624. shll %cl, %edi
  2625. shldl %cl, %edx, %eax
  2626. movl %edi, 36(%esp)
  2627. ..B3.93:
  2628. subl 36(%esp), %esi
  2629. subl %eax, %ebp
  2630. orl %ebp, %esi
  2631. jne ..B3.100
  2632. ..B3.94:
  2633. movl $30, %eax
  2634. negl %eax
  2635. addl %edx, %eax
  2636. orl 32(%esp), %eax
  2637. jne ..B3.98
  2638. ..B3.95:
  2639. movl 44(%esp), %edx
  2640. xorl %eax, %eax
  2641. andl $1, %edx
  2642. orl %eax, %edx
  2643. jne ..B3.100
  2644. ..B3.96:
  2645. movl 192(%esp), %edx
  2646. movl $1073741824, %ebx
  2647. movl 68(%esp), %eax
  2648. xorl %eax, (%edx)
  2649. jmp ..B3.101
  2650. ..B3.98:
  2651. movl $45, %eax
  2652. subl %eax, %edx
  2653. orl 32(%esp), %edx
  2654. jne ..B3.100
  2655. ..B3.99:
  2656. movl $-2147483648, %ebx
  2657. ..B3.100:
  2658. movl 192(%esp), %edx
  2659. movl 68(%esp), %eax
  2660. xorl %eax, (%edx)
  2661. ..B3.101:
  2662. addl $12, %esp
  2663. lea 36(%esp), %eax
  2664. pushl %eax
  2665. movl 100(%eax), %edx
  2666. lea 216+__trig_x_table@GOTOFF(%edx), %ecx
  2667. pushl %ecx
  2668. pushl 188(%esp)
  2669. call __dpml_multiply__
  2670. ..B3.103:
  2671. movl 204(%esp), %esi
  2672. movl $3, %eax
  2673. andl $-17, %esi
  2674. movl %esi, %edx
  2675. subl %eax, %edx
  2676. orl 208(%esp), %edx
  2677. jne ..B3.106
  2678. ..B3.105:
  2679. movl $1, %eax
  2680. ..B3.106:
  2681. sarl $29, %ebx
  2682. andl %eax, %ebx
  2683. xorl %eax, %eax
  2684. orl %eax, %ebx
  2685. jne ..B3.108
  2686. ..B3.107:
  2687. movl $1, %ebp
  2688. jmp ..B3.109
  2689. ..B3.108:
  2690. xorl %ebp, %ebp
  2691. ..B3.109:
  2692. movl %esi, %ecx
  2693. movl $3, %edx
  2694. subl %edx, %ecx
  2695. movl 44(%esp), %ebx
  2696. andl $1, %ebx
  2697. orl 208(%esp), %ecx
  2698. je ..B3.220
  2699. ..B3.110:
  2700. xorl %edx, %edx
  2701. orl %edx, %ebx
  2702. je ..B3.112
  2703. ..B3.111:
  2704. movl $1216, %ecx
  2705. jmp ..B3.113
  2706. ..B3.112:
  2707. movl $1038, %ecx
  2708. ..B3.113:
  2709. addl $28, %esp
  2710. xorl %edx, %edx
  2711. movl 184(%esp), %ebx
  2712. pushl %ebx
  2713. pushl %edx
  2714. pushl %ecx
  2715. pushl %edx
  2716. pushl $13
  2717. movl 140(%esp), %ecx
  2718. lea 272+__trig_x_table@GOTOFF(%ecx), %edi
  2719. pushl %edi
  2720. lea 44(%esp), %edx
  2721. pushl %edx
  2722. call __dpml_evaluate_rational__
  2723. ..B3.114:
  2724. movl 44(%esp), %ecx
  2725. xorl %edx, %edx
  2726. andl $2, %ecx
  2727. orl %edx, %ecx
  2728. je ..B3.116
  2729. ..B3.115:
  2730. xorl $-2147483648, (%ebx)
  2731. ..B3.116:
  2732. movl $3, %edx
  2733. subl %edx, %esi
  2734. orl 208(%esp), %esi
  2735. je ..B3.216
  2736. ..B3.117:
  2737. movl 156(%esp), %edx
  2738. xorl %esp, %edx
  2739. cmpl %gs:20, %edx
  2740. jne ..B3.215
  2741. ..B3.118:
  2742. movl %ebp, %eax
  2743. xorl %edx, %edx
  2744. addl $172, %esp
  2745. popl %ebp
  2746. popl %ebx
  2747. popl %edi
  2748. popl %esi
  2749. ret
  2750. ..B3.119:
  2751. movl 192(%esp), %ebp
  2752. movl 8(%ebp), %eax
  2753. movl 12(%ebp), %edx
  2754. movl 16(%ebp), %ecx
  2755. movl 20(%ebp), %ebx
  2756. movl 4(%ebp), %edi
  2757. testl %edi, %edi
  2758. movl (%ebp), %esi
  2759. movl %eax, 104(%esp)
  2760. movl %edx, 100(%esp)
  2761. movl %ecx, 108(%esp)
  2762. movl %ebx, 112(%esp)
  2763. movl %edi, 128(%esp)
  2764. movl %esi, 76(%esp)
  2765. jl ..B3.253
  2766. ..B3.120:
  2767. movl %edi, %eax
  2768. cltd
  2769. addl $8, %eax
  2770. movl %eax, %edi
  2771. adcl $0, %edx
  2772. andl $63, %eax
  2773. movl 148(%esp), %ebp
  2774. shll $26, %edx
  2775. shrl $6, %edi
  2776. orl %edx, %edi
  2777. movl __four_over_pi@GOT(%ebp), %esi
  2778. movl %edi, 72(%esp)
  2779. movl %eax, 128(%esp)
  2780. lea (%esi,%edi,8), %ecx
  2781. movl (%ecx), %ebx
  2782. movl 4(%ecx), %ebp
  2783. movl 8(%ecx), %esi
  2784. movl 12(%ecx), %edi
  2785. movl 20(%ecx), %edx
  2786. movl %ebx, 60(%esp)
  2787. movl %ebp, 56(%esp)
  2788. movl %esi, 68(%esp)
  2789. movl %edi, 64(%esp)
  2790. movl %edx, 32(%esp)
  2791. movl 16(%ecx), %ebp
  2792. movl 24(%ecx), %edi
  2793. movl 28(%ecx), %esi
  2794. movl 32(%ecx), %ebx
  2795. movl 36(%ecx), %edx
  2796. addl $40, %ecx
  2797. movl %ecx, 120(%esp)
  2798. xorl %ecx, %ecx
  2799. movl %ebx, 116(%esp)
  2800. orl %eax, %ecx
  2801. movl %edx, 124(%esp)
  2802. je ..B3.146
  2803. ..B3.121:
  2804. movl %eax, %ecx
  2805. movl %ecx, %edx
  2806. negl %edx
  2807. addl $64, %edx
  2808. movl %edx, 72(%esp)
  2809. cmpl $31, %ecx
  2810. jbe ..B3.123
  2811. ..B3.122:
  2812. xorl %eax, %eax
  2813. movl 60(%esp), %edx
  2814. shll %cl, %edx
  2815. movl %edx, 56(%esp)
  2816. jmp ..B3.124
  2817. ..B3.123:
  2818. movl 56(%esp), %edx
  2819. movl 60(%esp), %eax
  2820. shldl %cl, %eax, %edx
  2821. movl %edx, 56(%esp)
  2822. shll %cl, %eax
  2823. ..B3.124:
  2824. cmpl $31, 72(%esp)
  2825. jbe ..B3.126
  2826. ..B3.125:
  2827. movl 72(%esp), %ecx
  2828. xorl %edx, %edx
  2829. movl 64(%esp), %ebx
  2830. shrl %cl, %ebx
  2831. movl %ebx, 60(%esp)
  2832. jmp ..B3.127
  2833. ..B3.126:
  2834. movl 72(%esp), %ecx
  2835. movl 68(%esp), %ebx
  2836. movl 64(%esp), %edx
  2837. shrdl %cl, %edx, %ebx
  2838. movl %ebx, 60(%esp)
  2839. shrl %cl, %edx
  2840. ..B3.127:
  2841. orl %eax, 60(%esp)
  2842. orl %edx, 56(%esp)
  2843. cmpl $31, 128(%esp)
  2844. jbe ..B3.129
  2845. ..B3.128:
  2846. movl 128(%esp), %ecx
  2847. xorl %eax, %eax
  2848. movl 68(%esp), %edx
  2849. shll %cl, %edx
  2850. movl %edx, 64(%esp)
  2851. jmp ..B3.130
  2852. ..B3.129:
  2853. movl 128(%esp), %ecx
  2854. movl 64(%esp), %edx
  2855. movl 68(%esp), %eax
  2856. shldl %cl, %eax, %edx
  2857. movl %edx, 64(%esp)
  2858. shll %cl, %eax
  2859. ..B3.130:
  2860. cmpl $31, 72(%esp)
  2861. jbe ..B3.132
  2862. ..B3.131:
  2863. movl 72(%esp), %ecx
  2864. xorl %edx, %edx
  2865. movl 32(%esp), %ebx
  2866. shrl %cl, %ebx
  2867. movl %ebx, 68(%esp)
  2868. jmp ..B3.133
  2869. ..B3.132:
  2870. movl %ebp, %ebx
  2871. movl 72(%esp), %ecx
  2872. movl 32(%esp), %edx
  2873. shrdl %cl, %edx, %ebx
  2874. movl %ebx, 68(%esp)
  2875. shrl %cl, %edx
  2876. ..B3.133:
  2877. orl %eax, 68(%esp)
  2878. orl %edx, 64(%esp)
  2879. cmpl $31, 128(%esp)
  2880. jbe ..B3.135
  2881. ..B3.134:
  2882. movl 128(%esp), %ecx
  2883. xorl %edx, %edx
  2884. shll %cl, %ebp
  2885. movl %ebp, 32(%esp)
  2886. jmp ..B3.136
  2887. ..B3.135:
  2888. movl 128(%esp), %ecx
  2889. movl 32(%esp), %edx
  2890. shldl %cl, %ebp, %edx
  2891. movl %edx, 32(%esp)
  2892. movl %ebp, %edx
  2893. shll %cl, %edx
  2894. ..B3.136:
  2895. cmpl $31, 72(%esp)
  2896. jbe ..B3.138
  2897. ..B3.137:
  2898. movl %esi, %ebp
  2899. xorl %ebx, %ebx
  2900. movl 72(%esp), %ecx
  2901. shrl %cl, %ebp
  2902. jmp ..B3.139
  2903. ..B3.138:
  2904. movl %edi, %ebp
  2905. movl %esi, %ebx
  2906. movl 72(%esp), %ecx
  2907. shrdl %cl, %esi, %ebp
  2908. shrl %cl, %ebx
  2909. ..B3.139:
  2910. orl %ebx, 32(%esp)
  2911. orl %edx, %ebp
  2912. cmpl $31, 128(%esp)
  2913. jbe ..B3.141
  2914. ..B3.140:
  2915. movl %edi, %esi
  2916. xorl %edx, %edx
  2917. movl 128(%esp), %ecx
  2918. shll %cl, %esi
  2919. jmp ..B3.142
  2920. ..B3.141:
  2921. movl %edi, %edx
  2922. movl 128(%esp), %ecx
  2923. shldl %cl, %edi, %esi
  2924. shll %cl, %edx
  2925. ..B3.142:
  2926. cmpl $31, 72(%esp)
  2927. jbe ..B3.144
  2928. ..B3.143:
  2929. movl 72(%esp), %ecx
  2930. xorl %ebx, %ebx
  2931. movl 124(%esp), %edi
  2932. shrl %cl, %edi
  2933. jmp ..B3.145
  2934. ..B3.144:
  2935. movl 72(%esp), %ecx
  2936. movl 116(%esp), %edi
  2937. movl 124(%esp), %ebx
  2938. shrdl %cl, %ebx, %edi
  2939. shrl %cl, %ebx
  2940. ..B3.145:
  2941. orl %edx, %edi
  2942. orl %ebx, %esi
  2943. ..B3.146:
  2944. movl %edi, %eax
  2945. mull 108(%esp)
  2946. movl %edi, %eax
  2947. movl %edx, %ecx
  2948. mull 112(%esp)
  2949. addl %eax, %ecx
  2950. movl %edx, %ebx
  2951. movl 108(%esp), %eax
  2952. adcl $0, %ebx
  2953. mull %esi
  2954. addl %ecx, %eax
  2955. adcl %ebx, %edx
  2956. subl %ecx, %eax
  2957. movl %edx, 48(%esp)
  2958. sbbl %ebx, %edx
  2959. jae ..B3.148
  2960. ..B3.147:
  2961. movl $1, %ebx
  2962. jmp ..B3.149
  2963. ..B3.148:
  2964. xorl %ebx, %ebx
  2965. ..B3.149:
  2966. movl %esi, %eax
  2967. movl 112(%esp), %ecx
  2968. mull %ecx
  2969. addl %edx, %ebx
  2970. addl 48(%esp), %eax
  2971. movl %eax, 84(%esp)
  2972. adcl $0, %ebx
  2973. movl %ebx, 88(%esp)
  2974. movl %esi, %ebx
  2975. movl 108(%esp), %eax
  2976. imull %edi, %ecx
  2977. imull %eax, %ebx
  2978. mull %edi
  2979. addl %ebx, %ecx
  2980. movl 100(%esp), %ebx
  2981. addl %ecx, %edx
  2982. movl %ebp, 52(%esp)
  2983. movl %esi, %ebp
  2984. movl %edx, 96(%esp)
  2985. movl %ebx, %edx
  2986. movl 104(%esp), %ecx
  2987. imull %ecx, %ebp
  2988. imull %edi, %edx
  2989. movl %eax, 92(%esp)
  2990. movl %edi, %eax
  2991. addl %edx, %ebp
  2992. mull %ecx
  2993. movl %eax, 36(%esp)
  2994. movl %edi, %eax
  2995. addl %ebp, %edx
  2996. movl %edx, 40(%esp)
  2997. mull %ecx
  2998. movl %edi, %eax
  2999. movl %edx, %ebp
  3000. mull %ebx
  3001. addl %eax, %ebp
  3002. movl %ecx, %eax
  3003. movl %edx, %edi
  3004. adcl $0, %edi
  3005. mull %esi
  3006. addl %ebp, %eax
  3007. movl 88(%esp), %ebx
  3008. adcl %edi, %edx
  3009. subl %ebp, %eax
  3010. movl %edx, 44(%esp)
  3011. movl 52(%esp), %ebp
  3012. sbbl %edi, %edx
  3013. jae ..B3.151
  3014. ..B3.150:
  3015. movl $1, %ecx
  3016. jmp ..B3.152
  3017. ..B3.151:
  3018. xorl %ecx, %ecx
  3019. ..B3.152:
  3020. movl %esi, %eax
  3021. mull 100(%esp)
  3022. movl %eax, %esi
  3023. addl %edx, %ecx
  3024. addl 44(%esp), %esi
  3025. movl 36(%esp), %edi
  3026. movl 84(%esp), %eax
  3027. adcl $0, %ecx
  3028. addl %edi, %eax
  3029. movl 40(%esp), %edx
  3030. adcl %edx, %ebx
  3031. movl %eax, 84(%esp)
  3032. subl %edi, %eax
  3033. movl %ebx, %edi
  3034. sbbl %edx, %edi
  3035. jae ..B3.154
  3036. ..B3.153:
  3037. movl $1, %edx
  3038. jmp ..B3.155
  3039. ..B3.154:
  3040. xorl %edx, %edx
  3041. ..B3.155:
  3042. addl %edx, %esi
  3043. movl %esi, 80(%esp)
  3044. adcl $0, %ecx
  3045. movl %ecx, 132(%esp)
  3046. movl 112(%esp), %ecx
  3047. movl %ecx, %edi
  3048. movl 32(%esp), %esi
  3049. movl %esi, %edx
  3050. movl %ebx, 88(%esp)
  3051. movl 108(%esp), %ebx
  3052. movl %ebx, %eax
  3053. imull %ebp, %edi
  3054. imull %ebx, %edx
  3055. addl %edx, %edi
  3056. mull %ebp
  3057. movl %eax, 40(%esp)
  3058. movl %ebx, %eax
  3059. addl %edi, %edx
  3060. movl %edx, 44(%esp)
  3061. mull %ebp
  3062. movl %ebp, %eax
  3063. movl %edx, %edi
  3064. mull %ecx
  3065. addl %eax, %edi
  3066. movl %ebx, %eax
  3067. movl %edx, %ecx
  3068. adcl $0, %ecx
  3069. mull %esi
  3070. addl %edi, %eax
  3071. movl 80(%esp), %esi
  3072. adcl %ecx, %edx
  3073. subl %edi, %eax
  3074. movl %edx, 48(%esp)
  3075. movl 88(%esp), %ebx
  3076. sbbl %ecx, %edx
  3077. movl 132(%esp), %ecx
  3078. jae ..B3.157
  3079. ..B3.156:
  3080. movl $1, %edi
  3081. jmp ..B3.158
  3082. ..B3.157:
  3083. xorl %edi, %edi
  3084. ..B3.158:
  3085. movl 32(%esp), %eax
  3086. mull 112(%esp)
  3087. addl %edx, %edi
  3088. addl 48(%esp), %eax
  3089. movl %eax, 36(%esp)
  3090. adcl $0, %edi
  3091. movl %edi, 52(%esp)
  3092. movl 40(%esp), %edi
  3093. movl 84(%esp), %eax
  3094. addl %edi, %eax
  3095. movl 44(%esp), %edx
  3096. adcl %edx, %ebx
  3097. movl %eax, 84(%esp)
  3098. subl %edi, %eax
  3099. movl %ebx, %edi
  3100. sbbl %edx, %edi
  3101. movl 52(%esp), %edi
  3102. jae ..B3.160
  3103. ..B3.159:
  3104. movl $1, 40(%esp)
  3105. jmp ..B3.161
  3106. ..B3.160:
  3107. movl $0, 40(%esp)
  3108. ..B3.161:
  3109. movl 40(%esp), %edx
  3110. addl %edx, %esi
  3111. movl %esi, %eax
  3112. adcl $0, %ecx
  3113. subl %edx, %eax
  3114. movl $0, %edx
  3115. movl %ecx, %eax
  3116. sbbl %edx, %eax
  3117. jae ..B3.163
  3118. ..B3.162:
  3119. movl $1, 48(%esp)
  3120. jmp ..B3.164
  3121. ..B3.163:
  3122. movl $0, 48(%esp)
  3123. ..B3.164:
  3124. movl 36(%esp), %edx
  3125. addl %edx, %esi
  3126. movl %esi, %eax
  3127. adcl %edi, %ecx
  3128. subl %edx, %eax
  3129. movl %ecx, %edx
  3130. sbbl %edi, %edx
  3131. jae ..B3.166
  3132. ..B3.165:
  3133. movl $1, %edx
  3134. jmp ..B3.167
  3135. ..B3.166:
  3136. xorl %edx, %edx
  3137. ..B3.167:
  3138. movl %esi, 80(%esp)
  3139. movl %ecx, 132(%esp)
  3140. movl 100(%esp), %ecx
  3141. movl %ecx, %edi
  3142. movl 32(%esp), %esi
  3143. addl %edx, 48(%esp)
  3144. movl %esi, %edx
  3145. movl %ebx, 88(%esp)
  3146. movl 104(%esp), %ebx
  3147. movl %ebx, %eax
  3148. imull %ebp, %edi
  3149. imull %ebx, %edx
  3150. addl %edx, %edi
  3151. mull %ebp
  3152. movl %eax, 36(%esp)
  3153. movl %ebx, %eax
  3154. addl %edi, %edx
  3155. movl %edx, 40(%esp)
  3156. mull %ebp
  3157. movl %ebp, %eax
  3158. movl %edx, %edi
  3159. mull %ecx
  3160. addl %eax, %edi
  3161. movl %ebx, %eax
  3162. movl %edx, %ebp
  3163. adcl $0, %ebp
  3164. mull %esi
  3165. addl %edi, %eax
  3166. movl 132(%esp), %ecx
  3167. adcl %ebp, %edx
  3168. subl %edi, %eax
  3169. movl %edx, 44(%esp)
  3170. movl 80(%esp), %esi
  3171. sbbl %ebp, %edx
  3172. movl 88(%esp), %ebx
  3173. jae ..B3.169
  3174. ..B3.168:
  3175. movl $1, %ebp
  3176. jmp ..B3.170
  3177. ..B3.169:
  3178. xorl %ebp, %ebp
  3179. ..B3.170:
  3180. movl 32(%esp), %eax
  3181. mull 100(%esp)
  3182. addl %edx, %ebp
  3183. addl 44(%esp), %eax
  3184. movl 36(%esp), %edi
  3185. adcl $0, %ebp
  3186. addl %edi, %esi
  3187. movl %esi, %edx
  3188. adcl 40(%esp), %ecx
  3189. subl %edi, %edx
  3190. movl %ecx, %edi
  3191. sbbl 40(%esp), %edi
  3192. jae ..B3.172
  3193. ..B3.171:
  3194. movl $1, %edx
  3195. jmp ..B3.173
  3196. ..B3.172:
  3197. xorl %edx, %edx
  3198. ..B3.173:
  3199. movl %ebx, 88(%esp)
  3200. movl 48(%esp), %ebx
  3201. addl %eax, %ebx
  3202. movl %esi, 80(%esp)
  3203. adcl $0, %ebp
  3204. addl %edx, %ebx
  3205. movl %ecx, 132(%esp)
  3206. movl 112(%esp), %ecx
  3207. movl %ecx, %edi
  3208. movl 64(%esp), %esi
  3209. movl %esi, %edx
  3210. adcl $0, %ebp
  3211. movl %ebx, 48(%esp)
  3212. movl %ebp, 44(%esp)
  3213. movl 68(%esp), %ebp
  3214. movl 108(%esp), %ebx
  3215. movl %ebx, %eax
  3216. imull %ebp, %edi
  3217. imull %ebx, %edx
  3218. addl %edx, %edi
  3219. mull %ebp
  3220. movl %eax, 32(%esp)
  3221. movl %ebx, %eax
  3222. addl %edi, %edx
  3223. movl %edx, 36(%esp)
  3224. mull %ebp
  3225. movl %ebp, %eax
  3226. movl %edx, %edi
  3227. mull %ecx
  3228. addl %eax, %edi
  3229. movl %ebx, %eax
  3230. movl %edx, %ebp
  3231. adcl $0, %ebp
  3232. mull %esi
  3233. addl %edi, %eax
  3234. movl 132(%esp), %ecx
  3235. adcl %ebp, %edx
  3236. subl %edi, %eax
  3237. movl %edx, 40(%esp)
  3238. movl 80(%esp), %esi
  3239. sbbl %ebp, %edx
  3240. movl 44(%esp), %ebp
  3241. movl 88(%esp), %ebx
  3242. jae ..B3.175
  3243. ..B3.174:
  3244. movl $1, 52(%esp)
  3245. jmp ..B3.176
  3246. ..B3.175:
  3247. movl $0, 52(%esp)
  3248. ..B3.176:
  3249. movl 64(%esp), %eax
  3250. mull 112(%esp)
  3251. movl 52(%esp), %edi
  3252. addl %edx, %edi
  3253. addl 40(%esp), %eax
  3254. movl %eax, 44(%esp)
  3255. movl 32(%esp), %eax
  3256. adcl $0, %edi
  3257. addl %eax, %esi
  3258. movl %esi, %edx
  3259. movl %edi, 52(%esp)
  3260. movl 36(%esp), %edi
  3261. adcl %edi, %ecx
  3262. subl %eax, %edx
  3263. movl %ecx, %eax
  3264. sbbl %edi, %eax
  3265. jae ..B3.178
  3266. ..B3.177:
  3267. movl $1, 32(%esp)
  3268. jmp ..B3.179
  3269. ..B3.178:
  3270. movl $0, 32(%esp)
  3271. ..B3.179:
  3272. movl %esi, 80(%esp)
  3273. movl 100(%esp), %edi
  3274. movl 68(%esp), %esi
  3275. movl 104(%esp), %eax
  3276. movl 64(%esp), %edx
  3277. imull %esi, %edi
  3278. imull %eax, %edx
  3279. addl %edx, %edi
  3280. mull %esi
  3281. movl %ecx, 132(%esp)
  3282. movl %eax, %ecx
  3283. movl %edx, %esi
  3284. addl %edi, %esi
  3285. addl 48(%esp), %ecx
  3286. movl 60(%esp), %edi
  3287. movl 56(%esp), %edx
  3288. adcl %ebp, %esi
  3289. movl 112(%esp), %ebp
  3290. movl 108(%esp), %eax
  3291. imull %edi, %ebp
  3292. imull %eax, %edx
  3293. addl %edx, %ebp
  3294. mull %edi
  3295. addl 44(%esp), %ecx
  3296. adcl 52(%esp), %esi
  3297. addl %ebp, %edx
  3298. addl 32(%esp), %ecx
  3299. adcl $0, %esi
  3300. addl %ecx, %eax
  3301. movl 196(%esp), %ecx
  3302. movl %ecx, %ebp
  3303. adcl %esi, %edx
  3304. negl %ebp
  3305. cmpl $0, 76(%esp)
  3306. movl %eax, 136(%esp)
  3307. jne ..L11
  3308. movl %ecx, %ebp
  3309. ..L11:
  3310. xorl %eax, %eax
  3311. shll $29, %ebp
  3312. addl %ebp, %edx
  3313. movl %eax, 40(%esp)
  3314. movl 84(%esp), %ebp
  3315. movl %edx, 152(%esp)
  3316. movl %eax, 36(%esp)
  3317. jmp ..B3.180
  3318. ..B3.214:
  3319. addl $64, 40(%esp)
  3320. movl 152(%esp), %ecx
  3321. movl 132(%esp), %edx
  3322. movl 80(%esp), %eax
  3323. movl 32(%esp), %esi
  3324. movl 44(%esp), %edi
  3325. movl %ebp, 80(%esp)
  3326. movl %ebx, 132(%esp)
  3327. movl 92(%esp), %ebp
  3328. movl 96(%esp), %ebx
  3329. adcl $0, 36(%esp)
  3330. andl $-536870912, %ecx
  3331. andl $536870911, %edx
  3332. orl %edx, %ecx
  3333. movl %eax, 136(%esp)
  3334. movl %ecx, 152(%esp)
  3335. movl %esi, 92(%esp)
  3336. movl %edi, 96(%esp)
  3337. ..B3.180:
  3338. movl 152(%esp), %eax
  3339. xorl %edx, %edx
  3340. lea 4194304(%eax), %ecx
  3341. andl $1065353216, %ecx
  3342. orl %edx, %ecx
  3343. jne ..B3.252
  3344. ..B3.181:
  3345. movl 120(%esp), %eax
  3346. movl 116(%esp), %esi
  3347. movl 124(%esp), %edi
  3348. movl (%eax), %edx
  3349. movl %edx, 116(%esp)
  3350. xorl %edx, %edx
  3351. movl 4(%eax), %ecx
  3352. addl $8, %eax
  3353. movl %ecx, 124(%esp)
  3354. movl %eax, 120(%esp)
  3355. orl 128(%esp), %edx
  3356. je ..B3.189
  3357. ..B3.182:
  3358. cmpl $31, 128(%esp)
  3359. jbe ..B3.184
  3360. ..B3.183:
  3361. movl %esi, %edi
  3362. xorl %edx, %edx
  3363. movl 128(%esp), %ecx
  3364. shll %cl, %edi
  3365. jmp ..B3.185
  3366. ..B3.184:
  3367. movl %esi, %edx
  3368. movl 128(%esp), %ecx
  3369. shldl %cl, %esi, %edi
  3370. shll %cl, %edx
  3371. ..B3.185:
  3372. cmpl $31, 72(%esp)
  3373. jbe ..B3.187
  3374. ..B3.186:
  3375. movl 72(%esp), %ecx
  3376. xorl %eax, %eax
  3377. movl 124(%esp), %esi
  3378. shrl %cl, %esi
  3379. jmp ..B3.188
  3380. ..B3.187:
  3381. movl 72(%esp), %ecx
  3382. movl 116(%esp), %esi
  3383. movl 124(%esp), %eax
  3384. shrdl %cl, %eax, %esi
  3385. shrl %cl, %eax
  3386. ..B3.188:
  3387. orl %edx, %esi
  3388. orl %eax, %edi
  3389. ..B3.189:
  3390. movl 112(%esp), %ecx
  3391. movl %edi, %edx
  3392. movl %ebx, 88(%esp)
  3393. movl %ecx, %ebx
  3394. movl %ebp, 84(%esp)
  3395. movl 108(%esp), %ebp
  3396. movl %ebp, %eax
  3397. imull %esi, %ebx
  3398. imull %ebp, %edx
  3399. addl %edx, %ebx
  3400. mull %esi
  3401. movl %eax, 32(%esp)
  3402. movl %ebp, %eax
  3403. addl %ebx, %edx
  3404. movl %edx, 44(%esp)
  3405. mull %esi
  3406. movl %esi, %eax
  3407. movl %edx, %ebx
  3408. mull %ecx
  3409. addl %eax, %ebx
  3410. movl %ebp, %eax
  3411. movl %edx, %ecx
  3412. adcl $0, %ecx
  3413. mull %edi
  3414. addl %ebx, %eax
  3415. movl 84(%esp), %ebp
  3416. adcl %ecx, %edx
  3417. subl %ebx, %eax
  3418. movl %edx, 56(%esp)
  3419. movl 88(%esp), %ebx
  3420. sbbl %ecx, %edx
  3421. jae ..B3.191
  3422. ..B3.190:
  3423. movl $1, %ecx
  3424. jmp ..B3.192
  3425. ..B3.191:
  3426. xorl %ecx, %ecx
  3427. ..B3.192:
  3428. movl 112(%esp), %eax
  3429. mull %edi
  3430. addl %edx, %ecx
  3431. addl 56(%esp), %eax
  3432. movl 92(%esp), %edx
  3433. adcl $0, %ecx
  3434. addl %eax, %edx
  3435. movl %ebp, 84(%esp)
  3436. movl 96(%esp), %ebp
  3437. adcl %ecx, %ebp
  3438. movl %edx, 92(%esp)
  3439. subl %eax, %edx
  3440. movl %ebp, 96(%esp)
  3441. sbbl %ecx, %ebp
  3442. movl 84(%esp), %ebp
  3443. jae ..B3.194
  3444. ..B3.193:
  3445. movl $1, %ecx
  3446. jmp ..B3.195
  3447. ..B3.194:
  3448. xorl %ecx, %ecx
  3449. ..B3.195:
  3450. movl 100(%esp), %edx
  3451. addl %ecx, %ebp
  3452. movl 104(%esp), %eax
  3453. movl %edi, 64(%esp)
  3454. adcl $0, %ebx
  3455. imull %esi, %edx
  3456. imull %eax, %edi
  3457. addl %edi, %edx
  3458. movl %ebp, %edi
  3459. movl %edx, 68(%esp)
  3460. mull %esi
  3461. addl 68(%esp), %edx
  3462. subl %ecx, %edi
  3463. movl $0, %ecx
  3464. movl %edx, 52(%esp)
  3465. movl %ebx, %edx
  3466. movl %eax, 48(%esp)
  3467. sbbl %ecx, %edx
  3468. movl 64(%esp), %edi
  3469. jae ..B3.198
  3470. ..B3.196:
  3471. movl $1, %ecx
  3472. ..B3.198:
  3473. movl 104(%esp), %eax
  3474. mull %esi
  3475. movl %esi, %eax
  3476. movl %ebp, 84(%esp)
  3477. movl %edx, %ebp
  3478. mull 100(%esp)
  3479. addl %eax, %ebp
  3480. movl %edx, %esi
  3481. movl 104(%esp), %eax
  3482. adcl $0, %esi
  3483. mull %edi
  3484. addl %ebp, %eax
  3485. adcl %esi, %edx
  3486. subl %ebp, %eax
  3487. movl %edx, 60(%esp)
  3488. movl 84(%esp), %ebp
  3489. sbbl %esi, %edx
  3490. jae ..B3.200
  3491. ..B3.199:
  3492. movl $1, %esi
  3493. jmp ..B3.201
  3494. ..B3.200:
  3495. xorl %esi, %esi
  3496. ..B3.201:
  3497. movl 100(%esp), %eax
  3498. mull %edi
  3499. addl %edx, %esi
  3500. addl 60(%esp), %eax
  3501. movl %eax, 140(%esp)
  3502. movl 48(%esp), %edx
  3503. adcl $0, %esi
  3504. movl 92(%esp), %eax
  3505. addl %edx, %eax
  3506. movl %esi, 144(%esp)
  3507. movl 52(%esp), %esi
  3508. movl 96(%esp), %edi
  3509. adcl %esi, %edi
  3510. movl %eax, 92(%esp)
  3511. subl %edx, %eax
  3512. movl %edi, 96(%esp)
  3513. movl 140(%esp), %eax
  3514. sbbl %esi, %edi
  3515. movl 144(%esp), %esi
  3516. jae ..B3.203
  3517. ..B3.202:
  3518. movl $1, %edx
  3519. jmp ..B3.204
  3520. ..B3.203:
  3521. xorl %edx, %edx
  3522. ..B3.204:
  3523. addl %edx, %ebp
  3524. movl %ebp, %edi
  3525. adcl $0, %ebx
  3526. subl %edx, %edi
  3527. movl $0, %edx
  3528. movl %ebx, %edi
  3529. sbbl %edx, %edi
  3530. jae ..B3.207
  3531. ..B3.205:
  3532. movl $1, %edx
  3533. ..B3.207:
  3534. addl %eax, %ebp
  3535. adcl %esi, %ebx
  3536. addl %edx, %ecx
  3537. movl %ebp, %edx
  3538. subl %eax, %edx
  3539. movl %ebx, %eax
  3540. sbbl %esi, %eax
  3541. jae ..B3.209
  3542. ..B3.208:
  3543. movl $1, %eax
  3544. jmp ..B3.210
  3545. ..B3.209:
  3546. xorl %eax, %eax
  3547. ..B3.210:
  3548. addl %eax, %ecx
  3549. xorl %eax, %eax
  3550. orl %eax, %ecx
  3551. je ..B3.213
  3552. ..B3.211:
  3553. movl 80(%esp), %eax
  3554. addl $1, %eax
  3555. movl 132(%esp), %edx
  3556. adcl $0, %edx
  3557. movl %eax, 80(%esp)
  3558. orl %edx, %eax
  3559. movl %edx, 132(%esp)
  3560. jne ..B3.213
  3561. ..B3.212:
  3562. addl $1, 136(%esp)
  3563. adcl $0, 152(%esp)
  3564. ..B3.213:
  3565. movl 136(%esp), %ecx
  3566. movl %ecx, %eax
  3567. movl 152(%esp), %esi
  3568. shrl $23, %eax
  3569. shll $9, %esi
  3570. orl %esi, %eax
  3571. movl 132(%esp), %edx
  3572. movl %eax, %edi
  3573. shrl $23, %edx
  3574. shll $9, %ecx
  3575. sarl $31, %edi
  3576. orl %ecx, %edx
  3577. xorl %edi, %edx
  3578. xorl %edi, %eax
  3579. orl %eax, %edx
  3580. jne ..B3.230
  3581. jmp ..B3.214
  3582. ..B3.215:
  3583. movl 148(%esp), %ebx
  3584. call __stack_chk_fail@PLT
  3585. ..B3.216:
  3586. movl 32(%ebx), %edx
  3587. orl 36(%ebx), %edx
  3588. jne ..B3.218
  3589. ..B3.217:
  3590. movl $0, 24(%ebx)
  3591. jmp ..B3.117
  3592. ..B3.218:
  3593. movl 44(%esp), %ecx
  3594. xorl %edx, %edx
  3595. incl %ecx
  3596. andl $2, %ecx
  3597. orl %edx, %ecx
  3598. je ..B3.117
  3599. ..B3.219:
  3600. xorl $-2147483648, 24(%ebx)
  3601. jmp ..B3.117
  3602. ..B3.220:
  3603. xorl %edx, %edx
  3604. orl %edx, %ebx
  3605. je ..B3.222
  3606. ..B3.221:
  3607. movl $512, %ecx
  3608. jmp ..B3.223
  3609. ..B3.222:
  3610. xorl %ecx, %ecx
  3611. ..B3.223:
  3612. orl $462, %ecx
  3613. jmp ..B3.113
  3614. ..B3.224:
  3615. movl 192(%esp), %edx
  3616. xorl %eax, %eax
  3617. xorl $-2147483648, 68(%esp)
  3618. movl 16(%edx), %ecx
  3619. movl 20(%edx), %esi
  3620. xorl %edx, %edx
  3621. subl %ecx, %edx
  3622. sbbl %esi, %eax
  3623. orl %esi, %ecx
  3624. je ..B3.226
  3625. ..B3.225:
  3626. movl $1, %ecx
  3627. jmp ..B3.227
  3628. ..B3.226:
  3629. xorl %ecx, %ecx
  3630. ..B3.227:
  3631. movl 192(%esp), %esi
  3632. addl %ecx, %ebp
  3633. adcl $0, %ebx
  3634. movl %edx, 16(%esi)
  3635. xorl %edx, %edx
  3636. movl %eax, 20(%esi)
  3637. movl %ebp, %eax
  3638. xorl %ebp, %ebp
  3639. movl %ebx, %ecx
  3640. xorl %ebx, %ebx
  3641. subl %eax, %ebp
  3642. sbbl %ecx, %ebx
  3643. jmp ..B3.81
  3644. ..B3.228:
  3645. movl 72(%esp), %esi
  3646. movl 192(%esp), %ebp
  3647. movl 8(%ebp,%esi,8), %eax
  3648. movl 12(%ebp,%esi,8), %edi
  3649. jmp ..B3.59
  3650. ..B3.229:
  3651. movl $1, %edi
  3652. xorl %eax, %eax
  3653. jmp ..B3.49
  3654. ..B3.230:
  3655. movl %ebp, 84(%esp)
  3656. movl 132(%esp), %ecx
  3657. movl 80(%esp), %esi
  3658. movl 152(%esp), %edx
  3659. ..B3.231:
  3660. movl 136(%esp), %edi
  3661. lea (,%edx,4), %eax
  3662. movl %edi, %ebp
  3663. sarl $2, %eax
  3664. subl %edi, %ebp
  3665. movl %ebp, 32(%esp)
  3666. movl %eax, %ebp
  3667. sbbl %eax, %edx
  3668. sarl $31, %ebp
  3669. subl %ebp, %edi
  3670. negl %ebp
  3671. addl %eax, %ebp
  3672. movl %eax, 36(%esp)
  3673. orl %ebp, %edi
  3674. jne ..B3.233
  3675. ..B3.232:
  3676. movl %ecx, %eax
  3677. movl %ebx, %ecx
  3678. movl 92(%esp), %ebx
  3679. movl %esi, 136(%esp)
  3680. movl 84(%esp), %esi
  3681. movl %ebx, 84(%esp)
  3682. movl 96(%esp), %ebx
  3683. addl $64, 40(%esp)
  3684. ..B3.233:
  3685. xorl %ebp, %ebp
  3686. movl 36(%esp), %edi
  3687. subl %ebp, %edi
  3688. jge ..B3.236
  3689. ..B3.235:
  3690. movl $-2147483648, %ebp
  3691. ..B3.236:
  3692. testl %ebp, %ebp
  3693. je ..B3.244
  3694. ..B3.237:
  3695. movl 84(%esp), %edi
  3696. notl %ebx
  3697. notl %edi
  3698. notl %eax
  3699. addl $1, %edi
  3700. notl %esi
  3701. movl %edi, 84(%esp)
  3702. notl %ecx
  3703. adcl $0, %ebx
  3704. notl 136(%esp)
  3705. orl %ebx, %edi
  3706. jne ..B3.239
  3707. ..B3.238:
  3708. movl $1, %edi
  3709. jmp ..B3.240
  3710. ..B3.239:
  3711. xorl %edi, %edi
  3712. ..B3.240:
  3713. addl %edi, %esi
  3714. movl %esi, %edi
  3715. adcl $0, %ecx
  3716. orl %ecx, %edi
  3717. jne ..B3.242
  3718. ..B3.241:
  3719. movl $1, %edi
  3720. jmp ..B3.243
  3721. ..B3.242:
  3722. xorl %edi, %edi
  3723. ..B3.243:
  3724. addl %edi, 136(%esp)
  3725. adcl $0, %eax
  3726. ..B3.244:
  3727. xorl %edi, %edi
  3728. movl %ebx, 88(%esp)
  3729. xorl %ebx, %ebx
  3730. subl 32(%esp), %ebx
  3731. movl 76(%esp), %ebx
  3732. sbbl %edx, %edi
  3733. testl %ebx, %ebx
  3734. movl $3, 52(%esp)
  3735. jne ..L12
  3736. movl %edx, %edi
  3737. ..L12:
  3738. xorl %ebx, %ebp
  3739. movl %ebp, 48(%esp)
  3740. movl 136(%esp), %ebp
  3741. movl %edi, 44(%esp)
  3742. movl %ebp, 56(%esp)
  3743. movl %eax, 60(%esp)
  3744. movl %esi, 64(%esp)
  3745. movl %ecx, 68(%esp)
  3746. addl $12, %esp
  3747. xorl %ecx, %ecx
  3748. lea 36(%esp), %esi
  3749. pushl %ecx
  3750. pushl %ecx
  3751. pushl %esi
  3752. movl 40(%esi), %ebx
  3753. call __dpml_ffs_and_shift__
  3754. ..B3.245:
  3755. movl 52(%esp), %eax
  3756. movl %eax, %ecx
  3757. cltd
  3758. addl $-3, %ecx
  3759. adcl $-1, %edx
  3760. orl %ecx, %edx
  3761. je ..B3.250
  3762. ..B3.246:
  3763. addl $64, %ecx
  3764. movl 64(%esp), %esi
  3765. cmpl $31, %ecx
  3766. movl 68(%esp), %ebp
  3767. jbe ..B3.248
  3768. ..B3.247:
  3769. shrl %cl, %ebx
  3770. xorl %edx, %edx
  3771. movl %ebx, 84(%esp)
  3772. jmp ..B3.249
  3773. ..B3.248:
  3774. movl 84(%esp), %edx
  3775. shrdl %cl, %ebx, %edx
  3776. movl %edx, 84(%esp)
  3777. movl %ebx, %edx
  3778. shrl %cl, %edx
  3779. ..B3.249:
  3780. orl 84(%esp), %esi
  3781. orl %edx, %ebp
  3782. movl %esi, 64(%esp)
  3783. movl %ebp, 68(%esp)
  3784. ..B3.250:
  3785. subl 40(%esp), %eax
  3786. movl %eax, 52(%esp)
  3787. addl $12, %esp
  3788. lea 36(%esp), %ecx
  3789. pushl %ecx
  3790. movl 100(%ecx), %eax
  3791. lea 1008+__trig_x_table@GOTOFF(%eax), %edx
  3792. pushl %edx
  3793. pushl %ecx
  3794. call __dpml_multiply__
  3795. ..B3.251:
  3796. shrl $30, 44(%esp)
  3797. xorl %ebx, %ebx
  3798. jmp ..B3.103
  3799. ..B3.252:
  3800. movl %ebp, 84(%esp)
  3801. movl 132(%esp), %ecx
  3802. movl 80(%esp), %esi
  3803. movl %eax, %edx
  3804. jmp ..B3.231
  3805. ..B3.253:
  3806. movl %esi, %eax
  3807. sarl $31, %eax
  3808. movl 196(%esp), %ebp
  3809. cltd
  3810. addl %ebp, %eax
  3811. movl %eax, %ebx
  3812. adcl 200(%esp), %edx
  3813. andl $1, %ebx
  3814. addl %ebx, %eax
  3815. movl %eax, %ecx
  3816. adcl $0, %edx
  3817. shrl $1, %ecx
  3818. subl %eax, %ebp
  3819. movl %ecx, 44(%esp)
  3820. movl %edx, %ebx
  3821. movl 200(%esp), %ecx
  3822. sbbl %edx, %ecx
  3823. sarl $1, %ebx
  3824. orl %ecx, %ebp
  3825. je ..B3.258
  3826. ..B3.254:
  3827. xorl %eax, %eax
  3828. subl %eax, %ecx
  3829. jge ..B3.257
  3830. ..B3.256:
  3831. movl $1, %eax
  3832. ..B3.257:
  3833. addl $20, %esp
  3834. lea 28(%esp), %edx
  3835. pushl %edx
  3836. pushl $0
  3837. pushl %eax
  3838. movl 100(%edx), %eax
  3839. lea 1008+__trig_x_table@GOTOFF(%eax), %ecx
  3840. pushl %ecx
  3841. pushl 188(%esp)
  3842. call __dpml_addsub__
  3843. jmp ..B3.103
  3844. ..B3.258:
  3845. movl %esi, %eax
  3846. movl %edi, %edx
  3847. movl 104(%esp), %ecx
  3848. movl 100(%esp), %ebp
  3849. movl 108(%esp), %esi
  3850. movl 112(%esp), %edi
  3851. movl %eax, 48(%esp)
  3852. movl %edx, 52(%esp)
  3853. movl %ecx, 56(%esp)
  3854. movl %ebp, 60(%esp)
  3855. movl %esi, 64(%esp)
  3856. movl %edi, 68(%esp)
  3857. jmp ..B3.103
  3858. .align 16,0x90
  3859. .type __dpml_ux_sincos,@function
  3860. .size __dpml_ux_sincos,.-__dpml_ux_sincos
  3861. .data
  3862. # -- End __dpml_ux_sincos
  3863. .section .rodata, "a"
  3864. .align 4
  3865. .align 4
  3866. __trig_x_table:
  3867. .long 15442952
  3868. .long 1678786816
  3869. .long 15709192
  3870. .long 1414612240
  3871. .long 15975432
  3872. .long 1141915904
  3873. .long 16241672
  3874. .long 873463808
  3875. .long 16507912
  3876. .long 609305872
  3877. .long 16774152
  3878. .long 336592896
  3879. .long 2
  3880. .long 0
  3881. .long 103
  3882. .long 0
  3883. .long 22
  3884. .long 0
  3885. .long 104
  3886. .long 0
  3887. .long 107
  3888. .long 0
  3889. .long 23
  3890. .long 0
  3891. .long 105
  3892. .long 0
  3893. .long 15176712
  3894. .long 336609536
  3895. .long 115
  3896. .long 0
  3897. .long 15176712
  3898. .long 336592896
  3899. .long 118
  3900. .long 0
  3901. .long 15176712
  3902. .long 519700480
  3903. .long 28
  3904. .long 0
  3905. .long 29
  3906. .long 0
  3907. .long 30
  3908. .long 0
  3909. .long 15176712
  3910. .long 528281504
  3911. .long 34
  3912. .long 0
  3913. .long 32
  3914. .long 0
  3915. .long 33
  3916. .long 0
  3917. .long 35
  3918. .long 0
  3919. .long 36
  3920. .long 0
  3921. .long 0
  3922. .long 4294967291
  3923. .long 2498349230
  3924. .long 2398762258
  3925. .long 2491794649
  3926. .long 247854702
  3927. .long 0
  3928. .long 0
  3929. .long 0
  3930. .long 1073676288
  3931. .long 95443718
  3932. .long 1527099483
  3933. .long 1431655766
  3934. .long 357913941
  3935. .long 2657305954
  3936. .long 3
  3937. .long 0
  3938. .long 0
  3939. .long 3705764381
  3940. .long 2553
  3941. .long 0
  3942. .long 0
  3943. .long 138031221
  3944. .long 1532340
  3945. .long 0
  3946. .long 0
  3947. .long 2983678984
  3948. .long 775364077
  3949. .long 0
  3950. .long 0
  3951. .long 20739419
  3952. .long 3530365445
  3953. .long 75
  3954. .long 0
  3955. .long 674366505
  3956. .long 499172021
  3957. .long 25931
  3958. .long 0
  3959. .long 1191312077
  3960. .long 2630803580
  3961. .long 7053263
  3962. .long 0
  3963. .long 2382099329
  3964. .long 2712937970
  3965. .long 1481185358
  3966. .long 0
  3967. .long 2412211635
  3968. .long 2311528398
  3969. .long 3431649258
  3970. .long 53
  3971. .long 3364759590
  3972. .long 865053377
  3973. .long 3819263687
  3974. .long 5917
  3975. .long 1745256079
  3976. .long 2154301056
  3977. .long 109078534
  3978. .long 426088
  3979. .long 286331142
  3980. .long 286331153
  3981. .long 286331153
  3982. .long 17895697
  3983. .long 1431655765
  3984. .long 1431655765
  3985. .long 1431655765
  3986. .long 357913941
  3987. .long 0
  3988. .long 0
  3989. .long 0
  3990. .long 2147483648
  3991. .long 1
  3992. .long 0
  3993. .long 2851833826
  3994. .long 97
  3995. .long 0
  3996. .long 0
  3997. .long 1768459388
  3998. .long 63846
  3999. .long 0
  4000. .long 0
  4001. .long 2009193996
  4002. .long 35243820
  4003. .long 0
  4004. .long 0
  4005. .long 1368406537
  4006. .long 3397743743
  4007. .long 3
  4008. .long 0
  4009. .long 3946395699
  4010. .long 2652434014
  4011. .long 1440
  4012. .long 0
  4013. .long 2553743692
  4014. .long 4190957063
  4015. .long 440828
  4016. .long 0
  4017. .long 595011843
  4018. .long 807348040
  4019. .long 105798954
  4020. .long 0
  4021. .long 883371940
  4022. .long 908455249
  4023. .long 2075540478
  4024. .long 4
  4025. .long 761938407
  4026. .long 3951975904
  4027. .long 3388403475
  4028. .long 591
  4029. .long 217841633
  4030. .long 3490513104
  4031. .long 13634816
  4032. .long 53261
  4033. .long 3626846480
  4034. .long 2195205506
  4035. .long 763549741
  4036. .long 2982616
  4037. .long 1431655403
  4038. .long 1431655765
  4039. .long 1431655765
  4040. .long 89478485
  4041. .long 4294967292
  4042. .long 4294967295
  4043. .long 4294967295
  4044. .long 1073741823
  4045. .long 0
  4046. .long 0
  4047. .long 0
  4048. .long 2147483648
  4049. .long 1
  4050. .long 0
  4051. .long 0
  4052. .long 0
  4053. .long 0
  4054. .long 0
  4055. .long 2877741414
  4056. .long 48456580
  4057. .long 4555740
  4058. .long 0
  4059. .long 3312728015
  4060. .long 4268104823
  4061. .long 3744444631
  4062. .long 1
  4063. .long 6483522
  4064. .long 3858350617
  4065. .long 1187701358
  4066. .long 879
  4067. .long 3780777519
  4068. .long 2626127639
  4069. .long 2801410624
  4070. .long 158172
  4071. .long 3864078256
  4072. .long 3316933375
  4073. .long 1275824684
  4074. .long 11667904
  4075. .long 1744149096
  4076. .long 2725495384
  4077. .long 3617949641
  4078. .long 318163395
  4079. .long 0
  4080. .long 0
  4081. .long 0
  4082. .long 2147483648
  4083. .long 1
  4084. .long 0
  4085. .long 3422290646
  4086. .long 426546810
  4087. .long 43450
  4088. .long 0
  4089. .long 3479121894
  4090. .long 3493673009
  4091. .long 236644653
  4092. .long 0
  4093. .long 4247003031
  4094. .long 1084451344
  4095. .long 1285072157
  4096. .long 46
  4097. .long 1927283714
  4098. .long 2972340862
  4099. .long 2243521359
  4100. .long 13184
  4101. .long 739625925
  4102. .long 4125699428
  4103. .long 1446479475
  4104. .long 1522115
  4105. .long 2250255868
  4106. .long 2030226330
  4107. .long 3149913922
  4108. .long 70000510
  4109. .long 312493331
  4110. .long 1293839619
  4111. .long 2186293876
  4112. .long 1033991278
  4113. .long 0
  4114. .long 0
  4115. .long 0
  4116. .long 2147483648
  4117. .long 1
  4118. .long 0
  4119. .long 0
  4120. .long 0
  4121. .long 560513588
  4122. .long 3373259426
  4123. .long 2161908945
  4124. .long 3301335691
  4125. .long 0
  4126. .long 0
  4127. .type __trig_x_table,@object
  4128. .size __trig_x_table,1040
  4129. .data
  4130. .hidden __dpml_multiply__
  4131. .hidden __dpml_ffs_and_shift__
  4132. .hidden __dpml_addsub__
  4133. .hidden __dpml_evaluate_rational__
  4134. .section .note.GNU-stack, ""
  4135. # End