lgammaf.S 151 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068
  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 "lgammaf.c"
  38. .text
  39. ..TXTST0:
  40. # -- Begin lgammaf
  41. .text
  42. .align 16,0x90
  43. .globl lgammaf
  44. lgammaf:
  45. # parameter 1: %xmm0
  46. ..B1.1:
  47. .cfi_startproc
  48. ..___tag_value_lgammaf.1:
  49. ..L2:
  50. pushq %r12
  51. .cfi_def_cfa_offset 16
  52. .cfi_offset 12, -16
  53. pushq %r13
  54. .cfi_def_cfa_offset 24
  55. .cfi_offset 13, -24
  56. pushq %r14
  57. .cfi_def_cfa_offset 32
  58. .cfi_offset 14, -32
  59. pushq %r15
  60. .cfi_def_cfa_offset 40
  61. .cfi_offset 15, -40
  62. pushq %rbx
  63. .cfi_def_cfa_offset 48
  64. .cfi_offset 3, -48
  65. pushq %rbp
  66. .cfi_def_cfa_offset 56
  67. .cfi_offset 6, -56
  68. subq $120, %rsp
  69. .cfi_def_cfa_offset 176
  70. xorb %r12b, %r12b
  71. movss %xmm0, 112(%rsp)
  72. xorb %bpl, %bpl
  73. movzwl 114(%rsp), %r15d
  74. andl $32640, %r15d
  75. movd %xmm0, %eax
  76. shrl $7, %r15d
  77. andl $8388607, %eax
  78. movl %r15d, %r14d
  79. shll $23, %r14d
  80. movb 115(%rsp), %r13b
  81. orl %eax, %r14d
  82. andb $-128, %r13b
  83. ..B1.2:
  84. fnstcw 110(%rsp)
  85. ..B1.3:
  86. ..___tag_value_lgammaf.16:
  87. call fegetround@PLT
  88. ..___tag_value_lgammaf.17:
  89. ..B1.156:
  90. movl %eax, %ebx
  91. ..B1.4:
  92. testl %ebx, %ebx
  93. je ..B1.6
  94. ..B1.5:
  95. xorl %edi, %edi
  96. movb $1, %r12b
  97. ..___tag_value_lgammaf.18:
  98. call fesetround@PLT
  99. ..___tag_value_lgammaf.19:
  100. ..B1.6:
  101. movzwl 110(%rsp), %edx
  102. movl %edx, %eax
  103. andl $768, %eax
  104. cmpl $768, %eax
  105. je ..B1.10
  106. ..B1.7:
  107. orl $-64768, %edx
  108. movw %dx, 108(%rsp)
  109. ..B1.8:
  110. fldcw 108(%rsp)
  111. ..B1.9:
  112. movb $1, %bpl
  113. ..B1.10:
  114. cmpl $255, %r15d
  115. jne ..B1.16
  116. ..B1.11:
  117. testb %bpl, %bpl
  118. je ..B1.13
  119. ..B1.12:
  120. fldcw 110(%rsp)
  121. ..B1.13:
  122. testb %r12b, %r12b
  123. je ..B1.15
  124. ..B1.14:
  125. movl %ebx, %edi
  126. ..___tag_value_lgammaf.20:
  127. call fesetround@PLT
  128. ..___tag_value_lgammaf.21:
  129. ..B1.15:
  130. movss 112(%rsp), %xmm0
  131. mulss %xmm0, %xmm0
  132. addq $120, %rsp
  133. .cfi_def_cfa_offset 56
  134. .cfi_restore 6
  135. popq %rbp
  136. .cfi_def_cfa_offset 48
  137. .cfi_restore 3
  138. popq %rbx
  139. .cfi_def_cfa_offset 40
  140. .cfi_restore 15
  141. popq %r15
  142. .cfi_def_cfa_offset 32
  143. .cfi_restore 14
  144. popq %r14
  145. .cfi_def_cfa_offset 24
  146. .cfi_restore 13
  147. popq %r13
  148. .cfi_def_cfa_offset 16
  149. .cfi_restore 12
  150. popq %r12
  151. .cfi_def_cfa_offset 8
  152. ret
  153. .cfi_def_cfa_offset 176
  154. .cfi_offset 3, -48
  155. .cfi_offset 6, -56
  156. .cfi_offset 12, -16
  157. .cfi_offset 13, -24
  158. .cfi_offset 14, -32
  159. .cfi_offset 15, -40
  160. ..B1.16:
  161. testl %r14d, %r14d
  162. je ..B1.149
  163. ..B1.17:
  164. testb %r13b, %r13b
  165. jne ..B1.74
  166. ..B1.18:
  167. cmpl $2084876174, %r14d
  168. jae ..B1.136
  169. ..B1.19:
  170. movss 112(%rsp), %xmm0
  171. ucomiss .L_2il0floatpacket.6(%rip), %xmm0
  172. jp ..B1.20
  173. je ..B1.131
  174. ..B1.20:
  175. cmpl $1174405120, %r14d
  176. jb ..B1.26
  177. ..B1.21:
  178. fldt .L_2il0floatpacket.1(%rip)
  179. lea _LN_SQRT_TWO_PI(%rip), %rax
  180. movss %xmm0, 56(%rsp)
  181. pxor %xmm0, %xmm0
  182. flds 56(%rsp)
  183. cvtss2sd 56(%rsp), %xmm0
  184. fsub %st, %st(1)
  185. fxch %st(1)
  186. fstpt (%rsp)
  187. fstps 32(%rsp)
  188. fldt (%rax)
  189. fstpt 16(%rsp)
  190. call log@PLT
  191. ..B1.157:
  192. fldt (%rsp)
  193. testb %r12b, %r12b
  194. movsd %xmm0, 56(%rsp)
  195. fmull 56(%rsp)
  196. fstpt (%rsp)
  197. je ..B1.23
  198. ..B1.22:
  199. movl %ebx, %edi
  200. ..___tag_value_lgammaf.42:
  201. call fesetround@PLT
  202. ..___tag_value_lgammaf.43:
  203. ..B1.23:
  204. fldt (%rsp)
  205. testb %bpl, %bpl
  206. fldt 16(%rsp)
  207. faddp %st, %st(1)
  208. fsubs 32(%rsp)
  209. fstps 104(%rsp)
  210. je ..B1.124
  211. ..B1.24:
  212. fldcw 110(%rsp)
  213. jmp ..B1.124
  214. ..B1.26:
  215. cmpl $1082130432, %r14d
  216. jb ..B1.33
  217. ..B1.27:
  218. addl $-1082130432, %r14d
  219. lea _A(%rip), %rax
  220. sarl $23, %r14d
  221. lea _B(%rip), %rdx
  222. movslq %r14d, %r14
  223. lea _C5(%rip), %r8
  224. movss %xmm0, 56(%rsp)
  225. lea (,%r14,8), %ecx
  226. flds 56(%rsp)
  227. lea (%r14,%r14,2), %esi
  228. movslq %ecx, %rcx
  229. lea _C5_0(%rip), %r9
  230. movslq %esi, %rsi
  231. testb %r12b, %r12b
  232. fsubs (%rax,%r14,4)
  233. fmuls (%rdx,%r14,4)
  234. fld %st(0)
  235. fmul %st(1), %st
  236. fldl 8(%r8,%rcx,8)
  237. fmul %st(1), %st
  238. fldl (%r8,%rcx,8)
  239. fmul %st(2), %st
  240. fxch %st(1)
  241. faddl 40(%r8,%rcx,8)
  242. fmul %st(2), %st
  243. fxch %st(1)
  244. faddl 32(%r8,%rcx,8)
  245. fmul %st(2), %st
  246. fxch %st(1)
  247. faddl 8(%r9,%rsi,8)
  248. fmul %st(2), %st
  249. fxch %st(1)
  250. faddl (%r9,%rsi,8)
  251. fmul %st(2), %st
  252. fxch %st(1)
  253. faddl 56(%r8,%rcx,8)
  254. fmul %st(2), %st
  255. fxch %st(1)
  256. faddl 48(%r8,%rcx,8)
  257. fmul %st(2), %st
  258. fxch %st(1)
  259. faddl 24(%r8,%rcx,8)
  260. fmulp %st, %st(3)
  261. fxch %st(2)
  262. fstpt 80(%rsp)
  263. fldt 80(%rsp)
  264. fxch %st(2)
  265. faddl 16(%r8,%rcx,8)
  266. fmulp %st, %st(1)
  267. faddl 16(%r9,%rsi,8)
  268. fstpt (%rsp)
  269. je ..B1.30
  270. ..B1.28:
  271. fstp %st(0)
  272. movl %ebx, %edi
  273. ..___tag_value_lgammaf.44:
  274. call fesetround@PLT
  275. ..___tag_value_lgammaf.45:
  276. ..B1.29:
  277. fldt 80(%rsp)
  278. ..B1.30:
  279. fldt (%rsp)
  280. testb %bpl, %bpl
  281. faddp %st, %st(1)
  282. fstps 104(%rsp)
  283. je ..B1.124
  284. ..B1.31:
  285. fldcw 110(%rsp)
  286. jmp ..B1.124
  287. ..B1.33:
  288. ucomiss .L_2il0floatpacket.4(%rip), %xmm0
  289. jp ..B1.34
  290. je ..B1.126
  291. ..B1.34:
  292. movss %xmm0, 56(%rsp)
  293. cmpl $1073741824, %r14d
  294. flds 56(%rsp)
  295. jbe ..B1.40
  296. ..B1.35:
  297. fldt .L_2il0floatpacket.5(%rip)
  298. fld %st(1)
  299. lea _C4(%rip), %r9
  300. lea 8+_C4(%rip), %rax
  301. fmul %st(2), %st
  302. lea 32+_C4(%rip), %r10
  303. fldl (%rax)
  304. lea 40+_C4(%rip), %rdx
  305. fmul %st(1), %st
  306. lea 64+_C4(%rip), %r11
  307. fldl (%r9)
  308. lea 72+_C4(%rip), %rcx
  309. fmul %st(2), %st
  310. fxch %st(1)
  311. faddl (%rdx)
  312. fmul %st(2), %st
  313. fxch %st(1)
  314. faddl (%r10)
  315. fmul %st(2), %st
  316. fxch %st(1)
  317. faddl (%rcx)
  318. lea 48+_C4(%rip), %r13
  319. lea 56+_C4(%rip), %rsi
  320. fmul %st(2), %st
  321. fxch %st(1)
  322. faddl (%r11)
  323. fmul %st(2), %st
  324. fxch %st(1)
  325. faddl (%rsi)
  326. lea 16+_C4(%rip), %r14
  327. lea 24+_C4(%rip), %r8
  328. fmul %st(2), %st
  329. fxch %st(1)
  330. faddl (%r13)
  331. fmul %st(2), %st
  332. fxch %st(1)
  333. faddl (%r8)
  334. lea 80+_C4(%rip), %r15
  335. testb %r12b, %r12b
  336. fmul %st(4), %st
  337. fstpt 80(%rsp)
  338. fldt 80(%rsp)
  339. fxch %st(3)
  340. fsubrp %st, %st(4)
  341. faddl (%r14)
  342. fmulp %st, %st(1)
  343. faddl (%r15)
  344. faddp %st, %st(1)
  345. fmulp %st, %st(1)
  346. fstpt (%rsp)
  347. je ..B1.37
  348. ..B1.36:
  349. movl %ebx, %edi
  350. ..___tag_value_lgammaf.46:
  351. call fesetround@PLT
  352. ..___tag_value_lgammaf.47:
  353. ..B1.37:
  354. fldt (%rsp)
  355. testb %bpl, %bpl
  356. fstps 104(%rsp)
  357. je ..B1.124
  358. ..B1.38:
  359. fldcw 110(%rsp)
  360. jmp ..B1.124
  361. ..B1.40:
  362. cmpl $1071644672, %r14d
  363. jb ..B1.47
  364. ..B1.41:
  365. fld %st(0)
  366. lea 16+_C3(%rip), %rax
  367. fmul %st(1), %st
  368. lea 48+_C3(%rip), %rdx
  369. fldl (%rax)
  370. lea 32+_C3(%rip), %rcx
  371. fmul %st(1), %st
  372. lea 64+_C3(%rip), %rsi
  373. lea 8+_C3(%rip), %r8
  374. lea 40+_C3(%rip), %r9
  375. lea 24+_C3(%rip), %r10
  376. lea 56+_C3(%rip), %r11
  377. lea _C3(%rip), %r13
  378. testb %r12b, %r12b
  379. faddl (%rdx)
  380. fmul %st(1), %st
  381. faddl (%rcx)
  382. fmul %st(1), %st
  383. faddl (%rsi)
  384. fmulp %st, %st(2)
  385. fxch %st(1)
  386. fstpt 80(%rsp)
  387. fldt 80(%rsp)
  388. fldl (%r8)
  389. fmul %st(2), %st
  390. faddl (%r9)
  391. fmul %st(2), %st
  392. faddl (%r10)
  393. fmul %st(2), %st
  394. faddl (%r11)
  395. fmulp %st, %st(2)
  396. fxch %st(1)
  397. faddl (%r13)
  398. fstpt (%rsp)
  399. je ..B1.44
  400. ..B1.42:
  401. fstp %st(0)
  402. movl %ebx, %edi
  403. ..___tag_value_lgammaf.48:
  404. call fesetround@PLT
  405. ..___tag_value_lgammaf.49:
  406. ..B1.43:
  407. fldt 80(%rsp)
  408. ..B1.44:
  409. fldt (%rsp)
  410. testb %bpl, %bpl
  411. faddp %st, %st(1)
  412. fstps 104(%rsp)
  413. je ..B1.124
  414. ..B1.45:
  415. fldcw 110(%rsp)
  416. jmp ..B1.124
  417. ..B1.47:
  418. cmpl $1069547520, %r14d
  419. jb ..B1.54
  420. ..B1.48:
  421. fld %st(0)
  422. lea 16+_LGAMMAF_C2(%rip), %rax
  423. fmul %st(1), %st
  424. lea 48+_LGAMMAF_C2(%rip), %rdx
  425. fldl (%rax)
  426. lea 32+_LGAMMAF_C2(%rip), %rcx
  427. fmul %st(1), %st
  428. lea 64+_LGAMMAF_C2(%rip), %rsi
  429. lea 8+_LGAMMAF_C2(%rip), %r8
  430. lea 40+_LGAMMAF_C2(%rip), %r9
  431. lea 24+_LGAMMAF_C2(%rip), %r10
  432. lea 56+_LGAMMAF_C2(%rip), %r11
  433. lea _LGAMMAF_C2(%rip), %r13
  434. testb %r12b, %r12b
  435. faddl (%rdx)
  436. fmul %st(1), %st
  437. faddl (%rcx)
  438. fmul %st(1), %st
  439. faddl (%rsi)
  440. fmulp %st, %st(2)
  441. fxch %st(1)
  442. fstpt 80(%rsp)
  443. fldt 80(%rsp)
  444. fldl (%r8)
  445. fmul %st(2), %st
  446. faddl (%r9)
  447. fmul %st(2), %st
  448. faddl (%r10)
  449. fmul %st(2), %st
  450. faddl (%r11)
  451. fmulp %st, %st(2)
  452. fxch %st(1)
  453. faddl (%r13)
  454. fstpt (%rsp)
  455. je ..B1.51
  456. ..B1.49:
  457. fstp %st(0)
  458. movl %ebx, %edi
  459. ..___tag_value_lgammaf.50:
  460. call fesetround@PLT
  461. ..___tag_value_lgammaf.51:
  462. ..B1.50:
  463. fldt 80(%rsp)
  464. ..B1.51:
  465. fldt (%rsp)
  466. testb %bpl, %bpl
  467. faddp %st, %st(1)
  468. fstps 104(%rsp)
  469. je ..B1.124
  470. ..B1.52:
  471. fldcw 110(%rsp)
  472. jmp ..B1.124
  473. ..B1.54:
  474. cmpl $1067450368, %r14d
  475. jb ..B1.61
  476. ..B1.55:
  477. lea _LM(%rip), %rax
  478. lea 16+_C1(%rip), %rdx
  479. lea 48+_C1(%rip), %rcx
  480. lea 32+_C1(%rip), %rsi
  481. lea 64+_C1(%rip), %r8
  482. lea 8+_C1(%rip), %r9
  483. lea 40+_C1(%rip), %r10
  484. lea 24+_C1(%rip), %r11
  485. fldl (%rdx)
  486. lea 56+_C1(%rip), %r13
  487. lea _C1(%rip), %r14
  488. testb %r12b, %r12b
  489. fxch %st(1)
  490. fsubl (%rax)
  491. fld %st(0)
  492. fmul %st(1), %st
  493. fmul %st, %st(2)
  494. fxch %st(2)
  495. faddl (%rcx)
  496. fmul %st(2), %st
  497. faddl (%rsi)
  498. fmul %st(2), %st
  499. faddl (%r8)
  500. fmulp %st, %st(1)
  501. fstpt 80(%rsp)
  502. fldt 80(%rsp)
  503. fldl (%r9)
  504. fmul %st(2), %st
  505. faddl (%r10)
  506. fmul %st(2), %st
  507. faddl (%r11)
  508. fmul %st(2), %st
  509. faddl (%r13)
  510. fmulp %st, %st(2)
  511. fxch %st(1)
  512. faddl (%r14)
  513. fstpt (%rsp)
  514. je ..B1.58
  515. ..B1.56:
  516. fstp %st(0)
  517. movl %ebx, %edi
  518. ..___tag_value_lgammaf.52:
  519. call fesetround@PLT
  520. ..___tag_value_lgammaf.53:
  521. ..B1.57:
  522. fldt 80(%rsp)
  523. ..B1.58:
  524. fldt (%rsp)
  525. testb %bpl, %bpl
  526. faddp %st, %st(1)
  527. fstps 104(%rsp)
  528. je ..B1.124
  529. ..B1.59:
  530. fldcw 110(%rsp)
  531. jmp ..B1.124
  532. ..B1.61:
  533. cmpl $1065353216, %r14d
  534. jb ..B1.68
  535. ..B1.62:
  536. fld %st(0)
  537. lea 16+_C0(%rip), %rax
  538. fmul %st(1), %st
  539. lea 48+_C0(%rip), %rdx
  540. fldl (%rax)
  541. lea 32+_C0(%rip), %rcx
  542. fmul %st(1), %st
  543. lea 64+_C0(%rip), %rsi
  544. lea 8+_C0(%rip), %r8
  545. lea 40+_C0(%rip), %r9
  546. lea 24+_C0(%rip), %r10
  547. lea 56+_C0(%rip), %r11
  548. lea _C0(%rip), %r13
  549. testb %r12b, %r12b
  550. faddl (%rdx)
  551. fmul %st(1), %st
  552. faddl (%rcx)
  553. fmul %st(1), %st
  554. faddl (%rsi)
  555. fmulp %st, %st(2)
  556. fxch %st(1)
  557. fstpt 80(%rsp)
  558. fldt 80(%rsp)
  559. fldl (%r8)
  560. fmul %st(2), %st
  561. faddl (%r9)
  562. fmul %st(2), %st
  563. faddl (%r10)
  564. fmul %st(2), %st
  565. faddl (%r11)
  566. fmulp %st, %st(2)
  567. fxch %st(1)
  568. faddl (%r13)
  569. fstpt (%rsp)
  570. je ..B1.65
  571. ..B1.63:
  572. fstp %st(0)
  573. movl %ebx, %edi
  574. ..___tag_value_lgammaf.54:
  575. call fesetround@PLT
  576. ..___tag_value_lgammaf.55:
  577. ..B1.64:
  578. fldt 80(%rsp)
  579. ..B1.65:
  580. fldt (%rsp)
  581. testb %bpl, %bpl
  582. faddp %st, %st(1)
  583. fstps 104(%rsp)
  584. je ..B1.124
  585. ..B1.66:
  586. fldcw 110(%rsp)
  587. jmp ..B1.124
  588. ..B1.68:
  589. fldt .L_2il0floatpacket.0(%rip)
  590. addq $-16, %rsp
  591. .cfi_def_cfa_offset 192
  592. fadd %st(1), %st
  593. fstpt (%rsp)
  594. fstpt 32(%rsp)
  595. ..___tag_value_lgammaf.57:
  596. call lgammaf_pos
  597. ..___tag_value_lgammaf.58:
  598. ..B1.159:
  599. fldt 32(%rsp)
  600. fxch %st(1)
  601. fstpt 16(%rsp)
  602. addq $16, %rsp
  603. .cfi_def_cfa_offset 176
  604. fstpl 96(%rsp)
  605. movsd 96(%rsp), %xmm0
  606. call log@PLT
  607. ..B1.158:
  608. movsd %xmm0, 56(%rsp)
  609. testb %r12b, %r12b
  610. fldl 56(%rsp)
  611. fstpt 80(%rsp)
  612. fldt 80(%rsp)
  613. je ..B1.71
  614. ..B1.69:
  615. fstp %st(0)
  616. movl %ebx, %edi
  617. ..___tag_value_lgammaf.60:
  618. call fesetround@PLT
  619. ..___tag_value_lgammaf.61:
  620. ..B1.70:
  621. fldt 80(%rsp)
  622. ..B1.71:
  623. fldt (%rsp)
  624. testb %bpl, %bpl
  625. fsubp %st, %st(1)
  626. fstps 104(%rsp)
  627. je ..B1.124
  628. ..B1.72:
  629. fldcw 110(%rsp)
  630. jmp ..B1.124
  631. ..B1.74:
  632. movss 112(%rsp), %xmm0
  633. call nearbyintf@PLT
  634. ..B1.160:
  635. movss %xmm0, 104(%rsp)
  636. movss 104(%rsp), %xmm1
  637. movss 112(%rsp), %xmm4
  638. ucomiss %xmm1, %xmm4
  639. jp ..B1.75
  640. je ..B1.144
  641. ..B1.75:
  642. cmpl $1073741824, %r14d
  643. jae ..B1.86
  644. ..B1.76:
  645. fldt .L_2il0floatpacket.0(%rip)
  646. movss %xmm4, 56(%rsp)
  647. fld %st(0)
  648. flds 56(%rsp)
  649. fstpt 16(%rsp)
  650. fldt 16(%rsp)
  651. fcomip %st(2), %st
  652. jae ..B1.141
  653. jp ..B1.141
  654. ..B1.77:
  655. fldt 16(%rsp)
  656. ..B1.78:
  657. fmul %st, %st(1)
  658. fadd %st(2), %st
  659. fcomi %st(2), %st
  660. jp ..B1.79
  661. jb ..B1.78
  662. ..B1.79:
  663. fstp %st(2)
  664. fxch %st(1)
  665. fstpt 16(%rsp)
  666. fstpt 80(%rsp)
  667. ..B1.80:
  668. andb $127, 89(%rsp)
  669. fldt 80(%rsp)
  670. fstpl 96(%rsp)
  671. movsd 96(%rsp), %xmm0
  672. call log@PLT
  673. ..B1.162:
  674. movsd %xmm0, 56(%rsp)
  675. fldl 56(%rsp)
  676. fstpt 80(%rsp)
  677. fldt 80(%rsp)
  678. addq $-16, %rsp
  679. .cfi_def_cfa_offset 192
  680. fldt 32(%rsp)
  681. fstpt (%rsp)
  682. fstpt 16(%rsp)
  683. ..___tag_value_lgammaf.63:
  684. call lgammaf_pos
  685. ..___tag_value_lgammaf.64:
  686. ..B1.161:
  687. fldt 16(%rsp)
  688. fxch %st(1)
  689. fstpt 32(%rsp)
  690. addq $16, %rsp
  691. .cfi_def_cfa_offset 176
  692. testb %r12b, %r12b
  693. je ..B1.83
  694. ..B1.81:
  695. fstp %st(0)
  696. movl %ebx, %edi
  697. ..___tag_value_lgammaf.66:
  698. call fesetround@PLT
  699. ..___tag_value_lgammaf.67:
  700. ..B1.82:
  701. fldt 80(%rsp)
  702. ..B1.83:
  703. fldt 16(%rsp)
  704. testb %bpl, %bpl
  705. fsubp %st, %st(1)
  706. fstps 104(%rsp)
  707. je ..B1.124
  708. ..B1.84:
  709. fldcw 110(%rsp)
  710. jmp ..B1.124
  711. ..B1.86:
  712. cmpl $1082130432, %r14d
  713. jae ..B1.103
  714. ..B1.87:
  715. movss .L_2il0floatpacket.2(%rip), %xmm0
  716. lea _LRIB(%rip), %rdx
  717. movss .L_2il0floatpacket.3(%rip), %xmm2
  718. subss %xmm4, %xmm0
  719. movss %xmm0, 104(%rsp)
  720. movss 104(%rsp), %xmm1
  721. addss %xmm2, %xmm1
  722. movss %xmm1, 104(%rsp)
  723. pxor %xmm1, %xmm1
  724. cvtss2sd %xmm4, %xmm1
  725. movl 104(%rsp), %ecx
  726. andl $1, %ecx
  727. movss 104(%rsp), %xmm3
  728. subss %xmm2, %xmm3
  729. movss %xmm3, 104(%rsp)
  730. lea (%rcx,%rcx,2), %eax
  731. comisd (%rdx,%rax,8), %xmm1
  732. jbe ..B1.90
  733. ..B1.88:
  734. movsd 16(%rdx,%rax,8), %xmm0
  735. comisd %xmm1, %xmm0
  736. jbe ..B1.90
  737. ..B1.89:
  738. movss %xmm4, 56(%rsp)
  739. flds 56(%rsp)
  740. shll $2, %ecx
  741. fsubl 8(%rdx,%rax,8)
  742. lea _LRP(%rip), %rax
  743. fldl (%rax,%rcx,8)
  744. fmul %st(1), %st
  745. faddl 8(%rax,%rcx,8)
  746. fmul %st(1), %st
  747. faddl 16(%rax,%rcx,8)
  748. fmulp %st, %st(1)
  749. faddl 24(%rax,%rcx,8)
  750. fstpt (%rsp)
  751. jmp ..B1.98
  752. ..B1.90:
  753. lea _RRIB(%rip), %rdx
  754. comisd (%rdx,%rax,8), %xmm1
  755. jbe ..B1.93
  756. ..B1.91:
  757. movsd 16(%rdx,%rax,8), %xmm0
  758. comisd %xmm1, %xmm0
  759. jbe ..B1.93
  760. ..B1.92:
  761. movss %xmm4, 56(%rsp)
  762. flds 56(%rsp)
  763. shll $2, %ecx
  764. fsubl 8(%rdx,%rax,8)
  765. lea _RRP(%rip), %rax
  766. fldl (%rax,%rcx,8)
  767. fmul %st(1), %st
  768. faddl 8(%rax,%rcx,8)
  769. fmul %st(1), %st
  770. faddl 16(%rax,%rcx,8)
  771. fmulp %st, %st(1)
  772. faddl 24(%rax,%rcx,8)
  773. fstpt (%rsp)
  774. jmp ..B1.98
  775. ..B1.93:
  776. fldt .L_2il0floatpacket.0(%rip)
  777. movss %xmm4, 56(%rsp)
  778. fld %st(0)
  779. flds 56(%rsp)
  780. fstpt (%rsp)
  781. fldt (%rsp)
  782. fcomip %st(2), %st
  783. jae ..B1.142
  784. jp ..B1.142
  785. ..B1.94:
  786. fldt (%rsp)
  787. ..B1.95:
  788. fmul %st, %st(1)
  789. fadd %st(2), %st
  790. fcomi %st(2), %st
  791. jp ..B1.96
  792. jb ..B1.95
  793. ..B1.96:
  794. fstp %st(2)
  795. fxch %st(1)
  796. fstpt (%rsp)
  797. fstpt 80(%rsp)
  798. ..B1.97:
  799. andb $127, 89(%rsp)
  800. fldt 80(%rsp)
  801. fstpl 96(%rsp)
  802. movsd 96(%rsp), %xmm0
  803. call log@PLT
  804. ..B1.164:
  805. movsd %xmm0, 56(%rsp)
  806. fldl 56(%rsp)
  807. fstl 16(%rsp)
  808. fstpt 80(%rsp)
  809. addq $-16, %rsp
  810. .cfi_def_cfa_offset 192
  811. fldt 16(%rsp)
  812. fstpt (%rsp)
  813. ..___tag_value_lgammaf.69:
  814. call lgammaf_pos
  815. ..___tag_value_lgammaf.70:
  816. ..B1.163:
  817. addq $16, %rsp
  818. .cfi_def_cfa_offset 176
  819. fsubl 16(%rsp)
  820. fstpt (%rsp)
  821. ..B1.98:
  822. testb %r12b, %r12b
  823. je ..B1.100
  824. ..B1.99:
  825. movl %ebx, %edi
  826. ..___tag_value_lgammaf.72:
  827. call fesetround@PLT
  828. ..___tag_value_lgammaf.73:
  829. ..B1.100:
  830. fldt (%rsp)
  831. testb %bpl, %bpl
  832. fstps 104(%rsp)
  833. je ..B1.124
  834. ..B1.101:
  835. fldcw 110(%rsp)
  836. jmp ..B1.124
  837. ..B1.103:
  838. cmpl $1091567616, %r14d
  839. jae ..B1.114
  840. ..B1.104:
  841. fldt .L_2il0floatpacket.0(%rip)
  842. movss %xmm4, 56(%rsp)
  843. fld %st(0)
  844. flds 56(%rsp)
  845. fstpt 16(%rsp)
  846. fldt 16(%rsp)
  847. fcomip %st(2), %st
  848. jae ..B1.143
  849. jp ..B1.143
  850. ..B1.105:
  851. fldt 16(%rsp)
  852. ..B1.106:
  853. fmul %st, %st(1)
  854. fadd %st(2), %st
  855. fcomi %st(2), %st
  856. jp ..B1.107
  857. jb ..B1.106
  858. ..B1.107:
  859. fstp %st(2)
  860. fxch %st(1)
  861. fstpt 16(%rsp)
  862. fstpt 80(%rsp)
  863. ..B1.108:
  864. andb $127, 89(%rsp)
  865. fldt 80(%rsp)
  866. fstpl 96(%rsp)
  867. movsd 96(%rsp), %xmm0
  868. call log@PLT
  869. ..B1.166:
  870. movsd %xmm0, 56(%rsp)
  871. fldl 56(%rsp)
  872. fstpt 80(%rsp)
  873. fldt 80(%rsp)
  874. addq $-16, %rsp
  875. .cfi_def_cfa_offset 192
  876. fldt 32(%rsp)
  877. fstpt (%rsp)
  878. fstpt 16(%rsp)
  879. ..___tag_value_lgammaf.75:
  880. call lgammaf_pos
  881. ..___tag_value_lgammaf.76:
  882. ..B1.165:
  883. fldt 16(%rsp)
  884. fxch %st(1)
  885. fstpt 32(%rsp)
  886. addq $16, %rsp
  887. .cfi_def_cfa_offset 176
  888. testb %r12b, %r12b
  889. je ..B1.111
  890. ..B1.109:
  891. fstp %st(0)
  892. movl %ebx, %edi
  893. ..___tag_value_lgammaf.78:
  894. call fesetround@PLT
  895. ..___tag_value_lgammaf.79:
  896. ..B1.110:
  897. fldt 80(%rsp)
  898. ..B1.111:
  899. fldt 16(%rsp)
  900. testb %bpl, %bpl
  901. fsubp %st, %st(1)
  902. fstps 104(%rsp)
  903. je ..B1.124
  904. ..B1.112:
  905. fldcw 110(%rsp)
  906. jmp ..B1.124
  907. ..B1.114:
  908. cmpl $1174405120, %r14d
  909. jb ..B1.120
  910. ..B1.115:
  911. fldt .L_2il0floatpacket.1(%rip)
  912. lea _LN_SQRT_TWO_PI(%rip), %rax
  913. movss %xmm4, 56(%rsp)
  914. flds 56(%rsp)
  915. fsts (%rsp)
  916. fsub %st, %st(1)
  917. fxch %st(1)
  918. fstpt 8(%rsp)
  919. fchs
  920. fstl 96(%rsp)
  921. movsd 96(%rsp), %xmm0
  922. fstpt 40(%rsp)
  923. fldt (%rax)
  924. fstpt 24(%rsp)
  925. call log@PLT
  926. ..B1.168:
  927. fldt 8(%rsp)
  928. lea _S16(%rip), %rax
  929. fldt 24(%rsp)
  930. lea _S14(%rip), %rdx
  931. fldt 40(%rsp)
  932. lea _S12(%rip), %rcx
  933. movss .L_2il0floatpacket.3(%rip), %xmm2
  934. lea _S10(%rip), %rsi
  935. fldl (%rax)
  936. lea _S08(%rip), %r8
  937. movss %xmm2, 104(%rsp)
  938. lea _S06(%rip), %r9
  939. movss 104(%rsp), %xmm1
  940. lea _S04(%rip), %r10
  941. movsd %xmm0, 56(%rsp)
  942. lea _S02(%rip), %r11
  943. fxch %st(3)
  944. fmull 56(%rsp)
  945. subss 112(%rsp), %xmm1
  946. fsubp %st, %st(2)
  947. movss %xmm1, 104(%rsp)
  948. movss 104(%rsp), %xmm3
  949. fxch %st(1)
  950. fsubs (%rsp)
  951. subss %xmm2, %xmm3
  952. movss %xmm3, 104(%rsp)
  953. movss 104(%rsp), %xmm4
  954. movss %xmm4, 56(%rsp)
  955. fxch %st(1)
  956. fsubs 56(%rsp)
  957. fstpt 64(%rsp)
  958. fldt 64(%rsp)
  959. fmul %st(0), %st
  960. fmul %st, %st(2)
  961. andb $127, 73(%rsp)
  962. fldt 64(%rsp)
  963. fstpl 96(%rsp)
  964. movsd 96(%rsp), %xmm0
  965. fxch %st(2)
  966. faddl (%rdx)
  967. fmul %st(2), %st
  968. faddl (%rcx)
  969. fmul %st(2), %st
  970. faddl (%rsi)
  971. fmul %st(2), %st
  972. faddl (%r8)
  973. fmul %st(2), %st
  974. faddl (%r9)
  975. fmul %st(2), %st
  976. faddl (%r10)
  977. fmul %st(2), %st
  978. faddl (%r11)
  979. fmulp %st, %st(2)
  980. fxch %st(1)
  981. fstpt 80(%rsp)
  982. fldt 80(%rsp)
  983. fsubrp %st, %st(1)
  984. fstpt 8(%rsp)
  985. call log@PLT
  986. ..B1.167:
  987. movsd %xmm0, 56(%rsp)
  988. testb %r12b, %r12b
  989. fldl 56(%rsp)
  990. je ..B1.117
  991. ..B1.116:
  992. movl %ebx, %edi
  993. fstpl (%rsp)
  994. ..___tag_value_lgammaf.80:
  995. call fesetround@PLT
  996. ..___tag_value_lgammaf.81:
  997. ..B1.172:
  998. fldl (%rsp)
  999. ..B1.117:
  1000. fldt 8(%rsp)
  1001. testb %bpl, %bpl
  1002. fsubp %st, %st(1)
  1003. fstps 104(%rsp)
  1004. je ..B1.124
  1005. ..B1.118:
  1006. fldcw 110(%rsp)
  1007. jmp ..B1.124
  1008. ..B1.120:
  1009. flds 112(%rsp)
  1010. movss .L_2il0floatpacket.3(%rip), %xmm1
  1011. fchs
  1012. movaps %xmm1, %xmm0
  1013. fstl 96(%rsp)
  1014. subss %xmm4, %xmm0
  1015. movss %xmm0, 104(%rsp)
  1016. movss 104(%rsp), %xmm2
  1017. movsd 96(%rsp), %xmm0
  1018. subss %xmm1, %xmm2
  1019. movss %xmm2, 104(%rsp)
  1020. movss 104(%rsp), %xmm3
  1021. movss %xmm3, 56(%rsp)
  1022. fstpt 40(%rsp)
  1023. fldt 40(%rsp)
  1024. flds 56(%rsp)
  1025. fsubrp %st, %st(1)
  1026. fstpt 64(%rsp)
  1027. fldt 64(%rsp)
  1028. fmul %st(0), %st
  1029. fstpt 24(%rsp)
  1030. call log@PLT
  1031. ..B1.171:
  1032. movsd %xmm0, 56(%rsp)
  1033. fldl 56(%rsp)
  1034. addq $-16, %rsp
  1035. .cfi_def_cfa_offset 192
  1036. fchs
  1037. fldt 56(%rsp)
  1038. fstpt (%rsp)
  1039. fstpt 24(%rsp)
  1040. ..___tag_value_lgammaf.83:
  1041. call lgammaf_pos
  1042. ..___tag_value_lgammaf.84:
  1043. ..B1.170:
  1044. fldt 24(%rsp)
  1045. addq $16, %rsp
  1046. .cfi_def_cfa_offset 176
  1047. fldt 24(%rsp)
  1048. lea _S14(%rip), %rax
  1049. fld %st(0)
  1050. lea _S16(%rip), %r8
  1051. fmul %st(1), %st
  1052. lea _S10(%rip), %rdx
  1053. fxch %st(3)
  1054. fsubrp %st, %st(2)
  1055. fldl (%rax)
  1056. lea _S12(%rip), %r9
  1057. fmul %st(3), %st
  1058. lea _S06(%rip), %rcx
  1059. fldl (%r8)
  1060. lea _S08(%rip), %r10
  1061. fmul %st(4), %st
  1062. fxch %st(1)
  1063. faddl (%rdx)
  1064. fmul %st(4), %st
  1065. fxch %st(1)
  1066. faddl (%r9)
  1067. fmul %st(4), %st
  1068. fxch %st(1)
  1069. faddl (%rcx)
  1070. fmul %st(4), %st
  1071. fxch %st(1)
  1072. faddl (%r10)
  1073. fmul %st(4), %st
  1074. lea _S02(%rip), %rsi
  1075. fxch %st(1)
  1076. faddl (%rsi)
  1077. lea _S04(%rip), %r11
  1078. fmulp %st, %st(2)
  1079. faddl (%r11)
  1080. fmulp %st, %st(3)
  1081. andb $127, 73(%rsp)
  1082. faddp %st, %st(2)
  1083. fxch %st(1)
  1084. fstpt 80(%rsp)
  1085. fldt 80(%rsp)
  1086. fsubrp %st, %st(1)
  1087. fstpt 8(%rsp)
  1088. fldt 64(%rsp)
  1089. fstpl 96(%rsp)
  1090. movsd 96(%rsp), %xmm0
  1091. call log@PLT
  1092. ..B1.169:
  1093. fldt 8(%rsp)
  1094. testb %r12b, %r12b
  1095. movsd %xmm0, 56(%rsp)
  1096. fldl 56(%rsp)
  1097. je ..B1.122
  1098. ..B1.121:
  1099. movl %ebx, %edi
  1100. fstpl (%rsp)
  1101. fstpt 8(%rsp)
  1102. ..___tag_value_lgammaf.86:
  1103. call fesetround@PLT
  1104. ..___tag_value_lgammaf.87:
  1105. ..B1.173:
  1106. fldt 8(%rsp)
  1107. fldl (%rsp)
  1108. ..B1.122:
  1109. testb %bpl, %bpl
  1110. fsubrp %st, %st(1)
  1111. fstps 104(%rsp)
  1112. je ..B1.124
  1113. ..B1.123:
  1114. fldcw 110(%rsp)
  1115. ..B1.124:
  1116. movss 104(%rsp), %xmm0
  1117. ..B1.125:
  1118. addq $120, %rsp
  1119. .cfi_def_cfa_offset 56
  1120. .cfi_restore 6
  1121. popq %rbp
  1122. .cfi_def_cfa_offset 48
  1123. .cfi_restore 3
  1124. popq %rbx
  1125. .cfi_def_cfa_offset 40
  1126. .cfi_restore 15
  1127. popq %r15
  1128. .cfi_def_cfa_offset 32
  1129. .cfi_restore 14
  1130. popq %r14
  1131. .cfi_def_cfa_offset 24
  1132. .cfi_restore 13
  1133. popq %r13
  1134. .cfi_def_cfa_offset 16
  1135. .cfi_restore 12
  1136. popq %r12
  1137. .cfi_def_cfa_offset 8
  1138. ret
  1139. .cfi_def_cfa_offset 176
  1140. .cfi_offset 3, -48
  1141. .cfi_offset 6, -56
  1142. .cfi_offset 12, -16
  1143. .cfi_offset 13, -24
  1144. .cfi_offset 14, -32
  1145. .cfi_offset 15, -40
  1146. ..B1.126:
  1147. testb %bpl, %bpl
  1148. je ..B1.128
  1149. ..B1.127:
  1150. fldcw 110(%rsp)
  1151. ..B1.128:
  1152. testb %r12b, %r12b
  1153. je ..B1.130
  1154. ..B1.129:
  1155. movl %ebx, %edi
  1156. ..___tag_value_lgammaf.108:
  1157. call fesetround@PLT
  1158. ..___tag_value_lgammaf.109:
  1159. ..B1.130:
  1160. pxor %xmm0, %xmm0
  1161. addq $120, %rsp
  1162. .cfi_def_cfa_offset 56
  1163. .cfi_restore 6
  1164. popq %rbp
  1165. .cfi_def_cfa_offset 48
  1166. .cfi_restore 3
  1167. popq %rbx
  1168. .cfi_def_cfa_offset 40
  1169. .cfi_restore 15
  1170. popq %r15
  1171. .cfi_def_cfa_offset 32
  1172. .cfi_restore 14
  1173. popq %r14
  1174. .cfi_def_cfa_offset 24
  1175. .cfi_restore 13
  1176. popq %r13
  1177. .cfi_def_cfa_offset 16
  1178. .cfi_restore 12
  1179. popq %r12
  1180. .cfi_def_cfa_offset 8
  1181. ret
  1182. .cfi_def_cfa_offset 176
  1183. .cfi_offset 3, -48
  1184. .cfi_offset 6, -56
  1185. .cfi_offset 12, -16
  1186. .cfi_offset 13, -24
  1187. .cfi_offset 14, -32
  1188. .cfi_offset 15, -40
  1189. ..B1.131:
  1190. testb %bpl, %bpl
  1191. je ..B1.133
  1192. ..B1.132:
  1193. fldcw 110(%rsp)
  1194. ..B1.133:
  1195. testb %r12b, %r12b
  1196. je ..B1.135
  1197. ..B1.134:
  1198. movl %ebx, %edi
  1199. ..___tag_value_lgammaf.130:
  1200. call fesetround@PLT
  1201. ..___tag_value_lgammaf.131:
  1202. ..B1.135:
  1203. pxor %xmm0, %xmm0
  1204. addq $120, %rsp
  1205. .cfi_def_cfa_offset 56
  1206. .cfi_restore 6
  1207. popq %rbp
  1208. .cfi_def_cfa_offset 48
  1209. .cfi_restore 3
  1210. popq %rbx
  1211. .cfi_def_cfa_offset 40
  1212. .cfi_restore 15
  1213. popq %r15
  1214. .cfi_def_cfa_offset 32
  1215. .cfi_restore 14
  1216. popq %r14
  1217. .cfi_def_cfa_offset 24
  1218. .cfi_restore 13
  1219. popq %r13
  1220. .cfi_def_cfa_offset 16
  1221. .cfi_restore 12
  1222. popq %r12
  1223. .cfi_def_cfa_offset 8
  1224. ret
  1225. .cfi_def_cfa_offset 176
  1226. .cfi_offset 3, -48
  1227. .cfi_offset 6, -56
  1228. .cfi_offset 12, -16
  1229. .cfi_offset 13, -24
  1230. .cfi_offset 14, -32
  1231. .cfi_offset 15, -40
  1232. ..B1.136:
  1233. testb %r12b, %r12b
  1234. je ..B1.138
  1235. ..B1.137:
  1236. movl %ebx, %edi
  1237. ..___tag_value_lgammaf.152:
  1238. call fesetround@PLT
  1239. ..___tag_value_lgammaf.153:
  1240. ..B1.138:
  1241. lea _PBIG(%rip), %rax
  1242. testb %bpl, %bpl
  1243. movsd (%rax), %xmm0
  1244. mulsd %xmm0, %xmm0
  1245. cvtsd2ss %xmm0, %xmm0
  1246. movss %xmm0, 104(%rsp)
  1247. je ..B1.124
  1248. ..B1.139:
  1249. fldcw 110(%rsp)
  1250. jmp ..B1.124
  1251. ..B1.141:
  1252. fstp %st(0)
  1253. fstpt 80(%rsp)
  1254. jmp ..B1.80
  1255. ..B1.142:
  1256. fstp %st(0)
  1257. fstpt 80(%rsp)
  1258. jmp ..B1.97
  1259. ..B1.143:
  1260. fstp %st(0)
  1261. fstpt 80(%rsp)
  1262. jmp ..B1.108
  1263. ..B1.144:
  1264. testb %r12b, %r12b
  1265. je ..B1.146
  1266. ..B1.145:
  1267. movl %ebx, %edi
  1268. ..___tag_value_lgammaf.154:
  1269. call fesetround@PLT
  1270. ..___tag_value_lgammaf.155:
  1271. ..B1.146:
  1272. movss .L_2il0floatpacket.6(%rip), %xmm1
  1273. testb %bpl, %bpl
  1274. pxor %xmm0, %xmm0
  1275. divss %xmm0, %xmm1
  1276. movss %xmm1, 104(%rsp)
  1277. je ..B1.124
  1278. ..B1.147:
  1279. fldcw 110(%rsp)
  1280. jmp ..B1.124
  1281. ..B1.149:
  1282. testb %r12b, %r12b
  1283. je ..B1.151
  1284. ..B1.150:
  1285. movl %ebx, %edi
  1286. ..___tag_value_lgammaf.156:
  1287. call fesetround@PLT
  1288. ..___tag_value_lgammaf.157:
  1289. ..B1.151:
  1290. movss .L_2il0floatpacket.6(%rip), %xmm1
  1291. testb %bpl, %bpl
  1292. pxor %xmm0, %xmm0
  1293. divss %xmm0, %xmm1
  1294. movss %xmm1, 104(%rsp)
  1295. je ..B1.124
  1296. ..B1.152:
  1297. fldcw 110(%rsp)
  1298. jmp ..B1.124
  1299. .align 16,0x90
  1300. .cfi_endproc
  1301. .type lgammaf,@function
  1302. .size lgammaf,.-lgammaf
  1303. .data
  1304. # -- End lgammaf
  1305. .text
  1306. # -- Begin lgammaf_pos
  1307. .text
  1308. .align 16,0x90
  1309. lgammaf_pos:
  1310. # parameter 1: 8 + %rsp
  1311. ..B2.1:
  1312. .cfi_startproc
  1313. ..___tag_value_lgammaf_pos.159:
  1314. ..L160:
  1315. fldt 8(%rsp)
  1316. fstl -8(%rsp)
  1317. fldt .L_2il0floatpacket.7(%rip)
  1318. movzwl -2(%rsp), %ecx
  1319. andl $32752, %ecx
  1320. shrl $4, %ecx
  1321. movl -4(%rsp), %eax
  1322. shll $20, %ecx
  1323. andl $1048575, %eax
  1324. orl %eax, %ecx
  1325. cmpl $1074790400, %ecx
  1326. jb ..B2.3
  1327. ..B2.2:
  1328. fstp %st(0)
  1329. addl $-1074790400, %ecx
  1330. lea _A(%rip), %rax
  1331. sarl $20, %ecx
  1332. lea _B(%rip), %rdx
  1333. movslq %ecx, %rcx
  1334. lea _C5(%rip), %r9
  1335. lea _C5_0(%rip), %r8
  1336. lea (,%rcx,8), %esi
  1337. movslq %esi, %rsi
  1338. lea (%rcx,%rcx,2), %edi
  1339. movslq %edi, %rdi
  1340. flds (%rax,%rcx,4)
  1341. fsubrp %st, %st(1)
  1342. fmuls (%rdx,%rcx,4)
  1343. fld %st(0)
  1344. fmul %st(1), %st
  1345. fldl (%r9,%rsi,8)
  1346. fmul %st(1), %st
  1347. fldl 8(%r9,%rsi,8)
  1348. fmul %st(2), %st
  1349. fxch %st(1)
  1350. faddl 32(%r9,%rsi,8)
  1351. fmul %st(2), %st
  1352. fxch %st(1)
  1353. faddl 40(%r9,%rsi,8)
  1354. fmul %st(2), %st
  1355. fxch %st(1)
  1356. faddl (%r8,%rdi,8)
  1357. fmul %st(2), %st
  1358. fxch %st(1)
  1359. faddl 8(%r8,%rdi,8)
  1360. fmul %st(2), %st
  1361. fxch %st(1)
  1362. faddl 48(%r9,%rsi,8)
  1363. fmul %st(2), %st
  1364. fxch %st(1)
  1365. faddl 56(%r9,%rsi,8)
  1366. fmul %st(2), %st
  1367. fxch %st(1)
  1368. faddl 16(%r9,%rsi,8)
  1369. fmulp %st, %st(2)
  1370. faddl 24(%r9,%rsi,8)
  1371. fmulp %st, %st(2)
  1372. faddl 16(%r8,%rdi,8)
  1373. faddp %st, %st(1)
  1374. ret
  1375. ..B2.3:
  1376. cmpl $1073741824, %ecx
  1377. jne ..B2.5
  1378. ..B2.4:
  1379. fstp %st(1)
  1380. ret
  1381. ..B2.5:
  1382. jbe ..B2.7
  1383. ..B2.6:
  1384. fstp %st(0)
  1385. fldt .L_2il0floatpacket.5(%rip)
  1386. fld %st(1)
  1387. lea _C4(%rip), %rax
  1388. lea 32+_C4(%rip), %rdx
  1389. fmul %st(2), %st
  1390. lea 8+_C4(%rip), %r9
  1391. fldl (%rax)
  1392. lea 40+_C4(%rip), %r10
  1393. lea 64+_C4(%rip), %rcx
  1394. lea 72+_C4(%rip), %r11
  1395. lea 48+_C4(%rip), %rsi
  1396. lea 56+_C4(%rip), %rax
  1397. lea 16+_C4(%rip), %rdi
  1398. lea 80+_C4(%rip), %r8
  1399. fmul %st(1), %st
  1400. fldl (%r9)
  1401. fmul %st(2), %st
  1402. fxch %st(1)
  1403. faddl (%rdx)
  1404. fmul %st(2), %st
  1405. fxch %st(1)
  1406. faddl (%r10)
  1407. fmul %st(2), %st
  1408. fxch %st(1)
  1409. faddl (%rcx)
  1410. fmul %st(2), %st
  1411. fxch %st(1)
  1412. faddl (%r11)
  1413. fmul %st(2), %st
  1414. fxch %st(1)
  1415. faddl (%rsi)
  1416. fmul %st(2), %st
  1417. fxch %st(1)
  1418. faddl (%rax)
  1419. fmul %st(2), %st
  1420. fxch %st(1)
  1421. faddl (%rdi)
  1422. lea 24+_C4(%rip), %rdx
  1423. fmulp %st, %st(2)
  1424. faddl (%rdx)
  1425. fmul %st(3), %st
  1426. fxch %st(1)
  1427. faddl (%r8)
  1428. faddp %st, %st(1)
  1429. fxch %st(1)
  1430. fsubrp %st, %st(2)
  1431. fmulp %st, %st(1)
  1432. ret
  1433. ..B2.7:
  1434. cmpl $1073479680, %ecx
  1435. jb ..B2.9
  1436. ..B2.8:
  1437. fstp %st(0)
  1438. fld %st(0)
  1439. lea 8+_C3(%rip), %rax
  1440. lea 16+_C3(%rip), %r8
  1441. lea 40+_C3(%rip), %rdx
  1442. lea 48+_C3(%rip), %r9
  1443. lea 24+_C3(%rip), %rcx
  1444. lea 32+_C3(%rip), %r10
  1445. lea 56+_C3(%rip), %rsi
  1446. lea 64+_C3(%rip), %r11
  1447. lea _C3(%rip), %rdi
  1448. fmul %st(1), %st
  1449. fldl (%rax)
  1450. fmul %st(1), %st
  1451. fldl (%r8)
  1452. fmul %st(2), %st
  1453. fxch %st(1)
  1454. faddl (%rdx)
  1455. fmul %st(2), %st
  1456. fxch %st(1)
  1457. faddl (%r9)
  1458. fmul %st(2), %st
  1459. fxch %st(1)
  1460. faddl (%rcx)
  1461. fmul %st(2), %st
  1462. fxch %st(1)
  1463. faddl (%r10)
  1464. fmul %st(2), %st
  1465. fxch %st(1)
  1466. faddl (%rsi)
  1467. fmulp %st, %st(2)
  1468. faddl (%r11)
  1469. fmulp %st, %st(2)
  1470. faddl (%rdi)
  1471. faddp %st, %st(1)
  1472. ret
  1473. ..B2.9:
  1474. cmpl $1073217536, %ecx
  1475. jb ..B2.11
  1476. ..B2.10:
  1477. fstp %st(0)
  1478. fld %st(0)
  1479. lea 8+_LGAMMAF_C2(%rip), %rax
  1480. lea 16+_LGAMMAF_C2(%rip), %r8
  1481. lea 40+_LGAMMAF_C2(%rip), %rdx
  1482. lea 48+_LGAMMAF_C2(%rip), %r9
  1483. lea 24+_LGAMMAF_C2(%rip), %rcx
  1484. lea 32+_LGAMMAF_C2(%rip), %r10
  1485. lea 56+_LGAMMAF_C2(%rip), %rsi
  1486. lea 64+_LGAMMAF_C2(%rip), %r11
  1487. lea _LGAMMAF_C2(%rip), %rdi
  1488. fmul %st(1), %st
  1489. fldl (%rax)
  1490. fmul %st(1), %st
  1491. fldl (%r8)
  1492. fmul %st(2), %st
  1493. fxch %st(1)
  1494. faddl (%rdx)
  1495. fmul %st(2), %st
  1496. fxch %st(1)
  1497. faddl (%r9)
  1498. fmul %st(2), %st
  1499. fxch %st(1)
  1500. faddl (%rcx)
  1501. fmul %st(2), %st
  1502. fxch %st(1)
  1503. faddl (%r10)
  1504. fmul %st(2), %st
  1505. fxch %st(1)
  1506. faddl (%rsi)
  1507. fmulp %st, %st(2)
  1508. faddl (%r11)
  1509. fmulp %st, %st(2)
  1510. faddl (%rdi)
  1511. faddp %st, %st(1)
  1512. ret
  1513. ..B2.11:
  1514. cmpl $1072955392, %ecx
  1515. jb ..B2.13
  1516. ..B2.12:
  1517. fstp %st(0)
  1518. lea _LM(%rip), %rax
  1519. lea 8+_C1(%rip), %rdx
  1520. lea 16+_C1(%rip), %r9
  1521. lea 40+_C1(%rip), %rcx
  1522. lea 48+_C1(%rip), %r10
  1523. lea 24+_C1(%rip), %rsi
  1524. lea 32+_C1(%rip), %r11
  1525. lea 56+_C1(%rip), %rdi
  1526. fldl (%rax)
  1527. lea 64+_C1(%rip), %rax
  1528. lea _C1(%rip), %r8
  1529. fsubrp %st, %st(1)
  1530. fld %st(0)
  1531. fmul %st(1), %st
  1532. fldl (%rdx)
  1533. fmul %st(1), %st
  1534. fldl (%r9)
  1535. fmul %st(2), %st
  1536. fxch %st(1)
  1537. faddl (%rcx)
  1538. fmul %st(2), %st
  1539. fxch %st(1)
  1540. faddl (%r10)
  1541. fmul %st(2), %st
  1542. fxch %st(1)
  1543. faddl (%rsi)
  1544. fmul %st(2), %st
  1545. fxch %st(1)
  1546. faddl (%r11)
  1547. fmul %st(2), %st
  1548. fxch %st(1)
  1549. faddl (%rdi)
  1550. fmulp %st, %st(2)
  1551. faddl (%rax)
  1552. fmulp %st, %st(2)
  1553. faddl (%r8)
  1554. faddp %st, %st(1)
  1555. ret
  1556. ..B2.13:
  1557. cmpl $1072693248, %ecx
  1558. jb ..B2.4
  1559. ..B2.14:
  1560. fstp %st(0)
  1561. fld %st(0)
  1562. lea 8+_C0(%rip), %rax
  1563. lea 16+_C0(%rip), %r8
  1564. lea 40+_C0(%rip), %rdx
  1565. lea 48+_C0(%rip), %r9
  1566. lea 24+_C0(%rip), %rcx
  1567. lea 32+_C0(%rip), %r10
  1568. lea 56+_C0(%rip), %rsi
  1569. lea 64+_C0(%rip), %r11
  1570. lea _C0(%rip), %rdi
  1571. fmul %st(1), %st
  1572. fldl (%rax)
  1573. fmul %st(1), %st
  1574. fldl (%r8)
  1575. fmul %st(2), %st
  1576. fxch %st(1)
  1577. faddl (%rdx)
  1578. fmul %st(2), %st
  1579. fxch %st(1)
  1580. faddl (%r9)
  1581. fmul %st(2), %st
  1582. fxch %st(1)
  1583. faddl (%rcx)
  1584. fmul %st(2), %st
  1585. fxch %st(1)
  1586. faddl (%r10)
  1587. fmul %st(2), %st
  1588. fxch %st(1)
  1589. faddl (%rsi)
  1590. fmulp %st, %st(2)
  1591. faddl (%r11)
  1592. fmulp %st, %st(2)
  1593. faddl (%rdi)
  1594. faddp %st, %st(1)
  1595. ..B2.15:
  1596. ret
  1597. .align 16,0x90
  1598. .cfi_endproc
  1599. .type lgammaf_pos,@function
  1600. .size lgammaf_pos,.-lgammaf_pos
  1601. .data
  1602. # -- End lgammaf_pos
  1603. .text
  1604. # -- Begin gammaf
  1605. .text
  1606. .align 16,0x90
  1607. .globl gammaf
  1608. gammaf:
  1609. # parameter 1: %xmm0
  1610. ..B3.1:
  1611. .cfi_startproc
  1612. ..___tag_value_gammaf.162:
  1613. ..L163:
  1614. pushq %r12
  1615. .cfi_def_cfa_offset 16
  1616. .cfi_offset 12, -16
  1617. pushq %r13
  1618. .cfi_def_cfa_offset 24
  1619. .cfi_offset 13, -24
  1620. pushq %r14
  1621. .cfi_def_cfa_offset 32
  1622. .cfi_offset 14, -32
  1623. pushq %r15
  1624. .cfi_def_cfa_offset 40
  1625. .cfi_offset 15, -40
  1626. pushq %rbx
  1627. .cfi_def_cfa_offset 48
  1628. .cfi_offset 3, -48
  1629. pushq %rbp
  1630. .cfi_def_cfa_offset 56
  1631. .cfi_offset 6, -56
  1632. subq $120, %rsp
  1633. .cfi_def_cfa_offset 176
  1634. xorb %r12b, %r12b
  1635. movss %xmm0, 112(%rsp)
  1636. xorb %bpl, %bpl
  1637. movzwl 114(%rsp), %r15d
  1638. andl $32640, %r15d
  1639. movd %xmm0, %eax
  1640. shrl $7, %r15d
  1641. andl $8388607, %eax
  1642. movl %r15d, %r14d
  1643. shll $23, %r14d
  1644. movb 115(%rsp), %r13b
  1645. orl %eax, %r14d
  1646. andb $-128, %r13b
  1647. ..B3.2:
  1648. fnstcw 110(%rsp)
  1649. ..B3.3:
  1650. ..___tag_value_gammaf.177:
  1651. call fegetround@PLT
  1652. ..___tag_value_gammaf.178:
  1653. ..B3.156:
  1654. movl %eax, %ebx
  1655. ..B3.4:
  1656. testl %ebx, %ebx
  1657. je ..B3.6
  1658. ..B3.5:
  1659. xorl %edi, %edi
  1660. movb $1, %r12b
  1661. ..___tag_value_gammaf.179:
  1662. call fesetround@PLT
  1663. ..___tag_value_gammaf.180:
  1664. ..B3.6:
  1665. movzwl 110(%rsp), %edx
  1666. movl %edx, %eax
  1667. andl $768, %eax
  1668. cmpl $768, %eax
  1669. je ..B3.10
  1670. ..B3.7:
  1671. orl $-64768, %edx
  1672. movw %dx, 108(%rsp)
  1673. ..B3.8:
  1674. fldcw 108(%rsp)
  1675. ..B3.9:
  1676. movb $1, %bpl
  1677. ..B3.10:
  1678. cmpl $255, %r15d
  1679. jne ..B3.16
  1680. ..B3.11:
  1681. testb %bpl, %bpl
  1682. je ..B3.13
  1683. ..B3.12:
  1684. fldcw 110(%rsp)
  1685. ..B3.13:
  1686. testb %r12b, %r12b
  1687. je ..B3.15
  1688. ..B3.14:
  1689. movl %ebx, %edi
  1690. ..___tag_value_gammaf.181:
  1691. call fesetround@PLT
  1692. ..___tag_value_gammaf.182:
  1693. ..B3.15:
  1694. movss 112(%rsp), %xmm0
  1695. mulss %xmm0, %xmm0
  1696. addq $120, %rsp
  1697. .cfi_def_cfa_offset 56
  1698. .cfi_restore 6
  1699. popq %rbp
  1700. .cfi_def_cfa_offset 48
  1701. .cfi_restore 3
  1702. popq %rbx
  1703. .cfi_def_cfa_offset 40
  1704. .cfi_restore 15
  1705. popq %r15
  1706. .cfi_def_cfa_offset 32
  1707. .cfi_restore 14
  1708. popq %r14
  1709. .cfi_def_cfa_offset 24
  1710. .cfi_restore 13
  1711. popq %r13
  1712. .cfi_def_cfa_offset 16
  1713. .cfi_restore 12
  1714. popq %r12
  1715. .cfi_def_cfa_offset 8
  1716. ret
  1717. .cfi_def_cfa_offset 176
  1718. .cfi_offset 3, -48
  1719. .cfi_offset 6, -56
  1720. .cfi_offset 12, -16
  1721. .cfi_offset 13, -24
  1722. .cfi_offset 14, -32
  1723. .cfi_offset 15, -40
  1724. ..B3.16:
  1725. testl %r14d, %r14d
  1726. je ..B3.149
  1727. ..B3.17:
  1728. testb %r13b, %r13b
  1729. jne ..B3.74
  1730. ..B3.18:
  1731. cmpl $2084876174, %r14d
  1732. jae ..B3.136
  1733. ..B3.19:
  1734. movss 112(%rsp), %xmm0
  1735. ucomiss .L_2il0floatpacket.6(%rip), %xmm0
  1736. jp ..B3.20
  1737. je ..B3.131
  1738. ..B3.20:
  1739. cmpl $1174405120, %r14d
  1740. jb ..B3.26
  1741. ..B3.21:
  1742. fldt .L_2il0floatpacket.1(%rip)
  1743. lea _LN_SQRT_TWO_PI(%rip), %rax
  1744. movss %xmm0, 56(%rsp)
  1745. pxor %xmm0, %xmm0
  1746. flds 56(%rsp)
  1747. cvtss2sd 56(%rsp), %xmm0
  1748. fsub %st, %st(1)
  1749. fxch %st(1)
  1750. fstpt (%rsp)
  1751. fstps 32(%rsp)
  1752. fldt (%rax)
  1753. fstpt 16(%rsp)
  1754. call log@PLT
  1755. ..B3.157:
  1756. fldt (%rsp)
  1757. testb %r12b, %r12b
  1758. movsd %xmm0, 56(%rsp)
  1759. fmull 56(%rsp)
  1760. fstpt (%rsp)
  1761. je ..B3.23
  1762. ..B3.22:
  1763. movl %ebx, %edi
  1764. ..___tag_value_gammaf.203:
  1765. call fesetround@PLT
  1766. ..___tag_value_gammaf.204:
  1767. ..B3.23:
  1768. fldt (%rsp)
  1769. testb %bpl, %bpl
  1770. fldt 16(%rsp)
  1771. faddp %st, %st(1)
  1772. fsubs 32(%rsp)
  1773. fstps 104(%rsp)
  1774. je ..B3.124
  1775. ..B3.24:
  1776. fldcw 110(%rsp)
  1777. jmp ..B3.124
  1778. ..B3.26:
  1779. cmpl $1082130432, %r14d
  1780. jb ..B3.33
  1781. ..B3.27:
  1782. addl $-1082130432, %r14d
  1783. lea _A(%rip), %rax
  1784. sarl $23, %r14d
  1785. lea _B(%rip), %rdx
  1786. movslq %r14d, %r14
  1787. lea _C5(%rip), %r8
  1788. movss %xmm0, 56(%rsp)
  1789. lea (,%r14,8), %ecx
  1790. flds 56(%rsp)
  1791. lea (%r14,%r14,2), %esi
  1792. movslq %ecx, %rcx
  1793. lea _C5_0(%rip), %r9
  1794. movslq %esi, %rsi
  1795. testb %r12b, %r12b
  1796. fsubs (%rax,%r14,4)
  1797. fmuls (%rdx,%r14,4)
  1798. fld %st(0)
  1799. fmul %st(1), %st
  1800. fldl 8(%r8,%rcx,8)
  1801. fmul %st(1), %st
  1802. fldl (%r8,%rcx,8)
  1803. fmul %st(2), %st
  1804. fxch %st(1)
  1805. faddl 40(%r8,%rcx,8)
  1806. fmul %st(2), %st
  1807. fxch %st(1)
  1808. faddl 32(%r8,%rcx,8)
  1809. fmul %st(2), %st
  1810. fxch %st(1)
  1811. faddl 8(%r9,%rsi,8)
  1812. fmul %st(2), %st
  1813. fxch %st(1)
  1814. faddl (%r9,%rsi,8)
  1815. fmul %st(2), %st
  1816. fxch %st(1)
  1817. faddl 56(%r8,%rcx,8)
  1818. fmul %st(2), %st
  1819. fxch %st(1)
  1820. faddl 48(%r8,%rcx,8)
  1821. fmul %st(2), %st
  1822. fxch %st(1)
  1823. faddl 24(%r8,%rcx,8)
  1824. fmulp %st, %st(3)
  1825. fxch %st(2)
  1826. fstpt 80(%rsp)
  1827. fldt 80(%rsp)
  1828. fxch %st(2)
  1829. faddl 16(%r8,%rcx,8)
  1830. fmulp %st, %st(1)
  1831. faddl 16(%r9,%rsi,8)
  1832. fstpt (%rsp)
  1833. je ..B3.30
  1834. ..B3.28:
  1835. fstp %st(0)
  1836. movl %ebx, %edi
  1837. ..___tag_value_gammaf.205:
  1838. call fesetround@PLT
  1839. ..___tag_value_gammaf.206:
  1840. ..B3.29:
  1841. fldt 80(%rsp)
  1842. ..B3.30:
  1843. fldt (%rsp)
  1844. testb %bpl, %bpl
  1845. faddp %st, %st(1)
  1846. fstps 104(%rsp)
  1847. je ..B3.124
  1848. ..B3.31:
  1849. fldcw 110(%rsp)
  1850. jmp ..B3.124
  1851. ..B3.33:
  1852. ucomiss .L_2il0floatpacket.4(%rip), %xmm0
  1853. jp ..B3.34
  1854. je ..B3.126
  1855. ..B3.34:
  1856. movss %xmm0, 56(%rsp)
  1857. cmpl $1073741824, %r14d
  1858. flds 56(%rsp)
  1859. jbe ..B3.40
  1860. ..B3.35:
  1861. fldt .L_2il0floatpacket.5(%rip)
  1862. fld %st(1)
  1863. lea _C4(%rip), %r9
  1864. lea 8+_C4(%rip), %rax
  1865. fmul %st(2), %st
  1866. lea 32+_C4(%rip), %r10
  1867. fldl (%rax)
  1868. lea 40+_C4(%rip), %rdx
  1869. fmul %st(1), %st
  1870. lea 64+_C4(%rip), %r11
  1871. fldl (%r9)
  1872. lea 72+_C4(%rip), %rcx
  1873. fmul %st(2), %st
  1874. fxch %st(1)
  1875. faddl (%rdx)
  1876. fmul %st(2), %st
  1877. fxch %st(1)
  1878. faddl (%r10)
  1879. fmul %st(2), %st
  1880. fxch %st(1)
  1881. faddl (%rcx)
  1882. lea 48+_C4(%rip), %r13
  1883. lea 56+_C4(%rip), %rsi
  1884. fmul %st(2), %st
  1885. fxch %st(1)
  1886. faddl (%r11)
  1887. fmul %st(2), %st
  1888. fxch %st(1)
  1889. faddl (%rsi)
  1890. lea 16+_C4(%rip), %r14
  1891. lea 24+_C4(%rip), %r8
  1892. fmul %st(2), %st
  1893. fxch %st(1)
  1894. faddl (%r13)
  1895. fmul %st(2), %st
  1896. fxch %st(1)
  1897. faddl (%r8)
  1898. lea 80+_C4(%rip), %r15
  1899. testb %r12b, %r12b
  1900. fmul %st(4), %st
  1901. fstpt 80(%rsp)
  1902. fldt 80(%rsp)
  1903. fxch %st(3)
  1904. fsubrp %st, %st(4)
  1905. faddl (%r14)
  1906. fmulp %st, %st(1)
  1907. faddl (%r15)
  1908. faddp %st, %st(1)
  1909. fmulp %st, %st(1)
  1910. fstpt (%rsp)
  1911. je ..B3.37
  1912. ..B3.36:
  1913. movl %ebx, %edi
  1914. ..___tag_value_gammaf.207:
  1915. call fesetround@PLT
  1916. ..___tag_value_gammaf.208:
  1917. ..B3.37:
  1918. fldt (%rsp)
  1919. testb %bpl, %bpl
  1920. fstps 104(%rsp)
  1921. je ..B3.124
  1922. ..B3.38:
  1923. fldcw 110(%rsp)
  1924. jmp ..B3.124
  1925. ..B3.40:
  1926. cmpl $1071644672, %r14d
  1927. jb ..B3.47
  1928. ..B3.41:
  1929. fld %st(0)
  1930. lea 16+_C3(%rip), %rax
  1931. fmul %st(1), %st
  1932. lea 48+_C3(%rip), %rdx
  1933. fldl (%rax)
  1934. lea 32+_C3(%rip), %rcx
  1935. fmul %st(1), %st
  1936. lea 64+_C3(%rip), %rsi
  1937. lea 8+_C3(%rip), %r8
  1938. lea 40+_C3(%rip), %r9
  1939. lea 24+_C3(%rip), %r10
  1940. lea 56+_C3(%rip), %r11
  1941. lea _C3(%rip), %r13
  1942. testb %r12b, %r12b
  1943. faddl (%rdx)
  1944. fmul %st(1), %st
  1945. faddl (%rcx)
  1946. fmul %st(1), %st
  1947. faddl (%rsi)
  1948. fmulp %st, %st(2)
  1949. fxch %st(1)
  1950. fstpt 80(%rsp)
  1951. fldt 80(%rsp)
  1952. fldl (%r8)
  1953. fmul %st(2), %st
  1954. faddl (%r9)
  1955. fmul %st(2), %st
  1956. faddl (%r10)
  1957. fmul %st(2), %st
  1958. faddl (%r11)
  1959. fmulp %st, %st(2)
  1960. fxch %st(1)
  1961. faddl (%r13)
  1962. fstpt (%rsp)
  1963. je ..B3.44
  1964. ..B3.42:
  1965. fstp %st(0)
  1966. movl %ebx, %edi
  1967. ..___tag_value_gammaf.209:
  1968. call fesetround@PLT
  1969. ..___tag_value_gammaf.210:
  1970. ..B3.43:
  1971. fldt 80(%rsp)
  1972. ..B3.44:
  1973. fldt (%rsp)
  1974. testb %bpl, %bpl
  1975. faddp %st, %st(1)
  1976. fstps 104(%rsp)
  1977. je ..B3.124
  1978. ..B3.45:
  1979. fldcw 110(%rsp)
  1980. jmp ..B3.124
  1981. ..B3.47:
  1982. cmpl $1069547520, %r14d
  1983. jb ..B3.54
  1984. ..B3.48:
  1985. fld %st(0)
  1986. lea 16+_LGAMMAF_C2(%rip), %rax
  1987. fmul %st(1), %st
  1988. lea 48+_LGAMMAF_C2(%rip), %rdx
  1989. fldl (%rax)
  1990. lea 32+_LGAMMAF_C2(%rip), %rcx
  1991. fmul %st(1), %st
  1992. lea 64+_LGAMMAF_C2(%rip), %rsi
  1993. lea 8+_LGAMMAF_C2(%rip), %r8
  1994. lea 40+_LGAMMAF_C2(%rip), %r9
  1995. lea 24+_LGAMMAF_C2(%rip), %r10
  1996. lea 56+_LGAMMAF_C2(%rip), %r11
  1997. lea _LGAMMAF_C2(%rip), %r13
  1998. testb %r12b, %r12b
  1999. faddl (%rdx)
  2000. fmul %st(1), %st
  2001. faddl (%rcx)
  2002. fmul %st(1), %st
  2003. faddl (%rsi)
  2004. fmulp %st, %st(2)
  2005. fxch %st(1)
  2006. fstpt 80(%rsp)
  2007. fldt 80(%rsp)
  2008. fldl (%r8)
  2009. fmul %st(2), %st
  2010. faddl (%r9)
  2011. fmul %st(2), %st
  2012. faddl (%r10)
  2013. fmul %st(2), %st
  2014. faddl (%r11)
  2015. fmulp %st, %st(2)
  2016. fxch %st(1)
  2017. faddl (%r13)
  2018. fstpt (%rsp)
  2019. je ..B3.51
  2020. ..B3.49:
  2021. fstp %st(0)
  2022. movl %ebx, %edi
  2023. ..___tag_value_gammaf.211:
  2024. call fesetround@PLT
  2025. ..___tag_value_gammaf.212:
  2026. ..B3.50:
  2027. fldt 80(%rsp)
  2028. ..B3.51:
  2029. fldt (%rsp)
  2030. testb %bpl, %bpl
  2031. faddp %st, %st(1)
  2032. fstps 104(%rsp)
  2033. je ..B3.124
  2034. ..B3.52:
  2035. fldcw 110(%rsp)
  2036. jmp ..B3.124
  2037. ..B3.54:
  2038. cmpl $1067450368, %r14d
  2039. jb ..B3.61
  2040. ..B3.55:
  2041. lea _LM(%rip), %rax
  2042. lea 16+_C1(%rip), %rdx
  2043. lea 48+_C1(%rip), %rcx
  2044. lea 32+_C1(%rip), %rsi
  2045. lea 64+_C1(%rip), %r8
  2046. lea 8+_C1(%rip), %r9
  2047. lea 40+_C1(%rip), %r10
  2048. lea 24+_C1(%rip), %r11
  2049. fldl (%rdx)
  2050. lea 56+_C1(%rip), %r13
  2051. lea _C1(%rip), %r14
  2052. testb %r12b, %r12b
  2053. fxch %st(1)
  2054. fsubl (%rax)
  2055. fld %st(0)
  2056. fmul %st(1), %st
  2057. fmul %st, %st(2)
  2058. fxch %st(2)
  2059. faddl (%rcx)
  2060. fmul %st(2), %st
  2061. faddl (%rsi)
  2062. fmul %st(2), %st
  2063. faddl (%r8)
  2064. fmulp %st, %st(1)
  2065. fstpt 80(%rsp)
  2066. fldt 80(%rsp)
  2067. fldl (%r9)
  2068. fmul %st(2), %st
  2069. faddl (%r10)
  2070. fmul %st(2), %st
  2071. faddl (%r11)
  2072. fmul %st(2), %st
  2073. faddl (%r13)
  2074. fmulp %st, %st(2)
  2075. fxch %st(1)
  2076. faddl (%r14)
  2077. fstpt (%rsp)
  2078. je ..B3.58
  2079. ..B3.56:
  2080. fstp %st(0)
  2081. movl %ebx, %edi
  2082. ..___tag_value_gammaf.213:
  2083. call fesetround@PLT
  2084. ..___tag_value_gammaf.214:
  2085. ..B3.57:
  2086. fldt 80(%rsp)
  2087. ..B3.58:
  2088. fldt (%rsp)
  2089. testb %bpl, %bpl
  2090. faddp %st, %st(1)
  2091. fstps 104(%rsp)
  2092. je ..B3.124
  2093. ..B3.59:
  2094. fldcw 110(%rsp)
  2095. jmp ..B3.124
  2096. ..B3.61:
  2097. cmpl $1065353216, %r14d
  2098. jb ..B3.68
  2099. ..B3.62:
  2100. fld %st(0)
  2101. lea 16+_C0(%rip), %rax
  2102. fmul %st(1), %st
  2103. lea 48+_C0(%rip), %rdx
  2104. fldl (%rax)
  2105. lea 32+_C0(%rip), %rcx
  2106. fmul %st(1), %st
  2107. lea 64+_C0(%rip), %rsi
  2108. lea 8+_C0(%rip), %r8
  2109. lea 40+_C0(%rip), %r9
  2110. lea 24+_C0(%rip), %r10
  2111. lea 56+_C0(%rip), %r11
  2112. lea _C0(%rip), %r13
  2113. testb %r12b, %r12b
  2114. faddl (%rdx)
  2115. fmul %st(1), %st
  2116. faddl (%rcx)
  2117. fmul %st(1), %st
  2118. faddl (%rsi)
  2119. fmulp %st, %st(2)
  2120. fxch %st(1)
  2121. fstpt 80(%rsp)
  2122. fldt 80(%rsp)
  2123. fldl (%r8)
  2124. fmul %st(2), %st
  2125. faddl (%r9)
  2126. fmul %st(2), %st
  2127. faddl (%r10)
  2128. fmul %st(2), %st
  2129. faddl (%r11)
  2130. fmulp %st, %st(2)
  2131. fxch %st(1)
  2132. faddl (%r13)
  2133. fstpt (%rsp)
  2134. je ..B3.65
  2135. ..B3.63:
  2136. fstp %st(0)
  2137. movl %ebx, %edi
  2138. ..___tag_value_gammaf.215:
  2139. call fesetround@PLT
  2140. ..___tag_value_gammaf.216:
  2141. ..B3.64:
  2142. fldt 80(%rsp)
  2143. ..B3.65:
  2144. fldt (%rsp)
  2145. testb %bpl, %bpl
  2146. faddp %st, %st(1)
  2147. fstps 104(%rsp)
  2148. je ..B3.124
  2149. ..B3.66:
  2150. fldcw 110(%rsp)
  2151. jmp ..B3.124
  2152. ..B3.68:
  2153. fldt .L_2il0floatpacket.0(%rip)
  2154. addq $-16, %rsp
  2155. .cfi_def_cfa_offset 192
  2156. fadd %st(1), %st
  2157. fstpt (%rsp)
  2158. fstpt 32(%rsp)
  2159. ..___tag_value_gammaf.218:
  2160. call lgammaf_pos
  2161. ..___tag_value_gammaf.219:
  2162. ..B3.159:
  2163. fldt 32(%rsp)
  2164. fxch %st(1)
  2165. fstpt 16(%rsp)
  2166. addq $16, %rsp
  2167. .cfi_def_cfa_offset 176
  2168. fstpl 96(%rsp)
  2169. movsd 96(%rsp), %xmm0
  2170. call log@PLT
  2171. ..B3.158:
  2172. movsd %xmm0, 56(%rsp)
  2173. testb %r12b, %r12b
  2174. fldl 56(%rsp)
  2175. fstpt 80(%rsp)
  2176. fldt 80(%rsp)
  2177. je ..B3.71
  2178. ..B3.69:
  2179. fstp %st(0)
  2180. movl %ebx, %edi
  2181. ..___tag_value_gammaf.221:
  2182. call fesetround@PLT
  2183. ..___tag_value_gammaf.222:
  2184. ..B3.70:
  2185. fldt 80(%rsp)
  2186. ..B3.71:
  2187. fldt (%rsp)
  2188. testb %bpl, %bpl
  2189. fsubp %st, %st(1)
  2190. fstps 104(%rsp)
  2191. je ..B3.124
  2192. ..B3.72:
  2193. fldcw 110(%rsp)
  2194. jmp ..B3.124
  2195. ..B3.74:
  2196. movss 112(%rsp), %xmm0
  2197. call nearbyintf@PLT
  2198. ..B3.160:
  2199. movss %xmm0, 104(%rsp)
  2200. movss 104(%rsp), %xmm1
  2201. movss 112(%rsp), %xmm4
  2202. ucomiss %xmm1, %xmm4
  2203. jp ..B3.75
  2204. je ..B3.144
  2205. ..B3.75:
  2206. cmpl $1073741824, %r14d
  2207. jae ..B3.86
  2208. ..B3.76:
  2209. fldt .L_2il0floatpacket.0(%rip)
  2210. movss %xmm4, 56(%rsp)
  2211. fld %st(0)
  2212. flds 56(%rsp)
  2213. fstpt 16(%rsp)
  2214. fldt 16(%rsp)
  2215. fcomip %st(2), %st
  2216. jae ..B3.141
  2217. jp ..B3.141
  2218. ..B3.77:
  2219. fldt 16(%rsp)
  2220. ..B3.78:
  2221. fmul %st, %st(1)
  2222. fadd %st(2), %st
  2223. fcomi %st(2), %st
  2224. jp ..B3.79
  2225. jb ..B3.78
  2226. ..B3.79:
  2227. fstp %st(2)
  2228. fxch %st(1)
  2229. fstpt 16(%rsp)
  2230. fstpt 80(%rsp)
  2231. ..B3.80:
  2232. andb $127, 89(%rsp)
  2233. fldt 80(%rsp)
  2234. fstpl 96(%rsp)
  2235. movsd 96(%rsp), %xmm0
  2236. call log@PLT
  2237. ..B3.162:
  2238. movsd %xmm0, 56(%rsp)
  2239. fldl 56(%rsp)
  2240. fstpt 80(%rsp)
  2241. fldt 80(%rsp)
  2242. addq $-16, %rsp
  2243. .cfi_def_cfa_offset 192
  2244. fldt 32(%rsp)
  2245. fstpt (%rsp)
  2246. fstpt 16(%rsp)
  2247. ..___tag_value_gammaf.224:
  2248. call lgammaf_pos
  2249. ..___tag_value_gammaf.225:
  2250. ..B3.161:
  2251. fldt 16(%rsp)
  2252. fxch %st(1)
  2253. fstpt 32(%rsp)
  2254. addq $16, %rsp
  2255. .cfi_def_cfa_offset 176
  2256. testb %r12b, %r12b
  2257. je ..B3.83
  2258. ..B3.81:
  2259. fstp %st(0)
  2260. movl %ebx, %edi
  2261. ..___tag_value_gammaf.227:
  2262. call fesetround@PLT
  2263. ..___tag_value_gammaf.228:
  2264. ..B3.82:
  2265. fldt 80(%rsp)
  2266. ..B3.83:
  2267. fldt 16(%rsp)
  2268. testb %bpl, %bpl
  2269. fsubp %st, %st(1)
  2270. fstps 104(%rsp)
  2271. je ..B3.124
  2272. ..B3.84:
  2273. fldcw 110(%rsp)
  2274. jmp ..B3.124
  2275. ..B3.86:
  2276. cmpl $1082130432, %r14d
  2277. jae ..B3.103
  2278. ..B3.87:
  2279. movss .L_2il0floatpacket.2(%rip), %xmm0
  2280. lea _LRIB(%rip), %rdx
  2281. movss .L_2il0floatpacket.3(%rip), %xmm2
  2282. subss %xmm4, %xmm0
  2283. movss %xmm0, 104(%rsp)
  2284. movss 104(%rsp), %xmm1
  2285. addss %xmm2, %xmm1
  2286. movss %xmm1, 104(%rsp)
  2287. pxor %xmm1, %xmm1
  2288. cvtss2sd %xmm4, %xmm1
  2289. movl 104(%rsp), %ecx
  2290. andl $1, %ecx
  2291. movss 104(%rsp), %xmm3
  2292. subss %xmm2, %xmm3
  2293. movss %xmm3, 104(%rsp)
  2294. lea (%rcx,%rcx,2), %eax
  2295. comisd (%rdx,%rax,8), %xmm1
  2296. jbe ..B3.90
  2297. ..B3.88:
  2298. movsd 16(%rdx,%rax,8), %xmm0
  2299. comisd %xmm1, %xmm0
  2300. jbe ..B3.90
  2301. ..B3.89:
  2302. movss %xmm4, 56(%rsp)
  2303. flds 56(%rsp)
  2304. shll $2, %ecx
  2305. fsubl 8(%rdx,%rax,8)
  2306. lea _LRP(%rip), %rax
  2307. fldl (%rax,%rcx,8)
  2308. fmul %st(1), %st
  2309. faddl 8(%rax,%rcx,8)
  2310. fmul %st(1), %st
  2311. faddl 16(%rax,%rcx,8)
  2312. fmulp %st, %st(1)
  2313. faddl 24(%rax,%rcx,8)
  2314. fstpt (%rsp)
  2315. jmp ..B3.98
  2316. ..B3.90:
  2317. lea _RRIB(%rip), %rdx
  2318. comisd (%rdx,%rax,8), %xmm1
  2319. jbe ..B3.93
  2320. ..B3.91:
  2321. movsd 16(%rdx,%rax,8), %xmm0
  2322. comisd %xmm1, %xmm0
  2323. jbe ..B3.93
  2324. ..B3.92:
  2325. movss %xmm4, 56(%rsp)
  2326. flds 56(%rsp)
  2327. shll $2, %ecx
  2328. fsubl 8(%rdx,%rax,8)
  2329. lea _RRP(%rip), %rax
  2330. fldl (%rax,%rcx,8)
  2331. fmul %st(1), %st
  2332. faddl 8(%rax,%rcx,8)
  2333. fmul %st(1), %st
  2334. faddl 16(%rax,%rcx,8)
  2335. fmulp %st, %st(1)
  2336. faddl 24(%rax,%rcx,8)
  2337. fstpt (%rsp)
  2338. jmp ..B3.98
  2339. ..B3.93:
  2340. fldt .L_2il0floatpacket.0(%rip)
  2341. movss %xmm4, 56(%rsp)
  2342. fld %st(0)
  2343. flds 56(%rsp)
  2344. fstpt (%rsp)
  2345. fldt (%rsp)
  2346. fcomip %st(2), %st
  2347. jae ..B3.142
  2348. jp ..B3.142
  2349. ..B3.94:
  2350. fldt (%rsp)
  2351. ..B3.95:
  2352. fmul %st, %st(1)
  2353. fadd %st(2), %st
  2354. fcomi %st(2), %st
  2355. jp ..B3.96
  2356. jb ..B3.95
  2357. ..B3.96:
  2358. fstp %st(2)
  2359. fxch %st(1)
  2360. fstpt (%rsp)
  2361. fstpt 80(%rsp)
  2362. ..B3.97:
  2363. andb $127, 89(%rsp)
  2364. fldt 80(%rsp)
  2365. fstpl 96(%rsp)
  2366. movsd 96(%rsp), %xmm0
  2367. call log@PLT
  2368. ..B3.164:
  2369. movsd %xmm0, 56(%rsp)
  2370. fldl 56(%rsp)
  2371. fstl 16(%rsp)
  2372. fstpt 80(%rsp)
  2373. addq $-16, %rsp
  2374. .cfi_def_cfa_offset 192
  2375. fldt 16(%rsp)
  2376. fstpt (%rsp)
  2377. ..___tag_value_gammaf.230:
  2378. call lgammaf_pos
  2379. ..___tag_value_gammaf.231:
  2380. ..B3.163:
  2381. addq $16, %rsp
  2382. .cfi_def_cfa_offset 176
  2383. fsubl 16(%rsp)
  2384. fstpt (%rsp)
  2385. ..B3.98:
  2386. testb %r12b, %r12b
  2387. je ..B3.100
  2388. ..B3.99:
  2389. movl %ebx, %edi
  2390. ..___tag_value_gammaf.233:
  2391. call fesetround@PLT
  2392. ..___tag_value_gammaf.234:
  2393. ..B3.100:
  2394. fldt (%rsp)
  2395. testb %bpl, %bpl
  2396. fstps 104(%rsp)
  2397. je ..B3.124
  2398. ..B3.101:
  2399. fldcw 110(%rsp)
  2400. jmp ..B3.124
  2401. ..B3.103:
  2402. cmpl $1091567616, %r14d
  2403. jae ..B3.114
  2404. ..B3.104:
  2405. fldt .L_2il0floatpacket.0(%rip)
  2406. movss %xmm4, 56(%rsp)
  2407. fld %st(0)
  2408. flds 56(%rsp)
  2409. fstpt 16(%rsp)
  2410. fldt 16(%rsp)
  2411. fcomip %st(2), %st
  2412. jae ..B3.143
  2413. jp ..B3.143
  2414. ..B3.105:
  2415. fldt 16(%rsp)
  2416. ..B3.106:
  2417. fmul %st, %st(1)
  2418. fadd %st(2), %st
  2419. fcomi %st(2), %st
  2420. jp ..B3.107
  2421. jb ..B3.106
  2422. ..B3.107:
  2423. fstp %st(2)
  2424. fxch %st(1)
  2425. fstpt 16(%rsp)
  2426. fstpt 80(%rsp)
  2427. ..B3.108:
  2428. andb $127, 89(%rsp)
  2429. fldt 80(%rsp)
  2430. fstpl 96(%rsp)
  2431. movsd 96(%rsp), %xmm0
  2432. call log@PLT
  2433. ..B3.166:
  2434. movsd %xmm0, 56(%rsp)
  2435. fldl 56(%rsp)
  2436. fstpt 80(%rsp)
  2437. fldt 80(%rsp)
  2438. addq $-16, %rsp
  2439. .cfi_def_cfa_offset 192
  2440. fldt 32(%rsp)
  2441. fstpt (%rsp)
  2442. fstpt 16(%rsp)
  2443. ..___tag_value_gammaf.236:
  2444. call lgammaf_pos
  2445. ..___tag_value_gammaf.237:
  2446. ..B3.165:
  2447. fldt 16(%rsp)
  2448. fxch %st(1)
  2449. fstpt 32(%rsp)
  2450. addq $16, %rsp
  2451. .cfi_def_cfa_offset 176
  2452. testb %r12b, %r12b
  2453. je ..B3.111
  2454. ..B3.109:
  2455. fstp %st(0)
  2456. movl %ebx, %edi
  2457. ..___tag_value_gammaf.239:
  2458. call fesetround@PLT
  2459. ..___tag_value_gammaf.240:
  2460. ..B3.110:
  2461. fldt 80(%rsp)
  2462. ..B3.111:
  2463. fldt 16(%rsp)
  2464. testb %bpl, %bpl
  2465. fsubp %st, %st(1)
  2466. fstps 104(%rsp)
  2467. je ..B3.124
  2468. ..B3.112:
  2469. fldcw 110(%rsp)
  2470. jmp ..B3.124
  2471. ..B3.114:
  2472. cmpl $1174405120, %r14d
  2473. jb ..B3.120
  2474. ..B3.115:
  2475. fldt .L_2il0floatpacket.1(%rip)
  2476. lea _LN_SQRT_TWO_PI(%rip), %rax
  2477. movss %xmm4, 56(%rsp)
  2478. flds 56(%rsp)
  2479. fsts (%rsp)
  2480. fsub %st, %st(1)
  2481. fxch %st(1)
  2482. fstpt 8(%rsp)
  2483. fchs
  2484. fstl 96(%rsp)
  2485. movsd 96(%rsp), %xmm0
  2486. fstpt 40(%rsp)
  2487. fldt (%rax)
  2488. fstpt 24(%rsp)
  2489. call log@PLT
  2490. ..B3.168:
  2491. fldt 8(%rsp)
  2492. lea _S16(%rip), %rax
  2493. fldt 24(%rsp)
  2494. lea _S14(%rip), %rdx
  2495. fldt 40(%rsp)
  2496. lea _S12(%rip), %rcx
  2497. movss .L_2il0floatpacket.3(%rip), %xmm2
  2498. lea _S10(%rip), %rsi
  2499. fldl (%rax)
  2500. lea _S08(%rip), %r8
  2501. movss %xmm2, 104(%rsp)
  2502. lea _S06(%rip), %r9
  2503. movss 104(%rsp), %xmm1
  2504. lea _S04(%rip), %r10
  2505. movsd %xmm0, 56(%rsp)
  2506. lea _S02(%rip), %r11
  2507. fxch %st(3)
  2508. fmull 56(%rsp)
  2509. subss 112(%rsp), %xmm1
  2510. fsubp %st, %st(2)
  2511. movss %xmm1, 104(%rsp)
  2512. movss 104(%rsp), %xmm3
  2513. fxch %st(1)
  2514. fsubs (%rsp)
  2515. subss %xmm2, %xmm3
  2516. movss %xmm3, 104(%rsp)
  2517. movss 104(%rsp), %xmm4
  2518. movss %xmm4, 56(%rsp)
  2519. fxch %st(1)
  2520. fsubs 56(%rsp)
  2521. fstpt 64(%rsp)
  2522. fldt 64(%rsp)
  2523. fmul %st(0), %st
  2524. fmul %st, %st(2)
  2525. andb $127, 73(%rsp)
  2526. fldt 64(%rsp)
  2527. fstpl 96(%rsp)
  2528. movsd 96(%rsp), %xmm0
  2529. fxch %st(2)
  2530. faddl (%rdx)
  2531. fmul %st(2), %st
  2532. faddl (%rcx)
  2533. fmul %st(2), %st
  2534. faddl (%rsi)
  2535. fmul %st(2), %st
  2536. faddl (%r8)
  2537. fmul %st(2), %st
  2538. faddl (%r9)
  2539. fmul %st(2), %st
  2540. faddl (%r10)
  2541. fmul %st(2), %st
  2542. faddl (%r11)
  2543. fmulp %st, %st(2)
  2544. fxch %st(1)
  2545. fstpt 80(%rsp)
  2546. fldt 80(%rsp)
  2547. fsubrp %st, %st(1)
  2548. fstpt 8(%rsp)
  2549. call log@PLT
  2550. ..B3.167:
  2551. movsd %xmm0, 56(%rsp)
  2552. testb %r12b, %r12b
  2553. fldl 56(%rsp)
  2554. je ..B3.117
  2555. ..B3.116:
  2556. movl %ebx, %edi
  2557. fstpl (%rsp)
  2558. ..___tag_value_gammaf.241:
  2559. call fesetround@PLT
  2560. ..___tag_value_gammaf.242:
  2561. ..B3.172:
  2562. fldl (%rsp)
  2563. ..B3.117:
  2564. fldt 8(%rsp)
  2565. testb %bpl, %bpl
  2566. fsubp %st, %st(1)
  2567. fstps 104(%rsp)
  2568. je ..B3.124
  2569. ..B3.118:
  2570. fldcw 110(%rsp)
  2571. jmp ..B3.124
  2572. ..B3.120:
  2573. flds 112(%rsp)
  2574. movss .L_2il0floatpacket.3(%rip), %xmm1
  2575. fchs
  2576. movaps %xmm1, %xmm0
  2577. fstl 96(%rsp)
  2578. subss %xmm4, %xmm0
  2579. movss %xmm0, 104(%rsp)
  2580. movss 104(%rsp), %xmm2
  2581. movsd 96(%rsp), %xmm0
  2582. subss %xmm1, %xmm2
  2583. movss %xmm2, 104(%rsp)
  2584. movss 104(%rsp), %xmm3
  2585. movss %xmm3, 56(%rsp)
  2586. fstpt 40(%rsp)
  2587. fldt 40(%rsp)
  2588. flds 56(%rsp)
  2589. fsubrp %st, %st(1)
  2590. fstpt 64(%rsp)
  2591. fldt 64(%rsp)
  2592. fmul %st(0), %st
  2593. fstpt 24(%rsp)
  2594. call log@PLT
  2595. ..B3.171:
  2596. movsd %xmm0, 56(%rsp)
  2597. fldl 56(%rsp)
  2598. addq $-16, %rsp
  2599. .cfi_def_cfa_offset 192
  2600. fchs
  2601. fldt 56(%rsp)
  2602. fstpt (%rsp)
  2603. fstpt 24(%rsp)
  2604. ..___tag_value_gammaf.244:
  2605. call lgammaf_pos
  2606. ..___tag_value_gammaf.245:
  2607. ..B3.170:
  2608. fldt 24(%rsp)
  2609. addq $16, %rsp
  2610. .cfi_def_cfa_offset 176
  2611. fldt 24(%rsp)
  2612. lea _S14(%rip), %rax
  2613. fld %st(0)
  2614. lea _S16(%rip), %r8
  2615. fmul %st(1), %st
  2616. lea _S10(%rip), %rdx
  2617. fxch %st(3)
  2618. fsubrp %st, %st(2)
  2619. fldl (%rax)
  2620. lea _S12(%rip), %r9
  2621. fmul %st(3), %st
  2622. lea _S06(%rip), %rcx
  2623. fldl (%r8)
  2624. lea _S08(%rip), %r10
  2625. fmul %st(4), %st
  2626. fxch %st(1)
  2627. faddl (%rdx)
  2628. fmul %st(4), %st
  2629. fxch %st(1)
  2630. faddl (%r9)
  2631. fmul %st(4), %st
  2632. fxch %st(1)
  2633. faddl (%rcx)
  2634. fmul %st(4), %st
  2635. fxch %st(1)
  2636. faddl (%r10)
  2637. fmul %st(4), %st
  2638. lea _S02(%rip), %rsi
  2639. fxch %st(1)
  2640. faddl (%rsi)
  2641. lea _S04(%rip), %r11
  2642. fmulp %st, %st(2)
  2643. faddl (%r11)
  2644. fmulp %st, %st(3)
  2645. andb $127, 73(%rsp)
  2646. faddp %st, %st(2)
  2647. fxch %st(1)
  2648. fstpt 80(%rsp)
  2649. fldt 80(%rsp)
  2650. fsubrp %st, %st(1)
  2651. fstpt 8(%rsp)
  2652. fldt 64(%rsp)
  2653. fstpl 96(%rsp)
  2654. movsd 96(%rsp), %xmm0
  2655. call log@PLT
  2656. ..B3.169:
  2657. fldt 8(%rsp)
  2658. testb %r12b, %r12b
  2659. movsd %xmm0, 56(%rsp)
  2660. fldl 56(%rsp)
  2661. je ..B3.122
  2662. ..B3.121:
  2663. movl %ebx, %edi
  2664. fstpl (%rsp)
  2665. fstpt 8(%rsp)
  2666. ..___tag_value_gammaf.247:
  2667. call fesetround@PLT
  2668. ..___tag_value_gammaf.248:
  2669. ..B3.173:
  2670. fldt 8(%rsp)
  2671. fldl (%rsp)
  2672. ..B3.122:
  2673. testb %bpl, %bpl
  2674. fsubrp %st, %st(1)
  2675. fstps 104(%rsp)
  2676. je ..B3.124
  2677. ..B3.123:
  2678. fldcw 110(%rsp)
  2679. ..B3.124:
  2680. movss 104(%rsp), %xmm0
  2681. ..B3.125:
  2682. addq $120, %rsp
  2683. .cfi_def_cfa_offset 56
  2684. .cfi_restore 6
  2685. popq %rbp
  2686. .cfi_def_cfa_offset 48
  2687. .cfi_restore 3
  2688. popq %rbx
  2689. .cfi_def_cfa_offset 40
  2690. .cfi_restore 15
  2691. popq %r15
  2692. .cfi_def_cfa_offset 32
  2693. .cfi_restore 14
  2694. popq %r14
  2695. .cfi_def_cfa_offset 24
  2696. .cfi_restore 13
  2697. popq %r13
  2698. .cfi_def_cfa_offset 16
  2699. .cfi_restore 12
  2700. popq %r12
  2701. .cfi_def_cfa_offset 8
  2702. ret
  2703. .cfi_def_cfa_offset 176
  2704. .cfi_offset 3, -48
  2705. .cfi_offset 6, -56
  2706. .cfi_offset 12, -16
  2707. .cfi_offset 13, -24
  2708. .cfi_offset 14, -32
  2709. .cfi_offset 15, -40
  2710. ..B3.126:
  2711. testb %bpl, %bpl
  2712. je ..B3.128
  2713. ..B3.127:
  2714. fldcw 110(%rsp)
  2715. ..B3.128:
  2716. testb %r12b, %r12b
  2717. je ..B3.130
  2718. ..B3.129:
  2719. movl %ebx, %edi
  2720. ..___tag_value_gammaf.269:
  2721. call fesetround@PLT
  2722. ..___tag_value_gammaf.270:
  2723. ..B3.130:
  2724. pxor %xmm0, %xmm0
  2725. addq $120, %rsp
  2726. .cfi_def_cfa_offset 56
  2727. .cfi_restore 6
  2728. popq %rbp
  2729. .cfi_def_cfa_offset 48
  2730. .cfi_restore 3
  2731. popq %rbx
  2732. .cfi_def_cfa_offset 40
  2733. .cfi_restore 15
  2734. popq %r15
  2735. .cfi_def_cfa_offset 32
  2736. .cfi_restore 14
  2737. popq %r14
  2738. .cfi_def_cfa_offset 24
  2739. .cfi_restore 13
  2740. popq %r13
  2741. .cfi_def_cfa_offset 16
  2742. .cfi_restore 12
  2743. popq %r12
  2744. .cfi_def_cfa_offset 8
  2745. ret
  2746. .cfi_def_cfa_offset 176
  2747. .cfi_offset 3, -48
  2748. .cfi_offset 6, -56
  2749. .cfi_offset 12, -16
  2750. .cfi_offset 13, -24
  2751. .cfi_offset 14, -32
  2752. .cfi_offset 15, -40
  2753. ..B3.131:
  2754. testb %bpl, %bpl
  2755. je ..B3.133
  2756. ..B3.132:
  2757. fldcw 110(%rsp)
  2758. ..B3.133:
  2759. testb %r12b, %r12b
  2760. je ..B3.135
  2761. ..B3.134:
  2762. movl %ebx, %edi
  2763. ..___tag_value_gammaf.291:
  2764. call fesetround@PLT
  2765. ..___tag_value_gammaf.292:
  2766. ..B3.135:
  2767. pxor %xmm0, %xmm0
  2768. addq $120, %rsp
  2769. .cfi_def_cfa_offset 56
  2770. .cfi_restore 6
  2771. popq %rbp
  2772. .cfi_def_cfa_offset 48
  2773. .cfi_restore 3
  2774. popq %rbx
  2775. .cfi_def_cfa_offset 40
  2776. .cfi_restore 15
  2777. popq %r15
  2778. .cfi_def_cfa_offset 32
  2779. .cfi_restore 14
  2780. popq %r14
  2781. .cfi_def_cfa_offset 24
  2782. .cfi_restore 13
  2783. popq %r13
  2784. .cfi_def_cfa_offset 16
  2785. .cfi_restore 12
  2786. popq %r12
  2787. .cfi_def_cfa_offset 8
  2788. ret
  2789. .cfi_def_cfa_offset 176
  2790. .cfi_offset 3, -48
  2791. .cfi_offset 6, -56
  2792. .cfi_offset 12, -16
  2793. .cfi_offset 13, -24
  2794. .cfi_offset 14, -32
  2795. .cfi_offset 15, -40
  2796. ..B3.136:
  2797. testb %r12b, %r12b
  2798. je ..B3.138
  2799. ..B3.137:
  2800. movl %ebx, %edi
  2801. ..___tag_value_gammaf.313:
  2802. call fesetround@PLT
  2803. ..___tag_value_gammaf.314:
  2804. ..B3.138:
  2805. lea _PBIG(%rip), %rax
  2806. testb %bpl, %bpl
  2807. movsd (%rax), %xmm0
  2808. mulsd %xmm0, %xmm0
  2809. cvtsd2ss %xmm0, %xmm0
  2810. movss %xmm0, 104(%rsp)
  2811. je ..B3.124
  2812. ..B3.139:
  2813. fldcw 110(%rsp)
  2814. jmp ..B3.124
  2815. ..B3.141:
  2816. fstp %st(0)
  2817. fstpt 80(%rsp)
  2818. jmp ..B3.80
  2819. ..B3.142:
  2820. fstp %st(0)
  2821. fstpt 80(%rsp)
  2822. jmp ..B3.97
  2823. ..B3.143:
  2824. fstp %st(0)
  2825. fstpt 80(%rsp)
  2826. jmp ..B3.108
  2827. ..B3.144:
  2828. testb %r12b, %r12b
  2829. je ..B3.146
  2830. ..B3.145:
  2831. movl %ebx, %edi
  2832. ..___tag_value_gammaf.315:
  2833. call fesetround@PLT
  2834. ..___tag_value_gammaf.316:
  2835. ..B3.146:
  2836. movss .L_2il0floatpacket.6(%rip), %xmm1
  2837. testb %bpl, %bpl
  2838. pxor %xmm0, %xmm0
  2839. divss %xmm0, %xmm1
  2840. movss %xmm1, 104(%rsp)
  2841. je ..B3.124
  2842. ..B3.147:
  2843. fldcw 110(%rsp)
  2844. jmp ..B3.124
  2845. ..B3.149:
  2846. testb %r12b, %r12b
  2847. je ..B3.151
  2848. ..B3.150:
  2849. movl %ebx, %edi
  2850. ..___tag_value_gammaf.317:
  2851. call fesetround@PLT
  2852. ..___tag_value_gammaf.318:
  2853. ..B3.151:
  2854. movss .L_2il0floatpacket.6(%rip), %xmm1
  2855. testb %bpl, %bpl
  2856. pxor %xmm0, %xmm0
  2857. divss %xmm0, %xmm1
  2858. movss %xmm1, 104(%rsp)
  2859. je ..B3.124
  2860. ..B3.152:
  2861. fldcw 110(%rsp)
  2862. jmp ..B3.124
  2863. .align 16,0x90
  2864. .cfi_endproc
  2865. .type gammaf,@function
  2866. .size gammaf,.-gammaf
  2867. .data
  2868. # -- End gammaf
  2869. .text
  2870. # -- Begin lgammaf_r
  2871. .text
  2872. .align 16,0x90
  2873. .globl lgammaf_r
  2874. lgammaf_r:
  2875. # parameter 1: %xmm0
  2876. # parameter 2: %rdi
  2877. ..B4.1:
  2878. .cfi_startproc
  2879. ..___tag_value_lgammaf_r.320:
  2880. ..L321:
  2881. pushq %r12
  2882. .cfi_def_cfa_offset 16
  2883. .cfi_offset 12, -16
  2884. pushq %r13
  2885. .cfi_def_cfa_offset 24
  2886. .cfi_offset 13, -24
  2887. pushq %r14
  2888. .cfi_def_cfa_offset 32
  2889. .cfi_offset 14, -32
  2890. pushq %r15
  2891. .cfi_def_cfa_offset 40
  2892. .cfi_offset 15, -40
  2893. pushq %rbx
  2894. .cfi_def_cfa_offset 48
  2895. .cfi_offset 3, -48
  2896. pushq %rbp
  2897. .cfi_def_cfa_offset 56
  2898. .cfi_offset 6, -56
  2899. subq $120, %rsp
  2900. .cfi_def_cfa_offset 176
  2901. xorb %r12b, %r12b
  2902. movss %xmm0, 112(%rsp)
  2903. movq %rdi, %r15
  2904. movb 115(%rsp), %dl
  2905. xorb %bpl, %bpl
  2906. andb $-128, %dl
  2907. shrb $7, %dl
  2908. movd %xmm0, %eax
  2909. movzwl 114(%rsp), %r14d
  2910. andl $8388607, %eax
  2911. andl $32640, %r14d
  2912. shrl $7, %r14d
  2913. movl %r14d, %r13d
  2914. shll $23, %r13d
  2915. movb %dl, (%rsp)
  2916. orl %eax, %r13d
  2917. ..B4.2:
  2918. fnstcw 110(%rsp)
  2919. ..B4.3:
  2920. ..___tag_value_lgammaf_r.335:
  2921. call fegetround@PLT
  2922. ..___tag_value_lgammaf_r.336:
  2923. ..B4.162:
  2924. movl %eax, %ebx
  2925. ..B4.4:
  2926. testl %ebx, %ebx
  2927. je ..B4.6
  2928. ..B4.5:
  2929. xorl %edi, %edi
  2930. movb $1, %r12b
  2931. ..___tag_value_lgammaf_r.337:
  2932. call fesetround@PLT
  2933. ..___tag_value_lgammaf_r.338:
  2934. ..B4.6:
  2935. movzwl 110(%rsp), %edx
  2936. movl %edx, %eax
  2937. andl $768, %eax
  2938. cmpl $768, %eax
  2939. je ..B4.10
  2940. ..B4.7:
  2941. orl $-64768, %edx
  2942. movw %dx, 108(%rsp)
  2943. ..B4.8:
  2944. fldcw 108(%rsp)
  2945. ..B4.9:
  2946. movb $1, %bpl
  2947. ..B4.10:
  2948. cmpl $255, %r14d
  2949. jne ..B4.16
  2950. ..B4.11:
  2951. movl $1, (%r15)
  2952. testb %bpl, %bpl
  2953. je ..B4.13
  2954. ..B4.12:
  2955. fldcw 110(%rsp)
  2956. ..B4.13:
  2957. testb %r12b, %r12b
  2958. je ..B4.15
  2959. ..B4.14:
  2960. movl %ebx, %edi
  2961. ..___tag_value_lgammaf_r.339:
  2962. call fesetround@PLT
  2963. ..___tag_value_lgammaf_r.340:
  2964. ..B4.15:
  2965. movss 112(%rsp), %xmm0
  2966. mulss %xmm0, %xmm0
  2967. addq $120, %rsp
  2968. .cfi_def_cfa_offset 56
  2969. .cfi_restore 6
  2970. popq %rbp
  2971. .cfi_def_cfa_offset 48
  2972. .cfi_restore 3
  2973. popq %rbx
  2974. .cfi_def_cfa_offset 40
  2975. .cfi_restore 15
  2976. popq %r15
  2977. .cfi_def_cfa_offset 32
  2978. .cfi_restore 14
  2979. popq %r14
  2980. .cfi_def_cfa_offset 24
  2981. .cfi_restore 13
  2982. popq %r13
  2983. .cfi_def_cfa_offset 16
  2984. .cfi_restore 12
  2985. popq %r12
  2986. .cfi_def_cfa_offset 8
  2987. ret
  2988. .cfi_def_cfa_offset 176
  2989. .cfi_offset 3, -48
  2990. .cfi_offset 6, -56
  2991. .cfi_offset 12, -16
  2992. .cfi_offset 13, -24
  2993. .cfi_offset 14, -32
  2994. .cfi_offset 15, -40
  2995. ..B4.16:
  2996. testl %r13d, %r13d
  2997. je ..B4.152
  2998. ..B4.17:
  2999. movb (%rsp), %al
  3000. testb %al, %al
  3001. movl $1, (%r15)
  3002. jne ..B4.74
  3003. ..B4.18:
  3004. cmpl $2084876174, %r13d
  3005. jae ..B4.139
  3006. ..B4.19:
  3007. movss 112(%rsp), %xmm0
  3008. ucomiss .L_2il0floatpacket.6(%rip), %xmm0
  3009. jp ..B4.20
  3010. je ..B4.134
  3011. ..B4.20:
  3012. cmpl $1174405120, %r13d
  3013. jb ..B4.26
  3014. ..B4.21:
  3015. fldt .L_2il0floatpacket.1(%rip)
  3016. lea _LN_SQRT_TWO_PI(%rip), %rax
  3017. movss %xmm0, 56(%rsp)
  3018. pxor %xmm0, %xmm0
  3019. flds 56(%rsp)
  3020. cvtss2sd 56(%rsp), %xmm0
  3021. fsub %st, %st(1)
  3022. fxch %st(1)
  3023. fstpt (%rsp)
  3024. fstps 32(%rsp)
  3025. fldt (%rax)
  3026. fstpt 16(%rsp)
  3027. call log@PLT
  3028. ..B4.163:
  3029. fldt (%rsp)
  3030. testb %r12b, %r12b
  3031. movsd %xmm0, 56(%rsp)
  3032. fmull 56(%rsp)
  3033. fstpt (%rsp)
  3034. je ..B4.23
  3035. ..B4.22:
  3036. movl %ebx, %edi
  3037. ..___tag_value_lgammaf_r.361:
  3038. call fesetround@PLT
  3039. ..___tag_value_lgammaf_r.362:
  3040. ..B4.23:
  3041. fldt (%rsp)
  3042. testb %bpl, %bpl
  3043. fldt 16(%rsp)
  3044. faddp %st, %st(1)
  3045. fsubs 32(%rsp)
  3046. fstps 104(%rsp)
  3047. je ..B4.127
  3048. ..B4.24:
  3049. fldcw 110(%rsp)
  3050. jmp ..B4.127
  3051. ..B4.26:
  3052. cmpl $1082130432, %r13d
  3053. jb ..B4.33
  3054. ..B4.27:
  3055. addl $-1082130432, %r13d
  3056. lea _A(%rip), %rax
  3057. sarl $23, %r13d
  3058. lea _B(%rip), %rdx
  3059. movslq %r13d, %r13
  3060. lea _C5(%rip), %r8
  3061. movss %xmm0, 56(%rsp)
  3062. lea (,%r13,8), %ecx
  3063. flds 56(%rsp)
  3064. lea (%r13,%r13,2), %esi
  3065. movslq %ecx, %rcx
  3066. lea _C5_0(%rip), %r9
  3067. movslq %esi, %rsi
  3068. testb %r12b, %r12b
  3069. fsubs (%rax,%r13,4)
  3070. fmuls (%rdx,%r13,4)
  3071. fld %st(0)
  3072. fmul %st(1), %st
  3073. fldl 8(%r8,%rcx,8)
  3074. fmul %st(1), %st
  3075. fldl (%r8,%rcx,8)
  3076. fmul %st(2), %st
  3077. fxch %st(1)
  3078. faddl 40(%r8,%rcx,8)
  3079. fmul %st(2), %st
  3080. fxch %st(1)
  3081. faddl 32(%r8,%rcx,8)
  3082. fmul %st(2), %st
  3083. fxch %st(1)
  3084. faddl 8(%r9,%rsi,8)
  3085. fmul %st(2), %st
  3086. fxch %st(1)
  3087. faddl (%r9,%rsi,8)
  3088. fmul %st(2), %st
  3089. fxch %st(1)
  3090. faddl 56(%r8,%rcx,8)
  3091. fmul %st(2), %st
  3092. fxch %st(1)
  3093. faddl 48(%r8,%rcx,8)
  3094. fmul %st(2), %st
  3095. fxch %st(1)
  3096. faddl 24(%r8,%rcx,8)
  3097. fmulp %st, %st(3)
  3098. fxch %st(2)
  3099. fstpt 80(%rsp)
  3100. fldt 80(%rsp)
  3101. fxch %st(2)
  3102. faddl 16(%r8,%rcx,8)
  3103. fmulp %st, %st(1)
  3104. faddl 16(%r9,%rsi,8)
  3105. fstpt (%rsp)
  3106. je ..B4.30
  3107. ..B4.28:
  3108. fstp %st(0)
  3109. movl %ebx, %edi
  3110. ..___tag_value_lgammaf_r.363:
  3111. call fesetround@PLT
  3112. ..___tag_value_lgammaf_r.364:
  3113. ..B4.29:
  3114. fldt 80(%rsp)
  3115. ..B4.30:
  3116. fldt (%rsp)
  3117. testb %bpl, %bpl
  3118. faddp %st, %st(1)
  3119. fstps 104(%rsp)
  3120. je ..B4.127
  3121. ..B4.31:
  3122. fldcw 110(%rsp)
  3123. jmp ..B4.127
  3124. ..B4.33:
  3125. ucomiss .L_2il0floatpacket.4(%rip), %xmm0
  3126. jp ..B4.34
  3127. je ..B4.129
  3128. ..B4.34:
  3129. movss %xmm0, 56(%rsp)
  3130. cmpl $1073741824, %r13d
  3131. flds 56(%rsp)
  3132. jbe ..B4.40
  3133. ..B4.35:
  3134. fldt .L_2il0floatpacket.5(%rip)
  3135. fld %st(1)
  3136. lea _C4(%rip), %r9
  3137. lea 8+_C4(%rip), %rax
  3138. fmul %st(2), %st
  3139. lea 32+_C4(%rip), %r10
  3140. fldl (%rax)
  3141. lea 40+_C4(%rip), %rdx
  3142. fmul %st(1), %st
  3143. lea 64+_C4(%rip), %r11
  3144. fldl (%r9)
  3145. lea 72+_C4(%rip), %rcx
  3146. fmul %st(2), %st
  3147. fxch %st(1)
  3148. faddl (%rdx)
  3149. fmul %st(2), %st
  3150. fxch %st(1)
  3151. faddl (%r10)
  3152. fmul %st(2), %st
  3153. fxch %st(1)
  3154. faddl (%rcx)
  3155. lea 48+_C4(%rip), %r13
  3156. lea 56+_C4(%rip), %rsi
  3157. fmul %st(2), %st
  3158. fxch %st(1)
  3159. faddl (%r11)
  3160. fmul %st(2), %st
  3161. fxch %st(1)
  3162. faddl (%rsi)
  3163. lea 16+_C4(%rip), %r14
  3164. lea 24+_C4(%rip), %r8
  3165. fmul %st(2), %st
  3166. fxch %st(1)
  3167. faddl (%r13)
  3168. fmul %st(2), %st
  3169. fxch %st(1)
  3170. faddl (%r8)
  3171. lea 80+_C4(%rip), %r15
  3172. testb %r12b, %r12b
  3173. fmul %st(4), %st
  3174. fstpt 80(%rsp)
  3175. fldt 80(%rsp)
  3176. fxch %st(3)
  3177. fsubrp %st, %st(4)
  3178. faddl (%r14)
  3179. fmulp %st, %st(1)
  3180. faddl (%r15)
  3181. faddp %st, %st(1)
  3182. fmulp %st, %st(1)
  3183. fstpt (%rsp)
  3184. je ..B4.37
  3185. ..B4.36:
  3186. movl %ebx, %edi
  3187. ..___tag_value_lgammaf_r.365:
  3188. call fesetround@PLT
  3189. ..___tag_value_lgammaf_r.366:
  3190. ..B4.37:
  3191. fldt (%rsp)
  3192. testb %bpl, %bpl
  3193. fstps 104(%rsp)
  3194. je ..B4.127
  3195. ..B4.38:
  3196. fldcw 110(%rsp)
  3197. jmp ..B4.127
  3198. ..B4.40:
  3199. cmpl $1071644672, %r13d
  3200. jb ..B4.47
  3201. ..B4.41:
  3202. fld %st(0)
  3203. lea 16+_C3(%rip), %rax
  3204. fmul %st(1), %st
  3205. lea 48+_C3(%rip), %rdx
  3206. fldl (%rax)
  3207. lea 32+_C3(%rip), %rcx
  3208. fmul %st(1), %st
  3209. lea 64+_C3(%rip), %rsi
  3210. lea 8+_C3(%rip), %r8
  3211. lea 40+_C3(%rip), %r9
  3212. lea 24+_C3(%rip), %r10
  3213. lea 56+_C3(%rip), %r11
  3214. lea _C3(%rip), %r13
  3215. testb %r12b, %r12b
  3216. faddl (%rdx)
  3217. fmul %st(1), %st
  3218. faddl (%rcx)
  3219. fmul %st(1), %st
  3220. faddl (%rsi)
  3221. fmulp %st, %st(2)
  3222. fxch %st(1)
  3223. fstpt 80(%rsp)
  3224. fldt 80(%rsp)
  3225. fldl (%r8)
  3226. fmul %st(2), %st
  3227. faddl (%r9)
  3228. fmul %st(2), %st
  3229. faddl (%r10)
  3230. fmul %st(2), %st
  3231. faddl (%r11)
  3232. fmulp %st, %st(2)
  3233. fxch %st(1)
  3234. faddl (%r13)
  3235. fstpt (%rsp)
  3236. je ..B4.44
  3237. ..B4.42:
  3238. fstp %st(0)
  3239. movl %ebx, %edi
  3240. ..___tag_value_lgammaf_r.367:
  3241. call fesetround@PLT
  3242. ..___tag_value_lgammaf_r.368:
  3243. ..B4.43:
  3244. fldt 80(%rsp)
  3245. ..B4.44:
  3246. fldt (%rsp)
  3247. testb %bpl, %bpl
  3248. faddp %st, %st(1)
  3249. fstps 104(%rsp)
  3250. je ..B4.127
  3251. ..B4.45:
  3252. fldcw 110(%rsp)
  3253. jmp ..B4.127
  3254. ..B4.47:
  3255. cmpl $1069547520, %r13d
  3256. jb ..B4.54
  3257. ..B4.48:
  3258. fld %st(0)
  3259. lea 16+_LGAMMAF_C2(%rip), %rax
  3260. fmul %st(1), %st
  3261. lea 48+_LGAMMAF_C2(%rip), %rdx
  3262. fldl (%rax)
  3263. lea 32+_LGAMMAF_C2(%rip), %rcx
  3264. fmul %st(1), %st
  3265. lea 64+_LGAMMAF_C2(%rip), %rsi
  3266. lea 8+_LGAMMAF_C2(%rip), %r8
  3267. lea 40+_LGAMMAF_C2(%rip), %r9
  3268. lea 24+_LGAMMAF_C2(%rip), %r10
  3269. lea 56+_LGAMMAF_C2(%rip), %r11
  3270. lea _LGAMMAF_C2(%rip), %r13
  3271. testb %r12b, %r12b
  3272. faddl (%rdx)
  3273. fmul %st(1), %st
  3274. faddl (%rcx)
  3275. fmul %st(1), %st
  3276. faddl (%rsi)
  3277. fmulp %st, %st(2)
  3278. fxch %st(1)
  3279. fstpt 80(%rsp)
  3280. fldt 80(%rsp)
  3281. fldl (%r8)
  3282. fmul %st(2), %st
  3283. faddl (%r9)
  3284. fmul %st(2), %st
  3285. faddl (%r10)
  3286. fmul %st(2), %st
  3287. faddl (%r11)
  3288. fmulp %st, %st(2)
  3289. fxch %st(1)
  3290. faddl (%r13)
  3291. fstpt (%rsp)
  3292. je ..B4.51
  3293. ..B4.49:
  3294. fstp %st(0)
  3295. movl %ebx, %edi
  3296. ..___tag_value_lgammaf_r.369:
  3297. call fesetround@PLT
  3298. ..___tag_value_lgammaf_r.370:
  3299. ..B4.50:
  3300. fldt 80(%rsp)
  3301. ..B4.51:
  3302. fldt (%rsp)
  3303. testb %bpl, %bpl
  3304. faddp %st, %st(1)
  3305. fstps 104(%rsp)
  3306. je ..B4.127
  3307. ..B4.52:
  3308. fldcw 110(%rsp)
  3309. jmp ..B4.127
  3310. ..B4.54:
  3311. cmpl $1067450368, %r13d
  3312. jb ..B4.61
  3313. ..B4.55:
  3314. lea _LM(%rip), %rax
  3315. lea 16+_C1(%rip), %rdx
  3316. lea 48+_C1(%rip), %rcx
  3317. lea 32+_C1(%rip), %rsi
  3318. lea 64+_C1(%rip), %r8
  3319. lea 8+_C1(%rip), %r9
  3320. lea 40+_C1(%rip), %r10
  3321. lea 24+_C1(%rip), %r11
  3322. fldl (%rdx)
  3323. lea 56+_C1(%rip), %r13
  3324. lea _C1(%rip), %r14
  3325. testb %r12b, %r12b
  3326. fxch %st(1)
  3327. fsubl (%rax)
  3328. fld %st(0)
  3329. fmul %st(1), %st
  3330. fmul %st, %st(2)
  3331. fxch %st(2)
  3332. faddl (%rcx)
  3333. fmul %st(2), %st
  3334. faddl (%rsi)
  3335. fmul %st(2), %st
  3336. faddl (%r8)
  3337. fmulp %st, %st(1)
  3338. fstpt 80(%rsp)
  3339. fldt 80(%rsp)
  3340. fldl (%r9)
  3341. fmul %st(2), %st
  3342. faddl (%r10)
  3343. fmul %st(2), %st
  3344. faddl (%r11)
  3345. fmul %st(2), %st
  3346. faddl (%r13)
  3347. fmulp %st, %st(2)
  3348. fxch %st(1)
  3349. faddl (%r14)
  3350. fstpt (%rsp)
  3351. je ..B4.58
  3352. ..B4.56:
  3353. fstp %st(0)
  3354. movl %ebx, %edi
  3355. ..___tag_value_lgammaf_r.371:
  3356. call fesetround@PLT
  3357. ..___tag_value_lgammaf_r.372:
  3358. ..B4.57:
  3359. fldt 80(%rsp)
  3360. ..B4.58:
  3361. fldt (%rsp)
  3362. testb %bpl, %bpl
  3363. faddp %st, %st(1)
  3364. fstps 104(%rsp)
  3365. je ..B4.127
  3366. ..B4.59:
  3367. fldcw 110(%rsp)
  3368. jmp ..B4.127
  3369. ..B4.61:
  3370. cmpl $1065353216, %r13d
  3371. jb ..B4.68
  3372. ..B4.62:
  3373. fld %st(0)
  3374. lea 16+_C0(%rip), %rax
  3375. fmul %st(1), %st
  3376. lea 48+_C0(%rip), %rdx
  3377. fldl (%rax)
  3378. lea 32+_C0(%rip), %rcx
  3379. fmul %st(1), %st
  3380. lea 64+_C0(%rip), %rsi
  3381. lea 8+_C0(%rip), %r8
  3382. lea 40+_C0(%rip), %r9
  3383. lea 24+_C0(%rip), %r10
  3384. lea 56+_C0(%rip), %r11
  3385. lea _C0(%rip), %r13
  3386. testb %r12b, %r12b
  3387. faddl (%rdx)
  3388. fmul %st(1), %st
  3389. faddl (%rcx)
  3390. fmul %st(1), %st
  3391. faddl (%rsi)
  3392. fmulp %st, %st(2)
  3393. fxch %st(1)
  3394. fstpt 80(%rsp)
  3395. fldt 80(%rsp)
  3396. fldl (%r8)
  3397. fmul %st(2), %st
  3398. faddl (%r9)
  3399. fmul %st(2), %st
  3400. faddl (%r10)
  3401. fmul %st(2), %st
  3402. faddl (%r11)
  3403. fmulp %st, %st(2)
  3404. fxch %st(1)
  3405. faddl (%r13)
  3406. fstpt (%rsp)
  3407. je ..B4.65
  3408. ..B4.63:
  3409. fstp %st(0)
  3410. movl %ebx, %edi
  3411. ..___tag_value_lgammaf_r.373:
  3412. call fesetround@PLT
  3413. ..___tag_value_lgammaf_r.374:
  3414. ..B4.64:
  3415. fldt 80(%rsp)
  3416. ..B4.65:
  3417. fldt (%rsp)
  3418. testb %bpl, %bpl
  3419. faddp %st, %st(1)
  3420. fstps 104(%rsp)
  3421. je ..B4.127
  3422. ..B4.66:
  3423. fldcw 110(%rsp)
  3424. jmp ..B4.127
  3425. ..B4.68:
  3426. fldt .L_2il0floatpacket.0(%rip)
  3427. addq $-16, %rsp
  3428. .cfi_def_cfa_offset 192
  3429. fadd %st(1), %st
  3430. fstpt (%rsp)
  3431. fstpt 32(%rsp)
  3432. ..___tag_value_lgammaf_r.376:
  3433. call lgammaf_pos
  3434. ..___tag_value_lgammaf_r.377:
  3435. ..B4.165:
  3436. fldt 32(%rsp)
  3437. fxch %st(1)
  3438. fstpt 16(%rsp)
  3439. addq $16, %rsp
  3440. .cfi_def_cfa_offset 176
  3441. fstpl 96(%rsp)
  3442. movsd 96(%rsp), %xmm0
  3443. call log@PLT
  3444. ..B4.164:
  3445. movsd %xmm0, 56(%rsp)
  3446. testb %r12b, %r12b
  3447. fldl 56(%rsp)
  3448. fstpt 80(%rsp)
  3449. fldt 80(%rsp)
  3450. je ..B4.71
  3451. ..B4.69:
  3452. fstp %st(0)
  3453. movl %ebx, %edi
  3454. ..___tag_value_lgammaf_r.379:
  3455. call fesetround@PLT
  3456. ..___tag_value_lgammaf_r.380:
  3457. ..B4.70:
  3458. fldt 80(%rsp)
  3459. ..B4.71:
  3460. fldt (%rsp)
  3461. testb %bpl, %bpl
  3462. fsubp %st, %st(1)
  3463. fstps 104(%rsp)
  3464. je ..B4.127
  3465. ..B4.72:
  3466. fldcw 110(%rsp)
  3467. jmp ..B4.127
  3468. ..B4.74:
  3469. movss 112(%rsp), %xmm0
  3470. call nearbyintf@PLT
  3471. ..B4.166:
  3472. movss %xmm0, 104(%rsp)
  3473. movss 104(%rsp), %xmm1
  3474. movss 112(%rsp), %xmm2
  3475. ucomiss %xmm1, %xmm2
  3476. jp ..B4.75
  3477. je ..B4.147
  3478. ..B4.75:
  3479. comiss .L_2il0floatpacket.8(%rip), %xmm2
  3480. jbe ..B4.78
  3481. ..B4.76:
  3482. movaps %xmm2, %xmm0
  3483. movss %xmm2, (%rsp)
  3484. call ceilf@PLT
  3485. ..B4.167:
  3486. cvttss2si %xmm0, %eax
  3487. movss (%rsp), %xmm2
  3488. testb $1, %al
  3489. jne ..B4.78
  3490. ..B4.77:
  3491. movl $-1, (%r15)
  3492. ..B4.78:
  3493. cmpl $1073741824, %r13d
  3494. jae ..B4.89
  3495. ..B4.79:
  3496. fldt .L_2il0floatpacket.0(%rip)
  3497. movss %xmm2, 56(%rsp)
  3498. fld %st(0)
  3499. flds 56(%rsp)
  3500. fstpt 16(%rsp)
  3501. fldt 16(%rsp)
  3502. fcomip %st(2), %st
  3503. jae ..B4.144
  3504. jp ..B4.144
  3505. ..B4.80:
  3506. fldt 16(%rsp)
  3507. ..B4.81:
  3508. fmul %st, %st(1)
  3509. fadd %st(2), %st
  3510. fcomi %st(2), %st
  3511. jp ..B4.82
  3512. jb ..B4.81
  3513. ..B4.82:
  3514. fstp %st(2)
  3515. fxch %st(1)
  3516. fstpt 16(%rsp)
  3517. fstpt 80(%rsp)
  3518. ..B4.83:
  3519. andb $127, 89(%rsp)
  3520. fldt 80(%rsp)
  3521. fstpl 96(%rsp)
  3522. movsd 96(%rsp), %xmm0
  3523. call log@PLT
  3524. ..B4.169:
  3525. movsd %xmm0, 56(%rsp)
  3526. fldl 56(%rsp)
  3527. fstpt 80(%rsp)
  3528. fldt 80(%rsp)
  3529. addq $-16, %rsp
  3530. .cfi_def_cfa_offset 192
  3531. fldt 32(%rsp)
  3532. fstpt (%rsp)
  3533. fstpt 16(%rsp)
  3534. ..___tag_value_lgammaf_r.382:
  3535. call lgammaf_pos
  3536. ..___tag_value_lgammaf_r.383:
  3537. ..B4.168:
  3538. fldt 16(%rsp)
  3539. fxch %st(1)
  3540. fstpt 32(%rsp)
  3541. addq $16, %rsp
  3542. .cfi_def_cfa_offset 176
  3543. testb %r12b, %r12b
  3544. je ..B4.86
  3545. ..B4.84:
  3546. fstp %st(0)
  3547. movl %ebx, %edi
  3548. ..___tag_value_lgammaf_r.385:
  3549. call fesetround@PLT
  3550. ..___tag_value_lgammaf_r.386:
  3551. ..B4.85:
  3552. fldt 80(%rsp)
  3553. ..B4.86:
  3554. fldt 16(%rsp)
  3555. testb %bpl, %bpl
  3556. fsubp %st, %st(1)
  3557. fstps 104(%rsp)
  3558. je ..B4.127
  3559. ..B4.87:
  3560. fldcw 110(%rsp)
  3561. jmp ..B4.127
  3562. ..B4.89:
  3563. cmpl $1082130432, %r13d
  3564. jae ..B4.106
  3565. ..B4.90:
  3566. movss .L_2il0floatpacket.2(%rip), %xmm1
  3567. lea _LRIB(%rip), %rdx
  3568. subss %xmm2, %xmm1
  3569. movss .L_2il0floatpacket.3(%rip), %xmm2
  3570. movss %xmm1, 104(%rsp)
  3571. pxor %xmm1, %xmm1
  3572. movss 104(%rsp), %xmm0
  3573. addss %xmm2, %xmm0
  3574. movss %xmm0, 104(%rsp)
  3575. movss 104(%rsp), %xmm3
  3576. movl 104(%rsp), %ecx
  3577. subss %xmm2, %xmm3
  3578. movss 112(%rsp), %xmm2
  3579. andl $1, %ecx
  3580. cvtss2sd %xmm2, %xmm1
  3581. movss %xmm3, 104(%rsp)
  3582. lea (%rcx,%rcx,2), %eax
  3583. comisd (%rdx,%rax,8), %xmm1
  3584. jbe ..B4.93
  3585. ..B4.91:
  3586. movsd 16(%rdx,%rax,8), %xmm0
  3587. comisd %xmm1, %xmm0
  3588. jbe ..B4.93
  3589. ..B4.92:
  3590. movss %xmm2, 56(%rsp)
  3591. flds 56(%rsp)
  3592. shll $2, %ecx
  3593. fsubl 8(%rdx,%rax,8)
  3594. lea _LRP(%rip), %rax
  3595. fldl (%rax,%rcx,8)
  3596. fmul %st(1), %st
  3597. faddl 8(%rax,%rcx,8)
  3598. fmul %st(1), %st
  3599. faddl 16(%rax,%rcx,8)
  3600. fmulp %st, %st(1)
  3601. faddl 24(%rax,%rcx,8)
  3602. fstpt (%rsp)
  3603. jmp ..B4.101
  3604. ..B4.93:
  3605. lea _RRIB(%rip), %rdx
  3606. comisd (%rdx,%rax,8), %xmm1
  3607. jbe ..B4.96
  3608. ..B4.94:
  3609. movsd 16(%rdx,%rax,8), %xmm0
  3610. comisd %xmm1, %xmm0
  3611. jbe ..B4.96
  3612. ..B4.95:
  3613. movss %xmm2, 56(%rsp)
  3614. flds 56(%rsp)
  3615. shll $2, %ecx
  3616. fsubl 8(%rdx,%rax,8)
  3617. lea _RRP(%rip), %rax
  3618. fldl (%rax,%rcx,8)
  3619. fmul %st(1), %st
  3620. faddl 8(%rax,%rcx,8)
  3621. fmul %st(1), %st
  3622. faddl 16(%rax,%rcx,8)
  3623. fmulp %st, %st(1)
  3624. faddl 24(%rax,%rcx,8)
  3625. fstpt (%rsp)
  3626. jmp ..B4.101
  3627. ..B4.96:
  3628. fldt .L_2il0floatpacket.0(%rip)
  3629. movss %xmm2, 56(%rsp)
  3630. fld %st(0)
  3631. flds 56(%rsp)
  3632. fstpt (%rsp)
  3633. fldt (%rsp)
  3634. fcomip %st(2), %st
  3635. jae ..B4.145
  3636. jp ..B4.145
  3637. ..B4.97:
  3638. fldt (%rsp)
  3639. ..B4.98:
  3640. fmul %st, %st(1)
  3641. fadd %st(2), %st
  3642. fcomi %st(2), %st
  3643. jp ..B4.99
  3644. jb ..B4.98
  3645. ..B4.99:
  3646. fstp %st(2)
  3647. fxch %st(1)
  3648. fstpt (%rsp)
  3649. fstpt 80(%rsp)
  3650. ..B4.100:
  3651. andb $127, 89(%rsp)
  3652. fldt 80(%rsp)
  3653. fstpl 96(%rsp)
  3654. movsd 96(%rsp), %xmm0
  3655. call log@PLT
  3656. ..B4.171:
  3657. movsd %xmm0, 56(%rsp)
  3658. fldl 56(%rsp)
  3659. fstl 16(%rsp)
  3660. fstpt 80(%rsp)
  3661. addq $-16, %rsp
  3662. .cfi_def_cfa_offset 192
  3663. fldt 16(%rsp)
  3664. fstpt (%rsp)
  3665. ..___tag_value_lgammaf_r.388:
  3666. call lgammaf_pos
  3667. ..___tag_value_lgammaf_r.389:
  3668. ..B4.170:
  3669. addq $16, %rsp
  3670. .cfi_def_cfa_offset 176
  3671. fsubl 16(%rsp)
  3672. fstpt (%rsp)
  3673. ..B4.101:
  3674. testb %r12b, %r12b
  3675. je ..B4.103
  3676. ..B4.102:
  3677. movl %ebx, %edi
  3678. ..___tag_value_lgammaf_r.391:
  3679. call fesetround@PLT
  3680. ..___tag_value_lgammaf_r.392:
  3681. ..B4.103:
  3682. fldt (%rsp)
  3683. testb %bpl, %bpl
  3684. fstps 104(%rsp)
  3685. je ..B4.127
  3686. ..B4.104:
  3687. fldcw 110(%rsp)
  3688. jmp ..B4.127
  3689. ..B4.106:
  3690. cmpl $1091567616, %r13d
  3691. jae ..B4.117
  3692. ..B4.107:
  3693. fldt .L_2il0floatpacket.0(%rip)
  3694. movss %xmm2, 56(%rsp)
  3695. fld %st(0)
  3696. flds 56(%rsp)
  3697. fstpt 16(%rsp)
  3698. fldt 16(%rsp)
  3699. fcomip %st(2), %st
  3700. jae ..B4.146
  3701. jp ..B4.146
  3702. ..B4.108:
  3703. fldt 16(%rsp)
  3704. ..B4.109:
  3705. fmul %st, %st(1)
  3706. fadd %st(2), %st
  3707. fcomi %st(2), %st
  3708. jp ..B4.110
  3709. jb ..B4.109
  3710. ..B4.110:
  3711. fstp %st(2)
  3712. fxch %st(1)
  3713. fstpt 16(%rsp)
  3714. fstpt 80(%rsp)
  3715. ..B4.111:
  3716. andb $127, 89(%rsp)
  3717. fldt 80(%rsp)
  3718. fstpl 96(%rsp)
  3719. movsd 96(%rsp), %xmm0
  3720. call log@PLT
  3721. ..B4.173:
  3722. movsd %xmm0, 56(%rsp)
  3723. fldl 56(%rsp)
  3724. fstpt 80(%rsp)
  3725. fldt 80(%rsp)
  3726. addq $-16, %rsp
  3727. .cfi_def_cfa_offset 192
  3728. fldt 32(%rsp)
  3729. fstpt (%rsp)
  3730. fstpt 16(%rsp)
  3731. ..___tag_value_lgammaf_r.394:
  3732. call lgammaf_pos
  3733. ..___tag_value_lgammaf_r.395:
  3734. ..B4.172:
  3735. fldt 16(%rsp)
  3736. fxch %st(1)
  3737. fstpt 32(%rsp)
  3738. addq $16, %rsp
  3739. .cfi_def_cfa_offset 176
  3740. testb %r12b, %r12b
  3741. je ..B4.114
  3742. ..B4.112:
  3743. fstp %st(0)
  3744. movl %ebx, %edi
  3745. ..___tag_value_lgammaf_r.397:
  3746. call fesetround@PLT
  3747. ..___tag_value_lgammaf_r.398:
  3748. ..B4.113:
  3749. fldt 80(%rsp)
  3750. ..B4.114:
  3751. fldt 16(%rsp)
  3752. testb %bpl, %bpl
  3753. fsubp %st, %st(1)
  3754. fstps 104(%rsp)
  3755. je ..B4.127
  3756. ..B4.115:
  3757. fldcw 110(%rsp)
  3758. jmp ..B4.127
  3759. ..B4.117:
  3760. cmpl $1174405120, %r13d
  3761. jb ..B4.123
  3762. ..B4.118:
  3763. fldt .L_2il0floatpacket.1(%rip)
  3764. lea _LN_SQRT_TWO_PI(%rip), %rax
  3765. movss %xmm2, 56(%rsp)
  3766. flds 56(%rsp)
  3767. fsts (%rsp)
  3768. fsub %st, %st(1)
  3769. fxch %st(1)
  3770. fstpt 8(%rsp)
  3771. fchs
  3772. fstl 96(%rsp)
  3773. movsd 96(%rsp), %xmm0
  3774. fstpt 40(%rsp)
  3775. fldt (%rax)
  3776. fstpt 24(%rsp)
  3777. call log@PLT
  3778. ..B4.175:
  3779. fldt 8(%rsp)
  3780. lea _S16(%rip), %rax
  3781. fldt 24(%rsp)
  3782. lea _S14(%rip), %rdx
  3783. fldt 40(%rsp)
  3784. lea _S12(%rip), %rcx
  3785. movss .L_2il0floatpacket.3(%rip), %xmm2
  3786. lea _S10(%rip), %rsi
  3787. fldl (%rax)
  3788. lea _S08(%rip), %r8
  3789. movss %xmm2, 104(%rsp)
  3790. lea _S06(%rip), %r9
  3791. movss 104(%rsp), %xmm1
  3792. lea _S04(%rip), %r10
  3793. movsd %xmm0, 56(%rsp)
  3794. lea _S02(%rip), %r11
  3795. fxch %st(3)
  3796. fmull 56(%rsp)
  3797. subss 112(%rsp), %xmm1
  3798. fsubp %st, %st(2)
  3799. movss %xmm1, 104(%rsp)
  3800. movss 104(%rsp), %xmm3
  3801. fxch %st(1)
  3802. fsubs (%rsp)
  3803. subss %xmm2, %xmm3
  3804. movss %xmm3, 104(%rsp)
  3805. movss 104(%rsp), %xmm4
  3806. movss %xmm4, 56(%rsp)
  3807. fxch %st(1)
  3808. fsubs 56(%rsp)
  3809. fstpt 64(%rsp)
  3810. fldt 64(%rsp)
  3811. fmul %st(0), %st
  3812. fmul %st, %st(2)
  3813. andb $127, 73(%rsp)
  3814. fldt 64(%rsp)
  3815. fstpl 96(%rsp)
  3816. movsd 96(%rsp), %xmm0
  3817. fxch %st(2)
  3818. faddl (%rdx)
  3819. fmul %st(2), %st
  3820. faddl (%rcx)
  3821. fmul %st(2), %st
  3822. faddl (%rsi)
  3823. fmul %st(2), %st
  3824. faddl (%r8)
  3825. fmul %st(2), %st
  3826. faddl (%r9)
  3827. fmul %st(2), %st
  3828. faddl (%r10)
  3829. fmul %st(2), %st
  3830. faddl (%r11)
  3831. fmulp %st, %st(2)
  3832. fxch %st(1)
  3833. fstpt 80(%rsp)
  3834. fldt 80(%rsp)
  3835. fsubrp %st, %st(1)
  3836. fstpt 8(%rsp)
  3837. call log@PLT
  3838. ..B4.174:
  3839. movsd %xmm0, 56(%rsp)
  3840. testb %r12b, %r12b
  3841. fldl 56(%rsp)
  3842. je ..B4.120
  3843. ..B4.119:
  3844. movl %ebx, %edi
  3845. fstpl (%rsp)
  3846. ..___tag_value_lgammaf_r.399:
  3847. call fesetround@PLT
  3848. ..___tag_value_lgammaf_r.400:
  3849. ..B4.179:
  3850. fldl (%rsp)
  3851. ..B4.120:
  3852. fldt 8(%rsp)
  3853. testb %bpl, %bpl
  3854. fsubp %st, %st(1)
  3855. fstps 104(%rsp)
  3856. je ..B4.127
  3857. ..B4.121:
  3858. fldcw 110(%rsp)
  3859. jmp ..B4.127
  3860. ..B4.123:
  3861. flds 112(%rsp)
  3862. movss .L_2il0floatpacket.3(%rip), %xmm3
  3863. fchs
  3864. movaps %xmm3, %xmm1
  3865. fstl 96(%rsp)
  3866. subss %xmm2, %xmm1
  3867. movss %xmm1, 104(%rsp)
  3868. movss 104(%rsp), %xmm0
  3869. fstpt 40(%rsp)
  3870. fldt 40(%rsp)
  3871. subss %xmm3, %xmm0
  3872. movss %xmm0, 104(%rsp)
  3873. movss 104(%rsp), %xmm2
  3874. movss %xmm2, 56(%rsp)
  3875. flds 56(%rsp)
  3876. movsd 96(%rsp), %xmm0
  3877. fsubrp %st, %st(1)
  3878. fstpt 64(%rsp)
  3879. fldt 64(%rsp)
  3880. fmul %st(0), %st
  3881. fstpt 24(%rsp)
  3882. call log@PLT
  3883. ..B4.178:
  3884. movsd %xmm0, 56(%rsp)
  3885. fldl 56(%rsp)
  3886. addq $-16, %rsp
  3887. .cfi_def_cfa_offset 192
  3888. fchs
  3889. fldt 56(%rsp)
  3890. fstpt (%rsp)
  3891. fstpt 24(%rsp)
  3892. ..___tag_value_lgammaf_r.402:
  3893. call lgammaf_pos
  3894. ..___tag_value_lgammaf_r.403:
  3895. ..B4.177:
  3896. fldt 24(%rsp)
  3897. addq $16, %rsp
  3898. .cfi_def_cfa_offset 176
  3899. fldt 24(%rsp)
  3900. lea _S14(%rip), %rax
  3901. fld %st(0)
  3902. lea _S16(%rip), %r8
  3903. fmul %st(1), %st
  3904. lea _S10(%rip), %rdx
  3905. fxch %st(3)
  3906. fsubrp %st, %st(2)
  3907. fldl (%rax)
  3908. lea _S12(%rip), %r9
  3909. fmul %st(3), %st
  3910. lea _S06(%rip), %rcx
  3911. fldl (%r8)
  3912. lea _S08(%rip), %r10
  3913. fmul %st(4), %st
  3914. fxch %st(1)
  3915. faddl (%rdx)
  3916. fmul %st(4), %st
  3917. fxch %st(1)
  3918. faddl (%r9)
  3919. fmul %st(4), %st
  3920. fxch %st(1)
  3921. faddl (%rcx)
  3922. fmul %st(4), %st
  3923. fxch %st(1)
  3924. faddl (%r10)
  3925. fmul %st(4), %st
  3926. lea _S02(%rip), %rsi
  3927. fxch %st(1)
  3928. faddl (%rsi)
  3929. lea _S04(%rip), %r11
  3930. fmulp %st, %st(2)
  3931. faddl (%r11)
  3932. fmulp %st, %st(3)
  3933. andb $127, 73(%rsp)
  3934. faddp %st, %st(2)
  3935. fxch %st(1)
  3936. fstpt 80(%rsp)
  3937. fldt 80(%rsp)
  3938. fsubrp %st, %st(1)
  3939. fstpt 8(%rsp)
  3940. fldt 64(%rsp)
  3941. fstpl 96(%rsp)
  3942. movsd 96(%rsp), %xmm0
  3943. call log@PLT
  3944. ..B4.176:
  3945. fldt 8(%rsp)
  3946. testb %r12b, %r12b
  3947. movsd %xmm0, 56(%rsp)
  3948. fldl 56(%rsp)
  3949. je ..B4.125
  3950. ..B4.124:
  3951. movl %ebx, %edi
  3952. fstpl (%rsp)
  3953. fstpt 8(%rsp)
  3954. ..___tag_value_lgammaf_r.405:
  3955. call fesetround@PLT
  3956. ..___tag_value_lgammaf_r.406:
  3957. ..B4.180:
  3958. fldt 8(%rsp)
  3959. fldl (%rsp)
  3960. ..B4.125:
  3961. testb %bpl, %bpl
  3962. fsubrp %st, %st(1)
  3963. fstps 104(%rsp)
  3964. je ..B4.127
  3965. ..B4.126:
  3966. fldcw 110(%rsp)
  3967. ..B4.127:
  3968. movss 104(%rsp), %xmm0
  3969. ..B4.128:
  3970. addq $120, %rsp
  3971. .cfi_def_cfa_offset 56
  3972. .cfi_restore 6
  3973. popq %rbp
  3974. .cfi_def_cfa_offset 48
  3975. .cfi_restore 3
  3976. popq %rbx
  3977. .cfi_def_cfa_offset 40
  3978. .cfi_restore 15
  3979. popq %r15
  3980. .cfi_def_cfa_offset 32
  3981. .cfi_restore 14
  3982. popq %r14
  3983. .cfi_def_cfa_offset 24
  3984. .cfi_restore 13
  3985. popq %r13
  3986. .cfi_def_cfa_offset 16
  3987. .cfi_restore 12
  3988. popq %r12
  3989. .cfi_def_cfa_offset 8
  3990. ret
  3991. .cfi_def_cfa_offset 176
  3992. .cfi_offset 3, -48
  3993. .cfi_offset 6, -56
  3994. .cfi_offset 12, -16
  3995. .cfi_offset 13, -24
  3996. .cfi_offset 14, -32
  3997. .cfi_offset 15, -40
  3998. ..B4.129:
  3999. testb %bpl, %bpl
  4000. je ..B4.131
  4001. ..B4.130:
  4002. fldcw 110(%rsp)
  4003. ..B4.131:
  4004. testb %r12b, %r12b
  4005. je ..B4.133
  4006. ..B4.132:
  4007. movl %ebx, %edi
  4008. ..___tag_value_lgammaf_r.427:
  4009. call fesetround@PLT
  4010. ..___tag_value_lgammaf_r.428:
  4011. ..B4.133:
  4012. pxor %xmm0, %xmm0
  4013. addq $120, %rsp
  4014. .cfi_def_cfa_offset 56
  4015. .cfi_restore 6
  4016. popq %rbp
  4017. .cfi_def_cfa_offset 48
  4018. .cfi_restore 3
  4019. popq %rbx
  4020. .cfi_def_cfa_offset 40
  4021. .cfi_restore 15
  4022. popq %r15
  4023. .cfi_def_cfa_offset 32
  4024. .cfi_restore 14
  4025. popq %r14
  4026. .cfi_def_cfa_offset 24
  4027. .cfi_restore 13
  4028. popq %r13
  4029. .cfi_def_cfa_offset 16
  4030. .cfi_restore 12
  4031. popq %r12
  4032. .cfi_def_cfa_offset 8
  4033. ret
  4034. .cfi_def_cfa_offset 176
  4035. .cfi_offset 3, -48
  4036. .cfi_offset 6, -56
  4037. .cfi_offset 12, -16
  4038. .cfi_offset 13, -24
  4039. .cfi_offset 14, -32
  4040. .cfi_offset 15, -40
  4041. ..B4.134:
  4042. testb %bpl, %bpl
  4043. je ..B4.136
  4044. ..B4.135:
  4045. fldcw 110(%rsp)
  4046. ..B4.136:
  4047. testb %r12b, %r12b
  4048. je ..B4.138
  4049. ..B4.137:
  4050. movl %ebx, %edi
  4051. ..___tag_value_lgammaf_r.449:
  4052. call fesetround@PLT
  4053. ..___tag_value_lgammaf_r.450:
  4054. ..B4.138:
  4055. pxor %xmm0, %xmm0
  4056. addq $120, %rsp
  4057. .cfi_def_cfa_offset 56
  4058. .cfi_restore 6
  4059. popq %rbp
  4060. .cfi_def_cfa_offset 48
  4061. .cfi_restore 3
  4062. popq %rbx
  4063. .cfi_def_cfa_offset 40
  4064. .cfi_restore 15
  4065. popq %r15
  4066. .cfi_def_cfa_offset 32
  4067. .cfi_restore 14
  4068. popq %r14
  4069. .cfi_def_cfa_offset 24
  4070. .cfi_restore 13
  4071. popq %r13
  4072. .cfi_def_cfa_offset 16
  4073. .cfi_restore 12
  4074. popq %r12
  4075. .cfi_def_cfa_offset 8
  4076. ret
  4077. .cfi_def_cfa_offset 176
  4078. .cfi_offset 3, -48
  4079. .cfi_offset 6, -56
  4080. .cfi_offset 12, -16
  4081. .cfi_offset 13, -24
  4082. .cfi_offset 14, -32
  4083. .cfi_offset 15, -40
  4084. ..B4.139:
  4085. testb %r12b, %r12b
  4086. je ..B4.141
  4087. ..B4.140:
  4088. movl %ebx, %edi
  4089. ..___tag_value_lgammaf_r.471:
  4090. call fesetround@PLT
  4091. ..___tag_value_lgammaf_r.472:
  4092. ..B4.141:
  4093. lea _PBIG(%rip), %rax
  4094. testb %bpl, %bpl
  4095. movsd (%rax), %xmm0
  4096. mulsd %xmm0, %xmm0
  4097. cvtsd2ss %xmm0, %xmm0
  4098. movss %xmm0, 104(%rsp)
  4099. je ..B4.127
  4100. ..B4.142:
  4101. fldcw 110(%rsp)
  4102. jmp ..B4.127
  4103. ..B4.144:
  4104. fstp %st(0)
  4105. fstpt 80(%rsp)
  4106. jmp ..B4.83
  4107. ..B4.145:
  4108. fstp %st(0)
  4109. fstpt 80(%rsp)
  4110. jmp ..B4.100
  4111. ..B4.146:
  4112. fstp %st(0)
  4113. fstpt 80(%rsp)
  4114. jmp ..B4.111
  4115. ..B4.147:
  4116. testb %r12b, %r12b
  4117. je ..B4.149
  4118. ..B4.148:
  4119. movl %ebx, %edi
  4120. ..___tag_value_lgammaf_r.473:
  4121. call fesetround@PLT
  4122. ..___tag_value_lgammaf_r.474:
  4123. ..B4.149:
  4124. movss .L_2il0floatpacket.6(%rip), %xmm1
  4125. testb %bpl, %bpl
  4126. pxor %xmm0, %xmm0
  4127. divss %xmm0, %xmm1
  4128. movss %xmm1, 104(%rsp)
  4129. je ..B4.127
  4130. ..B4.150:
  4131. fldcw 110(%rsp)
  4132. jmp ..B4.127
  4133. ..B4.152:
  4134. movb (%rsp), %al
  4135. testb %al, %al
  4136. je ..B4.154
  4137. ..B4.153:
  4138. movl $-1, (%r15)
  4139. jmp ..B4.155
  4140. ..B4.154:
  4141. movl $1, (%r15)
  4142. ..B4.155:
  4143. testb %r12b, %r12b
  4144. je ..B4.157
  4145. ..B4.156:
  4146. movl %ebx, %edi
  4147. ..___tag_value_lgammaf_r.475:
  4148. call fesetround@PLT
  4149. ..___tag_value_lgammaf_r.476:
  4150. ..B4.157:
  4151. movss .L_2il0floatpacket.6(%rip), %xmm1
  4152. testb %bpl, %bpl
  4153. pxor %xmm0, %xmm0
  4154. divss %xmm0, %xmm1
  4155. movss %xmm1, 104(%rsp)
  4156. je ..B4.127
  4157. ..B4.158:
  4158. fldcw 110(%rsp)
  4159. jmp ..B4.127
  4160. .align 16,0x90
  4161. .cfi_endproc
  4162. .type lgammaf_r,@function
  4163. .size lgammaf_r,.-lgammaf_r
  4164. .data
  4165. # -- End lgammaf_r
  4166. .text
  4167. # -- Begin gammaf_r
  4168. .text
  4169. .align 16,0x90
  4170. .globl gammaf_r
  4171. gammaf_r:
  4172. # parameter 1: %xmm0
  4173. # parameter 2: %rdi
  4174. ..B5.1:
  4175. .cfi_startproc
  4176. ..___tag_value_gammaf_r.478:
  4177. ..L479:
  4178. pushq %r12
  4179. .cfi_def_cfa_offset 16
  4180. .cfi_offset 12, -16
  4181. pushq %r13
  4182. .cfi_def_cfa_offset 24
  4183. .cfi_offset 13, -24
  4184. pushq %r14
  4185. .cfi_def_cfa_offset 32
  4186. .cfi_offset 14, -32
  4187. pushq %r15
  4188. .cfi_def_cfa_offset 40
  4189. .cfi_offset 15, -40
  4190. pushq %rbx
  4191. .cfi_def_cfa_offset 48
  4192. .cfi_offset 3, -48
  4193. pushq %rbp
  4194. .cfi_def_cfa_offset 56
  4195. .cfi_offset 6, -56
  4196. subq $120, %rsp
  4197. .cfi_def_cfa_offset 176
  4198. xorb %r12b, %r12b
  4199. movss %xmm0, 112(%rsp)
  4200. movq %rdi, %r15
  4201. movb 115(%rsp), %dl
  4202. xorb %bpl, %bpl
  4203. andb $-128, %dl
  4204. shrb $7, %dl
  4205. movd %xmm0, %eax
  4206. movzwl 114(%rsp), %r14d
  4207. andl $8388607, %eax
  4208. andl $32640, %r14d
  4209. shrl $7, %r14d
  4210. movl %r14d, %r13d
  4211. shll $23, %r13d
  4212. movb %dl, (%rsp)
  4213. orl %eax, %r13d
  4214. ..B5.2:
  4215. fnstcw 110(%rsp)
  4216. ..B5.3:
  4217. ..___tag_value_gammaf_r.493:
  4218. call fegetround@PLT
  4219. ..___tag_value_gammaf_r.494:
  4220. ..B5.162:
  4221. movl %eax, %ebx
  4222. ..B5.4:
  4223. testl %ebx, %ebx
  4224. je ..B5.6
  4225. ..B5.5:
  4226. xorl %edi, %edi
  4227. movb $1, %r12b
  4228. ..___tag_value_gammaf_r.495:
  4229. call fesetround@PLT
  4230. ..___tag_value_gammaf_r.496:
  4231. ..B5.6:
  4232. movzwl 110(%rsp), %edx
  4233. movl %edx, %eax
  4234. andl $768, %eax
  4235. cmpl $768, %eax
  4236. je ..B5.10
  4237. ..B5.7:
  4238. orl $-64768, %edx
  4239. movw %dx, 108(%rsp)
  4240. ..B5.8:
  4241. fldcw 108(%rsp)
  4242. ..B5.9:
  4243. movb $1, %bpl
  4244. ..B5.10:
  4245. cmpl $255, %r14d
  4246. jne ..B5.16
  4247. ..B5.11:
  4248. movl $1, (%r15)
  4249. testb %bpl, %bpl
  4250. je ..B5.13
  4251. ..B5.12:
  4252. fldcw 110(%rsp)
  4253. ..B5.13:
  4254. testb %r12b, %r12b
  4255. je ..B5.15
  4256. ..B5.14:
  4257. movl %ebx, %edi
  4258. ..___tag_value_gammaf_r.497:
  4259. call fesetround@PLT
  4260. ..___tag_value_gammaf_r.498:
  4261. ..B5.15:
  4262. movss 112(%rsp), %xmm0
  4263. mulss %xmm0, %xmm0
  4264. addq $120, %rsp
  4265. .cfi_def_cfa_offset 56
  4266. .cfi_restore 6
  4267. popq %rbp
  4268. .cfi_def_cfa_offset 48
  4269. .cfi_restore 3
  4270. popq %rbx
  4271. .cfi_def_cfa_offset 40
  4272. .cfi_restore 15
  4273. popq %r15
  4274. .cfi_def_cfa_offset 32
  4275. .cfi_restore 14
  4276. popq %r14
  4277. .cfi_def_cfa_offset 24
  4278. .cfi_restore 13
  4279. popq %r13
  4280. .cfi_def_cfa_offset 16
  4281. .cfi_restore 12
  4282. popq %r12
  4283. .cfi_def_cfa_offset 8
  4284. ret
  4285. .cfi_def_cfa_offset 176
  4286. .cfi_offset 3, -48
  4287. .cfi_offset 6, -56
  4288. .cfi_offset 12, -16
  4289. .cfi_offset 13, -24
  4290. .cfi_offset 14, -32
  4291. .cfi_offset 15, -40
  4292. ..B5.16:
  4293. testl %r13d, %r13d
  4294. je ..B5.152
  4295. ..B5.17:
  4296. movb (%rsp), %al
  4297. testb %al, %al
  4298. movl $1, (%r15)
  4299. jne ..B5.74
  4300. ..B5.18:
  4301. cmpl $2084876174, %r13d
  4302. jae ..B5.139
  4303. ..B5.19:
  4304. movss 112(%rsp), %xmm0
  4305. ucomiss .L_2il0floatpacket.6(%rip), %xmm0
  4306. jp ..B5.20
  4307. je ..B5.134
  4308. ..B5.20:
  4309. cmpl $1174405120, %r13d
  4310. jb ..B5.26
  4311. ..B5.21:
  4312. fldt .L_2il0floatpacket.1(%rip)
  4313. lea _LN_SQRT_TWO_PI(%rip), %rax
  4314. movss %xmm0, 56(%rsp)
  4315. pxor %xmm0, %xmm0
  4316. flds 56(%rsp)
  4317. cvtss2sd 56(%rsp), %xmm0
  4318. fsub %st, %st(1)
  4319. fxch %st(1)
  4320. fstpt (%rsp)
  4321. fstps 32(%rsp)
  4322. fldt (%rax)
  4323. fstpt 16(%rsp)
  4324. call log@PLT
  4325. ..B5.163:
  4326. fldt (%rsp)
  4327. testb %r12b, %r12b
  4328. movsd %xmm0, 56(%rsp)
  4329. fmull 56(%rsp)
  4330. fstpt (%rsp)
  4331. je ..B5.23
  4332. ..B5.22:
  4333. movl %ebx, %edi
  4334. ..___tag_value_gammaf_r.519:
  4335. call fesetround@PLT
  4336. ..___tag_value_gammaf_r.520:
  4337. ..B5.23:
  4338. fldt (%rsp)
  4339. testb %bpl, %bpl
  4340. fldt 16(%rsp)
  4341. faddp %st, %st(1)
  4342. fsubs 32(%rsp)
  4343. fstps 104(%rsp)
  4344. je ..B5.127
  4345. ..B5.24:
  4346. fldcw 110(%rsp)
  4347. jmp ..B5.127
  4348. ..B5.26:
  4349. cmpl $1082130432, %r13d
  4350. jb ..B5.33
  4351. ..B5.27:
  4352. addl $-1082130432, %r13d
  4353. lea _A(%rip), %rax
  4354. sarl $23, %r13d
  4355. lea _B(%rip), %rdx
  4356. movslq %r13d, %r13
  4357. lea _C5(%rip), %r8
  4358. movss %xmm0, 56(%rsp)
  4359. lea (,%r13,8), %ecx
  4360. flds 56(%rsp)
  4361. lea (%r13,%r13,2), %esi
  4362. movslq %ecx, %rcx
  4363. lea _C5_0(%rip), %r9
  4364. movslq %esi, %rsi
  4365. testb %r12b, %r12b
  4366. fsubs (%rax,%r13,4)
  4367. fmuls (%rdx,%r13,4)
  4368. fld %st(0)
  4369. fmul %st(1), %st
  4370. fldl 8(%r8,%rcx,8)
  4371. fmul %st(1), %st
  4372. fldl (%r8,%rcx,8)
  4373. fmul %st(2), %st
  4374. fxch %st(1)
  4375. faddl 40(%r8,%rcx,8)
  4376. fmul %st(2), %st
  4377. fxch %st(1)
  4378. faddl 32(%r8,%rcx,8)
  4379. fmul %st(2), %st
  4380. fxch %st(1)
  4381. faddl 8(%r9,%rsi,8)
  4382. fmul %st(2), %st
  4383. fxch %st(1)
  4384. faddl (%r9,%rsi,8)
  4385. fmul %st(2), %st
  4386. fxch %st(1)
  4387. faddl 56(%r8,%rcx,8)
  4388. fmul %st(2), %st
  4389. fxch %st(1)
  4390. faddl 48(%r8,%rcx,8)
  4391. fmul %st(2), %st
  4392. fxch %st(1)
  4393. faddl 24(%r8,%rcx,8)
  4394. fmulp %st, %st(3)
  4395. fxch %st(2)
  4396. fstpt 80(%rsp)
  4397. fldt 80(%rsp)
  4398. fxch %st(2)
  4399. faddl 16(%r8,%rcx,8)
  4400. fmulp %st, %st(1)
  4401. faddl 16(%r9,%rsi,8)
  4402. fstpt (%rsp)
  4403. je ..B5.30
  4404. ..B5.28:
  4405. fstp %st(0)
  4406. movl %ebx, %edi
  4407. ..___tag_value_gammaf_r.521:
  4408. call fesetround@PLT
  4409. ..___tag_value_gammaf_r.522:
  4410. ..B5.29:
  4411. fldt 80(%rsp)
  4412. ..B5.30:
  4413. fldt (%rsp)
  4414. testb %bpl, %bpl
  4415. faddp %st, %st(1)
  4416. fstps 104(%rsp)
  4417. je ..B5.127
  4418. ..B5.31:
  4419. fldcw 110(%rsp)
  4420. jmp ..B5.127
  4421. ..B5.33:
  4422. ucomiss .L_2il0floatpacket.4(%rip), %xmm0
  4423. jp ..B5.34
  4424. je ..B5.129
  4425. ..B5.34:
  4426. movss %xmm0, 56(%rsp)
  4427. cmpl $1073741824, %r13d
  4428. flds 56(%rsp)
  4429. jbe ..B5.40
  4430. ..B5.35:
  4431. fldt .L_2il0floatpacket.5(%rip)
  4432. fld %st(1)
  4433. lea _C4(%rip), %r9
  4434. lea 8+_C4(%rip), %rax
  4435. fmul %st(2), %st
  4436. lea 32+_C4(%rip), %r10
  4437. fldl (%rax)
  4438. lea 40+_C4(%rip), %rdx
  4439. fmul %st(1), %st
  4440. lea 64+_C4(%rip), %r11
  4441. fldl (%r9)
  4442. lea 72+_C4(%rip), %rcx
  4443. fmul %st(2), %st
  4444. fxch %st(1)
  4445. faddl (%rdx)
  4446. fmul %st(2), %st
  4447. fxch %st(1)
  4448. faddl (%r10)
  4449. fmul %st(2), %st
  4450. fxch %st(1)
  4451. faddl (%rcx)
  4452. lea 48+_C4(%rip), %r13
  4453. lea 56+_C4(%rip), %rsi
  4454. fmul %st(2), %st
  4455. fxch %st(1)
  4456. faddl (%r11)
  4457. fmul %st(2), %st
  4458. fxch %st(1)
  4459. faddl (%rsi)
  4460. lea 16+_C4(%rip), %r14
  4461. lea 24+_C4(%rip), %r8
  4462. fmul %st(2), %st
  4463. fxch %st(1)
  4464. faddl (%r13)
  4465. fmul %st(2), %st
  4466. fxch %st(1)
  4467. faddl (%r8)
  4468. lea 80+_C4(%rip), %r15
  4469. testb %r12b, %r12b
  4470. fmul %st(4), %st
  4471. fstpt 80(%rsp)
  4472. fldt 80(%rsp)
  4473. fxch %st(3)
  4474. fsubrp %st, %st(4)
  4475. faddl (%r14)
  4476. fmulp %st, %st(1)
  4477. faddl (%r15)
  4478. faddp %st, %st(1)
  4479. fmulp %st, %st(1)
  4480. fstpt (%rsp)
  4481. je ..B5.37
  4482. ..B5.36:
  4483. movl %ebx, %edi
  4484. ..___tag_value_gammaf_r.523:
  4485. call fesetround@PLT
  4486. ..___tag_value_gammaf_r.524:
  4487. ..B5.37:
  4488. fldt (%rsp)
  4489. testb %bpl, %bpl
  4490. fstps 104(%rsp)
  4491. je ..B5.127
  4492. ..B5.38:
  4493. fldcw 110(%rsp)
  4494. jmp ..B5.127
  4495. ..B5.40:
  4496. cmpl $1071644672, %r13d
  4497. jb ..B5.47
  4498. ..B5.41:
  4499. fld %st(0)
  4500. lea 16+_C3(%rip), %rax
  4501. fmul %st(1), %st
  4502. lea 48+_C3(%rip), %rdx
  4503. fldl (%rax)
  4504. lea 32+_C3(%rip), %rcx
  4505. fmul %st(1), %st
  4506. lea 64+_C3(%rip), %rsi
  4507. lea 8+_C3(%rip), %r8
  4508. lea 40+_C3(%rip), %r9
  4509. lea 24+_C3(%rip), %r10
  4510. lea 56+_C3(%rip), %r11
  4511. lea _C3(%rip), %r13
  4512. testb %r12b, %r12b
  4513. faddl (%rdx)
  4514. fmul %st(1), %st
  4515. faddl (%rcx)
  4516. fmul %st(1), %st
  4517. faddl (%rsi)
  4518. fmulp %st, %st(2)
  4519. fxch %st(1)
  4520. fstpt 80(%rsp)
  4521. fldt 80(%rsp)
  4522. fldl (%r8)
  4523. fmul %st(2), %st
  4524. faddl (%r9)
  4525. fmul %st(2), %st
  4526. faddl (%r10)
  4527. fmul %st(2), %st
  4528. faddl (%r11)
  4529. fmulp %st, %st(2)
  4530. fxch %st(1)
  4531. faddl (%r13)
  4532. fstpt (%rsp)
  4533. je ..B5.44
  4534. ..B5.42:
  4535. fstp %st(0)
  4536. movl %ebx, %edi
  4537. ..___tag_value_gammaf_r.525:
  4538. call fesetround@PLT
  4539. ..___tag_value_gammaf_r.526:
  4540. ..B5.43:
  4541. fldt 80(%rsp)
  4542. ..B5.44:
  4543. fldt (%rsp)
  4544. testb %bpl, %bpl
  4545. faddp %st, %st(1)
  4546. fstps 104(%rsp)
  4547. je ..B5.127
  4548. ..B5.45:
  4549. fldcw 110(%rsp)
  4550. jmp ..B5.127
  4551. ..B5.47:
  4552. cmpl $1069547520, %r13d
  4553. jb ..B5.54
  4554. ..B5.48:
  4555. fld %st(0)
  4556. lea 16+_LGAMMAF_C2(%rip), %rax
  4557. fmul %st(1), %st
  4558. lea 48+_LGAMMAF_C2(%rip), %rdx
  4559. fldl (%rax)
  4560. lea 32+_LGAMMAF_C2(%rip), %rcx
  4561. fmul %st(1), %st
  4562. lea 64+_LGAMMAF_C2(%rip), %rsi
  4563. lea 8+_LGAMMAF_C2(%rip), %r8
  4564. lea 40+_LGAMMAF_C2(%rip), %r9
  4565. lea 24+_LGAMMAF_C2(%rip), %r10
  4566. lea 56+_LGAMMAF_C2(%rip), %r11
  4567. lea _LGAMMAF_C2(%rip), %r13
  4568. testb %r12b, %r12b
  4569. faddl (%rdx)
  4570. fmul %st(1), %st
  4571. faddl (%rcx)
  4572. fmul %st(1), %st
  4573. faddl (%rsi)
  4574. fmulp %st, %st(2)
  4575. fxch %st(1)
  4576. fstpt 80(%rsp)
  4577. fldt 80(%rsp)
  4578. fldl (%r8)
  4579. fmul %st(2), %st
  4580. faddl (%r9)
  4581. fmul %st(2), %st
  4582. faddl (%r10)
  4583. fmul %st(2), %st
  4584. faddl (%r11)
  4585. fmulp %st, %st(2)
  4586. fxch %st(1)
  4587. faddl (%r13)
  4588. fstpt (%rsp)
  4589. je ..B5.51
  4590. ..B5.49:
  4591. fstp %st(0)
  4592. movl %ebx, %edi
  4593. ..___tag_value_gammaf_r.527:
  4594. call fesetround@PLT
  4595. ..___tag_value_gammaf_r.528:
  4596. ..B5.50:
  4597. fldt 80(%rsp)
  4598. ..B5.51:
  4599. fldt (%rsp)
  4600. testb %bpl, %bpl
  4601. faddp %st, %st(1)
  4602. fstps 104(%rsp)
  4603. je ..B5.127
  4604. ..B5.52:
  4605. fldcw 110(%rsp)
  4606. jmp ..B5.127
  4607. ..B5.54:
  4608. cmpl $1067450368, %r13d
  4609. jb ..B5.61
  4610. ..B5.55:
  4611. lea _LM(%rip), %rax
  4612. lea 16+_C1(%rip), %rdx
  4613. lea 48+_C1(%rip), %rcx
  4614. lea 32+_C1(%rip), %rsi
  4615. lea 64+_C1(%rip), %r8
  4616. lea 8+_C1(%rip), %r9
  4617. lea 40+_C1(%rip), %r10
  4618. lea 24+_C1(%rip), %r11
  4619. fldl (%rdx)
  4620. lea 56+_C1(%rip), %r13
  4621. lea _C1(%rip), %r14
  4622. testb %r12b, %r12b
  4623. fxch %st(1)
  4624. fsubl (%rax)
  4625. fld %st(0)
  4626. fmul %st(1), %st
  4627. fmul %st, %st(2)
  4628. fxch %st(2)
  4629. faddl (%rcx)
  4630. fmul %st(2), %st
  4631. faddl (%rsi)
  4632. fmul %st(2), %st
  4633. faddl (%r8)
  4634. fmulp %st, %st(1)
  4635. fstpt 80(%rsp)
  4636. fldt 80(%rsp)
  4637. fldl (%r9)
  4638. fmul %st(2), %st
  4639. faddl (%r10)
  4640. fmul %st(2), %st
  4641. faddl (%r11)
  4642. fmul %st(2), %st
  4643. faddl (%r13)
  4644. fmulp %st, %st(2)
  4645. fxch %st(1)
  4646. faddl (%r14)
  4647. fstpt (%rsp)
  4648. je ..B5.58
  4649. ..B5.56:
  4650. fstp %st(0)
  4651. movl %ebx, %edi
  4652. ..___tag_value_gammaf_r.529:
  4653. call fesetround@PLT
  4654. ..___tag_value_gammaf_r.530:
  4655. ..B5.57:
  4656. fldt 80(%rsp)
  4657. ..B5.58:
  4658. fldt (%rsp)
  4659. testb %bpl, %bpl
  4660. faddp %st, %st(1)
  4661. fstps 104(%rsp)
  4662. je ..B5.127
  4663. ..B5.59:
  4664. fldcw 110(%rsp)
  4665. jmp ..B5.127
  4666. ..B5.61:
  4667. cmpl $1065353216, %r13d
  4668. jb ..B5.68
  4669. ..B5.62:
  4670. fld %st(0)
  4671. lea 16+_C0(%rip), %rax
  4672. fmul %st(1), %st
  4673. lea 48+_C0(%rip), %rdx
  4674. fldl (%rax)
  4675. lea 32+_C0(%rip), %rcx
  4676. fmul %st(1), %st
  4677. lea 64+_C0(%rip), %rsi
  4678. lea 8+_C0(%rip), %r8
  4679. lea 40+_C0(%rip), %r9
  4680. lea 24+_C0(%rip), %r10
  4681. lea 56+_C0(%rip), %r11
  4682. lea _C0(%rip), %r13
  4683. testb %r12b, %r12b
  4684. faddl (%rdx)
  4685. fmul %st(1), %st
  4686. faddl (%rcx)
  4687. fmul %st(1), %st
  4688. faddl (%rsi)
  4689. fmulp %st, %st(2)
  4690. fxch %st(1)
  4691. fstpt 80(%rsp)
  4692. fldt 80(%rsp)
  4693. fldl (%r8)
  4694. fmul %st(2), %st
  4695. faddl (%r9)
  4696. fmul %st(2), %st
  4697. faddl (%r10)
  4698. fmul %st(2), %st
  4699. faddl (%r11)
  4700. fmulp %st, %st(2)
  4701. fxch %st(1)
  4702. faddl (%r13)
  4703. fstpt (%rsp)
  4704. je ..B5.65
  4705. ..B5.63:
  4706. fstp %st(0)
  4707. movl %ebx, %edi
  4708. ..___tag_value_gammaf_r.531:
  4709. call fesetround@PLT
  4710. ..___tag_value_gammaf_r.532:
  4711. ..B5.64:
  4712. fldt 80(%rsp)
  4713. ..B5.65:
  4714. fldt (%rsp)
  4715. testb %bpl, %bpl
  4716. faddp %st, %st(1)
  4717. fstps 104(%rsp)
  4718. je ..B5.127
  4719. ..B5.66:
  4720. fldcw 110(%rsp)
  4721. jmp ..B5.127
  4722. ..B5.68:
  4723. fldt .L_2il0floatpacket.0(%rip)
  4724. addq $-16, %rsp
  4725. .cfi_def_cfa_offset 192
  4726. fadd %st(1), %st
  4727. fstpt (%rsp)
  4728. fstpt 32(%rsp)
  4729. ..___tag_value_gammaf_r.534:
  4730. call lgammaf_pos
  4731. ..___tag_value_gammaf_r.535:
  4732. ..B5.165:
  4733. fldt 32(%rsp)
  4734. fxch %st(1)
  4735. fstpt 16(%rsp)
  4736. addq $16, %rsp
  4737. .cfi_def_cfa_offset 176
  4738. fstpl 96(%rsp)
  4739. movsd 96(%rsp), %xmm0
  4740. call log@PLT
  4741. ..B5.164:
  4742. movsd %xmm0, 56(%rsp)
  4743. testb %r12b, %r12b
  4744. fldl 56(%rsp)
  4745. fstpt 80(%rsp)
  4746. fldt 80(%rsp)
  4747. je ..B5.71
  4748. ..B5.69:
  4749. fstp %st(0)
  4750. movl %ebx, %edi
  4751. ..___tag_value_gammaf_r.537:
  4752. call fesetround@PLT
  4753. ..___tag_value_gammaf_r.538:
  4754. ..B5.70:
  4755. fldt 80(%rsp)
  4756. ..B5.71:
  4757. fldt (%rsp)
  4758. testb %bpl, %bpl
  4759. fsubp %st, %st(1)
  4760. fstps 104(%rsp)
  4761. je ..B5.127
  4762. ..B5.72:
  4763. fldcw 110(%rsp)
  4764. jmp ..B5.127
  4765. ..B5.74:
  4766. movss 112(%rsp), %xmm0
  4767. call nearbyintf@PLT
  4768. ..B5.166:
  4769. movss %xmm0, 104(%rsp)
  4770. movss 104(%rsp), %xmm1
  4771. movss 112(%rsp), %xmm2
  4772. ucomiss %xmm1, %xmm2
  4773. jp ..B5.75
  4774. je ..B5.147
  4775. ..B5.75:
  4776. comiss .L_2il0floatpacket.8(%rip), %xmm2
  4777. jbe ..B5.78
  4778. ..B5.76:
  4779. movaps %xmm2, %xmm0
  4780. movss %xmm2, (%rsp)
  4781. call ceilf@PLT
  4782. ..B5.167:
  4783. cvttss2si %xmm0, %eax
  4784. movss (%rsp), %xmm2
  4785. testb $1, %al
  4786. jne ..B5.78
  4787. ..B5.77:
  4788. movl $-1, (%r15)
  4789. ..B5.78:
  4790. cmpl $1073741824, %r13d
  4791. jae ..B5.89
  4792. ..B5.79:
  4793. fldt .L_2il0floatpacket.0(%rip)
  4794. movss %xmm2, 56(%rsp)
  4795. fld %st(0)
  4796. flds 56(%rsp)
  4797. fstpt 16(%rsp)
  4798. fldt 16(%rsp)
  4799. fcomip %st(2), %st
  4800. jae ..B5.144
  4801. jp ..B5.144
  4802. ..B5.80:
  4803. fldt 16(%rsp)
  4804. ..B5.81:
  4805. fmul %st, %st(1)
  4806. fadd %st(2), %st
  4807. fcomi %st(2), %st
  4808. jp ..B5.82
  4809. jb ..B5.81
  4810. ..B5.82:
  4811. fstp %st(2)
  4812. fxch %st(1)
  4813. fstpt 16(%rsp)
  4814. fstpt 80(%rsp)
  4815. ..B5.83:
  4816. andb $127, 89(%rsp)
  4817. fldt 80(%rsp)
  4818. fstpl 96(%rsp)
  4819. movsd 96(%rsp), %xmm0
  4820. call log@PLT
  4821. ..B5.169:
  4822. movsd %xmm0, 56(%rsp)
  4823. fldl 56(%rsp)
  4824. fstpt 80(%rsp)
  4825. fldt 80(%rsp)
  4826. addq $-16, %rsp
  4827. .cfi_def_cfa_offset 192
  4828. fldt 32(%rsp)
  4829. fstpt (%rsp)
  4830. fstpt 16(%rsp)
  4831. ..___tag_value_gammaf_r.540:
  4832. call lgammaf_pos
  4833. ..___tag_value_gammaf_r.541:
  4834. ..B5.168:
  4835. fldt 16(%rsp)
  4836. fxch %st(1)
  4837. fstpt 32(%rsp)
  4838. addq $16, %rsp
  4839. .cfi_def_cfa_offset 176
  4840. testb %r12b, %r12b
  4841. je ..B5.86
  4842. ..B5.84:
  4843. fstp %st(0)
  4844. movl %ebx, %edi
  4845. ..___tag_value_gammaf_r.543:
  4846. call fesetround@PLT
  4847. ..___tag_value_gammaf_r.544:
  4848. ..B5.85:
  4849. fldt 80(%rsp)
  4850. ..B5.86:
  4851. fldt 16(%rsp)
  4852. testb %bpl, %bpl
  4853. fsubp %st, %st(1)
  4854. fstps 104(%rsp)
  4855. je ..B5.127
  4856. ..B5.87:
  4857. fldcw 110(%rsp)
  4858. jmp ..B5.127
  4859. ..B5.89:
  4860. cmpl $1082130432, %r13d
  4861. jae ..B5.106
  4862. ..B5.90:
  4863. movss .L_2il0floatpacket.2(%rip), %xmm1
  4864. lea _LRIB(%rip), %rdx
  4865. subss %xmm2, %xmm1
  4866. movss .L_2il0floatpacket.3(%rip), %xmm2
  4867. movss %xmm1, 104(%rsp)
  4868. pxor %xmm1, %xmm1
  4869. movss 104(%rsp), %xmm0
  4870. addss %xmm2, %xmm0
  4871. movss %xmm0, 104(%rsp)
  4872. movss 104(%rsp), %xmm3
  4873. movl 104(%rsp), %ecx
  4874. subss %xmm2, %xmm3
  4875. movss 112(%rsp), %xmm2
  4876. andl $1, %ecx
  4877. cvtss2sd %xmm2, %xmm1
  4878. movss %xmm3, 104(%rsp)
  4879. lea (%rcx,%rcx,2), %eax
  4880. comisd (%rdx,%rax,8), %xmm1
  4881. jbe ..B5.93
  4882. ..B5.91:
  4883. movsd 16(%rdx,%rax,8), %xmm0
  4884. comisd %xmm1, %xmm0
  4885. jbe ..B5.93
  4886. ..B5.92:
  4887. movss %xmm2, 56(%rsp)
  4888. flds 56(%rsp)
  4889. shll $2, %ecx
  4890. fsubl 8(%rdx,%rax,8)
  4891. lea _LRP(%rip), %rax
  4892. fldl (%rax,%rcx,8)
  4893. fmul %st(1), %st
  4894. faddl 8(%rax,%rcx,8)
  4895. fmul %st(1), %st
  4896. faddl 16(%rax,%rcx,8)
  4897. fmulp %st, %st(1)
  4898. faddl 24(%rax,%rcx,8)
  4899. fstpt (%rsp)
  4900. jmp ..B5.101
  4901. ..B5.93:
  4902. lea _RRIB(%rip), %rdx
  4903. comisd (%rdx,%rax,8), %xmm1
  4904. jbe ..B5.96
  4905. ..B5.94:
  4906. movsd 16(%rdx,%rax,8), %xmm0
  4907. comisd %xmm1, %xmm0
  4908. jbe ..B5.96
  4909. ..B5.95:
  4910. movss %xmm2, 56(%rsp)
  4911. flds 56(%rsp)
  4912. shll $2, %ecx
  4913. fsubl 8(%rdx,%rax,8)
  4914. lea _RRP(%rip), %rax
  4915. fldl (%rax,%rcx,8)
  4916. fmul %st(1), %st
  4917. faddl 8(%rax,%rcx,8)
  4918. fmul %st(1), %st
  4919. faddl 16(%rax,%rcx,8)
  4920. fmulp %st, %st(1)
  4921. faddl 24(%rax,%rcx,8)
  4922. fstpt (%rsp)
  4923. jmp ..B5.101
  4924. ..B5.96:
  4925. fldt .L_2il0floatpacket.0(%rip)
  4926. movss %xmm2, 56(%rsp)
  4927. fld %st(0)
  4928. flds 56(%rsp)
  4929. fstpt (%rsp)
  4930. fldt (%rsp)
  4931. fcomip %st(2), %st
  4932. jae ..B5.145
  4933. jp ..B5.145
  4934. ..B5.97:
  4935. fldt (%rsp)
  4936. ..B5.98:
  4937. fmul %st, %st(1)
  4938. fadd %st(2), %st
  4939. fcomi %st(2), %st
  4940. jp ..B5.99
  4941. jb ..B5.98
  4942. ..B5.99:
  4943. fstp %st(2)
  4944. fxch %st(1)
  4945. fstpt (%rsp)
  4946. fstpt 80(%rsp)
  4947. ..B5.100:
  4948. andb $127, 89(%rsp)
  4949. fldt 80(%rsp)
  4950. fstpl 96(%rsp)
  4951. movsd 96(%rsp), %xmm0
  4952. call log@PLT
  4953. ..B5.171:
  4954. movsd %xmm0, 56(%rsp)
  4955. fldl 56(%rsp)
  4956. fstl 16(%rsp)
  4957. fstpt 80(%rsp)
  4958. addq $-16, %rsp
  4959. .cfi_def_cfa_offset 192
  4960. fldt 16(%rsp)
  4961. fstpt (%rsp)
  4962. ..___tag_value_gammaf_r.546:
  4963. call lgammaf_pos
  4964. ..___tag_value_gammaf_r.547:
  4965. ..B5.170:
  4966. addq $16, %rsp
  4967. .cfi_def_cfa_offset 176
  4968. fsubl 16(%rsp)
  4969. fstpt (%rsp)
  4970. ..B5.101:
  4971. testb %r12b, %r12b
  4972. je ..B5.103
  4973. ..B5.102:
  4974. movl %ebx, %edi
  4975. ..___tag_value_gammaf_r.549:
  4976. call fesetround@PLT
  4977. ..___tag_value_gammaf_r.550:
  4978. ..B5.103:
  4979. fldt (%rsp)
  4980. testb %bpl, %bpl
  4981. fstps 104(%rsp)
  4982. je ..B5.127
  4983. ..B5.104:
  4984. fldcw 110(%rsp)
  4985. jmp ..B5.127
  4986. ..B5.106:
  4987. cmpl $1091567616, %r13d
  4988. jae ..B5.117
  4989. ..B5.107:
  4990. fldt .L_2il0floatpacket.0(%rip)
  4991. movss %xmm2, 56(%rsp)
  4992. fld %st(0)
  4993. flds 56(%rsp)
  4994. fstpt 16(%rsp)
  4995. fldt 16(%rsp)
  4996. fcomip %st(2), %st
  4997. jae ..B5.146
  4998. jp ..B5.146
  4999. ..B5.108:
  5000. fldt 16(%rsp)
  5001. ..B5.109:
  5002. fmul %st, %st(1)
  5003. fadd %st(2), %st
  5004. fcomi %st(2), %st
  5005. jp ..B5.110
  5006. jb ..B5.109
  5007. ..B5.110:
  5008. fstp %st(2)
  5009. fxch %st(1)
  5010. fstpt 16(%rsp)
  5011. fstpt 80(%rsp)
  5012. ..B5.111:
  5013. andb $127, 89(%rsp)
  5014. fldt 80(%rsp)
  5015. fstpl 96(%rsp)
  5016. movsd 96(%rsp), %xmm0
  5017. call log@PLT
  5018. ..B5.173:
  5019. movsd %xmm0, 56(%rsp)
  5020. fldl 56(%rsp)
  5021. fstpt 80(%rsp)
  5022. fldt 80(%rsp)
  5023. addq $-16, %rsp
  5024. .cfi_def_cfa_offset 192
  5025. fldt 32(%rsp)
  5026. fstpt (%rsp)
  5027. fstpt 16(%rsp)
  5028. ..___tag_value_gammaf_r.552:
  5029. call lgammaf_pos
  5030. ..___tag_value_gammaf_r.553:
  5031. ..B5.172:
  5032. fldt 16(%rsp)
  5033. fxch %st(1)
  5034. fstpt 32(%rsp)
  5035. addq $16, %rsp
  5036. .cfi_def_cfa_offset 176
  5037. testb %r12b, %r12b
  5038. je ..B5.114
  5039. ..B5.112:
  5040. fstp %st(0)
  5041. movl %ebx, %edi
  5042. ..___tag_value_gammaf_r.555:
  5043. call fesetround@PLT
  5044. ..___tag_value_gammaf_r.556:
  5045. ..B5.113:
  5046. fldt 80(%rsp)
  5047. ..B5.114:
  5048. fldt 16(%rsp)
  5049. testb %bpl, %bpl
  5050. fsubp %st, %st(1)
  5051. fstps 104(%rsp)
  5052. je ..B5.127
  5053. ..B5.115:
  5054. fldcw 110(%rsp)
  5055. jmp ..B5.127
  5056. ..B5.117:
  5057. cmpl $1174405120, %r13d
  5058. jb ..B5.123
  5059. ..B5.118:
  5060. fldt .L_2il0floatpacket.1(%rip)
  5061. lea _LN_SQRT_TWO_PI(%rip), %rax
  5062. movss %xmm2, 56(%rsp)
  5063. flds 56(%rsp)
  5064. fsts (%rsp)
  5065. fsub %st, %st(1)
  5066. fxch %st(1)
  5067. fstpt 8(%rsp)
  5068. fchs
  5069. fstl 96(%rsp)
  5070. movsd 96(%rsp), %xmm0
  5071. fstpt 40(%rsp)
  5072. fldt (%rax)
  5073. fstpt 24(%rsp)
  5074. call log@PLT
  5075. ..B5.175:
  5076. fldt 8(%rsp)
  5077. lea _S16(%rip), %rax
  5078. fldt 24(%rsp)
  5079. lea _S14(%rip), %rdx
  5080. fldt 40(%rsp)
  5081. lea _S12(%rip), %rcx
  5082. movss .L_2il0floatpacket.3(%rip), %xmm2
  5083. lea _S10(%rip), %rsi
  5084. fldl (%rax)
  5085. lea _S08(%rip), %r8
  5086. movss %xmm2, 104(%rsp)
  5087. lea _S06(%rip), %r9
  5088. movss 104(%rsp), %xmm1
  5089. lea _S04(%rip), %r10
  5090. movsd %xmm0, 56(%rsp)
  5091. lea _S02(%rip), %r11
  5092. fxch %st(3)
  5093. fmull 56(%rsp)
  5094. subss 112(%rsp), %xmm1
  5095. fsubp %st, %st(2)
  5096. movss %xmm1, 104(%rsp)
  5097. movss 104(%rsp), %xmm3
  5098. fxch %st(1)
  5099. fsubs (%rsp)
  5100. subss %xmm2, %xmm3
  5101. movss %xmm3, 104(%rsp)
  5102. movss 104(%rsp), %xmm4
  5103. movss %xmm4, 56(%rsp)
  5104. fxch %st(1)
  5105. fsubs 56(%rsp)
  5106. fstpt 64(%rsp)
  5107. fldt 64(%rsp)
  5108. fmul %st(0), %st
  5109. fmul %st, %st(2)
  5110. andb $127, 73(%rsp)
  5111. fldt 64(%rsp)
  5112. fstpl 96(%rsp)
  5113. movsd 96(%rsp), %xmm0
  5114. fxch %st(2)
  5115. faddl (%rdx)
  5116. fmul %st(2), %st
  5117. faddl (%rcx)
  5118. fmul %st(2), %st
  5119. faddl (%rsi)
  5120. fmul %st(2), %st
  5121. faddl (%r8)
  5122. fmul %st(2), %st
  5123. faddl (%r9)
  5124. fmul %st(2), %st
  5125. faddl (%r10)
  5126. fmul %st(2), %st
  5127. faddl (%r11)
  5128. fmulp %st, %st(2)
  5129. fxch %st(1)
  5130. fstpt 80(%rsp)
  5131. fldt 80(%rsp)
  5132. fsubrp %st, %st(1)
  5133. fstpt 8(%rsp)
  5134. call log@PLT
  5135. ..B5.174:
  5136. movsd %xmm0, 56(%rsp)
  5137. testb %r12b, %r12b
  5138. fldl 56(%rsp)
  5139. je ..B5.120
  5140. ..B5.119:
  5141. movl %ebx, %edi
  5142. fstpl (%rsp)
  5143. ..___tag_value_gammaf_r.557:
  5144. call fesetround@PLT
  5145. ..___tag_value_gammaf_r.558:
  5146. ..B5.179:
  5147. fldl (%rsp)
  5148. ..B5.120:
  5149. fldt 8(%rsp)
  5150. testb %bpl, %bpl
  5151. fsubp %st, %st(1)
  5152. fstps 104(%rsp)
  5153. je ..B5.127
  5154. ..B5.121:
  5155. fldcw 110(%rsp)
  5156. jmp ..B5.127
  5157. ..B5.123:
  5158. flds 112(%rsp)
  5159. movss .L_2il0floatpacket.3(%rip), %xmm3
  5160. fchs
  5161. movaps %xmm3, %xmm1
  5162. fstl 96(%rsp)
  5163. subss %xmm2, %xmm1
  5164. movss %xmm1, 104(%rsp)
  5165. movss 104(%rsp), %xmm0
  5166. fstpt 40(%rsp)
  5167. fldt 40(%rsp)
  5168. subss %xmm3, %xmm0
  5169. movss %xmm0, 104(%rsp)
  5170. movss 104(%rsp), %xmm2
  5171. movss %xmm2, 56(%rsp)
  5172. flds 56(%rsp)
  5173. movsd 96(%rsp), %xmm0
  5174. fsubrp %st, %st(1)
  5175. fstpt 64(%rsp)
  5176. fldt 64(%rsp)
  5177. fmul %st(0), %st
  5178. fstpt 24(%rsp)
  5179. call log@PLT
  5180. ..B5.178:
  5181. movsd %xmm0, 56(%rsp)
  5182. fldl 56(%rsp)
  5183. addq $-16, %rsp
  5184. .cfi_def_cfa_offset 192
  5185. fchs
  5186. fldt 56(%rsp)
  5187. fstpt (%rsp)
  5188. fstpt 24(%rsp)
  5189. ..___tag_value_gammaf_r.560:
  5190. call lgammaf_pos
  5191. ..___tag_value_gammaf_r.561:
  5192. ..B5.177:
  5193. fldt 24(%rsp)
  5194. addq $16, %rsp
  5195. .cfi_def_cfa_offset 176
  5196. fldt 24(%rsp)
  5197. lea _S14(%rip), %rax
  5198. fld %st(0)
  5199. lea _S16(%rip), %r8
  5200. fmul %st(1), %st
  5201. lea _S10(%rip), %rdx
  5202. fxch %st(3)
  5203. fsubrp %st, %st(2)
  5204. fldl (%rax)
  5205. lea _S12(%rip), %r9
  5206. fmul %st(3), %st
  5207. lea _S06(%rip), %rcx
  5208. fldl (%r8)
  5209. lea _S08(%rip), %r10
  5210. fmul %st(4), %st
  5211. fxch %st(1)
  5212. faddl (%rdx)
  5213. fmul %st(4), %st
  5214. fxch %st(1)
  5215. faddl (%r9)
  5216. fmul %st(4), %st
  5217. fxch %st(1)
  5218. faddl (%rcx)
  5219. fmul %st(4), %st
  5220. fxch %st(1)
  5221. faddl (%r10)
  5222. fmul %st(4), %st
  5223. lea _S02(%rip), %rsi
  5224. fxch %st(1)
  5225. faddl (%rsi)
  5226. lea _S04(%rip), %r11
  5227. fmulp %st, %st(2)
  5228. faddl (%r11)
  5229. fmulp %st, %st(3)
  5230. andb $127, 73(%rsp)
  5231. faddp %st, %st(2)
  5232. fxch %st(1)
  5233. fstpt 80(%rsp)
  5234. fldt 80(%rsp)
  5235. fsubrp %st, %st(1)
  5236. fstpt 8(%rsp)
  5237. fldt 64(%rsp)
  5238. fstpl 96(%rsp)
  5239. movsd 96(%rsp), %xmm0
  5240. call log@PLT
  5241. ..B5.176:
  5242. fldt 8(%rsp)
  5243. testb %r12b, %r12b
  5244. movsd %xmm0, 56(%rsp)
  5245. fldl 56(%rsp)
  5246. je ..B5.125
  5247. ..B5.124:
  5248. movl %ebx, %edi
  5249. fstpl (%rsp)
  5250. fstpt 8(%rsp)
  5251. ..___tag_value_gammaf_r.563:
  5252. call fesetround@PLT
  5253. ..___tag_value_gammaf_r.564:
  5254. ..B5.180:
  5255. fldt 8(%rsp)
  5256. fldl (%rsp)
  5257. ..B5.125:
  5258. testb %bpl, %bpl
  5259. fsubrp %st, %st(1)
  5260. fstps 104(%rsp)
  5261. je ..B5.127
  5262. ..B5.126:
  5263. fldcw 110(%rsp)
  5264. ..B5.127:
  5265. movss 104(%rsp), %xmm0
  5266. ..B5.128:
  5267. addq $120, %rsp
  5268. .cfi_def_cfa_offset 56
  5269. .cfi_restore 6
  5270. popq %rbp
  5271. .cfi_def_cfa_offset 48
  5272. .cfi_restore 3
  5273. popq %rbx
  5274. .cfi_def_cfa_offset 40
  5275. .cfi_restore 15
  5276. popq %r15
  5277. .cfi_def_cfa_offset 32
  5278. .cfi_restore 14
  5279. popq %r14
  5280. .cfi_def_cfa_offset 24
  5281. .cfi_restore 13
  5282. popq %r13
  5283. .cfi_def_cfa_offset 16
  5284. .cfi_restore 12
  5285. popq %r12
  5286. .cfi_def_cfa_offset 8
  5287. ret
  5288. .cfi_def_cfa_offset 176
  5289. .cfi_offset 3, -48
  5290. .cfi_offset 6, -56
  5291. .cfi_offset 12, -16
  5292. .cfi_offset 13, -24
  5293. .cfi_offset 14, -32
  5294. .cfi_offset 15, -40
  5295. ..B5.129:
  5296. testb %bpl, %bpl
  5297. je ..B5.131
  5298. ..B5.130:
  5299. fldcw 110(%rsp)
  5300. ..B5.131:
  5301. testb %r12b, %r12b
  5302. je ..B5.133
  5303. ..B5.132:
  5304. movl %ebx, %edi
  5305. ..___tag_value_gammaf_r.585:
  5306. call fesetround@PLT
  5307. ..___tag_value_gammaf_r.586:
  5308. ..B5.133:
  5309. pxor %xmm0, %xmm0
  5310. addq $120, %rsp
  5311. .cfi_def_cfa_offset 56
  5312. .cfi_restore 6
  5313. popq %rbp
  5314. .cfi_def_cfa_offset 48
  5315. .cfi_restore 3
  5316. popq %rbx
  5317. .cfi_def_cfa_offset 40
  5318. .cfi_restore 15
  5319. popq %r15
  5320. .cfi_def_cfa_offset 32
  5321. .cfi_restore 14
  5322. popq %r14
  5323. .cfi_def_cfa_offset 24
  5324. .cfi_restore 13
  5325. popq %r13
  5326. .cfi_def_cfa_offset 16
  5327. .cfi_restore 12
  5328. popq %r12
  5329. .cfi_def_cfa_offset 8
  5330. ret
  5331. .cfi_def_cfa_offset 176
  5332. .cfi_offset 3, -48
  5333. .cfi_offset 6, -56
  5334. .cfi_offset 12, -16
  5335. .cfi_offset 13, -24
  5336. .cfi_offset 14, -32
  5337. .cfi_offset 15, -40
  5338. ..B5.134:
  5339. testb %bpl, %bpl
  5340. je ..B5.136
  5341. ..B5.135:
  5342. fldcw 110(%rsp)
  5343. ..B5.136:
  5344. testb %r12b, %r12b
  5345. je ..B5.138
  5346. ..B5.137:
  5347. movl %ebx, %edi
  5348. ..___tag_value_gammaf_r.607:
  5349. call fesetround@PLT
  5350. ..___tag_value_gammaf_r.608:
  5351. ..B5.138:
  5352. pxor %xmm0, %xmm0
  5353. addq $120, %rsp
  5354. .cfi_def_cfa_offset 56
  5355. .cfi_restore 6
  5356. popq %rbp
  5357. .cfi_def_cfa_offset 48
  5358. .cfi_restore 3
  5359. popq %rbx
  5360. .cfi_def_cfa_offset 40
  5361. .cfi_restore 15
  5362. popq %r15
  5363. .cfi_def_cfa_offset 32
  5364. .cfi_restore 14
  5365. popq %r14
  5366. .cfi_def_cfa_offset 24
  5367. .cfi_restore 13
  5368. popq %r13
  5369. .cfi_def_cfa_offset 16
  5370. .cfi_restore 12
  5371. popq %r12
  5372. .cfi_def_cfa_offset 8
  5373. ret
  5374. .cfi_def_cfa_offset 176
  5375. .cfi_offset 3, -48
  5376. .cfi_offset 6, -56
  5377. .cfi_offset 12, -16
  5378. .cfi_offset 13, -24
  5379. .cfi_offset 14, -32
  5380. .cfi_offset 15, -40
  5381. ..B5.139:
  5382. testb %r12b, %r12b
  5383. je ..B5.141
  5384. ..B5.140:
  5385. movl %ebx, %edi
  5386. ..___tag_value_gammaf_r.629:
  5387. call fesetround@PLT
  5388. ..___tag_value_gammaf_r.630:
  5389. ..B5.141:
  5390. lea _PBIG(%rip), %rax
  5391. testb %bpl, %bpl
  5392. movsd (%rax), %xmm0
  5393. mulsd %xmm0, %xmm0
  5394. cvtsd2ss %xmm0, %xmm0
  5395. movss %xmm0, 104(%rsp)
  5396. je ..B5.127
  5397. ..B5.142:
  5398. fldcw 110(%rsp)
  5399. jmp ..B5.127
  5400. ..B5.144:
  5401. fstp %st(0)
  5402. fstpt 80(%rsp)
  5403. jmp ..B5.83
  5404. ..B5.145:
  5405. fstp %st(0)
  5406. fstpt 80(%rsp)
  5407. jmp ..B5.100
  5408. ..B5.146:
  5409. fstp %st(0)
  5410. fstpt 80(%rsp)
  5411. jmp ..B5.111
  5412. ..B5.147:
  5413. testb %r12b, %r12b
  5414. je ..B5.149
  5415. ..B5.148:
  5416. movl %ebx, %edi
  5417. ..___tag_value_gammaf_r.631:
  5418. call fesetround@PLT
  5419. ..___tag_value_gammaf_r.632:
  5420. ..B5.149:
  5421. movss .L_2il0floatpacket.6(%rip), %xmm1
  5422. testb %bpl, %bpl
  5423. pxor %xmm0, %xmm0
  5424. divss %xmm0, %xmm1
  5425. movss %xmm1, 104(%rsp)
  5426. je ..B5.127
  5427. ..B5.150:
  5428. fldcw 110(%rsp)
  5429. jmp ..B5.127
  5430. ..B5.152:
  5431. movb (%rsp), %al
  5432. testb %al, %al
  5433. je ..B5.154
  5434. ..B5.153:
  5435. movl $-1, (%r15)
  5436. jmp ..B5.155
  5437. ..B5.154:
  5438. movl $1, (%r15)
  5439. ..B5.155:
  5440. testb %r12b, %r12b
  5441. je ..B5.157
  5442. ..B5.156:
  5443. movl %ebx, %edi
  5444. ..___tag_value_gammaf_r.633:
  5445. call fesetround@PLT
  5446. ..___tag_value_gammaf_r.634:
  5447. ..B5.157:
  5448. movss .L_2il0floatpacket.6(%rip), %xmm1
  5449. testb %bpl, %bpl
  5450. pxor %xmm0, %xmm0
  5451. divss %xmm0, %xmm1
  5452. movss %xmm1, 104(%rsp)
  5453. je ..B5.127
  5454. ..B5.158:
  5455. fldcw 110(%rsp)
  5456. jmp ..B5.127
  5457. .align 16,0x90
  5458. .cfi_endproc
  5459. .type gammaf_r,@function
  5460. .size gammaf_r,.-gammaf_r
  5461. .data
  5462. # -- End gammaf_r
  5463. .section .rodata, "a"
  5464. .align 16
  5465. .align 16
  5466. .L_2il0floatpacket.0:
  5467. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  5468. .type .L_2il0floatpacket.0,@object
  5469. .size .L_2il0floatpacket.0,16
  5470. .align 16
  5471. .L_2il0floatpacket.1:
  5472. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xfe,0x3f,0x00,0x00,0x00,0x00,0x00,0x00
  5473. .type .L_2il0floatpacket.1,@object
  5474. .size .L_2il0floatpacket.1,16
  5475. .align 16
  5476. .L_2il0floatpacket.5:
  5477. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
  5478. .type .L_2il0floatpacket.5,@object
  5479. .size .L_2il0floatpacket.5,16
  5480. .align 16
  5481. _LN_SQRT_TWO_PI:
  5482. .word 42293
  5483. .word 9717
  5484. .word 36419
  5485. .word 60223
  5486. .word 16382
  5487. .word 0
  5488. .word 0
  5489. .word 0
  5490. .type _LN_SQRT_TWO_PI,@object
  5491. .size _LN_SQRT_TWO_PI,16
  5492. .align 16
  5493. _A:
  5494. .long 1082130432
  5495. .long 1090519040
  5496. .long 1098907648
  5497. .long 1107296256
  5498. .long 1115684864
  5499. .long 1124073472
  5500. .long 1132462080
  5501. .long 1140850688
  5502. .long 1149239296
  5503. .long 1157627904
  5504. .long 1166016512
  5505. .type _A,@object
  5506. .size _A,44
  5507. .space 4, 0x00 # pad
  5508. .align 16
  5509. _B:
  5510. .long 1048576000
  5511. .long 1040187392
  5512. .long 1031798784
  5513. .long 1023410176
  5514. .long 1015021568
  5515. .long 1006632960
  5516. .long 998244352
  5517. .long 989855744
  5518. .long 981467136
  5519. .long 973078528
  5520. .long 964689920
  5521. .type _B,@object
  5522. .size _B,44
  5523. .space 4, 0x00 # pad
  5524. .align 16
  5525. _C5:
  5526. .long 2219950285
  5527. .long 1064025046
  5528. .long 657069815
  5529. .long 3214307011
  5530. .long 2744833897
  5531. .long 1073883684
  5532. .long 3746154693
  5533. .long 1075058958
  5534. .long 24044097
  5535. .long 1068577021
  5536. .long 1852002888
  5537. .long 3217117620
  5538. .long 426096126
  5539. .long 1071550305
  5540. .long 3945160253
  5541. .long 3219869968
  5542. .long 889741930
  5543. .long 1064529657
  5544. .long 2918550257
  5545. .long 3214927323
  5546. .long 3306758232
  5547. .long 1074858655
  5548. .long 2801363753
  5549. .long 1076895752
  5550. .long 216130741
  5551. .long 1069082446
  5552. .long 2022127190
  5553. .long 3217667546
  5554. .long 4043317980
  5555. .long 1072274701
  5556. .long 948933764
  5557. .long 3220711872
  5558. .long 1837011561
  5559. .long 1065353117
  5560. .long 614133169
  5561. .long 3215620106
  5562. .long 128884864
  5563. .long 1075872424
  5564. .long 1749057555
  5565. .long 1078324632
  5566. .long 1278187959
  5567. .long 1069867493
  5568. .long 1878987920
  5569. .long 3218464301
  5570. .long 2508500615
  5571. .long 1073176520
  5572. .long 3716705454
  5573. .long 3221664954
  5574. .long 1971591775
  5575. .long 1066198339
  5576. .long 3489274850
  5577. .long 3216507307
  5578. .long 2978044890
  5579. .long 1076904104
  5580. .long 399657850
  5581. .long 1079744937
  5582. .long 2176842243
  5583. .long 1070795947
  5584. .long 1642919051
  5585. .long 3219397359
  5586. .long 325839939
  5587. .long 1074155724
  5588. .long 1189620011
  5589. .long 3222667808
  5590. .long 583706808
  5591. .long 1067149757
  5592. .long 1974968851
  5593. .long 3217478792
  5594. .long 3433705325
  5595. .long 1077944360
  5596. .long 3946626575
  5597. .long 1081121452
  5598. .long 1495561758
  5599. .long 1071787114
  5600. .long 4062466621
  5601. .long 3220390645
  5602. .long 1556755231
  5603. .long 1075170624
  5604. .long 75679593
  5605. .long 3223694033
  5606. .long 3504606470
  5607. .long 1068150172
  5608. .long 1348305099
  5609. .long 3218489288
  5610. .long 3580634696
  5611. .long 1078988808
  5612. .long 1259291510
  5613. .long 1082352761
  5614. .long 652214916
  5615. .long 1072807425
  5616. .long 4143445962
  5617. .long 3221412067
  5618. .long 2123749472
  5619. .long 1076202613
  5620. .long 4248403985
  5621. .long 3224731560
  5622. .long 1507106795
  5623. .long 1069174188
  5624. .long 3519298167
  5625. .long 3219518582
  5626. .long 3633366982
  5627. .long 1080035328
  5628. .long 2867629808
  5629. .long 1083583554
  5630. .long 3975256969
  5631. .long 1073841792
  5632. .long 2533063588
  5633. .long 3222447083
  5634. .long 3711656185
  5635. .long 1077242956
  5636. .long 3206083648
  5637. .long 3225774644
  5638. .long 4129446490
  5639. .long 1070209876
  5640. .long 3121668168
  5641. .long 3220557159
  5642. .long 3645659330
  5643. .long 1081082878
  5644. .long 1254870306
  5645. .long 1084814091
  5646. .long 1589013900
  5647. .long 1074883091
  5648. .long 485315198
  5649. .long 3223488795
  5650. .long 402512060
  5651. .long 1078287430
  5652. .long 1922980292
  5653. .long 3226820482
  5654. .long 157052617
  5655. .long 1071251449
  5656. .long 2992469705
  5657. .long 3221600396
  5658. .long 1492808525
  5659. .long 1082130942
  5660. .long 3131814131
  5661. .long 1086044499
  5662. .long 2683002247
  5663. .long 1075927855
  5664. .long 2649378904
  5665. .long 3224533843
  5666. .long 3018380877
  5667. .long 1079333956
  5668. .long 653917322
  5669. .long 3227867691
  5670. .long 2713966257
  5671. .long 1072296037
  5672. .long 4209563533
  5673. .long 3222646006
  5674. .long 943575735
  5675. .long 1083179262
  5676. .long 512478091
  5677. .long 1087274844
  5678. .long 3856346814
  5679. .long 1076974372
  5680. .long 1324813592
  5681. .long 3225580569
  5682. .long 1409229319
  5683. .long 1080381507
  5684. .long 3787450294
  5685. .long 3228915583
  5686. .long 3333539597
  5687. .long 1073342203
  5688. .long 2943809629
  5689. .long 3223692845
  5690. .long 794946536
  5691. .long 1084227710
  5692. .long 1068889795
  5693. .long 1088463522
  5694. .long 3231716378
  5695. .long 1078021787
  5696. .long 4072054083
  5697. .long 3226628144
  5698. .long 1998042203
  5699. .long 1081429569
  5700. .long 1148344549
  5701. .long 3229963818
  5702. .type _C5,@object
  5703. .size _C5,704
  5704. .align 16
  5705. _C5_0:
  5706. .long 2415979356
  5707. .long 1070304454
  5708. .long 2697119297
  5709. .long 3218348439
  5710. .long 4195263586
  5711. .long 1073523467
  5712. .long 3725211212
  5713. .long 1070931684
  5714. .long 2560716363
  5715. .long 3219131775
  5716. .long 4079479268
  5717. .long 1075907809
  5718. .long 1732432466
  5719. .long 1071796064
  5720. .long 3508892908
  5721. .long 3219947991
  5722. .long 2788858919
  5723. .long 1077667382
  5724. .long 2647999156
  5725. .long 1072759450
  5726. .long 547175205
  5727. .long 3220886396
  5728. .long 4254853098
  5729. .long 1079215590
  5730. .long 2099688739
  5731. .long 1073767129
  5732. .long 1386213411
  5733. .long 3221881825
  5734. .long 1373988558
  5735. .long 1080631372
  5736. .long 3012547841
  5737. .long 1074795638
  5738. .long 3012018428
  5739. .long 3222904295
  5740. .long 3968063321
  5741. .long 1082046682
  5742. .long 2372211290
  5743. .long 1075829504
  5744. .long 1852200321
  5745. .long 3223939920
  5746. .long 822603622
  5747. .long 1083320025
  5748. .long 2940107565
  5749. .long 1076868074
  5750. .long 1118670349
  5751. .long 3224982033
  5752. .long 4034033966
  5753. .long 1084551076
  5754. .long 3328910691
  5755. .long 1077911588
  5756. .long 4065388177
  5757. .long 3226027369
  5758. .long 3374537656
  5759. .long 1085781831
  5760. .long 3604631852
  5761. .long 1078957575
  5762. .long 786281660
  5763. .long 3227074315
  5764. .long 3320933858
  5765. .long 1087012393
  5766. .long 4128496013
  5767. .long 1080004805
  5768. .long 820316847
  5769. .long 3228122065
  5770. .long 596318476
  5771. .long 1088242837
  5772. .type _C5_0,@object
  5773. .size _C5_0,264
  5774. .space 8, 0x00 # pad
  5775. .align 16
  5776. _C4:
  5777. .long 951661919
  5778. .long 3199388794
  5779. .long 406044492
  5780. .long 1057185581
  5781. .long 2144499589
  5782. .long 3220511658
  5783. .long 1533861631
  5784. .long 1073519965
  5785. .long 4190848711
  5786. .long 3208779382
  5787. .long 4195628742
  5788. .long 1064581106
  5789. .long 501584638
  5790. .long 3218581252
  5791. .long 4276665641
  5792. .long 1072296199
  5793. .long 2679252139
  5794. .long 3214810152
  5795. .long 1146917984
  5796. .long 1069511714
  5797. .long 3597634954
  5798. .long 3220184694
  5799. .type _C4,@object
  5800. .size _C4,88
  5801. .space 8, 0x00 # pad
  5802. .align 16
  5803. _C3:
  5804. .long 953601802
  5805. .long 1073782987
  5806. .long 53392282
  5807. .long 1061851682
  5808. .long 2280564131
  5809. .long 3213671573
  5810. .long 126074441
  5811. .long 1073190208
  5812. .long 1099663909
  5813. .long 3221770684
  5814. .long 2017365083
  5815. .long 1069271442
  5816. .long 1709742889
  5817. .long 3219105406
  5818. .long 4029656968
  5819. .long 1074967560
  5820. .long 3888843833
  5821. .long 3222480972
  5822. .type _C3,@object
  5823. .size _C3,72
  5824. .space 8, 0x00 # pad
  5825. .align 16
  5826. _LGAMMAF_C2:
  5827. .long 4192182476
  5828. .long 1073863432
  5829. .long 3945858175
  5830. .long 1063638439
  5831. .long 2616885214
  5832. .long 3215216300
  5833. .long 3886441432
  5834. .long 1074077679
  5835. .long 3758761250
  5836. .long 3222447567
  5837. .long 984616456
  5838. .long 1070653784
  5839. .long 2508733349
  5840. .long 3220210863
  5841. .long 2272977058
  5842. .long 1075337602
  5843. .long 3074119607
  5844. .long 3222665277
  5845. .type _LGAMMAF_C2,@object
  5846. .size _LGAMMAF_C2,72
  5847. .space 8, 0x00 # pad
  5848. .align 16
  5849. _LM:
  5850. .long 1666629183
  5851. .long 1073177304
  5852. .type _LM,@object
  5853. .size _LM,8
  5854. .space 8, 0x00 # pad
  5855. .align 16
  5856. _C1:
  5857. .long 3166931522
  5858. .long 3216972217
  5859. .long 900077338
  5860. .long 1065586189
  5861. .long 3591574455
  5862. .long 3213040571
  5863. .long 425993680
  5864. .long 1068534592
  5865. .long 2772351024
  5866. .long 3217220647
  5867. .long 3693139651
  5868. .long 1066567133
  5869. .long 2619486276
  5870. .long 3214985484
  5871. .long 3371509884
  5872. .long 1071576875
  5873. .long 2931564028
  5874. .long 1032391485
  5875. .type _C1,@object
  5876. .size _C1,72
  5877. .space 8, 0x00 # pad
  5878. .align 16
  5879. _C0:
  5880. .long 561403216
  5881. .long 1074066324
  5882. .long 3155481408
  5883. .long 1068272863
  5884. .long 4228834524
  5885. .long 3219267730
  5886. .long 2107372888
  5887. .long 1076349696
  5888. .long 3392182390
  5889. .long 3224133636
  5890. .long 3282054928
  5891. .long 1074040136
  5892. .long 4253763640
  5893. .long 3223020498
  5894. .long 1528000942
  5895. .long 1076400076
  5896. .long 4059292707
  5897. .long 3223275314
  5898. .type _C0,@object
  5899. .size _C0,72
  5900. .space 8, 0x00 # pad
  5901. .align 16
  5902. _LRIB:
  5903. .long 2838661661
  5904. .long 3221617475
  5905. .long 169597185
  5906. .long 3221617473
  5907. .long 1795500005
  5908. .long 3221617470
  5909. .long 3503748181
  5910. .long 3222250619
  5911. .long 1417424869
  5912. .long 3222250609
  5913. .long 2147483648
  5914. .long 3222250589
  5915. .type _LRIB,@object
  5916. .size _LRIB,48
  5917. .align 16
  5918. _LRP:
  5919. .long 3272807679
  5920. .long 3224639578
  5921. .long 1009311715
  5922. .long 1076045439
  5923. .long 2835657108
  5924. .long 3221135661
  5925. .long 817526409
  5926. .long 1017707397
  5927. .long 2658191496
  5928. .long 3232572725
  5929. .long 2929834182
  5930. .long 1081046750
  5931. .long 2523682372
  5932. .long 3224680861
  5933. .long 915934040
  5934. .long 3166559235
  5935. .type _LRP,@object
  5936. .size _LRP,64
  5937. .align 16
  5938. _RRIB:
  5939. .long 890743176
  5940. .long 3221465087
  5941. .long 2516645996
  5942. .long 3221465084
  5943. .long 4142548816
  5944. .long 3221465081
  5945. .long 1538591435
  5946. .long 3221825040
  5947. .long 3164494255
  5948. .long 3221825037
  5949. .long 495429779
  5950. .long 3221825035
  5951. .type _RRIB,@object
  5952. .size _RRIB,48
  5953. .align 16
  5954. _RRP:
  5955. .long 93164946
  5956. .long 1073124518
  5957. .long 2953029931
  5958. .long 1075015403
  5959. .long 1722766176
  5960. .long 1073233897
  5961. .long 1830807661
  5962. .long 1016083003
  5963. .long 308861496
  5964. .long 1079775543
  5965. .long 2541562915
  5966. .long 1077531858
  5967. .long 1596959842
  5968. .long 1075781798
  5969. .long 3819862626
  5970. .long 1021220357
  5971. .type _RRP,@object
  5972. .size _RRP,64
  5973. .align 16
  5974. .L_2il0floatpacket.7:
  5975. .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  5976. .type .L_2il0floatpacket.7,@object
  5977. .size .L_2il0floatpacket.7,16
  5978. .align 4
  5979. .L_2il0floatpacket.2:
  5980. .long 0xc0200000
  5981. .type .L_2il0floatpacket.2,@object
  5982. .size .L_2il0floatpacket.2,4
  5983. .align 4
  5984. .L_2il0floatpacket.3:
  5985. .long 0x4b400000
  5986. .type .L_2il0floatpacket.3,@object
  5987. .size .L_2il0floatpacket.3,4
  5988. .align 4
  5989. .L_2il0floatpacket.4:
  5990. .long 0x40000000
  5991. .type .L_2il0floatpacket.4,@object
  5992. .size .L_2il0floatpacket.4,4
  5993. .align 4
  5994. .L_2il0floatpacket.6:
  5995. .long 0x3f800000
  5996. .type .L_2il0floatpacket.6,@object
  5997. .size .L_2il0floatpacket.6,4
  5998. .align 4
  5999. _S16:
  6000. .long 2760304672
  6001. .long 3218442033
  6002. .type _S16,@object
  6003. .size _S16,8
  6004. .align 4
  6005. _S14:
  6006. .long 3264091561
  6007. .long 3215213868
  6008. .type _S14,@object
  6009. .size _S14,8
  6010. .align 4
  6011. _S12:
  6012. .long 1381164920
  6013. .long 3217582605
  6014. .type _S12,@object
  6015. .size _S12,8
  6016. .align 4
  6017. _S10:
  6018. .long 3387828299
  6019. .long 3217636872
  6020. .type _S10,@object
  6021. .size _S10,8
  6022. .align 4
  6023. _S08:
  6024. .long 3786959951
  6025. .long 3218084854
  6026. .type _S08,@object
  6027. .size _S08,8
  6028. .align 4
  6029. _S06:
  6030. .long 2675586079
  6031. .long 3218453489
  6032. .type _S06,@object
  6033. .size _S06,8
  6034. .align 4
  6035. _S04:
  6036. .long 1432133341
  6037. .long 3219214642
  6038. .type _S04,@object
  6039. .size _S04,8
  6040. .align 4
  6041. _S02:
  6042. .long 1648889397
  6043. .long 3220853158
  6044. .type _S02,@object
  6045. .size _S02,8
  6046. .align 4
  6047. _PBIG:
  6048. .long 2139095039
  6049. .long 2139095039
  6050. .type _PBIG,@object
  6051. .size _PBIG,8
  6052. .align 4
  6053. .L_2il0floatpacket.8:
  6054. .long 0xcb400000
  6055. .type .L_2il0floatpacket.8,@object
  6056. .size .L_2il0floatpacket.8,4
  6057. .data
  6058. .section .note.GNU-stack, ""
  6059. // -- Begin DWARF2 SEGMENT .eh_frame
  6060. .section .eh_frame,"a",@progbits
  6061. .eh_frame_seg:
  6062. .align 1
  6063. # End